From d094c845afde98be8ce43c6f1c518fcc9537e5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adolfo=20Hristo=20David=20Roque=20G=C3=A1mez?= <42866358+aroquega@users.noreply.github.com> Date: Thu, 1 Apr 2021 15:47:43 -0500 Subject: [PATCH 01/94] Traducido archivo library/doctest (#1144) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * translate first two sections from doctest * Traduce hasta antes de la sección letra pequeña * Traduce las secciones hasta "What About Exceptions?" en doctest * Añade diccionario de doctest * quita el espacio adicional en ***Test Failed*** N failures. de library/doctest * Repara errores reportados por travis en doctest * quita un ` extra en library/doctest * quita backtic adicional a doctest * arregla referencias a términos inconsistentes * Traduce las primeras líneas de la sección 'Ejemplo Simple' de doctest * Termina la traducción de '¿y las excepciones?' de doctest * Arregla problemas reportados por travis * empezando traducción de la sección de banderas * doctest: repara errores encontrados por Travis * doctest: corrige errores en la seccion de banderas * doctest: traduce las primeras tres lineas de la seccion directivas * doctest: traduce la seccion de directivas * doctest: empiza la traduccion de la seccion api basica * doctest: avanza con la tradcucción * doctest: avanza con la traducción * doctest: empieza la traducción de la sección de unittest API * Añade nuevas palabras al diccionario de doctest * doctest: avanza con la sección de unittest * avanza con la traducción de doctest * agrega espacios entre marcados en línea y mejora la redacción en esos párrafos * termina la sección de basi api * corrige un parrafo en la seccion de api de unittest * doctest: avanza con la traducción de la seccion de api avanzada * pydoctest: termina la seccion de api avanzada * doctest: traduce la seccion DocTest Objects * doctest: traduce la seccion de Example Objects * doctest: avanza con la seccion de objetos doctest finder * doctest: corrige observaciones detectadas y mejora los párrafos * agrega una s faltante a doctest-options * traduce una linea en la seccion objectos doctest y aumenta un espacio * agregando espacioes para quitar el error de pospell * agrega Doctest al diccionario * corrige Doctest por DocTest en el diccionario de doctest * añade una termino de referencia faltante * doctest: traduce la sección de objetos DocTestFinder * Update library_doctest.txt * Update library/doctest.po * fixs base translate change * fixs base translate change * doctest: traduce la sección objetos DocTestParser * doctest: traduce la sección objetos DocTestRunner * reemplaza reemplazamiento por reemplazo y traduce la sección objetos OutputCheckdr * empieza la traduccion de la sección depuración * termina la traducción de la sección depuración * empieza la traducción de la sección soapbox * añade un espacio extra en 1573 para quitar el error de pospell * termina la sección soapbox * reemplaza docttest por doctest en una entrada mal traducida * termina la seccion de notas al pie de pagina * quita entradas fuzzy * corrige la mayoría de observaciones de cacrespo * Reemplaza 'muy especialmente' con 'de manera especial' * Reemplaza 'Debajo de las sábanas' por 'Por detrás' * reemplaza signo de exclamación --- dictionaries/library_doctest.txt | 8 + library/doctest.po | 1049 ++++++++++++++++++++++++++++-- 2 files changed, 993 insertions(+), 64 deletions(-) create mode 100644 dictionaries/library_doctest.txt diff --git a/dictionaries/library_doctest.txt b/dictionaries/library_doctest.txt new file mode 100644 index 0000000000..bcf8bf713c --- /dev/null +++ b/dictionaries/library_doctest.txt @@ -0,0 +1,8 @@ +DocTest +doctest +doctests +DocTests +defiere +reusado +parametrización + diff --git a/library/doctest.po b/library/doctest.po index f421d70f09..2e694009d2 100644 --- a/library/doctest.po +++ b/library/doctest.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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-04-01 11:31-0500\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: Adolfo Hristo David Roque Gámez \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/doctest.rst:2 msgid ":mod:`doctest` --- Test interactive Python examples" -msgstr "" +msgstr ":mod:`doctest` -- Prueba ejemplos interactivos de Python" #: ../Doc/library/doctest.rst:12 msgid "**Source code:** :source:`Lib/doctest.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/doctest.py`" #: ../Doc/library/doctest.rst:16 msgid "" @@ -34,18 +36,26 @@ msgid "" "interactive Python sessions, and then executes those sessions to verify that " "they work exactly as shown. There are several common ways to use doctest:" msgstr "" +"El módulo :mod:`doctest` busca pedazos de texto que lucen como sesiones " +"interactivas de Python, y entonces ejecuta esas sesiones para verificar que " +"funcionen exactamente como son mostradas. Hay varias maneras de usar doctest:" #: ../Doc/library/doctest.rst:20 msgid "" "To check that a module's docstrings are up-to-date by verifying that all " "interactive examples still work as documented." msgstr "" +"Para revisar que los docstrings de un módulo están al día al verificar que " +"todos los ejemplos interactivos todavía trabajan como está documentado." #: ../Doc/library/doctest.rst:23 msgid "" "To perform regression testing by verifying that interactive examples from a " "test file or a test object work as expected." msgstr "" +"Para realizar pruebas de regresión al verificar que los ejemplos " +"interactivos de un archivo de pruebas o un objeto de pruebas trabaje como " +"sea esperado." #: ../Doc/library/doctest.rst:26 msgid "" @@ -54,16 +64,22 @@ msgid "" "text are emphasized, this has the flavor of \"literate testing\" or " "\"executable documentation\"." msgstr "" +"Para escribir documentación de tutorial para un paquete, generosamente " +"ilustrado con ejemplos de entrada-salida. Dependiendo si los ejemplos o el " +"texto expositivo son enfatizados, tiene el sabor de \"pruebas literarias\" o " +"\"documentación ejecutable\"." #: ../Doc/library/doctest.rst:31 msgid "Here's a complete but small example module::" -msgstr "" +msgstr "Aquí hay un módulo de ejemplo completo pero pequeño::" #: ../Doc/library/doctest.rst:88 msgid "" "If you run :file:`example.py` directly from the command line, :mod:`doctest` " "works its magic:" msgstr "" +"Si tu ejecutas :file:`example.py` directamente desde la línea de comandos, :" +"mod:`doctest` hará su magia:" #: ../Doc/library/doctest.rst:96 msgid "" @@ -71,10 +87,13 @@ msgid "" "Pass ``-v`` to the script, and :mod:`doctest` prints a detailed log of what " "it's trying, and prints a summary at the end:" msgstr "" +"¡No hay salida! Eso es normal, y significa que todos los ejemplos " +"funcionaron. Pasa ``-v`` al script, y :mod:`doctest` imprime un registro " +"detallado de lo que está intentando, e imprime un resumen al final:" #: ../Doc/library/doctest.rst:114 msgid "And so on, eventually ending with:" -msgstr "" +msgstr "Y demás, eventualmente terminando con:" #: ../Doc/library/doctest.rst:133 msgid "" @@ -84,26 +103,36 @@ msgid "" "libraries. Especially useful examples can be found in the standard test " "file :file:`Lib/test/test_doctest.py`." msgstr "" +"¡Eso es todo lo que necesitas saber para empezar a hacer uso productivo de :" +"mod:`doctest`! Zambúllete. Las siguientes secciones proporcionan detalles " +"completos. Note que hay muchos ejemplos de doctests en el conjunto de " +"pruebas estándar de Python y bibliotecas. Especialmente ejemplos útiles se " +"pueden encontrar en el archivo de pruebas estándar :file:`Lib/test/" +"test_doctest.py`." #: ../Doc/library/doctest.rst:143 msgid "Simple Usage: Checking Examples in Docstrings" -msgstr "" +msgstr "Uso simple: verificar ejemplos en docstrings" #: ../Doc/library/doctest.rst:145 msgid "" "The simplest way to start using doctest (but not necessarily the way you'll " "continue to do it) is to end each module :mod:`M` with::" msgstr "" +"La forma más simple para empezar a usar doctest (pero no necesariamente la " +"forma que continuarás usándolo) es terminar cada módulo :mod:`M` con::" #: ../Doc/library/doctest.rst:152 msgid ":mod:`doctest` then examines docstrings in module :mod:`M`." -msgstr "" +msgstr ":mod:`doctest` entonces examina docstrings en el módulo :mod:`M`." #: ../Doc/library/doctest.rst:154 msgid "" "Running the module as a script causes the examples in the docstrings to get " "executed and verified::" msgstr "" +"Ejecutar el módulo como un script causa que los ejemplos en los docstrings " +"se ejecuten y verifiquen::" #: ../Doc/library/doctest.rst:159 msgid "" @@ -112,16 +141,22 @@ msgid "" "and the final line of output is ``***Test Failed*** N failures.``, where *N* " "is the number of examples that failed." msgstr "" +"No mostrará nada a menos que un ejemplo falle, en cuyo caso el ejemplo " +"fallido o ejemplos fallidos y sus causas de la falla son imprimidas a " +"stdout, y la línea final de salida es ``***Test Failed*** N failures.``, " +"donde *N* es el número de ejemplos que fallaron." #: ../Doc/library/doctest.rst:164 msgid "Run it with the ``-v`` switch instead::" -msgstr "" +msgstr "Ejecútalo con el modificador ``-v`` en su lugar::" #: ../Doc/library/doctest.rst:168 msgid "" "and a detailed report of all examples tried is printed to standard output, " "along with assorted summaries at the end." msgstr "" +"y un reporte detallado de todos los ejemplos intentados es impreso a la " +"salida estándar, junto con resúmenes clasificados al final." #: ../Doc/library/doctest.rst:171 msgid "" @@ -130,6 +165,10 @@ msgid "" "``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not " "has no effect)." msgstr "" +"Puedes forzar el modo verboso al pasar ``verbose=True`` a :func:`testmod`, o " +"prohibirlo al pasarlo ``verbose=False``. En cualquiera de estas casos, ``sys." +"argv`` no es examinado por :func:`testmod` (por lo que pasar o no ``-v``, no " +"tiene efecto)." #: ../Doc/library/doctest.rst:176 msgid "" @@ -137,6 +176,10 @@ msgid "" "instruct the Python interpreter to run the doctest module directly from the " "standard library and pass the module name(s) on the command line::" msgstr "" +"También hay un atajo de línea de comandos para ejecutar :func:`testmod`. " +"Puedes instruir al intérprete de Python para ejecutar el módulo doctest " +"directamente de la biblioteca estándar y pasar los nombres del módulo en la " +"línea de comandos::" #: ../Doc/library/doctest.rst:182 msgid "" @@ -144,22 +187,29 @@ msgid "" "`testmod` on it. Note that this may not work correctly if the file is part " "of a package and imports other submodules from that package." msgstr "" +"Esto importará :file:`example.py` como un módulo independiente y ejecutará " +"a :func:`testmod`. Note que esto puede no funcionar correctamente si el " +"archivo es parte de un paquete e importa otros submódulos de ese paquete." #: ../Doc/library/doctest.rst:186 msgid "" "For more information on :func:`testmod`, see section :ref:`doctest-basic-" "api`." msgstr "" +"Para más información de :func:`testmod`, véase la sección :ref:`doctest-" +"basic-api`." #: ../Doc/library/doctest.rst:192 msgid "Simple Usage: Checking Examples in a Text File" -msgstr "" +msgstr "Uso Simple: Verificar ejemplos en un Archivo de Texto" #: ../Doc/library/doctest.rst:194 msgid "" "Another simple application of doctest is testing interactive examples in a " "text file. This can be done with the :func:`testfile` function::" msgstr "" +"Otra simple aplicación de doctest es probar ejemplos interactivos en un " +"archivo de texto. Esto puede ser hecho con la función :func:`testfile`::" #: ../Doc/library/doctest.rst:200 msgid "" @@ -168,12 +218,19 @@ msgid "" "if it were a single giant docstring; the file doesn't need to contain a " "Python program! For example, perhaps :file:`example.txt` contains this:" msgstr "" +"Este script corto ejecuta y verifica cualquier ejemplo interactivo de Python " +"contenido en el archivo :file:`example.txt`. El contenido del archivo es " +"tratado como si fuese un solo gran docstring; ¡el archivo no necesita " +"contener un programa de Python! Por ejemplo, tal vez :file:`example.txt` " +"contenga esto:" #: ../Doc/library/doctest.rst:223 msgid "" "Running ``doctest.testfile(\"example.txt\")`` then finds the error in this " "documentation::" msgstr "" +"Ejecutar ``doctest.testfile(\"example.txt\")`` entonces encuentra el error " +"en esta documentación::" #: ../Doc/library/doctest.rst:234 msgid "" @@ -182,6 +239,9 @@ msgid "" "cause(s) of the failure(s) are printed to stdout, using the same format as :" "func:`testmod`." msgstr "" +"Como con :func:`testmod`, :func:`testfile` no mostrará nada a menos que un " +"ejemplo falle. Si un ejemplo no falla, entonces los ejemplos fallidos y sus " +"causas son impresas a stdout, usando el mismo formato como :func:`testmod`." #: ../Doc/library/doctest.rst:239 msgid "" @@ -190,12 +250,19 @@ msgid "" "optional arguments that can be used to tell it to look for files in other " "locations." msgstr "" +"Por defecto, :func:`testfile` busca archivos en el directorio del módulo al " +"que se llama. Véase la sección :ref:`doctest-basic-api` para una descripción " +"de los argumentos opcionales que pueden ser usados para decirle que busque " +"archivos en otros lugares." #: ../Doc/library/doctest.rst:243 msgid "" "Like :func:`testmod`, :func:`testfile`'s verbosity can be set with the ``-" "v`` command-line switch or with the optional keyword argument *verbose*." msgstr "" +"Como :func:`testmod`, la verbosidad de :func:`testfile` puede ser " +"establecida con el modificador de la línea de comandos ``-v`` o con el " +"argumento por palabra clave opcional *verbose*." #: ../Doc/library/doctest.rst:247 msgid "" @@ -203,22 +270,30 @@ msgid "" "instruct the Python interpreter to run the doctest module directly from the " "standard library and pass the file name(s) on the command line::" msgstr "" +"También hay un atajo de línea de comandos para ejecutar :func:`testfile`. " +"Puedes indicar al intérprete de Python para correr el módulo doctest " +"directamente desde la biblioteca estándar y pasar el nombre de los archivos " +"en la línea de comandos::" #: ../Doc/library/doctest.rst:253 msgid "" "Because the file name does not end with :file:`.py`, :mod:`doctest` infers " "that it must be run with :func:`testfile`, not :func:`testmod`." msgstr "" +"Porque el nombre del archivo no termina con :file:`.py`, :mod:`doctest` " +"infiere que se debe ejecutar con :func:`testfile`, no :func:`testmod`." #: ../Doc/library/doctest.rst:256 msgid "" "For more information on :func:`testfile`, see section :ref:`doctest-basic-" "api`." msgstr "" +"Para más información en :func:`testfile`, véase la sección :ref:`doctest-" +"basic-api`." #: ../Doc/library/doctest.rst:262 msgid "How It Works" -msgstr "" +msgstr "Cómo funciona" #: ../Doc/library/doctest.rst:264 msgid "" @@ -229,16 +304,25 @@ msgid "" "examples; for information about actually running doctest on these examples, " "see the following sections." msgstr "" +"Esta sección examina en detalle cómo funciona doctest: qué docstrings " +"revisa, cómo encuentra ejemplos interactivos, qué contexto de ejecución usa, " +"cómo maneja las excepciones, y cómo las banderas pueden ser usadas para " +"controlar su comportamiento. Esta es la información que necesitas saber para " +"escribir ejemplos de doctest; para información sobre ejecutar doctest en " +"estos ejemplos, véase las siguientes secciones." #: ../Doc/library/doctest.rst:275 msgid "Which Docstrings Are Examined?" -msgstr "" +msgstr "¿Qué docstrings son examinados?" #: ../Doc/library/doctest.rst:277 msgid "" "The module docstring, and all function, class and method docstrings are " "searched. Objects imported into the module are not searched." msgstr "" +"Se busca en el docstring del módulo, y todos los docstrings de las " +"funciones, clases, y métodos. Los objetos importados en el módulo no se " +"buscan." #: ../Doc/library/doctest.rst:280 msgid "" @@ -248,16 +332,25 @@ msgid "" "searched, and strings are treated as if they were docstrings. In output, a " "key ``K`` in ``M.__test__`` appears with name ::" msgstr "" +"Además, si ``M.__test__`` existe y \"es verdaderos\", debe ser un " +"diccionario, y cada entrada mapea un nombre (cadena de caracteres) a un " +"objeto de función, objeto de clase, o cadena de caracteres. Se buscan los " +"docstrings de los objetos de función o de clase encontrados de ``M." +"__test__``, y las cadenas de caracteres son tratadas como si fueran " +"docstrings. En la salida, una clave ``K`` en ``M.__test__`` aparece con el " +"nombre::" #: ../Doc/library/doctest.rst:288 msgid "" "Any classes found are recursively searched similarly, to test docstrings in " "their contained methods and nested classes." msgstr "" +"Todas las clases encontradas se buscan recursivamente de manera similar, " +"para probar docstrings en sus métodos contenidos y clases anidadas." #: ../Doc/library/doctest.rst:299 msgid "How are Docstring Examples Recognized?" -msgstr "" +msgstr "¿Cómo se reconocen los ejemplos de docstring?" #: ../Doc/library/doctest.rst:301 msgid "" @@ -265,6 +358,9 @@ msgid "" "but doctest isn't trying to do an exact emulation of any specific Python " "shell." msgstr "" +"En la mayoría de los casos un copiar y pegar de una sesión de consola " +"interactiva funciona bien, pero doctest no está intentando hacer una " +"emulación exacta de ningún shell específico de Python." #: ../Doc/library/doctest.rst:326 msgid "" @@ -272,10 +368,13 @@ msgid "" "'`` line containing the code, and the expected output (if any) extends to " "the next ``'>>> '`` or all-whitespace line." msgstr "" +"Cualquier salida esperada debe seguir inmediatamente el final de la línea " +"``'>>>'`` o ``'...'`` conteniendo el código, y la salida esperada (si la " +"hubiera) se extiende hasta el siguiente ``'>>>'`` o la línea en blanco." #: ../Doc/library/doctest.rst:330 msgid "The fine print:" -msgstr "" +msgstr "La letra pequeña:" #: ../Doc/library/doctest.rst:332 msgid "" @@ -284,6 +383,11 @@ msgid "" "a blank line, put ```` in your doctest example each place a blank " "line is expected." msgstr "" +"La salida esperada no puede contener una línea de espacios en blanco, ya que " +"ese tipo de línea se toma para indicar el fin de la salida esperada. Si la " +"salida esperada de verdad contiene una línea en blanco, pon ```` " +"en tu ejemplo de doctest en cada lugar donde una línea en blanco sea " +"esperada." #: ../Doc/library/doctest.rst:337 msgid "" @@ -299,12 +403,26 @@ msgid "" "different algorithm for handling tabs by writing a custom :class:" "`DocTestParser` class." msgstr "" +"Todos los caracteres de tabulación se expanden a espacios, usando paradas de " +"tabulación de 8 -columnas. Las tabulaciones generadas por el código en " +"pruebas no son modificadas. Ya que todas las tabulaciones en la salida de " +"prueba *son* expandidas, significa que si el código de salida incluye " +"tabulaciones, la única manera de que el doctest pueda pasar es si la opción :" +"const:`NORMALIZE_WHITESPACE` o :ref:`directive ` está en " +"efecto. Alternativamente, la prueba puede ser reescrita para capturar la " +"salida y compararla a un valor esperado como parte de la prueba. Se llegó a " +"este tratamiento de tabulaciones en la fuente a través de prueba y error, y " +"ha demostrado ser la manera menos propensa a errores de manejarlos. Es " +"posible usar un algoritmo diferente para manejar tabulaciones al escribir " +"una clase :class:`DocTestParser` personalizada." #: ../Doc/library/doctest.rst:349 msgid "" "Output to stdout is captured, but not output to stderr (exception tracebacks " "are captured via a different means)." msgstr "" +"La salida a stdout es capturada, pero no la salida a stderr (los rastreos de " +"la excepción son capturados a través de maneras diferentes)." #: ../Doc/library/doctest.rst:352 msgid "" @@ -312,6 +430,10 @@ msgid "" "any other reason use a backslash, you should use a raw docstring, which will " "preserve your backslashes exactly as you type them::" msgstr "" +"Si continuas una línea poniendo una barra invertida en una sesión " +"interactiva, o por cualquier otra razón usas una barra invertida, debes usar " +"un docstring crudo, que preservará tus barras invertidas exactamente como " +"las escribes::" #: ../Doc/library/doctest.rst:361 msgid "" @@ -320,20 +442,26 @@ msgid "" "Alternatively, you can double each backslash in the doctest version (and not " "use a raw string)::" msgstr "" +"De otra manera, la barra invertida será interpretada como parte de una " +"cadena. Por ejemplo, el ``\\n`` arriba sería interpretado como un carácter " +"de nueva línea. Alternativamente, puedes duplicar cada barra invertida en " +"la versión de doctest (y no usar una cadena de caracteres cruda)::" #: ../Doc/library/doctest.rst:370 msgid "The starting column doesn't matter::" -msgstr "" +msgstr "La columna inicial no importa::" #: ../Doc/library/doctest.rst:377 msgid "" "and as many leading whitespace characters are stripped from the expected " "output as appeared in the initial ``'>>> '`` line that started the example." msgstr "" +"y tantos espacios en blanco al principio se eliminan de la salida esperada " +"como aparece en la línea ``'>>>'`` inicial que empezó el ejemplo." #: ../Doc/library/doctest.rst:384 msgid "What's the Execution Context?" -msgstr "" +msgstr "¿Cuál es el contexto de ejecución?" #: ../Doc/library/doctest.rst:386 msgid "" @@ -345,16 +473,27 @@ msgid "" "names defined earlier in the docstring being run. Examples cannot see names " "defined in other docstrings." msgstr "" +"Por defecto, cada vez que un :mod:`doctest` encuentre un docstring para " +"probar, usa una *copia superficial* de los globales de :mod:`M`, por lo que " +"ejecutar pruebas no cambia los globales reales del módulo, y por lo que una " +"prueba en :mod:`M` no puede dejar atrás migajas que permitan a otras pruebas " +"trabajar. Significa que los ejemplos pueden usar libremente cualquier nombre " +"definido en el nivel superior en :mod:`M`, y nombres definidos más temprano " +"en los docstrings siendo ejecutados. Los ejemplos no pueden ver nombres " +"definidos en otros docstrings." #: ../Doc/library/doctest.rst:394 msgid "" "You can force use of your own dict as the execution context by passing " "``globs=your_dict`` to :func:`testmod` or :func:`testfile` instead." msgstr "" +"Puedes forzar el uso de tus propios diccionarios como contexto de ejecución " +"al pasar ``globs=your_dict`` a :func:`testmod` o :func:`testfile` en su " +"lugar." #: ../Doc/library/doctest.rst:401 msgid "What About Exceptions?" -msgstr "" +msgstr "¿Y las excepciones?" #: ../Doc/library/doctest.rst:403 msgid "" @@ -364,16 +503,23 @@ msgid "" "numbers), this is one case where doctest works hard to be flexible in what " "it accepts." msgstr "" +"No hay problema, siempre que el rastreo sea la única salida producida por el " +"ejemplo: sólo copia el rastreo. [#]_ Ya que los rastreos contienen detalles " +"que probablemente cambien rápidamente (por ejemplo, rutas de archivos " +"exactas y números de línea), este es un caso donde doctest trabaja duro para " +"ser flexible en lo que acepta." #: ../Doc/library/doctest.rst:409 msgid "Simple example::" -msgstr "" +msgstr "Ejemplo simple::" #: ../Doc/library/doctest.rst:416 msgid "" "That doctest succeeds if :exc:`ValueError` is raised, with the ``list." "remove(x): x not in list`` detail as shown." msgstr "" +"El doctest tiene éxito si se lanza :exc:`ValueError`, con el detalle ``list." +"remove(x): x not in list`` como se muestra." #: ../Doc/library/doctest.rst:419 msgid "" @@ -381,6 +527,9 @@ msgid "" "which may be either of the following two lines, indented the same as the " "first line of the example::" msgstr "" +"La salida esperada para una excepción debe empezar con una cabecera de " +"rastreo, que puede ser una de las siguientes dos líneas, con el mismo " +"sangrado de la primera línea del ejemplo:" #: ../Doc/library/doctest.rst:426 msgid "" @@ -388,6 +537,9 @@ msgid "" "contents are ignored by doctest. The traceback stack is typically omitted, " "or copied verbatim from an interactive session." msgstr "" +"La cabecera de rastreo es seguida por una pila de rastreo opcional, cuyo " +"contenido es ignorado por doctest. La pila de rastreo es típicamente " +"omitida, o copiada palabra por palabra de una sesión interactiva." #: ../Doc/library/doctest.rst:430 msgid "" @@ -396,12 +548,18 @@ msgid "" "a traceback, but can extend across multiple lines if the exception has a " "multi-line detail::" msgstr "" +"La pila de rastreo es seguida por la parte más interesante: la línea o " +"líneas conteniendo el tipo de excepción y detalle. Esto es usualmente la " +"última línea de un rastreo, pero se puede extender a través de múltiples " +"líneas si la excepción tiene un detalle de varias líneas::" #: ../Doc/library/doctest.rst:442 msgid "" "The last three lines (starting with :exc:`ValueError`) are compared against " "the exception's type and detail, and the rest are ignored." msgstr "" +"Las últimas tres líneas (empezando con :exc:`ValueError`) son comparados con " +"el tipo de excepción y detalle, y el resto es ignorado." #: ../Doc/library/doctest.rst:445 msgid "" @@ -409,6 +567,9 @@ msgid "" "documentation value to the example. So the last example is probably better " "as::" msgstr "" +"La mejor práctica es omitir la pila de rastreo, a menos que añada valor de " +"documentación significante al ejemplo. Por lo que el último ejemplo es " +"probablemente mejor como::" #: ../Doc/library/doctest.rst:455 msgid "" @@ -418,10 +579,15 @@ msgid "" "just as well be three (or three hundred) commas or digits, or an indented " "transcript of a Monty Python skit." msgstr "" +"Note que los rastreos son tratados de manera especial. En particular, en el " +"ejemplo reescrito, el uso de ``...`` es independiente de la opción :const:" +"`ELLIPSIS` de doctest. Se pueden excluir los puntos suspensivos en ese " +"ejemplo, así como también pueden haber tres (o trescientas) comas o dígitos, " +"o una transcripción sangrada de un *sketch* de Monty Python." #: ../Doc/library/doctest.rst:461 msgid "Some details you should read once, but won't need to remember:" -msgstr "" +msgstr "Algunos detalles que debes leer una vez, pero no necesitarás recordar:" #: ../Doc/library/doctest.rst:463 msgid "" @@ -432,6 +598,12 @@ msgid "" "ordinary output rarely begins with a traceback header line, so this doesn't " "create real problems." msgstr "" +"Doctest no puede adivinar si tu salida esperada vino de una excepción de " +"rastreo o de una impresión ordinaria. Así que, un ejemplo que espera " +"``ValueError: 42 is prime`` pasará, ya sea si de hecho se lance :exc:" +"`ValueError` o si el ejemplo simplemente imprime ese texto de rastreo. En la " +"práctica, la salida ordinaria raramente comienza con una línea de cabecera " +"de rastreo, por lo que esto no crea problemas reales." #: ../Doc/library/doctest.rst:470 msgid "" @@ -441,6 +613,12 @@ msgid "" "with an alphanumeric is taken to be the start of the exception detail. Of " "course this does the right thing for genuine tracebacks." msgstr "" +"Cada línea de la pila de rastreo (si se presenta) debe estar más sangrada " +"que la primera línea del ejemplo, *o* empezar con un carácter no " +"alfanumérico. la primera línea que sigue a la cabecera de rastreo sangrada " +"de igual forma y empezando con un alfanumérico es considerado el inicio del " +"detalle de la excepción. Por supuesto que esto es lo correcto para rastreos " +"genuinos." #: ../Doc/library/doctest.rst:476 msgid "" @@ -448,6 +626,9 @@ msgid "" "everything following the leftmost colon and any module information in the " "exception name is ignored." msgstr "" +"Cuando se especifica la opción :const:`IGNORE_EXCEPTION_DETAIL` de doctest. " +"todo lo que sigue a los dos puntos más a la izquierda y cualquier otra " +"información del módulo en el nombre de la excepción se ignora." #: ../Doc/library/doctest.rst:480 msgid "" @@ -457,12 +638,20 @@ msgid "" "need to test a :exc:`SyntaxError` that omits the traceback header, you will " "need to manually add the traceback header line to your test example." msgstr "" +"El shell interactivo omite la línea de la cabecera de rastreo para algunos :" +"exc:`SyntaxError`. Pero doctest usa la línea de la cabecera de rastreo para " +"distinguir excepciones de los que no son. Así que en algunos casos raros " +"donde necesitas probar un :exc:`SyntaxError` que omite la cabecera de " +"rastreo, necesitarás poner manualmente la línea de cabecera de rastreo en tu " +"ejemplo de prueba." #: ../Doc/library/doctest.rst:488 msgid "" "For some :exc:`SyntaxError`\\ s, Python displays the character position of " "the syntax error, using a ``^`` marker::" msgstr "" +"Para algunos :exc:`SyntaxError`, Python muestra la posición del carácter del " +"error de sintaxis, usando un marcador ``^``::" #: ../Doc/library/doctest.rst:497 msgid "" @@ -471,10 +660,14 @@ msgid "" "following test would pass, even though it puts the ``^`` marker in the wrong " "location::" msgstr "" +"Ya que las líneas mostrando la posición del error vienen antes del tipo de " +"excepción y detalle, no son revisadas por doctest. Por ejemplo, el siguiente " +"test pasaría, a pesar de que pone el marcador ``^`` en la posición " +"equivocada::" #: ../Doc/library/doctest.rst:513 msgid "Option Flags" -msgstr "" +msgstr "Banderas de Opción" #: ../Doc/library/doctest.rst:515 msgid "" @@ -485,16 +678,26 @@ msgid "" "and may be passed to the doctest command line interface via the ``-o`` " "option." msgstr "" +"Varias banderas de opción controlan diversos aspectos del comportamiento de " +"doctest. Los nombres simbólicos para las banderas son proporcionados como " +"constantes del módulo, que se pueden conectar mediante :ref:`*OR* bit a bit " +"` y pasar a varias funciones. Los nombres también pueden ser " +"usados en las :ref:`directivas de doctest `, y se pueden " +"pasar a la interfaz de la línea de comandos de doctest a través de la opción " +"``-o``." #: ../Doc/library/doctest.rst:521 msgid "The ``-o`` command line option." -msgstr "" +msgstr "La opción de la línea de comandos ``-o``." #: ../Doc/library/doctest.rst:524 msgid "" "The first group of options define test semantics, controlling aspects of how " "doctest decides whether actual output matches an example's expected output:" msgstr "" +"El primer grupo de opciones definen las semánticas de la prueba, controlando " +"aspectos de cómo doctest decide si la salida de hecho concuerda con la " +"salida esperada del ejemplo:" #: ../Doc/library/doctest.rst:530 msgid "" @@ -507,6 +710,14 @@ msgid "" "output still work in these cases. This option will probably go away, but " "not for several years." msgstr "" +"Por defecto, si un bloque de salida esperada contiene sólo ``1``, se " +"considera igual a un bloque de salida real conteniendo sólo ``1`` o " +"``true``, y similarmente para ``0`` contra ``False``. Cuando se especifica :" +"const:`DONT_ACCEPT_TRUE_FOR_1``, no se permite ninguna sustitución. El " +"comportamiento por defecto atiende a que Python cambió el tipo de retorno de " +"muchas funciones de enteros a booleanos; los doctest esperando salidas \"de " +"pequeño enteros\" todavía trabajan en estos casos. Esta opción probablemente " +"se vaya, pero no por muchos años." #: ../Doc/library/doctest.rst:542 msgid "" @@ -516,6 +727,12 @@ msgid "" "is the only way to communicate that a blank line is expected. When :const:" "`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not allowed." msgstr "" +"Por defecto, si un bloque de salida esperada contiene una línea que sólo " +"tiene la cadena de caracteres ````, entonces esa línea " +"corresponderá a una línea en blanco en la salida real. Ya que una línea en " +"blanca auténtica delimita la salida esperada, esta es la única manera de " +"comunicar que una línea en blanco es esperada. Cuando se especifica :const:" +"`DONT_ACCEPT_BLANKLINE`, esta substitución no se permite." #: ../Doc/library/doctest.rst:551 msgid "" @@ -526,6 +743,13 @@ msgid "" "useful when a line of expected output is very long, and you want to wrap it " "across multiple lines in your source." msgstr "" +"Cuando se especifica, todas las secuencias de espacios en blanco (vacías y " +"nuevas líneas) son tratadas como iguales. Cualquier secuencia de espacios en " +"blanco dentro de la salida esperada corresponderá a cualquier secuencia de " +"espacios en blanco dentro de la salida real. Por defecto, los espacios en " +"blanco deben corresponderse exactamente. :const:`NORMALIZE_WHITESPACE` es " +"especialmente útil cuando una línea de la salida esperada es muy larga, y " +"quieres envolverla a través de múltiples líneas en tu código fuente." #: ../Doc/library/doctest.rst:562 msgid "" @@ -535,6 +759,13 @@ msgid "" "this simple. Complicated uses can lead to the same kinds of \"oops, it " "matched too much!\" surprises that ``.*`` is prone to in regular expressions." msgstr "" +"Cuando se especifica, un marcador de puntos suspensivos (``...``) en la " +"salida esperada puede corresponder a cualquier cadena de caracteres en la " +"salida real. Esto incluye las cadenas de caracteres que abarcan límites de " +"líneas, y cadenas de caracteres vacías, por lo que es mejor mantener su uso " +"simple. Usos complicados pueden conducir a los mismo tipos de sorpresa de " +"\"ups, coincidió demasiado\" que ``.*`` es propenso a hacer en expresiones " +"regulares." #: ../Doc/library/doctest.rst:571 msgid "" @@ -544,6 +775,11 @@ msgid "" "the actual exception raised is ``ValueError: 3*14``, but will fail, e.g., " "if :exc:`TypeError` is raised." msgstr "" +"Cuando se especifica, un ejemplo que espera una excepción pasa si una " +"excepción del tipo esperado es levantado, incluso si el detalle de la " +"excepción no corresponde. Por ejemplo, un ejemplo esperando ``ValueError: " +"42`` pasará si la excepción real lanzada es ``ValueError: 3*14``, pero " +"fallará, e.g., si :exc:`TypeError` es lanzado." #: ../Doc/library/doctest.rst:577 msgid "" @@ -551,6 +787,10 @@ msgid "" "both of these variations will work with the flag specified, regardless of " "whether the test is run under Python 2.7 or Python 3.2 (or later versions)::" msgstr "" +"También ignorará el nombre del módulo usado en los reportes de doctest de " +"Python 3. Por lo que ambas de estas variaciones trabajarán con las banderas " +"especificadas, sin importar si la prueba es ejecutada bajo Python 2.7 o " +"Python 3.2 (o versiones más modernas)::" #: ../Doc/library/doctest.rst:589 msgid "" @@ -563,6 +803,14 @@ msgid "" "support :ref:`doctest directives ` and ignore them as " "irrelevant comments). For example::" msgstr "" +"Note que :const:`ELLIPSIS` también se puede usar para ignorar los detalles " +"del mensaje de excepción, pero tal prueba todavía puede fallar basado en si " +"los detalles del módulo se imprimen como parte del nombre de excepción. " +"Usar :const:`IGNORE_EXCEPTION_DETAIL` y los detalles de Python 2.3 son " +"también la única manera de escribir un doctest que no le importe el detalle " +"de excepción y todavía pase bajo Python 2.3 o menos (esas versiones no " +"soportan :ref:`directivas de doctest ` y los ignoran " +"como comentarios irrelevantes). Por ejemplo::" #: ../Doc/library/doctest.rst:603 msgid "" @@ -570,12 +818,17 @@ msgid "" "even though the detail changed in Python 2.4 to say \"does not\" instead of " "\"doesn't\"." msgstr "" +"pasa bajo Python 2.3 y versiones posteriores de Python con la bandera " +"especificada, incluso si el detalle cambió en Python 2.4 para decir \"*does " +"not*\" en vez de \"*doesn't*\"." #: ../Doc/library/doctest.rst:607 msgid "" ":const:`IGNORE_EXCEPTION_DETAIL` now also ignores any information relating " "to the module containing the exception under test." msgstr "" +":const:`IGNORE_EXCEPTION_DETAIL` también ignora cualquier información " +"relacionada al módulo conteniendo la excepción bajo prueba." #: ../Doc/library/doctest.rst:614 msgid "" @@ -585,31 +838,46 @@ msgid "" "be checked. E.g., the example's output might be random; or the example " "might depend on resources which would be unavailable to the test driver." msgstr "" +"Cuando se especifica, no ejecuta el ejemplo del todo. Puede ser útil en " +"contextos donde los ejemplos de doctest sirven como documentación y casos de " +"prueba a la vez, y un ejemplo debe ser incluido para propósitos de " +"documentación, pero no debe ser revisado. P. ej., la salida del ejemplo " +"puede ser aleatoria, o el ejemplo puede depender de recursos que no estarían " +"disponibles para el controlador de pruebas." #: ../Doc/library/doctest.rst:620 msgid "" "The SKIP flag can also be used for temporarily \"commenting out\" examples." msgstr "" +"La bandera *SKIP* también se puede usar para temporalmente \"quitar\" " +"ejemplos." #: ../Doc/library/doctest.rst:625 msgid "A bitmask or'ing together all the comparison flags above." msgstr "" +"Una máscara de bits o juntadas lógicamente todas las banderas de arriba." #: ../Doc/library/doctest.rst:627 msgid "The second group of options controls how test failures are reported:" msgstr "" +"El segundo grupo de opciones controla cómo las fallas de las pruebas son " +"reportadas:" #: ../Doc/library/doctest.rst:632 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "are displayed using a unified diff." msgstr "" +"Cuando se especifica, las fallas que involucran salidas multilínea esperadas " +"y reales son mostradas usando una diferencia (*diff*) unificada." #: ../Doc/library/doctest.rst:638 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "will be displayed using a context diff." msgstr "" +"Cuando se especifica, las fallas que involucran salidas multilínea esperadas " +"y reales se mostrarán usando una diferencia (*diff*) contextual." #: ../Doc/library/doctest.rst:644 msgid "" @@ -620,6 +888,13 @@ msgid "" "output contains letter ``l``, a line is inserted with a caret marking the " "mismatching column positions." msgstr "" +"Cuando se especifica, las diferencias son computadas por ``difflib.Differ``, " +"usando el mismo algoritmo que la popular utilidad :file:`ndiff.py`. Este es " +"el único método que marca diferencias dentro de líneas también como a través " +"de líneas. Por ejemplo, si una línea de salida esperada contiene el dígito " +"``1`` donde la salida actual contiene la letra ``l``, se inserta una línea " +"con una marca de inserción marcando la posición de las columnas que no " +"coinciden." #: ../Doc/library/doctest.rst:653 msgid "" @@ -631,6 +906,13 @@ msgid "" "remaining examples are still run, and still count towards the total number " "of failures reported; only the output is suppressed." msgstr "" +"Cuando se especifica, muestra el primer ejemplo fallido en cada doctest, " +"pero suprime la salida para todos ejemplos restantes. Esto evitará que " +"doctest reporte los ejemplos correctos que se rompen por causa de fallos " +"tempranos; pero también puede esconder ejemplos incorrectos que fallen " +"independientemente de la primera falla. Cuando se especifica :const:" +"`REPORT_ONLY_FIRST_FAILURE`, los ejemplos restantes aún se ejecutan, y aún " +"cuentan para el número total de fallas reportadas, sólo se suprime la salida." #: ../Doc/library/doctest.rst:664 msgid "" @@ -639,22 +921,32 @@ msgid "" "most 1. This flag may be useful during debugging, since examples after the " "first failure won't even produce debugging output." msgstr "" +"Cuando se especifica, sale después del primer ejemplo fallido y no intenta " +"ejecutar los ejemplos restantes. Por consiguiente, el número de fallas " +"reportadas será como mucho 1. Esta bandera puede ser útil durante la " +"depuración, ya que los ejemplos después de la primera falla ni siquiera " +"producirán salida de depuración." #: ../Doc/library/doctest.rst:669 msgid "" "The doctest command line accepts the option ``-f`` as a shorthand for ``-o " "FAIL_FAST``." msgstr "" +"La línea de comandos de doctest acepta la opción ``-f`` como un atajo para " +"``-o FAIL_FAST``." #: ../Doc/library/doctest.rst:677 msgid "A bitmask or'ing together all the reporting flags above." -msgstr "" +msgstr "Una máscara de bits o todas las banderas de reporte arriba combinadas." #: ../Doc/library/doctest.rst:680 msgid "" "There is also a way to register new option flag names, though this isn't " "useful unless you intend to extend :mod:`doctest` internals via subclassing:" msgstr "" +"También hay una manera de registrar nombres de nuevas opciones de banderas, " +"aunque esto no es útil a menos que intentes extender :mod:`doctest` a través " +"de herencia:" #: ../Doc/library/doctest.rst:686 msgid "" @@ -664,10 +956,16 @@ msgid "" "are supported by your subclasses. :func:`register_optionflag` should always " "be called using the following idiom::" msgstr "" +"Crea una nueva bandera de opción con un nombre dado, y retorna el valor " +"entero de la nueva bandera. se puede usar :func:`register_optionflag` cuando " +"se hereda :class:`OutputChecker` o :class:`DocTestRunner` para crear nuevas " +"opciones que sean compatibles con tus clases heredadas. :func:" +"`register_optionflag` siempre debe ser llamado usando la siguiente " +"expresión::" #: ../Doc/library/doctest.rst:702 msgid "Directives" -msgstr "" +msgstr "Directivas" #: ../Doc/library/doctest.rst:704 msgid "" @@ -675,6 +973,10 @@ msgid "" "options>` for an individual example. Doctest directives are special Python " "comments following an example's source code:" msgstr "" +"Se pueden usar las directivas de doctest para modificar las :ref:`banderas " +"de opción ` para un ejemplo individual. Las directivas de " +"doctest son comentarios de Python especiales que siguen el código fuente de " +"un ejemplo:" #: ../Doc/library/doctest.rst:715 msgid "" @@ -682,16 +984,23 @@ msgid "" "option name. The directive option name can be any of the option flag names " "explained above." msgstr "" +"No se permite el espacio en blanco entre el ``+`` o ``-`` y el nombre de la " +"opción de directiva (*directive option name*). El nombre de la opción de " +"directiva puede ser cualquiera de los nombres de las banderas de opciones " +"explicadas arriba." #: ../Doc/library/doctest.rst:719 msgid "" "An example's doctest directives modify doctest's behavior for that single " "example. Use ``+`` to enable the named behavior, or ``-`` to disable it." msgstr "" +"Las directivas de doctest de un ejemplo modifican el comportamiento de " +"doctest para ese único ejemplo. Usa ``+`` para habilitar el comportamiento " +"nombrado, o ``-`` para deshabilitarlo." #: ../Doc/library/doctest.rst:722 msgid "For example, this test passes::" -msgstr "" +msgstr "Por ejemplo, esta prueba pasa::" #: ../Doc/library/doctest.rst:728 msgid "" @@ -700,18 +1009,26 @@ msgid "" "actual output is on a single line. This test also passes, and also requires " "a directive to do so::" msgstr "" +"Sin la directiva esto fallaría, porque la salida real no tiene dos espacios " +"en blanco antes los elementos de la lista de un dígito, y porque la salida " +"real está en una sola línea. Esta prueba también pasa, y también requiere " +"directivas para hacerlo::" #: ../Doc/library/doctest.rst:736 msgid "" "Multiple directives can be used on a single physical line, separated by " "commas::" msgstr "" +"Se pueden usar múltiples directivas en una sola línea física, separadas por " +"comas::" #: ../Doc/library/doctest.rst:742 msgid "" "If multiple directive comments are used for a single example, then they are " "combined::" msgstr "" +"Si múltiples directivas se usan para un sólo ejemplo, entonces son " +"combinadas::" #: ../Doc/library/doctest.rst:749 msgid "" @@ -719,6 +1036,10 @@ msgid "" "containing only directives. This can be useful when an example is too long " "for a directive to comfortably fit on the same line::" msgstr "" +"Como muestran los ejemplos previos, puedes añadir líneas de ``...`` a tus " +"ejemplos conteniendo sólo directivas. Puede ser útil cuando un ejemplo es " +"demasiado largo para que una directiva pueda caber cómodamente en la misma " +"línea::" #: ../Doc/library/doctest.rst:757 msgid "" @@ -729,10 +1050,17 @@ msgid "" "defaults. In such cases, disabling an option via ``-`` in a directive can " "be useful." msgstr "" +"Tenga en cuenta que ya que todas las opciones están deshabilitadas por " +"defecto, y las directivas sólo aplican a los ejemplos en los que aparecen, " +"habilitarlas (a través de ``+`` en la directiva) usualmente es la única " +"opción significativa. Sin embargo, las banderas de opciones también pueden " +"ser pasadas a funciones que ejecutan doctests, estableciendo valores por " +"defecto diferentes. En tales casos, deshabilitar una opción a través de ``-" +"`` en una directiva puede ser útil." #: ../Doc/library/doctest.rst:767 msgid "Warnings" -msgstr "" +msgstr "Advertencias" #: ../Doc/library/doctest.rst:769 msgid "" @@ -743,34 +1071,46 @@ msgid "" "doesn't guarantee that the element is printed in any particular order, so a " "test like ::" msgstr "" +":mod:`doctest` es serio acerca de requerir coincidencias exactas en la " +"salida esperada. Si incluso un solo carácter no coincide, el test falla. " +"Esto probablemente te sorprenderá algunas veces, mientras aprendes " +"exactamente lo que Python asegura y no asegura sobre la salida. Por ejemplo, " +"cuando se imprime un conjunto, Python no asegura que el elemento sea impreso " +"en ningún orden particular, por lo que una prueba como ::" #: ../Doc/library/doctest.rst:778 msgid "is vulnerable! One workaround is to do ::" -msgstr "" +msgstr "¡es vulnerable! Una solución puede ser hacer ::" #: ../Doc/library/doctest.rst:783 msgid "instead. Another is to do ::" -msgstr "" +msgstr "es su lugar. Otra es hacer ::" #: ../Doc/library/doctest.rst:791 msgid "" "Before Python 3.6, when printing a dict, Python did not guarantee that the " "key-value pairs was printed in any particular order." msgstr "" +"Antes de Python 3.6, cuando se imprime un diccionario, Python no aseguraba " +"que los pares de claves y valores sean impresos en ningún orden en " +"particular." #: ../Doc/library/doctest.rst:794 msgid "There are others, but you get the idea." -msgstr "" +msgstr "Existen otros casos, pero ya captas la idea." #: ../Doc/library/doctest.rst:796 msgid "" "Another bad idea is to print things that embed an object address, like ::" msgstr "" +"Otra mala idea es imprimir cosas que incorporan una dirección de un objeto, " +"como ::" #: ../Doc/library/doctest.rst:804 msgid "" "The :const:`ELLIPSIS` directive gives a nice approach for the last example::" msgstr "" +"La directiva :const:`ELLIPSIS` da un buen enfoque para el último ejemplo::" #: ../Doc/library/doctest.rst:809 msgid "" @@ -778,22 +1118,31 @@ msgid "" "platforms, because Python defers to the platform C library for float " "formatting, and C libraries vary widely in quality here. ::" msgstr "" +"Los números de coma flotante también son sujetos a pequeñas variaciones de " +"la salida a través de las plataformas, porque Python defiere a la librería C " +"de la plataforma para el formato de flotantes, y las librerías de C varían " +"extensamente en calidad aqui. ::" #: ../Doc/library/doctest.rst:820 msgid "" "Numbers of the form ``I/2.**J`` are safe across all platforms, and I often " "contrive doctest examples to produce numbers of that form::" msgstr "" +"Números de la forma ``I/2.**J`` son seguros a lo largo de todas las " +"plataformas, y yo frecuentemente planeo ejemplos de doctest para producir " +"números de esa forma::" #: ../Doc/library/doctest.rst:826 msgid "" "Simple fractions are also easier for people to understand, and that makes " "for better documentation." msgstr "" +"Las facciones simples también son más fáciles de entender para las personas, " +"y eso conduce a una mejor documentación." #: ../Doc/library/doctest.rst:833 msgid "Basic API" -msgstr "" +msgstr "API básica" #: ../Doc/library/doctest.rst:835 msgid "" @@ -802,24 +1151,34 @@ msgid "" "less formal introduction to these two functions, see sections :ref:`doctest-" "simple-testmod` and :ref:`doctest-simple-testfile`." msgstr "" +"Las funciones :func:`testmod` y :func:`testfile` proporcionan una interfaz " +"simple para doctest que debe ser suficiente para la mayoría de los usos " +"básicos. Para una introducción menos formal a estas funciones, véase las " +"secciones :ref:`doctest-simple-testmod` y :ref:`doctest-simple-testfile`." #: ../Doc/library/doctest.rst:843 msgid "" "All arguments except *filename* are optional, and should be specified in " "keyword form." msgstr "" +"Todos los argumentos excepto *filename* son opcionales, y deben ser " +"especificados en forma de palabras claves." #: ../Doc/library/doctest.rst:846 msgid "" "Test examples in the file named *filename*. Return ``(failure_count, " "test_count)``." msgstr "" +"Prueba los ejemplos en el archivo con nombre *filename*. Retorna " +"``(failure_count, test_count)``." #: ../Doc/library/doctest.rst:849 msgid "" "Optional argument *module_relative* specifies how the filename should be " "interpreted:" msgstr "" +"El argumento opcional *module_relative* especifica cómo el nombre de archivo " +"debe ser interpretado:" #: ../Doc/library/doctest.rst:852 msgid "" @@ -830,6 +1189,13 @@ msgid "" "should use ``/`` characters to separate path segments, and may not be an " "absolute path (i.e., it may not begin with ``/``)." msgstr "" +"Si *module_relative* es ``True`` (el valor por defecto), entonces *filename* " +"especifica una ruta relativa al módulo que es independiente del SO. Por " +"defecto, esta ruta es relativa al directorio del módulo que lo invoca; pero " +"si el argumento *package* es especificado, entonces es relativo a ese " +"paquete. Para asegurar la independencia del SO, *filename* debe usar " +"caracteres ``/`` para separar segmentos, y no puede ser una ruta absoluta " +"(p. eg., no puede empezar con ``/``)." #: ../Doc/library/doctest.rst:859 msgid "" @@ -837,12 +1203,17 @@ msgid "" "path. The path may be absolute or relative; relative paths are resolved " "with respect to the current working directory." msgstr "" +"Si *module_relative* es ``False``, entonces *filename* especifica una ruta " +"especifica del SO. La ruta puede ser absoluta o relativa; las rutas " +"relativas son resueltas con respecto al directorio de trabajo actual." #: ../Doc/library/doctest.rst:863 msgid "" "Optional argument *name* gives the name of the test; by default, or if " "``None``, ``os.path.basename(filename)`` is used." msgstr "" +"El argumento opcional *name* proporciona el nombre de la prueba; por " +"defecto, o si es ``None``, se usa ``os.path.basename(filename)``." #: ../Doc/library/doctest.rst:866 msgid "" @@ -852,6 +1223,12 @@ msgid "" "directory is used as the base directory for module-relative filenames. It " "is an error to specify *package* if *module_relative* is ``False``." msgstr "" +"El argumento opcional *package* es un paquete de Python o el nombre de una " +"paquete de Python cuyo directorio debe ser usado como el directorio base " +"para un nombre de archivo relativo al módulo. Si no se especifica ningún " +"paquete, entonces el directorio del módulo que invoca se usa como el " +"directorio base para los nombres de archivos relativos al módulo. Es un " +"error especificar *package* si *module_relative* es ``False``." #: ../Doc/library/doctest.rst:872 msgid "" @@ -860,6 +1237,11 @@ msgid "" "doctest, so its examples start with a clean slate. By default, or if " "``None``, a new empty dict is used." msgstr "" +"El argumento opcional *globs* proporciona un diccionario a ser usado como " +"los globales cuando se ejecuten los ejemplos. Se crea una nueva copia " +"superficial de este diccionario para el doctest, por lo que sus ejemplos " +"empiezan con una pizarra en blanco. Por defecto, o si es ``None``, se usa un " +"nuevo diccionario vacío." #: ../Doc/library/doctest.rst:877 msgid "" @@ -873,6 +1255,16 @@ msgid "" "passing an *extraglobs* dict mapping the generic name to the subclass to be " "tested." msgstr "" +"El argumento opcional *extraglobs* proporciona un diccionario mezclado con " +"los globales usados para ejecutar ejemplos. Funciona como :meth:`dict." +"update`: si *globs* y *extraglobs* tienen una clave en común, el valor " +"asociado en *extraglobs* aparece en el diccionario combinado. Por defecto, o " +"si es ``None``, no se usa ninguna variable global. Es una característica " +"avanzada que permite la parametrización de doctests. Por ejemplo, un doctest " +"puede ser escribo para una clase base, usando un nombre genérico para la " +"clase, y luego reusado para probar cualquier número de clases heredadas al " +"pasar un diccionario de *extraglobs* mapeando el nombre genérico a la clase " +"heredada para ser probada." #: ../Doc/library/doctest.rst:886 msgid "" @@ -880,6 +1272,9 @@ msgid "" "failures if false; by default, or if ``None``, it's true if and only if ``'-" "v'`` is in ``sys.argv``." msgstr "" +"El argumento opcional *verbose* imprime un montón de cosas si es verdadero, " +"e imprime sólo las fallas si es falso; por defecto, o si es ``None``, es " +"verdadero si y sólo si ``'-v'`` está en ``sys.argv``." #: ../Doc/library/doctest.rst:890 msgid "" @@ -887,12 +1282,19 @@ msgid "" "prints nothing at the end. In verbose mode, the summary is detailed, else " "the summary is very brief (in fact, empty if all tests passed)." msgstr "" +"El argumento opcional *report* imprime un resumen al final cuando es " +"verdadero; si no, no imprime nada al final. En modo verboso (*verbose*), el " +"resumen es detallado; si no, el resumen es muy corto (de hecho, vacío si " +"todos las pruebas pasan)." #: ../Doc/library/doctest.rst:894 msgid "" "Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR " "` of option flags. See section :ref:`doctest-options`." msgstr "" +"El argumento opcional *optionflags* (valor por defecto 0) toma las banderas " +"de opciones :ref:`juntadas lógicamente por un OR `. Véase la " +"sección :ref:`doctest-options`." #: ../Doc/library/doctest.rst:898 msgid "" @@ -901,6 +1303,11 @@ msgid "" "This allows failures to be post-mortem debugged. Default behavior is to " "continue running examples." msgstr "" +"El argumento opcional *raise_on_error* tiene como valor por defecto *false*. " +"Si es *true*, se levanta una excepción sobre la primera falla o excepción no " +"esperada en un ejemplo. Esto permite que los fallos sean depurados en un " +"análisis a posteriori. El comportamiento por defecto es continuar corriendo " +"los ejemplos." #: ../Doc/library/doctest.rst:903 ../Doc/library/doctest.rst:1043 msgid "" @@ -908,18 +1315,26 @@ msgid "" "that should be used to extract tests from the files. It defaults to a " "normal parser (i.e., ``DocTestParser()``)." msgstr "" +"El argumento opcional *parser* especifica un :class:`DocTestParser` (o " +"subclase) que debe ser usado para extraer las pruebas de los archivos. Su " +"valor por defecto es un analizador sintáctico normal (i.e., " +"``DocTestParser()``)." #: ../Doc/library/doctest.rst:907 ../Doc/library/doctest.rst:1047 msgid "" "Optional argument *encoding* specifies an encoding that should be used to " "convert the file to unicode." msgstr "" +"El argumento opcional *encoding* especifica una codificación que debe ser " +"usada para convertir el archivo a *unicode*." #: ../Doc/library/doctest.rst:913 msgid "" "All arguments are optional, and all except for *m* should be specified in " "keyword form." msgstr "" +"Todos los argumentos son opcionales, y todos excepto por *m* deben ser " +"especificados en forma de palabras claves." #: ../Doc/library/doctest.rst:916 msgid "" @@ -927,6 +1342,9 @@ msgid "" "*m* (or module :mod:`__main__` if *m* is not supplied or is ``None``), " "starting with ``m.__doc__``." msgstr "" +"Prueba los ejemplos en los docstring de las funciones y clases alcanzables " +"desde el módulo *m* (o desde el módulo :mod:`__main__` si *m* no es " +"proporcionado o es ``None``), empezando con ``m.__doc__``." #: ../Doc/library/doctest.rst:920 msgid "" @@ -935,21 +1353,30 @@ msgid "" "strings; function and class docstrings are searched for examples; strings " "are searched directly, as if they were docstrings." msgstr "" +"También prueba los ejemplos alcanzables desde el diccionario de ``m." +"__test__``, si existe y no es ``None``. ``m.__test__`` mapea los nombres " +"(cadenas de caracteres) a funciones, clases y cadenas de caracteres; se " +"buscan los ejemplos de las funciones y clases; se buscan las cadenas de " +"caracteres directamente como si fueran docstrings." #: ../Doc/library/doctest.rst:925 msgid "" "Only docstrings attached to objects belonging to module *m* are searched." msgstr "" +"Sólo se buscan los docstrings anexados a los objetos pertenecientes al " +"módulo *m*." #: ../Doc/library/doctest.rst:927 msgid "Return ``(failure_count, test_count)``." -msgstr "" +msgstr "Retorna ``(failure_count, test_count)``." #: ../Doc/library/doctest.rst:929 msgid "" "Optional argument *name* gives the name of the module; by default, or if " "``None``, ``m.__name__`` is used." msgstr "" +"El argumento opcional *name* proporciona el nombre del módulo; por defecto, " +"o si es ``None``, se usa ``m.__name__``." #: ../Doc/library/doctest.rst:932 msgid "" @@ -960,6 +1387,13 @@ msgid "" "output for objects with no tests. The *exclude_empty* argument to the newer :" "class:`DocTestFinder` constructor defaults to true." msgstr "" +"El argumento opcional *exclude_empty* es por defecto *false*. Si es " +"verdadero, se excluyen los objetos por los cuales no se encuentren doctest. " +"El valor por defecto es un *hack* de compatibilidad hacia atrás, por lo que " +"el código que use :meth:`doctest.master.summarize` en conjunto con :func:" +"`testmod` continua obteniendo la salida para objetos sin pruebas. El " +"argumento *exclude_empty* para el más nuevo constructor :class:" +"`DocTestFinder` es por defecto verdadero." #: ../Doc/library/doctest.rst:939 msgid "" @@ -967,24 +1401,33 @@ msgid "" "*raise_on_error*, and *globs* are the same as for function :func:`testfile` " "above, except that *globs* defaults to ``m.__dict__``." msgstr "" +"Los argumentos opcionales *extraglobs*, *verbose*, *report*, *optionflags*, " +"*raise_on_error*, y *globs* son los mismos en cuanto a la función :func:" +"`testfile` arriba, excepto que *globs* es por defecto ``m.__dict__``." #: ../Doc/library/doctest.rst:946 msgid "" "Test examples associated with object *f*; for example, *f* may be a string, " "a module, a function, or a class object." msgstr "" +"Prueba los ejemplos asociados con el objeto *f*; por ejemplo, *f* puede ser " +"una cadena de caracteres, un módulo, una función, o un objeto clase." #: ../Doc/library/doctest.rst:949 msgid "" "A shallow copy of dictionary argument *globs* is used for the execution " "context." msgstr "" +"Una copia superficial del diccionario del argumento *globs* se usa para la " +"ejecución del contexto." #: ../Doc/library/doctest.rst:951 msgid "" "Optional argument *name* is used in failure messages, and defaults to ``" "\"NoName\"``." msgstr "" +"Se usa el argumento opcional *name* en mensajes de fallos, y por defecto es " +"``\"NoName\"``." #: ../Doc/library/doctest.rst:954 msgid "" @@ -992,6 +1435,9 @@ msgid "" "are no failures. By default, output is generated only in case of an example " "failure." msgstr "" +"Si el argumento opcional *verbose* es verdadero, la salida se genera incluso " +"si no hay fallas. Por defecto, la salida se genera sólo en caso de la falla " +"de un ejemplo." #: ../Doc/library/doctest.rst:957 msgid "" @@ -1000,15 +1446,21 @@ msgid "" "``None``, flags are deduced corresponding to the set of future features " "found in *globs*." msgstr "" +"El argumento opcional *compileflags* proporciona el conjunto de banderas que " +"se deben usar por el compilador de Python cuando se corran los ejemplos. Por " +"defecto, o si es ``None``, las banderas se deducen correspondiendo al " +"conjunto de características futuras encontradas en *globs*." #: ../Doc/library/doctest.rst:961 msgid "" "Optional argument *optionflags* works as for function :func:`testfile` above." msgstr "" +"El argumento opcional *optionflags* trabaja con respecto a la función :func:" +"`testfile` de arriba." #: ../Doc/library/doctest.rst:967 msgid "Unittest API" -msgstr "" +msgstr "API de unittest" #: ../Doc/library/doctest.rst:969 msgid "" @@ -1018,18 +1470,29 @@ msgid "" "files containing doctests. To integrate with :mod:`unittest` test " "discovery, include a :func:`load_tests` function in your test module::" msgstr "" +"Mientras crece tu colección de módulos probados con doctest, vas a querer " +"una forma de ejecutar todos sus doctests sistemáticamente. :mod:`doctest` " +"proporciona dos funciones que se pueden usar para crear un banco de pruebas " +"(*test suite*) de :mod:`unittest` desde módulos y archivos de texto que " +"contienen doctests. Para integrarse con el descubrimiento de pruebas de :mod:" +"`unittest` , incluye una función :func:`load_tests` en tu módulo de " +"pruebas::" #: ../Doc/library/doctest.rst:983 msgid "" "There are two main functions for creating :class:`unittest.TestSuite` " "instances from text files and modules with doctests:" msgstr "" +"Hay dos funciones principales para crear instancias de :class:`unittest." +"TestSuite` desde los archivos de texto y módulos con doctests:" #: ../Doc/library/doctest.rst:989 msgid "" "Convert doctest tests from one or more text files to a :class:`unittest." "TestSuite`." msgstr "" +"Convierte las pruebas de doctest de uno o más archivos de texto a una :class:" +"`unittest.TestSuite`." #: ../Doc/library/doctest.rst:992 msgid "" @@ -1039,20 +1502,30 @@ msgid "" "`failureException` exception is raised showing the name of the file " "containing the test and a (sometimes approximate) line number." msgstr "" +"El :class:`unittest.TestSuite` que se retorne será ejecutado por el " +"framework de unittest y ejecuta los ejemplos interactivos en cada archivo. " +"Si un ejemplo en cualquier archivo falla, entonces la prueba unitaria " +"sintetizada falla, y una excepción :exc:`failureException` se lanza " +"mostrando el nombre del archivo conteniendo la prueba y un número de línea " +"(algunas veces aproximado)." #: ../Doc/library/doctest.rst:998 msgid "Pass one or more paths (as strings) to text files to be examined." msgstr "" +"Pasa una o más rutas (como cadenas de caracteres) a archivos de texto para " +"ser examinados." #: ../Doc/library/doctest.rst:1000 msgid "Options may be provided as keyword arguments:" -msgstr "" +msgstr "Se pueden proporcionar las opciones como argumentos por palabra clave:" #: ../Doc/library/doctest.rst:1002 msgid "" "Optional argument *module_relative* specifies how the filenames in *paths* " "should be interpreted:" msgstr "" +"El argumento opcional *module_relative* especifica cómo los nombres de " +"archivos en *paths* se deben interpretar:" #: ../Doc/library/doctest.rst:1005 msgid "" @@ -1064,6 +1537,14 @@ msgid "" "segments, and may not be an absolute path (i.e., it may not begin with ``/" "``)." msgstr "" +"Si *module_relative* is ``True`` (el valor por defecto), entonces cada " +"archivo de nombre en *paths* especifica una ruta relativa al módulo " +"independiente del SO. Por defecto, esta ruta es relativa al directorio del " +"módulo lo está invocando; pero si se especifica el argumento *package*, " +"entonces es relativo a ese paquete. Para asegurar la independencia del SO, " +"cada nombre de archivo debe usar caracteres ``/`` para separar los segmentos " +"de rutas, y puede no ser una ruta absoluta (i.e., puede no empezar con ``/" +"``)." #: ../Doc/library/doctest.rst:1013 msgid "" @@ -1071,6 +1552,10 @@ msgid "" "an OS-specific path. The path may be absolute or relative; relative paths " "are resolved with respect to the current working directory." msgstr "" +"Si *module_relative* es ``False``, entonces cada archivo de nombre en " +"*paths* especifica una ruta especifica al SO. La ruta puede ser absoluta o " +"relativa; las rutas relativas son resueltas con respecto a directorio de " +"trabajo actual." #: ../Doc/library/doctest.rst:1017 msgid "" @@ -1081,6 +1566,13 @@ msgid "" "filenames. It is an error to specify *package* if *module_relative* is " "``False``." msgstr "" +"El argumento opcional *package* es un paquete de Python o el nombre de un " +"paquete de Python cuyo directorio debe ser usado como el directorio base " +"para los nombres de archivos relativos al módulo en *paths*. Si no se " +"especifica ningún paquete, entonces el directorio del módulo que lo está " +"invocando se usa como el directorio base para los archivos de nombres " +"relativos al módulo. Es un error especificar *package* si *module_relative* " +"es ``False``." #: ../Doc/library/doctest.rst:1024 msgid "" @@ -1089,6 +1581,11 @@ msgid "" "will be passed a :class:`DocTest` object. The setUp function can access the " "test globals as the *globs* attribute of the test passed." msgstr "" +"El argumento opcional *setUp* especifica una función de configuración para " +"el banco de pruebas. Es invocado antes de ejecutar las pruebas en cada " +"archivo. La función *setUp* se pasará a un objeto :class:`DocTest`. La " +"función *setUp* puede acceder a las variables globales de prueba como el " +"atributo *globs* de la prueba pasada." #: ../Doc/library/doctest.rst:1029 msgid "" @@ -1097,6 +1594,11 @@ msgid "" "function will be passed a :class:`DocTest` object. The setUp function can " "access the test globals as the *globs* attribute of the test passed." msgstr "" +"El argumento opcional *tearDown* especifica una función de destrucción para " +"el banco de pruebas. Es invocado después de ejecutar las pruebas en cada " +"archivo. Se pasará un objeto :class:`DocTest` a la función *tearDown*. La " +"función *setUp* de configuración puede acceder a los globales de la prueba " +"como el atributo *globs* de la prueba pasada." #: ../Doc/library/doctest.rst:1034 ../Doc/library/doctest.rst:1068 msgid "" @@ -1104,6 +1606,10 @@ msgid "" "variables for the tests. A new copy of this dictionary is created for each " "test. By default, *globs* is a new empty dictionary." msgstr "" +"El argumento opcional *globs* es un diccionario que contiene las variables " +"globales iniciales para las pruebas. Se crea una nueva copia de este " +"diccionario para cada prueba. Por defecto, *globs* es un nuevo diccionario " +"vacío." #: ../Doc/library/doctest.rst:1038 msgid "" @@ -1112,16 +1618,25 @@ msgid "" "ref:`doctest-options`. See function :func:`set_unittest_reportflags` below " "for a better way to set reporting options." msgstr "" +"El argumento opcional *optionflags* especifica las opciones de doctest por " +"defecto para las pruebas, creado al juntar lógicamente las opciones de " +"bandera individuales. Véase la sección :ref:`doctest-options`. Véase la " +"función :func:`set_unittest_reportflags` abajo para una mejor manera de " +"definir las opciones de informe." #: ../Doc/library/doctest.rst:1050 msgid "" "The global ``__file__`` is added to the globals provided to doctests loaded " "from a text file using :func:`DocFileSuite`." msgstr "" +"Se añade el global ``__file__`` a los globales proporcionados a los doctests " +"cargados desde un archivo de texto usando :func:`DocFileSuite`." #: ../Doc/library/doctest.rst:1056 msgid "Convert doctest tests for a module to a :class:`unittest.TestSuite`." msgstr "" +"Convierte las pruebas de doctest para un módulo a un :class:`unittest." +"TestSuite`." #: ../Doc/library/doctest.rst:1058 msgid "" @@ -1131,6 +1646,11 @@ msgid "" "exception is raised showing the name of the file containing the test and a " "(sometimes approximate) line number." msgstr "" +"El :class:`unittest.TestSuite` que se retorne será ejecutado por el " +"framework de unittest y corre cada doctest en el módulo. Si cualquiera de " +"los doctests falla, entonces la prueba unitaria combinada falla, y se lanza " +"una excepción :exc:`failureException` mostrando el nombre del archivo que " +"contiene la prueba y un número de línea (a veces aproximado)." #: ../Doc/library/doctest.rst:1064 msgid "" @@ -1138,34 +1658,46 @@ msgid "" "module object or a (possibly dotted) module name. If not specified, the " "module calling this function is used." msgstr "" +"El argumento opcional *module* proporciona el módulo a probar. Puede ser un " +"objeto de módulo o un nombre (posiblemente punteado) de módulo. Si no se " +"especifica, se usa el módulo que invoca esta función." #: ../Doc/library/doctest.rst:1072 msgid "" "Optional argument *extraglobs* specifies an extra set of global variables, " "which is merged into *globs*. By default, no extra globals are used." msgstr "" +"El argumento opcional *extraglobs* especifica un conjunto de variables " +"globales adicionales que son mezcladas con *globs*. Por defecto, no se usa " +"ningún global adicional." #: ../Doc/library/doctest.rst:1075 msgid "" "Optional argument *test_finder* is the :class:`DocTestFinder` object (or a " "drop-in replacement) that is used to extract doctests from the module." msgstr "" +"El argumento opcional *test_finder* es el objeto :class:`DocTestFinder` (o " +"un reemplazo directo) que se usa para extraer doctests desde el módulo." #: ../Doc/library/doctest.rst:1078 msgid "" "Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " "for function :func:`DocFileSuite` above." msgstr "" +"Los argumentos opcionales *setUp*, *tearDown*, y *optionflags* son lo mismo " +"con respecto a la función :func:`DocFileSuite` arriba." #: ../Doc/library/doctest.rst:1081 msgid "This function uses the same search technique as :func:`testmod`." -msgstr "" +msgstr "Esta función usa la misma técnica de búsqueda que :func:`testmod`." #: ../Doc/library/doctest.rst:1083 msgid "" ":func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if " "*module* contains no docstrings instead of raising :exc:`ValueError`." msgstr "" +":func:`DocTestSuite` retorna un :class:`unittest.TestSuite` vacío si " +"*module* no contiene ningún docstring en vez de lanzar un :exc:`ValueError`." #: ../Doc/library/doctest.rst:1088 msgid "" @@ -1175,6 +1707,12 @@ msgid "" "documented here (it's an internal detail), but studying its code can answer " "questions about the exact details of :mod:`unittest` integration." msgstr "" +"Por detrás, :func:`DocTestSuite` crea un :class:`unittest.TestSuite` de las " +"instancias de :class:`doctest.DocTestCase`, y :class:`DocTestCase` es una " +"subclase de :class:`unittest.TestCase`. :class:`DocTestCase` no está " +"documentado aquí (es un detalle interno), pero estudiar su código puede " +"responder preguntas sobre los detalles exactos de la integración de :mod:" +"`unittest`." #: ../Doc/library/doctest.rst:1094 msgid "" @@ -1182,6 +1720,9 @@ msgid "" "of :class:`doctest.DocFileCase` instances, and :class:`DocFileCase` is a " "subclass of :class:`DocTestCase`." msgstr "" +"De manera similar, :func:`DocFileSuite` crea un :class:`unittest.TestSuite` " +"de las instancias de :class:`doctest.DocFileCase`, y :class:`DocFileCase` es " +"una subclase de :class:`DocTestCase`." #: ../Doc/library/doctest.rst:1098 msgid "" @@ -1195,22 +1736,39 @@ msgid "" "specified by command line options), but there's no way to pass options " "through :mod:`unittest` to :mod:`doctest` test runners." msgstr "" +"Por lo que ambas formas de crear un :class:`unittest.TestSuite` ejecutan " +"instancias de :class:`DocTestCase`. Esto es importante por una razón sutil: " +"cuando ejecutas las funciones de :mod:`doctest` por ti mismo, puedes " +"controlar las opciones de :mod:`doctest` en uso directamente, al pasar las " +"banderas de opciones a las funciones de :mod:`doctest`. Sin embargo, si " +"estás escribiendo un framework de :mod:`unittest`, básicamente :mod:" +"`unittest` controla cuándo y cómo se ejecutan las pruebas. El autor del " +"framework típicamente, quiere controlar las opciones de reporte de :mod:" +"`doctest` (quizás, p.ej., especificadas por las opciones de la línea de " +"comandos), pero no hay forma de pasar opciones a través de :mod:`unittest` " +"al probador de ejecución (*test runner*) de :mod:`doctest`." #: ../Doc/library/doctest.rst:1108 msgid "" "For this reason, :mod:`doctest` also supports a notion of :mod:`doctest` " "reporting flags specific to :mod:`unittest` support, via this function:" msgstr "" +"Por esta razón, :mod:`doctest` también admite una noción de banderas de " +"informe de :mod:`doctest` específicas para la compatibilidad con :mod:" +"`unittest`, a través de esta función:" #: ../Doc/library/doctest.rst:1114 msgid "Set the :mod:`doctest` reporting flags to use." -msgstr "" +msgstr "Establece las banderas de informe de :mod:`doctest` a usar." #: ../Doc/library/doctest.rst:1116 msgid "" "Argument *flags* takes the :ref:`bitwise OR ` of option flags. See " "section :ref:`doctest-options`. Only \"reporting flags\" can be used." msgstr "" +"El argumento *flags* toma la :ref:`combinación por el operador OR ` " +"de las banderas de opciones. Véase la sección :ref:`doctest-options`. Sólo " +"se pueden usar las \"banderas de informe\"." #: ../Doc/library/doctest.rst:1119 msgid "" @@ -1225,16 +1783,30 @@ msgid "" "were specified when the :class:`DocTestCase` instance was constructed, :mod:" "`doctest`'s :mod:`unittest` reporting flags are ignored." msgstr "" +"Esta es una configuración global del módulo, y afecta a todos los doctests " +"futuros a ejecutar por :mod:`unittest`: el método :meth:`runTest` de :class:" +"`DocTestCase` revisa las banderas de opciones especificadas para el caso de " +"prueba cuando la instancia de :class:`DocTestCase` fue construida. Si no se " +"especificó ninguna bandera de informe (que es el caso típico y esperado), " +"las banderas de informe -pertenecientes a :mod:`doctest`- de :mod:`unittest` " +"son :ref:`combinadas por la operación Or ` en las banderas de " +"opciones, y las banderas de opciones aumentadas se pasan a la instancia de :" +"class:`DocTestRunner` creada para ejecutar los doctest. Si se especificó " +"alguna bandera de informe cuando el :class:`DocTestCase` fue construido, se " +"ignoran las banderas de informe -pertenecientes a :mod:`doctest`- de :mod:" +"`unittest`." #: ../Doc/library/doctest.rst:1130 msgid "" "The value of the :mod:`unittest` reporting flags in effect before the " "function was called is returned by the function." msgstr "" +"La función retorna el valor de las banderas de informe de :mod:`unittest` en " +"efecto antes de que la función fuera invocada." #: ../Doc/library/doctest.rst:1137 msgid "Advanced API" -msgstr "" +msgstr "API avanzada" #: ../Doc/library/doctest.rst:1139 msgid "" @@ -1243,30 +1815,43 @@ msgid "" "you require more fine-grained control over testing, or wish to extend " "doctest's capabilities, then you should use the advanced API." msgstr "" +"La API básica es un simple envoltorio que sirve para hacer los doctest " +"fáciles de usar. Es bastante flexible, y debe cumplir las necesidades de la " +"mayoría de los usuarios; si requieres un control más preciso en las pruebas, " +"o deseas extender las capacidades de doctest, entonces debes usar la API " +"avanzada." #: ../Doc/library/doctest.rst:1144 msgid "" "The advanced API revolves around two container classes, which are used to " "store the interactive examples extracted from doctest cases:" msgstr "" +"La API avanzada gira en torno a dos clases contenedoras, que se usan para " +"guardar los ejemplos interactivos extraídos de los casos doctest:" #: ../Doc/library/doctest.rst:1147 msgid "" ":class:`Example`: A single Python :term:`statement`, paired with its " "expected output." msgstr "" +":class:`Example`: Un :term:`statement` de Python, emparejado con su salida " +"esperada." #: ../Doc/library/doctest.rst:1150 msgid "" ":class:`DocTest`: A collection of :class:`Example`\\ s, typically extracted " "from a single docstring or text file." msgstr "" +":class:`DocTest`: Una colección de clases :class:`Example`, típicamente " +"extraídos de un sólo docstring o archivo de texto." #: ../Doc/library/doctest.rst:1153 msgid "" "Additional processing classes are defined to find, parse, and run, and check " "doctest examples:" msgstr "" +"Se definen clases de procesamiento adicionales para encontrar, analizar " +"sintácticamente, y ejecutar, y comprobar ejemplos de doctest:" #: ../Doc/library/doctest.rst:1156 msgid "" @@ -1274,34 +1859,45 @@ msgid "" "class:`DocTestParser` to create a :class:`DocTest` from every docstring that " "contains interactive examples." msgstr "" +":class:`DocTestFinder`: Encuentra todos los docstrings en un módulo dado, y " +"usa un :class:`DocTestParser` para crear un :class:`DocTest` de cada " +"docstring que contiene ejemplos interactivos." #: ../Doc/library/doctest.rst:1160 msgid "" ":class:`DocTestParser`: Creates a :class:`DocTest` object from a string " "(such as an object's docstring)." msgstr "" +":class:`DocTestParser`: Crea un objeto :class:`DocTest` de una cadena de " +"caracteres (tal como un docstring de un objeto)." #: ../Doc/library/doctest.rst:1163 msgid "" ":class:`DocTestRunner`: Executes the examples in a :class:`DocTest`, and " "uses an :class:`OutputChecker` to verify their output." msgstr "" +":class:`DocTestRunner`: Ejecuta los ejemplos en un :class:`DocTest`, y usa " +"un :class:`OutputChecker` para verificar su salida." #: ../Doc/library/doctest.rst:1166 msgid "" ":class:`OutputChecker`: Compares the actual output from a doctest example " "with the expected output, and decides whether they match." msgstr "" +":class:`OutputChecker`: Compara la salida real de un ejemplo de doctest con " +"la salida esperada, y decide si coinciden." #: ../Doc/library/doctest.rst:1169 msgid "" "The relationships among these processing classes are summarized in the " "following diagram::" msgstr "" +"Las relaciones entre estas clases de procesamiento se resumen en el " +"siguiente diagrama::" #: ../Doc/library/doctest.rst:1185 msgid "DocTest Objects" -msgstr "" +msgstr "Objetos DocTest" #: ../Doc/library/doctest.rst:1190 msgid "" @@ -1309,18 +1905,25 @@ msgid "" "The constructor arguments are used to initialize the attributes of the same " "names." msgstr "" +"Una colección de ejemplos de doctest que deben ejecutarse en un sólo nombre " +"de espacios. Se usan los argumentos del constructor para inicializar los " +"atributos de los mismos nombres." #: ../Doc/library/doctest.rst:1194 msgid "" ":class:`DocTest` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" +":class:`DocTest` define los siguientes atributos. Son inicializados por el " +"constructor, y no deben ser modificados directamente." #: ../Doc/library/doctest.rst:1200 msgid "" "A list of :class:`Example` objects encoding the individual interactive " "Python examples that should be run by this test." msgstr "" +"Una lista de objetos :class:`Example` codificando los ejemplos interactivos " +"de Python individuales que esta prueba debe ejecutar." #: ../Doc/library/doctest.rst:1206 msgid "" @@ -1329,12 +1932,19 @@ msgid "" "the examples (such as binding new variables) will be reflected in :attr:" "`globs` after the test is run." msgstr "" +"El nombre de espacios (alias *globals*) en que los ejemplos se deben " +"ejecutar. Este es un diccionario que mapea nombres a valores. Cualquier " +"cambio al nombre de espacios hecho por los ejemplos (tal como juntar nuevas " +"variables) se reflejará en :attr:`globs` después de que se ejecute la prueba." #: ../Doc/library/doctest.rst:1214 msgid "" "A string name identifying the :class:`DocTest`. Typically, this is the name " "of the object or file that the test was extracted from." msgstr "" +"Un nombre de cadena de caracteres que identifica el :class:`DocTest`. " +"Normalmente, este es el nombre del objeto o archivo del que se extrajo la " +"prueba." #: ../Doc/library/doctest.rst:1220 msgid "" @@ -1342,6 +1952,9 @@ msgid "" "``None`` if the filename is unknown, or if the :class:`DocTest` was not " "extracted from a file." msgstr "" +"El nombre del archivo del que se extrajo este :class:`DocTest`; o ``None`` " +"si el nombre del archivo se desconoce, o si :class:`DocTest` no se extrajo " +"de un archivo." #: ../Doc/library/doctest.rst:1227 msgid "" @@ -1349,16 +1962,23 @@ msgid "" "or ``None`` if the line number is unavailable. This line number is zero-" "based with respect to the beginning of the file." msgstr "" +"El número de línea dentro de :attr:`filename` donde este :class:`DocTest` " +"comienza, o ``None`` si el número de línea no está disponible. Este número " +"de línea es comienza en 0 con respecto al comienzo del archivo." #: ../Doc/library/doctest.rst:1234 msgid "" "The string that the test was extracted from, or ``None`` if the string is " "unavailable, or if the test was not extracted from a string." msgstr "" +"La cadena de caracteres del que se extrajo la cadena, o ``None`` si la " +"cadena no está disponible, o si la prueba no se extrajo de una cadena de " +"caracteres." +# Estoy poniendo Example sin traducir porque hace referencia a la clase :class:`Example` que envuelve los ejemplos interactivos. #: ../Doc/library/doctest.rst:1241 msgid "Example Objects" -msgstr "" +msgstr "Objetos *Example*" #: ../Doc/library/doctest.rst:1246 msgid "" @@ -1366,12 +1986,17 @@ msgid "" "expected output. The constructor arguments are used to initialize the " "attributes of the same names." msgstr "" +"Un sólo ejemplo interactivo, que consta de una sentencia de Python y su " +"salida esperada. Los argumentos del constructor se usan para inicializar los " +"atributos del mismo nombre." #: ../Doc/library/doctest.rst:1251 msgid "" ":class:`Example` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" +"La clase :class:`Example` define los siguientes atributos. Son inicializados " +"por el constructor, y no deben ser modificados directamente." #: ../Doc/library/doctest.rst:1257 msgid "" @@ -1379,6 +2004,9 @@ msgid "" "a single Python statement, and always ends with a newline; the constructor " "adds a newline when necessary." msgstr "" +"Una cadena de caracteres que contiene el código fuente del ejemplo. Este " +"código fuente consiste de una sola sentencia Python, y siempre termina en " +"una nueva línea; el constructor añade una nueva línea cuando sea necesario." #: ../Doc/library/doctest.rst:1264 msgid "" @@ -1387,6 +2015,11 @@ msgid "" "newline unless no output is expected, in which case it's an empty string. " "The constructor adds a newline when necessary." msgstr "" +"La salida esperada de ejecutar el código fuente del ejemplo (o desde la " +"salida estandar, o un seguimiento en caso de una excepción). :attr:`wants` " +"termina con una nueva línea a menos que no se espera ninguna salida, en cuyo " +"caso es una cadena vacía. El constructor añade una nueva línea cuando sea " +"necesario." #: ../Doc/library/doctest.rst:1272 msgid "" @@ -1396,6 +2029,12 @@ msgid "" "func:`traceback.format_exception_only`. :attr:`exc_msg` ends with a newline " "unless it's ``None``. The constructor adds a newline if needed." msgstr "" +"El mensaje de excepción que el ejemplo genera, si se espera que el ejemplo " +"genere una excepción; o ``None`` si no se espera que genere una excepción. " +"Se compara este mensaje de excepción con el valor de retorno de :func:" +"`traceback.format_exception_only`. :attr:`exc_msg` termina con una nueva " +"línea a menos que sea ``None``. El constructor añade una nueva línea si se " +"necesita." #: ../Doc/library/doctest.rst:1281 msgid "" @@ -1403,12 +2042,17 @@ msgid "" "begins. This line number is zero-based with respect to the beginning of the " "containing string." msgstr "" +"El número de línea dentro de la cadena de caracteres que contiene este " +"ejemplo donde el ejemplo comienza. Este número de línea comienza en 0 con " +"respecto al comienzo de la cadena que lo contiene." #: ../Doc/library/doctest.rst:1288 msgid "" "The example's indentation in the containing string, i.e., the number of " "space characters that precede the example's first prompt." msgstr "" +"La sangría del ejemplo en la cadena que lo contiene; i.e., el número de " +"caracteres de espacio que preceden la primera entrada del ejemplo." #: ../Doc/library/doctest.rst:1294 msgid "" @@ -1418,10 +2062,15 @@ msgid "" "by the :class:`DocTestRunner`'s :attr:`optionflags`). By default, no options " "are set." msgstr "" +"Un diccionario que mapea de las banderas de opciones a ``True`` o ``False``, " +"que se usa para anular las opciones por defecto para este ejemplo. Cualquier " +"bandera de opción que no contiene este diccionario se deja con su valor por " +"defecto (como se especifica por los :attr:`optionflags` de :class:" +"`DocTestRunner`). Por defecto, no se establece ninguna opción." #: ../Doc/library/doctest.rst:1303 msgid "DocTestFinder objects" -msgstr "" +msgstr "Objetos *DocTestFinder*" #: ../Doc/library/doctest.rst:1308 msgid "" @@ -1430,40 +2079,56 @@ msgid "" "contained objects. :class:`DocTest`\\ s can be extracted from modules, " "classes, functions, methods, staticmethods, classmethods, and properties." msgstr "" +"Una clase de procesamiento que se usa para extraer los :class:`DocTest` que " +"son relevantes para un objeto dado, desde su docstring y los docstring de " +"sus objetos contenidos. Se puede extraer los :class:`DocTest` de los " +"módulos, clases, funciones, métodos, métodos estáticos, métodos de clase, y " +"propiedades." #: ../Doc/library/doctest.rst:1313 msgid "" "The optional argument *verbose* can be used to display the objects searched " "by the finder. It defaults to ``False`` (no output)." msgstr "" +"Se puede usar el argumento opcional *verbose* para mostrar los objetos " +"buscados por *finder*. Su valor por defecto es ``False`` (ninguna salida)." #: ../Doc/library/doctest.rst:1316 msgid "" "The optional argument *parser* specifies the :class:`DocTestParser` object " "(or a drop-in replacement) that is used to extract doctests from docstrings." msgstr "" +"El argumento opcional *parser* especifica el objeto :class:`DocTestParser` " +"(o un reemplazo directo) que se usa para extraer doctests desde docstrings." #: ../Doc/library/doctest.rst:1319 msgid "" "If the optional argument *recurse* is false, then :meth:`DocTestFinder.find` " "will only examine the given object, and not any contained objects." msgstr "" +"Si el argumento opcional *recurse* es falso, entonces el método :meth:" +"`DocTestFinder.find` sólo examinará el objeto dado, y no cualquier objeto " +"contenido." #: ../Doc/library/doctest.rst:1322 msgid "" "If the optional argument *exclude_empty* is false, then :meth:`DocTestFinder." "find` will include tests for objects with empty docstrings." msgstr "" +"Si el argumento opcional *exclude_empty* es falso, entonces :meth:" +"`DocTestFinder.find` incluirá pruebas para objetos con docstrings vacíos." #: ../Doc/library/doctest.rst:1326 msgid ":class:`DocTestFinder` defines the following method:" -msgstr "" +msgstr ":class:`DocTestFinder` define los siguientes métodos:" #: ../Doc/library/doctest.rst:1331 msgid "" "Return a list of the :class:`DocTest`\\ s that are defined by *obj*'s " "docstring, or by any of its contained objects' docstrings." msgstr "" +"Retorna una lista de los :class:`Doctest` que se definen por el docstring de " +"*obj*, o por cualquiera de los docstring de sus objetos contenidos." #: ../Doc/library/doctest.rst:1334 msgid "" @@ -1471,6 +2136,9 @@ msgid "" "used to construct names for the returned :class:`DocTest`\\ s. If *name* is " "not specified, then ``obj.__name__`` is used." msgstr "" +"El argumento opcional *name* especifica el nombre del objeto; este nombre " +"será usado para construir los nombres de los :class:`DocTest` retornados. Si " +"*name* no se especifica, entonces se usa ``obj.__name__``." #: ../Doc/library/doctest.rst:1338 msgid "" @@ -1479,10 +2147,14 @@ msgid "" "will attempt to automatically determine the correct module. The object's " "module is used:" msgstr "" +"El parámetro opcional *module* es el módulo que contiene el objeto dado. Si " +"no se especifica el módulo o si es ``None``, entonces el buscador de pruebas " +"tratará de determinar automáticamente el módulo correcto. Se usa el módulo " +"del objeto:" #: ../Doc/library/doctest.rst:1342 msgid "As a default namespace, if *globs* is not specified." -msgstr "" +msgstr "Como un espacio de nombres por defecto, si no se especifica *globs*." #: ../Doc/library/doctest.rst:1344 msgid "" @@ -1490,14 +2162,18 @@ msgid "" "imported from other modules. (Contained objects with modules other than " "*module* are ignored.)" msgstr "" +"Para evitar que *DocTestFinder* extraiga DocTests desde objetos que se " +"importan desde otros módulos. (Se ignoran objetos contenidos con módulos " +"aparte de *module*.)" #: ../Doc/library/doctest.rst:1348 msgid "To find the name of the file containing the object." -msgstr "" +msgstr "Para encontrar el nombre del archivo conteniendo el objeto." #: ../Doc/library/doctest.rst:1350 msgid "To help find the line number of the object within its file." msgstr "" +"Para ayudar a encontrar el número de línea del objeto dentro de su archivo." #: ../Doc/library/doctest.rst:1352 msgid "" @@ -1507,6 +2183,12 @@ msgid "" "objects are considered to belong to the (non-existent) module, so all " "contained objects will (recursively) be searched for doctests." msgstr "" +"Si *module* es falso, no se hará ningún intento de encontrar el módulo. Es " +"poco claro, de uso mayormente para probar doctest en si mismo: si *module* " +"es ``False``, o es ``None`` pero no se puede encontrar automáticamente, " +"entonces todos los objetos se consideran que pertenecen al módulo " +"(inexistente), por lo que todos los objetos contenidos se buscarán " +"(recursivamente) por doctests." #: ../Doc/library/doctest.rst:1358 msgid "" @@ -1517,26 +2199,36 @@ msgid "" "specified, or ``{}`` otherwise. If *extraglobs* is not specified, then it " "defaults to ``{}``." msgstr "" +"Los globales para cada :class:`DocTest` se forma al combinar *globs* y " +"*extraglobs* (los enlaces en *extraglobs* anulan los enlaces en *globs*). Se " +"crea una nueva copia superficial del diccionario de globales para cada :" +"class:`DocTest`. Si *globs* no se especifica, entonces su valor por defecto " +"es el *__dict__* del módulo, si se especifica, o es ``{}`` de lo contrario, " +"si *extraglobs* no se especifica, entonces su valor por defecto es ``{}``." #: ../Doc/library/doctest.rst:1369 msgid "DocTestParser objects" -msgstr "" +msgstr "Objetos *DocTestParser*" #: ../Doc/library/doctest.rst:1374 msgid "" "A processing class used to extract interactive examples from a string, and " "use them to create a :class:`DocTest` object." msgstr "" +"Un clase de procesamiento usada para extraer ejemplos interactivos de una " +"cadena de caracteres, y usarlos para crear un objeto :class:`DocTest`." #: ../Doc/library/doctest.rst:1378 ../Doc/library/doctest.rst:1446 msgid ":class:`DocTestParser` defines the following methods:" -msgstr "" +msgstr ":class:`DocTestParser` define los siguientes métodos:" #: ../Doc/library/doctest.rst:1383 msgid "" "Extract all doctest examples from the given string, and collect them into a :" "class:`DocTest` object." msgstr "" +"Extrae todos los ejemplos de *doctest* de una cadena dada, y los recolecta " +"en un objeto :class:`DocTest`." #: ../Doc/library/doctest.rst:1386 msgid "" @@ -1544,6 +2236,9 @@ msgid "" "`DocTest` object. See the documentation for :class:`DocTest` for more " "information." msgstr "" +"*globs*, *name*, *filename*, y *lineno* son atributos para el nuevo objeto :" +"class:`DocTest`. Véase la documentación de :class:`DocTest` para más " +"información." #: ../Doc/library/doctest.rst:1393 msgid "" @@ -1552,6 +2247,10 @@ msgid "" "argument *name* is a name identifying this string, and is only used for " "error messages." msgstr "" +"Extrae todos los ejemplos de la cadena de caracteres dada, y los retorna " +"como una lista de objetos :class:`Example`. Los números de línea empiezan en " +"0. El argumento opcional *name* es una nombre identificando esta cadena, y " +"sólo es usada para mensajes de errores." #: ../Doc/library/doctest.rst:1400 msgid "" @@ -1560,16 +2259,23 @@ msgid "" "the :class:`Example`\\ s are 0-based. The optional argument *name* is a " "name identifying this string, and is only used for error messages." msgstr "" +"Divide el string dado en ejemplos y texto intermedio, y los retorna como una " +"lista que alterna entre objetos :class:`Example` y cadenas de caracteres. " +"Los números de línea para los objetos :class:`Example` empiezan en 0. El " +"argumento opcional *name* es un nombre identificando esta cadena, y sólo se " +"usa en mensajes de error." #: ../Doc/library/doctest.rst:1409 msgid "DocTestRunner objects" -msgstr "" +msgstr "Objetos *DocTestRunner*" #: ../Doc/library/doctest.rst:1414 msgid "" "A processing class used to execute and verify the interactive examples in a :" "class:`DocTest`." msgstr "" +"Una clase de procesamiento usada para ejecutar y verificar los ejemplos " +"interactivos en un :class:`DocTest`." #: ../Doc/library/doctest.rst:1417 msgid "" @@ -1580,6 +2286,12 @@ msgid "" "customized by passing a subclass of :class:`OutputChecker` to the " "constructor." msgstr "" +"La comparación entre salidas esperadas y salidas reales se hace por un :" +"class:`OutputChecker`. Esta comparación puede ser personalizada con un " +"número de banderas de opción; véase la sección :ref:`doctest-options` para " +"más información. Si las banderas de opción son insuficientes, entonces la " +"comparación también puede ser personalizada al pasar una subclase de :class:" +"`OutputChecker` al constructor." #: ../Doc/library/doctest.rst:1423 msgid "" @@ -1591,6 +2303,14 @@ msgid "" "the methods :meth:`report_start`, :meth:`report_success`, :meth:" "`report_unexpected_exception`, and :meth:`report_failure`." msgstr "" +"La salida de la pantalla del *test runner* se puede controlar de dos " +"maneras. Primero, se puede pasar una función de salida a :meth:`TestRunner." +"run`; esta función se invocará con cadenas que deben mostrarse. Su valor por " +"defecto es ``sys.stdout.write``. Si no es suficiente capturar el resultado, " +"entonces la salida de la pantalla también se puede personalizar al heredar " +"de DocTestRunner, y sobreescribir los métodos :meth:`report_start`, :meth:" +"`report_success`, :meth:`report_unexpected_exception`, y :meth:" +"`report_failure`." #: ../Doc/library/doctest.rst:1431 msgid "" @@ -1598,6 +2318,10 @@ msgid "" "object (or drop-in replacement) that should be used to compare the expected " "outputs to the actual outputs of doctest examples." msgstr "" +"El argumento por palabra clave opcional *checker* especifica el objeto :" +"class:`OutputChecker` (o un reemplazo directo) que se debe usar para " +"comparar las salidas esperadas con las salidas reales de los ejemplos de " +"doctest." #: ../Doc/library/doctest.rst:1435 msgid "" @@ -1607,6 +2331,12 @@ msgid "" "only failures are printed. If *verbose* is unspecified, or ``None``, then " "verbose output is used iff the command-line switch ``-v`` is used." msgstr "" +"El argumento por palabra clave opcional *verbose* controla la verbosidad de :" +"class:`DocTestRunner`. Si *verbose* es ``True``, entonces la información de " +"cada ejemplo se imprime , mientras se ejecuta. Si *verbose* es ``False``, " +"entonces sólo las fallas se imprimen. Si *verbose* no se especifica, o es " +"``None``, entonces la salida verbosa se usa si y sólo se usa el modificador " +"de la línea de comandos``-v``." #: ../Doc/library/doctest.rst:1441 msgid "" @@ -1614,6 +2344,10 @@ msgid "" "test runner compares expected output to actual output, and how it displays " "failures. For more information, see section :ref:`doctest-options`." msgstr "" +"El argumento por palabra clave opcional *optionflags* se puede usar para " +"controlar cómo el *test runner* compara la salida esperada con una salida " +"real, y cómo muestra las fallas. Para más información, véase la sección :ref:" +"`doctest-options`." #: ../Doc/library/doctest.rst:1451 msgid "" @@ -1621,6 +2355,9 @@ msgid "" "method is provided to allow subclasses of :class:`DocTestRunner` to " "customize their output; it should not be called directly." msgstr "" +"Notifica que el *test runner* está a punto de procesar el ejemplo dado. Este " +"método es proporcionado para permitir que clases heredadas de :class:" +"`DocTestRunner` personalicen su salida; no debe ser invocado directamente." #: ../Doc/library/doctest.rst:1455 msgid "" @@ -1628,6 +2365,9 @@ msgid "" "*containing example*. *out* is the output function that was passed to :meth:" "`DocTestRunner.run`." msgstr "" +"*example* es el ejemplo a punto de ser procesado. *test* es la prueba que " +"contiene a *example*. *out* es la función de salida que se pasó a :meth:" +"`DocTestRunner.run`." #: ../Doc/library/doctest.rst:1462 msgid "" @@ -1635,6 +2375,9 @@ msgid "" "allow subclasses of :class:`DocTestRunner` to customize their output; it " "should not be called directly." msgstr "" +"Notifica que el ejemplo dado se ejecutó correctamente. Este método es " +"proporcionado para permitir que las clases heredadas de :class:" +"`DocTestRunner` personalicen su salida; no debe ser invocado directamente." #: ../Doc/library/doctest.rst:1466 ../Doc/library/doctest.rst:1477 msgid "" @@ -1642,6 +2385,9 @@ msgid "" "from the example. *test* is the test containing *example*. *out* is the " "output function that was passed to :meth:`DocTestRunner.run`." msgstr "" +"*example* es el ejemplo a punto de ser procesado. *got* es la salida real " +"del ejemplo. *test* es la prueba conteniendo *example*. *out* es la función " +"de salida que se pasa a :meth:`DocTestRunner.run`." #: ../Doc/library/doctest.rst:1473 msgid "" @@ -1649,6 +2395,9 @@ msgid "" "subclasses of :class:`DocTestRunner` to customize their output; it should " "not be called directly." msgstr "" +"Notifica que el ejemplo dado falló. Este método es proporcionado para " +"permitir que clases heredadas de :class:`DocTestRunner` personalicen su " +"salida; no debe ser invocado directamente." #: ../Doc/library/doctest.rst:1484 msgid "" @@ -1656,6 +2405,9 @@ msgid "" "provided to allow subclasses of :class:`DocTestRunner` to customize their " "output; it should not be called directly." msgstr "" +"Notifica que el ejemplo dado lanzó una excepción inesperada. Este método es " +"proporcionado para permitir que las clases heredadas de :class:" +"`DocTestRunner` personalicen su salida; no debe ser invocado directamente." #: ../Doc/library/doctest.rst:1488 msgid "" @@ -1664,12 +2416,18 @@ msgid "" "`sys.exc_info`). *test* is the test containing *example*. *out* is the " "output function that was passed to :meth:`DocTestRunner.run`." msgstr "" +"*example* es el ejemplo a punto de ser procesado, *exc_info* es una tupla " +"que contiene información sobre la excepción inesperada (como se retorna por :" +"func:`sys.exc_info`). *test* es la prueba conteniendo *example*. *out* es la " +"función de salida que debe ser pasada a :meth:`DocTestRunner.run`." #: ../Doc/library/doctest.rst:1496 msgid "" "Run the examples in *test* (a :class:`DocTest` object), and display the " "results using the writer function *out*." msgstr "" +"Ejecuta los ejemplos en *test* (un objeto :class:`DocTest`), y muestra los " +"resultados usando función de escritura *out*." #: ../Doc/library/doctest.rst:1499 msgid "" @@ -1678,6 +2436,11 @@ msgid "" "to help with garbage collection. If you would like to examine the namespace " "after the test completes, then use *clear_globs=False*." msgstr "" +"Los ejemplo se ejecutan en el espacio de nombres ``test.globs``. Si " +"*clear_globs* es verdadero (el valor por defecto), entonces este espacio de " +"nombres será limpiado después de la prueba se ejecute, para ayudar con la " +"colección de basura. Si quisieras examinar el espacio de nombres después de " +"que la prueba se complete, entonces use *clear_globs=False*." #: ../Doc/library/doctest.rst:1504 msgid "" @@ -1685,6 +2448,10 @@ msgid "" "compiler when running the examples. If not specified, then it will default " "to the set of future-import flags that apply to *globs*." msgstr "" +"*compileflags* da el conjunto de banderas que se deben usar por el " +"compilador de Python cuando se ejecutan los ejemplos. Si no se especifica, " +"entonces su valor por defecto será el conjunto de banderas de *future-" +"import* que aplican a *globs*." #: ../Doc/library/doctest.rst:1508 msgid "" @@ -1692,6 +2459,9 @@ msgid "" "output checker, and the results are formatted by the :meth:`DocTestRunner." "report_\\*` methods." msgstr "" +"La salida de cada ejemplo es revisada usando el *output checker* del :class:" +"`DocTestRunner`, y los resultados se formatean por los métodos de :meth:" +"`DocTestRunner.report_\\*`." #: ../Doc/library/doctest.rst:1515 msgid "" @@ -1699,6 +2469,9 @@ msgid "" "DocTestRunner, and return a :term:`named tuple` ``TestResults(failed, " "attempted)``." msgstr "" +"Imprime un resumen de todos los casos de prueba que han sido ejecutados por " +"este *DocTestRunner*, y retorna un :term:`named tuple` ``TestResults(failed, " +"attempted)``." #: ../Doc/library/doctest.rst:1518 msgid "" @@ -1706,10 +2479,13 @@ msgid "" "the verbosity is not specified, then the :class:`DocTestRunner`'s verbosity " "is used." msgstr "" +"El argumento opcional *verbose* controla qué tan detallado es el resumen. Si " +"no se especifica la verbosidad, entonces se usa la verbosidad de :class:" +"`DocTestRunner`." #: ../Doc/library/doctest.rst:1525 msgid "OutputChecker objects" -msgstr "" +msgstr "Objetos *OutputChecker*" #: ../Doc/library/doctest.rst:1530 msgid "" @@ -1719,10 +2495,15 @@ msgid "" "``True`` if they match; and :meth:`output_difference`, which returns a " "string describing the differences between two outputs." msgstr "" +"Una clase que se usa para verificar si la salida real de un ejemplo de " +"doctest coincide con la salida esperada. :class:`OutputChecker` define dos " +"métodos: :meth:`check_output`, que compara un par de salidas dadas, y " +"retorna ``True`` si coinciden; y :meth:`output_difference`, que retorna una " +"cadena que describe las diferencias entre las dos salidas." #: ../Doc/library/doctest.rst:1537 msgid ":class:`OutputChecker` defines the following methods:" -msgstr "" +msgstr ":class:`OutputChecker` define los siguientes métodos:" #: ../Doc/library/doctest.rst:1541 msgid "" @@ -1732,6 +2513,12 @@ msgid "" "using, several non-exact match types are also possible. See section :ref:" "`doctest-options` for more information about option flags." msgstr "" +"Retorna ``True`` si y sólo si la salida real de un ejemplo (*got*) coincide " +"con la salida esperada (*want*). Siempre se considera que estas cadenas " +"coinciden si son idénticas; pero dependiendo de qué banderas de opción el " +"*test runner* esté usando, varias coincidencias inexactas son posibles. " +"Véase la sección :ref:`doctest-options` para más información sobre las " +"banderas de opción." #: ../Doc/library/doctest.rst:1550 msgid "" @@ -1739,20 +2526,26 @@ msgid "" "given example (*example*) and the actual output (*got*). *optionflags* is " "the set of option flags used to compare *want* and *got*." msgstr "" +"Retorna una cadena que describe las diferencias entre la salida esperada " +"para un ejemplo dado (*example*) y la salida real (*got*). *optionflags* es " +"el conjunto de banderas de opción usado para comparar *want* y *got*." #: ../Doc/library/doctest.rst:1558 msgid "Debugging" -msgstr "" +msgstr "Depuración" #: ../Doc/library/doctest.rst:1560 msgid "Doctest provides several mechanisms for debugging doctest examples:" msgstr "" +"Doctest proporciona varios mecanismos para depurar los ejemplos de doctest:" #: ../Doc/library/doctest.rst:1562 msgid "" "Several functions convert doctests to executable Python programs, which can " "be run under the Python debugger, :mod:`pdb`." msgstr "" +"Varias funciones convierten los doctest en programas de Python ejecutables, " +"que pueden ser ejecutadas bajo el depurador de Python, :mod:`pdb`." #: ../Doc/library/doctest.rst:1565 msgid "" @@ -1761,12 +2554,18 @@ msgid "" "about that example. This information can be used to perform post-mortem " "debugging on the example." msgstr "" +"La clase :class:`DebugRunner` es una subclase de :class:`DocTestRunner` que " +"lanza una excepción por el primer ejemplo fallido, conteniendo información " +"sobre ese ejemplo. Esta información se puede usar para realizar depuración a " +"posteriori en el ejemplo." #: ../Doc/library/doctest.rst:1570 msgid "" "The :mod:`unittest` cases generated by :func:`DocTestSuite` support the :" "meth:`debug` method defined by :class:`unittest.TestCase`." msgstr "" +"Los casos de :mod:`unittest` generados por :func:`DocTestSuite` admiten el " +"método :meth:`debug` definido por :class:`unittest.TestCase`." #: ../Doc/library/doctest.rst:1573 msgid "" @@ -1775,20 +2574,26 @@ msgid "" "inspect current values of variables, and so on. For example, suppose :file:" "`a.py` contains just this module docstring::" msgstr "" +"Puedes añadir una llamada a :func:`pdb.set_trace` en un ejemplo de doctest, " +"y bajarás al depurador de Python cuando esa línea sea ejecutada. Entonces " +"puedes inspeccionar los valores de las variables, y demás. Por ejemplo, " +"supongamos que :file:`a.py` contiene sólo este docstring de módulo::" #: ../Doc/library/doctest.rst:1588 msgid "Then an interactive Python session may look like this::" -msgstr "" +msgstr "Entonces una sesión interactiva puede lucir como esta::" #: ../Doc/library/doctest.rst:1621 msgid "" "Functions that convert doctests to Python code, and possibly run the " "synthesized code under the debugger:" msgstr "" +"Funciones que convierten los doctest a código de Python, y posiblemente " +"ejecuten el código sintetizado debajo del depurador:" #: ../Doc/library/doctest.rst:1627 msgid "Convert text with examples to a script." -msgstr "" +msgstr "Convierte texto con ejemplos a un script." #: ../Doc/library/doctest.rst:1629 msgid "" @@ -1797,10 +2602,15 @@ msgid "" "regular code, and everything else is converted to Python comments. The " "generated script is returned as a string. For example, ::" msgstr "" +"El argumento *s* es una cadena que contiene los ejemplos de doctest. La " +"cadena se convierte a un script de Python, donde los ejemplos de doctest en " +"*s* se convierten en código regular, y todo lo demás se convierte en " +"comentarios de Python. El script generado se retorna como una cadena: Por " +"ejemplo, ::" #: ../Doc/library/doctest.rst:1644 msgid "displays::" -msgstr "" +msgstr "muestra::" #: ../Doc/library/doctest.rst:1654 msgid "" @@ -1808,10 +2618,13 @@ msgid "" "also be useful when you want to transform an interactive Python session into " "a Python script." msgstr "" +"Esta función se usa internamente por otras funciones (véase más abajo), pero " +"también pueden ser útiles cuando quieres transformar una sesión de Python " +"interactiva en un script de Python." #: ../Doc/library/doctest.rst:1661 msgid "Convert the doctest for an object to a script." -msgstr "" +msgstr "Convierte el doctest para un objeto en un script." #: ../Doc/library/doctest.rst:1663 msgid "" @@ -1822,16 +2635,25 @@ msgid "" "as described for :func:`script_from_examples` above. For example, if " "module :file:`a.py` contains a top-level function :func:`f`, then ::" msgstr "" +"El argumento *module* es un objeto módulo, o un nombre por puntos de un " +"módulo, que contiene el objeto cuyos doctest son de interés. El argumento " +"*name* es el nombre (dentro del módulo) del objeto con los doctest de " +"interés. El resultado es una cadena de caracteres, que contiene el docstring " +"del objeto convertido en un script de Python, como se describe por :func:" +"`script_from_examples` arriba. Por ejemplo, si el módulo :file:`a.py` " +"contiene un función de alto nivel :func:`f`, entonces ::" #: ../Doc/library/doctest.rst:1673 msgid "" "prints a script version of function :func:`f`'s docstring, with doctests " "converted to code, and the rest placed in comments." msgstr "" +"imprime una versión de script del docstring de la función :func:`f`, con los " +"doctest convertidos en código, y el resto puesto en comentarios." #: ../Doc/library/doctest.rst:1679 msgid "Debug the doctests for an object." -msgstr "" +msgstr "Depura los doctest para un objeto." #: ../Doc/library/doctest.rst:1681 msgid "" @@ -1840,12 +2662,18 @@ msgid "" "docstring is written to a temporary file, and then that file is run under " "the control of the Python debugger, :mod:`pdb`." msgstr "" +"Los argumentos *module* y *name* son los mismos que para la función :func:" +"`testsource` arriba. El script de Python sintetizado para el docstring del " +"objeto nombrado es escrito en un archivo temporal, y entonces ese archivo es " +"ejecutado bajo el control del depurador de PYthon, :mod:`pdb`." #: ../Doc/library/doctest.rst:1686 msgid "" "A shallow copy of ``module.__dict__`` is used for both local and global " "execution context." msgstr "" +"Se usa una copia superficial de ``module.__dict__`` para el contexto de " +"ejecución local y global." #: ../Doc/library/doctest.rst:1689 msgid "" @@ -1858,22 +2686,35 @@ msgid "" "the debugger from the start, via passing an appropriate :func:`exec` call " "to :func:`pdb.run`." msgstr "" +"El argumento opcional *pm* controla si se usa la depuración post-mortem. Si " +"*pm* tiene un valor verdadero, el archivo de script es ejecutado " +"directamente, y el depurador está involucrado sólo si el script termina a " +"través del lanzamiento de una excepción. Si lo hace, entonces la depuración " +"post-mortem es invocada, a través de :func:`pdb.post_mortem`, pasando el " +"objeto de rastreo desde la excepción sin tratar. Si no se especifica *pm*, o " +"si es falso, el script se ejecuta bajo el depurador desde el inicio, a " +"través de una llamada de :func:`exec` apropiada a :func:`pdb.run`." #: ../Doc/library/doctest.rst:1700 msgid "Debug the doctests in a string." -msgstr "" +msgstr "Depura los doctest en una cadena de caracteres." #: ../Doc/library/doctest.rst:1702 msgid "" "This is like function :func:`debug` above, except that a string containing " "doctest examples is specified directly, via the *src* argument." msgstr "" +"Es como la función function :func:`debug` arriba, excepto que una cadena de " +"caracteres que contiene los ejemplos de doctest se especifica directamente, " +"a través del argumento *src*." #: ../Doc/library/doctest.rst:1705 msgid "" "Optional argument *pm* has the same meaning as in function :func:`debug` " "above." msgstr "" +"El argumento opcional *pm* tiene el mismo significado como en la función :" +"func:`debug` arriba." #: ../Doc/library/doctest.rst:1707 msgid "" @@ -1881,6 +2722,10 @@ msgid "" "execution context. If not specified, or ``None``, an empty dictionary is " "used. If specified, a shallow copy of the dictionary is used." msgstr "" +"El argumento opcional *globs* proporciona un diccionario a usar como " +"contexto de ejecución local y global. Si no se especifica, o es ``None``, se " +"usa un diccionario vacío. Si se especifica, se usa una copia superficial del " +"diccionario." #: ../Doc/library/doctest.rst:1712 msgid "" @@ -1889,6 +2734,10 @@ msgid "" "here. See the source code, and especially :class:`DebugRunner`'s docstring " "(which is a doctest!) for more details:" msgstr "" +"La clase :class:`DebugRunner`, y las excepciones especiales que puede " +"lanzar, son de más interés a los autores de frameworks de pruebas, y sólo " +"serán descritos brevemente aquí. Véase el código fuente, y especialmente el " +"docstring de :class:`DebugRunner` (¡que es un doctest!) para más detalles:" #: ../Doc/library/doctest.rst:1720 msgid "" @@ -1899,6 +2748,12 @@ msgid "" "`DocTestFailure` exception is raised, containing the test, the example, and " "the actual output." msgstr "" +"Una subclase de :class:`DocTestRunner` que lanza una excepción tan pronto " +"como se encuentra una falla. Si ocurre una excepción inesperada, se lanza " +"una excepción :exc:`UnexpectedException`, conteniendo la prueba, el ejemplo, " +"y la excepción original. Si la salida no coincide, entonces se lanza una " +"excepción :exc:`DocTestFailure`, conteniendo la prueba, el ejemplo, y la " +"salida real." #: ../Doc/library/doctest.rst:1727 msgid "" @@ -1906,12 +2761,17 @@ msgid "" "documentation for :class:`DocTestRunner` in section :ref:`doctest-advanced-" "api`." msgstr "" +"Para información sobre los parámetros de construcción y los métodos, véase " +"la documentación para :class:`DocTestRunner` en la sección :ref:`doctest-" +"advanced-api`." #: ../Doc/library/doctest.rst:1730 msgid "" "There are two exceptions that may be raised by :class:`DebugRunner` " "instances:" msgstr "" +"Hay dos excepciones que se pueden lanzar por instancias de :class:" +"`DebugRunner`:" #: ../Doc/library/doctest.rst:1735 msgid "" @@ -1919,22 +2779,28 @@ msgid "" "example's actual output did not match its expected output. The constructor " "arguments are used to initialize the attributes of the same names." msgstr "" +"Una excepción lanzada por :class:`DocTestRunner` para señalar que la salida " +"real del ejemplo de un doctest no coincidió con su salida esperada. Los " +"argumentos del constructor se usan para inicializar los atributos del mismo " +"nombre." #: ../Doc/library/doctest.rst:1739 msgid ":exc:`DocTestFailure` defines the following attributes:" -msgstr "" +msgstr ":exc:`DocTestFailure` define los siguientes atributos:" #: ../Doc/library/doctest.rst:1744 ../Doc/library/doctest.rst:1768 msgid "The :class:`DocTest` object that was being run when the example failed." msgstr "" +"El objeto :class:`DocTest` que estaba siendo ejecutado cuando el ejemplo " +"falló." #: ../Doc/library/doctest.rst:1749 ../Doc/library/doctest.rst:1773 msgid "The :class:`Example` that failed." -msgstr "" +msgstr "El objeto :class:`Example` que falló." #: ../Doc/library/doctest.rst:1754 msgid "The example's actual output." -msgstr "" +msgstr "La salida real del ejemplo." #: ../Doc/library/doctest.rst:1759 msgid "" @@ -1942,38 +2808,45 @@ msgid "" "example raised an unexpected exception. The constructor arguments are used " "to initialize the attributes of the same names." msgstr "" +"Una excepción lanzada por :class:`DocTestRunner` para señalar que un ejemplo " +"de doctest lanzó una excepción inesperada. Los argumentos del constructor se " +"usan para inicializar los atributos del mismo nombre." #: ../Doc/library/doctest.rst:1763 msgid ":exc:`UnexpectedException` defines the following attributes:" -msgstr "" +msgstr ":exc:`UnexpectedException` define los siguientes atributos:" #: ../Doc/library/doctest.rst:1778 msgid "" "A tuple containing information about the unexpected exception, as returned " "by :func:`sys.exc_info`." msgstr "" +"Una tupla que contiene información sobre la excepción inesperada, como es " +"retornado por :func:`sys.exc_info`." #: ../Doc/library/doctest.rst:1785 msgid "Soapbox" -msgstr "" +msgstr "Plataforma improvisada" #: ../Doc/library/doctest.rst:1787 msgid "" "As mentioned in the introduction, :mod:`doctest` has grown to have three " "primary uses:" msgstr "" +"Como se menciona en la introducción, :mod:`doctest` ha crecido para tener " +"tres usos primarios:" #: ../Doc/library/doctest.rst:1790 msgid "Checking examples in docstrings." -msgstr "" +msgstr "Verificar los ejemplos en los docstring." #: ../Doc/library/doctest.rst:1792 msgid "Regression testing." -msgstr "" +msgstr "Pruebas de regresión." #: ../Doc/library/doctest.rst:1794 msgid "Executable documentation / literate testing." -msgstr "" +msgstr "Documentación ejecutable / pruebas literarias." #: ../Doc/library/doctest.rst:1796 msgid "" @@ -1981,6 +2854,9 @@ msgid "" "them. In particular, filling your docstrings with obscure test cases makes " "for bad documentation." msgstr "" +"Estos usos tienen diferentes requerimientos, y es importante distinguirlos. " +"En particular, llenar tus docstring con casos de prueba desconocidos conduce " +"a mala documentación." #: ../Doc/library/doctest.rst:1800 msgid "" @@ -1993,6 +2869,14 @@ msgid "" "at how often one of my :mod:`doctest` examples stops working after a " "\"harmless\" change." msgstr "" +"Cuando se escribe un docstring, escoja ejemplos de docstring con cuidado. " +"Hay un arte para eso que se debe aprender -- puede no ser natural al " +"comienzo. Los ejemplos deben añadir valor genuino a la documentación. Un " +"buen ejemplo a menudo puede valer muchas palabras. Si se hace con cuidado, " +"los ejemplos serán invaluables para tus usuarios, y compensarán el tiempo " +"que toma recolectarlos varias veces mientras los años pasan y las cosas " +"cambian. Todavía estoy sorprendido de qué tan frecuente uno de mis ejemplos " +"de :mod:`doctest` paran de funcionar después de un cambio \"inofensivo\"." #: ../Doc/library/doctest.rst:1808 msgid "" @@ -2014,12 +2898,32 @@ msgid "" "functionality seemingly at random. It's a different attitude, and produces " "different results, blurring the distinction between testing and explaining." msgstr "" +"Doctest también es una excelente herramienta para pruebas de regresión, " +"especialmente si no escatimas en texto explicativo. Al intercalar prosa y " +"ejemplos, se hace mucho más fácil mantener el seguimiento de lo que " +"realmente se está probando, y por qué. Cuando una prueba falla, buena prosa " +"puede hacer mucho más fácil comprender cuál es el problema, y cómo debe ser " +"arreglado. Es verdad que puedes escribir comentarios extensos en pruebas " +"basadas en código, pero pocos programadores lo hacen. Quizás es porque " +"simplemente doctest hace escribir pruebas mucho más fácil que escribir " +"código, mientras que escribir comentarios en código es mucho más difícil. " +"Pienso que va más allá de eso: la actitud natural cuando se escribe una " +"prueba basada en doctest es que quieres explicar los puntos finos de tu " +"software, e ilustrarlos con ejemplos. Esto naturalmente lleva a archivos de " +"pruebas que empiezan con las características más simples, y lógicamente " +"progresan a complicaciones y casos extremos. Una narrativa coherente es el " +"resultado, en vez de una colección de funciones aisladas que pruebas trozos " +"aislados de funcionalidad aparentemente al azar. Es una actitud diferente, y " +"produce resultados diferentes, difuminando la distinción entre probar y " +"explicar." #: ../Doc/library/doctest.rst:1826 msgid "" "Regression testing is best confined to dedicated objects or files. There " "are several options for organizing tests:" msgstr "" +"Pruebas de regresión se limitan mejor a objetos o archivos dedicados. Hay " +"varias opciones para organizar pruebas:" #: ../Doc/library/doctest.rst:1829 msgid "" @@ -2028,6 +2932,10 @@ msgid "" "although is easiest to do for new projects, designed from the start to use " "doctest." msgstr "" +"Escribe archivos de texto que contienen los casos de prueba como ejemplos " +"interactivos, y prueba los archivos usando :func:`testfile` o :func:" +"`DocFileSuite`. Esto es lo recomendado, aunque es más fácil hacerlo para " +"nuevos proyectos, diseñados desde el comienzo para usar doctest." #: ../Doc/library/doctest.rst:1834 msgid "" @@ -2036,12 +2944,18 @@ msgid "" "be included in the same file as the module, or separated out into a separate " "test file." msgstr "" +"Define funciones nombradas ``_regrtest_topic`` que consisten en docstrings " +"únicas, que contienen casos de prueba por los tópicos nombrados. Estas " +"funciones se pueden incluir en el mismo archivo que el módulo, o separadas " +"en un archivo de prueba separado." #: ../Doc/library/doctest.rst:1838 msgid "" "Define a ``__test__`` dictionary mapping from regression test topics to " "docstrings containing test cases." msgstr "" +"Define un diccionario ``__test__`` que asigna desde temas de prueba de " +"integración a los docstring que contienen casos de prueba." #: ../Doc/library/doctest.rst:1841 msgid "" @@ -2050,10 +2964,14 @@ msgid "" "run only the failing doctest while you debug the problem. Here is a minimal " "example of such a test runner::" msgstr "" +"Cuando has puesto tus pruebas en un módulo, el módulo puede ser el mismo " +"*test runner*. Cuando una prueba falla, puedes hacer que tu *test runner* " +"vuelva a ejecutar sólo los doctest fallidos mientras que tu depuras el " +"problema. Aquí hay un ejemplo mínimo de tal *test runner*::" #: ../Doc/library/doctest.rst:1863 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie de página" #: ../Doc/library/doctest.rst:1864 msgid "" @@ -2061,3 +2979,6 @@ msgid "" "Trying to guess where one ends and the other begins is too error-prone, and " "that also makes for a confusing test." msgstr "" +"No se admiten los ejemplos que contienen una salida esperada y una " +"excepción. Intentar adivinar dónde una termina y la otra empieza es muy " +"propenso a errores, y da lugar a una prueba confusa." From 0e27f7e9665ee0bb49f5cfae9ffbce81fd3c6387 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Tue, 11 May 2021 12:51:28 +0200 Subject: [PATCH 02/94] Update .gitmodules --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 12ac19b681..9242931fac 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "cpython"] path = cpython url = https://github.com/python/cpython.git - branch = 3.8 + branch = 3.9 shallow = true [submodule "tutorialpyar"] path = .migration/tutorialpyar From 7aa5a2ab36910ef4184e198afa46a55b4e56d239 Mon Sep 17 00:00:00 2001 From: Marcos Medrano Date: Sun, 23 May 2021 14:48:27 +0200 Subject: [PATCH 03/94] =?UTF-8?q?Traducci=C3=B3n=20de=20library/ssl.po=20(?= =?UTF-8?q?#1223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido 100% del archivo library/ssl * Update TRANSLATORS --- TRANSLATORS | 1 + dictionaries/library_ssl.txt | 24 + library/ssl.po | 1560 ++++++++++++++++++++++++++++++---- 3 files changed, 1423 insertions(+), 162 deletions(-) create mode 100644 dictionaries/library_ssl.txt diff --git a/TRANSLATORS b/TRANSLATORS index d5d3f17012..7ca022f296 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -147,3 +147,4 @@ Martín Ramírez (@tinchoram) Kevin Cajachuán (@Kajachuan) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) +Marcos Medrano (@mmmarcos) diff --git a/dictionaries/library_ssl.txt b/dictionaries/library_ssl.txt new file mode 100644 index 0000000000..bcd3fe71dd --- /dev/null +++ b/dictionaries/library_ssl.txt @@ -0,0 +1,24 @@ +blob +cafile +capath +CertificateRequest +Change +cipher +Client +daemon +daemons +disjunto +Elliptic +handshake +Hello +HelloRequest +keylog +matchings +openssl +Spec +ssl +subjectAltName +ticket +tickets +Trust +wrapper diff --git a/library/ssl.po b/library/ssl.po index 554c05107c..54454434f9 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -6,27 +6,31 @@ # 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" +"Project-Id-Version: Python 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" +"PO-Revision-Date: 2021-05-07 11:25+0200\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: Marcos Medrano \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" +"X-Poedit-Basepath: .\n" +# En el resto del documento, utilizo los términos en inglés "socket" (utilizado comunmente en español) y "wrapper" (que podría traducirse "envoltura" pero me parece mucho mas claro en inglés). #: ../Doc/library/ssl.rst:2 msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" -msgstr "" +msgstr ":mod:`ssl` --- TLS/SSL wrapper para objetos socket" #: ../Doc/library/ssl.rst:10 msgid "**Source code:** :source:`Lib/ssl.py`" -msgstr "" +msgstr "**Código fuente:** :source:'Lib/ssl.py'" #: ../Doc/library/ssl.rst:18 msgid "" @@ -37,7 +41,15 @@ msgid "" "X, and probably additional platforms, as long as OpenSSL is installed on " "that platform." msgstr "" +"Este módulo provee acceso al cifrado de la Seguridad de la capa de " +"transporte (conocida también como \"Secure Sockets Layer\") y a facilidades " +"de autenticación para sockets de red, tanto para el lado del cliente como " +"para el lado del servidor. Este módulo utiliza la biblioteca OpenSSL. Está " +"disponible en todos los sistemas Unix modernos, Windows, Max OS X, y " +"probablemente en plataformas adicionales, siempre y cuando OpenSSL esté " +"instalada en esa plataforma." +# El último "openssl" lo traduzco "OpenSSL" por cohérencia con el resto de la documentación. #: ../Doc/library/ssl.rst:26 msgid "" "Some behavior may be platform dependent, since calls are made to the " @@ -45,6 +57,10 @@ msgid "" "cause variations in behavior. For example, TLSv1.1 and TLSv1.2 come with " "openssl version 1.0.1." msgstr "" +"Algunos comportamientos pueden depender de la plataforma, dado que las " +"llamadas se realizan a las API de socket del sistema operativo. La versión " +"de OpenSSL instalada puede también causar variaciones en el comportamiento. " +"Por ejemplo, TLSv1.1 y TLSv1.2 vienen con la versión 1.0.1 de OpenSSL." #: ../Doc/library/ssl.rst:32 msgid "" @@ -52,6 +68,9 @@ msgid "" "lead to a false sense of security, as the default settings of the ssl module " "are not necessarily appropriate for your application." msgstr "" +"No utilice este módulo sin leer :ref:`ssl-security`. Hacerlo puede dar lugar " +"a una falsa sensación de seguridad ya que los ajustes por defecto del módulo " +"ssl no son necesariamente adecuados para su aplicación." #: ../Doc/library/ssl.rst:37 msgid "" @@ -59,6 +78,9 @@ msgid "" "more general information about TLS, SSL, and certificates, the reader is " "referred to the documents in the \"See Also\" section at the bottom." msgstr "" +"Esta sección documenta los objetos y funciones del módulo ``ssl``; para " +"obtener información mas general sobre TLS, SSL, y certificados, el lector es " +"referido a los documentos de la sección \"Ver también\" en la parte inferior." #: ../Doc/library/ssl.rst:41 msgid "" @@ -69,6 +91,12 @@ msgid "" "certificate of the other side of the connection, and :meth:`cipher`, which " "retrieves the cipher being used for the secure connection." msgstr "" +"Este módulo proporciona una clase, :class:`ssl.SSLSocket`, que deriva del " +"tipo :class:`socket.socket`, y proporciona un wrapper tipo socket que " +"también cifra y descifra los datos que pasan por el socket con SSL. Soporta " +"métodos adicionales como :meth:`getpeercert`, el cual recupera el " +"certificado del otro lado de la conexión, y :meth:`cipher`, que recupera el " +"cifrado que se está utilizando para la conexión segura." #: ../Doc/library/ssl.rst:48 msgid "" @@ -76,25 +104,32 @@ msgid "" "manage settings and certificates, which can then be inherited by SSL sockets " "created through the :meth:`SSLContext.wrap_socket` method." msgstr "" +"Para aplicaciones mas sofisticadas, la clase :class:`ssl.SSLContext` ayuda a " +"gestionar los ajustes y los certificados, los cuales pueden luego ser " +"heredados por sockets SSL creados a través del método :meth:`SSLContext." +"wrap_socket`." #: ../Doc/library/ssl.rst:52 msgid "Updated to support linking with OpenSSL 1.1.0" -msgstr "" +msgstr "Actualizado para soportar enlace con OpenSSL 1.1.0" #: ../Doc/library/ssl.rst:57 msgid "" "OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " "the future the ssl module will require at least OpenSSL 1.0.2 or 1.1.0." msgstr "" +"OpenSSL 0.9.8, 1.0.0 y 1.0.1 son obsoletos y no son compatibles. En el " +"futuro, el módulo ssl requerirá al menos OpenSSL 1.0.2 o 1.1.0." #: ../Doc/library/ssl.rst:63 msgid "Functions, Constants, and Exceptions" -msgstr "" +msgstr "Funciones, constantes y excepciones" #: ../Doc/library/ssl.rst:67 msgid "Socket creation" -msgstr "" +msgstr "Creación de sockets" +# el término en inglés "hostname matching" me parece mucho mas claro que cualquier traducción al español ("coincidencia de nombres de anfitrión" ?) #: ../Doc/library/ssl.rst:69 msgid "" "Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." @@ -104,28 +139,38 @@ msgid "" "`wrap_socket` function is deprecated since it is both inefficient and has no " "support for server name indication (SNI) and hostname matching." msgstr "" +"Desde Python 3.2 y 2.7.9, se recomienda utilizar :meth:`SSLContext." +"wrap_socket` de una instancia de :class:`SSLContext` para envolver sockets " +"como objetos :class:`SSLSocket`. La función utilitaria :func:" +"`create_default_context` retorna un nuevo contexto con ajustes por defecto " +"seguros. La vieja función :func:`wrap_socket` es obsoleta debido a que es " +"ineficiente y que no tiene soporte para la indicación de nombre de servidor " +"(SNI) ni hostname matching." #: ../Doc/library/ssl.rst:77 msgid "Client socket example with default context and IPv4/IPv6 dual stack::" msgstr "" +"Ejemplo de socket cliente con contexto por defecto y doble pila IPv4/IPv6::" #: ../Doc/library/ssl.rst:90 msgid "Client socket example with custom context and IPv4::" -msgstr "" +msgstr "Ejemplo de socket cliente con contexto personalizado y IPv4::" #: ../Doc/library/ssl.rst:102 msgid "Server socket example listening on localhost IPv4::" -msgstr "" +msgstr "Ejemplo de socket servidor escuchando en localhost IPv4::" #: ../Doc/library/ssl.rst:116 msgid "Context creation" -msgstr "" +msgstr "Creación de contexto" #: ../Doc/library/ssl.rst:118 msgid "" "A convenience function helps create :class:`SSLContext` objects for common " "purposes." msgstr "" +"Una función conveniente ayuda a crear objetos :class:`SSLContext` para " +"propósitos comunes." #: ../Doc/library/ssl.rst:123 msgid "" @@ -134,6 +179,10 @@ msgid "" "represent a higher security level than when calling the :class:`SSLContext` " "constructor directly." msgstr "" +"Retorna un nuevo objeto :class:`SSLContext` con ajustes por defecto para el " +"*purpose* dado. Los ajustes son elegidos por el módulo :mod:`ssl` y " +"generalmente representan un nivel de seguridad mas alto que invocando " +"directamente el constructor de :class:`SSLContext`." #: ../Doc/library/ssl.rst:128 msgid "" @@ -142,6 +191,11 @@ msgid "" "If all three are :const:`None`, this function can choose to trust the " "system's default CA certificates instead." msgstr "" +"*cafile*, *capath*, *cadata* representan certificados CA opcionales para " +"confiar en la verificación de certificados, como en :meth:`SSLContext." +"load_verify_locations`. Si los tres son :const:`None` al mismo tiempo, esta " +"función puede optar por confiar en su lugar en los certificados CA por " +"defecto del sistema." #: ../Doc/library/ssl.rst:134 msgid "" @@ -153,6 +207,13 @@ msgid "" "*cadata* is given) or uses :meth:`SSLContext.load_default_certs` to load " "default CA certificates." msgstr "" +"Los ajustes son: :data:`PROTOCOL_TLS`, :data:`OP_NO_SSLv2` y :data:" +"`OP_NO_SSLv3` con suites de cifrado de alto nivel sin RC4 y sin suites de " +"cifrado sin autentificar. Pasar :data:`~Purpose.SERVER_AUTH` como *purpose* " +"establece :data:`~SSLContext.verify_mode` a :data:`CERT_REQUIRED` y carga " +"los certificados CA (si al menos uno de *cafile*, *capath* o *cadata* es " +"dado) o usa :meth:`SSLContext.load_default_certs` para cargar los " +"certificados CA por defecto." #: ../Doc/library/ssl.rst:142 msgid "" @@ -160,6 +221,9 @@ msgid "" "variable :envvar:`SSLKEYLOGFILE` is set, :func:`create_default_context` " "enables key logging." msgstr "" +"Cuando :attr:`~SSLContext.keylog_filename` es soportado y la variable de " +"entorno :envvar:`SSLKEYLOGFILE` está establecida, :func:" +"`create_default_context` activa el registro de claves." #: ../Doc/library/ssl.rst:147 msgid "" @@ -167,13 +231,20 @@ msgid "" "restrictive values anytime without prior deprecation. The values represent " "a fair balance between compatibility and security." msgstr "" +"El protocolo, las opciones, el cifrado y otros ajustes pueden cambiar a " +"valores mas restrictivos en cualquier momento sin previa obsolescencia. Los " +"valores representan un equilibrio justo entre compatibilidad y seguridad." #: ../Doc/library/ssl.rst:151 msgid "" "If your application needs specific settings, you should create a :class:" "`SSLContext` and apply the settings yourself." msgstr "" +"Si su aplicación necesita ajustes específicos, debe crear un :class:" +"`SSLContext` y aplicar los ajustes usted mismo." +# Es necesario traducir los mensajes de error ? +# ("Protocol or cipher suite mismatch") #: ../Doc/library/ssl.rst:155 msgid "" "If you find that when certain older clients or servers attempt to connect " @@ -184,26 +255,38 @@ msgid "" "org/wiki/POODLE>`_. If you still wish to continue to use this function but " "still allow SSL 3.0 connections you can re-enable them using::" msgstr "" +"Si encuentra que cuando ciertos clientes o servidores antiguos intentan " +"conectarse con un :class:`SSLContext` creado con esta función obtienen un " +"error indicando *Protocol or cipher suite mismatch*, puede ser que estos " +"sólo soportan SSL3.0 el cual esta función excluye utilizando :data:" +"`OP_NO_SSLv3`. SSL3.0 está ampliamente considerado como `completamente roto " +"`_. Si todavía desea seguir utilizando " +"esta función pero permitir conexiones SSL 3.0, puede volver a activarlas " +"mediante::" #: ../Doc/library/ssl.rst:171 msgid "RC4 was dropped from the default cipher string." -msgstr "" +msgstr "RC4 ha sido abandonado de la cadena de cifrado por defecto." #: ../Doc/library/ssl.rst:175 msgid "ChaCha20/Poly1305 was added to the default cipher string." msgstr "" +"ChaCha20/Poly1305 ha sido agregado a la cadena de caracteres de cifrado por " +"defecto." #: ../Doc/library/ssl.rst:177 msgid "3DES was dropped from the default cipher string." msgstr "" +"3DES ha sido abandonado de la cadena de caracteres de cifrado por defecto." #: ../Doc/library/ssl.rst:181 msgid "Support for key logging to :envvar:`SSLKEYLOGFILE` was added." msgstr "" +"Soporte del registro de claves en :envvar:`SSLKEYLOGFILE` ha sido agregado." #: ../Doc/library/ssl.rst:185 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" #: ../Doc/library/ssl.rst:189 msgid "" @@ -214,10 +297,16 @@ msgid "" "The error code and message of :exc:`SSLError` instances are provided by the " "OpenSSL library." msgstr "" +"Se lanza para señalar un error de la implementación de SSL subyacente " +"(actualmente proporcionada por la biblioteca OpenSSL). Esto indica algún " +"problema en la capa de cifrado y autenticación de alto nivel que se " +"superpone a la conexión de red subyacente. Este error es un subtipo de :exc:" +"`OSError`. El código de error y el mensaje de las instancias de :exc:" +"`SSLError` son proporcionados por la biblioteca OpenSSL." #: ../Doc/library/ssl.rst:196 msgid ":exc:`SSLError` used to be a subtype of :exc:`socket.error`." -msgstr "" +msgstr ":exc:`SSLError` era un subtipo de :exc:`socket.error`." #: ../Doc/library/ssl.rst:201 msgid "" @@ -225,6 +314,9 @@ msgid "" "occurred, such as ``SSL``, ``PEM`` or ``X509``. The range of possible " "values depends on the OpenSSL version." msgstr "" +"Una cadena de caracteres mnemotécnica que designa el submódulo de OpenSSL en " +"el que se ha producido el error, como ``SSL``, ``PEM`` o ``X509``. El rango " +"de valores posibles depende de la versión de OpenSSL." #: ../Doc/library/ssl.rst:209 msgid "" @@ -232,6 +324,9 @@ msgid "" "``CERTIFICATE_VERIFY_FAILED``. The range of possible values depends on the " "OpenSSL version." msgstr "" +"Una cadena de caracteres mnemotécnica que designa la razón por la que se " +"produjo el error, por ejemplo ``CERTIFICATE_VERIFY_FAILED``. El rango de " +"valores posibles depende de la versión de OpenSSL." #: ../Doc/library/ssl.rst:217 msgid "" @@ -239,6 +334,9 @@ msgid "" "SSL connection has been closed cleanly. Note that this doesn't mean that " "the underlying transport (read TCP) has been closed." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando se intenta leer o escribir y " +"la conexión SSL ha sido cerrada limpiamente. Tenga en cuenta que esto no " +"significa que el transporte subyacente (lectura TCP) haya sido cerrado." #: ../Doc/library/ssl.rst:225 msgid "" @@ -246,6 +344,10 @@ msgid "" "nonblocking>` when trying to read or write data, but more data needs to be " "received on the underlying TCP transport before the request can be fulfilled." msgstr "" +"Una subclase de :exc:`SSLError` lanzada por un :ref:`socket SSL no " +"bloqueante ` cuando se intenta leer o escribir datos, pero " +"mas datos necesitan ser recibidos en el transporte TCP subyacente antes de " +"que la solicitud pueda ser completada." #: ../Doc/library/ssl.rst:234 msgid "" @@ -253,6 +355,10 @@ msgid "" "nonblocking>` when trying to read or write data, but more data needs to be " "sent on the underlying TCP transport before the request can be fulfilled." msgstr "" +"Una subclase de :exc:`SSLError` lanzada por un :ref:`socket SSL no " +"bloqueante ` cuando se intenta leer o escribir datos, pero " +"mas datos necesitan ser enviados en el transporte TCP subyacente antes de " +"que la solicitud pueda ser completada." #: ../Doc/library/ssl.rst:243 msgid "" @@ -260,6 +366,9 @@ msgid "" "while trying to fulfill an operation on a SSL socket. Unfortunately, there " "is no easy way to inspect the original errno number." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando se encuentra un error del " +"sistema mientras se intenta completar una operación en un socket SSL. Por " +"desgracia, no hay una manera fácil de inspeccionar el número errno original." #: ../Doc/library/ssl.rst:251 msgid "" @@ -267,31 +376,36 @@ msgid "" "terminated abruptly. Generally, you shouldn't try to reuse the underlying " "transport when this error is encountered." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando la conexión SSL ha sido " +"cancelada abruptamente. Generalmente, no debería intentar reutilizar el " +"transporte subyacente cuando este error se produce." #: ../Doc/library/ssl.rst:259 msgid "" "A subclass of :exc:`SSLError` raised when certificate validation has failed." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando la validación del certificado " +"ha fallado." #: ../Doc/library/ssl.rst:266 msgid "A numeric error number that denotes the verification error." -msgstr "" +msgstr "Un número de error numérico que indica el error de verificación." #: ../Doc/library/ssl.rst:270 msgid "A human readable string of the verification error." -msgstr "" +msgstr "Una cadena de caracteres legible del error de verificación." #: ../Doc/library/ssl.rst:274 msgid "An alias for :exc:`SSLCertVerificationError`." -msgstr "" +msgstr "Un alias para :exc:`SSLCertVerificationError`." #: ../Doc/library/ssl.rst:276 msgid "The exception is now an alias for :exc:`SSLCertVerificationError`." -msgstr "" +msgstr "La excepción es ahora un alias para :exc:`SSLCertVerificationError`." #: ../Doc/library/ssl.rst:281 msgid "Random generation" -msgstr "" +msgstr "Generación aleatoria" #: ../Doc/library/ssl.rst:285 msgid "" @@ -301,10 +415,15 @@ msgid "" "can be used to check the status of the PRNG and :func:`RAND_add` can be used " "to seed the PRNG." msgstr "" +"Retorna *num* bytes pseudoaleatorios criptográficamente fuertes. Lanza un :" +"class:`SSLError` si el PRNG no a sido sembrado con suficiente datos o si la " +"operación no es soportada por el método RAND actual. :func:`RAND_status` " +"puede ser usada para verificar el estado de PRNG y :func:`RAND_add` puede " +"ser usada para sembrar el PRNG." #: ../Doc/library/ssl.rst:291 ../Doc/library/ssl.rst:312 msgid "For almost all applications :func:`os.urandom` is preferable." -msgstr "" +msgstr "Para casi todas las aplicaciones :func:`os.urandom` es preferible." #: ../Doc/library/ssl.rst:293 msgid "" @@ -313,6 +432,11 @@ msgid "" "Cryptographically_secure_pseudorandom_number_generator>`_, to get the " "requirements of a cryptographically strong generator." msgstr "" +"Léase el artículo Wikipedia, `Generador de números pseudoaleatorios " +"criptográficamente seguro (CSPRNG) `_, para obtener los requisitos para un generador " +"criptográficamente seguro." #: ../Doc/library/ssl.rst:302 msgid "" @@ -321,6 +445,10 @@ msgid "" "strong. Raises an :class:`SSLError` if the operation is not supported by the " "current RAND method." msgstr "" +"Retorna (bytes, is_cryptographic): bytes es *num* bytes pseudoaleatorios, " +"is_cryptographic es ``True`` si los bytes generados son criptográficamente " +"fuertes. Lanza un :class:`SSLError` si la operación no es soportada por el " +"método RAND actual." #: ../Doc/library/ssl.rst:307 msgid "" @@ -329,12 +457,18 @@ msgid "" "for non-cryptographic purposes and for certain purposes in cryptographic " "protocols, but usually not for key generation etc." msgstr "" +"Las secuencias de bytes pseudoaleatorios generadas serán únicas si tienen " +"una longitud suficiente, pero no son necesariamente impredecibles. Pueden " +"utilizarse para fines no criptográficos y para ciertos fines en protocolos " +"criptográficos, pero normalmente no para la generación de claves, etc." #: ../Doc/library/ssl.rst:318 msgid "" "OpenSSL has deprecated :func:`ssl.RAND_pseudo_bytes`, use :func:`ssl." "RAND_bytes` instead." msgstr "" +"OpenSSL a dejado obsoleta :func:`ssl.RAND_pseudo_bytes`, utilice :func:`ssl." +"RAND_bytes` en su lugar." #: ../Doc/library/ssl.rst:323 msgid "" @@ -343,6 +477,10 @@ msgid "" "RAND_egd` and :func:`ssl.RAND_add` to increase the randomness of the pseudo-" "random number generator." msgstr "" +"Retorna ``True`` si el generador de números pseudoaleatorios SSL a sido " +"sembrado con 'suficiente' aleatoriedad, y ``False`` de lo contrario. Puede " +"utilizarse :func:`ssl.RAND_egd` y :func:`ssl.RAND_add` para aumentar la " +"aleatoriedad del generador de números pseudoaleatorios." #: ../Doc/library/ssl.rst:330 msgid "" @@ -352,18 +490,28 @@ msgid "" "generator to increase the security of generated secret keys. This is " "typically only necessary on systems without better sources of randomness." msgstr "" +"Si está ejecutando un daemon de recolección de entropía (EGD) en algún " +"lugar, y *path* es la ruta de una conexión de socket abierta a él, esto " +"leerá 256 bytes de aleatoriedad del socket, y lo añadirá al generador de " +"números pseudoaleatorios de SSL para aumentar la seguridad de las claves " +"secretas generadas. Esto suele ser necesario sólo en sistemas sin mejores " +"fuentes de aleatoriedad." #: ../Doc/library/ssl.rst:336 msgid "" "See http://egd.sourceforge.net/ or http://prngd.sourceforge.net/ for sources " "of entropy-gathering daemons." msgstr "" +"Véase http://egd.sourceforge.net/ o http://prngd.sourceforge.net/ para " +"fuentes de daemons de recolección de entropía (EGD)." #: ../Doc/library/ssl.rst:339 msgid "" ":ref:`Availability `: not available with LibreSSL and OpenSSL " "> 1.1.0." msgstr "" +":ref:`Disponibilidad `: no disponible con LibreSSL y OpenSSL > " +"1.1.0." #: ../Doc/library/ssl.rst:343 msgid "" @@ -372,14 +520,19 @@ msgid "" "string (so you can always use :const:`0.0`). See :rfc:`1750` for more " "information on sources of entropy." msgstr "" +"Mezcla los *bytes* dados en el generador de números pseudoaleatorios de SSL. " +"El parámetro *entropy* (un flotante) es un límite inferior de la entropía " +"contenida en la cadena de caracteres (por lo que siempre se puede utilizar :" +"const:`0.0`). Véase :rfc:`1750` para mas información sobre las fuentes de " +"entropía." #: ../Doc/library/ssl.rst:348 msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Ahora se acepta :term:`bytes-like object` modificable." #: ../Doc/library/ssl.rst:352 msgid "Certificate handling" -msgstr "" +msgstr "Gestión de certificados" #: ../Doc/library/ssl.rst:360 msgid "" @@ -390,12 +543,20 @@ msgid "" "suitable for checking the identity of servers in various SSL-based protocols " "such as FTPS, IMAPS, POPS and others." msgstr "" +"Verifica que *cert* (en formato decodificado tal y como es retornado por :" +"meth:`SSLSocket.getpeercert`) coincide con el *hostname* dado. Las reglas " +"aplicadas son las de comprobación de la identidad de los servidores HTTPS, " +"como se indica en :rfc:`2818`, :rfc:`5280` y :rfc:`6125`. Además de HTTPS, " +"esta función debería ser adecuada para comprobar la identidad de servidores " +"en varios protocolos basados en SSL como FTPS, IMAPS, POPS y otros." #: ../Doc/library/ssl.rst:367 msgid "" ":exc:`CertificateError` is raised on failure. On success, the function " "returns nothing::" msgstr "" +":exc:`CertificateError` es lanzado en caso de error. En caso de éxito, la " +"función no retorna nada::" #: ../Doc/library/ssl.rst:380 msgid "" @@ -405,24 +566,37 @@ msgid "" "as ``www*.xn--pthon-kva.org`` are still supported, but ``x*.python.org`` no " "longer matches ``xn--tda.python.org``." msgstr "" +"La función ahora sigue :rfc:`6125` sección 6.4.3 y no soporta múltiples " +"caracteres comodín (por ejemplo ``*.*.com`` o ``*a*.example.org``) ni " +"tampoco un carácter comodín dentro de un fragmento de un nombre de dominio " +"internacionalizado (IDN). Etiquetas A de IDN tales como ``www*.xn--pthon-kva." +"org`` son todavía soportadas, pero ``x*.python.org`` ya no corresponde con " +"``xn--tda.python.org``." #: ../Doc/library/ssl.rst:387 msgid "" "Matching of IP addresses, when present in the subjectAltName field of the " "certificate, is now supported." msgstr "" +"Ahora se admite la coincidencia de direcciones IP cuando están presentes en " +"el campo subjectAltName del certificado." #: ../Doc/library/ssl.rst:391 msgid "" "The function is no longer used to TLS connections. Hostname matching is now " "performed by OpenSSL." msgstr "" +"La función ya no se utiliza para las conexiones TLS. La coincidencia de " +"hostname es ahora realizada por OpenSSL." #: ../Doc/library/ssl.rst:395 msgid "" "Allow wildcard when it is the leftmost and the only character in that " "segment. Partial wildcards like ``www*.example.com`` are no longer supported." msgstr "" +"Se permite el carácter comodín cuando es el carácter más a la izquierda y el " +"único en ese segmento. Ya no se admiten comodines parciales como ``www*." +"example.com`` ." #: ../Doc/library/ssl.rst:403 #, python-format @@ -431,14 +605,17 @@ msgid "" "representing the \"notBefore\" or \"notAfter\" date from a certificate in ``" "\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." msgstr "" +"Retorna el tiempo en segundos desde la Época, dada la cadena de caracteres " +"``cert_time`` que representa la fecha *notBefore* o *notAfter* de un " +"certificado en formato strptime ``\"%b %d %H:%M:%S %Y %Z\"`` (C locale)." #: ../Doc/library/ssl.rst:408 msgid "Here's an example:" -msgstr "" +msgstr "He aquí un ejemplo:" #: ../Doc/library/ssl.rst:420 msgid "\"notBefore\" or \"notAfter\" dates must use GMT (:rfc:`5280`)." -msgstr "" +msgstr "Las fechas *notBefore* o *notAfter* deben utilizar GMT (:rfc:`5280`)." #: ../Doc/library/ssl.rst:422 msgid "" @@ -446,6 +623,10 @@ msgid "" "the input string. Local timezone was used previously. Return an integer (no " "fractions of a second in the input format)" msgstr "" +"Interpreta la hora de entrada como una hora en UTC según lo especificado por " +"la zona horaria 'GMT' en la cadena de caracteres de entrada. Anteriormente " +"se utilizaba la zona horaria local. Devuelve un número entero (sin " +"fracciones de segundo en el formato de entrada)" #: ../Doc/library/ssl.rst:430 msgid "" @@ -459,28 +640,43 @@ msgid "" "against that set of root certificates, and will fail if the validation " "attempt fails." msgstr "" +"Dada la dirección ``addr`` de un servidor protegido con SSL, como un par " +"(*hostname*, *port-number*), obtiene el certificado del servidor, y lo " +"retorna como una cadena de caracteres codificada en PEM. Si se especifica " +"``ssl_version``, utiliza esta versión del protocolo SSL para intentar " +"conectarse al servidor. Si se especifica ``ca_certs``, debe ser un archivo " +"que contenga una lista de certificados raíz, con el mismo formato que se " +"utiliza para el mismo parámetro en :meth:`SSLContext.wrap_socket`. La " +"llamada intentará validar el certificado del servidor contra ese conjunto de " +"certificados raíz, y fallará si el intento de validación falla." #: ../Doc/library/ssl.rst:440 msgid "This function is now IPv6-compatible." -msgstr "" +msgstr "Esta función es ahora compatible IPv6." #: ../Doc/library/ssl.rst:443 msgid "" "The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` to :data:" "`PROTOCOL_TLS` for maximum compatibility with modern servers." msgstr "" +"La *ssl_version* por defecto se cambia de :data:`PROTOCOL_SSLv3` a :data:" +"`PROTOCOL_TLS` para una máxima compatibilidad con los servidores modernos." #: ../Doc/library/ssl.rst:449 msgid "" "Given a certificate as a DER-encoded blob of bytes, returns a PEM-encoded " "string version of the same certificate." msgstr "" +"Dado un certificado como blob de bytes codificado en DER, devuelve una " +"versión de cadena de caracteres codificada en PEM del mismo certificado." #: ../Doc/library/ssl.rst:454 msgid "" "Given a certificate as an ASCII PEM string, returns a DER-encoded sequence " "of bytes for that same certificate." msgstr "" +"Dado un certificado como cadena de caracteres ASCII PEM, devuelve una " +"secuencia de bytes codificada con DER para ese mismo certificado." #: ../Doc/library/ssl.rst:459 msgid "" @@ -488,44 +684,61 @@ msgid "" "paths are the same as used by :meth:`SSLContext.set_default_verify_paths`. " "The return value is a :term:`named tuple` ``DefaultVerifyPaths``:" msgstr "" +"Retorna una tupla con nombre con las rutas por defecto de cafile y capath de " +"OpenSSL. Las rutas son las mismas que las usadas por :meth:`SSLContext." +"set_default_verify_paths`. El valor de retorno es una :term:`named tuple` " +"``DefaultVerifyPaths``:" #: ../Doc/library/ssl.rst:464 msgid "" ":attr:`cafile` - resolved path to cafile or ``None`` if the file doesn't " "exist," msgstr "" +":attr:`cafile` - ruta resuelta a cafile o ``None`` si el archivo no existe," #: ../Doc/library/ssl.rst:465 msgid "" ":attr:`capath` - resolved path to capath or ``None`` if the directory " "doesn't exist," msgstr "" +":attr:`capath` - ruta resuelta a capath o ``None`` si el directorio no " +"existe," #: ../Doc/library/ssl.rst:466 msgid "" ":attr:`openssl_cafile_env` - OpenSSL's environment key that points to a " "cafile," msgstr "" +":attr:`openssl_cafile_env` - clave de entorno de OpenSSL que apunta a un " +"cafile," +# Como traducir "hard coded path" ? +# "ruta hardcodeada" ? +# "ruta preseteada" ? +# "ruta predefinida" ? #: ../Doc/library/ssl.rst:467 msgid ":attr:`openssl_cafile` - hard coded path to a cafile," -msgstr "" +msgstr ":attr:`openssl_cafile` - hard-coded ruta a un cafile," #: ../Doc/library/ssl.rst:468 msgid "" ":attr:`openssl_capath_env` - OpenSSL's environment key that points to a " "capath," msgstr "" +":attr:`openssl_capath_env` - clave de entorno de OpenSSL que apunta a un " +"capath," #: ../Doc/library/ssl.rst:469 msgid ":attr:`openssl_capath` - hard coded path to a capath directory" -msgstr "" +msgstr ":attr:`openssl_capath` - hard-coded ruta a un directorio capath" #: ../Doc/library/ssl.rst:473 msgid "" ":ref:`Availability `: LibreSSL ignores the environment vars :" "attr:`openssl_cafile_env` and :attr:`openssl_capath_env`." msgstr "" +":ref:`Disponibilidad `: LibreSSL ignora las variables de " +"entorno :attr:`openssl_cafile_env` y :attr:`openssl_capath_env`." #: ../Doc/library/ssl.rst:478 msgid "" @@ -533,6 +746,10 @@ msgid "" "one of ``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert " "stores, too." msgstr "" +"Recupera los certificados del almacén de certificados del sistema de " +"Windows. *store_name* puede ser uno de los siguientes: ``CA``, ``ROOT`` o " +"``MY``. Windows también puede proporcionar almacenes de certificados " +"adicionales." #: ../Doc/library/ssl.rst:482 msgid "" @@ -542,21 +759,30 @@ msgid "" "data. Trust specifies the purpose of the certificate as a set of OIDS or " "exactly ``True`` if the certificate is trustworthy for all purposes." msgstr "" +"La función devuelve una lista de tuplas (cert_bytes, encoding_type, trust). " +"El encoding_type especifica la codificación de cert_bytes. Es :const:" +"`x509_asn` para datos X.509 ASN.1 o :const:`pkcs_7_asn` para datos PKCS#7 " +"ASN.1. Trust especifica el propósito del certificado como un conjunto de " +"OIDS o exactamente ``True`` si el certificado es de confianza para todos los " +"propósitos." #: ../Doc/library/ssl.rst:489 ../Doc/library/ssl.rst:1577 #: ../Doc/library/ssl.rst:1892 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/library/ssl.rst:496 ../Doc/library/ssl.rst:511 msgid ":ref:`Availability `: Windows." -msgstr "" +msgstr ":ref:`Disponibilidad `: Windows." #: ../Doc/library/ssl.rst:501 msgid "" "Retrieve CRLs from Windows' system cert store. *store_name* may be one of " "``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert stores, too." msgstr "" +"Obtiene CRLs del almacén de certificados del sistema de Windows. " +"*store_name* puede ser uno de los siguientes: ``CA``, ``ROOT`` o ``MY``. " +"Windows también puede proporcionar almacenes de certificados adicionales." #: ../Doc/library/ssl.rst:505 msgid "" @@ -564,6 +790,10 @@ msgid "" "The encoding_type specifies the encoding of cert_bytes. It is either :const:" "`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 data." msgstr "" +"La función devuelve una lista de tuplas (cert_bytes, encoding_type, trust). " +"El encoding_type especifica la codificación de cert_bytes. Es :const:" +"`x509_asn` para datos X.509 ASN.1 o :const:`pkcs_7_asn` para datos PKCS#7 " +"ASN.1." #: ../Doc/library/ssl.rst:519 msgid "" @@ -572,6 +802,10 @@ msgid "" "which wraps the underlying socket in an SSL context. ``sock`` must be a :" "data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" +"Toma una instancia ``sock`` de :class:`socket.socket`, y devuelve una " +"instancia de :class:`ssl.SSLSocket`, un subtipo de :class:`socket.socket`, " +"que envuelve el socket de base en un contexto SSL. ``sock`` debe ser un " +"socket :data:`~socket.SOCK_STREAM`; otros tipos de socket no son compatibles." #: ../Doc/library/ssl.rst:524 msgid "" @@ -581,6 +815,11 @@ msgid "" "values are passed to :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext." "load_verify_locations`, and :meth:`SSLContext.set_ciphers`." msgstr "" +"Internamente, la función crea un :class:`SSLContext` con un protocolo " +"*ssl_version* y :attr:`SSLContext.options` establecido a *cert_reqs*. Si los " +"parámetros *keyfile*, *certfile*, *ca_certs* o *ciphers* son establecidos, " +"entonces los valores son pasados a :meth:`SSLContext.load_cert_chain`, :meth:" +"`SSLContext.load_verify_locations`, y :meth:`SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:531 msgid "" @@ -588,6 +827,9 @@ msgid "" "*suppress_ragged_eofs* have the same meaning as :meth:`SSLContext." "wrap_socket`." msgstr "" +"Los argumentos *server_side*, *do_handshake_on_connect*, y " +"*supress_ragged_eofs* tienen el mismo significado que :meth:`SSLContext." +"wrap_socket`." #: ../Doc/library/ssl.rst:537 msgid "" @@ -596,16 +838,22 @@ msgid "" "limited and creates an insecure client socket without server name indication " "or hostname matching." msgstr "" +"Desde Python 3.2 y 2.7.9, se recomienda usar :meth:`SSLContext.wrap_socket` " +"en lugar de :func:`wrap_socket`. La función de alto nivel tiene limitaciones " +"y crea un socket cliente no seguro sin indicación de nombre de servidor ni " +"hostname matching." #: ../Doc/library/ssl.rst:543 msgid "Constants" -msgstr "" +msgstr "Constantes" #: ../Doc/library/ssl.rst:545 msgid "" "All constants are now :class:`enum.IntEnum` or :class:`enum.IntFlag` " "collections." msgstr "" +"Todas las constantes son ahora colecciones :class:`enum.IntEnum` o :class:" +"`enum.IntFlag`." #: ../Doc/library/ssl.rst:551 msgid "" @@ -615,16 +863,25 @@ msgid "" "accepted. Validation errors, such as untrusted or expired cert, are ignored " "and do not abort the TLS/SSL handshake." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. A excepción de :const:" +"`PROTOCOL_TLS_CLIENT`, es el modo por defecto. Con sockets del lado del " +"cliente, se acepta casi cualquier certificado. Errores de validación, como " +"certificado no confiable o caducado, son ignorados y no abortan el handshake " +"TLS/SSL." #: ../Doc/library/ssl.rst:557 msgid "" "In server mode, no certificate is requested from the client, so the client " "does not send any for client cert authentication." msgstr "" +"En modo servidor, no se solicita ningún certificado al cliente, por lo que " +"el cliente no envía ninguno para la autenticación del certificado del " +"cliente." #: ../Doc/library/ssl.rst:560 ../Doc/library/ssl.rst:2317 msgid "See the discussion of :ref:`ssl-security` below." -msgstr "" +msgstr "Vea la discusión sobre :ref:`ssl-security` más abajo." #: ../Doc/library/ssl.rst:564 msgid "" @@ -633,6 +890,11 @@ msgid "" "has the same meaning as :const:`CERT_REQUIRED`. It is recommended to use :" "const:`CERT_REQUIRED` for client-side sockets instead." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. En modo cliente, :const:" +"`CERT_OPTIONAL` tiene el mismo significado que :const:`CERT_REQUIRED`. Se " +"recomienda usar en su lugar :const:`CERT_REQUIRED` para sockets del lado del " +"cliente." #: ../Doc/library/ssl.rst:569 msgid "" @@ -642,6 +904,11 @@ msgid "" "certificate, it is verified. Any verification error immediately aborts the " "TLS handshake." msgstr "" +"En el modo servidor, se envía una solicitud de certificado de cliente al " +"cliente. El cliente puede ignorar la solicitud o enviar un certificado para " +"realizar la autenticación de certificado de cliente TLS. Si el cliente opta " +"por enviar un certificado, éste se verifica. Cualquier error de verificación " +"aborta inmediatamente el handshake TLS." #: ../Doc/library/ssl.rst:575 ../Doc/library/ssl.rst:595 msgid "" @@ -649,6 +916,9 @@ msgid "" "either to :meth:`SSLContext.load_verify_locations` or as a value of the " "``ca_certs`` parameter to :func:`wrap_socket`." msgstr "" +"El uso de esta configuración requiere que se pase un conjunto válido de " +"certificados de CA, ya sea a :meth:`SSLContext.load_verify_locations` o como " +"valor del parámetro ``ca_certs`` de :func:`wrap_socket`." #: ../Doc/library/ssl.rst:581 msgid "" @@ -662,6 +932,15 @@ msgid "" "const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` by " "default." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. En este modo, se requieren " +"certificados del otro lado de la conexión del socket; se lanzará un :class:" +"`SSLError` si no se proporciona ningún certificado, o si su validación " +"falla. Este modo **no** es suficiente para verificar un certificado en modo " +"cliente, ya que no coincide con los hostnames. :attr:`~SSLContext." +"check_hostname` debe estar activado también para verificar la autenticidad " +"de un certificado. :const:`PROTOCOL_TLS_CLIENT` utiliza :const:" +"`CERT_REQUIRED` y activa :attr:`~SSLContext.check_hostname` por defecto." #: ../Doc/library/ssl.rst:591 msgid "" @@ -669,10 +948,14 @@ msgid "" "authentication. A client certificate request is sent to the client and the " "client must provide a valid and trusted certificate." msgstr "" +"Con socket servidor, este modo proporciona una autenticación obligatoria de " +"certificado de cliente TLS. Se envía una solicitud de certificado de cliente " +"al cliente y el cliente debe proporcionar un certificado válido y de " +"confianza." #: ../Doc/library/ssl.rst:601 msgid ":class:`enum.IntEnum` collection of CERT_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes CERT_*." #: ../Doc/library/ssl.rst:607 msgid "" @@ -680,6 +963,9 @@ msgid "" "certificate revocation lists (CRLs) are not checked. By default OpenSSL does " "neither require nor verify CRLs." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, las listas " +"de revocación de certificado (CRLs) no son vérificadas. Por defecto OpenSSL " +"no requiere ni verifica CRLs." #: ../Doc/library/ssl.rst:615 msgid "" @@ -689,18 +975,29 @@ msgid "" "ancestor CA). If no proper CRL has been loaded with :attr:`SSLContext." "load_verify_locations`, validation will fail." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, sólo el " +"certificado de pares es verificado pero ninguno de los certificados CA " +"intermedios. El modo requiere una CRL válida que esté firmada por el emisor " +"del certificado de pares (su CA antecesora directa). Si no se ha cargado una " +"CRL adecuada con :attr:`SSLContext.load_verify_locations`, la validación " +"fallará." #: ../Doc/library/ssl.rst:625 msgid "" "Possible value for :attr:`SSLContext.verify_flags`. In this mode, CRLs of " "all certificates in the peer cert chain are checked." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, las CRLs " +"de todos los certificados en la cadena de certificado de pares son " +"verificadas." #: ../Doc/library/ssl.rst:632 msgid "" "Possible value for :attr:`SSLContext.verify_flags` to disable workarounds " "for broken X.509 certificates." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags` para desactivar " +"soluciones alternativas para certificados X.509 rotos." #: ../Doc/library/ssl.rst:639 msgid "" @@ -708,10 +1005,13 @@ msgid "" "prefer trusted certificates when building the trust chain to validate a " "certificate. This flag is enabled by default." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. Indica a OpenSSL de " +"preferir certificados de confianza al construir la cadena de confianza para " +"validar un certificado. Esta opción está activada por defecto." #: ../Doc/library/ssl.rst:647 msgid ":class:`enum.IntFlag` collection of VERIFY_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntFlag` de constantes VERIFY_*." #: ../Doc/library/ssl.rst:653 msgid "" @@ -719,6 +1019,9 @@ msgid "" "support. Despite the name, this option can select both \"SSL\" and \"TLS\" " "protocols." msgstr "" +"Selecciona la versión mas alta del protocolo soportada tanto por el cliente " +"como por el servidor. A pesar de su nombre, esta opción puede seleccionar " +"ambos protocolos \"SSL\" y \"TLS\"." #: ../Doc/library/ssl.rst:660 msgid "" @@ -727,52 +1030,63 @@ msgid "" "enables :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` by " "default." msgstr "" +"Negocia automáticamente la versión más alta del protocolo como :data:" +"`PROTOCOL_TLS`, pero sólo soporta conexiones :class:`SSLSocket` del lado del " +"cliente. El protocolo activa :data:`CERT_REQUIRED` y :attr:`~SSLContext." +"check_hostname` por defecto." #: ../Doc/library/ssl.rst:669 msgid "" "Auto-negotiate the highest protocol version like :data:`PROTOCOL_TLS`, but " "only support server-side :class:`SSLSocket` connections." msgstr "" +"Negocia automáticamente la versión más alta del protocolo como :data:" +"`PROTOCOL_TLS`, pero sólo soporta conexiones :class:`SSLSocket` del lado del " +"servidor." #: ../Doc/library/ssl.rst:676 msgid "Alias for :data:`PROTOCOL_TLS`." -msgstr "" +msgstr "Alias para :data:`PROTOCOL_TLS`." #: ../Doc/library/ssl.rst:680 msgid "Use :data:`PROTOCOL_TLS` instead." -msgstr "" +msgstr "Utilice en su lugar :data:`PROTOCOL_TLS`." #: ../Doc/library/ssl.rst:684 msgid "Selects SSL version 2 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 2 de SSL como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:686 msgid "" "This protocol is not available if OpenSSL is compiled with the " "``OPENSSL_NO_SSL2`` flag." msgstr "" +"Este protocolo no está disponible si OpenSSL fue compilada con la opción " +"``OPENSSL_NO_SSL2``." #: ../Doc/library/ssl.rst:691 msgid "SSL version 2 is insecure. Its use is highly discouraged." -msgstr "" +msgstr "La versión 2 de SSL es insegura. Su uso es muy desaconsejado." #: ../Doc/library/ssl.rst:695 msgid "OpenSSL has removed support for SSLv2." -msgstr "" +msgstr "OpenSSL a eliminado el soporte para SSLv2." #: ../Doc/library/ssl.rst:699 msgid "Selects SSL version 3 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 3 de SSL como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:701 msgid "" "This protocol is not be available if OpenSSL is compiled with the " "``OPENSSL_NO_SSLv3`` flag." msgstr "" +"Este protocolo no está disponible si OpenSSL fue compilada con la opción " +"``OPENSSL_NO_SSLv3``." #: ../Doc/library/ssl.rst:706 msgid "SSL version 3 is insecure. Its use is highly discouraged." -msgstr "" +msgstr "La versión 3 de SSL es insegura. Su uso es muy desaconsejado." #: ../Doc/library/ssl.rst:710 ../Doc/library/ssl.rst:719 #: ../Doc/library/ssl.rst:731 ../Doc/library/ssl.rst:744 @@ -780,16 +1094,21 @@ msgid "" "OpenSSL has deprecated all version specific protocols. Use the default " "protocol :data:`PROTOCOL_TLS` with flags like :data:`OP_NO_SSLv3` instead." msgstr "" +"OpenSSL a dejado obsoletas todos los protocolos de versiones específicas. " +"Utilice en su lugar el protocolo por defecto :data:`PROTOCOL_TLS` con " +"opciones como :data:`OP_NO_SSLv3`." #: ../Doc/library/ssl.rst:715 msgid "Selects TLS version 1.0 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 1.0 de TLS como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:724 msgid "" "Selects TLS version 1.1 as the channel encryption protocol. Available only " "with openssl version 1.0.1+." msgstr "" +"Selecciona la versión 1.1 de TLS como protocolo de cifrado del canal. " +"Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:736 msgid "" @@ -797,6 +1116,10 @@ msgid "" "modern version, and probably the best choice for maximum protection, if both " "sides can speak it. Available only with openssl version 1.0.1+." msgstr "" +"Selecciona la versión 1.2 de TLS como protocolo de cifrado del canal. Esta " +"es la versión mas moderna, y probablemente la mejor alternativa para máxima " +"protección, si ambos lados pueden utilizarla. Disponible sólo con openssl en " +"versión 1.0.1+." #: ../Doc/library/ssl.rst:749 msgid "" @@ -804,6 +1127,10 @@ msgid "" "This option is set by default. It does not necessarily set the same flags " "as OpenSSL's ``SSL_OP_ALL`` constant." msgstr "" +"Activa soluciones alternativas para varios errores presentes en otras " +"implementaciones SSL. Esta opción esta activada por defecto. No " +"necesariamente activa las mismas opciones como la constante ``SSL_OP_ALL`` " +"de OpenSSL." #: ../Doc/library/ssl.rst:757 msgid "" @@ -811,10 +1138,12 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv2 as " "the protocol version." msgstr "" +"Evita una conexión SSLv2. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan SSLv2 como versión del protocolo." #: ../Doc/library/ssl.rst:765 msgid "SSLv2 is deprecated" -msgstr "" +msgstr "SSLv2 es obsoleto" #: ../Doc/library/ssl.rst:770 msgid "" @@ -822,10 +1151,12 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv3 as " "the protocol version." msgstr "" +"Evita una conexión SSLv3. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan SSLv3 como versión del protocolo." #: ../Doc/library/ssl.rst:778 msgid "SSLv3 is deprecated" -msgstr "" +msgstr "SSLv3 es obsoleto" #: ../Doc/library/ssl.rst:782 msgid "" @@ -833,12 +1164,16 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1 as " "the protocol version." msgstr "" +"Evita una conexión TLSv1. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1 como versión del protocolo." #: ../Doc/library/ssl.rst:788 msgid "" "The option is deprecated since OpenSSL 1.1.0, use the new :attr:`SSLContext." "minimum_version` and :attr:`SSLContext.maximum_version` instead." msgstr "" +"Esta opción es obsoleta desde OpenSSL 1.1.0, utilice en su lugar los nuevos :" +"attr:`SSLContext.minimum_version` y :attr:`SSLContext.maximum_version`." #: ../Doc/library/ssl.rst:795 msgid "" @@ -846,10 +1181,13 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.1 as " "the protocol version. Available only with openssl version 1.0.1+." msgstr "" +"Evita una conexión TLSv1.1. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.1 como versión del " +"protocolo. Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:801 ../Doc/library/ssl.rst:812 msgid "The option is deprecated since OpenSSL 1.1.0." -msgstr "" +msgstr "Esta opción es obsoleta desde OpenSSL 1.1.0." #: ../Doc/library/ssl.rst:806 msgid "" @@ -857,6 +1195,9 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.2 as " "the protocol version. Available only with openssl version 1.0.1+." msgstr "" +"Evita una conexión TLSv1.2. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.2 como versión del " +"protocolo. Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:817 msgid "" @@ -866,28 +1207,40 @@ msgid "" "Python has been compiled against an older version of OpenSSL, the flag " "defaults to *0*." msgstr "" +"Evita una conexión TLSv1.3. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.3 como versión del " +"protocolo. TLS 1.3 está disponible con OpenSSL 1.1.1 o superior. Cuando " +"Python es compilado contra una versión mas antigua de OpenSSL, la opción " +"vale *0* por defecto." #: ../Doc/library/ssl.rst:825 msgid "" "The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15, 3.6.3 " "and 3.7.0 for backwards compatibility with OpenSSL 1.0.2." msgstr "" +"Esta opción es obsoleta desde OpenSSL 1.1.0. Ha sido agregada a 2.7.15, " +"3.6.3 y 3.7.0 por retro-compatibilidad con OpenSSL 1.0.2." #: ../Doc/library/ssl.rst:831 msgid "" "Disable all renegotiation in TLSv1.2 and earlier. Do not send HelloRequest " "messages, and ignore renegotiation requests via ClientHello." msgstr "" +"Desactiva toda re-negociación en TLSv1.2 y anteriores. No envía mensajes " +"HelloRequest e ignora solicitudes de re-negociación vía ClientHello." #: ../Doc/library/ssl.rst:834 msgid "This option is only available with OpenSSL 1.1.0h and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.1.0h y posteriores." #: ../Doc/library/ssl.rst:840 msgid "" "Use the server's cipher ordering preference, rather than the client's. This " "option has no effect on client sockets and SSLv2 server sockets." msgstr "" +"Utiliza la preferencia de ordenación de cifrado del servidor, en lugar de la " +"del cliente. Esta opción no tiene efecto en los sockets del cliente ni en " +"los sockets del servidor SSLv2." #: ../Doc/library/ssl.rst:847 msgid "" @@ -895,6 +1248,9 @@ msgid "" "forward secrecy but requires more computational resources. This option only " "applies to server sockets." msgstr "" +"Evita la reutilización de la misma clave DH para distintas sesiones SSL. " +"Esto mejora el secreto hacia adelante pero requiere más recursos " +"computacionales. Esta opción sólo se aplica a los sockets del servidor." #: ../Doc/library/ssl.rst:855 msgid "" @@ -902,46 +1258,58 @@ msgid "" "improves forward secrecy but requires more computational resources. This " "option only applies to server sockets." msgstr "" +"Evita la reutilización de la misma clave ECDH para distintas sesiones SSL. " +"Esto mejora el secreto hacia adelante pero requiere más recursos " +"computacionales. Esta opción sólo se aplica a los sockets del servidor." #: ../Doc/library/ssl.rst:863 msgid "" "Send dummy Change Cipher Spec (CCS) messages in TLS 1.3 handshake to make a " "TLS 1.3 connection look more like a TLS 1.2 connection." msgstr "" +"Enviar mensajes Change Cipher Spec (CCS) ficticios en el handshake de TLS " +"1.3 para que una conexión TLS 1.3 se parezca más a una conexión TLS 1.2." #: ../Doc/library/ssl.rst:866 msgid "This option is only available with OpenSSL 1.1.1 and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.1.1 y posteriores." #: ../Doc/library/ssl.rst:872 msgid "" "Disable compression on the SSL channel. This is useful if the application " "protocol supports its own compression scheme." msgstr "" +"Desactivar la compresión en el canal SSL. Esto es útil si el protocolo de la " +"aplicación soporta su propio esquema de compresión." #: ../Doc/library/ssl.rst:875 msgid "This option is only available with OpenSSL 1.0.0 and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.0.0 y posteriores." #: ../Doc/library/ssl.rst:881 msgid ":class:`enum.IntFlag` collection of OP_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntFlag` de constantes OP_*." #: ../Doc/library/ssl.rst:885 msgid "Prevent client side from requesting a session ticket." -msgstr "" +msgstr "Evita que el lado del cliente solicite un ticket de sesión." #: ../Doc/library/ssl.rst:891 msgid "" "Whether the OpenSSL library has built-in support for the *Application-Layer " "Protocol Negotiation* TLS extension as described in :rfc:`7301`." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para la extensión TLS " +"*Application-Layer Protocol Negotiation* como se describe en :rfc:`7301`." #: ../Doc/library/ssl.rst:898 msgid "" "Whether the OpenSSL library has built-in support not checking subject common " "name and :attr:`SSLContext.hostname_checks_common_name` is writeable." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para no comprobar el " +"nombre común del sujeto y :attr:`SSLContext.hostname_checks_common_name` es " +"modificable." #: ../Doc/library/ssl.rst:906 msgid "" @@ -949,12 +1317,18 @@ msgid "" "based Diffie-Hellman key exchange. This should be true unless the feature " "was explicitly disabled by the distributor." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el intercambio de " +"claves Diffie-Hellman basado en Elliptic Curve. Esto debería ser cierto a " +"menos que la función haya sido desactivada explícitamente por el " +"distribuidor." #: ../Doc/library/ssl.rst:914 msgid "" "Whether the OpenSSL library has built-in support for the *Server Name " "Indication* extension (as defined in :rfc:`6066`)." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para la extensión *Server " +"Name Indication* (como se define en :rfc:`6066`)." #: ../Doc/library/ssl.rst:921 msgid "" @@ -964,56 +1338,75 @@ msgid "" "When true, you can use the :meth:`SSLContext.set_npn_protocols` method to " "advertise which protocols you want to support." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para *Next Protocol " +"Negotiation* como se describe en `Application Layer Protocol Negotiation " +"`_. " +"Cuando es verdadero, puede utilizar el método :meth:`SSLContext." +"set_npn_protocols` para anunciar los protocolos que desea soportar." #: ../Doc/library/ssl.rst:931 msgid "" "Whether the OpenSSL library has built-in support for the SSL 2.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo SSL 2.0." #: ../Doc/library/ssl.rst:937 msgid "" "Whether the OpenSSL library has built-in support for the SSL 3.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo SSL 3.0." #: ../Doc/library/ssl.rst:943 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.0." #: ../Doc/library/ssl.rst:949 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.1 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.1." #: ../Doc/library/ssl.rst:955 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.2 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.2." #: ../Doc/library/ssl.rst:961 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.3 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.3." #: ../Doc/library/ssl.rst:967 msgid "" "List of supported TLS channel binding types. Strings in this list can be " "used as arguments to :meth:`SSLSocket.get_channel_binding`." msgstr "" +"Lista de tipos de enlace de canales TLS admitidos. Las cadenas de caracteres " +"en esta lista pueden ser usadas como argumentos para :meth:`SSLSocket." +"get_channel_binding`." #: ../Doc/library/ssl.rst:974 msgid "The version string of the OpenSSL library loaded by the interpreter::" msgstr "" +"La cadena de versión de la biblioteca OpenSSL cargada por el intérprete::" #: ../Doc/library/ssl.rst:983 msgid "" "A tuple of five integers representing version information about the OpenSSL " "library::" msgstr "" +"Una tupla de cinco números enteros representando la información de versión " +"de la biblioteca OpenSSL::" #: ../Doc/library/ssl.rst:993 msgid "The raw version number of the OpenSSL library, as a single integer::" msgstr "" +"El número de versión en bruto de la biblioteca OpenSSL, como un único número " +"entero::" #: ../Doc/library/ssl.rst:1006 msgid "" @@ -1022,16 +1415,22 @@ msgid "" "parameters-6>`_ contains this list and references to the RFCs where their " "meaning is defined." msgstr "" +"Descripciones de alertas de :rfc:`5246` y otras. El `IANA TLS Alert Registry " +"`_ contiene esta lista y las referencias a las RFC donde se " +"define su significado." #: ../Doc/library/ssl.rst:1010 msgid "" "Used as the return value of the callback function in :meth:`SSLContext." "set_servername_callback`." msgstr "" +"Se utiliza como valor de retorno de la función callback en :meth:`SSLContext." +"set_servername_callback`." #: ../Doc/library/ssl.rst:1017 msgid ":class:`enum.IntEnum` collection of ALERT_DESCRIPTION_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes ALERT_DESCRIPTION_*." #: ../Doc/library/ssl.rst:1023 msgid "" @@ -1040,6 +1439,10 @@ msgid "" "authenticate Web servers (therefore, it will be used to create client-side " "sockets)." msgstr "" +"Opción para :func:`create_default_context` y :meth:`SSLContext." +"load_default_certs`. Este valor indica que el contexto puede utilizarse para " +"autenticar servidores web (por lo tanto, se utilizará para crear sockets del " +"lado del cliente)." #: ../Doc/library/ssl.rst:1032 msgid "" @@ -1048,16 +1451,22 @@ msgid "" "authenticate Web clients (therefore, it will be used to create server-side " "sockets)." msgstr "" +"Opción para :func:`create_default_context` y :meth:`SSLContext." +"load_default_certs`. Este valor indica que el contexto puede utilizarse para " +"autenticar clientes web (por lo tanto, se utilizará para crear sockets del " +"lado del servidor)." #: ../Doc/library/ssl.rst:1041 msgid ":class:`enum.IntEnum` collection of SSL_ERROR_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes SSL_ERROR_*." #: ../Doc/library/ssl.rst:1047 msgid "" ":class:`enum.IntEnum` collection of SSL and TLS versions for :attr:" "`SSLContext.maximum_version` and :attr:`SSLContext.minimum_version`." msgstr "" +"Colección :class:`enum.IntEnum` de versiones SSL y TLS para :attr:" +"`SSLContext.maximum_version` y :attr:`SSLContext.minimum_version`." #: ../Doc/library/ssl.rst:1055 msgid "" @@ -1065,88 +1474,103 @@ msgid "" "constants. Their values don't reflect the lowest and highest available TLS/" "SSL versions." msgstr "" +"La mínima o máxima versión soportada de SSL o TLS. Estas son constantes " +"mágicas. Sus valores no reflejan la mas baja o mas alta versión TLS/SSL " +"disponible." #: ../Doc/library/ssl.rst:1065 msgid "SSL 3.0 to TLS 1.3." -msgstr "" +msgstr "SSL 3.0 a TLS 1.3." #: ../Doc/library/ssl.rst:1069 msgid "SSL Sockets" -msgstr "" +msgstr "Sockets SSL" #: ../Doc/library/ssl.rst:1073 msgid "SSL sockets provide the following methods of :ref:`socket-objects`:" msgstr "" +"Los sockets SSL proporcionan los siguientes métodos de :ref:`socket-objects`:" #: ../Doc/library/ssl.rst:1075 msgid ":meth:`~socket.socket.accept()`" -msgstr "" +msgstr ":meth:`~socket.socket.accept()`" #: ../Doc/library/ssl.rst:1076 msgid ":meth:`~socket.socket.bind()`" -msgstr "" +msgstr ":meth:`~socket.socket.bind()`" #: ../Doc/library/ssl.rst:1077 msgid ":meth:`~socket.socket.close()`" -msgstr "" +msgstr ":meth:`~socket.socket.close()`" #: ../Doc/library/ssl.rst:1078 msgid ":meth:`~socket.socket.connect()`" -msgstr "" +msgstr ":meth:`~socket.socket.connect()`" #: ../Doc/library/ssl.rst:1079 msgid ":meth:`~socket.socket.detach()`" -msgstr "" +msgstr ":meth:`~socket.socket.detach()`" #: ../Doc/library/ssl.rst:1080 msgid ":meth:`~socket.socket.fileno()`" -msgstr "" +msgstr ":meth:`~socket.socket.fileno()`" #: ../Doc/library/ssl.rst:1081 msgid "" ":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" msgstr "" +":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" #: ../Doc/library/ssl.rst:1082 msgid "" ":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" msgstr "" +":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" #: ../Doc/library/ssl.rst:1083 msgid "" ":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" "meth:`~socket.socket.setblocking()`" msgstr "" +":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" +"meth:`~socket.socket.setblocking()`" #: ../Doc/library/ssl.rst:1085 msgid ":meth:`~socket.socket.listen()`" -msgstr "" +msgstr ":meth:`~socket.socket.listen()`" #: ../Doc/library/ssl.rst:1086 msgid ":meth:`~socket.socket.makefile()`" -msgstr "" +msgstr ":meth:`~socket.socket.makefile()`" #: ../Doc/library/ssl.rst:1087 msgid "" ":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (but " "passing a non-zero ``flags`` argument is not allowed)" msgstr "" +":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (pero no " +"se admite pasar un argumento ``flags`` diferente de cero)" #: ../Doc/library/ssl.rst:1089 msgid "" ":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (with the " "same limitation)" msgstr "" +":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (con la " +"misma limitación)" #: ../Doc/library/ssl.rst:1091 msgid "" ":meth:`~socket.socket.sendfile()` (but :mod:`os.sendfile` will be used for " "plain-text sockets only, else :meth:`~socket.socket.send()` will be used)" msgstr "" +":meth:`~socket.socket.sendfile()` (pero :mod:`os.sendfile` sera utilizado " +"sólo para sockets de texto simple, sino :meth:`~socket.socket.send()` sera " +"utilizado)" #: ../Doc/library/ssl.rst:1093 msgid ":meth:`~socket.socket.shutdown()`" -msgstr "" +msgstr ":meth:`~socket.socket.shutdown()`" #: ../Doc/library/ssl.rst:1095 msgid "" @@ -1155,16 +1579,23 @@ msgid "" "specification of normal, OS-level sockets. See especially the :ref:`notes " "on non-blocking sockets `." msgstr "" +"Sin embargo, dado que el protocolo SSL (y TLS) tiene su propia estructura " +"encima de TCP, la abstracción de los sockets SSL puede, en ciertos aspectos, " +"divergir de la especificación de los sockets normales a nivel de SO. Ver " +"especialmente las :ref:`notas sobre sockets no bloqueantes `." #: ../Doc/library/ssl.rst:1100 msgid "" "Instances of :class:`SSLSocket` must be created using the :meth:`SSLContext." "wrap_socket` method." msgstr "" +"Instancias de :class:`SSLSocket` deben ser creadas usando el método :meth:" +"`SSLContext.wrap_socket`." #: ../Doc/library/ssl.rst:1103 msgid "The :meth:`sendfile` method was added." -msgstr "" +msgstr "El método :meth:`sendfile` ha sido agregado." #: ../Doc/library/ssl.rst:1106 msgid "" @@ -1172,12 +1603,17 @@ msgid "" "received or sent. The socket timeout is now to maximum total duration of the " "shutdown." msgstr "" +"El método :meth:`shutdown` no reinicia el tiempo de espera del socket cada " +"vez que se reciben o envían bytes. El tiempo de espera del socket es ahora " +"la máxima duración del cierre." #: ../Doc/library/ssl.rst:1111 msgid "" "It is deprecated to create a :class:`SSLSocket` instance directly, use :meth:" "`SSLContext.wrap_socket` to wrap a socket." msgstr "" +"Crear una instancia de :class:`SSLSocket` directamente es obsoleto, utilice :" +"meth:`SSLContext.wrap_socket` para envolver un socket." #: ../Doc/library/ssl.rst:1115 msgid "" @@ -1185,10 +1621,15 @@ msgid "" "wrap_socket`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" +"Las instancias de :class:`SSLSocket` deben crearse con :meth:`~SSLContext." +"wrap_socket`. En versiones anteriores, era posible crear instancias " +"directamente. Esto nunca fue documentado ni soportado oficialmente." #: ../Doc/library/ssl.rst:1121 msgid "SSL sockets also have the following additional methods and attributes:" msgstr "" +"Los sockets SSL tienen también los siguientes métodos y atributos " +"adicionales:" #: ../Doc/library/ssl.rst:1125 msgid "" @@ -1196,18 +1637,25 @@ msgid "" "a ``bytes`` instance. If *buffer* is specified, then read into the buffer " "instead, and return the number of bytes read." msgstr "" +"Lee hasta *len* bytes de datos del socket SSL y retorna el resultado como " +"una instancia ``bytes``. Si *buffer* es especificado, entonces se lee hacia " +"el buffer en su lugar, y retorna el número de bytes leídos." #: ../Doc/library/ssl.rst:1129 msgid "" "Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" "ref:`non-blocking ` and the read would block." msgstr "" +"Lanza :exc:`SSLWantReadError` o :exc:`SSLWantWriteError` si el socket es :" +"ref:`no-bloqueante ` y la lectura se bloquearía." #: ../Doc/library/ssl.rst:1132 msgid "" "As at any time a re-negotiation is possible, a call to :meth:`read` can also " "cause write operations." msgstr "" +"Como en cualquier momento es posible una re-negociación, una llamada a :meth:" +"`read` también puede provocar operaciones de escritura." #: ../Doc/library/ssl.rst:1135 msgid "" @@ -1215,38 +1663,50 @@ msgid "" "The socket timeout is now to maximum total duration to read up to *len* " "bytes." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima para leer hasta *len* bytes." #: ../Doc/library/ssl.rst:1140 msgid "Use :meth:`~SSLSocket.recv` instead of :meth:`~SSLSocket.read`." -msgstr "" +msgstr "Utilice :meth:`~SSLSocket.recv` en lugar de :meth:`~SSLSocket.read`." #: ../Doc/library/ssl.rst:1145 msgid "" "Write *buf* to the SSL socket and return the number of bytes written. The " "*buf* argument must be an object supporting the buffer interface." msgstr "" +"Escribe *buf* en el socket SSL y retorna el número de bytes escritos. El " +"argumento *buf* debe ser un objeto que soporte la interfaz buffer." #: ../Doc/library/ssl.rst:1148 msgid "" "Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" "ref:`non-blocking ` and the write would block." msgstr "" +"Lanza :exc:`SSLWantReadError` o :exc:`SSLWantWriteError` si el socket es :" +"ref:`no-bloqueante ` y la escritura se bloquearía." #: ../Doc/library/ssl.rst:1151 msgid "" "As at any time a re-negotiation is possible, a call to :meth:`write` can " "also cause read operations." msgstr "" +"Como en cualquier momento es posible una re-negociación, una llamada a :meth:" +"`write` también puede provocar operaciones de lectura." #: ../Doc/library/ssl.rst:1154 msgid "" "The socket timeout is no more reset each time bytes are received or sent. " "The socket timeout is now to maximum total duration to write *buf*." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima para escribir *buf*." #: ../Doc/library/ssl.rst:1158 msgid "Use :meth:`~SSLSocket.send` instead of :meth:`~SSLSocket.write`." -msgstr "" +msgstr "Utilice :meth:`~SSLSocket.send` en lugar de :meth:`~SSLSocket.write`." #: ../Doc/library/ssl.rst:1163 msgid "" @@ -1256,16 +1716,24 @@ msgid "" "active SSL connection, i.e. the handshake was completed and :meth:`SSLSocket." "unwrap` was not called." msgstr "" +"Los métodos :meth:`~SSLSocket.read` y :meth:`~SSLSocket.write` son los " +"métodos de bajo nivel que leen y escriben datos no cifrados a nivel de " +"aplicación y los descifran/cifran a datos cifrados a nivel de cable. Estos " +"métodos requieren una conexión SSL activa, es decir, que se haya completado " +"el handshake y no se haya llamado a :meth:`SSLSocket.unwrap`." #: ../Doc/library/ssl.rst:1169 msgid "" "Normally you should use the socket API methods like :meth:`~socket.socket." "recv` and :meth:`~socket.socket.send` instead of these methods." msgstr "" +"Normalmente se deberían utilizar los métodos de la API de sockets como :meth:" +"`~socket.socket.recv` y :meth:`~socket.socket.send` en lugar de estos " +"métodos." #: ../Doc/library/ssl.rst:1175 msgid "Perform the SSL setup handshake." -msgstr "" +msgstr "Realiza el handshake de configuración SSL." #: ../Doc/library/ssl.rst:1177 msgid "" @@ -1273,12 +1741,18 @@ msgid "" "`~SSLContext.check_hostname` attribute of the socket's :attr:`~SSLSocket." "context` is true." msgstr "" +"El método handshake también realiza :func:`match_hostname` cuando el " +"atributo :attr:`~SSLContext.check_hostname` del :attr:`~SSLSocket.context` " +"del socket es verdadero." #: ../Doc/library/ssl.rst:1182 msgid "" "The socket timeout is no more reset each time bytes are received or sent. " "The socket timeout is now to maximum total duration of the handshake." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima del handshake." #: ../Doc/library/ssl.rst:1186 msgid "" @@ -1287,6 +1761,10 @@ msgid "" "or IP address, the handshake is aborted early and a TLS alert message is " "send to the peer." msgstr "" +"El hostname o la dirección IP son comparados por OpenSSL durante el " +"handshake. La función :func:`match_hostname` ya no se utiliza. En caso de " +"que OpenSSL rechace un hostname o dirección IP, el handshake se aborta antes " +"de tiempo y se envía un mensaje de alerta TLS al peer." #: ../Doc/library/ssl.rst:1194 msgid "" @@ -1294,6 +1772,9 @@ msgid "" "return ``None``. If the SSL handshake hasn't been done yet, raise :exc:" "`ValueError`." msgstr "" +"Si no hay un certificado para el peer en el otro extremo de la conexión, " +"devuelve ``None``. Si el handshake SSL no se ha realizado todavía, lanza :" +"exc:`ValueError`." #: ../Doc/library/ssl.rst:1198 msgid "" @@ -1306,6 +1787,14 @@ msgid "" "of the *Subject Alternative Name* extension (see :rfc:`3280`), there will " "also be a ``subjectAltName`` key in the dictionary." msgstr "" +"Si el parámetro ``binary_form`` es :const:`False`, y se ha recibido un " +"certificado del peer, este método devuelve una instancia :class:`dict`. Si " +"el certificado no fue validado, el dict está vacío. Si el certificado fue " +"validado, devuelve un dict con varias claves, entre ellas ``subject`` (la " +"entidad para la que se emitió el certificado) y ``issuer`` (la entidad que " +"emite el certificado). Si un certificado contiene una instancia de la " +"extensión *Subject Alternative Name* (véase :rfc:`3280`), también habrá una " +"clave ``subjectAltName`` en el diccionario." #: ../Doc/library/ssl.rst:1207 msgid "" @@ -1314,12 +1803,18 @@ msgid "" "structure for the respective fields, and each RDN is a sequence of name-" "value pairs. Here is a real-world example::" msgstr "" +"Los campos ``subject`` y ``issuer`` son tuplas que contienen la secuencia de " +"nombres distinguidos relativos (RDNs) indicados en la estructura de datos " +"del certificado para los campos respectivos, y cada RDN es una secuencia de " +"pares nombre-valor. Este es un ejemplo del mundo real::" #: ../Doc/library/ssl.rst:1233 msgid "" "To validate a certificate for a particular service, you can use the :func:" "`match_hostname` function." msgstr "" +"Para validar un certificado para un servicio concreto, puede utilizar la " +"función :func:`match_hostname`." #: ../Doc/library/ssl.rst:1236 msgid "" @@ -1329,12 +1824,19 @@ msgid "" "certificate. Whether the peer provides a certificate depends on the SSL " "socket's role:" msgstr "" +"Si el parámetro ``binary_form`` es :const:`True`, y se proporcionó un " +"certificado, este método devuelve la forma codificada en DER del certificado " +"completo como una secuencia de bytes, o :const:`None` si el par no " +"proporcionó un certificado. El hecho de que el par proporcione un " +"certificado depende del rol del socket SSL:" #: ../Doc/library/ssl.rst:1242 msgid "" "for a client SSL socket, the server will always provide a certificate, " "regardless of whether validation was required;" msgstr "" +"para un socket SSL cliente, el servidor siempre proporcionará un " +"certificado, independientemente de si se requirió la validación;" #: ../Doc/library/ssl.rst:1245 msgid "" @@ -1343,12 +1845,18 @@ msgid "" "`None` if you used :const:`CERT_NONE` (rather than :const:`CERT_OPTIONAL` " "or :const:`CERT_REQUIRED`)." msgstr "" +"para un socket SSL servidor, el cliente sólo proporcionará un certificado " +"cuando lo solicite el servidor; por lo tanto :meth:`getpeercert` devolverá :" +"const:`None` si ha utilizado :const:`CERT_NONE` (en lugar de :const:" +"`CERT_OPTIONAL` o :const:`CERT REQUIRED`)." #: ../Doc/library/ssl.rst:1250 msgid "" "The returned dictionary includes additional items such as ``issuer`` and " "``notBefore``." msgstr "" +"El diccionario devuelto incluye elementos adicionales tales como ``issuer`` " +"y ``notBefore``." #: ../Doc/library/ssl.rst:1254 msgid "" @@ -1356,10 +1864,13 @@ msgid "" "dictionary includes additional X509v3 extension items such as " "``crlDistributionPoints``, ``caIssuers`` and ``OCSP`` URIs." msgstr "" +":exc:`ValueError` se lanza cuando no se realiza el handshake. El diccionario " +"devuelto incluye elementos de extensión X509v3 adicionales como " +"``crlDistributionPoints``, ``caIssuers`` y ``OCSP`` URIs." #: ../Doc/library/ssl.rst:1259 msgid "IPv6 address strings no longer have a trailing new line." -msgstr "" +msgstr "Las cadenas de direcciones IPv6 ya no tienen una nueva línea al final." #: ../Doc/library/ssl.rst:1264 msgid "" @@ -1368,6 +1879,10 @@ msgid "" "secret bits being used. If no connection has been established, returns " "``None``." msgstr "" +"Retorna una tupla de tres valores que contiene el nombre del cifrado que se " +"está utilizando, la versión del protocolo SSL que define su uso y el número " +"de bits secretos que se están utilizando. Si no se ha establecido ninguna " +"conexión, retorna ``None``." #: ../Doc/library/ssl.rst:1270 msgid "" @@ -1378,24 +1893,38 @@ msgid "" "``None`` if no connection has been established or the socket is a client " "socket." msgstr "" +"Retorna la lista de cifrados compartidos por el cliente durante el " +"handshake. Cada entrada de la lista devuelta es una tupla de tres valores " +"que contiene el nombre del cifrado, la versión del protocolo SSL que define " +"su uso y el número de bits secretos que utiliza el cifrado. :meth:" +"`~SSLSocket.shared_ciphers`` retorna ``None`` si no se ha establecido " +"ninguna conexión o el socket es un socket cliente." #: ../Doc/library/ssl.rst:1281 msgid "" "Return the compression algorithm being used as a string, or ``None`` if the " "connection isn't compressed." msgstr "" +"Retorna el algoritmo de compresión utilizado como una cadena de caracteres, " +"o ``None`` si la conexión no está comprimida." #: ../Doc/library/ssl.rst:1284 msgid "" "If the higher-level protocol supports its own compression mechanism, you can " "use :data:`OP_NO_COMPRESSION` to disable SSL-level compression." msgstr "" +"Si el protocolo de nivel superior soporta su propio mecanismo de compresión, " +"puede utilizar :data:`OP_NO_COMPRESSION` para desactivar la compresión a " +"nivel de SSL." #: ../Doc/library/ssl.rst:1291 msgid "" "Get channel binding data for current connection, as a bytes object. Returns " "``None`` if not connected or the handshake has not been completed." msgstr "" +"Obtiene los datos de enlace del canal para la conexión actual, como un " +"objeto bytes. Retorna ``None`` si no está conectado o no se ha completado el " +"handshake." #: ../Doc/library/ssl.rst:1294 msgid "" @@ -1405,6 +1934,11 @@ msgid "" "`5929`, is supported. :exc:`ValueError` will be raised if an unsupported " "channel binding type is requested." msgstr "" +"El parámetro *cb_type* permite seleccionar el tipo de enlace de canal " +"deseado. Los tipos de enlace de canal válidos se enumeran en la lista :data:" +"`CHANNEL_BINDING_TYPES`. Actualmente, sólo se admite la vinculación de canal " +"'tls-unique', definida por :rfc:`5929`. :exc:`ValueError` se lanzará si se " +"solicita un tipo de vinculación de canal no admitido." #: ../Doc/library/ssl.rst:1304 msgid "" @@ -1413,6 +1947,11 @@ msgid "" "support ALPN, if this socket does not support any of the client's proposed " "protocols, or if the handshake has not happened yet, ``None`` is returned." msgstr "" +"Retorna el protocolo que fue seleccionado durante el handshake TLS. Si no se " +"ha llamado a :meth:`SSLContext.set_alpn_protocols`, si la otra parte no " +"soporta ALPN, si este socket no soporta ninguno de los protocolos propuestos " +"por el cliente, o si el handshake no ha ocurrido todavía, se devuelve " +"``None``." #: ../Doc/library/ssl.rst:1314 msgid "" @@ -1421,6 +1960,10 @@ msgid "" "other party does not support NPN, or if the handshake has not yet happened, " "this will return ``None``." msgstr "" +"Devuelve el protocolo de nivel superior que se seleccionó durante el " +"handshake TLS/SSL. Si no se llamó a :meth:`SSLContext.set_npn_protocols`, o " +"si la otra parte no soporta NPN, o si el handshake aún no ha ocurrido, esto " +"devolverá ``None``." #: ../Doc/library/ssl.rst:1323 msgid "" @@ -1430,6 +1973,11 @@ msgid "" "returned socket should always be used for further communication with the " "other side of the connection, rather than the original socket." msgstr "" +"Realiza el handshake de cierre de SSL, que elimina la capa TLS del socket " +"subyacente, y devuelve el objeto socket subyacente. Esto puede utilizarse " +"para pasar de una operación encriptada sobre una conexión a una sin " +"encriptar. El socket devuelto debe utilizarse siempre para la comunicación " +"posterior con el otro lado de la conexión, en lugar del socket original." #: ../Doc/library/ssl.rst:1331 msgid "" @@ -1438,6 +1986,10 @@ msgid "" "the initial TLS handshake and with PHA enabled on both sides, see :attr:" "`SSLContext.post_handshake_auth`." msgstr "" +"Solicita la autenticación post-handshake (PHA) de un cliente TLS 1.3. PHA " +"sólo puede iniciarse para una conexión TLS 1.3 desde un socket del lado del " +"servidor, después del handshake TLS inicial y con PHA habilitado en ambos " +"lados, ver :attr:`SSLContext.post_handshake_auth`." #: ../Doc/library/ssl.rst:1336 msgid "" @@ -1445,18 +1997,26 @@ msgid "" "sends a CertificateRequest during the next write event and expects the " "client to respond with a certificate on the next read event." msgstr "" +"El método no realiza un intercambio de certificados inmediatamente. El lado " +"del servidor envía una CertificateRequest durante el siguiente evento de " +"escritura y espera que el cliente responda con un certificado en el " +"siguiente evento de lectura." #: ../Doc/library/ssl.rst:1340 msgid "" "If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an :exc:" "`SSLError` is raised." msgstr "" +"Si alguna precondición no se cumple (por ejemplo, no es TLS 1.3, PHA no está " +"habilitado), se genera un :exc:`SSLError`." #: ../Doc/library/ssl.rst:1344 msgid "" "Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " "support, the method raises :exc:`NotImplementedError`." msgstr "" +"Sólo está disponible con OpenSSL 1.1.1 y TLS 1.3 habilitados. Sin el soporte " +"de TLS 1.3, el método lanza :exc:`NotImplementedError`." #: ../Doc/library/ssl.rst:1351 msgid "" @@ -1466,12 +2026,20 @@ msgid "" "\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " "may define more return values." msgstr "" +"Devuelve la versión actual del protocolo SSL negociada por la conexión como " +"una cadena de caracteres, o ``None`` si no se ha establecido ninguna " +"conexión segura. En este momento, los posibles valores de retorno incluyen ``" +"\"SSLv2\"``, ``\"SSLv3\"``, ``\"TLSv1\"``, ``\"TLSv1.1\"`` y ``" +"\"TLSv1.2\"``. Las versiones recientes de OpenSSL pueden definir más valores " +"de retorno." #: ../Doc/library/ssl.rst:1361 msgid "" "Returns the number of already decrypted bytes available for read, pending on " "the connection." msgstr "" +"Retorna el número de bytes ya descifrados disponibles para leer, pendientes " +"de la conexión." #: ../Doc/library/ssl.rst:1366 msgid "" @@ -1480,18 +2048,26 @@ msgid "" "than :meth:`SSLContext.wrap_socket`), this is a custom context object " "created for this SSL socket." msgstr "" +"El objeto :class:`SSLContext` al que está vinculado este socket SSL. Si el " +"socket SSL fue creado usando la función obsoleta :func:`wrap_socket` (en " +"lugar de :meth:`SSLContext.wrap_socket`), este es un objeto de contexto " +"personalizado creado para este socket SSL." #: ../Doc/library/ssl.rst:1375 msgid "" "A boolean which is ``True`` for server-side sockets and ``False`` for client-" "side sockets." msgstr "" +"Un booleano que es ``True`` para los sockets del lado del servidor y " +"``False`` para los sockets del lado del cliente." #: ../Doc/library/ssl.rst:1382 msgid "" "Hostname of the server: :class:`str` type, or ``None`` for server-side " "socket or if the hostname was not specified in the constructor." msgstr "" +"Hostname del servidor: tipo :class:`str`, o ``None`` para el socket del lado " +"del servidor o si el hostname no fue especificado en el constructor." #: ../Doc/library/ssl.rst:1387 msgid "" @@ -1500,6 +2076,10 @@ msgid "" "form (``\"xn--pythn-mua.org\"``), rather than the U-label form (``\"pythön." "org\"``)." msgstr "" +"El atributo es ahora siempre texto ASCII. Cuando ``server_hostname`` es un " +"nombre de dominio internacionalizado (IDN), este atributo almacena ahora la " +"forma de etiqueta A (``\"xn--pythn-mua.org\"``), en lugar de la forma de " +"etiqueta U (``\"pythön.org\"``)." #: ../Doc/library/ssl.rst:1395 msgid "" @@ -1508,10 +2088,15 @@ msgid "" "performed. For client sockets the session can be set before :meth:" "`~SSLSocket.do_handshake` has been called to reuse a session." msgstr "" +"La :class:`SSLSession` para esta conexión SSL. La sesión está disponible " +"para los sockets del lado del cliente y del servidor después de que se haya " +"realizado el handshake TLS. Para los sockets del cliente la sesión puede ser " +"establecida antes de que :meth:`~SSLSocket.do_handshake` haya sido llamado " +"para reutilizar una sesión." #: ../Doc/library/ssl.rst:1408 msgid "SSL Contexts" -msgstr "" +msgstr "Contextos SSL" #: ../Doc/library/ssl.rst:1412 msgid "" @@ -1520,6 +2105,10 @@ msgid "" "also manages a cache of SSL sessions for server-side sockets, in order to " "speed up repeated connections from the same clients." msgstr "" +"Un contexto SSL contiene varios datos más duraderos que las conexiones SSL " +"individuales, como opciones de configuración SSL, certificado(s) y clave(s) " +"privada(s). También gestiona un cache de sesiones SSL para sockets del lado " +"del servidor, para acelerar conexiones repetidas de los mismos clientes." #: ../Doc/library/ssl.rst:1419 msgid "" @@ -1531,108 +2120,124 @@ msgid "" "versions. If not specified, the default is :data:`PROTOCOL_TLS`; it " "provides the most compatibility with other versions." msgstr "" +"Crea un nuevo contexto SSL. Puede pasar *protocolo* que debe ser una de las " +"constantes ``PROTOCOL_*`` definidas en este módulo. El parámetro especifica " +"la versión del protocolo SSL a utilizar. Típicamente, el servidor elige una " +"versión particular del protocolo, y el cliente debe adaptarse a la elección " +"del servidor. La mayoría de las versiones no son interoperables con las " +"demás. Si no se especifica, el valor por defecto es :data:`PROTOCOL_TLS`; " +"proporciona la mayor compatibilidad con otras versiones." #: ../Doc/library/ssl.rst:1428 msgid "" "Here's a table showing which versions in a client (down the side) can " "connect to which versions in a server (along the top):" msgstr "" +"Esta es una tabla que muestra qué versiones de un cliente (en la parte " +"inferior) pueden conectarse a qué versiones de un servidor (en la parte " +"superior):" #: ../Doc/library/ssl.rst:1434 msgid "*client* / **server**" -msgstr "" +msgstr "*cliente* / **servidor**" #: ../Doc/library/ssl.rst:1434 msgid "**SSLv2**" -msgstr "" +msgstr "**SSLv2**" #: ../Doc/library/ssl.rst:1434 msgid "**SSLv3**" -msgstr "" +msgstr "**SSLv3**" #: ../Doc/library/ssl.rst:1434 msgid "**TLS** [3]_" -msgstr "" +msgstr "**TLS** [3]_" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1**" -msgstr "" +msgstr "**TLSv1**" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1.1**" -msgstr "" +msgstr "**TLSv1.1**" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1.2**" -msgstr "" +msgstr "**TLSv1.2**" #: ../Doc/library/ssl.rst:1436 msgid "*SSLv2*" -msgstr "" +msgstr "*SSLv2*" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1437 #: ../Doc/library/ssl.rst:1438 ../Doc/library/ssl.rst:1439 #: ../Doc/library/ssl.rst:1440 ../Doc/library/ssl.rst:1441 msgid "yes" -msgstr "" +msgstr "si" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1437 #: ../Doc/library/ssl.rst:1439 ../Doc/library/ssl.rst:1440 #: ../Doc/library/ssl.rst:1441 msgid "no" -msgstr "" +msgstr "no" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1438 msgid "no [1]_" -msgstr "" +msgstr "no [1]_" #: ../Doc/library/ssl.rst:1437 msgid "*SSLv3*" -msgstr "" +msgstr "*SSLv3*" #: ../Doc/library/ssl.rst:1437 ../Doc/library/ssl.rst:1438 msgid "no [2]_" -msgstr "" +msgstr "no [2]_" #: ../Doc/library/ssl.rst:1438 msgid "*TLS* (*SSLv23*) [3]_" -msgstr "" +msgstr "*TLS* (*SSLv23*) [3]_" #: ../Doc/library/ssl.rst:1439 msgid "*TLSv1*" -msgstr "" +msgstr "*TLSv1*" #: ../Doc/library/ssl.rst:1440 msgid "*TLSv1.1*" -msgstr "" +msgstr "*TLSv1.1*" #: ../Doc/library/ssl.rst:1441 msgid "*TLSv1.2*" -msgstr "" +msgstr "*TLSv1.2*" #: ../Doc/library/ssl.rst:1444 msgid "Footnotes" -msgstr "" +msgstr "Notas a pie de página" #: ../Doc/library/ssl.rst:1445 msgid ":class:`SSLContext` disables SSLv2 with :data:`OP_NO_SSLv2` by default." msgstr "" +":class:`SSLContext` desactiva SSLv2 con :data:`OP_NO_SSLv2` por defecto." #: ../Doc/library/ssl.rst:1446 msgid ":class:`SSLContext` disables SSLv3 with :data:`OP_NO_SSLv3` by default." msgstr "" +":class:`SSLContext` desactiva SSLv3 con :data:`OP_NO_SSLv3` por defecto." #: ../Doc/library/ssl.rst:1447 msgid "" "TLS 1.3 protocol will be available with :data:`PROTOCOL_TLS` in OpenSSL >= " "1.1.1. There is no dedicated PROTOCOL constant for just TLS 1.3." msgstr "" +"El protocolo TLS 1.3 estará disponible con :data:`PROTOCOL_TLS` en OpenSSL " +">= 1.1.1. No existe una constante PROTOCOL dedicada sólo a TLS 1.3." #: ../Doc/library/ssl.rst:1452 msgid "" ":func:`create_default_context` lets the :mod:`ssl` module choose security " "settings for a given purpose." msgstr "" +":func:`create_default_context` permite al módulo :mod:`ssl` elegir la " +"configuración de seguridad para un propósito determinado." #: ../Doc/library/ssl.rst:1457 msgid "" @@ -1644,10 +2249,18 @@ msgid "" "only ``HIGH`` ciphers, no ``NULL`` ciphers and no ``MD5`` ciphers (except " "for :data:`PROTOCOL_SSLv2`)." msgstr "" +"El contexto se crea con valores seguros por defecto. Las opciones :data:" +"`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" +"`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` (excepto " +"para :data:`PROTOCOL_SSLv2`), y :data:`OP_NO_SSLv3` (excepto para :data:" +"`PROTOCOL_SSLv3`) están establecidas por defecto. La lista inicial de " +"conjuntos de cifrado sólo contiene cifrados ``HIGH``, ningún cifrado " +"``NULL`` y ningún cifrado ``MD5`` (excepto para :data:`PROTOCOL_SSLv2`)." #: ../Doc/library/ssl.rst:1467 msgid ":class:`SSLContext` objects have the following methods and attributes:" msgstr "" +"Los objetos :class:`SSLContext` tienen los siguientes métodos y atributos:" #: ../Doc/library/ssl.rst:1471 msgid "" @@ -1655,10 +2268,13 @@ msgid "" "certificates flagged as CA certificates and certificate revocation lists as " "dictionary." msgstr "" +"Obtiene estadísticas sobre las cantidades de certificados X.509 cargados, la " +"cantidad de certificados X.509 marcados como certificados CA y las listas de " +"revocación de certificados como diccionario." #: ../Doc/library/ssl.rst:1475 msgid "Example for a context with one CA cert and one other cert::" -msgstr "" +msgstr "Ejemplo para un contexto con un certificado CA y otro certificado::" #: ../Doc/library/ssl.rst:1485 msgid "" @@ -1671,6 +2287,14 @@ msgid "" "certificates` for more information on how the certificate is stored in the " "*certfile*." msgstr "" +"Carga una clave privada y el certificado correspondiente. La cadena de " +"caracteres *certfile* debe ser la ruta de un único archivo en formato PEM " +"que contenga el certificado, así como cualquier número de certificados de CA " +"necesarios para establecer la autenticidad del certificado. La cadena de " +"caracteres *keyfile*, si está presente, debe apuntar a un archivo que " +"contenga la clave privada. De lo contrario, la clave privada se tomará " +"también de *certfile*. Consulte la discusión de :ref:`ssl-certificates` para " +"más información sobre cómo se almacena el certificado en el *certfile*." #: ../Doc/library/ssl.rst:1494 msgid "" @@ -1683,6 +2307,15 @@ msgid "" "as the *password* argument. It will be ignored if the private key is not " "encrypted and no password is needed." msgstr "" +"El argumento *password* puede ser una función a la que llamar para obtener " +"la contraseña para descifrar la clave privada. Sólo se llamará si la clave " +"privada está encriptada y se necesita una contraseña. Se llamará sin " +"argumentos, y deberá devolver una cadena de caracteres, bytes o bytearray. " +"Si el valor devuelto es una cadena de caracteres, se codificará como UTF-8 " +"antes de utilizarlo para descifrar la clave. Alternativamente, se puede " +"suministrar un valor de cadena de caracteres, bytes o bytearray directamente " +"como argumento *password*. Se ignorará si la clave privada no está cifrada y " +"no se necesita una contraseña." #: ../Doc/library/ssl.rst:1503 msgid "" @@ -1690,16 +2323,21 @@ msgid "" "OpenSSL's built-in password prompting mechanism will be used to " "interactively prompt the user for a password." msgstr "" +"Si el argumento *password* no es especificado y una contraseña es requerida, " +"el mecanismo de solicitud de contraseña incorporado de OpenSSL se usará para " +"solicitarle una contraseña al usuario de forma interactiva." #: ../Doc/library/ssl.rst:1507 msgid "" "An :class:`SSLError` is raised if the private key doesn't match with the " "certificate." msgstr "" +"Un :class:`SSLError` es lanzado si la clave privada no coincide con el " +"certificado." #: ../Doc/library/ssl.rst:1510 msgid "New optional argument *password*." -msgstr "" +msgstr "Nuevo argumento opcional *password*." #: ../Doc/library/ssl.rst:1515 msgid "" @@ -1709,6 +2347,11 @@ msgid "" "set_default_verify_paths`. In the future the method may load CA certificates " "from other locations, too." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) por " +"defecto desde ubicaciones predeterminadas. En Windows carga los certificados " +"de CA desde los almacenes del sistema ``CA`` y ``ROOT``. En otros sistemas " +"llama a :meth:`SSLContext.set_default_verify_paths`. En el futuro el método " +"puede cargar certificados de CA desde otras ubicaciones también." #: ../Doc/library/ssl.rst:1521 msgid "" @@ -1718,6 +2361,12 @@ msgid "" "sockets). :data:`Purpose.CLIENT_AUTH` loads CA certificates for client " "certificate verification on the server side." msgstr "" +"La opción *purpose* especifica qué tipo de certificados CA se cargan. La " +"configuración por defecto :data:`Purpose.SERVER_AUTH` carga certificados, " +"que están marcados y son de confianza para la autenticación del servidor web " +"TLS (sockets del lado del cliente). :data:`Purpose.CLIENT_AUTH` carga " +"certificados CA para la verificación de certificados de cliente en el lado " +"del servidor." #: ../Doc/library/ssl.rst:1531 msgid "" @@ -1725,6 +2374,10 @@ msgid "" "other peers' certificates when :data:`verify_mode` is other than :data:" "`CERT_NONE`. At least one of *cafile* or *capath* must be specified." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) " +"usados para validar certificados de otros pares cuando :data:`verify_mode` " +"es distinto de :data:`CERT_NONE`. Debe especificarse al menos uno de " +"*cafile* o *capath*." #: ../Doc/library/ssl.rst:1535 msgid "" @@ -1732,6 +2385,9 @@ msgid "" "DER format. In order to make use of CRLs, :attr:`SSLContext.verify_flags` " "must be configured properly." msgstr "" +"Este método puede cargar también listas de revocación de certificados (CRLs) " +"en formato PEM o DER. Para poder usar CRLs, :attr:`SSLContext.verify_flags` " +"debe ser configurado correctamente." #: ../Doc/library/ssl.rst:1539 msgid "" @@ -1739,6 +2395,10 @@ msgid "" "certificates in PEM format. See the discussion of :ref:`ssl-certificates` " "for more information about how to arrange the certificates in this file." msgstr "" +"La cadena de caracteres *cafile*, si está presente, es la ruta a un archivo " +"de certificados CA concatenados en formato PEM. Vea la discusión de :ref:" +"`ssl-certificates` para más información acerca de como organizar los " +"certificados en este archivo." #: ../Doc/library/ssl.rst:1544 msgid "" @@ -1747,6 +2407,10 @@ msgid "" "`_." msgstr "" +"La cadena de caracteres *capath*, si está presente, es la ruta a un " +"directorio que contiene varios certificados CA en formato PEM, siguiendo la " +"`disposición específica de OpenSSL `_." #: ../Doc/library/ssl.rst:1549 msgid "" @@ -1755,10 +2419,15 @@ msgid "" "certificates. Like with *capath* extra lines around PEM-encoded certificates " "are ignored but at least one certificate must be present." msgstr "" +"El objeto *cadata*, si está presente, es una cadena de caracteres ASCII de " +"uno o más certificados codificados en PEM o un :term:`bytes-like object` de " +"certificados codificados en DER. Al igual que con *capath*, las líneas " +"adicionales alrededor de los certificados codificados en PEM se ignoran, " +"pero debe haber al menos un certificado." #: ../Doc/library/ssl.rst:1554 msgid "New optional argument *cadata*" -msgstr "" +msgstr "Nuevo argumento opcional *cadata*" #: ../Doc/library/ssl.rst:1559 msgid "" @@ -1769,26 +2438,38 @@ msgid "" "certificates from *capath* unless a certificate was requested and loaded by " "a SSL connection." msgstr "" +"Obtiene una lista de certificados de \"autoridad de certificación\" (CA) " +"cargados. Si el parámetro ``binary_form`` es :const:`False` cada entrada de " +"la lista es un diccionario como la salida de :meth:`SSLSocket.getpeercert`. " +"En caso contrario, el método devuelve una lista de certificados codificados " +"con DER. La lista devuelta no contiene certificados de *capath* a menos que " +"un certificado haya sido solicitado y cargado por una conexión SSL." #: ../Doc/library/ssl.rst:1567 msgid "" "Certificates in a capath directory aren't loaded unless they have been used " "at least once." msgstr "" +"Los certificados de un directorio capath no se cargan a menos que se hayan " +"utilizado al menos una vez." #: ../Doc/library/ssl.rst:1574 msgid "" "Get a list of enabled ciphers. The list is in order of cipher priority. See :" "meth:`SSLContext.set_ciphers`." msgstr "" +"Obtiene una lista de cifrados habilitados. La lista está en orden de " +"prioridad de cifrado. Véase :meth:`SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:1597 msgid "On OpenSSL 1.1 and newer the cipher dict contains additional fields::" msgstr "" +"En OpenSSL 1.1 y posterior el diccionario de cifrado contiene campos " +"adicionales::" #: ../Doc/library/ssl.rst:1626 msgid ":ref:`Availability `: OpenSSL 1.0.2+." -msgstr "" +msgstr ":ref:`Availability `: OpenSSL 1.0.2+." #: ../Doc/library/ssl.rst:1631 msgid "" @@ -1799,6 +2480,12 @@ msgid "" "provided as part of the operating system, though, it is likely to be " "configured properly." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) por " +"defecto desde una ruta del sistema de archivos definida al construir la " +"biblioteca OpenSSL. Desafortunadamente, no hay una manera fácil de saber si " +"este método tiene éxito: no se devuelve ningún error si no se encuentran " +"certificados. Sin embargo, cuando la biblioteca OpenSSL se proporciona como " +"parte del sistema operativo, es probable que esté configurada correctamente." #: ../Doc/library/ssl.rst:1640 msgid "" @@ -1808,18 +2495,28 @@ msgid "" "compile-time options or other configuration forbids use of all the specified " "ciphers), an :class:`SSLError` will be raised." msgstr "" +"Establece los cifrados disponibles para los sockets creados con este " +"contexto. Debe ser una cadena de caracteres con el `formato de la lista de " +"cifrado de OpenSSL `_. Si no se puede seleccionar ningún cifrado (porque las opciones en " +"tiempo de compilación u otra configuración prohíben el uso de todos los " +"cifrados especificados), se lanzará un :class:`SSLError`." #: ../Doc/library/ssl.rst:1648 msgid "" "when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will give " "the currently selected cipher." msgstr "" +"cuando se conecta, el método :meth:`SSLSocket.cipher` de los sockets SSL " +"dará el cifrado actualmente seleccionado." #: ../Doc/library/ssl.rst:1651 msgid "" "OpenSSL 1.1.1 has TLS 1.3 cipher suites enabled by default. The suites " "cannot be disabled with :meth:`~SSLContext.set_ciphers`." msgstr "" +"OpenSSL 1.1.1 tiene suites de cifrado TLS 1.3 habilitadas por defecto. Las " +"suites no se pueden desactivar con :meth:`~SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:1656 msgid "" @@ -1830,12 +2527,20 @@ msgid "" "successful handshake, the :meth:`SSLSocket.selected_alpn_protocol` method " "will return the agreed-upon protocol." msgstr "" +"Especifica qué protocolos debe anunciar el socket durante el handshake SSL/" +"TLS. Debe ser una lista de cadenas de caracteres ASCII, como ``['http/1.1', " +"'spdy/2']``, ordenadas por preferencia. La selección de un protocolo " +"ocurrirá durante el handshake, y se desarrollará de acuerdo con :rfc:`7301`. " +"Después de un handshake exitoso, el método :meth:`SSLSocket." +"selected_alpn_protocol` devolverá el protocolo acordado." #: ../Doc/library/ssl.rst:1663 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_ALPN` is " "``False``." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si :data:`HAS_ALPN` es " +"``False``." #: ../Doc/library/ssl.rst:1666 msgid "" @@ -1843,6 +2548,10 @@ msgid "" "when both sides support ALPN but cannot agree on a protocol. 1.1.0f+ behaves " "like 1.0.2, :meth:`SSLSocket.selected_alpn_protocol` returns None." msgstr "" +"OpenSSL 1.1.0 a 1.1.0e abortará el handshake y lanzará :exc:`SSLError` " +"cuando ambos lados soporten ALPN pero no puedan acordar un protocolo. 1.1.0f" +"+ se comporta como 1.0.2, :meth:`SSLSocket.selected_alpn_protocol` devuelve " +"None." #: ../Doc/library/ssl.rst:1674 msgid "" @@ -1855,13 +2564,23 @@ msgid "" "`SSLSocket.selected_npn_protocol` method will return the agreed-upon " "protocol." msgstr "" +"Especifica qué protocolos debe anunciar el socket durante el handshake SSL/" +"TLS. Debe ser una lista de cadenas, como ``['http/1.1', 'spdy/2']``, " +"ordenadas por preferencia. La selección de un protocolo ocurrirá durante el " +"handshake, y se desarrollará de acuerdo a la `Negociación del Protocolo de " +"la Capa de Aplicación `_. Después de un handshake exitoso, el método :" +"meth:`SSLSocket.selected_npn_protocol` devolverá el protocolo acordado." #: ../Doc/library/ssl.rst:1682 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_NPN` is " "``False``." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si :data:`HAS_NPN` es " +"``False``." +# No traduzco el título de la sección 3 de la RFC porque la RFC está sólo en inglés. #: ../Doc/library/ssl.rst:1689 msgid "" "Register a callback function that will be called after the TLS Client Hello " @@ -1869,6 +2588,11 @@ msgid "" "client specifies a server name indication. The server name indication " "mechanism is specified in :rfc:`6066` section 3 - Server Name Indication." msgstr "" +"Registra una función callback que se llamará después de que el servidor SSL/" +"TLS haya recibido el mensaje de diálogo TLS Client Hello cuando el cliente " +"TLS especifique una indicación de nombre de servidor. El mecanismo de " +"indicación de nombre de servidor se especifica en :rfc:`6066` sección 3 - " +"Server Name Indication." #: ../Doc/library/ssl.rst:1694 msgid "" @@ -1876,6 +2600,10 @@ msgid "" "to ``None`` then the callback is disabled. Calling this function a " "subsequent time will disable the previously registered callback." msgstr "" +"Sólo se puede establecer una función callback por ``SSLContext``. Si " +"*sni_callback* se establece como ``None``, la función callback se desactiva. " +"Si se llama a esta función una vez más, se desactivará la función callback " +"registrada anteriormente." #: ../Doc/library/ssl.rst:1698 msgid "" @@ -1887,6 +2615,13 @@ msgid "" "internationalized domain name, the server name is an IDN A-label (``\"xn--" "pythn-mua.org\"``)." msgstr "" +"La función callback será llamada con tres argumentos; el primero es el :" +"class:`ssl.SSLSocket`, el segundo es una cadena que representa el nombre del " +"servidor con el que el cliente pretende comunicarse (o :const:`None` si el " +"TLS Client Hello no contiene un nombre de servidor) y el tercer argumento es " +"el :class:`SSLContext` original. El argumento del nombre del servidor es un " +"texto. En el caso de los nombres de dominio internacionalizados, el nombre " +"del servidor es un IDN etiqueta A (``\"xn--pythn-mua.org\"``)." #: ../Doc/library/ssl.rst:1706 msgid "" @@ -1894,6 +2629,10 @@ msgid "" "attr:`SSLSocket.context` attribute to a new object of type :class:" "`SSLContext` representing a certificate chain that matches the server name." msgstr "" +"Un uso típico de esta función callback es cambiar el atributo :attr:" +"`SSLSocket.context` de :class:`ssl.SSLSocket` por un nuevo objeto de tipo :" +"class:`SSLContext` que representa una cadena de certificados que coincide " +"con el nombre del servidor." #: ../Doc/library/ssl.rst:1711 msgid "" @@ -1905,6 +2644,13 @@ msgid "" "progressed beyond the TLS Client Hello and therefore will not contain return " "meaningful values nor can they be called safely." msgstr "" +"Debido a la fase temprana de negociación de la conexión TLS, sólo se pueden " +"utilizar métodos y atributos limitados como :meth:`SSLSocket." +"selected_alpn_protocol` y :attr:`SSLSocket.context`. Los métodos :meth:" +"`SSLSocket.getpeercert`, :meth:`SSLSocket. getpeercert`, :meth:`SSLSocket." +"cipher` y :meth:`SSLSocket.compress` requieren que la conexión TLS haya " +"progresado más allá del TLS Client Hello y, por tanto, no contendrán valores " +"de retorno significativos ni podrán ser llamados con seguridad." #: ../Doc/library/ssl.rst:1719 msgid "" @@ -1914,6 +2660,11 @@ msgid "" "Other return values will result in a TLS fatal error with :const:" "`ALERT_DESCRIPTION_INTERNAL_ERROR`." msgstr "" +"La función *sni_callback* debe devolver ``None`` para permitir que la " +"negociación TLS continúe. Si se requiere un fallo TLS, se puede devolver una " +"constante :const:`ALERT_DESCRIPTION_* `. " +"Otros valores de retorno resultarán en un error fatal TLS con :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR`." #: ../Doc/library/ssl.rst:1725 msgid "" @@ -1921,12 +2672,17 @@ msgid "" "connection will terminate with a fatal TLS alert message :const:" "`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." msgstr "" +"Si se lanza una excepción desde la función *sni_callback* la conexión TLS " +"terminará con un mensaje de alerta TLS fatal :const:" +"`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." #: ../Doc/library/ssl.rst:1729 msgid "" "This method will raise :exc:`NotImplementedError` if the OpenSSL library had " "OPENSSL_NO_TLSEXT defined when it was built." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si la biblioteca OpenSSL " +"tenía definido OPENSSL_NO_TLSEXT cuando se construyó." #: ../Doc/library/ssl.rst:1736 msgid "" @@ -1936,6 +2692,12 @@ msgid "" "server hostname is an IDN-encoded internationalized domain name, the " "*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "" +"Se trata de una API heredada que se mantiene por compatibilidad con " +"versiones anteriores. Cuando sea posible, debería utilizar :attr:" +"`sni_callback` en su lugar. El *server_name_callback* dado es similar a " +"*sni_callback*, excepto que cuando el nombre del servidor es un nombre de " +"dominio internacionalizado codificado con IDN, el *server_name_callback* " +"recibe una etiqueta U decodificada (``\"pythön.org\"``)." #: ../Doc/library/ssl.rst:1742 msgid "" @@ -1943,6 +2705,9 @@ msgid "" "terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " "message to the client." msgstr "" +"Si hay un error de decodificación en el nombre del servidor, la conexión TLS " +"terminará con un mensaje fatal de alerta TLS :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR` al cliente." #: ../Doc/library/ssl.rst:1750 msgid "" @@ -1952,12 +2717,20 @@ msgid "" "parameter should be the path to a file containing DH parameters in PEM " "format." msgstr "" +"Carga los parámetros de generación de claves para el intercambio de claves " +"Diffie-Hellman (DH). El uso del intercambio de claves DH mejora el secreto " +"hacia adelante a expensas de recursos computacionales (tanto en el servidor " +"como en el cliente). El parámetro *dhfile* debe ser la ruta de un archivo " +"que contenga los parámetros DH en formato PEM." #: ../Doc/library/ssl.rst:1756 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_DH_USE` option to further improve security." msgstr "" +"Esta configuración no se aplica a los sockets de los clientes. También puede " +"utilizar la opción :data:`OP_SINGLE_DH_USE` para mejorar aún más la " +"seguridad." #: ../Doc/library/ssl.rst:1763 msgid "" @@ -1967,26 +2740,36 @@ msgid "" "known elliptic curve, for example ``prime256v1`` for a widely supported " "curve." msgstr "" +"Establece el nombre de la curva para el intercambio de claves Diffie-Hellman " +"basado en la curva elíptica (ECDH). ECDH es significativamente más rápido " +"que el DH normal, aunque podría decirse que es igual de seguro. El parámetro " +"*curve_name* debe ser una cadena que describa una curva elíptica conocida, " +"por ejemplo ``prime256v1`` para una curva ampliamente soportada." #: ../Doc/library/ssl.rst:1769 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_ECDH_USE` option to further improve security." msgstr "" +"Esta configuración no se aplica a los sockets de los clientes. También puede " +"utilizar la opción :data:`OP_SINGLE_ECDH_USE` para mejorar aún más la " +"seguridad." #: ../Doc/library/ssl.rst:1772 msgid "This method is not available if :data:`HAS_ECDH` is ``False``." -msgstr "" +msgstr "Este método no está disponible si :data:`HAS_ECDH` es ``False``." #: ../Doc/library/ssl.rst:1777 msgid "" "`SSL/TLS & Perfect Forward Secrecy `_" msgstr "" +"`SSL/TLS & Perfect Forward Secrecy `_" #: ../Doc/library/ssl.rst:1778 msgid "Vincent Bernat." -msgstr "" +msgstr "Vincent Bernat." #: ../Doc/library/ssl.rst:1784 msgid "" @@ -1995,12 +2778,19 @@ msgid "" "socket is tied to the context, its settings and certificates. *sock* must be " "a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" +"Envuelve un socket Python existente *sock* y devuelve una instancia de :attr:" +"`SSLContext.sslsocket_class` (por defecto :class:`SSLSocket`). El socket SSL " +"devuelto está ligado al contexto, su configuración y certificados. *sock* " +"debe ser un socket :data:`~socket.SOCK_STREAM`; otros tipos de socket no son " +"soportados." #: ../Doc/library/ssl.rst:1790 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" +"El parámetro ``server_side`` es un booleano que identifica si se desea un " +"comportamiento del lado del servidor o del lado del cliente en este socket." #: ../Doc/library/ssl.rst:1793 msgid "" @@ -2012,6 +2802,13 @@ msgid "" "connections accepted via the :meth:`accept` method. The method may raise :" "exc:`SSLError`." msgstr "" +"Para los sockets del lado del cliente, la construcción del contexto es " +"perezosa; si el socket subyacente no está conectado todavía, la construcción " +"del contexto se realizará después de llamar a :meth:`connect` en el socket. " +"Para los sockets del lado del servidor, si el socket no tiene un par remoto, " +"se asume que es un socket a la escucha, y la envoltura SSL del lado del " +"servidor se realiza automáticamente en las conexiones del cliente aceptadas " +"a través del método :meth:`accept`. El método puede lanzar :exc:`SSLError`." #: ../Doc/library/ssl.rst:1801 msgid "" @@ -2021,6 +2818,12 @@ msgid "" "certificates, quite similarly to HTTP virtual hosts. Specifying " "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" +"En las conexiones de cliente, el parámetro opcional *server_hostname* " +"especifica el nombre del servicio al que nos estamos conectando. Esto " +"permite que un único servidor aloje varios servicios basados en SSL con " +"certificados distintos, de forma similar a los hosts virtuales HTTP. Al " +"especificar *server_hostname* se producirá un :exc:`ValueError` si " +"*server_side* es verdadero." #: ../Doc/library/ssl.rst:1807 msgid "" @@ -2031,6 +2834,12 @@ msgid "" "explicitly gives the program control over the blocking behavior of the " "socket I/O involved in the handshake." msgstr "" +"El parámetro ``do_handshake_on_connect`` especifica si se hace el handshake " +"SSL automáticamente después de hacer un :meth:`socket.connect`, o si el " +"programa de aplicación lo llamará explícitamente, invocando el método :meth:" +"`SSLSocket.do_handshake`. Llamar explícitamente a :meth:`SSLSocket." +"do_handshake` da al programa el control sobre el comportamiento de bloqueo " +"de la E/S del socket involucrada en el handshake." #: ../Doc/library/ssl.rst:1814 msgid "" @@ -2041,26 +2850,35 @@ msgid "" "raised from the underlying socket; if :const:`False`, it will raise the " "exceptions back to the caller." msgstr "" +"El parámetro ``suppress_ragged_eofs`` especifica cómo el método :meth:" +"`SSLSocket.recv` debe señalar los EOF inesperados desde el otro extremo de " +"la conexión. Si se especifica como :const:`True` (el valor por defecto), " +"devuelve un EOF normal (un objeto bytes vacío) en respuesta a los errores " +"EOF inesperados que se produzcan desde el socket subyacente; si :const:" +"`False`, lanzará las excepciones al llamador." #: ../Doc/library/ssl.rst:1821 msgid "*session*, see :attr:`~SSLSocket.session`." -msgstr "" +msgstr "*session*, véase :attr:`~SSLSocket.session`." #: ../Doc/library/ssl.rst:1823 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" +"Siempre permite pasar un server_hostname, incluso si OpenSSL no tiene SNI." #: ../Doc/library/ssl.rst:1827 ../Doc/library/ssl.rst:1853 msgid "*session* argument was added." -msgstr "" +msgstr "Se agregó el argumento *session*." #: ../Doc/library/ssl.rst:1830 msgid "" "The method returns on instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" +"El método retorna una instancia de :attr:`SSLContext.sslsocket_class` en " +"lugar de un :class:`SSLSocket` hard-coded." #: ../Doc/library/ssl.rst:1836 msgid "" @@ -2068,6 +2886,9 @@ msgid "" "`SSLSocket`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLSocket`." msgstr "" +"El tipo de retorno de :meth:`SSLContext.wrap_socket`, por defecto es :class:" +"`SSLSocket`. El atributo puede anularse en la instancia de la clase para " +"devolver una subclase personalizada de :class:`SSLSocket`." #: ../Doc/library/ssl.rst:1845 msgid "" @@ -2076,18 +2897,26 @@ msgid "" "routines will read input data from the incoming BIO and write data to the " "outgoing BIO." msgstr "" +"Envuelve los objetos BIO *incoming* y *outgoing* y devuelve una instancia " +"de :attr:`SSLContext.sslobject_class` (por defecto :class:`SSLObject`). Las " +"rutinas SSL leerán los datos de entrada de la BIO entrante y escribirán los " +"datos en la BIO saliente." #: ../Doc/library/ssl.rst:1850 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " "meaning as in :meth:`SSLContext.wrap_socket`." msgstr "" +"Los parámetros *server_side*, *server_hostname* y *session* tienen el mismo " +"significado que en :meth:`SSLContext.wrap_socket`." #: ../Doc/library/ssl.rst:1856 msgid "" "The method returns on instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" +"El método retorna una instancia de :attr:`SSLContext.sslobject_class` en " +"lugar de un :class:`SSLObject` hard-coded." #: ../Doc/library/ssl.rst:1862 msgid "" @@ -2095,6 +2924,9 @@ msgid "" "`SSLObject`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLObject`." msgstr "" +"El tipo de retorno de :meth:`SSLContext.wrap_bio`, por defecto es :class:" +"`SSLObject`. El atributo puede anularse en la instancia de la clase para " +"devolver una subclase personalizada de :class:`SSLObject`." #: ../Doc/library/ssl.rst:1870 msgid "" @@ -2104,6 +2936,12 @@ msgid "" "their numeric values. For example, here is the total number of hits and " "misses in the session cache since the context was created::" msgstr "" +"Obtiene estadísticas sobre las sesiones SSL creadas o gestionadas por este " +"contexto. Se devuelve un diccionario que asigna los nombres de cada `pieza " +"de información `_ a sus valores numéricos. Por ejemplo, aquí está " +"el número total de aciertos y errores en la caché de sesión desde que se " +"creó el contexto::" #: ../Doc/library/ssl.rst:1881 msgid "" @@ -2118,6 +2956,17 @@ msgid "" "by default. With other protocols, hostname checking must be enabled " "explicitly." msgstr "" +"Si se compara el hostname del certificado par con :func:`match_hostname` en :" +"meth:`SSLSocket.do_handshake`. El :attr:`~SSLContext.verify_mode` del " +"contexto debe establecerse como :data:`CERT_OPTIONAL` o :data:" +"`CERT_REQUIRED`, y debe pasar *server_hostname* a :meth:`~SSLContext." +"wrap_socket` para que coincida el nombre de host. La activación de la " +"comprobación del hostname establece automáticamente :attr:`~SSLContext." +"verify_mode` de :data:`CERT_NONE` a :data:`CERT_REQUIRED`. No puede volver a " +"establecerse en :data:`CERT_NONE` mientras la comprobación de hostname esté " +"activada. El protocolo :data:`PROTOCOL_TLS_CLIENT` activa la comprobación de " +"hostname por defecto. Con otros protocolos, la comprobación del hostname " +"debe ser activada explícitamente." #: ../Doc/library/ssl.rst:1909 msgid "" @@ -2126,10 +2975,14 @@ msgid "" "verify_mode` is :data:`CERT_NONE`. Previously the same operation would have " "failed with a :exc:`ValueError`." msgstr "" +":attr:`~SSLContext.verify_mode` ahora se cambia automáticamente a :data:" +"`CERT_REQUIRED` cuando la comprobación del hostname está activada y :attr:" +"`~SSLContext.verify_mode` es :data:`CERT_NONE`. Anteriormente la misma " +"operación habría fallado con un :exc:`ValueError`." #: ../Doc/library/ssl.rst:1916 msgid "This features requires OpenSSL 0.9.8f or newer." -msgstr "" +msgstr "Esta funcionalidad requiere OpenSSL 0.9.8f o posterior." #: ../Doc/library/ssl.rst:1920 msgid "" @@ -2139,10 +2992,16 @@ msgid "" "Wireshark. The log file is opened in append-only mode. Writes are " "synchronized between threads, but not between processes." msgstr "" +"Escribe las claves TLS en un archivo keylog, siempre que se genere o reciba " +"material de claves. El archivo keylog está diseñado únicamente para fines de " +"depuración. El formato del archivo está especificado por NSS y es utilizado " +"por muchos analizadores de tráfico como Wireshark. El archivo de registro se " +"abre en modo sólo añadir. Las escrituras se sincronizan entre hilos, pero no " +"entre procesos." #: ../Doc/library/ssl.rst:1930 msgid "This features requires OpenSSL 1.1.1 or newer." -msgstr "" +msgstr "Esta funcionalidad requiere OpenSSL 1.1.1 o posterior." #: ../Doc/library/ssl.rst:1934 msgid "" @@ -2151,6 +3010,11 @@ msgid "" "attribute is read-only for protocols other than :attr:`PROTOCOL_TLS`, :attr:" "`PROTOCOL_TLS_CLIENT`, and :attr:`PROTOCOL_TLS_SERVER`." msgstr "" +"Un miembro enumeración de :class:`TLSVersion` que representa la versión más " +"alta de TLS soportada. El valor por defecto es :attr:`TLSVersion." +"MAXIMUM_SUPPORTED`. El atributo es de sólo lectura para protocolos distintos " +"de :attr:`PROTOCOL_TLS`, :attr:`PROTOCOL_TLS_CLIENT` y :attr:" +"`PROTOCOL_TLS_SERVER`." #: ../Doc/library/ssl.rst:1939 msgid "" @@ -2161,18 +3025,28 @@ msgid "" "`~SSLContext.options` and :attr:`~SSLContext.maximum_version` set to :attr:" "`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." msgstr "" +"Los atributos :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." +"minimum_version` y :attr:`SSLContext.options` afectan a las versiones SSL y " +"TLS soportadas del contexto. La implementación no evita la combinación " +"inválida. Por ejemplo, un contexto con :attr:`OP_NO_TLSv1_2` en :attr:" +"`~SSLContext.options` y :attr:`~SSLContext.maximum_version` establecido en :" +"attr:`TLSVersion.TLSv1_2` no podrá establecer una conexión TLS 1.2." #: ../Doc/library/ssl.rst:1950 ../Doc/library/ssl.rst:1962 msgid "" "This attribute is not available unless the ssl module is compiled with " "OpenSSL 1.1.0g or newer." msgstr "" +"Este atributo no está disponible a menos que el módulo ssl haya sido " +"compilado con OpenSSL 1.1.0g o posterior." #: ../Doc/library/ssl.rst:1957 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" +"Igual que :attr:`SSLContext.maximum_version` excepto que es la versión más " +"baja soportada o :attr:`TLSVersion.MINIMUM_SUPPORTED`." #: ../Doc/library/ssl.rst:1969 msgid "" @@ -2180,12 +3054,17 @@ msgid "" "`TLS_PROTOCOL_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " "connections." msgstr "" +"Controla el número de tickets de sesión TLS 1.3 de un contexto :attr:" +"`TLS_PROTOCOL_SERVER`. El ajuste no tiene impacto en las conexiones TLS 1.0 " +"a 1.2." #: ../Doc/library/ssl.rst:1975 msgid "" "This attribute is not available unless the ssl module is compiled with " "OpenSSL 1.1.1 or newer." msgstr "" +"Este atributo no está disponible a menos que el módulo ssl haya sido " +"compilado con OpenSSL 1.1.1 o posterior." #: ../Doc/library/ssl.rst:1982 msgid "" @@ -2193,6 +3072,10 @@ msgid "" "default value is :data:`OP_ALL`, but you can specify other options such as :" "data:`OP_NO_SSLv2` by ORing them together." msgstr "" +"Un número entero que representa el conjunto de opciones SSL habilitadas en " +"este contexto. El valor por defecto es :data:`OP_ALL`, pero se pueden " +"especificar otras opciones como :data:`OP_NO_SSLv2` mediante la combinación " +"OR." #: ../Doc/library/ssl.rst:1987 msgid "" @@ -2200,10 +3083,13 @@ msgid "" "options, not to clear them. Attempting to clear an option (by resetting the " "corresponding bits) will raise a :exc:`ValueError`." msgstr "" +"Con versiones de OpenSSL anteriores a la 0.9.8m, sólo es posible establecer " +"opciones, no borrarlas. Si se intenta borrar una opción (restableciendo los " +"bits correspondientes) se producirá un :exc:`ValueError`." #: ../Doc/library/ssl.rst:1991 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" -msgstr "" +msgstr ":attr:`SSLContext.options` retorna opciones :class:`Options`:" #: ../Doc/library/ssl.rst:1999 msgid "" @@ -2212,12 +3098,19 @@ msgid "" "during the initial handshake. When enabled, a server may request a TLS " "client certificate at any time after the handshake." msgstr "" +"Habilita la autenticación del cliente TLS 1.3 post-handshake. La " +"autenticación post-handshake está deshabilitada por defecto y un servidor " +"sólo puede solicitar un certificado de cliente TLS durante el handshake " +"inicial. Cuando se habilita, un servidor puede solicitar un certificado de " +"cliente TLS en cualquier momento después del handshake." #: ../Doc/library/ssl.rst:2004 msgid "" "When enabled on client-side sockets, the client signals the server that it " "supports post-handshake authentication." msgstr "" +"Cuando se activa en los sockets del lado del cliente, el cliente indica al " +"servidor que soporta la autenticación post-handshake." #: ../Doc/library/ssl.rst:2007 msgid "" @@ -2226,18 +3119,27 @@ msgid "" "client cert exchange is delayed until :meth:`SSLSocket." "verify_client_post_handshake` is called and some I/O is performed." msgstr "" +"Cuando se activa en los sockets del lado del servidor, :attr:`SSLContext." +"verify_mode` debe establecerse también como :data:`CERT_OPTIONAL` o :data:" +"`CERT_REQUIRED`. El intercambio real de certificados del cliente se retrasa " +"hasta que se llama a :meth:`SSLSocket.verify_client_post_handshake` y se " +"realiza alguna E/S." #: ../Doc/library/ssl.rst:2014 msgid "" "Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " "support, the property value is None and can't be modified" msgstr "" +"Sólo está disponible con OpenSSL 1.1.1 y TLS 1.3 habilitados. Sin soporte de " +"TLS 1.3, el valor de la propiedad es None y no puede ser modificado" #: ../Doc/library/ssl.rst:2021 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" +"La versión del protocolo elegida cuando se construyó el contexto. Este " +"atributo es de sólo lectura." #: ../Doc/library/ssl.rst:2026 msgid "" @@ -2245,10 +3147,13 @@ msgid "" "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" +"Si :attr:`~SSLContext.check_hostname` vuelve a verificar el nombre común del " +"sujeto del certificado en ausencia de una extensión de nombre alternativo " +"del sujeto (por defecto: true)." #: ../Doc/library/ssl.rst:2031 msgid "Only writeable with OpenSSL 1.1.0 or higher." -msgstr "" +msgstr "Solo modificable con OpenSSL 1.1.0 o posterior." #: ../Doc/library/ssl.rst:2037 msgid "" @@ -2257,10 +3162,15 @@ msgid "" "neither require nor verify certificate revocation lists (CRLs). Available " "only with openssl version 0.9.8+." msgstr "" +"Los indicadores para las operaciones de verificación de certificados. Se " +"pueden establecer indicadores como :data:`VERIFY_CRL_CHECK_LEAF` mediante la " +"combinación OR. Por defecto, OpenSSL no requiere ni verifica las listas de " +"revocación de certificados (CRL). Disponible sólo con la versión 0.9.8+ de " +"openssl." #: ../Doc/library/ssl.rst:2044 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" -msgstr "" +msgstr ":attr:`SSLContext.verify_flags` retorna opciones :class:`VerifyFlags`:" #: ../Doc/library/ssl.rst:2052 msgid "" @@ -2268,14 +3178,17 @@ msgid "" "verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" "`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" +"Si se intenta verificar los certificados de otros pares y cómo comportarse " +"si la verificación falla. Este atributo debe ser uno de los siguientes: :" +"data:`CERT_NONE`, :data:`CERT_OPTIONAL` o :data:`CERT_REQUIRED`." #: ../Doc/library/ssl.rst:2056 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" -msgstr "" +msgstr ":attr:`SSLContext.verify_mode` retorna :class:`VerifyMode` enum:" #: ../Doc/library/ssl.rst:2069 msgid "Certificates" -msgstr "" +msgstr "Certificados" #: ../Doc/library/ssl.rst:2071 msgid "" @@ -2287,6 +3200,14 @@ msgid "" "if you encrypt a message with one of the parts, you can decrypt it with the " "other part, and **only** with the other part." msgstr "" +"En general, los certificados forman parte de un sistema de clave pública/" +"clave privada. En este sistema, a cada *principal* (que puede ser una " +"máquina, una persona o una organización) se le asigna una clave de cifrado " +"única de dos partes. Una parte de la clave es pública y se llama *clave " +"pública*; la otra parte se mantiene en secreto y se llama *clave privada*. " +"Las dos partes están relacionadas, en el sentido de que si se cifra un " +"mensaje con una de las partes, se puede descifrar con la otra parte, y " +"**sólo** con la otra parte." #: ../Doc/library/ssl.rst:2079 msgid "" @@ -2301,6 +3222,16 @@ msgid "" "information about the time period over which it is valid. This is expressed " "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" +"Un certificado contiene información sobre dos sujetos. Contiene el nombre de " +"un *sujeto*, y la clave pública del sujeto. También contiene una declaración " +"de un segundo titular, el *emisor*, de que el sujeto es quien dice ser, y de " +"que ésta es efectivamente la clave pública del sujeto. La declaración del " +"emisor está firmada con su clave privada, que sólo el emisor conoce. Sin " +"embargo, cualquiera puede verificar la declaración del emisor encontrando la " +"clave pública del emisor, descifrando la declaración con ella y comparándola " +"con el resto de la información del certificado. El certificado también " +"contiene información sobre el periodo de tiempo en el que es válido. Esto se " +"expresa en dos campos, llamados *notBefore* y *notAfter*." #: ../Doc/library/ssl.rst:2089 msgid "" @@ -2314,6 +3245,16 @@ msgid "" "does usually need to provide sets of certificates to allow this process to " "take place." msgstr "" +"En el uso de certificados en Python, un cliente o servidor puede utilizar un " +"certificado para demostrar quién es. El otro lado de una conexión de red " +"también puede ser requerido para producir un certificado, y ese certificado " +"puede ser validado a la satisfacción del cliente o servidor que requiere " +"dicha validación. El intento de conexión puede configurarse para que lance " +"una excepción si la validación falla. La validación se realiza " +"automáticamente, por el subyacente framework OpenSSL; la aplicación no " +"necesita preocuparse de su mecánica. Sin embargo, la aplicación normalmente " +"necesita proporcionar conjuntos de certificados para permitir que este " +"proceso tenga lugar." #: ../Doc/library/ssl.rst:2099 msgid "" @@ -2321,10 +3262,13 @@ msgid "" "\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a header " "line and a footer line::" msgstr "" +"Python utiliza archivos para contener certificados. Deben ser formateados " +"como \"PEM\" (ver :rfc:`1422`), que es una forma codificada en base-64 " +"envuelta con una línea de cabecera y una línea de pie de página::" #: ../Doc/library/ssl.rst:2108 msgid "Certificate chains" -msgstr "" +msgstr "Cadenas de certificados" #: ../Doc/library/ssl.rst:2110 msgid "" @@ -2341,10 +3285,23 @@ msgid "" "authority that signed our server certificate, to the root certificate of the " "agency which issued the certification authority's certificate::" msgstr "" +"Los archivos de Python que contienen certificados pueden contener una " +"secuencia de certificados, a veces llamada *cadena de certificados*. Esta " +"cadena debería empezar con el certificado específico para el principal que " +"\"es\" el cliente o servidor, y luego el certificado para el emisor de ese " +"certificado, y luego el certificado para el emisor de *ese* certificado, y " +"así sucesivamente hasta llegar a un certificado que es *auto-firmado*, es " +"decir, un certificado que tiene el mismo sujeto y emisor, a veces llamado " +"*certificado raíz*. Los certificados sólo deben concatenarse en el archivo " +"de certificados. Por ejemplo, supongamos que tenemos una cadena de tres " +"certificados, desde el certificado de nuestro servidor al certificado de la " +"autoridad de certificación que firmó nuestro certificado del servidor, hasta " +"el certificado raíz de la agencia que emitió el certificado de la autoridad " +"de certificación::" #: ../Doc/library/ssl.rst:2134 msgid "CA certificates" -msgstr "" +msgstr "Certificados CA" #: ../Doc/library/ssl.rst:2136 msgid "" @@ -2357,10 +3314,18 @@ msgid "" "load_default_certs`, this is done automatically with :func:`." "create_default_context`." msgstr "" +"Si se requiere la validación del certificado del otro lado de la conexión, " +"se necesita proporcionar un archivo \"CA certs\", con las cadenas de " +"certificados para cada emisor en el que se está dispuesto a confiar. De " +"nuevo, este archivo sólo contiene estas cadenas concatenadas. Para la " +"validación, Python utilizará la primera cadena que encuentre en el archivo " +"que coincida. El archivo de certificados de la plataforma se puede utilizar " +"llamando a :meth:`SSLContext.load_default_certs`, esto se hace " +"automáticamente con :func:`.create_default_context`." #: ../Doc/library/ssl.rst:2145 msgid "Combined key and certificate" -msgstr "" +msgstr "Clave y certificado combinados" #: ../Doc/library/ssl.rst:2147 msgid "" @@ -2370,10 +3335,15 @@ msgid "" "with the certificate, it should come before the first certificate in the " "certificate chain::" msgstr "" +"A menudo la clave privada se almacena en el mismo archivo que el " +"certificado; en este caso, sólo es necesario pasar el parámetro ``certfile`` " +"a :meth:`SSLContext.load_cert_chain` y :func:`wrap_socket`. Si la clave " +"privada se almacena con el certificado, debe ir antes del primer certificado " +"de la cadena de certificados::" #: ../Doc/library/ssl.rst:2161 msgid "Self-signed certificates" -msgstr "" +msgstr "Certificados auto-firmados" #: ../Doc/library/ssl.rst:2163 msgid "" @@ -2384,6 +3354,12 @@ msgid "" "signed certificate. The simplest way to do this is with the OpenSSL " "package, using something like the following::" msgstr "" +"Si va a crear un servidor que proporcione servicios de conexión encriptada " +"SSL, necesitará adquirir un certificado para ese servicio. Hay muchas formas " +"de adquirir los certificados adecuados, como comprar uno a una autoridad de " +"certificación. Otra práctica común es generar un certificado auto-firmado. " +"La forma más sencilla de hacerlo es con el paquete OpenSSL, utilizando algo " +"como lo siguiente:" #: ../Doc/library/ssl.rst:2192 msgid "" @@ -2391,36 +3367,47 @@ msgid "" "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" +"La desventaja de un certificado auto-firmado es que es su propio certificado " +"raíz, y nadie más lo tendrá en su caché de certificados raíz conocidos (y de " +"confianza)." #: ../Doc/library/ssl.rst:2198 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/ssl.rst:2201 msgid "Testing for SSL support" -msgstr "" +msgstr "Pruebas de compatibilidad con SSL" #: ../Doc/library/ssl.rst:2203 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" +"Para comprobar la presencia de soporte SSL en una instalación de Python, el " +"código del usuario debe utilizar el siguiente modismo::" #: ../Doc/library/ssl.rst:2214 msgid "Client-side operation" -msgstr "" +msgstr "Operación del lado del cliente" #: ../Doc/library/ssl.rst:2216 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" +"Este ejemplo crea un contexto SSL con la configuración de seguridad " +"recomendada para los sockets del cliente, incluyendo la verificación " +"automática de certificados::" #: ../Doc/library/ssl.rst:2221 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" +"Si prefieres ajustar la configuración de seguridad tú mismo, puedes crear un " +"contexto desde cero (pero ten en cuenta que podrías no acertar con la " +"configuración)::" #: ../Doc/library/ssl.rst:2228 msgid "" @@ -2428,6 +3415,9 @@ msgid "" "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" +"(este fragmento asume que tu sistema operativo coloca un paquete de todos " +"los certificados CA en ``/etc/ssl/certs/ca-bundle.crt``; si no es así, " +"obtendrá un error y tendrá que ajustar la ubicación)" #: ../Doc/library/ssl.rst:2232 msgid "" @@ -2436,6 +3426,11 @@ msgid "" "to :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` is set to " "``True``. All other protocols create SSL contexts with insecure defaults." msgstr "" +"El protocolo :data:`PROTOCOL_TLS_CLIENT` configura el contexto para la " +"validación de certificados y la verificación del hostname. :attr:" +"`~SSLContext.verify_mode` se establece en :data:`CERT_REQUIRED` y :attr:" +"`~SSLContext.check_hostname` se establece en ``True``. Todos los demás " +"protocolos crean contextos SSL con valores predeterminados inseguros." #: ../Doc/library/ssl.rst:2237 msgid "" @@ -2445,26 +3440,36 @@ msgid "" "certificates, checks the signature for correctness, and verifies other " "properties like validity and identity of the hostname::" msgstr "" +"Cuando se utiliza el contexto para conectarse a un servidor, :const:" +"`CERT_REQUIRED` y :attr:`~SSLContext.check_hostname` validan el certificado " +"del servidor: se asegura de que el certificado del servidor se ha firmado " +"con uno de los certificados de la CA, se comprueba que la firma es correcta " +"y se verifican otras propiedades como la validez y la identidad del " +"hostname::" #: ../Doc/library/ssl.rst:2247 msgid "You may then fetch the certificate::" -msgstr "" +msgstr "A continuación, puede obtener el certificado::" #: ../Doc/library/ssl.rst:2251 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" +"La inspección visual muestra que el certificado sí identifica el servicio " +"deseado (es decir, el host HTTPS ``www.python.org``)::" #: ../Doc/library/ssl.rst:2294 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" +"Ahora que se ha establecido el canal SSL y se ha verificado el certificado, " +"se puede proceder a hablar con el servidor::" #: ../Doc/library/ssl.rst:2321 msgid "Server-side operation" -msgstr "" +msgstr "Operación del lado del servidor" #: ../Doc/library/ssl.rst:2323 msgid "" @@ -2474,6 +3479,12 @@ msgid "" "you'll open a socket, bind it to a port, call :meth:`listen` on it, and " "start waiting for clients to connect::" msgstr "" +"Para el funcionamiento del servidor, normalmente necesitarás tener un " +"certificado de servidor y una clave privada, cada uno en un archivo. Primero " +"crearás un contexto que contenga la clave y el certificado, para que los " +"clientes puedan comprobar tu autenticidad. Entonces abrirás un socket, lo " +"enlazarás a un puerto, llamarás a :meth:`listen` en él, y empezarás a " +"esperar a que los clientes se conecten::" #: ../Doc/library/ssl.rst:2338 msgid "" @@ -2481,12 +3492,18 @@ msgid "" "new socket from the other end, and use the context's :meth:`SSLContext." "wrap_socket` method to create a server-side SSL socket for the connection::" msgstr "" +"Cuando un cliente se conecta, llamarás a :meth:`accept` en el socket para " +"obtener el nuevo socket del otro extremo, y utilizarás el método :meth:" +"`SSLContext.wrap_socket` del contexto para crear un socket SSL del lado del " +"servidor para la conexión::" #: ../Doc/library/ssl.rst:2351 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" +"Entonces leerás los datos del ``connstream`` y harás algo con ellos hasta " +"que hayas terminado con el cliente (o el cliente haya terminado contigo)::" #: ../Doc/library/ssl.rst:2365 msgid "" @@ -2495,10 +3512,14 @@ msgid "" "put the sockets in :ref:`non-blocking mode ` and use an " "event loop)." msgstr "" +"Y volver a escuchar nuevas conexiones de clientes (por supuesto, un servidor " +"real probablemente manejaría cada conexión de cliente en un hilo separado, o " +"pondría los sockets en modo :ref:`no-bloqueo ` y usaría un " +"bucle de eventos)." #: ../Doc/library/ssl.rst:2373 msgid "Notes on non-blocking sockets" -msgstr "" +msgstr "Notas sobre los sockets no bloqueantes" #: ../Doc/library/ssl.rst:2375 msgid "" @@ -2506,6 +3527,9 @@ msgid "" "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" +"Los sockets SSL se comportan de forma ligeramente diferente a los sockets " +"normales en modo no bloqueante. Cuando se trabaja con sockets no " +"bloqueantes, hay varias cosas que hay que tener en cuenta:" #: ../Doc/library/ssl.rst:2379 msgid "" @@ -2518,12 +3542,24 @@ msgid "" "underlying socket first, and attempts to *read* from the SSL socket may " "require a prior *write* to the underlying socket." msgstr "" +"La mayoría de los métodos de :class:`SSLSocket` lanzarán :exc:" +"`SSLWantWriteError` o :exc:`SSLWantReadError` en lugar de :exc:" +"`BlockingIOError` si una operación de E/S se bloquea. :exc:" +"`SSLWantReadError` se lanzará si es necesaria una operación de lectura en el " +"socket subyacente, y :exc:`SSLWantWriteError` para una operación de " +"escritura en el socket subyacente. Tenga en cuenta que los intentos de " +"*escribir* en un socket SSL pueden requerir *leer* del socket subyacente " +"primero, y los intentos de *leer* del socket SSL pueden requerir una " +"*escritura* previa en el socket subyacente." #: ../Doc/library/ssl.rst:2391 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" +"En versiones anteriores de Python, el método :meth:`!SSLSocket.send` " +"devolvía cero en lugar de lanzar :exc:`SSLWantWriteError` o :exc:" +"`SSLWantReadError`." #: ../Doc/library/ssl.rst:2395 msgid "" @@ -2534,6 +3570,12 @@ msgid "" "and :meth:`SSLSocket.send` failures, and retry after another call to :func:" "`~select.select`." msgstr "" +"Llamar a :func:`~select.select` le indica que se puede leer (o escribir) en " +"el socket a nivel del SO, pero no implica que haya suficientes datos en la " +"capa superior SSL. Por ejemplo, puede que sólo haya llegado una parte de una " +"trama SSL. Por lo tanto, debe estar preparado para manejar los fallos de :" +"meth:`SSLSocket.recv` y :meth:`SSLSocket.send`, y re-intentar después de " +"otra llamada a :func:`~select.select`." #: ../Doc/library/ssl.rst:2402 msgid "" @@ -2543,12 +3585,19 @@ msgid "" "potentially available data, and then only block on a :func:`~select.select` " "call if still necessary." msgstr "" +"Por el contrario, dado que la capa SSL tiene su propia estructura, un socket " +"SSL puede tener datos disponibles para leer sin que :func:`~select.select` " +"lo sepa. Por lo tanto, debería llamar primero a :meth:`SSLSocket.recv` para " +"drenar cualquier dato potencialmente disponible, y luego sólo bloquear en " +"una llamada a :func:`~select.select` si todavía es necesario." #: ../Doc/library/ssl.rst:2408 msgid "" "(of course, similar provisions apply when using other primitives such as :" "func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" +"(por supuesto, se aplican disposiciones similares cuando se utilizan otras " +"primitivas como :func:`~select.poll`, o las del módulo :mod:`selectors`)" #: ../Doc/library/ssl.rst:2411 msgid "" @@ -2557,6 +3606,10 @@ msgid "" "is a synopsis using :func:`~select.select` to wait for the socket's " "readiness::" msgstr "" +"El handshake SSL en sí mismo será no bloqueante: el método :meth:`SSLSocket." +"do_handshake` tiene que ser re-intentado hasta que regrese con éxito. Aquí " +"hay una sinopsis usando :func:`~select.select` para esperar la " +"disponibilidad del socket::" #: ../Doc/library/ssl.rst:2427 msgid "" @@ -2566,10 +3619,15 @@ msgid "" "`SSLWantReadError` and :exc:`BlockingIOError` exceptions. It runs the SSL " "handshake asynchronously as well." msgstr "" +"El módulo :mod:`asyncio` soporta :ref:`sockets SSL no bloqueantes ` y proporciona una API de alto nivel. Busca eventos usando el " +"módulo :mod:`selectors` y maneja las excepciones :exc:`SSLWantWriteError`, :" +"exc:`SSLWantReadError` y :exc:`BlockingIOError`. También ejecuta el " +"handshake SSL de forma asíncrona." #: ../Doc/library/ssl.rst:2436 msgid "Memory BIO Support" -msgstr "" +msgstr "Soporte de memoria BIO" #: ../Doc/library/ssl.rst:2440 msgid "" @@ -2577,14 +3635,17 @@ msgid "" "`SSLSocket` class has provided two related but distinct areas of " "functionality:" msgstr "" +"Desde que se introdujo el módulo SSL en Python 2.6, la clase :class:" +"`SSLSocket` ha proporcionado dos áreas de funcionalidad relacionadas pero " +"distintas:" #: ../Doc/library/ssl.rst:2443 msgid "SSL protocol handling" -msgstr "" +msgstr "Manejo del protocolo SSL" #: ../Doc/library/ssl.rst:2444 msgid "Network IO" -msgstr "" +msgstr "E/S de red" #: ../Doc/library/ssl.rst:2446 msgid "" @@ -2593,6 +3654,10 @@ msgid "" "used as a drop-in replacement for a regular socket, making it very easy to " "add SSL support to an existing application." msgstr "" +"La API de E/S de red es idéntica a la proporcionada por :class:`socket." +"socket`, de la que también hereda :class:`SSLSocket`. Esto permite que un " +"socket SSL sea utilizado como un reemplazo de un socket normal, haciendo que " +"sea muy fácil añadir soporte SSL a una aplicación existente." #: ../Doc/library/ssl.rst:2451 msgid "" @@ -2605,6 +3670,15 @@ msgid "" "this purpose, a reduced scope variant of :class:`SSLSocket` called :class:" "`SSLObject` is provided." msgstr "" +"La combinación del manejo del protocolo SSL y la E/S de red suele funcionar " +"bien, pero hay algunos casos en los que no es así. Un ejemplo son los " +"frameworks de E/S asíncronos que quieren utilizar un modelo de " +"multiplexación de E/S diferente al modelo \"selección/consulta de un " +"descriptor de archivo\" (basado en la preparación) que es asumido por :class:" +"`socket.socket` y por las rutinas internas de E/S de socket de OpenSSL. Esto " +"es principalmente relevante para plataformas como Windows donde este modelo " +"no es eficiente. Para este propósito, se proporciona una variante de ámbito " +"reducido de :class:`SSLSocket` llamada :class:`SSLObject`." #: ../Doc/library/ssl.rst:2462 msgid "" @@ -2613,6 +3687,10 @@ msgid "" "typically used by framework authors that want to implement asynchronous IO " "for SSL through memory buffers." msgstr "" +"Una variante de alcance reducido de :class:`SSLSocket` que representa una " +"instancia del protocolo SSL que no contiene ningún método de E/S de red. " +"Esta clase suele ser utilizada por los autores de frameworks que quieren " +"implementar E/S asíncrona para SSL a través de buffers de memoria." #: ../Doc/library/ssl.rst:2467 msgid "" @@ -2621,6 +3699,11 @@ msgid "" "but does not provide any network IO itself. IO needs to be performed through " "separate \"BIO\" objects which are OpenSSL's IO abstraction layer." msgstr "" +"Esta clase implementa una interfaz sobre un objeto SSL de bajo nivel como el " +"implementado por OpenSSL. Este objeto captura el estado de una conexión SSL " +"pero no proporciona ninguna E/S de red en sí misma. La E/S debe realizarse a " +"través de objetos \"BIO\" separados que son la capa de abstracción de E/S de " +"OpenSSL." #: ../Doc/library/ssl.rst:2472 msgid "" @@ -2630,104 +3713,116 @@ msgid "" "*incoming* BIO is used to pass data from Python to the SSL protocol " "instance, while the *outgoing* BIO is used to pass data the other way around." msgstr "" +"Esta clase no tiene un constructor público. Se debe crear una instancia :" +"class:`SSLObject` utilizando el método :meth:`~SSLContext.wrap_bio`. Este " +"método creará la instancia :class:`SSLObject` y la vinculará a un par de " +"BIOs. El BIO *de entrada* se utiliza para pasar los datos de Python a la " +"instancia del protocolo SSL, mientras que el BIO *de salida* se utiliza para " +"pasar los datos a la inversa." #: ../Doc/library/ssl.rst:2479 msgid "The following methods are available:" -msgstr "" +msgstr "Los siguientes métodos son disponibles:" #: ../Doc/library/ssl.rst:2481 msgid ":attr:`~SSLSocket.context`" -msgstr "" +msgstr ":attr:`~SSLSocket.context`" #: ../Doc/library/ssl.rst:2482 msgid ":attr:`~SSLSocket.server_side`" -msgstr "" +msgstr ":attr:`~SSLSocket.server_side`" #: ../Doc/library/ssl.rst:2483 msgid ":attr:`~SSLSocket.server_hostname`" -msgstr "" +msgstr ":attr:`~SSLSocket.server_hostname`" #: ../Doc/library/ssl.rst:2484 msgid ":attr:`~SSLSocket.session`" -msgstr "" +msgstr ":attr:`~SSLSocket.session`" #: ../Doc/library/ssl.rst:2485 msgid ":attr:`~SSLSocket.session_reused`" -msgstr "" +msgstr ":attr:`~SSLSocket.session_reused`" #: ../Doc/library/ssl.rst:2486 msgid ":meth:`~SSLSocket.read`" -msgstr "" +msgstr ":meth:`~SSLSocket.read`" #: ../Doc/library/ssl.rst:2487 msgid ":meth:`~SSLSocket.write`" -msgstr "" +msgstr ":meth:`~SSLSocket.write`" #: ../Doc/library/ssl.rst:2488 msgid ":meth:`~SSLSocket.getpeercert`" -msgstr "" +msgstr ":meth:`~SSLSocket.getpeercert`" #: ../Doc/library/ssl.rst:2489 msgid ":meth:`~SSLSocket.selected_alpn_protocol`" -msgstr "" +msgstr ":meth:`~SSLSocket.selected_alpn_protocol`" #: ../Doc/library/ssl.rst:2490 msgid ":meth:`~SSLSocket.selected_npn_protocol`" -msgstr "" +msgstr ":meth:`~SSLSocket.selected_npn_protocol`" #: ../Doc/library/ssl.rst:2491 msgid ":meth:`~SSLSocket.cipher`" -msgstr "" +msgstr ":meth:`~SSLSocket.cipher`" #: ../Doc/library/ssl.rst:2492 msgid ":meth:`~SSLSocket.shared_ciphers`" -msgstr "" +msgstr ":meth:`~SSLSocket.shared_ciphers`" #: ../Doc/library/ssl.rst:2493 msgid ":meth:`~SSLSocket.compression`" -msgstr "" +msgstr ":meth:`~SSLSocket.compression`" #: ../Doc/library/ssl.rst:2494 msgid ":meth:`~SSLSocket.pending`" -msgstr "" +msgstr ":meth:`~SSLSocket.pending`" #: ../Doc/library/ssl.rst:2495 msgid ":meth:`~SSLSocket.do_handshake`" -msgstr "" +msgstr ":meth:`~SSLSocket.do_handshake`" #: ../Doc/library/ssl.rst:2496 msgid ":meth:`~SSLSocket.verify_client_post_handshake`" -msgstr "" +msgstr ":meth:`~SSLSocket.verify_client_post_handshake`" #: ../Doc/library/ssl.rst:2497 msgid ":meth:`~SSLSocket.unwrap`" -msgstr "" +msgstr ":meth:`~SSLSocket.unwrap`" #: ../Doc/library/ssl.rst:2498 msgid ":meth:`~SSLSocket.get_channel_binding`" -msgstr "" +msgstr ":meth:`~SSLSocket.get_channel_binding`" #: ../Doc/library/ssl.rst:2499 msgid ":meth:`~SSLSocket.version`" -msgstr "" +msgstr ":meth:`~SSLSocket.version`" #: ../Doc/library/ssl.rst:2501 msgid "" "When compared to :class:`SSLSocket`, this object lacks the following " "features:" msgstr "" +"En comparación con :class:`SSLSocket`, este objeto carece de las siguientes " +"características:" #: ../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 "" +"Cualquier forma de E/S de red; ``recv()`` y ``send()`` leen y escriben sólo " +"en los buffers subyacentes de :class:`MemoryBIO`." #: ../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 "" +"No existe la maquinaria *do_handshake_on_connect*. Siempre hay que llamar " +"manualmente a :meth:`~SSLSocket.do_handshake` para iniciar el handshake." #: ../Doc/library/ssl.rst:2510 msgid "" @@ -2735,12 +3830,18 @@ msgid "" "that are in violation of the protocol are reported via the :exc:" "`SSLEOFError` exception." msgstr "" +"No hay manejo de *suppress_ragged_eofs*. Todas las condiciones de fin de " +"archivo que violan el protocolo se reportan a través de la excepción :exc:" +"`SSLEOFError`." #: ../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 "" +"La llamada al método :meth:`~SSLSocket.unwrap` no devuelve nada, a " +"diferencia de lo que ocurre con un socket SSL, que devuelve el socket " +"subyacente." #: ../Doc/library/ssl.rst:2517 msgid "" @@ -2748,10 +3849,13 @@ msgid "" "set_servername_callback` will get an :class:`SSLObject` instance instead of " "a :class:`SSLSocket` instance as its first parameter." msgstr "" +"La función callback *server_name_callback* pasada a :meth:`SSLContext." +"set_servername_callback` obtendrá una instancia de :class:`SSLObject` en " +"lugar de una instancia de :class:`SSLSocket` como primer parámetro." #: ../Doc/library/ssl.rst:2521 msgid "Some notes related to the use of :class:`SSLObject`:" -msgstr "" +msgstr "Algunas notas relacionadas con el uso de :class:`SSLObject`:" #: ../Doc/library/ssl.rst:2523 msgid "" @@ -2759,6 +3863,10 @@ msgid "" "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 "" +"Toda la E/S en un :class:`SSLObject` es :ref:`non-blocking `. Esto significa que, por ejemplo, :meth:`~SSLSocket.read` " +"lanzará un :exc:`SSLWantReadError` si necesita más datos de los que la BIO " +"entrante tiene disponibles." #: ../Doc/library/ssl.rst:2528 msgid "" @@ -2766,6 +3874,9 @@ msgid "" "`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" "class:`SSLContext`." msgstr "" +"No hay una llamada a nivel de módulo ``wrap_bio()`` como la que hay para :" +"meth:`~SSLContext.wrap_socket`. Un :class:`SSLObject` siempre se crea a " +"través de un :class:`SSLContext`." #: ../Doc/library/ssl.rst:2532 msgid "" @@ -2773,6 +3884,9 @@ msgid "" "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" +"Las instancias :class:`SSLObject` deben crearse con :meth:`~SSLContext." +"wrap_bio`. En versiones anteriores, era posible crear instancias " +"directamente. Esto nunca fue documentado ni soportado oficialmente." #: ../Doc/library/ssl.rst:2538 msgid "" @@ -2780,40 +3894,56 @@ msgid "" "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" +"Un SSLObject se comunica con el mundo exterior utilizando buffers de " +"memoria. La clase :class:`MemoryBIO` proporciona un buffer de memoria que " +"puede ser utilizado para este propósito. Envuelve un objeto BIO (Basic IO) " +"de memoria de OpenSSL:" #: ../Doc/library/ssl.rst:2544 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" +"Un buffer de memoria que se puede utilizar para pasar datos entre Python y " +"una instancia del protocolo SSL." #: ../Doc/library/ssl.rst:2549 msgid "Return the number of bytes currently in the memory buffer." msgstr "" +"Retorna el número de bytes que se encuentran actualmente en la memoria " +"buffer." #: ../Doc/library/ssl.rst:2553 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" +"Un booleano que indica si la memoria BIO es actual en la posición de fin de " +"archivo." #: ../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 "" +"Lee hasta *n* bytes del buffer de memoria. Si *n* no se especifica o es " +"negativo, se devuelven todos los bytes." #: ../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 "" +"Escribe los bytes de *buf* en la memoria BIO. El argumento *buf* debe ser un " +"objeto que soporte el protocolo de buffer." #: ../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 "" +"El valor de retorno es el número de bytes escritos, que siempre es igual a " +"la longitud de *buf*." #: ../Doc/library/ssl.rst:2571 msgid "" @@ -2821,22 +3951,26 @@ msgid "" "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 "" +"Escribe un marcador EOF en la memoria BIO. Después de llamar a este método, " +"es ilegal llamar a :meth:`~MemoryBIO.write`. El atributo :attr:`eof` se " +"convertirá en verdadero después de que se hayan leído todos los datos que " +"hay actualmente en el buffer." #: ../Doc/library/ssl.rst:2577 msgid "SSL session" -msgstr "" +msgstr "Sesión SSL" #: ../Doc/library/ssl.rst:2583 msgid "Session object used by :attr:`~SSLSocket.session`." -msgstr "" +msgstr "Objeto sesión usado por :attr:`~SSLSocket.session`." #: ../Doc/library/ssl.rst:2595 msgid "Security considerations" -msgstr "" +msgstr "Consideraciones de seguridad" #: ../Doc/library/ssl.rst:2598 msgid "Best defaults" -msgstr "" +msgstr "Los mejores valores por defecto" #: ../Doc/library/ssl.rst:2600 msgid "" @@ -2847,18 +3981,28 @@ msgid "" "hostname checking, and try to choose reasonably secure protocol and cipher " "settings." msgstr "" +"Para el **uso en el cliente**, si no tiene ningún requisito especial para su " +"política de seguridad, es muy recomendable que utilice la función :func:" +"`create_default_context` para crear su contexto SSL. Cargará los " +"certificados CA de confianza del sistema, habilitará la validación de " +"certificados y la comprobación del hostname, e intentará elegir una " +"configuración de protocolo y cifrado razonablemente segura." #: ../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 "" +"Por ejemplo, así es como se utiliza la clase :class:`smtplib.SMTP` para " +"crear una conexión segura y de confianza con un servidor SMTP::" #: ../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 "" +"Si se necesita un certificado de cliente para la conexión, se puede añadir " +"con :meth:`SSLContext.load_cert_chain`." #: ../Doc/library/ssl.rst:2619 msgid "" @@ -2867,14 +4011,18 @@ msgid "" "nor hostname checking enabled by default. If you do so, please read the " "paragraphs below to achieve a good security level." msgstr "" +"Por el contrario, si crea el contexto SSL llamando usted mismo al " +"constructor :class:`SSLContext`, no tendrá activada por defecto la " +"validación de certificados ni la comprobación de hostname. Si lo hace, lea " +"los párrafos siguientes para conseguir un buen nivel de seguridad." #: ../Doc/library/ssl.rst:2625 msgid "Manual settings" -msgstr "" +msgstr "Ajustes manuales" #: ../Doc/library/ssl.rst:2628 msgid "Verifying certificates" -msgstr "" +msgstr "Verificación de certificados" #: ../Doc/library/ssl.rst:2630 msgid "" @@ -2890,12 +4038,27 @@ msgid "" "case, the :func:`match_hostname` function can be used. This common check is " "automatically performed when :attr:`SSLContext.check_hostname` is enabled." msgstr "" - +"Cuando se llama al constructor de :class:`SSLContext` directamente, :const:" +"`CERT_NONE` es el valor por defecto. Dado que no autentifica al otro peer, " +"puede ser inseguro, especialmente en modo cliente, donde la mayoría de las " +"veces se quiere asegurar la autenticidad del servidor con el que se está " +"hablando. Por lo tanto, cuando se está en modo cliente, es muy recomendable " +"utilizar :const:`CERT_REQUIRED`. Sin embargo, no es suficiente por sí mismo; " +"también hay que comprobar que el certificado del servidor, que se puede " +"obtener llamando a :meth:`SSLSocket.getpeercert`, coincide con el servicio " +"deseado. Para muchos protocolos y aplicaciones, el servicio puede ser " +"identificado por el hostname; en este caso, se puede utilizar la función :" +"func:`match_hostname`. Esta comprobación común se realiza automáticamente " +"cuando :attr:`SSLContext.check_hostname` está activado." + +# La expresión "hostname matching" suena un poco raro aquí. Sin embargo, como no lo he traducido en el resto del documento, lo dejo aquí también en inglés. #: ../Doc/library/ssl.rst:2643 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`match_hostname`." msgstr "" +"Las hostname matchings son ahora realizadas por OpenSSL. Python ya no " +"utiliza :func:`match_hostname`." #: ../Doc/library/ssl.rst:2647 msgid "" @@ -2904,10 +4067,14 @@ msgid "" "have to specify :const:`CERT_REQUIRED` and similarly check the client " "certificate." msgstr "" +"En el modo servidor, si quiere autenticar a sus clientes utilizando la capa " +"SSL (en lugar de utilizar un mecanismo de autenticación de nivel superior), " +"también tendrá que especificar :const:`CERT_REQUIRED` y comprobar de forma " +"similar el certificado del cliente." #: ../Doc/library/ssl.rst:2653 msgid "Protocol versions" -msgstr "" +msgstr "Versiones del protocolo" #: ../Doc/library/ssl.rst:2655 msgid "" @@ -2917,6 +4084,11 @@ msgid "" "`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are disabled " "by default." msgstr "" +"Las versiones 2 y 3 de SSL se consideran inseguras y, por lo tanto, su uso " +"es peligroso. Si desea la máxima compatibilidad entre clientes y servidores, " +"se recomienda utilizar :const:`PROTOCOL_TLS_CLIENT` o :const:" +"`PROTOCOL_TLS_SERVER` como versión del protocolo. SSLv2 y SSLv3 están " +"desactivados por defecto." #: ../Doc/library/ssl.rst:2668 msgid "" @@ -2925,11 +4097,17 @@ msgid "" "`PROTOCOL_TLS_CLIENT` implies certificate validation and hostname checks by " "default. You have to load certificates into the context." msgstr "" +"El contexto SSL creado anteriormente sólo permitirá conexiones TLSv1.2 y " +"posteriores (si su sistema lo soporta) a un servidor. :const:" +"`PROTOCOL_TLS_CLIENT` implica la validación del certificado y la " +"comprobación del nombre de host por defecto. Tiene que cargar los " +"certificados en el contexto." #: ../Doc/library/ssl.rst:2675 msgid "Cipher selection" -msgstr "" +msgstr "Selección de cifrado" +# Aquí me parece mas claro traducir el título del enlace (incluso si el enlace no está en español). #: ../Doc/library/ssl.rst:2677 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " @@ -2942,10 +4120,19 @@ msgid "" "by a given cipher list, use :meth:`SSLContext.get_ciphers` or the ``openssl " "ciphers`` command on your system." msgstr "" +"Si tienes requisitos de seguridad avanzados, es posible ajustar los cifrados " +"habilitados al negociar una sesión SSL mediante el método :meth:`SSLContext." +"set_ciphers`. A partir de Python 3.2.3, el módulo ssl deshabilita ciertos " +"cifrados débiles por defecto, pero es posible que quieras restringir más la " +"elección del cifrado. Asegúrese de leer la documentación de OpenSSL sobre el " +"`formato de la lista de cifrado `_. Si quiere comprobar qué cifrados están " +"habilitados por una determinada lista de cifrado, utilice :meth:`SSLContext." +"get_ciphers` o el comando ``openssl ciphers`` en su sistema." #: ../Doc/library/ssl.rst:2688 msgid "Multi-processing" -msgstr "" +msgstr "Multiprocesamiento" #: ../Doc/library/ssl.rst:2690 msgid "" @@ -2957,10 +4144,18 @@ msgid "" "successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or :func:" "`~ssl.RAND_pseudo_bytes` is sufficient." msgstr "" +"Si utiliza este módulo como parte de una aplicación multiproceso " +"(utilizando, por ejemplo, los módulos :mod:`multiprocessing` o :mod:" +"`concurrent.futures`), tenga en cuenta que el generador de números " +"aleatorios interno de OpenSSL no maneja adecuadamente los procesos " +"bifurcados. Las aplicaciones deben cambiar el estado del PRNG del proceso " +"padre si utilizan cualquier función de SSL con :func:`os.fork`. Cualquier " +"llamada exitosa de :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` o :func:" +"`~ssl.RAND_pseudo_bytes` es suficiente." #: ../Doc/library/ssl.rst:2702 msgid "TLS 1.3" -msgstr "" +msgstr "TLS 1.3" #: ../Doc/library/ssl.rst:2706 msgid "" @@ -2968,6 +4163,10 @@ msgid "" "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 "" +"Python tiene soporte provisional y experimental para TLS 1.3 con OpenSSL " +"1.1.1. El nuevo protocolo se comporta de forma ligeramente diferente a la " +"versión anterior de TLS/SSL. Algunas de las nuevas características de TLS " +"1.3 aún no están disponibles." #: ../Doc/library/ssl.rst:2710 msgid "" @@ -2976,6 +4175,10 @@ msgid "" "set_ciphers` cannot enable or disable any TLS 1.3 ciphers yet, but :meth:" "`SSLContext.get_ciphers` returns them." msgstr "" +"TLS 1.3 utiliza un conjunto disjunto de suites de cifrado. Todas las suites " +"de cifrado AES-GCM y ChaCha20 están habilitadas por defecto. El método :" +"meth:`SSLContext.set_ciphers` aún no puede habilitar o deshabilitar ningún " +"cifrado de TLS 1.3, pero :meth:`SSLContext.get_ciphers` los devuelve." #: ../Doc/library/ssl.rst:2714 msgid "" @@ -2983,6 +4186,9 @@ msgid "" "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" +"Los tickets de sesión ya no se envían como parte del handshake inicial y se " +"manejan de forma diferente. :attr:`SSLSocket.session` y :class:`SSLSession` " +"no son compatibles con TLS 1.3." #: ../Doc/library/ssl.rst:2717 msgid "" @@ -2991,16 +4197,23 @@ msgid "" "certificate requests while they send or receive application data from the " "server." msgstr "" +"Los certificados del lado del cliente ya no se verifican durante el " +"handshake inicial. Un servidor puede solicitar un certificado en cualquier " +"momento. Los clientes procesan las solicitudes de certificados mientras " +"envían o reciben datos de la aplicación desde el servidor." #: ../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 "" +"Las funciones de TLS 1.3, como los datos anticipados, la solicitud de " +"certificado de cliente TLS diferida, la configuración del algoritmo de firma " +"y la repetición de claves, aún no son compatibles." #: ../Doc/library/ssl.rst:2728 msgid "LibreSSL support" -msgstr "" +msgstr "Soporte LibreSSL" #: ../Doc/library/ssl.rst:2730 msgid "" @@ -3008,6 +4221,9 @@ msgid "" "LibreSSL. Some features are not available when the ssl module is compiled " "with LibreSSL." msgstr "" +"LibreSSL es un fork de OpenSSL 1.0.1. El módulo ssl tiene un soporte " +"limitado para LibreSSL. Algunas características no están disponibles cuando " +"el módulo ssl se compila con LibreSSL." #: ../Doc/library/ssl.rst:2734 msgid "" @@ -3015,6 +4231,9 @@ msgid "" "set_npn_protocols` and :meth:`SSLSocket.selected_npn_protocol` are not " "available." msgstr "" +"LibreSSL >= 2.6.1 ya no soporta NPN. Los métodos :meth:`SSLContext." +"set_npn_protocols` y :meth:`SSLSocket.selected_npn_protocol` no están " +"disponibles." #: ../Doc/library/ssl.rst:2737 msgid "" @@ -3022,97 +4241,114 @@ msgid "" "`SSL_CERT_FILE` and :envvar:`SSL_CERT_PATH` although :func:" "`get_default_verify_paths` still reports them." msgstr "" +":meth:`SSLContext.set_default_verify_paths` ignora las variables de entorno :" +"envvar:`SSL_CERT_FILE` y :envvar:`SSL_CERT_PATH` aunque :func:" +"`get_default_verify_paths` aún los reporta." #: ../Doc/library/ssl.rst:2745 msgid "Class :class:`socket.socket`" -msgstr "" +msgstr "Clase :class:`socket.socket`" #: ../Doc/library/ssl.rst:2745 msgid "Documentation of underlying :mod:`socket` class" -msgstr "" +msgstr "Documentación de la clase :mod:`socket` subyacente" #: ../Doc/library/ssl.rst:2748 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" +"`SSL/TLS Strong Encryption: An Introduction `_" #: ../Doc/library/ssl.rst:2748 msgid "Intro from the Apache HTTP Server documentation" -msgstr "" +msgstr "Introducción de la documentación del servidor HTTP Apache" #: ../Doc/library/ssl.rst:2751 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" +":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " +"Certificate-Based Key Management <1422>`" #: ../Doc/library/ssl.rst:2751 msgid "Steve Kent" -msgstr "" +msgstr "Steve Kent" #: ../Doc/library/ssl.rst:2754 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" -msgstr "" +msgstr ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" #: ../Doc/library/ssl.rst:2754 msgid "Donald E., Jeffrey I. Schiller" -msgstr "" +msgstr "Donald E., Jeffrey I. Schiller" #: ../Doc/library/ssl.rst:2757 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" +":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " +"Certificate Revocation List (CRL) Profile <5280>`" #: ../Doc/library/ssl.rst:2757 msgid "D. Cooper" -msgstr "" +msgstr "D. Cooper" #: ../Doc/library/ssl.rst:2760 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" +":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " +"<5246>`" #: ../Doc/library/ssl.rst:2760 msgid "T. Dierks et. al." -msgstr "" +msgstr "T. Dierks et. al." #: ../Doc/library/ssl.rst:2763 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" -msgstr "" +msgstr ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" #: ../Doc/library/ssl.rst:2763 msgid "D. Eastlake" -msgstr "" +msgstr "D. Eastlake" #: ../Doc/library/ssl.rst:2766 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" +"`IANA TLS: Transport Layer Security (TLS) Parameters `_" #: ../Doc/library/ssl.rst:2766 msgid "IANA" -msgstr "" +msgstr "IANA" #: ../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 "" +":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " +"(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" #: ../Doc/library/ssl.rst:2769 msgid "IETF" -msgstr "" +msgstr "IETF" #: ../Doc/library/ssl.rst:2771 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" +"`Mozilla's Server Side TLS recommendations `_" #: ../Doc/library/ssl.rst:2772 msgid "Mozilla" -msgstr "" +msgstr "Mozilla" From cfbdafbe6fe02cbb9b7847f13d243d59705493a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Mon, 2 Aug 2021 20:40:19 +0200 Subject: [PATCH 04/94] =?UTF-8?q?Optimizada=20sincronizaci=C3=B3n=20con=20?= =?UTF-8?q?CPython=20en=20CI=20(#1186)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 809e023f1d..f34bb9702d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,8 +18,7 @@ jobs: python-version: 3.9 - name: Sincronizar con CPython run: | - git submodule sync - git submodule update --init --force cpython + git submodule update --init --depth=1 cpython - name: Instalar dependencias run: | sudo apt-get update From 2d7d11b79f74b600b49b8a3dc00db9511b3e9e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 02:31:24 +0200 Subject: [PATCH 05/94] Arreglando fuzzy de extending (#1232) --- extending/newtypes_tutorial.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 79b0eccaa2..0c704b176d 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -620,7 +620,6 @@ 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 " @@ -631,9 +630,9 @@ msgid "" 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 " -"destructor que haga que se ejecute código que intente acceder al miembro " -"``primer``; o ese destructor podría liberar el :term:`Global Interpreter " -"Lock` y permite que se ejecute código arbitrario en otros hilos que acceden " +"destructor que haga que se ejecute código que intente acceder al ``primer`` " +"miembro; o ese destructor podría liberar el :term:`Global Interpreter Lock " +"` y permite que se ejecute código arbitrario en otros hilos que acceden " "y modifican nuestro objeto." #: ../Doc/extending/newtypes_tutorial.rst:422 From b3a519c4e195480721c4c137c14083fc32fcb241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 02:33:44 +0200 Subject: [PATCH 06/94] Terminando distributing (#1233) --- distributing/index.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/distributing/index.po b/distributing/index.po index 71adae1eb2..ad71d3f995 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 10:49+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" +"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 3.0\n" #: ../Doc/distributing/index.rst:5 msgid "Distributing Python Modules" @@ -284,7 +285,7 @@ msgstr "`Subiendo el proyecto al Python Packaging Index`_" #: ../Doc/distributing/index.rst:131 msgid "`The .pypirc file`_" -msgstr "" +msgstr "`El archivo .pypirc`_" #: ../Doc/distributing/index.rst:144 msgid "How do I...?" From fb1cb0719800e3edffdc31cde8028ba158c79821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 03:04:31 +0200 Subject: [PATCH 07/94] Finalizando install (#1236) --- install/index.po | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/install/index.po b/install/index.po index 19abc6c733..424d91e7c7 100644 --- a/install/index.po +++ b/install/index.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19:19+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" +"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 3.0\n" #: ../Doc/install/index.rst:7 msgid "Installing Python Modules (Legacy version)" @@ -2040,11 +2041,8 @@ msgstr "" "existentes con bibliotecas OMF del mismo nombre." #: ../Doc/install/index.rst:1067 -#, 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" +msgstr "Diríjase a https://www.sourceware.org/cygwin/ para mayor información" #: ../Doc/install/index.rst:1069 msgid "" From de993de48dfc3121c9b153c0e1e39b7b3b7a43a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 10:14:33 +0200 Subject: [PATCH 08/94] Finalizando distutils (#1234) * Finalizando distutils * Arreglando entradas fuzzy * Traduciendo entradas pendientes * Update distutils/apiref.po Co-authored-by: Carlos A. Crespo --- distutils/apiref.po | 29 ++++++++++++++++++++++------- distutils/builtdist.po | 10 +++++----- distutils/configfile.po | 16 +++++++--------- distutils/introduction.po | 15 +++++++-------- 4 files changed, 41 insertions(+), 29 deletions(-) diff --git a/distutils/apiref.po b/distutils/apiref.po index 3713120aad..f7321b4454 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 10:58+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" +"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 3.0\n" #: ../Doc/distutils/apiref.rst:5 msgid "API Reference" @@ -2143,31 +2144,45 @@ msgid "" "earlier returned only a single additional field with the AIX Version and " "Release." msgstr "" +"Para AIX, Python 3.9 y versiones posteriores retornan una cadena que " +"comienza con \"aix\", seguida de campos adicionales (separados por ``'-'``) " +"que representan los valores combinados de Versión de AIX, Release y Nivel de " +"tecnología (primer campo), Fecha de Construcción (segundo campo) y tamaño de " +"bits (tercer campo). Python 3.8 y anteriores retornaban solo un campo " +"adicional con la versión y lanzamiento de AIX." #: ../Doc/distutils/apiref.rst:1151 -#, fuzzy msgid "Examples of returned values on AIX:" -msgstr "Ejemplos de valores retornados:" +msgstr "Ejemplos de valores retornados en AIX:" #: ../Doc/distutils/apiref.rst:1153 msgid "" "``aix-5307-0747-32`` # 32-bit build on AIX ``oslevel -s``: 5300-07-00-0000" msgstr "" +"``aix-5307-0747-32`` # construcción 32-bit en AIX ``oslevel -s``: " +"5300-07-00-0000" #: ../Doc/distutils/apiref.rst:1155 msgid "" "``aix-7105-1731-64`` # 64-bit build on AIX ``oslevel -s``: 7100-05-01-1731" msgstr "" +"``aix-7105-1731-64`` # construcción 64-bit en AIX ``oslevel -s``: " +"7100-05-01-1731" #: ../Doc/distutils/apiref.rst:1157 msgid "``aix-7.2`` # Legacy form reported in Python 3.8 and earlier" msgstr "" +"``aix-7.2`` # Forma heredada informada en Python 3.8 y versiones " +"anteriores" #: ../Doc/distutils/apiref.rst:1159 msgid "" "The AIX platform string format now also includes the technology level, build " "date, and ABI bit-size." msgstr "" +"El formato de cadena de caracteres de la plataforma AIX ahora también " +"incluye el nivel de tecnología, la fecha de construcción y el tamaño de bits " +"de ABI." #: ../Doc/distutils/apiref.rst:1166 msgid "" @@ -2524,8 +2539,8 @@ msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" msgstr "" -"option_table es una lista de 3 tuplas: ``(long_option, short_option, " -"help_string)``" +"La opción option_table es una lista de 3 tuplas: ``(long_option, " +"short_option, help_string)``" #: ../Doc/distutils/apiref.rst:1381 msgid "" diff --git a/distutils/builtdist.po b/distutils/builtdist.po index 4fbb8e6f8d..f633ec3717 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-10-15 16:05+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10:55+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/distutils/builtdist.rst:5 msgid "Creating Built Distributions" @@ -395,9 +396,8 @@ msgstr "*bdist_wininst* se encuentra obsoleto desde Python 3.8." #: ../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." +msgstr "bdist_msi está deprecado desde Python 3.9." #: ../Doc/distutils/builtdist.rst:155 msgid "" diff --git a/distutils/configfile.po b/distutils/configfile.po index 27715621eb..6388f7043c 100644 --- a/distutils/configfile.po +++ b/distutils/configfile.po @@ -11,20 +11,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-05-13 09:49-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10: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" +"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 3.0\n" #: ../Doc/distutils/configfile.rst:5 -#, fuzzy msgid "Writing the Setup Configuration File" -msgstr "Escribir la configuración del archivo de configuración" +msgstr "Escribiendo el archivo de configuración de instalación (*setup*)" #: ../Doc/distutils/configfile.rst:9 msgid "" @@ -49,9 +49,7 @@ msgstr "" "de comando, que el instalador puede invalidar en la línea de comando o " "editando el archivo de configuración." -# se repite mucho "configuración" #: ../Doc/distutils/configfile.rst:18 -#, fuzzy msgid "" "The setup configuration file is a useful middle-ground between the setup " "script---which, ideally, would be opaque to installers [#]_---and the " @@ -61,8 +59,8 @@ msgid "" "after the contents of the setup script, but before the command-line. This " "has several useful consequences:" msgstr "" -"La configuración del archivo de configuración es un punto medio útil entre " -"el script de configuración--- que, idealmente, sería opaco para los " +"La configuración del archivo de instalación (*setup*) es un punto medio útil " +"entre el script de configuración--- que, idealmente, sería opaco para los " "instaladores [#]_---y la línea de comandos para el script de configuración, " "que está fuera de su control y depende totalmente del instalador. De hecho, :" "file:`setup.cfg` (y cualquiera otros archivos de configuración de " diff --git a/distutils/introduction.po b/distutils/introduction.po index 9a50890b08..5f57c665e4 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-05-13 22:20-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10:53+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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 3.0\n" #: ../Doc/distutils/introduction.rst:5 msgid "An Introduction to Distutils" @@ -66,9 +67,7 @@ msgstr "(opcional) escribir un archivo de configuración" msgid "create a source distribution" msgstr "crear una distribución fuente" -# no estoy seguro de "built distribution" #: ../Doc/distutils/introduction.rst:31 -#, fuzzy msgid "(optional) create one or more built (binary) distributions" msgstr "(opcional) crear una o más distribuciones construidas (binarias)" @@ -280,7 +279,7 @@ msgid "" msgstr "" "(El comando :command:`bdist_rpm` utiliza el ejecutable :command:`rpm`, por " "lo tanto, esto debe ejecutarse en un sistema basado en RPM como Red Hat " -"Linux, SuSE Linux o Mandrake Linux)." +"Linux, SuSE Linux o Mandrake Linux.)" #: ../Doc/distutils/introduction.rst:138 msgid "" @@ -348,13 +347,13 @@ msgid "" "(Note that currently, the Distutils only handles C/C++ extensions for " "Python.)" msgstr "" -"Un módulo escrito en el lenguaje de bajo nivel de la implementación de " +"un módulo escrito en el lenguaje de bajo nivel de la implementación de " "Python: C/C++ para Python, Java para Jython. Típicamente contenido en un " "único archivo precompilado cargable dinámicamente, ejemplo, un archivo de " "objeto compartido (:file: .so`) para extensiones de Python en Unix, una DLL " "(dada la extensión :file:`.pyd`) para extensiones de Python en Windows, o un " "archivo de clase Java para extensiones de Jython. (Tenga en cuenta que " -"actualmente, Distutils solo maneja extensiones C/C++ para Python)." +"actualmente, Distutils solo maneja extensiones C/C++ para Python.)" #: ../Doc/distutils/introduction.rst:175 msgid "package" From 9071c7e250186f00cab0b6649f9cae270c6d985c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 11:10:25 +0200 Subject: [PATCH 09/94] Finalizando faq (#1235) * Finalizando faq - Corrigiendo entradas fuzzy, - Traduciendo nuevas entradas - Agregando palabaras nuevas * Apply suggestions from code review * powrap faq/design.po Co-authored-by: Carlos A. Crespo --- dictionaries/faq_design.txt | 1 + faq/design.po | 24 ++++--- faq/extending.po | 23 +++--- faq/general.po | 136 +++++++++++++++++------------------- faq/gui.po | 7 +- faq/library.po | 47 +++++++------ faq/programming.po | 39 ++++------- faq/windows.po | 23 +++--- 8 files changed, 147 insertions(+), 153 deletions(-) create mode 100644 dictionaries/faq_design.txt diff --git a/dictionaries/faq_design.txt b/dictionaries/faq_design.txt new file mode 100644 index 0000000000..3391dcd571 --- /dev/null +++ b/dictionaries/faq_design.txt @@ -0,0 +1 @@ +irrestricto diff --git a/faq/design.po b/faq/design.po index cd65995d68..0057a39adc 100644 --- a/faq/design.po +++ b/faq/design.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-28 19:40+0200\n" +"PO-Revision-Date: 2021-08-02 11: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" +"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 3.0\n" #: ../Doc/faq/design.rst:3 msgid "Design and History FAQ" @@ -55,7 +56,6 @@ 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 many to believe otherwise. Even experienced C programmers " @@ -75,6 +75,11 @@ msgid "" "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 llaves. Después de acostumbrarse a leer y escribir código usando un " +"estilo en particular, es normal sentirse algo incómodo al leer (o tener que " +"escribir) en uno diferente." #: ../Doc/faq/design.rst:38 msgid "" @@ -1101,15 +1106,13 @@ msgstr "" "class:`~collections.abc.MutableMapping`." #: ../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." 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." +"componentes." #: ../Doc/faq/design.rst:578 msgid "" @@ -1152,7 +1155,6 @@ msgstr "" "trivial verificar esta propiedad en un conjunto de pruebas." #: ../Doc/faq/design.rst:594 -#, fuzzy msgid "" "Writing test suites is very helpful, and you might want to design your code " "to make it easily tested. One increasingly popular technique, test-driven " @@ -1179,9 +1181,14 @@ msgid "" "expressions) and loop (with ``while`` and ``for`` statements, possibly " "containing ``continue`` and ``break``)." msgstr "" +"En la década de 1970, la gente se dio cuenta de que el goto irrestricto " +"podía generar un código \"espagueti\" desordenado que era difícil de " +"entender y revisar. En un lenguaje de alto nivel, también es innecesario " +"siempre que haya formas de bifurcar (en Python, con declaraciones ``if`` y " +"expresiones ``or``, ``and`` e ``if-else``) y repetir (con declaraciones " +"``while`` y ``for``, que posiblemente contengan ``continue`` y ``break``)." #: ../Doc/faq/design.rst:611 -#, fuzzy msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -1258,7 +1265,6 @@ msgstr "" "atributos?" #: ../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 languages have a " diff --git a/faq/extending.po b/faq/extending.po index b3d55c3ccb..282e4cb671 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-10 07:54-0300\n" +"PO-Revision-Date: 2021-08-02 11:16+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" -"X-Generator: Poedit 2.4\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/extending.rst:3 msgid "Extending/Embedding FAQ" @@ -136,15 +136,14 @@ msgid "How can I evaluate an arbitrary Python expression from C?" msgstr "¿Cómo puedo evaluar una expresión arbitraria de Python desde C?" #: ../Doc/faq/extending.rst:74 -#, fuzzy msgid "" "Call the function :c:func:`PyRun_String` from the previous question with the " "start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it " "and returns its value." msgstr "" "Llama a la función :c:func:`PyRun_String` de la pregunta anterior con el " -"símbolo de comienzo (*start*) :c:data:`Py_eval_input`; analiza una " -"expresión, evalúa y retorna su valor." +"símbolo de comienzo :c:data:`Py_eval_input`; analiza una expresión, evalúa y " +"retorna su valor." #: ../Doc/faq/extending.rst:80 msgid "How do I extract C values from a Python object?" @@ -233,7 +232,7 @@ msgid "" msgstr "" "Esto funciona para cualquier objeto que tenga métodos -- sean estos " "incorporados o definidos por el usuario. Eres responsable si eventualmente " -"usas :c:func:`Py_DECREF` en el valor de retorno.\"" +"usas :c:func:`Py_DECREF` en el valor de retorno." #: ../Doc/faq/extending.rst:124 msgid "" @@ -278,7 +277,7 @@ msgstr "" #: ../Doc/faq/extending.rst:149 msgid "The easiest way to do this is to use the :class:`io.StringIO` class:" msgstr "" -"La manera mas fácil de hacer esto es usar la clase :class:`io.StringIO`." +"La manera mas fácil de hacer esto es usar la clase :class:`io.StringIO`:" #: ../Doc/faq/extending.rst:161 msgid "A custom object to do the same would look like this:" @@ -368,7 +367,6 @@ msgid "How do I debug an extension?" msgstr "¿Cómo puedo depurar una extención?" #: ../Doc/faq/extending.rst:226 -#, fuzzy msgid "" "When using GDB with dynamically loaded extensions, you can't set a " "breakpoint in your extension until your extension is loaded." @@ -414,9 +412,8 @@ msgid "For Debian, run ``apt-get install python-dev``." msgstr "Para Debian, corre ``apt-get install python-dev``." #: ../Doc/faq/extending.rst:259 -#, fuzzy msgid "How do I tell \"incomplete input\" from \"invalid input\"?" -msgstr "¿Cómo digo \"incomplete input\" desde \"invalid input\"?" +msgstr "¿Cómo digo \"entrada incompleta\" desde \"entrada inválida\"?" #: ../Doc/faq/extending.rst:261 msgid "" @@ -433,7 +430,6 @@ msgstr "" "inmediatamente cuando la entrada es invalida." #: ../Doc/faq/extending.rst:267 -#, fuzzy msgid "" "In Python you can use the :mod:`codeop` module, which approximates the " "parser's behavior sufficiently. IDLE uses this, for example." @@ -495,9 +491,8 @@ msgstr "" "llamas a readline())::" #: ../Doc/faq/extending.rst:432 -#, fuzzy msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" -msgstr "¿Cómo encuentro símbolos g++ __builtin_new or __pure_virtual?" +msgstr "¿Cómo encuentro símbolos g++ __builtin_new o __pure_virtual?" #: ../Doc/faq/extending.rst:434 msgid "" diff --git a/faq/general.po b/faq/general.po index 9cd2d58fd2..c92b78c4bc 100644 --- a/faq/general.po +++ b/faq/general.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 22:04-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11: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" +"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 3.0\n" #: ../Doc/faq/general.rst:5 msgid "General Python FAQ" @@ -38,7 +39,6 @@ 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 " @@ -58,7 +58,7 @@ msgstr "" "a varios sistemas de ventana, y es extensible en C o C++. También es usable " "como un lenguaje de extensión para aplicaciones que necesitan una interfaz " "programable. Por último, Python es portable: corre en muchas variantes de " -"Unix, en Mac y en Windows 2000 y posteriores. " +"Unix, en Mac y en Windows 2000 y posteriores." #: ../Doc/faq/general.rst:28 msgid "" @@ -66,9 +66,9 @@ msgid "" "to Python `_ links to other " "introductory tutorials and resources for learning Python." msgstr "" -"Para saber más, comienza con :ref:`tutorial-index`. La `Beginner's Guide " -"to Python `_ vincula a otros " -"recursos y tutoriales introductorios para aprender Python. " +"Para saber más, comienza con :ref:`tutorial-index`. La `Beginner's Guide to " +"Python `_ vincula a otros " +"recursos y tutoriales introductorios para aprender Python." #: ../Doc/faq/general.rst:34 msgid "What is the Python Software Foundation?" @@ -113,12 +113,12 @@ msgid "" "of course." msgstr "" "Puedes hacer cualquier cosa que quieras con el código fuente mientras " -"mantengas y muestres los mensajes de *copyrights* en cualquier documentación " -"sobre Python que produzcas. Si respetas las reglas de *copyright*, está " -"permitido usar Python para fines comerciales, vender copias de Python en " -"forma de código fuente o binarios (modificados o no), o vender productos que " -"incorporen Python de alguna manera. De cualquier manera nos gustaría saber " -"de todos los usos comerciales de Python, por supuesto. " +"mantengas y muestres los mensajes de derechos de autor en cualquier " +"documentación sobre Python que produzcas. Si respetas las reglas de derechos " +"de autor, está permitido usar Python para fines comerciales, vender copias " +"de Python en forma de código fuente o binarios (modificados o no), o vender " +"productos que 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:57 msgid "" @@ -127,7 +127,7 @@ msgid "" msgstr "" "Mira la página `PSF license `_ para " "encontrar explicaciones más detalladas y un vínculo al texto completo de la " -"licencia. " +"licencia." #: ../Doc/faq/general.rst:60 msgid "" @@ -164,7 +164,7 @@ msgstr "" "lenguajes. Este es el origen de muchas características de Python, incluyendo " "el uso de sangría para el agrupamiento de sentencias y la inclusión de tipos " "de datos de muy alto nivel (aunque los detalles son todos diferentes en " -"Python). " +"Python)." #: ../Doc/faq/general.rst:78 msgid "" @@ -261,16 +261,16 @@ msgid "" "`_ to find packages of interest to you." msgstr "" "El lenguaje viene con una vasta biblioteca estándar que cubre áreas como el " -"procesamiento de texto (expresiones regulares, unicode, cálculo de " +"procesamiento de texto (expresiones regulares, Unicode, cálculo de " "diferencias entre archivos), protocolos de Internet (HTTP, FTP, SMTP, XML-" "RPC, POP, IMAP, programación CGI), ingeniería de software (pruebas " -"unitarias, *logging*, perfilamiento, análisis sintáctico y gramatical de " +"unitarias, logging, perfilamiento, análisis sintáctico y gramatical de " "código Python) e interfaces con el sistema operativo (llamadas a sistema, " -"sistemas de archivo, *sockets* TCP/IP). Mira la tabla de contenidos en :ref:" +"sistemas de archivo, sockets TCP/IP). Mira la tabla de contenidos en :ref:" "`library-index` para tener una idea de qué está disponible. Una amplia " "variedad de extensiones de terceros también están disponibles. Consulta el " -"`Python Package Index `_ para encontrar paquetes de tu " -"interés. " +"`Python Package Index `_ para encontrar paquetes de tu " +"interés." #: ../Doc/faq/general.rst:126 msgid "How does the Python version numbering scheme work?" @@ -289,7 +289,7 @@ msgstr "" "en el lenguaje. B es el número de versión secundario (o menor), incrementado " "ante cambios menos traumáticos. C es el nivel micro -- se incrementa en cada " "lanzamiento de corrección de errores. Mira el :pep:`6` para más información " -"sobre los lanzamientos de corrección de errores. " +"sobre los lanzamientos de corrección de errores." #: ../Doc/faq/general.rst:134 msgid "" @@ -309,10 +309,9 @@ msgstr "" "dos lanzamientos *alpha*. Las *betas* son más estables, preservando las " "interfaces existentes pero posiblemente agregando nuevos módulos. Los " "*release candidates* están congelados, sin hacer cambios excepto los " -"necesarios para corregir bugs críticos. " +"necesarios para corregir bugs críticos." #: ../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 " @@ -321,13 +320,13 @@ msgid "" "words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which " "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 " -"pequeños; el sufijo para beta es \"bN\" para algunos números N pequeños, y " -"el sufijo para *release candidates* es \"cN\" para algunos números N " -"pequeños. En otras palabras, todas las versiones etiquetadas 2.0aN preceden " -"a las 2.0bN, que preceden a las etiquetadas 2.0cN, y *todas esas* preceden a " -"la 2.0. " +"Las versiones alpha, beta y candidata de lanzamiento (*release candidate*) " +"tienen un sufijo adicional. El sufijo para la versión alpha es \"aN\" para " +"algunos números N pequeños; el sufijo para beta es \"bN\" para algunos " +"números N pequeños, y el sufijo para *release candidates* es \"cN\" para " +"algunos números N pequeños. En otras palabras, todas las versiones " +"etiquetadas 2.0aN preceden a las 2.0bN, que preceden a las etiquetadas " +"2.0cN, y *todas esas* preceden a la 2.0." #: ../Doc/faq/general.rst:149 msgid "" @@ -341,7 +340,7 @@ msgstr "" "\"2.2+\". Estas son versiones sin lanzar, construidas directamente desde el " "repositorio de desarrollo de CPython. En la práctica, luego de que un " "lanzamiento menor se realiza, la versión es incrementada a la siguiente " -"versión menor, que se vuelve \"a0\", por ejemplo \"2.4a0\". " +"versión menor, que se vuelve \"a0\", por ejemplo \"2.4a0\"." #: ../Doc/faq/general.rst:154 msgid "" @@ -376,8 +375,8 @@ msgstr "" "La distribución de fuentes es un archivo tar comprimido con gzip que " "contiene el código C completo, documentación en formato Sphinx, los módulos " "de la biblioteca de Python, programas de ejemplo y varias piezas útiles de " -"software libremente distribuibles. El código fuente compilará y se " -"ejecutará sin problemas en la mayoría de las plataformas Unix. " +"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:170 msgid "" @@ -385,9 +384,9 @@ msgid "" "`__ for more information on getting the " "source code and compiling it." msgstr "" -"Consulta `Getting Started section of the Python Developer's Guide `__ para más información sobre cómo obtener el " -"código fuente y compilarlo. " +"código fuente y compilarlo." #: ../Doc/faq/general.rst:176 msgid "How do I get documentation on Python?" @@ -410,10 +409,10 @@ msgid "" "Sphinx documentation tool `__. The reStructuredText " "source for the documentation is part of the Python source distribution." msgstr "" -"La documentación está escrita en reStructuredText y procesada con `la " +"La documentación está escrita en reStructuredText y procesada con `la " "herramienta de documentación Sphinx `__. Las fuentes " "reStructuredText de la documentación son parte de la distribución fuente de " -"Python. " +"Python." #: ../Doc/faq/general.rst:190 msgid "I've never programmed before. Is there a Python tutorial?" @@ -434,8 +433,8 @@ msgid "" "including lists of tutorials." msgstr "" "Consulta `the Beginner's Guide `_ para encontrar información para principiantes en Python, " -"incluyendo una lista de tutoriales. " +"BeginnersGuide>`_ para encontrar información para principiantes en Python, " +"incluyendo una lista de tutoriales." #: ../Doc/faq/general.rst:200 msgid "Is there a newsgroup or mailing list devoted to Python?" @@ -451,12 +450,12 @@ msgid "" "Usenet readers are often more able to cope with this volume." msgstr "" "Hay un grupo de noticias, :newsgroup:`comp.lang.python`, y una lista de " -"correo, `python-list `_. Tanto el grupo de noticias como la lista de correo están " +"correo, `python-list `_. Tanto el grupo de noticias como la lista de correo están " "interconectadas entre sí -- si puedes leer las noticias no es necesario que " "te suscribas a la lista de correo. :newsgroup:`comp.lang.python` tiene mucho " "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. " +"Usenet suelen ser más capaces de hacer frente a este volumen." #: ../Doc/faq/general.rst:209 msgid "" @@ -502,8 +501,8 @@ msgid "" "Python Developer's Guide `_ for details." msgstr "" "También puedes acceder a la versión en desarrollo de Python desde Git. Mira " -"`The Python Developer's Guide `_ para los " -"detalles. " +"`The Python Developer's Guide `_ para los " +"detalles." #: ../Doc/faq/general.rst:231 msgid "How do I submit bug reports and patches for Python?" @@ -543,7 +542,7 @@ msgstr "" #: ../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? " +msgstr "¿Hay algún artículo publicado sobre Python que pueda referir?" #: ../Doc/faq/general.rst:249 msgid "It's probably best to cite your favorite book about Python." @@ -556,7 +555,7 @@ msgid "" "outdated." msgstr "" "El primer artículo publicado sobre Python fue escrito en 1991 y quedó " -"bastante desactualizado. " +"bastante desactualizado." #: ../Doc/faq/general.rst:254 msgid "" @@ -578,15 +577,15 @@ msgid "" "at https://wiki.python.org/moin/PythonBooks for a list." 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. " +"https://wiki.python.org/moin/PythonBooks para ver una lista." #: ../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\"." 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\". " +"También puedes buscar \"Python\" en las librerías en línea y excluir las que " +"refieran a los Monty Python; o quizás buscar \"Python\" y \"lenguaje\"." #: ../Doc/faq/general.rst:270 msgid "Where in the world is www.python.org located?" @@ -618,7 +617,7 @@ msgstr "" "los guiones publicados de `\"Monty Python's Flying Circus\" `__, una serie de comedia producida por la " "BBC de los 70'. Van Rossum pensó que necesitaba un nombre que fuera corto, " -"único y ligeramente misterioso, entonces decidió llamar al lenguaje Python. " +"único y ligeramente misterioso, entonces decidió llamar al lenguaje Python." #: ../Doc/faq/general.rst:287 msgid "Do I have to like \"Monty Python's Flying Circus\"?" @@ -637,7 +636,6 @@ msgid "How stable is Python?" msgstr "¿Cuán estable es Python?" #: ../Doc/faq/general.rst:298 -#, fuzzy msgid "" "Very stable. New, stable releases have been coming out roughly every 6 to " "18 months since 1991, and this seems likely to continue. As of version 3.9, " @@ -645,7 +643,7 @@ msgid "" msgstr "" "Muy estable. Versiones nuevas y estables han sido publicadas cada entre 6 y " "18 meses desde 1991, y es muy probable que así continúe. Actualmente pasan " -"alrededor de 18 meses entre los lanzamientos importantes. " +"alrededor de 18 meses entre los lanzamientos importantes." #: ../Doc/faq/general.rst:302 msgid "" @@ -662,10 +660,9 @@ msgstr "" "indicados por el tercer componente del número de versión (e.g 3.5.3, 3.6.2) " "son gestionados para estabilidad; sólo correcciones de problemas conocidos " "se incluyen en uno de estos lanzamientos, y está garantizado que las " -"interfaces se mantendrán a lo largo de la misma serie. " +"interfaces se mantendrán a lo largo de la misma serie." #: ../Doc/faq/general.rst:309 -#, fuzzy msgid "" "The latest stable releases can always be found on the `Python download page " "`_. There are two production-ready " @@ -685,13 +682,12 @@ msgid "How many people are using Python?" msgstr "¿Cuánta gente usa Python?" #: ../Doc/faq/general.rst:318 -#, fuzzy msgid "" "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. " +"obtener una cuenta exacta." #: ../Doc/faq/general.rst:321 msgid "" @@ -702,7 +698,7 @@ msgstr "" "Python está disponible gratuitamente para ser descargado por lo que no " "existen cifras de ventas, a su vez se incluye en muchos sitios diferentes y " "está empaquetado en muchas distribuciones de Linux, por lo que las " -"estadísticas de descarga tampoco cuentan toda la historia. " +"estadísticas de descarga tampoco cuentan toda la historia." #: ../Doc/faq/general.rst:325 msgid "" @@ -710,7 +706,7 @@ msgid "" "to the group or even read it." msgstr "" "El grupo de noticias comp.lang.python es muy activo, pero no todos los " -"usuarios de Python publican allí o incluso lo leen. " +"usuarios de Python publican allí o incluso lo leen." #: ../Doc/faq/general.rst:330 msgid "Have any significant projects been done in Python?" @@ -725,8 +721,8 @@ msgid "" msgstr "" "Mira https://www.python.org/about/success para una lista de proyecto que " "usan Python. Consultar las actas de `conferencias de Python pasadas `_ revelará contribuciones de " -"diferentes empresas y organizaciones. " +"www.python.org/community/workshops/>`_ revelará contribuciones de diferentes " +"empresas y organizaciones." #: ../Doc/faq/general.rst:337 msgid "" @@ -746,7 +742,7 @@ msgstr "" #: ../Doc/faq/general.rst:346 msgid "What new developments are expected for Python in the future?" -msgstr "¿Qué nuevos desarrollos se esperan para Python en el futuro? " +msgstr "¿Qué nuevos desarrollos se esperan para Python en el futuro?" #: ../Doc/faq/general.rst:348 msgid "" @@ -761,7 +757,7 @@ msgstr "" "documentos de diseño que describen una nueva funcionalidad sugerida para " "Python, proveyendo una especificación técnica concisa y una razón " "fundamental. Busca una PEP titulada \"Python X.Y Release Schedule\", donde X." -"Y es una versión que aún no ha sido publicada. " +"Y es una versión que aún no ha sido publicada." #: ../Doc/faq/general.rst:354 msgid "" @@ -789,7 +785,7 @@ msgstr "" "fracción muy pequeña de los programas existentes tiene que ser mal visto. " "Incluso si puedes proporcionar un programa de conversión, todavía existe el " "problema de actualizar toda la documentación; se han escrito muchos libros " -"sobre Python y no queremos invalidarlos a todos de un plumazo. " +"sobre Python y no queremos invalidarlos a todos de un plumazo." #: ../Doc/faq/general.rst:368 msgid "" @@ -800,7 +796,7 @@ msgstr "" "Si una funcionalidad se debe cambiar, es necesario proporcionar una ruta de " "actualización gradual. :pep:`5` describe el procedimiento seguido para " "introducir cambios incompatibles con versiones anteriores para minimizar " -"disrupciones a los usuarios y usuarias. " +"disrupciones a los usuarios y usuarias." #: ../Doc/faq/general.rst:374 msgid "Is Python a good language for beginning programmers?" @@ -808,7 +804,7 @@ msgstr "¿Python es un buen lenguaje para principiantes?" #: ../Doc/faq/general.rst:376 msgid "Yes." -msgstr "Sí. " +msgstr "Sí." #: ../Doc/faq/general.rst:378 msgid "" @@ -831,7 +827,7 @@ msgstr "" "las habilidades de programación como la descomposición de problemas y el " "diseño de tipos de datos. Con Python los estudiantes pueden ser rápidamente " "introducidos a conceptos como bucles y procedimientos. Incluso puede " -"trabajar con objetos definidos por el usuario en su primer curso. " +"trabajar con objetos definidos por el usuario en su primer curso." #: ../Doc/faq/general.rst:388 msgid "" @@ -850,7 +846,7 @@ msgstr "" "intentan pensar como la computadora, descomponer problemas, diseñar " "interfaces consistentes y encapsular datos. Si bien aprender a usar un " "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. " +"necesariamente el mejor tema a tratar en un primer curso de programación." #: ../Doc/faq/general.rst:396 msgid "" @@ -873,7 +869,7 @@ msgstr "" "satisfacción de trabajar en aplicaciones realistas mientras aprenden los " "fundamentos de la programación. Usar la biblioteca estándar también enseña a " "reusar código. Módulos de terceros, como PyGame, también ayudan a extender " -"los alcances de los y las estudiantes. " +"los alcances de los y las estudiantes." #: ../Doc/faq/general.rst:405 msgid "" @@ -893,7 +889,7 @@ msgid "" "are programming." msgstr "" "Con el intérprete, la documentación nunca está lejos de los o las " -"estudiantes mientras están programando. " +"estudiantes mientras están programando." #: ../Doc/faq/general.rst:437 msgid "" diff --git a/faq/gui.po b/faq/gui.po index 8f458b4d07..875186053d 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-09 18:01-0500\n" +"PO-Revision-Date: 2021-08-02 11:10+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Javier Daza Language: es\n" -"X-Generator: Poedit 2.3\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"X-Generator: Poedit 3.0\n" +"Language: es\n" #: ../Doc/faq/gui.rst:5 msgid "Graphic User Interface FAQ" diff --git a/faq/library.po b/faq/library.po index 481c2710f4..3c880f3b94 100644 --- a/faq/library.po +++ b/faq/library.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 21:32+0100\n" -"Last-Translator: Sergio Delgado Quintero \n" +"PO-Revision-Date: 2021-08-02 11:09+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" +"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 3.0\n" #: ../Doc/faq/library.rst:5 msgid "Library and Extension FAQ" @@ -244,7 +245,6 @@ msgstr "" "lista incorrecta de argumentos. Se llama como ::" #: ../Doc/faq/library.rst:128 -#, fuzzy msgid "so it should be declared with two parameters::" msgstr "así que debería declararse con dos argumentos::" @@ -304,7 +304,6 @@ 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 function and " "class behaviours, you should write test functions that exercise the " @@ -454,13 +453,12 @@ 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 :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`." +"especialmente el módulo :mod:`~concurrent.futures.ThreadPoolExecutor`." #: ../Doc/faq/library.rst:301 msgid "" @@ -731,13 +729,12 @@ msgid "How do I copy a file?" msgstr "¿Cómo copio un fichero?" #: ../Doc/faq/library.rst:492 -#, fuzzy msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " "that on MacOS 9 it doesn't copy the resource fork and Finder info." msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " -"Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " +"Nótese que en MacOS 9 no copia el fork del recurso ni la información de " "Finder." #: ../Doc/faq/library.rst:497 @@ -934,9 +931,8 @@ msgstr "" "formulario. ¿Existe algún código que me permita hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 -#, fuzzy msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa :mod:`urllib.request`::" #: ../Doc/faq/library.rst:697 msgid "" @@ -1013,9 +1009,15 @@ msgid "" "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 evitar que la conexión TCP se bloquee, puede configurar el socket en " +"modo sin bloqueo. Luego, cuando hagas el :meth:`socket.connect`, te " +"conectarás inmediatamente (poco probable) u obtendrás 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. Los diferentes " +"sistemas operativos devolverán valores diferentes, por lo que tendrá que " +"verificar lo que se devuelve en su sistema." #: ../Doc/faq/library.rst:774 -#, fuzzy msgid "" "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 :" @@ -1023,11 +1025,11 @@ msgid "" "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 " -"tarde a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que " -"está conectado -- o puede pasar este socket a *select* para comprobar si se " -"puede escribir en él." +"Puede utilizar el método :meth:`socket.connect_ex` para evitar crear una " +"excepción. Simplemente retornará el valor de errno. Para sondear, puede " +"llamar a :meth:`socket.connect_ex` nuevamente más tarde -- ``0`` o ``errno." +"EISCONN`` indican que está conectado -- o puede pasar este socket a :meth:" +"`select.select` para comprobar si se puede escribir." #: ../Doc/faq/library.rst:780 msgid "" @@ -1036,6 +1038,11 @@ msgid "" "network code. The third-party `Twisted `_ " "library is a popular and feature-rich alternative." msgstr "" +"El módulo :mod:`asyncio` proporciona una biblioteca asíncrona concurrente y " +"de un solo subproceso de propósito general, que se puede utilizar para " +"escribir código de red sin bloqueo. La biblioteca de terceros `Twisted " +"`_ es una alternativa popular y rica en " +"funciones." #: ../Doc/faq/library.rst:788 msgid "Databases" @@ -1136,16 +1143,14 @@ msgstr "" "como:" #: ../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" +msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada." #: ../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" +"aleatoriamente." #: ../Doc/faq/library.rst:839 msgid "" diff --git a/faq/programming.po b/faq/programming.po index a1f8002932..8174120794 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 11:04+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11: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" +"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 3.0\n" #: ../Doc/faq/programming.rst:5 msgid "Programming FAQ" @@ -76,7 +77,6 @@ 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 " @@ -85,12 +85,12 @@ msgid "" ">`__ project and as a part of the ActivePython distribution (see https://www." "activestate.com/activepython\\ )." msgstr "" -"PythonWin es un IDE Python que incluye un depurador con GUI basado en pdb. " +"PythonWin es un IDE Python que incluye un depurador con GUI basado en pdb. " "El depurador PythonWin colorea los puntos de interrupción y dispone de " -"características geniales como la depuración de programas no modificados " -"mediante PythonWin. PythonWin está disponible como parte del proyecto `Las " -"extensiones de Python para Windows `__ y como parte de la distribución ActivePython (ver https://www." +"características geniales como la depuración de programas no modificados " +"mediante PythonWin. PythonWin está disponible como parte del proyecto `Las " +"extensiones de Python para Windows `__ y como parte de la distribución ActivePython (ver https://www." "activestate.com/activepython\\ )." #: ../Doc/faq/programming.rst:38 @@ -134,7 +134,6 @@ msgid "PyCharm (https://www.jetbrains.com/pycharm/)" msgstr "PyCharm (https://www.jetbrains.com/pycharm/)" #: ../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 " @@ -1286,7 +1285,6 @@ msgstr "" "144.0``." #: ../Doc/faq/programming.rst:842 -#, fuzzy msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " "144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " @@ -1298,8 +1296,8 @@ msgstr "" "Por defecto, estas interpretan el número como decimal de tal forma que " "``int('0144') == 144`` y ``int('0x144')`` lanzará :exc:`ValueError`. " "``int(string, base)`` toma la base para convertirlo desde un segundo " -"parámetro opcional, por tanto ``int('0x144', 16) == 324``. Si la base se " -"especifica como 0, el número se interpreta usando las reglas de Python's " +"parámetro opcional, por tanto ``int('0x144', 16) == 324``. Si la base se " +"especifica como 0, el número se interpreta usando las reglas de Python's " "rules: un prefijo '0o' indica octal y un prefijo '0x' indica un número " "hexadecimal." @@ -1405,10 +1403,8 @@ 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: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::" +msgstr "Use :func:`locals` para resolver el nombre de la función::" #: ../Doc/faq/programming.rst:957 msgid "" @@ -1747,11 +1743,8 @@ 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: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::" +msgstr "Usa la función incorporada :func:`reversed`::" #: ../Doc/faq/programming.rst:1124 msgid "" @@ -1800,9 +1793,8 @@ msgstr "" "y, posteriormente, puedes volver a una lista." #: ../Doc/faq/programming.rst:1157 -#, fuzzy msgid "How do you remove multiple items from a list" -msgstr "¿Cómo eliminar duplicados de una lista?" +msgstr "Cómo eliminar duplicados de una lista" #: ../Doc/faq/programming.rst:1159 msgid "" @@ -1813,9 +1805,8 @@ msgid "" msgstr "" #: ../Doc/faq/programming.rst:1168 -#, fuzzy msgid "The list comprehension may be fastest." -msgstr "Usa una comprensión de listas::" +msgstr "Esta comprensión de lista puede ser la más rápida." #: ../Doc/faq/programming.rst:1172 msgid "How do you make an array in Python?" diff --git a/faq/windows.po b/faq/windows.po index 0142b62893..048c7cd376 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-22 10:31-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11:03+0200\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" +"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 3.0\n" #: ../Doc/faq/windows.rst:9 msgid "Python on Windows FAQ" @@ -230,7 +231,6 @@ 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 " "distutils extension that allows you to create console and GUI executables " @@ -239,10 +239,10 @@ msgid "" "Python 3 but a version that does is in development." msgstr "" "Consulte `cx_Freeze `_ para " -"obtener una extensión *distutils* que le permite crear ejecutables de " -"consola y *GUI* a partir del código Python. `py2exe `_ es la extensión más popular para construir ejecutables basados ​​en Python " -"2.x, pero la implementación en Python 3 está en desarrollo." +"obtener una extensión distutils que le permite crear ejecutables de consola " +"y GUI a partir del código Python. `py2exe `_ es la " +"extensión más popular para construir ejecutables basados ​​en Python 2.x, pero " +"la implementación en Python 3 está en desarrollo." #: ../Doc/faq/windows.rst:151 msgid "Is a ``*.pyd`` file the same as a DLL?" @@ -515,12 +515,11 @@ 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 :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 "" -"Use el módulo *msvcrt*. Es una extensión estándar específica de Windows, que " -"define una función ``kbhit()`` que verifica si se ha presionado una tecla, y " -"``getch()`` que recupera el carácter sin mostrarlo." +"Use el módulo :mod:`msvcrt`. Es una extensión estándar específica de " +"Windows, que define una función ``kbhit()`` que verifica si se ha presionado " +"una tecla, y ``getch()`` que recupera el carácter sin mostrarlo." From 2cdadc90ff25a8c23fd77302b5e31353020ab8f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Tue, 3 Aug 2021 13:42:11 +0200 Subject: [PATCH 10/94] Actualizado pospell a v1.0.12 (#1065) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Actualizando pospell a v1.0.6 (quedan 917 de ~1500 errores) [CI SKIP] * Actualizando pospell a v1.0.6 (quedan 570 de ~1500 errores) [CI SKIP] * Actualizando pospell a v1.0.6 (quedan ~366 de ~1500 errores) [CI SKIP] * Actualizado pospell a versión 1.0.9 * Corregidas excepciones encontradas en TravisCi * Corregidas excepciones encontradas en TravisCI * Actualizado pospell a version 1.0.11 * Actualizado con rama 3.8 y eliminado diccionario inútil. * Añadido 'box' a diccionario. * Actualizado URL de repositorio pospell en configuración pre-commit * Actualizando a pospell 1.0.12 * Ajustando versión 1.0.12 y arreglando palabras faltantes * Agregando palabras faltantes * Corregir palabra Co-authored-by: Cristián Maureira-Fredes --- .overrides/coc.rst | 2 +- .pre-commit-config.yaml | 6 +- dictionaries/about.txt | 4 +- dictionaries/c-api_buffer.txt | 1 + dictionaries/datetime.txt | 0 dictionaries/distributing_index.txt | 4 + dictionaries/distutils_apiref.txt | 11 + dictionaries/distutils_builtdist.txt | 6 +- dictionaries/faq_extending.txt | 12 ++ dictionaries/faq_general.txt | 9 + dictionaries/faq_windows.txt | 7 + dictionaries/howto_clinic.txt | 11 + dictionaries/howto_curses.txt | 6 + dictionaries/howto_descriptor.txt | 1 + dictionaries/howto_functional.txt | 16 +- dictionaries/howto_instrumentation.txt | 7 +- dictionaries/howto_ipaddress.txt | 1 + dictionaries/howto_logging.txt | 9 + dictionaries/howto_sockets.txt | 5 +- dictionaries/howto_unicode.txt | 4 + dictionaries/howto_urllib2.txt | 10 + dictionaries/install_index.txt | 4 + dictionaries/library_aifc.txt | 1 + dictionaries/library_argparse.txt | 11 +- dictionaries/library_array.txt | 1 + dictionaries/library_asynchat.txt | 3 + ...loop.txt => library_asyncio-eventloop.txt} | 9 + dictionaries/library_asyncio-exceptions.txt | 1 + ..._future.txt => library_asyncio-future.txt} | 0 ..._policy.txt => library_asyncio-policy.txt} | 0 dictionaries/library_asyncio-protocol.txt | 3 + ...ncio_sync.txt => library_asyncio-sync.txt} | 2 +- dictionaries/library_asyncore.txt | 2 + dictionaries/library_binascii.txt | 2 + dictionaries/library_binhex.txt | 3 +- dictionaries/library_bz2.txt | 2 + dictionaries/library_cgi.txt | 3 +- dictionaries/library_cmath.txt | 3 + dictionaries/library_codeop.txt | 1 + dictionaries/library_compileall.txt | 3 +- dictionaries/library_concurrency.txt | 1 + dictionaries/library_crypt.txt | 1 + dictionaries/library_ctypes.txt | 5 +- dictionaries/library_curses.txt | 7 + dictionaries/library_dataclasses.txt | 2 +- dictionaries/library_datetime.txt | 1 + dictionaries/library_debug.txt | 1 + dictionaries/library_difflib.txt | 5 + dictionaries/library_distutils.txt | 3 +- dictionaries/library_doctest.txt | 2 +- dictionaries/library_email.charset.txt | 2 + dictionaries/library_email.errors.txt | 1 + dictionaries/library_email.generator.txt | 2 + dictionaries/library_email.header.txt | 1 + dictionaries/library_email.message.txt | 6 + ...ailparser.txt => library_email.parser.txt} | 1 + dictionaries/library_email.policy.txt | 3 + dictionaries/library_email_message.txt | 1 - dictionaries/library_enum.txt | 5 +- dictionaries/library_errno.txt | 1 + dictionaries/library_filecmp.txt | 3 +- dictionaries/library_formatter.txt | 1 + dictionaries/library_gc.txt | 5 +- dictionaries/library_grp.txt | 2 + dictionaries/library_hashlib.txt | 8 + dictionaries/library_heapq.txt | 8 + dictionaries/library_hmac.txt | 3 +- dictionaries/library_http.client.txt | 3 + dictionaries/library_http.cookiejar.txt | 21 ++ ...p_cookies.txt => library_http.cookies.txt} | 1 + dictionaries/library_idle.txt | 1 + dictionaries/library_imaplib.txt | 1 + dictionaries/library_imghdr.txt | 1 + dictionaries/library_importlib.metadata.txt | 1 + dictionaries/library_inspect.txt | 6 + dictionaries/library_io.txt | 3 + dictionaries/library_itertools.txt | 6 + dictionaries/library_json.txt | 1 + dictionaries/library_locale.txt | 4 + ...dlers.txt => library_logging.handlers.txt} | 8 + dictionaries/library_logging.txt | 6 + dictionaries/library_lzma.txt | 2 + dictionaries/library_mailbox.txt | 8 + dictionaries/library_mailcap.txt | 6 +- dictionaries/library_marshal.txt | 6 + dictionaries/library_modulefinder.txt | 1 + dictionaries/library_msvcrt.txt | 1 + dictionaries/library_os.txt | 25 +++ dictionaries/library_osaudiodev.txt | 2 + dictionaries/library_othergui.txt | 4 +- dictionaries/library_pdb.txt | 2 + dictionaries/library_platform.txt | 6 +- dictionaries/library_poplib.txt | 9 +- dictionaries/library_profile.txt | 5 + dictionaries/library_pyclbr.txt | 1 + dictionaries/library_pydoc.txt | 1 + dictionaries/library_queue.txt | 4 + dictionaries/library_quopri.txt | 1 + dictionaries/library_re.txt | 1 + dictionaries/library_readline.txt | 1 + dictionaries/library_resource.txt | 5 + dictionaries/library_select.txt | 6 + dictionaries/library_shlex.txt | 3 + dictionaries/library_signal.txt | 1 + dictionaries/library_site.txt | 6 + dictionaries/library_smtplib.txt | 6 + dictionaries/library_spwd.txt | 3 + dictionaries/library_sqlite3.txt | 11 + dictionaries/library_ssl.txt | 19 ++ dictionaries/library_stdtypes.txt | 2 + dictionaries/library_stringprep.txt | 5 + dictionaries/library_sys.txt | 5 + dictionaries/library_tarfile.txt | 5 + dictionaries/library_telnetlib.txt | 17 ++ dictionaries/library_test.txt | 2 + dictionaries/library_time.txt | 4 + dictionaries/library_tkinter.tix.txt | 5 + dictionaries/library_tkinter.ttk.txt | 55 +++++ dictionaries/library_tkinter.txt | 1 + dictionaries/library_tkinter_ttk.txt | 19 -- dictionaries/library_trace.txt | 1 + dictionaries/library_tracemalloc.txt | 5 +- dictionaries/library_turtle.txt | 9 + dictionaries/library_unicodedata.txt | 1 + dictionaries/library_unittest.mock.txt | 5 + dictionaries/library_urllib.request.txt | 12 +- dictionaries/library_uu.txt | 1 + dictionaries/library_venv.txt | 1 + dictionaries/library_weakref.txt | 3 + dictionaries/library_webbrowser.txt | 6 +- dictionaries/library_winsound.txt | 2 + dictionaries/library_wsgiref.txt | 11 + dictionaries/library_xdrlib.txt | 2 + dictionaries/library_xml.dom.minidom.txt | 2 +- dictionaries/library_xml.dom.txt | 3 + dictionaries/library_xml.sax.handler.txt | 2 + dictionaries/library_xml.sax.reader.txt | 3 + dictionaries/library_xml.sax.utils.txt | 3 +- dictionaries/library_xmlrpc.server.txt | 4 + dictionaries/library_xmlrpc_server.txt | 1 - dictionaries/library_zipapp.txt | 9 + dictionaries/library_zipfile.txt | 1 + dictionaries/logging.txt | 5 +- dictionaries/reference_compound_stmts.txt | 1 + dictionaries/reference_datamodel.txt | 3 + dictionaries/reference_expressions.txt | 5 +- dictionaries/reference_import.txt | 15 ++ dictionaries/reference_lexical_analysis.txt | 1 + dictionaries/sphinx.txt | 5 +- dictionaries/using_cmdline.txt | 3 +- dictionaries/using_mac.txt | 4 + dictionaries/using_windows.txt | 15 ++ dictionaries/whatsnew_2.7.txt | 8 + dictionaries/whatsnew_3.0.txt | 5 +- dictionaries/whatsnew_3.2.txt | 118 ++++++----- dictionaries/whatsnew_3.3.txt | 195 +++++++++++------- dictionaries/whatsnew_3.7.txt | 17 ++ dictionaries/whatsnew_index.txt | 1 + distutils/builtdist.po | 8 +- distutils/extending.po | 2 +- extending/newtypes.po | 8 +- faq/extending.po | 4 +- howto/clinic.po | 4 +- howto/functional.po | 4 +- howto/instrumentation.po | 2 +- howto/logging-cookbook.po | 15 +- howto/logging.po | 6 +- howto/sockets.po | 14 +- howto/unicode.po | 2 +- howto/urllib2.po | 4 +- install/index.po | 8 +- library/2to3.po | 2 +- library/argparse.po | 10 +- library/asyncio-eventloop.po | 2 +- library/asyncio-protocol.po | 8 +- library/asyncio-queue.po | 2 +- library/audioop.po | 10 +- library/binascii.po | 4 +- library/cmd.po | 2 +- library/configparser.po | 2 +- library/ctypes.po | 8 +- library/curses.ascii.po | 2 +- library/curses.po | 50 ++--- library/dataclasses.po | 2 +- library/datetime.po | 4 +- library/difflib.po | 2 +- library/distutils.po | 4 +- library/doctest.po | 8 +- library/email.encoders.po | 2 +- library/email.message.po | 18 +- library/email.parser.po | 2 +- library/enum.po | 2 +- library/exceptions.po | 2 +- library/faulthandler.po | 2 +- library/ftplib.po | 2 +- library/http.client.po | 4 +- library/http.cookies.po | 4 +- library/importlib.metadata.po | 2 +- library/io.po | 22 +- library/itertools.po | 13 +- library/json.po | 8 +- library/locale.po | 2 +- library/logging.handlers.po | 8 +- library/logging.po | 2 +- library/mailbox.po | 4 +- library/msvcrt.po | 2 +- library/os.po | 10 +- library/platform.po | 2 +- library/profile.po | 2 +- library/runpy.po | 10 +- library/signal.po | 2 +- library/smtpd.po | 3 +- library/socket.po | 8 +- library/ssl.po | 2 +- library/sys.po | 5 +- library/sysconfig.po | 2 +- library/tarfile.po | 9 +- library/telnetlib.po | 2 +- library/time.po | 8 +- library/tkinter.ttk.po | 4 +- library/trace.po | 2 +- library/tracemalloc.po | 6 +- library/turtle.po | 2 +- library/weakref.po | 4 +- library/xml.dom.po | 8 +- library/xml.sax.handler.po | 6 +- library/xmlrpc.client.po | 14 +- library/xmlrpc.server.po | 2 +- library/zipapp.po | 2 +- reference/datamodel.po | 2 +- reference/expressions.po | 2 +- reference/import.po | 19 +- reference/lexical_analysis.po | 2 +- requirements.txt | 2 +- sphinx.po | 4 +- using/unix.po | 2 +- using/windows.po | 2 +- whatsnew/3.2.po | 2 +- 238 files changed, 1110 insertions(+), 430 deletions(-) create mode 100644 dictionaries/c-api_buffer.txt create mode 100644 dictionaries/datetime.txt create mode 100644 dictionaries/faq_extending.txt create mode 100644 dictionaries/faq_windows.txt create mode 100644 dictionaries/howto_curses.txt create mode 100644 dictionaries/library_aifc.txt rename dictionaries/{library_asyncio_eventloop.txt => library_asyncio-eventloop.txt} (50%) create mode 100644 dictionaries/library_asyncio-exceptions.txt rename dictionaries/{library_asyncio_future.txt => library_asyncio-future.txt} (100%) rename dictionaries/{library_asyncio_policy.txt => library_asyncio-policy.txt} (100%) create mode 100644 dictionaries/library_asyncio-protocol.txt rename dictionaries/{library_asyncio_sync.txt => library_asyncio-sync.txt} (78%) create mode 100644 dictionaries/library_asyncore.txt create mode 100644 dictionaries/library_bz2.txt create mode 100644 dictionaries/library_concurrency.txt create mode 100644 dictionaries/library_crypt.txt create mode 100644 dictionaries/library_datetime.txt create mode 100644 dictionaries/library_debug.txt create mode 100644 dictionaries/library_email.charset.txt create mode 100644 dictionaries/library_email.errors.txt create mode 100644 dictionaries/library_email.message.txt rename dictionaries/{library_emailparser.txt => library_email.parser.txt} (84%) create mode 100644 dictionaries/library_email.policy.txt delete mode 100644 dictionaries/library_email_message.txt create mode 100644 dictionaries/library_formatter.txt create mode 100644 dictionaries/library_grp.txt create mode 100644 dictionaries/library_http.client.txt rename dictionaries/{library_http_cookies.txt => library_http.cookies.txt} (92%) create mode 100644 dictionaries/library_idle.txt create mode 100644 dictionaries/library_imaplib.txt create mode 100644 dictionaries/library_importlib.metadata.txt rename dictionaries/{library_logging_handlers.txt => library_logging.handlers.txt} (53%) create mode 100644 dictionaries/library_logging.txt create mode 100644 dictionaries/library_modulefinder.txt create mode 100644 dictionaries/library_msvcrt.txt create mode 100644 dictionaries/library_osaudiodev.txt create mode 100644 dictionaries/library_profile.txt create mode 100644 dictionaries/library_pyclbr.txt create mode 100644 dictionaries/library_pydoc.txt create mode 100644 dictionaries/library_queue.txt create mode 100644 dictionaries/library_quopri.txt create mode 100644 dictionaries/library_re.txt create mode 100644 dictionaries/library_readline.txt create mode 100644 dictionaries/library_resource.txt create mode 100644 dictionaries/library_select.txt create mode 100644 dictionaries/library_shlex.txt create mode 100644 dictionaries/library_site.txt create mode 100644 dictionaries/library_spwd.txt create mode 100644 dictionaries/library_stringprep.txt create mode 100644 dictionaries/library_tkinter.ttk.txt create mode 100644 dictionaries/library_tkinter.txt delete mode 100644 dictionaries/library_tkinter_ttk.txt create mode 100644 dictionaries/library_trace.txt create mode 100644 dictionaries/library_unicodedata.txt create mode 100644 dictionaries/library_venv.txt create mode 100644 dictionaries/library_winsound.txt create mode 100644 dictionaries/library_xdrlib.txt create mode 100644 dictionaries/library_xml.dom.txt create mode 100644 dictionaries/library_xml.sax.handler.txt create mode 100644 dictionaries/library_xml.sax.reader.txt create mode 100644 dictionaries/library_xmlrpc.server.txt delete mode 100644 dictionaries/library_xmlrpc_server.txt create mode 100644 dictionaries/reference_compound_stmts.txt create mode 100644 dictionaries/reference_datamodel.txt create mode 100644 dictionaries/reference_lexical_analysis.txt create mode 100644 dictionaries/using_mac.txt create mode 100644 dictionaries/whatsnew_3.7.txt create mode 100644 dictionaries/whatsnew_index.txt diff --git a/.overrides/coc.rst b/.overrides/coc.rst index b38c1fe8b5..0ecc88ff9e 100644 --- a/.overrides/coc.rst +++ b/.overrides/coc.rst @@ -236,7 +236,7 @@ Este Código de Conducta se bifucó (fork) a partir de las pólizas de ejemplo d `Geek Feminism wiki, creado por Ada Initiative y otros voluntarios`_, que está bajo una licencia `Creative Commons Zero`_. -*Sage Sharp* de `Otter Tech`_ creó un nuevo lenguage y modificaciones adicionales. +*Sage Sharp* de `Otter Tech`_ creó un nuevo lenguaje y modificaciones adicionales. El lenguaje se incorporó a partir de los siguientes códigos de conducta: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 72807d02b4..f084450d96 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,8 +10,8 @@ repos: entry: python ./scripts/create_dict.py language: python # This one requires package ``hunspell-es_es`` in Archlinux -- repo: https://github.com/JulienPalard/pospell - rev: v1.0.5 +- repo: https://github.com/AFPy/pospell + rev: v1.0.11 hooks: - id: pospell - args: ['--personal-dict', 'dict.txt', '--modified', '--language', 'es_ES'] + args: ['--personal-dict', 'dict.txt', '--language', 'es_ES', '--language', 'es_AR'] diff --git a/dictionaries/about.txt b/dictionaries/about.txt index 63e069f670..25af0b3da4 100644 --- a/dictionaries/about.txt +++ b/dictionaries/about.txt @@ -1,2 +1,4 @@ Fred -Sphinx \ No newline at end of file +Sphinx +Drake +Jr \ No newline at end of file diff --git a/dictionaries/c-api_buffer.txt b/dictionaries/c-api_buffer.txt new file mode 100644 index 0000000000..ccc4d956e5 --- /dev/null +++ b/dictionaries/c-api_buffer.txt @@ -0,0 +1 @@ +bidimensionales \ No newline at end of file diff --git a/dictionaries/datetime.txt b/dictionaries/datetime.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dictionaries/distributing_index.txt b/dictionaries/distributing_index.txt index 702b7b8d37..7cd50aebf3 100644 --- a/dictionaries/distributing_index.txt +++ b/dictionaries/distributing_index.txt @@ -1 +1,5 @@ Packaging +Guide +Bitbucket +wheel +wheels \ No newline at end of file diff --git a/dictionaries/distutils_apiref.txt b/dictionaries/distutils_apiref.txt index 4c160e8075..fb62652fb1 100644 --- a/dictionaries/distutils_apiref.txt +++ b/dictionaries/distutils_apiref.txt @@ -7,3 +7,14 @@ definirla Preprocesa configúralo Redhat +library +dirs +indefiniciones +Mingw +mingw +subruta +ppc +ish +msi +explicitamente +aix diff --git a/dictionaries/distutils_builtdist.txt b/dictionaries/distutils_builtdist.txt index 8764ad03d1..dfad9b8bdc 100644 --- a/dictionaries/distutils_builtdist.txt +++ b/dictionaries/distutils_builtdist.txt @@ -1,4 +1,8 @@ autoextraíble desinstalación desinstale -UAC \ No newline at end of file +UAC +pythoncore +Powered +amd +dumb \ No newline at end of file diff --git a/dictionaries/faq_extending.txt b/dictionaries/faq_extending.txt new file mode 100644 index 0000000000..d8e8612acc --- /dev/null +++ b/dictionaries/faq_extending.txt @@ -0,0 +1,12 @@ +pure +new +builtin +unexpected +parsing +incomplete +invalid +PyErr +BuildValue +seek +input +Farber \ No newline at end of file diff --git a/dictionaries/faq_general.txt b/dictionaries/faq_general.txt index ad8b06b9b1..3df534d880 100644 --- a/dictionaries/faq_general.txt +++ b/dictionaries/faq_general.txt @@ -11,3 +11,12 @@ PythonWin Release disrupciones Jelke +PyGame +Schedule +Boer +announce +cN +perfilamiento +bugfix +traumáticos +distribuibles \ No newline at end of file diff --git a/dictionaries/faq_windows.txt b/dictionaries/faq_windows.txt new file mode 100644 index 0000000000..a58de753ac --- /dev/null +++ b/dictionaries/faq_windows.txt @@ -0,0 +1,7 @@ +Enter +inicializarlo +lib +Coff +Omf +Indent +size \ No newline at end of file diff --git a/dictionaries/howto_clinic.txt b/dictionaries/howto_clinic.txt index 43896f6673..405d31fedb 100644 --- a/dictionaries/howto_clinic.txt +++ b/dictionaries/howto_clinic.txt @@ -11,3 +11,14 @@ preprocesamiento inicializará manejarlas nómbrelas +corríjalo +impl +PyArg +Parse +polimórficos +autoconversor +sobrescribirlo +UnpackTuple +ifdef +tp +methoddef \ No newline at end of file diff --git a/dictionaries/howto_curses.txt b/dictionaries/howto_curses.txt new file mode 100644 index 0000000000..e2a45a6fe6 --- /dev/null +++ b/dictionaries/howto_curses.txt @@ -0,0 +1,6 @@ +Intro +borrándolo +cbreak +multibyte +xterm +Urwid \ No newline at end of file diff --git a/dictionaries/howto_descriptor.txt b/dictionaries/howto_descriptor.txt index 76567bc815..835d921c97 100644 --- a/dictionaries/howto_descriptor.txt +++ b/dictionaries/howto_descriptor.txt @@ -1,2 +1,3 @@ redefiniendo monitorizar +klass diff --git a/dictionaries/howto_functional.txt b/dictionaries/howto_functional.txt index 41854c76d2..37a6e663cf 100644 --- a/dictionaries/howto_functional.txt +++ b/dictionaries/howto_functional.txt @@ -26,4 +26,18 @@ Julie Scheme Sussman Mertz -DeveloperWorks \ No newline at end of file +DeveloperWorks +listcomps +genexps +descartarlo +equiespaciados +Bicking +Efford +Jewett +Krell +Lameiro +Salmela +Winter +Winton +currificación +Leandro diff --git a/dictionaries/howto_instrumentation.txt b/dictionaries/howto_instrumentation.txt index 64da6404b9..4590ea205e 100644 --- a/dictionaries/howto_instrumentation.txt +++ b/dictionaries/howto_instrumentation.txt @@ -1,3 +1,8 @@ SystemTap tapset -estratégicamente \ No newline at end of file +estratégicamente +enable +stapsdt +shared +start +libpython \ No newline at end of file diff --git a/dictionaries/howto_ipaddress.txt b/dictionaries/howto_ipaddress.txt index a6de7e6f77..fb81f36635 100644 --- a/dictionaries/howto_ipaddress.txt +++ b/dictionaries/howto_ipaddress.txt @@ -1,2 +1,3 @@ enrutadores indexarlas +Address \ No newline at end of file diff --git a/dictionaries/howto_logging.txt b/dictionaries/howto_logging.txt index 2c6361b695..cec90c0d4a 100644 --- a/dictionaries/howto_logging.txt +++ b/dictionaries/howto_logging.txt @@ -4,3 +4,12 @@ syslog deshabilitación desconfiguran superconjunto +conf +handler +pdf +orgname +handlers +scan +text +ops +tráiler \ No newline at end of file diff --git a/dictionaries/howto_sockets.txt b/dictionaries/howto_sockets.txt index 0020bdc05d..85e659f845 100644 --- a/dictionaries/howto_sockets.txt +++ b/dictionaries/howto_sockets.txt @@ -5,4 +5,7 @@ leíble multiplexar pruébalo usable -caracter \ No newline at end of file +caracter +ouch +network +longs \ No newline at end of file diff --git a/dictionaries/howto_unicode.txt b/dictionaries/howto_unicode.txt index 59e26b1e97..0b8920d25c 100644 --- a/dictionaries/howto_unicode.txt +++ b/dictionaries/howto_unicode.txt @@ -2,3 +2,7 @@ renderizador PyCon EuroPython biyectivo +glifos +subcategorías +ê +ß diff --git a/dictionaries/howto_urllib2.txt b/dictionaries/howto_urllib2.txt index a6290004e4..a46166c04f 100644 --- a/dictionaries/howto_urllib2.txt +++ b/dictionaries/howto_urllib2.txt @@ -11,3 +11,13 @@ geturl info urlopen internet +Handlers +Openers +redireccionamientos +password +Headers +Common +userinfo +localhost +add +reason \ No newline at end of file diff --git a/dictionaries/install_index.txt b/dictionaries/install_index.txt index 5ef7b4bd26..910590161d 100644 --- a/dictionaries/install_index.txt +++ b/dictionaries/install_index.txt @@ -1,3 +1,7 @@ binutils parseado superusuario +WinZip +cygwin +setup +rpath \ No newline at end of file diff --git a/dictionaries/library_aifc.txt b/dictionaries/library_aifc.txt new file mode 100644 index 0000000000..5f1cdb1939 --- /dev/null +++ b/dictionaries/library_aifc.txt @@ -0,0 +1 @@ +cuadrafónico diff --git a/dictionaries/library_argparse.txt b/dictionaries/library_argparse.txt index 5ae913043a..864212ddcc 100644 --- a/dictionaries/library_argparse.txt +++ b/dictionaries/library_argparse.txt @@ -1,10 +1,5 @@ action -add_argument() -add_help -allow_abbrev -argument_default choices -conflict_handler const default description @@ -14,8 +9,6 @@ especificador especificadores FileType flags -formatter_class -fromfile_prefix_chars globalmente help inherentemente @@ -26,11 +19,8 @@ name Namespace nargs parents -parse_args() -parser_class posicional posicionales -prefix_chars prog Python required @@ -38,3 +28,4 @@ title tupla type usage +ArgumentParser \ No newline at end of file diff --git a/dictionaries/library_array.txt b/dictionaries/library_array.txt index 87db64cc2c..7c6a2b84c6 100644 --- a/dictionaries/library_array.txt +++ b/dictionaries/library_array.txt @@ -5,3 +5,4 @@ retro string typecode inherentemente +Byteswap \ No newline at end of file diff --git a/dictionaries/library_asynchat.txt b/dictionaries/library_asynchat.txt index 7964f127c8..000eb524a4 100644 --- a/dictionaries/library_asynchat.txt +++ b/dictionaries/library_asynchat.txt @@ -1 +1,4 @@ encriptación +polling +asíncronamente +mseg diff --git a/dictionaries/library_asyncio_eventloop.txt b/dictionaries/library_asyncio-eventloop.txt similarity index 50% rename from dictionaries/library_asyncio_eventloop.txt rename to dictionaries/library_asyncio-eventloop.txt index 1fc23255a2..9669a3f000 100644 --- a/dictionaries/library_asyncio_eventloop.txt +++ b/dictionaries/library_asyncio-eventloop.txt @@ -5,3 +5,12 @@ monotónico Futures reordenamientos monitorear +transport +protocol +later +soon +handle +exception +message +Stack +reordenamiento \ No newline at end of file diff --git a/dictionaries/library_asyncio-exceptions.txt b/dictionaries/library_asyncio-exceptions.txt new file mode 100644 index 0000000000..6ff4aa41e6 --- /dev/null +++ b/dictionaries/library_asyncio-exceptions.txt @@ -0,0 +1 @@ +sendfile \ No newline at end of file diff --git a/dictionaries/library_asyncio_future.txt b/dictionaries/library_asyncio-future.txt similarity index 100% rename from dictionaries/library_asyncio_future.txt rename to dictionaries/library_asyncio-future.txt diff --git a/dictionaries/library_asyncio_policy.txt b/dictionaries/library_asyncio-policy.txt similarity index 100% rename from dictionaries/library_asyncio_policy.txt rename to dictionaries/library_asyncio-policy.txt diff --git a/dictionaries/library_asyncio-protocol.txt b/dictionaries/library_asyncio-protocol.txt new file mode 100644 index 0000000000..8223284c24 --- /dev/null +++ b/dictionaries/library_asyncio-protocol.txt @@ -0,0 +1,3 @@ +ready +subóptimo +semicerradas \ No newline at end of file diff --git a/dictionaries/library_asyncio_sync.txt b/dictionaries/library_asyncio-sync.txt similarity index 78% rename from dictionaries/library_asyncio_sync.txt rename to dictionaries/library_asyncio-sync.txt index 8aae64ba7e..0c0c4e63ef 100644 --- a/dictionaries/library_asyncio_sync.txt +++ b/dictionaries/library_asyncio-sync.txt @@ -1,4 +1,4 @@ BoundedSemaphore Condition Lock - +Semaphore \ No newline at end of file diff --git a/dictionaries/library_asyncore.txt b/dictionaries/library_asyncore.txt new file mode 100644 index 0000000000..c37e5044a4 --- /dev/null +++ b/dictionaries/library_asyncore.txt @@ -0,0 +1,2 @@ +wrapper +dispatcher \ No newline at end of file diff --git a/dictionaries/library_binascii.txt b/dictionaries/library_binascii.txt index dd8f14f386..aae7167101 100644 --- a/dictionaries/library_binascii.txt +++ b/dictionaries/library_binascii.txt @@ -1,2 +1,4 @@ bytestring uuencoded +hexbin +rfc \ No newline at end of file diff --git a/dictionaries/library_binhex.txt b/dictionaries/library_binhex.txt index 83dae3283b..566a462088 100644 --- a/dictionaries/library_binhex.txt +++ b/dictionaries/library_binhex.txt @@ -1 +1,2 @@ -binhex \ No newline at end of file +binhex +Macintosch \ No newline at end of file diff --git a/dictionaries/library_bz2.txt b/dictionaries/library_bz2.txt new file mode 100644 index 0000000000..f1c80b6024 --- /dev/null +++ b/dictionaries/library_bz2.txt @@ -0,0 +1,2 @@ +stream +streams \ No newline at end of file diff --git a/dictionaries/library_cgi.txt b/dictionaries/library_cgi.txt index 7d02d02319..e2d11835c1 100644 --- a/dictionaries/library_cgi.txt +++ b/dictionaries/library_cgi.txt @@ -33,4 +33,5 @@ userid explícitamente uid query -string \ No newline at end of file +string +checkboxes diff --git a/dictionaries/library_cmath.txt b/dictionaries/library_cmath.txt index 8e3e270e6d..c5d4edfa11 100644 --- a/dictionaries/library_cmath.txt +++ b/dictionaries/library_cmath.txt @@ -2,3 +2,6 @@ phi arcocoseno arcoseno arcotangente +not +number +radianes \ No newline at end of file diff --git a/dictionaries/library_codeop.txt b/dictionaries/library_codeop.txt index 9abf3d55de..8e77070fc5 100644 --- a/dictionaries/library_codeop.txt +++ b/dictionaries/library_codeop.txt @@ -1 +1,2 @@ filename +eval diff --git a/dictionaries/library_compileall.txt b/dictionaries/library_compileall.txt index 4e491858b4..a52be1aacf 100644 --- a/dictionaries/library_compileall.txt +++ b/dictionaries/library_compileall.txt @@ -1,2 +1,3 @@ workers -pycs \ No newline at end of file +pycs +multinivel diff --git a/dictionaries/library_concurrency.txt b/dictionaries/library_concurrency.txt new file mode 100644 index 0000000000..279f53d16e --- /dev/null +++ b/dictionaries/library_concurrency.txt @@ -0,0 +1 @@ +apropiativa diff --git a/dictionaries/library_crypt.txt b/dictionaries/library_crypt.txt new file mode 100644 index 0000000000..b5801a900f --- /dev/null +++ b/dictionaries/library_crypt.txt @@ -0,0 +1 @@ +Blowfish \ No newline at end of file diff --git a/dictionaries/library_ctypes.txt b/dictionaries/library_ctypes.txt index aebe2011bc..86004425ab 100644 --- a/dictionaries/library_ctypes.txt +++ b/dictionaries/library_ctypes.txt @@ -20,4 +20,7 @@ DllGetClassObject redimensiona subclasificando inicializadas -inicializarán \ No newline at end of file +inicializarán +private +win +Hm \ No newline at end of file diff --git a/dictionaries/library_curses.txt b/dictionaries/library_curses.txt index 50f453f334..fa63513cfa 100644 --- a/dictionaries/library_curses.txt +++ b/dictionaries/library_curses.txt @@ -2,3 +2,10 @@ Cian editable Desinicializa redibujado +desinicializada +program +cian +position +background +stdscr +cooked \ No newline at end of file diff --git a/dictionaries/library_dataclasses.txt b/dictionaries/library_dataclasses.txt index ef2c077293..e1411e8660 100644 --- a/dictionaries/library_dataclasses.txt +++ b/dictionaries/library_dataclasses.txt @@ -1,2 +1,2 @@ pseudocampo -pseudocampos +pseudocampos \ No newline at end of file diff --git a/dictionaries/library_datetime.txt b/dictionaries/library_datetime.txt new file mode 100644 index 0000000000..87be1fdb45 --- /dev/null +++ b/dictionaries/library_datetime.txt @@ -0,0 +1 @@ +Eastern \ No newline at end of file diff --git a/dictionaries/library_debug.txt b/dictionaries/library_debug.txt new file mode 100644 index 0000000000..7de185bfa3 --- /dev/null +++ b/dictionaries/library_debug.txt @@ -0,0 +1 @@ +intrusivos diff --git a/dictionaries/library_difflib.txt b/dictionaries/library_difflib.txt index a6f08c236a..7359f664c3 100644 --- a/dictionaries/library_difflib.txt +++ b/dictionaries/library_difflib.txt @@ -15,3 +15,8 @@ instanciamos Differ intralineales difflib +intralíneas +Metzener +Obershelp +dummy +next \ No newline at end of file diff --git a/dictionaries/library_distutils.txt b/dictionaries/library_distutils.txt index f4f388c888..4d058cccca 100644 --- a/dictionaries/library_distutils.txt +++ b/dictionaries/library_distutils.txt @@ -1 +1,2 @@ -plugins \ No newline at end of file +plugins +Authority diff --git a/dictionaries/library_doctest.txt b/dictionaries/library_doctest.txt index bcf8bf713c..22b9ec95f6 100644 --- a/dictionaries/library_doctest.txt +++ b/dictionaries/library_doctest.txt @@ -5,4 +5,4 @@ DocTests defiere reusado parametrización - +ups diff --git a/dictionaries/library_email.charset.txt b/dictionaries/library_email.charset.txt new file mode 100644 index 0000000000..7634b25d22 --- /dev/null +++ b/dictionaries/library_email.charset.txt @@ -0,0 +1,2 @@ +printable +quoted \ No newline at end of file diff --git a/dictionaries/library_email.errors.txt b/dictionaries/library_email.errors.txt new file mode 100644 index 0000000000..814b7d97b5 --- /dev/null +++ b/dictionaries/library_email.errors.txt @@ -0,0 +1 @@ +multiparte \ No newline at end of file diff --git a/dictionaries/library_email.generator.txt b/dictionaries/library_email.generator.txt index a0eb3796fb..64504632f1 100644 --- a/dictionaries/library_email.generator.txt +++ b/dictionaries/library_email.generator.txt @@ -1,3 +1,5 @@ recodificado serializando reenvuelve +policy +Policy diff --git a/dictionaries/library_email.header.txt b/dictionaries/library_email.header.txt index d4c901d1e9..bcb69465e0 100644 --- a/dictionaries/library_email.header.txt +++ b/dictionaries/library_email.header.txt @@ -1 +1,2 @@ códec +UnicodeError \ No newline at end of file diff --git a/dictionaries/library_email.message.txt b/dictionaries/library_email.message.txt new file mode 100644 index 0000000000..21a78cbce1 --- /dev/null +++ b/dictionaries/library_email.message.txt @@ -0,0 +1,6 @@ +email +multipart +msg +maintype +clean +body diff --git a/dictionaries/library_emailparser.txt b/dictionaries/library_email.parser.txt similarity index 84% rename from dictionaries/library_emailparser.txt rename to dictionaries/library_email.parser.txt index 462ea960e0..7ac6d17bec 100644 --- a/dictionaries/library_emailparser.txt +++ b/dictionaries/library_email.parser.txt @@ -1,2 +1,3 @@ subpartes serializada +idad \ No newline at end of file diff --git a/dictionaries/library_email.policy.txt b/dictionaries/library_email.policy.txt new file mode 100644 index 0000000000..fe84e5aa51 --- /dev/null +++ b/dictionaries/library_email.policy.txt @@ -0,0 +1,3 @@ +charset +content +only \ No newline at end of file diff --git a/dictionaries/library_email_message.txt b/dictionaries/library_email_message.txt deleted file mode 100644 index 7df2c2848b..0000000000 --- a/dictionaries/library_email_message.txt +++ /dev/null @@ -1 +0,0 @@ -email diff --git a/dictionaries/library_enum.txt b/dictionaries/library_enum.txt index 47b855316b..1fc333d001 100644 --- a/dictionaries/library_enum.txt +++ b/dictionaries/library_enum.txt @@ -2,4 +2,7 @@ IronPython transitividad Enums serializadas -SomeData \ No newline at end of file +SomeData +hasheables +IntEnum +style \ No newline at end of file diff --git a/dictionaries/library_errno.txt b/dictionaries/library_errno.txt index d66acd2b1d..9822ec9649 100644 --- a/dictionaries/library_errno.txt +++ b/dictionaries/library_errno.txt @@ -1,3 +1,4 @@ typewriter interbloqueo Srmount +out diff --git a/dictionaries/library_filecmp.txt b/dictionaries/library_filecmp.txt index 0a4bc5f431..f0f372fcb8 100644 --- a/dictionaries/library_filecmp.txt +++ b/dictionaries/library_filecmp.txt @@ -1,3 +1,4 @@ hooks mtime -recursivamente \ No newline at end of file +recursivamente +filecmp \ No newline at end of file diff --git a/dictionaries/library_formatter.txt b/dictionaries/library_formatter.txt new file mode 100644 index 0000000000..be7b4456b2 --- /dev/null +++ b/dictionaries/library_formatter.txt @@ -0,0 +1 @@ +formateadora \ No newline at end of file diff --git a/dictionaries/library_gc.txt b/dictionaries/library_gc.txt index 9af9329859..9b92e35d51 100644 --- a/dictionaries/library_gc.txt +++ b/dictionaries/library_gc.txt @@ -1,2 +1,5 @@ recolectables - +uncollectable +collected +generation +desreferenciado diff --git a/dictionaries/library_grp.txt b/dictionaries/library_grp.txt new file mode 100644 index 0000000000..851661dd52 --- /dev/null +++ b/dictionaries/library_grp.txt @@ -0,0 +1,2 @@ +gr +encriptado \ No newline at end of file diff --git a/dictionaries/library_hashlib.txt b/dictionaries/library_hashlib.txt index 8cddd11b89..8d6272240d 100644 --- a/dictionaries/library_hashlib.txt +++ b/dictionaries/library_hashlib.txt @@ -9,3 +9,11 @@ Commons Public Domain Dedication +adler +crc +Keccak +md +afinable +pseudoaleatoriedad +sha +Skein diff --git a/dictionaries/library_heapq.txt b/dictionaries/library_heapq.txt index 47693f6435..25aa16a97e 100644 --- a/dictionaries/library_heapq.txt +++ b/dictionaries/library_heapq.txt @@ -1,2 +1,10 @@ secuenciador desapilando +heap +min +max +pop +push +preclasificadas +reestablezca +th \ No newline at end of file diff --git a/dictionaries/library_hmac.txt b/dictionaries/library_hmac.txt index 3da1616170..2512b61e22 100644 --- a/dictionaries/library_hmac.txt +++ b/dictionaries/library_hmac.txt @@ -1 +1,2 @@ -hmac \ No newline at end of file +hmac +digestmod diff --git a/dictionaries/library_http.client.txt b/dictionaries/library_http.client.txt new file mode 100644 index 0000000000..9b4076f840 --- /dev/null +++ b/dictionaries/library_http.client.txt @@ -0,0 +1,3 @@ +http +client +Transfer \ No newline at end of file diff --git a/dictionaries/library_http.cookiejar.txt b/dictionaries/library_http.cookiejar.txt index 1a0ad5edd0..790fb67785 100644 --- a/dictionaries/library_http.cookiejar.txt +++ b/dictionaries/library_http.cookiejar.txt @@ -7,3 +7,24 @@ Lynx CookiePolicy DefaultCookiePolicy apagarla +policy +websocket +tunning +policy +server +side +ie +policy +trip +libwww +perl +policy +bolcked +domains +country +level +domain +matching +prefix +downgraded +downgrade diff --git a/dictionaries/library_http_cookies.txt b/dictionaries/library_http.cookies.txt similarity index 92% rename from dictionaries/library_http_cookies.txt rename to dictionaries/library_http.cookies.txt index bb86d09f6c..f07b4560b1 100644 --- a/dictionaries/library_http_cookies.txt +++ b/dictionaries/library_http.cookies.txt @@ -3,3 +3,4 @@ SimpleCookie analícela Morsel Morsels +Lax diff --git a/dictionaries/library_idle.txt b/dictionaries/library_idle.txt new file mode 100644 index 0000000000..7d9915a469 --- /dev/null +++ b/dictionaries/library_idle.txt @@ -0,0 +1 @@ +zzdummy \ No newline at end of file diff --git a/dictionaries/library_imaplib.txt b/dictionaries/library_imaplib.txt new file mode 100644 index 0000000000..8ee7b50554 --- /dev/null +++ b/dictionaries/library_imaplib.txt @@ -0,0 +1 @@ +Gmail \ No newline at end of file diff --git a/dictionaries/library_imghdr.txt b/dictionaries/library_imghdr.txt index 0d43fc318a..801d6fa8b4 100644 --- a/dictionaries/library_imghdr.txt +++ b/dictionaries/library_imghdr.txt @@ -5,3 +5,4 @@ Graymap Pixmap Raster Bitmap +imghdr \ No newline at end of file diff --git a/dictionaries/library_importlib.metadata.txt b/dictionaries/library_importlib.metadata.txt new file mode 100644 index 0000000000..ea00c38f0b --- /dev/null +++ b/dictionaries/library_importlib.metadata.txt @@ -0,0 +1 @@ +metadata \ No newline at end of file diff --git a/dictionaries/library_inspect.txt b/dictionaries/library_inspect.txt index 75231c2bc6..9aa1e91af5 100644 --- a/dictionaries/library_inspect.txt +++ b/dictionaries/library_inspect.txt @@ -7,3 +7,9 @@ Signature signature introspeccionables determinísticamente +return +args +arg +tracebacks +yield +annotation \ No newline at end of file diff --git a/dictionaries/library_io.txt b/dictionaries/library_io.txt index b9ae1efc40..29f74fbe2a 100644 --- a/dictionaries/library_io.txt +++ b/dictionaries/library_io.txt @@ -4,3 +4,6 @@ subclasifica Reconfigura preprocesamiento similarmente +subclasificaciones +buscable +interbloqueos \ No newline at end of file diff --git a/dictionaries/library_itertools.txt b/dictionaries/library_itertools.txt index 6c98b8e062..694288061c 100644 --- a/dictionaries/library_itertools.txt +++ b/dictionaries/library_itertools.txt @@ -4,3 +4,9 @@ pred seq itn step +it +elem +vectorizadas +key +sumable +stop \ No newline at end of file diff --git a/dictionaries/library_json.txt b/dictionaries/library_json.txt index 8b438c1959..70ed9718d4 100644 --- a/dictionaries/library_json.txt +++ b/dictionaries/library_json.txt @@ -8,3 +8,4 @@ deserializan serializaciones deserialicen deserializadores +null diff --git a/dictionaries/library_locale.txt b/dictionaries/library_locale.txt index 653501d57c..bd20161781 100644 --- a/dictionaries/library_locale.txt +++ b/dictionaries/library_locale.txt @@ -2,3 +2,7 @@ gettext locale portablemente programáticamente +am +pm +sign +posn \ No newline at end of file diff --git a/dictionaries/library_logging_handlers.txt b/dictionaries/library_logging.handlers.txt similarity index 53% rename from dictionaries/library_logging_handlers.txt rename to dictionaries/library_logging.handlers.txt index 099b704686..7ec5d4d93d 100644 --- a/dictionaries/library_logging_handlers.txt +++ b/dictionaries/library_logging.handlers.txt @@ -3,4 +3,12 @@ serializado serializada deserializar datagrama +warning +port +rotator +namer +rsyslog +tag +method descripto +terminator diff --git a/dictionaries/library_logging.txt b/dictionaries/library_logging.txt new file mode 100644 index 0000000000..5e27f38927 --- /dev/null +++ b/dictionaries/library_logging.txt @@ -0,0 +1,6 @@ +sobreescritos +formatting +recalcule +uuu +clientip +xy diff --git a/dictionaries/library_lzma.txt b/dictionaries/library_lzma.txt index bc7dfdbd31..7027183a87 100644 --- a/dictionaries/library_lzma.txt +++ b/dictionaries/library_lzma.txt @@ -3,3 +3,5 @@ chequeos Hash GiB kiB +incrementalmente +sobreescritura \ No newline at end of file diff --git a/dictionaries/library_mailbox.txt b/dictionaries/library_mailbox.txt index 022e443547..0608cd367e 100644 --- a/dictionaries/library_mailbox.txt +++ b/dictionaries/library_mailbox.txt @@ -6,3 +6,11 @@ Rmail qmail reformateados moverlos +Courier +Mailbox +Underscore +multicanal +tin +cur +deleted +Archived \ No newline at end of file diff --git a/dictionaries/library_mailcap.txt b/dictionaries/library_mailcap.txt index 8caae6ff5f..2059e99139 100644 --- a/dictionaries/library_mailcap.txt +++ b/dictionaries/library_mailcap.txt @@ -5,4 +5,8 @@ Mailcap Agent For Mail -Configuration +mail +capability +Information +compose +view diff --git a/dictionaries/library_marshal.txt b/dictionaries/library_marshal.txt index fbb043764f..35550a03ef 100644 --- a/dictionaries/library_marshal.txt +++ b/dictionaries/library_marshal.txt @@ -1,2 +1,8 @@ pickle marshalled +pseudocompilado +frozenset +unmarshalled +unmarshallable +marshalling +unmarshalling diff --git a/dictionaries/library_modulefinder.txt b/dictionaries/library_modulefinder.txt new file mode 100644 index 0000000000..6e953b2023 --- /dev/null +++ b/dictionaries/library_modulefinder.txt @@ -0,0 +1 @@ +bacon diff --git a/dictionaries/library_msvcrt.txt b/dictionaries/library_msvcrt.txt new file mode 100644 index 0000000000..04e5d3b5d7 --- /dev/null +++ b/dictionaries/library_msvcrt.txt @@ -0,0 +1 @@ +kbd \ No newline at end of file diff --git a/dictionaries/library_os.txt b/dictionaries/library_os.txt index 97eedaa655..c8e718ba32 100644 --- a/dictionaries/library_os.txt +++ b/dictionaries/library_os.txt @@ -15,3 +15,28 @@ ejecutabilidad misceláneas entropía interactividad +v +ruid +sgid +suid +euid +egid +rgid +round +robin +subshell +signal +subshell +stdio +ctime +configurarlos +reescritura +stat +setgid +setuid +setgroups +initgroups +putenv +spawn +execv +group \ No newline at end of file diff --git a/dictionaries/library_osaudiodev.txt b/dictionaries/library_osaudiodev.txt new file mode 100644 index 0000000000..ecad58b315 --- /dev/null +++ b/dictionaries/library_osaudiodev.txt @@ -0,0 +1,2 @@ +Gravis +semidúplex \ No newline at end of file diff --git a/dictionaries/library_othergui.txt b/dictionaries/library_othergui.txt index 4121dd3558..a1e37a265f 100644 --- a/dictionaries/library_othergui.txt +++ b/dictionaries/library_othergui.txt @@ -1,2 +1,4 @@ kits -GUI \ No newline at end of file +GUI +Nokia +wxWindows \ No newline at end of file diff --git a/dictionaries/library_pdb.txt b/dictionaries/library_pdb.txt index 40a853e20c..d3af64f76c 100644 --- a/dictionaries/library_pdb.txt +++ b/dictionaries/library_pdb.txt @@ -2,3 +2,5 @@ pdb Pdb readrc decrementa +silent +pdbrc \ No newline at end of file diff --git a/dictionaries/library_platform.txt b/dictionaries/library_platform.txt index 2454ab2adf..98dd27419d 100644 --- a/dictionaries/library_platform.txt +++ b/dictionaries/library_platform.txt @@ -1,4 +1,8 @@ libc patchlevel uname -reordenación \ No newline at end of file +reordenación +multiprocesador +service +pack +IoT \ No newline at end of file diff --git a/dictionaries/library_poplib.txt b/dictionaries/library_poplib.txt index 0b7291edf9..bb302d81d3 100644 --- a/dictionaries/library_poplib.txt +++ b/dictionaries/library_poplib.txt @@ -13,5 +13,10 @@ TOP RFC CA SSL -POP3-over-SSL -IMAP \ No newline at end of file +over +IMAP +off +brand +keep +alive +desconexión \ No newline at end of file diff --git a/dictionaries/library_profile.txt b/dictionaries/library_profile.txt new file mode 100644 index 0000000000..c4135b5c48 --- /dev/null +++ b/dictionaries/library_profile.txt @@ -0,0 +1,5 @@ +Ghz +sublista +lineno +filename +Czotter \ No newline at end of file diff --git a/dictionaries/library_pyclbr.txt b/dictionaries/library_pyclbr.txt new file mode 100644 index 0000000000..8dde6c152b --- /dev/null +++ b/dictionaries/library_pyclbr.txt @@ -0,0 +1 @@ +children \ No newline at end of file diff --git a/dictionaries/library_pydoc.txt b/dictionaries/library_pydoc.txt new file mode 100644 index 0000000000..cd011014e8 --- /dev/null +++ b/dictionaries/library_pydoc.txt @@ -0,0 +1 @@ +paginación \ No newline at end of file diff --git a/dictionaries/library_queue.txt b/dictionaries/library_queue.txt new file mode 100644 index 0000000000..71172e3871 --- /dev/null +++ b/dictionaries/library_queue.txt @@ -0,0 +1,4 @@ +empty +qsize +put +full \ No newline at end of file diff --git a/dictionaries/library_quopri.txt b/dictionaries/library_quopri.txt new file mode 100644 index 0000000000..50628c5fe4 --- /dev/null +++ b/dictionaries/library_quopri.txt @@ -0,0 +1 @@ +Multipurpose diff --git a/dictionaries/library_re.txt b/dictionaries/library_re.txt new file mode 100644 index 0000000000..1dd825dc33 --- /dev/null +++ b/dictionaries/library_re.txt @@ -0,0 +1 @@ +İ \ No newline at end of file diff --git a/dictionaries/library_readline.txt b/dictionaries/library_readline.txt new file mode 100644 index 0000000000..daae40a698 --- /dev/null +++ b/dictionaries/library_readline.txt @@ -0,0 +1 @@ +libedit \ No newline at end of file diff --git a/dictionaries/library_resource.txt b/dictionaries/library_resource.txt new file mode 100644 index 0000000000..d0ed3a6a6e --- /dev/null +++ b/dictionaries/library_resource.txt @@ -0,0 +1,5 @@ +rlim +mbufs +vm +overcommit +sysctl diff --git a/dictionaries/library_select.txt b/dictionaries/library_select.txt new file mode 100644 index 0000000000..6c0f953459 --- /dev/null +++ b/dictionaries/library_select.txt @@ -0,0 +1,6 @@ +WinSock +kqueue +events +epolling +Permitscontrol +max \ No newline at end of file diff --git a/dictionaries/library_shlex.txt b/dictionaries/library_shlex.txt new file mode 100644 index 0000000000..32e500437a --- /dev/null +++ b/dictionaries/library_shlex.txt @@ -0,0 +1,3 @@ +close +punctuation +chars \ No newline at end of file diff --git a/dictionaries/library_signal.txt b/dictionaries/library_signal.txt index d6714a6dae..46ad825716 100644 --- a/dictionaries/library_signal.txt +++ b/dictionaries/library_signal.txt @@ -5,3 +5,4 @@ poll wakeup wakeups interrumpible +sigmask diff --git a/dictionaries/library_site.txt b/dictionaries/library_site.txt new file mode 100644 index 0000000000..d09c35ace7 --- /dev/null +++ b/dictionaries/library_site.txt @@ -0,0 +1,6 @@ +site +packages +deshabilitarlo +packages +subsubdirectorios +pyvenv \ No newline at end of file diff --git a/dictionaries/library_smtplib.txt b/dictionaries/library_smtplib.txt index 293986d100..d266fa8eef 100644 --- a/dictionaries/library_smtplib.txt +++ b/dictionaries/library_smtplib.txt @@ -3,3 +3,9 @@ host hostname millaje Conéctese +address +initialization +connect +address +username +spammers diff --git a/dictionaries/library_spwd.txt b/dictionaries/library_spwd.txt new file mode 100644 index 0000000000..e4900e5bec --- /dev/null +++ b/dictionaries/library_spwd.txt @@ -0,0 +1,3 @@ +sp +namp +pwdp \ No newline at end of file diff --git a/dictionaries/library_sqlite3.txt b/dictionaries/library_sqlite3.txt index 154c06a26d..63406be54e 100644 --- a/dictionaries/library_sqlite3.txt +++ b/dictionaries/library_sqlite3.txt @@ -9,3 +9,14 @@ sobrecoste arraysize rowid datetime +André +Lemburg +mytype +Expiration +depurarlas +bytestrings +temp +qmark +timestamps +rollback +loadable diff --git a/dictionaries/library_ssl.txt b/dictionaries/library_ssl.txt index bcd3fe71dd..2b24c1a9e0 100644 --- a/dictionaries/library_ssl.txt +++ b/dictionaries/library_ssl.txt @@ -22,3 +22,22 @@ ticket tickets Trust wrapper +Secure +Layer +matching +Poly +cryptographic +hard +coded +cert +trust +matching +hostnames +Diffie +Hellman +tls +unique +server +Wireshark +certs +Basic diff --git a/dictionaries/library_stdtypes.txt b/dictionaries/library_stdtypes.txt index fb3712313d..0219d607e7 100644 --- a/dictionaries/library_stdtypes.txt +++ b/dictionaries/library_stdtypes.txt @@ -3,3 +3,5 @@ Cardinalidad superconjunto superíndices unaria +Ll +Lu \ No newline at end of file diff --git a/dictionaries/library_stringprep.txt b/dictionaries/library_stringprep.txt new file mode 100644 index 0000000000..0f959e88bf --- /dev/null +++ b/dictionaries/library_stringprep.txt @@ -0,0 +1,5 @@ +tablaA +tablaB +tablaC +tablaD +surrogados diff --git a/dictionaries/library_sys.txt b/dictionaries/library_sys.txt index a49ea39457..84d75f8191 100644 --- a/dictionaries/library_sys.txt +++ b/dictionaries/library_sys.txt @@ -3,3 +3,8 @@ nan cachés pycache codifíquelo +replace +pth +pydebug +surrogateescape +enumerador \ No newline at end of file diff --git a/dictionaries/library_tarfile.txt b/dictionaries/library_tarfile.txt index e2b64b23e2..f916dd95d3 100644 --- a/dictionaries/library_tarfile.txt +++ b/dictionaries/library_tarfile.txt @@ -5,3 +5,8 @@ Output GiB bsdtar libarchive +ustar +star +fifo +w +fifos \ No newline at end of file diff --git a/dictionaries/library_telnetlib.txt b/dictionaries/library_telnetlib.txt index 1ab48545d9..29d8ae5f19 100644 --- a/dictionaries/library_telnetlib.txt +++ b/dictionaries/library_telnetlib.txt @@ -1,3 +1,20 @@ Telnet telnet You +telnetlib +suboption +begin +Begin +end +End +Abort +Ahead +Break +Character +Interrupt +Line +Operation +Subnegotiation +There +output +process diff --git a/dictionaries/library_test.txt b/dictionaries/library_test.txt index 5fadc6a227..bbe5c5264c 100644 --- a/dictionaries/library_test.txt +++ b/dictionaries/library_test.txt @@ -13,3 +13,5 @@ reutilización subinterpretador subinterpretadores PyUnit +refleaks +regrtest \ No newline at end of file diff --git a/dictionaries/library_time.txt b/dictionaries/library_time.txt index 39cb2da62c..ed05b39d25 100644 --- a/dictionaries/library_time.txt +++ b/dictionaries/library_time.txt @@ -1,2 +1,6 @@ range monotónico +monotónicamente +Greenwich +dst +zoneinfo \ No newline at end of file diff --git a/dictionaries/library_tkinter.tix.txt b/dictionaries/library_tkinter.tix.txt index 61bac1940d..c773d5b902 100644 --- a/dictionaries/library_tkinter.tix.txt +++ b/dictionaries/library_tkinter.tix.txt @@ -3,3 +3,8 @@ redimensionamiento bitmap sublista xbm +configurables +bitmaps +Motif +check +box \ No newline at end of file diff --git a/dictionaries/library_tkinter.ttk.txt b/dictionaries/library_tkinter.ttk.txt new file mode 100644 index 0000000000..d61e8ef485 --- /dev/null +++ b/dictionaries/library_tkinter.ttk.txt @@ -0,0 +1,55 @@ +Ttk +fg +bg +monografía +tkinter +Treeview +notebook +notebooks +Combobox +spinbox +Button +Checkbuttons +radiobuttons +desasocian +mnemotécnico +mnemotécnica +clickeando +reinsertados +mouse +element +somewidget +ThemeChanged +image +layout +themename +value +statespec +imagespec +vsapi +winfo +anchor +displaycolumns +width +all +tree +bottom +left +right +none +current +scrollcommand +Misc +readonly +disabled +Pf +Down +Up +determinate +indeterminate +browse +headings +selection +center +register +hidden \ No newline at end of file diff --git a/dictionaries/library_tkinter.txt b/dictionaries/library_tkinter.txt new file mode 100644 index 0000000000..81c638f7dc --- /dev/null +++ b/dictionaries/library_tkinter.txt @@ -0,0 +1 @@ +wrap diff --git a/dictionaries/library_tkinter_ttk.txt b/dictionaries/library_tkinter_ttk.txt deleted file mode 100644 index 240d1ed9ee..0000000000 --- a/dictionaries/library_tkinter_ttk.txt +++ /dev/null @@ -1,19 +0,0 @@ -Ttk -fg -bg -monografía -tkinter -Treeview -notebook -notebooks -Combobox -spinbox -Button -Checkbuttons -radiobuttons -desasocian -mnemotécnico -mnemotécnica -clickeando -reinsertados -mouse diff --git a/dictionaries/library_trace.txt b/dictionaries/library_trace.txt new file mode 100644 index 0000000000..6eab79a6ce --- /dev/null +++ b/dictionaries/library_trace.txt @@ -0,0 +1 @@ +missing \ No newline at end of file diff --git a/dictionaries/library_tracemalloc.txt b/dictionaries/library_tracemalloc.txt index f4e57d76ab..cda7821ce3 100644 --- a/dictionaries/library_tracemalloc.txt +++ b/dictionaries/library_tracemalloc.txt @@ -1,3 +1,4 @@ desinstala - - +frozen +offline +bootstrap diff --git a/dictionaries/library_turtle.txt b/dictionaries/library_turtle.txt index 605d28be49..624efe5cd3 100644 --- a/dictionaries/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -74,3 +74,12 @@ nim docstringdict aperiódico gravitacional +inscripto +arrow +Verhulst +kolams +shape +nimsticks +shapepoly +tiltangle +keyrelease diff --git a/dictionaries/library_unicodedata.txt b/dictionaries/library_unicodedata.txt new file mode 100644 index 0000000000..c54919d6d0 --- /dev/null +++ b/dictionaries/library_unicodedata.txt @@ -0,0 +1 @@ +gb \ No newline at end of file diff --git a/dictionaries/library_unittest.mock.txt b/dictionaries/library_unittest.mock.txt index 04768a2701..2553681c09 100644 --- a/dictionaries/library_unittest.mock.txt +++ b/dictionaries/library_unittest.mock.txt @@ -25,3 +25,8 @@ sizeof start stop stubs +awaits +awaitable +autoespecificados +spec +deshacerlo diff --git a/dictionaries/library_urllib.request.txt b/dictionaries/library_urllib.request.txt index ca988ebf1a..c7bbafbee8 100644 --- a/dictionaries/library_urllib.request.txt +++ b/dictionaries/library_urllib.request.txt @@ -27,4 +27,14 @@ BasicAuth ProxyHandler userinfo msg -AbstractBasicAuthHandler \ No newline at end of file +AbstractBasicAuthHandler +digest +setter +deleter +redireccionada +req +unverifiable +manejadoras +permanently +redirect +addinfourl diff --git a/dictionaries/library_uu.txt b/dictionaries/library_uu.txt index 9bad441095..e8e2365c1d 100644 --- a/dictionaries/library_uu.txt +++ b/dictionaries/library_uu.txt @@ -1,2 +1,3 @@ Ellinghouse Jack +Jansen diff --git a/dictionaries/library_venv.txt b/dictionaries/library_venv.txt new file mode 100644 index 0000000000..5ceb3864c2 --- /dev/null +++ b/dictionaries/library_venv.txt @@ -0,0 +1 @@ +venv diff --git a/dictionaries/library_weakref.txt b/dictionaries/library_weakref.txt index 64a2f3a656..a7184abfd1 100644 --- a/dictionaries/library_weakref.txt +++ b/dictionaries/library_weakref.txt @@ -2,3 +2,6 @@ reusar retrollamada retrollamadas dereferencia +mapeable +threading +lock \ No newline at end of file diff --git a/dictionaries/library_webbrowser.txt b/dictionaries/library_webbrowser.txt index 744c5ea557..1c2077fd10 100644 --- a/dictionaries/library_webbrowser.txt +++ b/dictionaries/library_webbrowser.txt @@ -1 +1,5 @@ -instanciaciones \ No newline at end of file +instanciaciones +Chrome +Chromium +kfm +Konqueror \ No newline at end of file diff --git a/dictionaries/library_winsound.txt b/dictionaries/library_winsound.txt new file mode 100644 index 0000000000..c2d65fd930 --- /dev/null +++ b/dictionaries/library_winsound.txt @@ -0,0 +1,2 @@ +winsound +hz \ No newline at end of file diff --git a/dictionaries/library_wsgiref.txt b/dictionaries/library_wsgiref.txt index bb8ed39389..76c6bdfeb5 100644 --- a/dictionaries/library_wsgiref.txt +++ b/dictionaries/library_wsgiref.txt @@ -1,2 +1,13 @@ transcodifica frameworks +Hop +by +Hello +World +world +Platform +Reconstruction +https +Handling +header +Specific \ No newline at end of file diff --git a/dictionaries/library_xdrlib.txt b/dictionaries/library_xdrlib.txt new file mode 100644 index 0000000000..20a6d80a39 --- /dev/null +++ b/dictionaries/library_xdrlib.txt @@ -0,0 +1,2 @@ +Microsystems +Inc diff --git a/dictionaries/library_xml.dom.minidom.txt b/dictionaries/library_xml.dom.minidom.txt index 0ac37b8c22..bcc881a2da 100644 --- a/dictionaries/library_xml.dom.minidom.txt +++ b/dictionaries/library_xml.dom.minidom.txt @@ -3,4 +3,4 @@ minidom Model solucionador subnodos - +pythónicas diff --git a/dictionaries/library_xml.dom.txt b/dictionaries/library_xml.dom.txt new file mode 100644 index 0000000000..ebd101c936 --- /dev/null +++ b/dictionaries/library_xml.dom.txt @@ -0,0 +1,3 @@ +definirlas +controversial +live \ No newline at end of file diff --git a/dictionaries/library_xml.sax.handler.txt b/dictionaries/library_xml.sax.handler.txt new file mode 100644 index 0000000000..52c5e004d7 --- /dev/null +++ b/dictionaries/library_xml.sax.handler.txt @@ -0,0 +1,2 @@ +xml +sax diff --git a/dictionaries/library_xml.sax.reader.txt b/dictionaries/library_xml.sax.reader.txt new file mode 100644 index 0000000000..25118dff9d --- /dev/null +++ b/dictionaries/library_xml.sax.reader.txt @@ -0,0 +1,3 @@ +resolveEntity +like +setEncoding diff --git a/dictionaries/library_xml.sax.utils.txt b/dictionaries/library_xml.sax.utils.txt index 3ab39b874a..a3500710c6 100644 --- a/dictionaries/library_xml.sax.utils.txt +++ b/dictionaries/library_xml.sax.utils.txt @@ -1 +1,2 @@ -polimórfico \ No newline at end of file +polimórfico +autocerrada \ No newline at end of file diff --git a/dictionaries/library_xmlrpc.server.txt b/dictionaries/library_xmlrpc.server.txt new file mode 100644 index 0000000000..a842323278 --- /dev/null +++ b/dictionaries/library_xmlrpc.server.txt @@ -0,0 +1,4 @@ +ExampleService +pydoc +autodocumentados +multicall \ No newline at end of file diff --git a/dictionaries/library_xmlrpc_server.txt b/dictionaries/library_xmlrpc_server.txt deleted file mode 100644 index 8f675a46ff..0000000000 --- a/dictionaries/library_xmlrpc_server.txt +++ /dev/null @@ -1 +0,0 @@ -ExampleService \ No newline at end of file diff --git a/dictionaries/library_zipapp.txt b/dictionaries/library_zipapp.txt index c2be192983..0194ade95d 100644 --- a/dictionaries/library_zipapp.txt +++ b/dictionaries/library_zipapp.txt @@ -11,3 +11,12 @@ Windows zip Zip zipapp +shebang +modificándolo +callable +pkg +deflate +create +fn +Limited +antepuestos \ No newline at end of file diff --git a/dictionaries/library_zipfile.txt b/dictionaries/library_zipfile.txt index ad9a016290..2794f23088 100644 --- a/dictionaries/library_zipfile.txt +++ b/dictionaries/library_zipfile.txt @@ -1,3 +1,4 @@ ZipFile PyZipFile ZipInfo +zipp \ No newline at end of file diff --git a/dictionaries/logging.txt b/dictionaries/logging.txt index 89e373d759..95930897ec 100644 --- a/dictionaries/logging.txt +++ b/dictionaries/logging.txt @@ -1,4 +1,7 @@ strptime loggers LogRecord -LoggerAdapter \ No newline at end of file +LoggerAdapter +concurrent +futures +gz diff --git a/dictionaries/reference_compound_stmts.txt b/dictionaries/reference_compound_stmts.txt new file mode 100644 index 0000000000..2d866fb770 --- /dev/null +++ b/dictionaries/reference_compound_stmts.txt @@ -0,0 +1 @@ +precalculado \ No newline at end of file diff --git a/dictionaries/reference_datamodel.txt b/dictionaries/reference_datamodel.txt new file mode 100644 index 0000000000..7c3677fd9b --- /dev/null +++ b/dictionaries/reference_datamodel.txt @@ -0,0 +1,3 @@ +objects +zero +awaitable diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt index e30dc370b0..4d6e13f9b2 100644 --- a/dictionaries/reference_expressions.txt +++ b/dictionaries/reference_expressions.txt @@ -6,4 +6,7 @@ reflexibilidad superconjuntos superconjuntos lexicográficamente -unarios \ No newline at end of file +unarios +floor +algorítmicamente +inhashables diff --git a/dictionaries/reference_import.txt b/dictionaries/reference_import.txt index 7573e478a7..5f7e46d392 100644 --- a/dictionaries/reference_import.txt +++ b/dictionaries/reference_import.txt @@ -13,3 +13,18 @@ pseudocódigo caché zipfile importlib +submodule +machinery +rst +pkgutil +runpy +origin +moduleY +location +locations +loader +zipfiles +inicializándolo +attrs +init +exec diff --git a/dictionaries/reference_lexical_analysis.txt b/dictionaries/reference_lexical_analysis.txt new file mode 100644 index 0000000000..855f314304 --- /dev/null +++ b/dictionaries/reference_lexical_analysis.txt @@ -0,0 +1 @@ +Moolenaar diff --git a/dictionaries/sphinx.txt b/dictionaries/sphinx.txt index ca94431022..5ad894de27 100644 --- a/dictionaries/sphinx.txt +++ b/dictionaries/sphinx.txt @@ -1,2 +1,5 @@ Foundation -Cómos \ No newline at end of file +Cómos +updated +last +em \ No newline at end of file diff --git a/dictionaries/using_cmdline.txt b/dictionaries/using_cmdline.txt index bab596ca18..441b725d03 100644 --- a/dictionaries/using_cmdline.txt +++ b/dictionaries/using_cmdline.txt @@ -4,4 +4,5 @@ traceback auditing autocomprobación autocomprobaciónes -hashes \ No newline at end of file +hashes +precompilados \ No newline at end of file diff --git a/dictionaries/using_mac.txt b/dictionaries/using_mac.txt new file mode 100644 index 0000000000..910c35e505 --- /dev/null +++ b/dictionaries/using_mac.txt @@ -0,0 +1,4 @@ +app +Applet +PythonLauncher +Applet \ No newline at end of file diff --git a/dictionaries/using_windows.txt b/dictionaries/using_windows.txt index 92c00c8c7e..d0af0fbcbd 100644 --- a/dictionaries/using_windows.txt +++ b/dictionaries/using_windows.txt @@ -21,3 +21,18 @@ shebang them under without +Now +Customize +installation +posinstalación +paths +vendoring +numpy +Excurso +Modify +hello +ini +pyw +Creating +Installing +Sauvage diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index a8be8f3872..16b22a95f7 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -3,3 +3,11 @@ Kuchling subsistemas syslogging Travis +amk +warnings +simplefilter +Bethard +values +items +Oliphant +reinsertándola diff --git a/dictionaries/whatsnew_3.0.txt b/dictionaries/whatsnew_3.0.txt index 14b1768773..7dd91d31ee 100644 --- a/dictionaries/whatsnew_3.0.txt +++ b/dictionaries/whatsnew_3.0.txt @@ -1,3 +1,6 @@ atractivamente introspeccionar - +softspace +generate +Tru +Prerrequisito diff --git a/dictionaries/whatsnew_3.2.txt b/dictionaries/whatsnew_3.2.txt index 2564d83a98..60bdb9de80 100644 --- a/dictionaries/whatsnew_3.2.txt +++ b/dictionaries/whatsnew_3.2.txt @@ -1,24 +1,30 @@ +Abraham Adam Alexandre +Allen Amaury Anand Andress Andrew Antoine +AquaTk +Arahesis Arc +Arfrever Armin -asignador +Baker Beazley Belopolsky Benjamin Bennetts +Bethard Bolton Brandl Builds Bupjoe Carbon -casing Catucci +Chenet Christos Cocoa Connect @@ -27,49 +33,54 @@ Daode Dave Deily Dickinson -disfuncional Distutils Eckhardt Ezio Florent Foord Forgeot +Frehtes Gawain Georg Georgiou Giampaolo -gotos -hash Hettinger Ilya +Indication +Interpreter +Jenvey +Jónsson Kannada +Kevin Kleckner +Kristján Kumaran Landsch Latin -long Lue Mac Mahn Malcolm +Marcin Mark Mattias Melotti Michael +Miki Murray Ned Neil New Nick -nntplib Nurpmeso Oussoren Peterson +Philip +Pillai Pitrou -port Pthreads -pymalloc -pysqlite +Quinlan +Ray Raymond Regex Regexp @@ -77,75 +88,68 @@ Reid Rodolpho Ronacher Ronald +Sablé Sandler Sat Schaaf Schemenauer Senthil -shells +Server +Shashwat +Steffen Stinner -stringlib Stutzbach +Subversion Swallow Tai +Taifersar +Talbot Tarek Tcl -tempfile -temporary +Tebeka +Terrence Tk -tokens Torsten -tupla Unicode -unittest Unladen +Urban Valgrind +Valur Vant Vassalotti Walzer +Wojdyr X Xicluna +Yasskin Ziadé -transcodificar +asignador +autorreferencia +camel +casing +cpython +desaconsejable +disfuncional +gotos +hash introspectar -sublistas +long +mymodule +nntplib +port +preconstruida +pymalloc +pyshared +pysqlite +shells +stringlib subelementos -autorreferencia -Marcin -Wojdyr -Arahesis -Arfrever -Frehtes -Taifersar -Jenvey -Philip -Stutzbach -Florent -Xicluna -Miki -Terrence -Jónsson -Kristján -Valur -Yasskin -Abraham -Talbot -Foord -Tarek -Ziadé -Sablé -Anand -Pillai -Chenet -Shashwat -Allen -Ray -Łukasz -Steffen +sublistas +tempfile +temporary +tokens +transcodificar +tupla +unittest +unladen Łukasz -AquaTk -Kevin -Subversion -Indication -Server -Interpreter diff --git a/dictionaries/whatsnew_3.3.txt b/dictionaries/whatsnew_3.3.txt index 7fb482041d..e434259e7f 100644 --- a/dictionaries/whatsnew_3.3.txt +++ b/dictionaries/whatsnew_3.3.txt @@ -1,96 +1,135 @@ +Aides +Arnaud Becker -Martin -Torsten -lanzándolas -Krah +Blanch +Boswell +Calderone +Calmettes +Carlson +Catalin +Chris +Chrome +Clark +Colin Curtin -subgenerador -factorizar -subiteradores -subgeneradores -Kelly -Renaud -Ryan -Zbigniew -Furman -Jiwon +Darren +Ewert +Ewing Ezio -Melotti -Lehtinen -Petri +François +Furman +Goderbauer +Gonçalves Gruszczyński -Moody -Colin -Peter -Natali -libmpdec -Libmpdec -linesep -Peter -Karlsen -Nadeem -Vawda -Øyvind -Darren +Gustäbel +Heiko +Herath Hirokazu -Tirosh -Negotiation -Yamamoto -Catalin +Hynek Iacob -Petrou -Aides -Nir -multibyte +Inge Iñigo -Schaaf -Kuhn +Jacek +Jauhiainen +Jean +Jiwon Joseph -Sijin -Inge +Josiah +Juhana +Justin +Karlsen +Kasun +Kelly +Klose +Konieczny +Krah +Kuhn +Lagerwall +Landschoff +Lars +Lehtinen +Libmpdec +Lowis +Löwis +Martin Meador -Townsend +Melotti +Moody +Nadeem +Natali +Negotiation +Niehof +Nir Oudkerk +Peter +Petri +Petrou +Renaud Richard -Hynek -Schlawack -Lagerwall -Zbigniew -Carlson -Josiah -Chris -Clark +Ryan Sandro -Tosi -desreferencian -Niehof -Löwis -Calderone -Juhana Scardine -Herath -Kasun -Heiko -Watson -Gonçalves +Schaaf +Schlawack +Sijin +Simpkins +Szmek Tiago -Goderbauer -Justin +Tirosh +Torsten +Tosi +Townsend +Treviño +Vawda +Virtualenv Warkentin -Landschoff -sql -Simpkins -Jacek -Konieczny -introspectarse -Gustäbel -Lars -subclasificadas -Ewert +Watson Winston -Arnaud -Calmettes -Chrome -Klose +Wundram +Yamamoto +Zbigniew +cast +decode +desreferencian +directory +division +editables +encode +factorizar +filemode +fopen +getbufferproc +hashing +implementation +introspectarse +lanzándolas +libmpdec +linesep +linux +localtime +multibyte +ncursesw +numèricos +package +page pep +platform +reconstruídas +reestricciones +sql +sqlite +startswith +subclasificadas +subgenerador +subgeneradores +subindices +subiteradores +symlink +tarfile +target +timezone ubicarla +utils +wide +xff +Øyvind diff --git a/dictionaries/whatsnew_3.7.txt b/dictionaries/whatsnew_3.7.txt new file mode 100644 index 0000000000..8f4f9550bf --- /dev/null +++ b/dictionaries/whatsnew_3.7.txt @@ -0,0 +1,17 @@ +Trusty +autocompletar +based +bmp +idempotentes +issues +jessie +nix +shot +sincronicas +stretch +subminutos +switch +warn +xenial +Є +factorizado diff --git a/dictionaries/whatsnew_index.txt b/dictionaries/whatsnew_index.txt new file mode 100644 index 0000000000..b4a545d947 --- /dev/null +++ b/dictionaries/whatsnew_index.txt @@ -0,0 +1 @@ +Changelog diff --git a/distutils/builtdist.po b/distutils/builtdist.po index f633ec3717..e3abb40763 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -342,9 +342,9 @@ msgid "" msgstr "" "No tiene que usar el comando :command:`bdist` con la opción :option:`!--" "formats`; también puede usar el comando que directamente implementa el " -"formato en el que esté interesado. Algunos de estos :command:`bdist` \"sub-" -"commands\" de hecho generan varios formatos similares; por ejemplo, el " -"comando :command:`bdist_dumb` genera todos los formatos de archivo \"dumb" +"formato en el que esté interesado. Algunos de estos subcomandos :command:" +"`bdist` de hecho generan varios formatos similares; por ejemplo, el comando :" +"command:`bdist_dumb` genera todos los formatos de archivo \"dumb" "\" (``tar``, ``gztar``, ``bztar``, ``xztar``, ``ztar``, y ``zip``), y :" "command:`bdist_rpm` genera tanto binario como fuentes *RPMs*. Los " "subcomandos :command:`bdist`, y los formatos generados por cada uno, son:" @@ -371,7 +371,7 @@ msgstr ":command:`bdist_rpm`" #: ../Doc/distutils/builtdist.rst:142 msgid "rpm, srpm" -msgstr "*rpm*,* srpm*" +msgstr "*rpm*, *srpm*" #: ../Doc/distutils/builtdist.rst:144 msgid ":command:`bdist_wininst`" diff --git a/distutils/extending.po b/distutils/extending.po index 0bb9a4d691..321fa530da 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -130,7 +130,7 @@ msgstr "" "utilizados. Una nueva opción de configuración, ``command_packages`` (opción " "de la línea de comandos :option:`!--command-packages`), puede ser aplicada " "para especificar paquetes adicionales a ser buscados para módulos que " -"implementen comandos. Como todas las opciones de distutuils, esto puede " +"implementen comandos. Como todas las opciones de distutils, esto puede " "especificarse en la línea de comandos o en un archivo de configuración. Esta " "opción sólo se puede configurar en la sección ``[global]`` de un archivo de " "configuración, o antes de cualquier comando en la línea de comandos. Si se " diff --git a/extending/newtypes.po b/extending/newtypes.po index e738b2584a..af21782b48 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -871,10 +871,10 @@ msgid "" "function you want to implement." msgstr "" "Para aprender a implementar cualquier método específico para su nuevo tipo " -"de datos, obtenga el código fuente :term:`CPython`. Vaya al directorio: " -"file: `Objects`, luego busque en los archivos fuente C ``tp_`` más la " -"función que desee (por ejemplo, ``tp_richcompare``). Encontrará ejemplos de " -"la función que desea implementar." +"de datos, obtenga el código fuente :term:`CPython`. Vaya al directorio: file:" +"`Objects`, luego busque en los archivos fuente C ``tp_`` más la función que " +"desee (por ejemplo, ``tp_richcompare``). Encontrará ejemplos de la función " +"que desea implementar." #: ../Doc/extending/newtypes.rst:607 msgid "" diff --git a/faq/extending.po b/faq/extending.po index 282e4cb671..3f55b84916 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -364,7 +364,7 @@ msgstr "" #: ../Doc/faq/extending.rst:224 msgid "How do I debug an extension?" -msgstr "¿Cómo puedo depurar una extención?" +msgstr "¿Cómo puedo depurar una extensión?" #: ../Doc/faq/extending.rst:226 msgid "" @@ -467,7 +467,7 @@ msgstr "" "La primera solución es llamar a :c:func:`PyParser_ParseString` y probar con " "``e.error`` igual a ``E_EOF``, que significa que la entrada esta incompleta. " "Aquí hay un fragmento de código ejemplo, que no esta probado, inspirado en " -"el código de Alex Farber:" +"el código de Alex Farber::" #: ../Doc/faq/extending.rst:310 msgid "" diff --git a/howto/clinic.po b/howto/clinic.po index 09d6fbaeb3..fac3a3bf12 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -2532,8 +2532,8 @@ msgid "" "You can still use a self converter, a return converter, and specify a " "``type`` argument to the object converter for ``METH_O``." msgstr "" -"Aún puede usar un autoconvertidor, un convertidor de retorno y especificar " -"un argumento de ``tipo`` para el convertidor de objetos para ``METH_O``." +"Aún puede usar un autoconversor, un convertidor de retorno y especificar un " +"argumento de ``tipo`` para el convertidor de objetos para ``METH_O``." #: ../Doc/howto/clinic.rst:1337 msgid "tp_new and tp_init functions" diff --git a/howto/functional.po b/howto/functional.po index 033eac2a3a..86e6cbb08c 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -867,7 +867,7 @@ msgid "" msgstr "" "Podría lograr el efecto de los generadores manualmente escribiendo su propia " "clase y guardando todas las variables locales del generador como variables " -"de instance. Por ejemplo, retornar una lista de enteros se podría hacer " +"de instancia. Por ejemplo, retornar una lista de enteros se podría hacer " "estableciendo ``self.count`` a 0, y teniendo el método :meth:`~iterator." "__next__` que incrementa ``self.count`` y lo retorna. Sin embargo, para un " "generador moderadamente complicado, escribir una clase correspondiente puede " @@ -1512,7 +1512,7 @@ msgstr "" ":func:`~itertools.groupby` asume que los contenidos del iterable subyacente " "ya se ordenó basado en la clave. Note que los iteradores retornados también " "usan el iterable subyacente, así que tiene que consumir los resultados de " -"iterator-1 antes de solicitar iterator-2 y su clave correspondiente." +"iterador-1 antes de solicitar iterador-2 y su clave correspondiente." #: ../Doc/howto/functional.rst:989 msgid "The functools module" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index be4997d4ff..dca4ac395c 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -342,7 +342,7 @@ msgid "" "the module name, ``arg1`` indicates if module was successfully loaded." msgstr "" "Se activa después de que la función *find_and_load* de :mod:`importlib` es " -"llamada. ``arg0`` es el nombre del módulo,``arg1`` indica si el módulo se " +"llamada. ``arg0`` es el nombre del módulo, ``arg1`` indica si el módulo se " "cargó correctamente." #: ../Doc/howto/instrumentation.rst:335 diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 9ac36a807d..3f19f2ce20 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-27 01:14-0300\n" +"PO-Revision-Date: 2021-08-03 11:36+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos A. Crespo \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/howto/logging-cookbook.rst:5 msgid "Logging Cookbook" @@ -1266,6 +1266,7 @@ msgstr "" msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "Insertar BOM en mensajes enviados a SysLogHandler" +# se hizo un cambio para que no ocurriera el error de :rfc:`...` que no comienza por número. #: ../Doc/howto/logging-cookbook.rst:1689 msgid "" ":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " @@ -1276,9 +1277,9 @@ msgid "" msgstr "" ":rfc:`5424` requiere que se envíe un mensaje Unicode a un demonio syslog " "como un conjunto de bytes que tienen la siguiente estructura: un componente " -"opcional puro-ASCII, seguido de una Marca de Orden de Bytes UTF-8 (*BOM* por " -"sus siglas en inglés), seguida de codificado en Unicode usando UTF-8. (See " -"the :rfc:`relevant section of the specification <5424#section-6>`.)" +"opcional ASCII puro, seguido de una marca de orden de bytes UTF-8 (BOM), " +"seguida de Codificado en Unicode usando UTF-8. (Ver sección relevante de la " +"especificación :rfc:`5424#section-6`.)" #: ../Doc/howto/logging-cookbook.rst:1695 msgid "" @@ -1500,7 +1501,7 @@ msgid "" "types of file change - e.g. setting specific POSIX permission bits - in the " "same way, using :func:`os.chmod`." msgstr "" -"Por furtuna, este ejemplo también indica el camino hacia cómo podría " +"Por fortuna, este ejemplo también indica el camino hacia cómo podría " "implementar otros tipos de cambio de archivo, por ejemplo, configurando de " "la misma manera bits de permisos POSIX específicos, usando :func:`os.chmod`." diff --git a/howto/logging.po b/howto/logging.po index dea17495f3..86ea7f7da8 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -626,8 +626,8 @@ msgstr "" "`Logger` (de aquí en adelante llamada :dfn:`loggers`). Cada instancia tiene " "un nombre, y se organizan conceptualmente en una jerarquía de espacios de " "nombres utilizando puntos (puntos) como separadores. Por ejemplo, un " -"registrador llamado \"scan\" es el padre de los registradores \"scan.text\", " -"\"scan.html\" y \"scan.pdf\". Los nombres de los registradores pueden ser " +"registrador llamado 'scan' es el padre de los registradores 'scan.text', " +"'scan.html' y 'scan.pdf'. Los nombres de los registradores pueden ser " "cualquier cosa que se desee, e indican el área de una aplicación en la que " "se origina un mensaje registrado." @@ -1791,7 +1791,7 @@ msgstr "" "Para dar formato a varios mensajes en un lote, se pueden utilizar instancias " "de :class:`~handlers.BufferingFormatter`. Además de la cadena de formato " "(que se aplica a cada mensaje del lote), hay una provisión para cadenas de " -"formato de cabecera y de trailer." +"formato de cabecera y de tráiler." #: ../Doc/howto/logging.rst:995 msgid "" diff --git a/howto/sockets.po b/howto/sockets.po index 252f0bb634..15fc20253a 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -519,7 +519,7 @@ msgstr "" "antes de cerrarlo con ``close``. ``shutdown`` es un aviso para el socket en " "el otro lado. Dependiendo del argumento que se le pase, puede significar " "\"No voy a mandar más datos, pero voy a escuchar\" o \"No estoy escuchando, " -"adios!\". La mayoría de bibliotecas para sockets, sin embargo, están tan " +"adiós!\". La mayoría de bibliotecas para sockets, sin embargo, están tan " "acostumbradas a que los programadores ignoren esta parte de la etiqueta que " "normalmente ``close`` es lo mismo que ``shutdown(); close()``. Por tanto en " "la mayoría de las situaciones usar ``shutdown`` de manera explícita no es " @@ -680,7 +680,7 @@ msgid "" "(possibly empty) of the corresponding list you passed in." msgstr "" "En el retorno tendrás tres listas. Estas contienen los sockets que son " -"realmente leíbles, escribibles y con error. Cada una de estas lista es un " +"realmente legibles, escribibles y con error. Cada una de estas lista es un " "subconjunto (posiblemente vacío) de la lista correspondiente que pasaste." #: ../Doc/howto/sockets.rst:359 @@ -692,9 +692,9 @@ msgid "" "nothing. (Actually, any reasonably healthy socket will return as writable - " "it just means outbound network buffer space is available.)" msgstr "" -"Si un socket está en la lista retornada de los leíbles, puedes estar tan-" -"seguro-como-podrías-estarlo-en-este-negocio que una llamada a ``recv`` en " -"este socket va a retornar *algo*. La misma idea se aplica a la lista de " +"Si un socket está en la lista retornada legible, puedes estar tan-seguro-" +"como-podrías-estarlo-en-este-negocio que una llamada a ``recv`` en este " +"socket va a retornar *algo*. La misma idea se aplica a la lista de " "escribibles. Serás capaz de mandar *algo*. Tal vez no todo lo que quieras, " "pero *algo* es mejor que nada. (Realmente, cualquier socket socket " "razonablemente saludable va a retornar como escribible - eso solo significa " @@ -708,8 +708,8 @@ msgid "" "it in the potential_writers list. If it shows up in the writable list, you " "have a decent chance that it has connected." msgstr "" -"Si tienes un socket *servidor*, ponlo en la lista de *potenciales leíbles*. " -"Se retorna en la lista de leíbles, una llamada a ``accept`` va a funcionar " +"Si tienes un socket *servidor*, ponlo en la lista de *potenciales legibles*. " +"Se retorna en la lista de legibles, una llamada a ``accept`` va a funcionar " "(casi seguro). Se has creado un nuevo socket para llamar a ``connect`` para " "conectarte con otro, ponlo en la lista de *potenciales escribibles*. Si " "retorna en la lista de escribibles, tienes una buena oportunidad de que esté " diff --git a/howto/unicode.po b/howto/unicode.po index 3423a6e263..c645f6ffcb 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -155,7 +155,7 @@ msgstr "" "elementos gráficos llamado **glifo**. El glifo para una A mayúscula, por " "ejemplo, es dos trazos diagonales y uno horizontal, aunque los detalles " "exactos van a depender de la fuente utilizada. La mayoría del código de " -"Python no necesita preocuparse por los glifos*; averiguar el glifo correcto " +"Python no necesita preocuparse por los glifos; averiguar el glifo correcto " "para mostrar es generalmente el trabajo de un kit de herramientas GUI o el " "renderizador de fuentes de una terminal." diff --git a/howto/urllib2.po b/howto/urllib2.po index 2aeca2d166..bb72495778 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -377,7 +377,7 @@ msgstr "" "la petición. Los gestores predeterminados se encargarán de algunas de estas " "respuestas automáticamente (por ejemplo, si la respuesta es una \"redirección" "\" que solicita que el cliente obtenga el documento desde una URL diferente, " -"urllib se encargará de eso por tí). Para aquellas respuestas que no puede " +"urllib se encargará de eso por ti). Para aquellas respuestas que no puede " "manejar, urlopen generará un :exc:`HTTPError`. Los errores típicos incluyen " "'404' (página no encontrada), '403' (petición prohibida), y " "'401' (autenticación requerida)." @@ -638,7 +638,7 @@ msgid "" msgstr "" "El cliente debe entonces volver a intentar la solicitud con el nombre y la " "contraseña apropiados para el realm incluido como encabezamiento en la " -"solicitud. Esto es 'basic authentication'. Para simplificar este proceso " +"solicitud. Esto es 'autenticación básica'. Para simplificar este proceso " "podemos crear una instancia de ``HTTPBasicAuthHandler`` y un objeto de " "apertura para usar este manejador." diff --git a/install/index.po b/install/index.po index 424d91e7c7..24d80065ee 100644 --- a/install/index.po +++ b/install/index.po @@ -280,7 +280,7 @@ msgstr "" "colocar los archivos para instalar en un *directorio de compilación*. Por " "defecto, esto es :file:`build` bajo la raíz de distribución; si está " "demasiado preocupado por la velocidad, o si desea mantener el árbol de " -"origen pristine, puede cambiar el directorio de compilación con la opción :" +"origen prístino, puede cambiar el directorio de compilación con la opción :" "option:`!--build-base`. Por ejemplo::" #: ../Doc/install/index.rst:162 @@ -1504,7 +1504,7 @@ msgid "" "\\distutils\\\\distutils.cfg` in a standard Python 1.5.2 installation under " "Windows." msgstr "" -"(Ver nota (1).) En Python 1.6 y posterior, el \"installation prefix\" por " +"(Ver nota (1).) En Python 1.6 y posterior, el \"prefijo de instalación\" por " "defecto de Python es :file:`C:\\\\Python`, entonces el archivo de " "configuración de sistema es normalmente :file:`C:\\\\Python\\\\Lib\\" "\\distutils\\\\distutils.cfg`. En Python 1.5.2, el prefijo por defecto era :" @@ -1713,8 +1713,8 @@ msgid "" msgstr "" "*archivo fuente* es cualquier cosa que probablemente sea un archivo de " "código fuente, al menos a juzgar por el nombre del archivo. Se supone que " -"los nombres de archivo que terminan en :file: `.c` están escritos en C, los " -"nombres de archivo que terminan en :file:`.C` , :file:`.cc`, y :file:`.c ++` " +"los nombres de archivo que terminan en :file:`.c` están escritos en C, los " +"nombres de archivo que terminan en :file:`.C` , :file:`.cc`, y :file:`.c++` " "son de C ++, y se supone que los nombres de archivo que terminan en :file:`." "m` o :file:`.mm` están en el Objetivo C." diff --git a/library/2to3.po b/library/2to3.po index 168b32d619..972efcfeec 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -67,7 +67,7 @@ msgstr "" #: ../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`::" +msgstr "Este es un ejemplo de un archivo en Python 2.x, :file:`example.py`::" #: ../Doc/library/2to3.rst:34 msgid "It can be converted to Python 3.x code via 2to3 on the command line:" diff --git a/library/argparse.po b/library/argparse.po index 03cdce9788..222f364025 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -555,8 +555,8 @@ msgstr "" "La mayoría de las opciones de la línea de comandos usarán ``-`` como " "prefijo, por ejemplo ``-f/--foo``. Los analizadores que necesiten soportar " "caracteres prefijo diferentes o adicionales, por ejemplo, para opciones como " -"``+f`` o ``/foo``, pueden especificarlos usando el " -"argumento``prefix_chars=`` para el constructor *ArgumentParser*::" +"``+f`` o ``/foo``, pueden especificarlos usando el argumento " +"``prefix_chars=`` para el constructor *ArgumentParser*::" #: ../Doc/library/argparse.rst:496 msgid "" @@ -610,7 +610,7 @@ msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." msgstr "" -"El argumento``fromfile_prefix_chars=`` por defecto es ``None``, lo que " +"El argumento ``fromfile_prefix_chars=`` por defecto es ``None``, lo que " "significa que los argumentos nunca serán tratados como referencias de " "archivos." @@ -1026,7 +1026,7 @@ 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__``." +"método ``__call__`` y opcionalmente el método ``__init__``." #: ../Doc/library/argparse.rst:860 msgid "An example of a custom action::" @@ -2021,7 +2021,7 @@ msgid "" msgstr "" "Además, ``add_parser`` soporta un argumento adicional ``aliases``, que " "permite que múltiples cadenas se refieran al mismo analizador secundario. " -"Este ejemplo, algo del estilo``svn``, alias ``co`` como abreviatura para " +"Este ejemplo, algo del estilo ``svn``, alias ``co`` como abreviatura para " "``checkout``::" #: ../Doc/library/argparse.rst:1756 diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 05f9d46de3..c935f0569a 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -644,7 +644,7 @@ msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" -"La conexión es establecida y un :ref:`transport ` es " +"La conexión es establecida y un :ref:`transporte ` es " "creado para ello." #: ../Doc/library/asyncio-eventloop.rst:385 diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 0edbab43ce..88dc53f5a8 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -630,7 +630,7 @@ msgid "" "doesn't support half-closed connections." msgstr "" "Este método puede lanzar una excepción :exc:`NotImplementedError` si el " -"transporte (p. ej. SSL) no soporta conexiones half-closed ('semi-cerradas')." +"transporte (p. ej. SSL) no soporta conexiones semicerradas (*half-closed*)." #: ../Doc/library/asyncio-protocol.rst:352 msgid "Datagram Transports" @@ -1019,9 +1019,9 @@ msgid "" "which case returning true from this method will result in the connection " "being closed." msgstr "" -"Algunos transportes, incluido SSL, no admiten conexiones half-closed ('semi-" -"cerradas'), en cuyo caso retornar verdadero desde este método resultará en " -"el cierre de la conexión." +"Algunos transportes, incluido SSL, no admiten conexiones semicerradas (*half-" +"closed*), en cuyo caso retornar verdadero desde este método resultará en el " +"cierre de la conexión." #: ../Doc/library/asyncio-protocol.rst:577 #: ../Doc/library/asyncio-protocol.rst:635 diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 48f2b863f9..abcf6e1f4e 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -38,7 +38,7 @@ msgid "" msgstr "" "Las colas asyncio son diseñadas para ser similares a clases del módulo :mod:" "`queue`. Sin embargo las colas asyncio no son seguras para hilos, son " -"diseñadas para usar específicamente en código async/wait." +"diseñadas para usar específicamente en código async/await." #: ../Doc/library/asyncio-queue.rst:17 msgid "" diff --git a/library/audioop.po b/library/audioop.po index 8b43b44371..0aac89cb67 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -152,9 +152,9 @@ msgid "" "both contain 2-byte samples." msgstr "" "Retorna un factor *F* tal que ``rms(add(fragment, mul(reference, -F)))`` sea " -"minimal, i.e., retorna el factor con el cual debes multiplicar la " -"*reference* para hacerlo coincidir tanto como sea posible a *fragment*. Los " -"fragmentos deben contener muestras de 2-byte." +"mínimo, i.e., retorna el factor con el cual debes multiplicar la *reference* " +"para hacerlo coincidir tanto como sea posible a *fragment*. Los fragmentos " +"deben contener muestras de 2-byte." #: ../Doc/library/audioop.rst:99 msgid "The time taken by this routine is proportional to ``len(fragment)``." @@ -187,7 +187,7 @@ msgid "" msgstr "" "Inspecciona *fragment* por un segmento de longitud *length* muestras (¡no " "bytes!) con la energía máxima, i.e., retorna *i* por el cual " -"``rms(fragment[i*2:(i+length)*2])`` es maximal. Los fragmentos deben " +"``rms(fragment[i*2:(i+length)*2])`` es máximo. Los fragmentos deben " "contener muestras de 2 bytes." #: ../Doc/library/audioop.rst:119 @@ -206,7 +206,7 @@ msgid "" "algorithm has been selected for use by the IMA, so it may well become a " "standard." msgstr "" -"Convierte las muestras en codificaciones Indel/DVI ADPCM de 4 bits. La " +"Convierte las muestras en codificaciones Intel/DVI ADPCM de 4 bits. La " "codificación ADPCM es un esquema de codificación adaptativo a través del " "cual cada número de 4 bits es la diferencia entre una muestra y la " "siguiente, dividido por un paso (inconsistente). El algoritmo de Intel/DVI " diff --git a/library/binascii.po b/library/binascii.po index c25afd56b5..880f8ec11a 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -58,8 +58,8 @@ msgstr "" #: ../Doc/library/binascii.rst:29 msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." msgstr "" -"Las cadenas ASCII-only unicode son ahora aceptadas por las funciones " -"``a2b_*``." +"Las cadenas unicode con sólo caracteres ASCII son ahora aceptadas por las " +"funciones ``a2b_*``." #: ../Doc/library/binascii.rst:33 msgid "The :mod:`binascii` module defines the following functions:" diff --git a/library/cmd.po b/library/cmd.po index 9eac3d1e0c..b55fdb52f8 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -432,7 +432,7 @@ msgstr "" "implementado con el método :meth:`~Cmd.precmd` el cuál es el responsable de " "convertir la entrada a minúscula y escribir los comandos en un archivo. El " "método :meth:`do_playback` lee el archivo y añade los comandos grabados al :" -"attr:`cmdqueue` para un playback: inmediato:" +"attr:`cmdqueue` para una reproducción inmediata::" #: ../Doc/library/cmd.rst:320 msgid "" diff --git a/library/configparser.po b/library/configparser.po index 1871e1d6f3..48bfd207ea 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -73,7 +73,7 @@ msgid "" "The json module implements a subset of JavaScript syntax which can also be " "used for this purpose." msgstr "" -"El módulo json implementa un subconjunto de la sintaxis de Javascript, que " +"El módulo json implementa un subconjunto de la sintaxis de JavaScript, que " "también puede utilizarse para este propósito." #: ../Doc/library/configparser.rst:51 diff --git a/library/ctypes.po b/library/ctypes.po index b560d15eeb..1b48b92d90 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -703,7 +703,7 @@ msgid "" "Here is a more advanced example, it uses the ``strchr`` function, which " "expects a string pointer and a char, and returns a pointer to a string::" msgstr "" -"Aquí hay un ejemplo más avanzado, utiliza la función``strchr``, que espera " +"Aquí hay un ejemplo más avanzado, utiliza la función ``strchr``, que espera " "un puntero de cadena y un carácter, y retorna un puntero a una cadena::" #: ../Doc/library/ctypes.rst:464 @@ -1753,7 +1753,7 @@ msgstr "" 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." +"C de Python." #: ../Doc/library/ctypes.rst:1381 msgid "" @@ -1779,8 +1779,8 @@ msgid "" "configurable." msgstr "" "El parámetro *mode* puede utilizarse para especificar cómo se carga la " -"biblioteca. Para más detalles, consulte la página :manpage:`dlopen(3)` " -"manpage. En Windows, *mode* es ignorado. En los sistemas posix, RTLD_NOW " +"biblioteca. Para más detalles, consulte la página :manpage:`dlopen(3)` del " +"manual. En Windows, *mode* es ignorado. En los sistemas posix, RTLD_NOW " "siempre se agrega, y no es configurable." #: ../Doc/library/ctypes.rst:1393 diff --git a/library/curses.ascii.po b/library/curses.ascii.po index 92b4c240ae..bad16a1bc5 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -473,7 +473,7 @@ msgid "" "character bit value is bitwise-anded with 0x1f)." msgstr "" "Retorna el carácter de control correspondiente al carácter dado (el valor " -"del bit del carácter es bit a bit (* bitwise-anded*) con 0x1f)." +"del bit del carácter es bit a bit (*bitwise-anded*) con 0x1f)." #: ../Doc/library/curses.ascii.rst:203 msgid "" diff --git a/library/curses.po b/library/curses.po index 5e45d51619..b8ac985bf2 100644 --- a/library/curses.po +++ b/library/curses.po @@ -190,7 +190,7 @@ msgid "" "Return ``True`` or ``False``, depending on whether the programmer can change " "the colors displayed by the terminal." msgstr "" -"Retorna \"True\" o \"False\", dependiendo ya sea que el programador puede " +"Retorna ``True`` o ``False``, dependiendo ya sea que el programador puede " "cambiar los colores presentados por la terminal." #: ../Doc/library/curses.rst:105 @@ -345,12 +345,12 @@ msgid "" msgstr "" "La rutina :func:`.filter`, si es usada, debe ser llamada antes que :func:" "`initscr` sea llamada. El efecto es que durante estas llamadas, :envvar:" -"`LINES` es configurada para \"1\"; las capacidades \"clear\", \"cup\", \"cud" -"\", \"cud1\", \"cuu1\", \"cuu\", \"vpa\" son desactivadas; y la cadena \"home" -"\" es configurada para el valor de \"cr\". El efecto es que el cursor es " -"confinado para la línea actual, y también las pantallas son actualizadas. " -"Este puede ser usado para habilitar la línea editando el carácter en un " -"tiempo sin tocar el resto de las pantallas." +"`LINES` es configurada para ``1``; las capacidades ``clear``, ``cup``, " +"``cud``, ``cud1``, ``cuu1``, ``cuu``, ``vpa`` son desactivadas; y la cadena " +"``home`` es configurada para el valor de ``cr``. El efecto es que el cursor " +"es confinado para la línea actual, y también las pantallas son " +"actualizadas. 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:204 msgid "" @@ -424,8 +424,8 @@ msgid "" "Return ``True`` if the terminal can display colors; otherwise, return " "``False``." msgstr "" -"Retorna \"True\" si el terminal puede desplegar colores, en caso contrario, " -"retorna \"False\"." +"Retorna ``True`` si el terminal puede desplegar colores, en caso contrario, " +"retorna ``False``." #: ../Doc/library/curses.rst:249 msgid "" @@ -455,7 +455,7 @@ msgid "" "Take a key value *ch*, and return ``True`` if the current terminal type " "recognizes a key with that value." msgstr "" -"Toma una clave valor *ch*, y retorna \"True\" si el tipo de terminal actual " +"Toma una clave valor *ch*, y retorna ``True`` si el tipo de terminal actual " "reconoce una clave con ese valor." #: ../Doc/library/curses.rst:270 @@ -537,15 +537,15 @@ msgid "" "Return ``True`` if :func:`resize_term` would modify the window structure, " "``False`` otherwise." msgstr "" -"Retorna \"True\" si :func:`resize_term` modificaría la estructura de la " -"ventana, \"False\" en caso contrario." +"Retorna ``True`` si :func:`resize_term` modificaría la estructura de la " +"ventana, ``False`` en caso contrario." #: ../Doc/library/curses.rst:320 msgid "" "Return ``True`` if :func:`endwin` has been called (that is, the curses " "library has been deinitialized)." msgstr "" -"Retorna \"True\" si :func:`endwin` ha sido llamado (eso es que la librería " +"Retorna ``True`` si :func:`endwin` ha sido llamado (eso es que la librería " "curses ha sido desinicializada)." #: ../Doc/library/curses.rst:326 @@ -594,8 +594,8 @@ msgid "" "If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " "``False``, allow only 7-bit chars." msgstr "" -"Si *flag* es \"True\", permite caracteres de 8 bits para ser introducidos. " -"Si *flag* es \"False\", permite solamente caracteres de 7 bits." +"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:356 msgid "" @@ -880,7 +880,7 @@ msgid "" "then :meth:`leaveok ` is set ``True``." msgstr "" "Fija el cursor de la pantalla virtual para *y*, *x*. Si *y* y *x* son ambos " -"\"-1\", entonces :meth:`leaveok ` es configurado \"True\"." +"\"-1\", entonces :meth:`leaveok ` es configurado ``True``." #: ../Doc/library/curses.rst:551 msgid "" @@ -1211,7 +1211,7 @@ msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -"Añade el atributo *attr* del conjunto del *background* aplicado para todas " +"Añade el atributo *attr* del conjunto del \"background\" aplicado para todas " "las escrituras de la ventana actual." #: ../Doc/library/curses.rst:765 @@ -1426,7 +1426,7 @@ msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." msgstr "" -"Si *flag* es \"True\", la siguiente llamada para :meth:`refresh` limpiará la " +"Si *flag* es ``True``, la siguiente llamada para :meth:`refresh` limpiará la " "ventana completamente." #: ../Doc/library/curses.rst:858 @@ -1754,12 +1754,12 @@ msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." msgstr "" -"Si *flag* es \"False\", el cursor siempre estará en \"cursor position\" " +"Si *flag* es ``False``, el cursor siempre estará en \"cursor position\" " "después de una actualización." #: ../Doc/library/curses.rst:1098 msgid "Move cursor to ``(new_y, new_x)``." -msgstr "Mueve el cursor a \"(new_y, new_x)\"." +msgstr "Mueve el cursor a ``(new_y, new_x)``." #: ../Doc/library/curses.rst:1103 msgid "" @@ -1775,16 +1775,16 @@ msgstr "" #: ../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)\"." +"Mueve la ventana a su esquina superior izquierda que está en ``(new_y," +"new_x)``." #: ../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." +msgstr "Si *flag* es ``True``, :meth:`getch` no será bloqueada." #: ../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." +msgstr "Si *flag* es ``True``, las secuencias de escape no serán agotadas." #: ../Doc/library/curses.rst:1122 msgid "" @@ -2024,7 +2024,7 @@ msgid "" msgstr "" "Configura el bloqueo o no bloqueo del comportamiento para la ventana. Si el " "*delay* es negativo, bloqueando la lectura usada (el cual esperará " -"indefinidamente para la entrada). Si *delay* es zero, entonces no se " +"indefinidamente para la entrada). Si *delay* es cero, entonces no se " "bloqueará la lectura usada, y :meth:`getch` retornará ``-1`` si la entrada " "no está esperando. Si *delay* es positivo, entonces :meth:`getch` se " "bloqueará por *delay* milisegundos, y retorna ``-1`` si aún no entra en el " diff --git a/library/dataclasses.po b/library/dataclasses.po index 14dc996454..c461ace48e 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -107,7 +107,7 @@ msgid "" "decorator returns the same class that is called on; no new class is created." msgstr "" "El decorador :func:`dataclass` añade varios métodos \"*dunder*" -"\" (abreviación de 'double underline') a la clase, descritos a continuación. " +"\" (abreviación de *double underline*) a la clase, descritos a continuación. " "Si alguno de los métodos añadidos ya existe en la definición de la clase, el " "comportamiento dependerá del parámetro, como se documenta abajo. El " "decorador retorna la misma clase con la que es llamado, no crea una nueva." diff --git a/library/datetime.po b/library/datetime.po index fb70592e87..6abf2ca674 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -2493,7 +2493,7 @@ msgstr "" "ignora y se comparan los tiempos base. Si ambos elementos comparados son " "conscientes y tienen atributos diferentes :attr:`~time.tzinfo`, los " "elementos comparados se ajustan primero restando sus compensaciones UTC " -"(obtenidas de``self.utcoffset()``). Para evitar que las comparaciones de " +"(obtenidas de ``self.utcoffset()``). Para evitar que las comparaciones de " "tipos mixtos vuelvan a la comparación predeterminada por dirección de " "objeto, cuando un objeto :class:`.time` se compara con un objeto de un tipo " "diferente, se genera :exc:`TypeError` a menos que la comparación es ``==`` o " @@ -2915,7 +2915,7 @@ msgstr "" "Cuando se pasa ``None``, corresponde al diseñador de la clase decidir la " "mejor respuesta. Por ejemplo, retornar ``None`` es apropiado si la clase " "desea decir que los objetos de tiempo no participan en los protocolos :class:" -"`tzinfo`. Puede ser más útil que ``utcoffset (None)`` retorne el " +"`tzinfo`. Puede ser más útil que ``utcoffset(None)`` retorne el " "desplazamiento UTC estándar, ya que no existe otra convención para descubrir " "el desplazamiento estándar." diff --git a/library/difflib.po b/library/difflib.po index f8fd2508e9..26bec083c4 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -397,7 +397,7 @@ msgstr "" "Retorna una lista de las mejores coincidencias \"lo suficientemente buenas" "\". *word* es una secuencia para la cual coincidencias cercanas son deseadas " "(usualmente una cadena de texto), y *possibilities* es una lista de " -"secuencias contra la cual se compara *word* (comunmente una lista de cadenas " +"secuencias contra la cual se compara *word* (comúnmente una lista de cadenas " "de caracteres)." #: ../Doc/library/difflib.rst:202 diff --git a/library/distutils.po b/library/distutils.po index 482eb27863..ab407c5d94 100644 --- a/library/distutils.po +++ b/library/distutils.po @@ -45,8 +45,8 @@ msgid "" "an enhanced alternative to :mod:`distutils` that provides:" msgstr "" "La mayoría de los usuarios de Python *no* querrán utilizar este módulo " -"directamente, sino que usarán las herramientas cross-version mantenidas por " -"la Python Packaging Authority. En particular, `setuptools `__ es una alternativa mejorada a :mod:" "`distutils` que proporciona:" diff --git a/library/doctest.po b/library/doctest.po index 2e694009d2..5d14e3ec5f 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -104,7 +104,7 @@ msgid "" "file :file:`Lib/test/test_doctest.py`." msgstr "" "¡Eso es todo lo que necesitas saber para empezar a hacer uso productivo de :" -"mod:`doctest`! Zambúllete. Las siguientes secciones proporcionan detalles " +"mod:`doctest`! Lánzate. Las siguientes secciones proporcionan detalles " "completos. Note que hay muchos ejemplos de doctests en el conjunto de " "pruebas estándar de Python y bibliotecas. Especialmente ejemplos útiles se " "pueden encontrar en el archivo de pruebas estándar :file:`Lib/test/" @@ -1121,7 +1121,7 @@ msgstr "" "Los números de coma flotante también son sujetos a pequeñas variaciones de " "la salida a través de las plataformas, porque Python defiere a la librería C " "de la plataforma para el formato de flotantes, y las librerías de C varían " -"extensamente en calidad aqui. ::" +"extensamente en calidad aquí. ::" #: ../Doc/library/doctest.rst:820 msgid "" @@ -1195,7 +1195,7 @@ msgstr "" "si el argumento *package* es especificado, entonces es relativo a ese " "paquete. Para asegurar la independencia del SO, *filename* debe usar " "caracteres ``/`` para separar segmentos, y no puede ser una ruta absoluta " -"(p. eg., no puede empezar con ``/``)." +"(por ejemplo., no puede empezar con ``/``)." #: ../Doc/library/doctest.rst:859 msgid "" @@ -2016,7 +2016,7 @@ msgid "" "The constructor adds a newline when necessary." msgstr "" "La salida esperada de ejecutar el código fuente del ejemplo (o desde la " -"salida estandar, o un seguimiento en caso de una excepción). :attr:`wants` " +"salida estándar, o un seguimiento en caso de una excepción). :attr:`wants` " "termina con una nueva línea a menos que no se espera ninguna salida, en cuyo " "caso es una cadena vacía. El constructor añade una nueva línea cuando sea " "necesario." diff --git a/library/email.encoders.po b/library/email.encoders.po index dcd6ab1336..4fad287e54 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -47,7 +47,7 @@ msgid "" "sets the content type and CTE header using the *_subtype* and *_charset* " "values passed during the instantiation of that class." msgstr "" -"Este módulo está obsoleto (deprecated) en Python 3. Las funciones que " +"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:" "`~email.mime.text.MIMEText` establece el tipo de contenido y el encabezado " "CTE utilizando los valores del *_subtype* y del *_charset* que se pasan " diff --git a/library/email.message.po b/library/email.message.po index d9387afba9..e60e0eccb0 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -61,15 +61,15 @@ msgid "" "having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:`message/" "rfc822`." msgstr "" -"Un mensaje de e-mail consiste en *cabeceras* y una *carga útil* (a la que " -"también nos referimos como *contenido* o *payload*). Cabeceras como :rfc:" -"`5322` o :rfc:`6532` son nombres de campos de estilo y valores, donde el " -"nombre y valor están separados por un ':'. Los dos puntos no son parte ni " -"del nombre ni del valor. La carga útil puede ser un simple mensaje, un " -"objeto binario, o una secuencia estructurada de sub-mensajes, cada uno con " -"su propio conjunto de cabeceras y su propia carga útil. El último tipo de " -"carga útil es indicado por el mensaje con un MIME como :mimetype:`multipart/" -"\\*` o :mimetype:`message/rfc822` ." +"Un mensaje de correo electrónico consiste en *headers* y un *payload* (al " +"que también nos referimos como *content*). *Headers* como :rfc:`5322` o :rfc:" +"`6532` son nombres de campos de estilo y valores, donde el nombre y valor " +"están separados por un ':'. Los dos puntos no son parte ni del nombre ni del " +"valor. El *payload* puede ser un simple mensaje, un objeto binario, o una " +"secuencia estructurada de sub-mensajes, cada uno con su propio conjunto de " +"*headers* y su propio *payload*. El último tipo de *payload* es indicado por " +"el mensaje con un MIME como :mimetype:`multipart/\\*` o :mimetype:`message/" +"rfc822` ." #: ../Doc/library/email.message.rst:31 msgid "" diff --git a/library/email.parser.po b/library/email.parser.po index 1a1f0eddcd..eb5e1c5ea1 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -545,7 +545,7 @@ msgid "" "See :mod:`email.errors` for details." msgstr "" "Algunos mensajes de conformidad no estándar pueden no ser internamente " -"consistentes acerca de su :mimetype:`multipart`\\-idad. Tales mensajes " +"consistentes acerca de su :mimetype:`multipart`\\ -idad. Tales mensajes " "pueden tener una cabecera :mailheader:`Content-Type` de tipo :mimetype:" "`multipart`, pero su método :meth:`~email.message.EmailMessage.is_multipart` " "puede retornar ``False``. Si tales mensajes son analizados con :class:" diff --git a/library/enum.po b/library/enum.po index 582244fb6a..fbf19a062a 100644 --- a/library/enum.po +++ b/library/enum.po @@ -1197,7 +1197,7 @@ msgstr "``_name_``— nombre del miembro" msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" -"``_value_`` — valor del miembr0; se puede definir / modificar en ``__new__``" +"``_value_`` — valor del miembro; se puede definir / modificar en ``__new__``" #: ../Doc/library/enum.rst:1091 msgid "" diff --git a/library/exceptions.po b/library/exceptions.po index 9586927973..2c19b8ecc9 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -447,7 +447,7 @@ msgid "" msgstr "" "La segunda forma del constructor establece los atributos correspondientes, " "que se describen a continuación. Los atributos predeterminados son :const:" -"`None` si no se especificam. Para compatibilidad con versiones anteriores, " +"`None` si no se especifican. Para compatibilidad con versiones anteriores, " "si se pasan tres argumentos, el atributo :attr:`~BaseException.args` " "contiene solo una tupla de 2 de los dos primeros argumentos del constructor." diff --git a/library/faulthandler.po b/library/faulthandler.po index 7798cee3f3..e04b51d7cc 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -195,7 +195,7 @@ msgid "" msgstr "" "Vuelca los rastreos de todos los hilos, después de un tiempo de espera de " "*timeout* segundos, o cada *timeout* segundos si *repeat* es ``True``. Si " -"*exit* es ``True``, llama a :c:func:`_exit` con status=1 después de volcar " +"*exit* es ``True``, llama a :c:func:`_exit` con *status=1* después de volcar " "los rastreos. (Nota: :c:func:`_exit` termina el proceso inmediatamente, lo " "que significa que no hace ninguna limpieza como vaciar los buffers de " "archivos.) Si la función se llama dos veces, la nueva llamada reemplaza los " diff --git a/library/ftplib.po b/library/ftplib.po index 1c52a19094..54e90349cb 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -246,7 +246,7 @@ msgid "" "debugging output, logging each line sent and received on the control " "connection." msgstr "" -"Establece el nivel de depuración de la isntancia. Esto controla la cantidad " +"Establece el nivel de depuración de la instancia. Esto controla la cantidad " "de salida de depuración impresa. El valor predeterminado, ``0``, no produce " "una salida de depuración. Un valor de ``1`` produce una cantidad moderada de " "salida de depuración, generalmente una sola línea por solicitud. Un valor de " diff --git a/library/http.client.po b/library/http.client.po index 83eb9b6bdb..a941aae9a0 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -581,8 +581,8 @@ msgid "" "argument. If more arguments are given, continuation lines are sent, each " "consisting of a tab and an argument." msgstr "" -"Envía un encabezado :rfc:`822`\\ -style al servidor. Este envía una línea al " -"servidor que consta del encabezado, dos puntos y un espacio, y el primer " +"Envía un encabezado de estilo :rfc:`822`\\ al servidor. Este envía una línea " +"al servidor que consta del encabezado, dos puntos y un espacio, y el primer " "argumento. Si se dan más argumentos, se envían líneas de continuación, cada " "una de las cuales consta de tabulación y un argumento." diff --git a/library/http.cookies.po b/library/http.cookies.po index c620d2c976..0889bbb5fb 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -89,8 +89,8 @@ msgid "" "Exception failing because of :rfc:`2109` invalidity: incorrect attributes, " "incorrect :mailheader:`Set-Cookie` header, etc." msgstr "" -"Error de excepción debido a :rfc:`2109` invalidity: atributos incorrectos, " -"encabezado :mailheader:`Set-Cookie` incorrecto, etc." +"Error de excepción debido a la invalidez de :rfc:`2109`: atributos " +"incorrectos, encabezado :mailheader:`Set-Cookie` incorrecto, etc." #: ../Doc/library/http.cookies.rst:48 msgid "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index 906665c638..28c7d61543 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -48,7 +48,7 @@ msgstr "" "importación de Python, esta biblioteca tiene la intención de reemplazar una " "funcionalidad similar ofrecida por la `API del punto de entrada`_ y la `API " "de metadatos`_ de ``pkg_resources``. Junto con ``importlib.resources`` en " -"`Python 3.7 y versiones posteriores`_ (retroimportada como " +"`Python 3.7 y versiones posteriores`_ (respaldada como " "`importlib_resources`_ para versiones anteriores de Python), esto puede " "eliminar la necesidad de usar el paquete ``pkg_resources``, antiguo y menos " "eficiente." diff --git a/library/io.po b/library/io.po index 502abf93d4..5444123005 100644 --- a/library/io.po +++ b/library/io.po @@ -232,7 +232,7 @@ msgid "" "arguments may have been modified or inferred from the original call." msgstr "" "Esta función lanza un :ref:`evento de auditoría ` ``open`` con los " -"argumentos ``path``, ``mode`` y ``flags``. Los argumentos``mode`` y " +"argumentos ``path``, ``mode`` y ``flags``. Los argumentos ``mode`` y " "``flags`` pueden haber sido modificados o inferido desde el pedido original." #: ../Doc/library/io.rst:132 @@ -241,7 +241,7 @@ msgid "" "when the intent is to treat the contents as executable code." msgstr "" "Abre el archivo dado con el modo ``'rb'``. Esta función debe ser usado " -"cuando la intención es tratar el contenido como código ejecutible." +"cuando la intención es tratar el contenido como código ejecutable." #: ../Doc/library/io.rst:135 msgid "``path`` should be a :class:`str` and an absolute path." @@ -448,7 +448,7 @@ msgstr "``readinto`` and ``write``" #: ../Doc/library/io.rst:228 msgid "Inherited :class:`IOBase` methods, ``read``, and ``readall``" -msgstr "Heredada :class:`IOBase` methods, ``read``, and ``readall``" +msgstr "Métodos :class:`IOBase` heredados, ``read``, and ``readall``" #: ../Doc/library/io.rst:230 msgid ":class:`BufferedIOBase`" @@ -460,7 +460,7 @@ msgstr "``detach``, ``read``, ``read1``, and ``write``" #: ../Doc/library/io.rst:230 msgid "Inherited :class:`IOBase` methods, ``readinto``, and ``readinto1``" -msgstr "Heredada :class:`IOBase` methods, ``readinto``, and ``readinto1``" +msgstr "Métodos :class:`IOBase` heredados, ``readinto``, and ``readinto1``" #: ../Doc/library/io.rst:232 msgid ":class:`TextIOBase`" @@ -474,7 +474,7 @@ msgstr "``detach``, ``read``, ``readline``, and ``write``" msgid "" "Inherited :class:`IOBase` methods, ``encoding``, ``errors``, and ``newlines``" msgstr "" -"Heredada :class:`IOBase` methods, ``encoding``, ``errors``, and ``newlines``" +"Métodos :class:`IOBase` heredados, ``encoding``, ``errors``, and ``newlines``" #: ../Doc/library/io.rst:239 msgid "I/O Base Classes" @@ -541,7 +541,7 @@ msgid "" "stream is a binary stream (yielding bytes), or a text stream (yielding " "character strings). See :meth:`~IOBase.readline` below." msgstr "" -":class:`IOBase` (y sus subcalsificaciones) apoyan el protocolo iterador, " +":class:`IOBase` (y sus subclasificaciones) apoyan el protocolo iterador, " "significando que un objeto de clase :class:`IOBase` puede ser iterado sobre " "el rendimiento de las líneas en un *stream* de datos. Líneas son definidas " "un poco diferente dependiendo si el *stream* es de tipo binario (produciendo " @@ -578,7 +578,7 @@ msgid "" "As a convenience, it is allowed to call this method more than once; only the " "first call, however, will have an effect." msgstr "" -"Como convenienca, se permite llamar este método más que una vez. Sin " +"Como conveniencia, se permite llamar este método más que una vez. Sin " "embargo, solamente el primer llamado tenderá efecto." #: ../Doc/library/io.rst:290 @@ -1367,8 +1367,8 @@ msgstr "cuando se llama :meth:`flush()`;" msgid "" "when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" msgstr "" -"cuando se pide un método :meth:`seek()` (para :class:`BufferedRandom` " -"objects);" +"cuando se pide un método :meth:`seek()` (para objetos :class:" +"`BufferedRandom`);" #: ../Doc/library/io.rst:722 msgid "when the :class:`BufferedWriter` object is closed or destroyed." @@ -1516,7 +1516,7 @@ msgid "" "translated so far. Depending on the implementation and the initial " "constructor flags, this may not be available." msgstr "" -"Una cadena de cracteres, una tupla de cadena de caracteres, o ``None``, " +"Una cadena de caracteres, una tupla de cadena de caracteres, o ``None``, " "indicando las nuevas líneas traducidas hasta ese momento. Dependiendo de la " "implementación y los indicadores iniciales del constructor, esto puede no " "estar disponible." @@ -1758,7 +1758,7 @@ msgstr "" "getpreferredencoding(False)`` en vez de ``locale.getpreferredencoding()``. " "No cambie temporalmente la codificación local usando :func:`locale." "setlocale`, use la codificación local actual en vez del preferido del " -"usaurio." +"usuario." #: ../Doc/library/io.rst:933 #, fuzzy diff --git a/library/itertools.po b/library/itertools.po index b89d4f39e3..9b3fc818a0 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -121,7 +121,7 @@ msgstr "p" #: ../Doc/library/itertools.rst:41 msgid "p0, p1, ... plast, p0, p1, ..." -msgstr "p0, p1, ... pfinal, p0, p1, ..." +msgstr "p0, p1, ... plast, p0, p1, ..." #: ../Doc/library/itertools.rst:41 msgid "``cycle('ABCD') --> A B C D A B C D ...``" @@ -173,7 +173,7 @@ msgstr "p, q, ..." #: ../Doc/library/itertools.rst:51 ../Doc/library/itertools.rst:52 msgid "p0, p1, ... plast, q0, q1, ..." -msgstr "p0, p1, ... pfinal, q0, q1, ..." +msgstr "p0, p1, ... plast, q0, q1, ..." #: ../Doc/library/itertools.rst:51 msgid "``chain('ABC', 'DEF') --> A B C D E F``" @@ -434,9 +434,8 @@ msgstr "" "Si *func* es definido, debería ser una función de 2 argumentos. Los " "elementos de entrada de *iterable* pueden ser de cualquier tipo que puedan " "ser aceptados como argumentos de *func*. (Por ejemplo, con la operación por " -"defecto –adición, los elementos pueden ser cualquier tipo que sea " -"adicionable, incluyendo :class:`~decimal.Decimal` o :class:`~fractions." -"Fraction`.)" +"defecto –adición, los elementos pueden ser cualquier tipo que sea sumable, " +"incluyendo :class:`~decimal.Decimal` o :class:`~fractions.Fraction`.)" #: ../Doc/library/itertools.rst:107 msgid "" @@ -738,13 +737,13 @@ msgstr "" "*start* es diferente a cero, los elementos del iterable son ignorados hasta " "que se llegue a *start*. Después de eso, los elementos son retornados " "consecutivamente a menos que *step* posea un valor tan alto que permita que " -"algunos elementos sean ignordos. Si *stop* es ``None``, la iteración " +"algunos elementos sean ignorados. Si *stop* es ``None``, la iteración " "continúa hasta que el iterador sea consumido (si es que llega a ocurrir); de " "lo contrario, se detiene en la posición especificada. A diferencia de la " "segmentación normal, :func:`islice` no soporta valores negativos para " "*start*, *stop*, o *step*. Puede usarse para extraer campos relacionados de " "estructuras de datos que internamente has sido simplificadas (por ejemplo, " -"un reporte milti-línea puede contener un nombre de campo cada tres líneas). " +"un reporte multilínea puede contener un nombre de campo cada tres líneas). " "Aproximadamente equivalente a::" #: ../Doc/library/itertools.rst:475 diff --git a/library/json.po b/library/json.po index fd0f22b240..c33bcbdb9e 100644 --- a/library/json.po +++ b/library/json.po @@ -134,9 +134,9 @@ msgid "" "supporting :term:`file-like object`) using this :ref:`conversion table `." msgstr "" -"Serializa *obj* como una secuencia con formato JSON a *fp* (a ``.write()`` -" -"supporting :term:`file-like object`) usando esto :ref:`conversion table `." +"Serializa *obj* como una secuencia con formato JSON a *fp* (una invocación " +"``.write()``- que soporta :term:`file-like object`) usando esto :ref:" +"`conversion table `." #: ../Doc/library/json.rst:148 msgid "" @@ -383,7 +383,7 @@ msgid "" msgstr "" "*parse_constant*, si se especifica, se llamará con una de las siguientes " "cadenas: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. Esto se puede utilizar " -"para generar una excepción si se encuentran números JSON invalidos." +"para generar una excepción si se encuentran números JSON inválidos." #: ../Doc/library/json.rst:263 msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." diff --git a/library/locale.po b/library/locale.po index f0a890dd04..08be471c75 100644 --- a/library/locale.po +++ b/library/locale.po @@ -902,7 +902,7 @@ msgid "" "affected by that category. All other numeric formatting operations are not " "affected." msgstr "" -"Categoría de configuración regional para formateo de numeros. Las " +"Categoría de configuración regional para formateo de números. Las " "funciones :func:`. format`, :func:`atoi`, :func:`atof` y :func:`.str` del " "módulo :mod:`locale` están afectados por esa categoría. Todas las demás " "operaciones de formato numérico no están afectadas." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 9c4ee9763b..acbd311c6c 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -1039,7 +1039,7 @@ msgstr "" "*facility* no se especifica se usara :const:`LOG_USER` . El tipo de socket " "abierto usado depende del argumento *socktype* , que por defecto es :const:" "`socket.SOCK_DGRAM` y por lo tanto abre un socket UDP . Para abrir un socket " -"TCP (para usar con los nuevos *daemons syslog* como Rsyslog) se debe " +"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:603 @@ -1107,7 +1107,7 @@ msgstr "" "Para habilitar una gestión mas sencilla de los mensajes *syslog* respecto de " "todos esos *daemons* de diferentes comportamientos el agregado del byte NUL " "es configurable a través del uso del atributo de nivel de clase " -"'append_nul'. Este es por defecto '``True`` (preservando el comportamiento " +"``append_nul``. Este es por defecto '``True`` (preservando el comportamiento " "ya existente) pero se puede establecer a 'False' en una instancia " "``SysLogHandler`` como para que esa instancia no añada el terminador NUL." @@ -1219,7 +1219,7 @@ msgstr "LOG_NOTICE" #: ../Doc/library/logging.handlers.rst:679 msgid "``warn`` or ``warning``" -msgstr "``warn`` or ``warning``" +msgstr "``warn`` o ``warning``" #: ../Doc/library/logging.handlers.rst:679 msgid "LOG_WARNING" @@ -1441,7 +1441,7 @@ msgstr "" "el log de eventos. Se crea una entrada de registro apropiada usando este " "nombre. El *dllname* debe dar la ruta completa calificada de un .dll o .exe " "que contiene definiciones de mensaje para conservar en el log. (si no esta " -"especificada, se usara``'win32service.pyd'`` esto es instalado con las " +"especificada, se usara ``'win32service.pyd'`` esto es instalado con las " "extensiones de Win32 y contiene algunas definiciones básicas de mensajes de " "conservación de lugar. Nótese que el uso de estos conservadores de lugar " "harán tu log de eventos extenso, dado que el origen completo del mensaje es " diff --git a/library/logging.po b/library/logging.po index 5c8df5ec08..304f058353 100644 --- a/library/logging.po +++ b/library/logging.po @@ -835,7 +835,7 @@ msgstr "" "Poner en orden los recursos utilizados por el gestor. Esta versión no genera " "salida, pero elimina el controlador de una lista interna de gestores que se " "cierra cuando se llama a :func:`shutdown`. Las subclases deben garantizar " -"que esto se llame desde métodos :meth:`close` sobresescritos." +"que esto se llame desde métodos :meth:`close` sobreescritos." #: ../Doc/library/logging.rst:474 msgid "" diff --git a/library/mailbox.po b/library/mailbox.po index bb46a0fc63..403ce3f5f9 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -1227,7 +1227,7 @@ msgid "" "`mmdf man page from tin `_" msgstr "" -"`Página web de mmdf por Tin `_" #: ../Doc/library/mailbox.rst:746 @@ -2174,7 +2174,7 @@ msgstr "" "la siguiente manera: cada encabezado visible con un encabezado original " "correspondiente se establece como el valor del encabezado original, cada " "encabezado visible sin un encabezado original correspondiente se elimina, y " -"cualquiera de : mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-" +"cualquiera de :mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-" "To`, :mailheader:`To`, :mailheader:`CC`, y :mailheader:`Subject` que están " "presentes en las cabeceras originales pero no las cabeceras visibles se " "añaden a las cabeceras visibles." diff --git a/library/msvcrt.po b/library/msvcrt.po index 8ae01fe62e..280bcb5993 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -193,7 +193,7 @@ msgstr "" "esperará a que se presione :kbd:`Enter`. Si la tecla pulsada era una tecla " "de función especial, esto retornará ``'\\000'`` o ``'xe0'``; la siguiente " "llamada retornará el código de la tecla pulsada. La pulsación de la tecla :" -"kbd:'Control-C' no se puede leer con esta función." +"kbd:`Control-C` no se puede leer con esta función." #: ../Doc/library/msvcrt.rst:116 msgid "Wide char variant of :func:`getch`, returning a Unicode value." diff --git a/library/os.po b/library/os.po index 7126c40c9d..154ef4dac2 100644 --- a/library/os.po +++ b/library/os.po @@ -486,7 +486,7 @@ msgid "" "the \"set id\" bit on the file being executed in the current process." msgstr "" "Retorna el *id* del grupo (*gid*) efectivo correspondiente al proceso que se " -"está ejecuntando. Esto corresponde al bit de *\"set id\"* en el archivo que " +"está ejecutando. Esto corresponde al bit de *\"set id\"* en el archivo que " "se está ejecutando en el proceso actual." #: ../Doc/library/os.rst:271 @@ -508,7 +508,7 @@ msgid "" "from the password record for *user*." msgstr "" "Retorna la lista de *ids* de grupos al que el usuario pertenece. Si el grupo " -"*group* no está en la lista, se inlcuirá; típicamente *group* se especifica " +"*group* no está en la lista, se incluirá; típicamente *group* se especifica " "como en el campo *ID* de grupo del registro de claves del usuario." #: ../Doc/library/os.rst:298 @@ -3904,7 +3904,7 @@ msgstr "" #: ../Doc/library/os.rst:2634 msgid "Type of device if an inode device." -msgstr "Tipo de dispositivo si es un dispositivo inode." +msgstr "Tipo de dispositivo si es un dispositivo inodo." #: ../Doc/library/os.rst:2638 msgid "User defined flags for file." @@ -4412,7 +4412,7 @@ msgstr "" "resolución con la que su sistema operativo registre los tiempos de acceso y " "modificación; ver :func:`~os.stat`. La mejor manera de preservar los tiempos " "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`." +"resultado :func:`os.stat` con el parámetro *ns* para `utime`." #: ../Doc/library/os.rst:2973 msgid "" @@ -5380,7 +5380,7 @@ msgstr "" "de retorno del proceso desplazado a la izquierda en un byte. Si el código de " "retorno es negativo, el proceso fue terminado por la señal dada por el valor " "negado del código de retorno. (Por ejemplo, el valor de retorno podría ser " -"`` - signal.SIGKILL`` si se eliminó el subproceso). En los sistemas Windows, " +"``- signal.SIGKILL`` si se eliminó el subproceso). En los sistemas Windows, " "el valor de retorno contiene el código de retorno entero firmado del proceso " "secundario." diff --git a/library/platform.po b/library/platform.po index ba073fc9bc..cd26e76441 100644 --- a/library/platform.po +++ b/library/platform.po @@ -357,7 +357,7 @@ msgid "" "code that checks arguments, ranges, etc." msgstr "" "Como sugerencia: *ptype* es ``'Uniprocessor Free'`` en máquinas NT de " -"procesador único y '''Multiprocessor Free''' en máquinas multiprocesador. El " +"procesador único y ``'Multiprocessor Free'`` en máquinas multiprocesador. El " "*'Free'* se refiere a que la versión del sistema operativo está libre de " "código de depuración. También podría indicar *'Checked'* lo que significa " "que la versión del sistema operativo utiliza código de depuración, es decir, " diff --git a/library/profile.po b/library/profile.po index a38f03234b..204294913e 100644 --- a/library/profile.po +++ b/library/profile.po @@ -192,7 +192,7 @@ msgstr "es el cociente de ``cumtime`` dividido por llamadas primitivas" #: ../Doc/library/profile.rst:105 msgid "filename:lineno(function)" -msgstr "filename:lineno(función)" +msgstr "filename:lineno(function)" #: ../Doc/library/profile.rst:105 msgid "provides the respective data of each function" diff --git a/library/runpy.po b/library/runpy.po index 6ae65649b9..6d25780380 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -77,7 +77,7 @@ msgid "" msgstr "" "Ejecute el código del módulo especificado y devuelva el diccionario de " "globales de módulo resultante. El código del módulo se encuentra primero " -"mediante el mecanismo de importación estándar (consulte :p ep:'302' para " +"mediante el mecanismo de importación estándar (consulte :pep:`302` para " "obtener más información) y, a continuación, se ejecuta en un espacio de " "nombres de módulo nuevo." @@ -204,10 +204,10 @@ msgid "" "name``." msgstr "" "Se ha actualizado para aprovechar la función de especificación de módulo " -"agregada por :pep:'451'. Esto permite que ''__cached__'' se establezca " +"agregada por :pep:`451`. Esto permite que ``__cached__`` se establezca " "correctamente para que los módulos se ejecuten de esta manera, así como " "asegurarse de que el nombre real del módulo siempre sea accesible como " -"''__spec__.name''." +"``__spec__.name``." #: ../Doc/library/runpy.rst:101 msgid "" @@ -222,8 +222,8 @@ msgstr "" "un nombre de script proporcionado a la línea de comandos de CPython, la ruta " "de acceso proporcionada puede hacer referencia a un archivo de origen de " "Python, un archivo de código de bytes compilado o una entrada sys.path " -"válida que contiene un módulo ''__main__'' (por ejemplo, un archivo zip que " -"contiene un archivo ''__main__.py'' de nivel superior)." +"válida que contiene un módulo ``__main__`` (por ejemplo, un archivo zip que " +"contiene un archivo ``__main__.py`` de nivel superior)." #: ../Doc/library/runpy.rst:107 msgid "" diff --git a/library/signal.po b/library/signal.po index 080a5dcccb..54a5619fb5 100644 --- a/library/signal.po +++ b/library/signal.po @@ -97,7 +97,7 @@ msgstr "" "const:`SIGSEGV` que son causados por una operación no válida en código C. " "Python retornará desde el gestor de señales a código C, que es probable que " "extienda la misma señal otra vez, ocasionando que Python se cuelgue " -"aparentente. Desde Python 3.3 en adelante, puedes usar el módulo :mod:" +"aparentemente. Desde Python 3.3 en adelante, puedes usar el módulo :mod:" "`faulthandler` para reportar errores síncronos." #: ../Doc/library/signal.rst:44 diff --git a/library/smtpd.po b/library/smtpd.po index 2c631452ea..7039b775dd 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -212,7 +212,8 @@ msgid "" msgstr "" "Las implementaciones de ``process_message`` deben usar la firma ``**kwargs`` " "para aceptar argumentos por palabra clave arbitrarios, ya que las mejoras de " -"características futuras pueden agregar claves al diccionario kwargs." +"características futuras pueden agregar claves al diccionario de argumentos " +"de palabras clave." #: ../Doc/library/smtpd.rst:101 msgid "" diff --git a/library/socket.po b/library/socket.po index 948cf572a5..164868da2a 100644 --- a/library/socket.po +++ b/library/socket.po @@ -1549,7 +1549,7 @@ msgid "" 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` " +"lugar de generar una excepción :exc:`InterruptedError` (consulte :pep:`475` " "para la lógica)." #: ../Doc/library/socket.rst:1176 @@ -1642,8 +1642,8 @@ 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)." +"bloqueando o tiene un tiempo de espera (consulte el :pep:`475` para la razón " +"de ser)." #: ../Doc/library/socket.rst:1228 msgid "" @@ -1948,7 +1948,7 @@ msgstr "" "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 " +"(por ejemplo, objetos :class:`bytearray`); 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 " diff --git a/library/ssl.po b/library/ssl.po index 54454434f9..f68e148004 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -964,7 +964,7 @@ msgid "" "neither require nor verify CRLs." msgstr "" "Valor posible para :attr:`SSLContext.verify_flags`. En este modo, las listas " -"de revocación de certificado (CRLs) no son vérificadas. Por defecto OpenSSL " +"de revocación de certificado (CRLs) no son verificadas. Por defecto OpenSSL " "no requiere ni verifica CRLs." #: ../Doc/library/ssl.rst:615 diff --git a/library/sys.po b/library/sys.po index 9a973d56c5..99006694e3 100644 --- a/library/sys.po +++ b/library/sys.po @@ -1539,7 +1539,7 @@ msgid "" "Get the current coroutine origin tracking depth, as set by :func:" "`set_coroutine_origin_tracking_depth`." msgstr "" -"Obtiene la profundidad de seguimiento del origen de la co-rutina actual, " +"Obtiene la profundidad de seguimiento del origen de la corrutina actual, " "según lo establecido por :func:`set_coroutine_origin_tracking_depth`." #: ../Doc/library/sys.rst:820 ../Doc/library/sys.rst:1437 @@ -3001,8 +3001,7 @@ msgstr "" #: ../Doc/library/sys.rst:1584 msgid "The *unraisable* argument has the following attributes:" -msgstr "" -"El argumento *unraisable* (no lanzable) tiene los siguientes atributos:" +msgstr "El argumento *unraisable* tiene los siguientes atributos:" #: ../Doc/library/sys.rst:1586 msgid "*exc_type*: Exception type." diff --git a/library/sysconfig.po b/library/sysconfig.po index b38c7a05aa..09b5fed573 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -412,7 +412,7 @@ msgstr "" #: ../Doc/library/sysconfig.rst:189 msgid "win32 (all others - specifically, sys.platform is returned)" -msgstr "win32 (todos los demás - específicamente se retorna sys.plataform)" +msgstr "win32 (todos los demás - específicamente se retorna sys.platform)" #: ../Doc/library/sysconfig.rst:191 msgid "Mac OS X can return:" diff --git a/library/tarfile.po b/library/tarfile.po index 5e4d9f7648..1e983349b6 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -63,7 +63,7 @@ msgid "" "*longlink* extensions, read-only support for all variants of the *sparse* " "extension including restoration of sparse files." msgstr "" -"soporte de lectura/escritira para el formato GNU tar incluyendo extensiones " +"soporte de lectura/escritura para el formato GNU tar incluyendo extensiones " "*longname* y *longlink*, soporte de solo escritura para todas las variantes " "de extensiones de *sparse* (archivo disperso) incluyendo restablecimiento de " "archivos dispersos." @@ -975,7 +975,8 @@ msgstr "" #: ../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." +"Un diccionario que contiene pares claves-valor de los encabezados globales " +"pax." #: ../Doc/library/tarfile.rst:524 msgid "TarInfo Objects" @@ -1308,8 +1309,8 @@ msgstr "" "El formato pax POSIX.1-2001 (:const:`PAX_FORMAT`). Es el formato más " "flexible prácticamente sin límites. Admite nombres de archivo largos y " "nombres de enlaces, archivos grandes y almacena nombres de ruta de forma " -"portátil. Las implementaciones modernas de tar, incluyendo GNU tar, *bsdtar/" -"libarchive* y star, son totalmente compatibles con las características " +"portátil. Las implementaciones modernas de tar, incluyendo GNU tar, bsdtar/" +"libarchive y star, son totalmente compatibles con las características " "extendidas *pax*; Es posible que algunas bibliotecas antiguas o no " "mantenidas no lo hagan, pero deberían tratar los archivos *pax* como si " "estuvieran en el formato *ustar* compatible universalmente. Es el formato " diff --git a/library/telnetlib.po b/library/telnetlib.po index e19f283eb0..7e4d80f32c 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -213,7 +213,7 @@ msgid "" "callback should access these data when it was invoked with a ``SE`` command. " "This method never blocks." msgstr "" -"Retorna los datos recopilados entre un par SB/SE (suboptionbegin/end). La " +"Retorna los datos recopilados entre un par SB/SE (suboption begin/end). La " "retrollamada debe tener acceso a estos datos cuando se invocó con un comando " "``SE``. Este método nunca se bloquea." diff --git a/library/time.po b/library/time.po index edc1e25245..0f669e06a4 100644 --- a/library/time.po +++ b/library/time.po @@ -296,7 +296,7 @@ msgid "" "`pthread_getcpuclockid(3)` for further information)." msgstr "" ":ref:`Disponibilidad `: Unix (consulte la página de manual " -"para: manpage: `pthread_getcpuclockid (3)` para más información)." +"para :manpage:`pthread_getcpuclockid(3)` para más información)." #: ../Doc/library/time.rst:156 msgid "" @@ -883,7 +883,7 @@ msgstr "" "Es posible que se admitan directivas adicionales en ciertas plataformas, " "pero solo las que se enumeran aquí tienen un significado estandarizado por " "ANSI C. Para ver el conjunto completo de códigos de formato admitidos en su " -"plataforma, consulte la documentación de: manpage: `strftime (3)`." +"plataforma, consulte la documentación de :manpage:`strftime(3)`." #: ../Doc/library/time.rst:472 msgid "" @@ -938,7 +938,7 @@ msgid "" "(and are considered to be non-daylight savings timezones)." msgstr "" "La compatibilidad con la directiva ``%Z`` se basa en los valores contenidos " -"en `` tzname`` y en si `` daylight`` es verdadero. Debido a esto, es " +"en `` tzname`` y en si ``daylight`` es verdadero. Debido a esto, es " "específico de la plataforma, excepto para reconocer UTC y GMT que siempre se " "conocen (y se consideran zonas horarias que no son de horario de verano)." @@ -1269,7 +1269,7 @@ msgstr "Donde están los componentes:" #: ../Doc/library/time.rst:647 msgid "``std`` and ``dst``" -msgstr "``std` y ``dst``" +msgstr "``std`` y ``dst``" #: ../Doc/library/time.rst:646 msgid "" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index f0e4545ba7..dae2517209 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -1744,14 +1744,14 @@ msgstr "Un nombre simbólico de la lista de opciones de columna." #: ../Doc/library/tkinter.ttk.rst:908 msgid "An integer n, specifying the nth data column." -msgstr "Un entero n, especificando la n-ésima columna de datos." +msgstr "Un entero n, especificando la enésima columna de datos." #: ../Doc/library/tkinter.ttk.rst:909 msgid "" "A string of the form #n, where n is an integer, specifying the nth display " "column." msgstr "" -"Una cadena de la forma #n, donde n es un entero, especificando la n-ésima " +"Una cadena de la forma #n, donde n es un entero, especificando la enésima " "columna mostrada." #: ../Doc/library/tkinter.ttk.rst:912 diff --git a/library/trace.po b/library/trace.po index 54ec64cf28..b9cd1520ed 100644 --- a/library/trace.po +++ b/library/trace.po @@ -311,7 +311,7 @@ msgid "" "be output. If ``None``, the results for each source file are placed in its " "directory." msgstr "" -"Escribe los resultados de la cobertura. Configure * show_missing * para " +"Escribe los resultados de la cobertura. Configure *show_missing* para " "mostrar las líneas que no tuvieron coincidencias. Configurar *summary* para " "incluir en la salida el resumen de cobertura por módulo. *coverdir* " "especifica el directorio en el que se enviarán los archivos de resultado de " diff --git a/library/tracemalloc.po b/library/tracemalloc.po index 45963c39fd..8c1aec2314 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -143,7 +143,7 @@ msgstr "" "cargado antes de los test, cuando la anterior captura de pantalla fue " "tomada. De manera similar, el modulo :mod:`linecache` ha almacenado en " "caché``940 KiB`` del código fuente de Python para formatear los " -"seguimientos, todo desde la captura instántanea." +"seguimientos, todo desde la captura instantánea." #: ../Doc/library/tracemalloc.rst:115 msgid "" @@ -196,7 +196,7 @@ msgid "" msgstr "" "Codifica para configurar las 10 líneas que asignan gran parte de la memoria " "con una salida ``bonita``, ignorando los archivos```` y ````:" +"_bootstrap>`` y ````:" #: ../Doc/library/tracemalloc.rst:253 msgid "Record the current and peak size of all traced memory blocks" @@ -687,7 +687,7 @@ msgid "" msgstr "" "Crea una nueva instancia de clase :class:`Snapshot` con una secuencia de :" "attr:`traces` filtrados, *filters* es una lista de las instancias de :class:" -"`DomainFilter` y :class:`Filter`. Si *filters* es una lista vacia, retorna " +"`DomainFilter` y :class:`Filter`. Si *filters* es una lista vacía, retorna " "una nueva instancia de clase :class:`Snapshot` con una copia de los rastreos." #: ../Doc/library/tracemalloc.rst:562 diff --git a/library/turtle.po b/library/turtle.po index 882d3b5d63..70b890facc 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1442,7 +1442,7 @@ msgid "" "about how to deal with shapes see Screen method :func:`register_shape`." msgstr "" "Establece la forma de la tortuga al *name* que se establece o, si no se " -"establece un nmbre, devuelve el nombre actual de su forma. La forma *name* " +"establece un nombre, devuelve el nombre actual de su forma. La forma *name* " "debe existir en el diccionario de formas de *TurtleScreen*. Inicialmente " "están las siguientes formas poligonales: \"*arrow*\", \"*turtle*\", " "\"*circle*\", \"*square*\", \"*triangle*\", \"*classic*\". Para aprender " diff --git a/library/weakref.po b/library/weakref.po index dc0150242b..0642e6c4a9 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -236,7 +236,7 @@ msgid "" "`hash` is called the first time only after the *object* was deleted, the " "call will raise :exc:`TypeError`." msgstr "" -"Las referencias débiles son :term:`hashable` si el *objet* es mapeable. " +"Las referencias débiles son :term:`hashable` si el *object* es mapeable. " "Ellos mantendrán su valor del hash incluso cuando el *objet* haya sido " "eliminado. Si :func:`hash` es llamado por primera vez sólo después de que " "*object* sea eliminado, la llamada lanzará un :exc:`TypeError`." @@ -597,7 +597,7 @@ msgid "" "invalidated before the weak reference is called; the idiom shown above is " "safe in threaded applications as well as single-threaded applications." msgstr "" -"Usar una prueba separada para \"vividad\" crea una condición de carrera en " +"Usar una prueba separada para \"vivacidad\" crea una condición de carrera en " "aplicaciones con hilos; otro hilo puede hacer que una referencia débil sea " "invalidada antes de que la referencia débil sea llamada; El modismo mostrado " "arriba es seguro en aplicaciones con hilos también como aplicaciones de un " diff --git a/library/xml.dom.po b/library/xml.dom.po index 99966dc62f..0ba67973e1 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -58,7 +58,7 @@ msgstr "" "El DOM es extremadamente útil para aplicaciones de acceso directo. SAX sólo " "te permite la vista de una parte del documento a la vez. Si estás mirando un " "elemento SAX, no tienes acceso a otro. Si estás viendo un nodo de texto, no " -"tienes acceso al elemento contendor. Cuando desarrollas una aplicación SAX, " +"tienes acceso al elemento contenedor. Cuando desarrollas una aplicación SAX, " "necesitas registrar la posición de tu programa en el documento en algún lado " "de tu código. SAX no lo hace por ti. Además, desafortunadamente no podrás " "mirar hacia adelante (*look ahead*) en el documento XML." @@ -252,7 +252,7 @@ msgid "" msgstr "" "El espacio de nombres de la URI asociada con el prefijo ``xml``, como se " "define por `Namespaces in XML `_ " -"(section 4)." +"(sección 4)." #: ../Doc/library/xml.dom.rst:127 msgid "" @@ -262,7 +262,7 @@ msgid "" msgstr "" "El espacio de nombres del URI para declaraciones del espacio de nombres, " "como se define en `Document Object Model (DOM) Level 2 Core Specification " -"`_ (section 1.1.8)." +"`_ (sección 1.1.8)." #: ../Doc/library/xml.dom.rst:134 msgid "" @@ -271,7 +271,7 @@ msgid "" msgstr "" "El URI del espacio de nombres del XHTML como se define en `XHTML 1.0: The " "Extensible HyperText Markup Language `_ " -"(section 3.1.1)." +"(sección 3.1.1)." #: ../Doc/library/xml.dom.rst:138 msgid "" diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index 660ef62630..fa52e295a1 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -116,7 +116,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:96 ../Doc/library/xml.sax.handler.rst:106 #: ../Doc/library/xml.sax.handler.rst:138 msgid "access: (parsing) read-only; (not parsing) read/write" -msgstr "access: (parsing) sólo de lectura; (not parsing) lectura/escritura" +msgstr "acceso: (parsing) sólo de lectura; (not parsing) lectura/escritura" #: ../Doc/library/xml.sax.handler.rst:65 msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``" @@ -229,7 +229,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:120 #: ../Doc/library/xml.sax.handler.rst:129 msgid "access: read/write" -msgstr "access: read/write (leer/escribir)" +msgstr "acceso: read/write (leer/escribir)" #: ../Doc/library/xml.sax.handler.rst:125 msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" @@ -281,7 +281,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:147 msgid "access: read-only" -msgstr "accesso: solo-lectura" +msgstr "acceso: solo-lectura" #: ../Doc/library/xml.sax.handler.rst:152 msgid "List of all known property names." diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 8dcdf71fbf..99cdade34a 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-21 20:32-0300\n" +"PO-Revision-Date: 2021-08-03 11:13+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Emmanuel Arias \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/xmlrpc.client.rst:2 msgid ":mod:`xmlrpc.client` --- XML-RPC client access" @@ -596,16 +596,16 @@ msgstr "" "Escribe la codificación XML-RPC base 64 de este elemento binario en el " "objeto de flujo *out*." +# Se hizo una excepción para que :rfc:`...` comience por números y no genere un error #: ../Doc/library/xmlrpc.client.rst:336 -#, fuzzy msgid "" "The encoded data will have newlines every 76 characters as per :rfc:`RFC " "2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 " "specification when the XML-RPC spec was written." msgstr "" -"Los datos codificados tendrán líneas nuevas cada 76 caracteres según :rfc:" -"`RFC 2045 section 6.8 <2045#section-6.8>`, que era la especificación " -"estándar de facto base64 cuando se escribió la especificación XML-RPC." +"Los datos codificados tendrán líneas nuevas cada 76 caracteres según RFC " +"2045 sección 6.8 :rfc:`2045#section-6.8`, que era la especificación estándar " +"de facto base64 cuando se escribió la especificación XML-RPC." #: ../Doc/library/xmlrpc.client.rst:341 msgid "" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 2e62aa609f..b454375fb4 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -334,7 +334,7 @@ msgstr "" "parámetros de la solicitud; el valor de retorno se devuelve al cliente como " "resultado. Si la instancia no tiene un método :meth:`_dispatch`, se busca un " "atributo que coincida con el nombre del método solicitado; si el nombre del " -"método contiene púntos, cada componente del nombre del método se busca " +"método contiene puntos, cada componente del nombre del método se busca " "individualmente, con el efecto con el efecto que produce una búsqueda " "jerárquica simple. El valor encontrado en esta búsqueda es entonces llamado " "con los parámetros de la solicitud y el valor de retorno se devuelve al " diff --git a/library/zipapp.po b/library/zipapp.po index 770fa81787..ef9e00e4c7 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -306,7 +306,7 @@ msgid "" "If a file object is specified for *source* or *target*, it is the caller's " "responsibility to close it after calling create_archive." msgstr "" -"Si se especifica un objeto archivo para *source* o * target*, es " +"Si se especifica un objeto archivo para *source* o *target*, es " "responsabilidad de quien invoca cerrarlo luego de invocar a create_archive." #: ../Doc/library/zipapp.rst:168 diff --git a/reference/datamodel.po b/reference/datamodel.po index f393d3ffeb..a5910504ce 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -2983,7 +2983,7 @@ msgstr "" "El atributo :attr:`__objclass__` es interpretado por el módulo :mod:" "`inspect` como la especificación de la clase donde el objeto fue definido " "(establecer esto adecuadamente puede ayudar en introspección de atributos " -"dinámicos de clases en tiempo de ejecución). Para llamables, puede indicar " +"dinámicos de clases en tiempo de ejecución). Para invocables, puede indicar " "que una instancia de un tipo (o subclase) dado es esperado o requerido como " "el primero argumento posicional (por ejemplo, CPython establece este " "atributo para métodos independientes que son implementados en C)." diff --git a/reference/expressions.po b/reference/expressions.po index fb6675d885..c0df6349c4 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -2668,7 +2668,7 @@ msgstr "" "La coma final sólo es requerida para crear una tupla única (también " "denominada un *singleton*); es opcional en todos los otros casos. Una única " "expresión sin una coma final no crea una tupla, si no produce el valor de " -"esa expresion. (Para crear una tupla vacía, usa un par de paréntesis vacío: " +"esa expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " "``()``.)" #: ../Doc/reference/expressions.rst:1786 diff --git a/reference/import.po b/reference/import.po index d941e6a437..ed888f78bd 100644 --- a/reference/import.po +++ b/reference/import.po @@ -149,7 +149,7 @@ msgid "" msgstr "" "Python sólo tiene un tipo de objeto módulo, y todos los módulos son de este " "tipo, independientemente de si el módulo está implementado en Python, C, o " -"en cualquier otro lenguage. Para ayudar a organizar los módulos y " +"en cualquier otro lenguaje. Para ayudar a organizar los módulos y " "proporcionar una jerarquía de nombres, Python tiene un concepto de :term:" "`paquete `." @@ -169,8 +169,8 @@ msgstr "" "tienen por qué originarse en el sistema de archivos. Para los propósitos de " "esta documentación, usaremos esta conveniente analogía de directorios y " "archivos. Al igual que los directorios del sistema de archivos, los " -"paquetes están organizados jerárquicamente, y los paquetes pueden contener " -"subpaquetes, así como módulos regulares." +"paquetes están organizados de forma jerárquica, y los paquetes pueden " +"contener subpaquetes, así como módulos regulares." #: ../Doc/reference/import.rst:80 msgid "" @@ -181,7 +181,7 @@ msgid "" msgstr "" "Es importante tener en cuenta que todos los paquetes son módulos, pero no " "todos los módulos son paquetes. O dicho de otro modo, los paquetes son sólo " -"un tipo especial de módulo. Específicamente, cualquier módulo que contenga " +"un tipo especial de módulo. Específicamente, cualquier módulo que contenga " "un atributo ``__path__`` se considera un paquete." #: ../Doc/reference/import.rst:85 @@ -816,10 +816,11 @@ msgid "" msgstr "" "Los cargadores de módulos pueden optar por crear el objeto de módulo durante " "la carga mediante la implementación de un método :meth:`~importlib.abc." -"Loader.create_module`. Toma un argumento, el module spec, y retorna el nuevo " -"objeto de módulo que se usará durante la carga. ``create_module()`` no " -"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í." +"Loader.create_module`. Toma un argumento, la especificación del módulo, y " +"retorna el nuevo objeto de módulo que se usará durante la carga. " +"``create_module()`` no 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:433 msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." @@ -910,7 +911,7 @@ msgstr "" #: ../Doc/reference/import.rst:474 msgid "Submodules" -msgstr "Sub-modulos" +msgstr "Submódulos" #: ../Doc/reference/import.rst:476 msgid "" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 68ce1f83f0..b68f0b6211 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -1081,7 +1081,7 @@ msgstr "" "usado para concatenar expresiones de cadena al momento de la ejecución. " "Observar también que la concatenación de literales puede utilizar diferentes " "estilos de citas para cada componente (incluso mezclando cadenas *raw* y " -"cadenas de triple comillado), y los literales de cadena formateados pueden " +"cadenas con triple comilla), y los literales de cadena formateados pueden " "ser concatenados con los literales de cadena simples." #: ../Doc/reference/lexical_analysis.rst:648 diff --git a/requirements.txt b/requirements.txt index 960e3d215a..bb44d9d254 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ pip==20.1 Sphinx==2.4.4 blurb polib -pospell==1.0.5 +pospell==1.0.12 potodo powrap python-docs-theme diff --git a/sphinx.po b/sphinx.po index 2aa0c73f4a..b2e5d30283 100644 --- a/sphinx.po +++ b/sphinx.po @@ -192,7 +192,7 @@ msgstr "Meta información:" #: ../Doc/tools/templates/indexcontent.html:59 msgid "Reporting bugs" -msgstr "Reportar errores (bugs)" +msgstr "Reportar errores" #: ../Doc/tools/templates/indexcontent.html:60 msgid "About the documentation" @@ -285,7 +285,7 @@ msgstr "Por favor, haga una donación." #: ../Doc/tools/templates/layout.html:121 msgid "Last updated on %(last_updated)s." -msgstr "Última actualización el %(last_updated)." +msgstr "Última actualización el %(last_updated)s." #: ../Doc/tools/templates/layout.html:122 msgid "Found a bug?" diff --git a/using/unix.po b/using/unix.po index b251d17415..17014ae892 100644 --- a/using/unix.po +++ b/using/unix.po @@ -165,7 +165,7 @@ msgid "" "since it only installs :file:`{exec_prefix}/bin/python{version}`." msgstr "" "``make install`` puede sobreescribir o enmascarar el binario :file:" -"`python3`. Por lo tanto se recomienda ``make altinstall`` en lugar de``make " +"`python3`. Por lo tanto se recomienda ``make altinstall`` en lugar de ``make " "install`` debido a que sólo instala :file:`{exec_prefix}/bin/python{version}" "`." diff --git a/using/windows.po b/using/windows.po index 0e40ea4fcc..5b46d2a444 100644 --- a/using/windows.po +++ b/using/windows.po @@ -752,7 +752,7 @@ msgstr "" "Para instalar el paquete, asegúrate de tener las últimas actualizaciones de " "Windows 10 y busca \"Python |version|\" en Microsoft Store. Comprueba que la " "aplicación que seleccionas es una publicación de la Python Software " -"Foundation e instálala." +"Foundation y procede a instalarla." #: ../Doc/using/windows.rst:302 msgid "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index f23cd1d666..ed19f37a9f 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -2125,7 +2125,7 @@ msgstr "" #: ../Doc/whatsnew/3.2.rst:1395 msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" msgstr "" -"(Disponbile en sistemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" +"(Disponible en sistemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" #: ../Doc/whatsnew/3.2.rst:1398 msgid "gzip and zipfile" From 19f5a78ff6594819bcaf39a906c307384a120ebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 13:56:58 +0200 Subject: [PATCH 11/94] Terminando Tutorial (#1238) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aclarando entradas fuzzy y terminando párrafos pendientes. --- tutorial/classes.po | 25 ++++++++++++------------- tutorial/controlflow.po | 36 ++++++++++++++++++++---------------- tutorial/datastructures.po | 11 ++++++++--- tutorial/errors.po | 29 +++++++++++++++++++---------- tutorial/floatingpoint.po | 8 +++++--- tutorial/inputoutput.po | 32 ++++++++++++++++++++++---------- tutorial/interactive.po | 8 +++++--- tutorial/interpreter.po | 27 +++++++++++++-------------- tutorial/venv.po | 8 ++++---- 9 files changed, 108 insertions(+), 76 deletions(-) diff --git a/tutorial/classes.po b/tutorial/classes.po index a2a5c7f3a2..e300fab124 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/tutorial/classes.rst:5 msgid "Classes" @@ -268,14 +269,13 @@ 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 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 " +"Aunque los alcances se determinan de forma estática, se utilizan de forma " +"dinámica. En cualquier momento durante la ejecución, hay 3 o 4 ámbitos " "anidados cuyos espacios de nombres son directamente accesibles:" #: ../Doc/tutorial/classes.rst:120 @@ -1282,7 +1282,6 @@ msgid "Generators" msgstr "Generadores" #: ../Doc/tutorial/classes.rst:852 -#, fuzzy msgid "" ":term:`Generators ` are a simple and powerful tool for creating " "iterators. They are written like regular functions but use the :keyword:" @@ -1291,12 +1290,12 @@ msgid "" "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 :" -"keyword:`yield` cuando quieren retornar datos. Cada vez que se llama :func:" -"`next` sobre él, el generador continúa desde donde dejó (y recuerda todos " -"los valores de datos y cual sentencia fue ejecutada última). Un ejemplo " -"muestra que los generadores pueden ser muy fáciles de crear::" +":term:`Generators ` son una herramienta simple y poderosa para " +"crear iteradores. Están escritas como funciones regulares pero usan la " +"palabra clave :keyword:`yield` siempre que quieran retornar datos. Cada vez " +"que se llama a :func:`next`, el generador se reanuda donde lo dejó (recuerda " +"todos los valores de datos y qué instrucción se ejecutó por última vez). Un " +"ejemplo muestra que los generadores pueden ser trivialmente fáciles de crear:" #: ../Doc/tutorial/classes.rst:873 msgid "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index afe435e570..3c63ef7219 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -340,7 +341,6 @@ 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 " @@ -349,11 +349,12 @@ msgid "" "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 " -"argumentos son pasados por valor (dónde el valor es siempre una referencia a " -"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." +"Los parámetros (argumentos) reales para una llamada de función se introducen " +"en la tabla de símbolos local de la función llamada cuando se llama; por lo " +"tanto, los argumentos se pasan usando *llamada por valor* (donde el *valor* " +"es siempre un objeto *referencia*, no el valor del objeto). [#]_ Cuando una " +"función llama a otra función, o se llama a sí misma de forma recursiva, se " +"crea una nueva tabla de símbolos locales para esa llamada." #: ../Doc/tutorial/controlflow.rst:301 msgid "" @@ -362,6 +363,11 @@ msgid "" "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 "" +"Una definición de función asocia el nombre de la función con el objeto de " +"función en la tabla de símbolos actual. El intérprete reconoce el objeto al " +"que apunta ese nombre como una función definida por el usuario. Otros " +"nombres también pueden apuntar a ese mismo objeto de función y también se " +"pueden usar para acceder a la función:" #: ../Doc/tutorial/controlflow.rst:312 msgid "" @@ -761,13 +767,12 @@ 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 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::" +"No hay una llamada posible que lo haga retornar ``True`` ya que la palabra " +"clave ``'name'`` siempre se vinculará al primer parámetro. Por ejemplo::" #: ../Doc/tutorial/controlflow.rst:670 msgid "" @@ -801,7 +806,7 @@ msgstr "" #: ../Doc/tutorial/controlflow.rst:688 msgid "As guidance:" -msgstr "A modo de guía: " +msgstr "A modo de guía:" #: ../Doc/tutorial/controlflow.rst:690 msgid "" @@ -833,9 +838,8 @@ msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." msgstr "" -"Para una API, utilice únicamente posicionales para prevenir cambios que " -"rompan con la compatibilidad de la API si el nombre del parámetro es " -"modificado en el futuro. " +"En el caso de una API, use solo posicional para evitar que se rompan los " +"cambios de la API si el nombre del parámetro se modifica en el futuro." #: ../Doc/tutorial/controlflow.rst:704 msgid "Arbitrary Argument Lists" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 6b466fab67..5ae6e069d1 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 13:51+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:49+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" +"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 3.0\n" #: ../Doc/tutorial/datastructures.rst:5 msgid "Data Structures" @@ -673,6 +674,10 @@ msgid "" "idiomatic way to loop over unique elements of the sequence in sorted " "order. ::" msgstr "" +"El uso de :func:`set` en una secuencia elimina los elementos duplicados. El " +"uso de :func:`sorted` en combinación con :func:`set` sobre una secuencia es " +"una forma idiomática de recorrer elementos únicos de la secuencia en orden " +"ordenado. ::" #: ../Doc/tutorial/datastructures.rst:640 msgid "" diff --git a/tutorial/errors.po b/tutorial/errors.po index 20636f9b5a..628f184989 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/tutorial/errors.rst:5 msgid "Errors and Exceptions" @@ -117,17 +118,16 @@ msgstr "" "qué la causó." #: ../Doc/tutorial/errors.rst:69 -#, fuzzy msgid "" "The preceding part of the error message shows the context where the " "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 "" -"La parte anterior del mensaje de error muestra el contexto donde ha sucedido " -"la excepción, en formato de *traza de error*. En general, contiene una traza " -"de error que lista líneas de código fuente; sin embargo, no mostrará líneas " -"leídas desde la entrada estándar." +"La parte anterior del mensaje de error muestra el contexto donde ocurrió la " +"excepción, en forma de seguimiento de pila. En general, contiene un " +"seguimiento de pila que enumera las líneas de origen; sin embargo, no " +"mostrará las líneas leídas desde la entrada estándar." #: ../Doc/tutorial/errors.rst:74 msgid "" @@ -158,7 +158,7 @@ msgstr "" #: ../Doc/tutorial/errors.rst:96 msgid "The :keyword:`try` statement works as follows." -msgstr "La declaración :keyword:`try` funciona de la siguiente manera:" +msgstr "La sentencia :keyword:`try` funciona de la siguiente manera." #: ../Doc/tutorial/errors.rst:98 msgid "" @@ -361,17 +361,20 @@ msgstr "" #: ../Doc/tutorial/errors.rst:273 msgid "Exception Chaining" -msgstr "" +msgstr "Encadenamiento de excepciones" #: ../Doc/tutorial/errors.rst:275 msgid "" "The :keyword:`raise` statement allows an optional :keyword:`from` which " "enables chaining exceptions. For example::" msgstr "" +"La instrucción :keyword:`raise` permite una palabra clave opcional :keyword:" +"`from` que habilita el encadenamiento de excepciones. Por ejemplo::" #: ../Doc/tutorial/errors.rst:281 msgid "This can be useful when you are transforming exceptions. For example::" msgstr "" +"Esto puede resultar útil cuando está transformando excepciones. Por ejemplo::" #: ../Doc/tutorial/errors.rst:302 msgid "" @@ -379,11 +382,17 @@ msgid "" "an :keyword:`except` or :keyword:`finally` section. Exception chaining can " "be disabled by using ``from None`` idiom:" msgstr "" +"El encadenamiento de excepciones ocurre automáticamente cuando se genera una " +"excepción dentro de una sección palabra clave :keyword:`except` o :keyword:" +"`finally`. El encadenamiento de excepciones se puede deshabilitar usando el " +"modismo ``from None``:" #: ../Doc/tutorial/errors.rst:315 msgid "" "For more information about chaining mechanics, see :ref:`bltin-exceptions`." msgstr "" +"Para obtener más información sobre la mecánica del encadenamiento, consulte :" +"ref:`bltin-exceptions`." #: ../Doc/tutorial/errors.rst:321 msgid "User-defined Exceptions" diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index d65556da43..17e7bd816a 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -4,18 +4,20 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-02 19:49+0200\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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/floatingpoint.rst:9 msgid "Floating Point Arithmetic: Issues and Limitations" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 6f902171b3..47cfda9c51 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 14:34+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/tutorial/inputoutput.rst:5 msgid "Input and Output" @@ -235,18 +236,17 @@ 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. ::" 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 " -"formateadas por el nombre en vez de la posición. Esto puede hacerse " -"simplemente pasando el diccionario y usando corchetes ``'[]'`` para acceder " -"a las claves ::" +"Si tiene una cadena de caracteres de formato realmente larga que no desea " +"dividir, sería bueno si pudiera hacer referencia a las variables que se " +"formatearán por nombre en lugar de por posición. Esto se puede hacer " +"simplemente pasando el dict y usando corchetes ``'[]'`` para acceder a las " +"claves. ::" #: ../Doc/tutorial/inputoutput.rst:182 msgid "" @@ -295,7 +295,7 @@ msgid "" "`print` works: it always adds spaces between its arguments.)" msgstr "" "(Resaltar que el espacio existente entre cada columna es añadido debido a " -"como funciona :func:`print`: siempre añade espacios entre sus argumentos)." +"como funciona :func:`print`: siempre añade espacios entre sus argumentos.)" #: ../Doc/tutorial/inputoutput.rst:237 msgid "" @@ -338,6 +338,11 @@ msgid "" "zero or more elements of ``values``. This operation is commonly known as " "string interpolation. For example::" msgstr "" +"El operador % (módulo) también se puede utilizar para formatear cadenas de " +"caracteres. Dados los ``'cadena de caracteres' % valores``, las instancias " +"de ``%`` en ``cadena de caracteres`` se reemplazan con cero o más elementos " +"de ``valores``. Esta operación se conoce comúnmente como interpolación de " +"cadenas. Por ejemplo::" #: ../Doc/tutorial/inputoutput.rst:269 msgid "" @@ -433,6 +438,9 @@ msgid "" "close()`` to close the file and immediately free up any system resources " "used by it." msgstr "" +"Si no está utilizando la palabra clave :keyword:`with`, entonces debe llamar " +"a ``f.close()`` para cerrar el archivo y liberar inmediatamente los recursos " +"del sistema utilizados por él." #: ../Doc/tutorial/inputoutput.rst:335 msgid "" @@ -440,6 +448,10 @@ msgid "" "``f.close()`` **might** result in the arguments of ``f.write()`` not being " "completely written to the disk, even if the program exits successfully." msgstr "" +"Al llamar a ``f.write()`` sin usar la palabra clave :keyword::`!with` o " +"llamar a ``f.close()`` **podría** dar como resultado los argumentos de ``f." +"write()`` no se escribe completamente en el disco, incluso si el programa se " +"cierra correctamente." #: ../Doc/tutorial/inputoutput.rst:343 msgid "" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index e0e3fa9134..e2cc8fdc63 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -4,18 +4,20 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-02 19:46+0200\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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/interactive.rst:5 msgid "Interactive Input Editing and History Substitution" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index bcbba82a3c..775ea8f204 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 14:41+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:45+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" +"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 3.0\n" #: ../Doc/tutorial/interpreter.rst:5 msgid "Using the Python Interpreter" @@ -30,17 +31,16 @@ 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.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 "" -"Por lo general, el intérprete de Python se instala en :file:`/usr/local/bin/" -"python3.8` en las máquinas dónde está disponible; poner :file:`/usr/local/" -"bin` en el camino de búsqueda de tu intérprete de comandos Unix hace posible " -"iniciarlo ingresando la orden:" +"El intérprete de Python generalmente se instala como :file:`/usr/local/bin/" +"python3.9` en aquellas máquinas donde está disponible; poner :file:`/usr/" +"local/bin` en la ruta de búsqueda de su shell de Unix hace posible iniciarlo " +"escribiendo el comando:" #: ../Doc/tutorial/interpreter.rst:21 msgid "" @@ -55,7 +55,6 @@ 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.9` command will be available. If " @@ -63,11 +62,11 @@ msgid "" "file:`py` command. See :ref:`setting-envvars` for other ways to launch " "Python." msgstr "" -"En ordenadores con Windows dónde Python se encuentra instalado desde la :ref:" -"`Microsoft Store `, el comando :file:`python3.8` estará " -"disponible. Si tienes el :ref:`py.exe launcher ` instalado, puedes " -"utilizar el comando :file:`py`. Ver :ref:`setting-envvars` para otras formas " -"de ejecutar Python." +"En máquinas Windows en las que haya instalado Python desde :ref:`Microsoft " +"Store `, el comando :file:`python3.9` estará disponible. Si " +"tiene instalado :ref:`py.exe launcher `, puede usar el comando :" +"file:`py`. Consulte :ref:`setting-envvars` para conocer otras formas de " +"iniciar Python." #: ../Doc/tutorial/interpreter.rst:31 msgid "" diff --git a/tutorial/venv.po b/tutorial/venv.po index 161f19b158..de2f8a96fd 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-09 14:05+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:44+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" @@ -20,7 +20,7 @@ msgstr "" "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" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/venv.rst:6 msgid "Virtual Environments and Packages" @@ -157,7 +157,7 @@ msgid "" msgstr "" "(Este script está escrito para la consola bash. Si usas las consolas :" "program:`csh` or :program:`fish`, hay scripts alternativos ``activate.csh`` " -"y ``activate.fish`` que deberá usar en su lugar)." +"y ``activate.fish`` que deberá usar en su lugar.)" #: ../Doc/tutorial/venv.rst:74 msgid "" From 4475912cd1a0a6b52d50f4d84b66379066d02f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 3 Aug 2021 13:57:08 +0200 Subject: [PATCH 12/94] Finalizando using (#1239) --- using/cmdline.po | 52 ++++++++++++++++++++++++++---------------------- using/mac.po | 14 ++++++++----- using/windows.po | 42 +++++++++++++++++++++----------------- 3 files changed, 61 insertions(+), 47 deletions(-) diff --git a/using/cmdline.po b/using/cmdline.po index 03cac71cf0..2735803ff5 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-28 09:36-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 20:02+0200\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" +"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 3.0\n" #: ../Doc/using/cmdline.rst:9 msgid "Command line and environment" @@ -749,6 +750,8 @@ msgid "" "``-X oldparser``: enable the traditional LL(1) parser. See also :envvar:" "`PYTHONOLDPARSER` and :pep:`617`." msgstr "" +"``-X oldparser``: habilita el analizador tradicional LL(1). Vea también :" +"envvar:`PYTHONOLDPARSER` y :pep:`617`." #: ../Doc/using/cmdline.rst:431 msgid "" @@ -796,6 +799,9 @@ msgid "" "``-X dev``: enable :ref:`Python Development Mode `, introducing " "additional runtime checks that are too expensive to be enabled by default." msgstr "" +"``-X dev``: habilita :ref:`Python Development Mode `, introduciendo " +"comprobaciones de tiempo de ejecución adicionales que son demasiado caras " +"para habilitarse de forma predeterminada." #: ../Doc/using/cmdline.rst:447 msgid "" @@ -861,16 +867,16 @@ msgid "" "Using ``-X dev`` option, check *encoding* and *errors* arguments on string " "encoding and decoding operations." msgstr "" +"Usando la opción ``-X dev``, verifique *encoding* y *errors* argumentos en " +"las operaciones de codificación y decodificación de cadenas de caracteres." #: ../Doc/using/cmdline.rst:481 -#, fuzzy msgid "The ``-X showalloccount`` option has been removed." -msgstr "La opción ``-X showalloccount``." +msgstr "Se ha eliminado la opción ``-X showalloccount``." #: ../Doc/using/cmdline.rst:484 -#, fuzzy msgid "The ``-X oldparser`` option." -msgstr "La opción ``-VV``." +msgstr "La opción ``-X analizador antiguo``." #: ../Doc/using/cmdline.rst:488 msgid "Options you shouldn't use" @@ -968,13 +974,12 @@ msgstr "" "Python como la variable :data:`sys.path`." #: ../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`." +"Si se establece en una cadena no vacía, anula el valor :data:`sys." +"platlibdir`." #: ../Doc/using/cmdline.rst:551 msgid "" @@ -1050,16 +1055,15 @@ msgstr "" "d` varias veces." #: ../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`." +"Si se establece en una cadena no vacía, habilite el analizador tradicional " +"LL(1)." #: ../Doc/using/cmdline.rst:594 msgid "See also the :option:`-X` ``oldparser`` option and :pep:`617`." -msgstr "" +msgstr "Vea también la opción :option:`-X` ``oldparser`` y :pep:`617`." #: ../Doc/using/cmdline.rst:601 msgid "" @@ -1535,7 +1539,6 @@ msgstr "" "ejecución de Python." #: ../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 " @@ -1543,12 +1546,12 @@ msgid "" "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 " -"destino adecuada, :envvar:`PYTHONUTF8` seguirá activando de forma " -"predeterminada en las configuraciones regionales basadas en ASCII heredadas. " -"Ambas características deben ser inhabilitadas para forzar al intérprete a " -"utilizar ``ASCII`` en lugar de ``UTF-8`` para las interfaces del sistema." +"También tenga en cuenta que incluso cuando la coerción de configuración " +"regional está desactivada, o cuando no puede encontrar una configuración " +"regional de destino adecuada, :envvar:`PYTHONUTF8` se activará de forma " +"predeterminada en las configuraciones regionales heredadas basadas en ASCII. " +"Ambas funciones deben estar deshabilitadas para obligar al intérprete a usar " +"``ASCII`` en lugar de ``UTF-8`` para las interfaces del sistema." #: ../Doc/using/cmdline.rst:892 msgid ":ref:`Availability `: \\*nix." @@ -1559,14 +1562,15 @@ msgid "See :pep:`538` for more details." msgstr "Consulte :pep:`538` para obtener más detalles." #: ../Doc/using/cmdline.rst:899 -#, fuzzy msgid "" "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``." +"Si esta variable de entorno se establece en una cadena no vacía, habilite :" +"ref:`Python Development Mode `, introduciendo comprobaciones de " +"tiempo de ejecución adicionales que son demasiado caras para habilitarse de " +"forma predeterminada." #: ../Doc/using/cmdline.rst:907 msgid "" diff --git a/using/mac.po b/using/mac.po index 6055d1dea5..a0579ef3bd 100644 --- a/using/mac.po +++ b/using/mac.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19:57+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_CO\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 3.0\n" #: ../Doc/using/mac.rst:6 msgid "Using Python on a Macintosh" @@ -73,6 +74,10 @@ msgid "" "Python distributions; and PythonLauncher, which handles double-clicking " "Python scripts from the Finder." msgstr "" +"Una carpeta :file:`Python 3.9` en su carpeta :file:`Applications`. Aquí " +"encontrará IDLE, el entorno de desarrollo que es una parte estándar de las " +"distribuciones oficiales de Python; y PythonLauncher, que se encarga de " +"hacer doble clic en los scripts de Python desde el Finder." #: ../Doc/using/mac.rst:33 msgid "" @@ -210,11 +215,10 @@ msgstr "" "comenzar tales scripts." #: ../Doc/using/mac.rst:95 -#, fuzzy msgid "" "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:" +"Con Python 3.9, usted podrá utilizar ya sea :program:`python` o :program:" "`pythonw`." #: ../Doc/using/mac.rst:99 diff --git a/using/windows.po b/using/windows.po index 5b46d2a444..47a455c041 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19:59+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" +"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 3.0\n" #: ../Doc/using/windows.rst:7 msgid "Using Python on Windows" @@ -62,6 +63,11 @@ msgid "" "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 admite una " +"plataforma Windows, mientras que Microsoft considera la plataforma con " +"soporte extendido. Esto significa que Python | versión | es compatible con " +"Windows 8.1 y versiones posteriores. Si necesita compatibilidad con Windows " +"7, instale Python 3.8." #: ../Doc/using/windows.rst:29 msgid "" @@ -252,7 +258,6 @@ 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 " @@ -260,23 +265,20 @@ msgid "" "``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 " -"directiva de grupo \"Enable Win32 long paths\", o establecer el valor del " -"registro ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" -"\\FileSystem@LongPathsEnabled`` a ``1``." +"En las últimas versiones de Windows, esta limitación se puede ampliar a " +"aproximadamente 32.000 caracteres. Su administrador deberá activar la " +"política de grupo \"Habilitar rutas largas de Win32\" o establecer " +"``LongPathsEnabled`` en ``1`` en la clave de registro ``HKEY_LOCAL_MACHINE" +"\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: ../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." 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 " -"caracteres cuando se usan cadenas. (El uso de bytes como rutas está en " -"desuso en Windows, y esta característica no está disponible cuando se usan " -"bytes.)" +"de las demás funciones de ruta acepten y devuelvan rutas de más de 260 " +"caracteres." #: ../Doc/using/windows.rst:113 msgid "After changing the above option, no further configuration is required." @@ -664,7 +666,6 @@ msgstr "" "número de instalaciones es muy útil tener una copia en la caché local." #: ../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.9.0.exe`` for the actual " @@ -672,9 +673,9 @@ msgid "" "avoid collisions between files with the same name." msgstr "" "Ejecute el siguiente comando desde el símbolo del sistema para descargar " -"todos los posibles archivos requeridos. Recuerde reemplazar ``Python-3.8.0." -"exe`` por el nombre real del instalador y crear una estructura de " -"directorios propia para evitar colisiones entre archivos del mismo nombre." +"todos los archivos necesarios posibles. Recuerde sustituir ``python-3.9.0." +"exe`` por el nombre real de su instalador y crear diseños en sus propios " +"directorios para evitar colisiones entre archivos con el mismo nombre." #: ../Doc/using/windows.rst:266 msgid "" @@ -861,6 +862,11 @@ msgid "" "scenes `_" msgstr "" +"Para obtener más detalles sobre la base técnica de estas limitaciones, " +"consulte la documentación de Microsoft sobre aplicaciones empaquetadas de " +"plena confianza, actualmente disponible en `docs.microsoft.com/en-us/windows/" +"msix/desktop/desktop-to-uwp-behind-the-scenes `_" #: ../Doc/using/windows.rst:351 msgid "The nuget.org packages" From aecf1c1fc44eb0391cb2462e55abe93e935160df Mon Sep 17 00:00:00 2001 From: Marcos Medrano Date: Tue, 3 Aug 2021 18:31:46 +0200 Subject: [PATCH 13/94] =?UTF-8?q?Traducci=C3=B3n=20completa=20de=20library?= =?UTF-8?q?/xml.etree.elementtree.po=20(#1229)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../library_xml.etree.elementtree.txt | 21 + library/xml.etree.elementtree.po | 757 ++++++++++++++++-- 2 files changed, 705 insertions(+), 73 deletions(-) create mode 100644 dictionaries/library_xml.etree.elementtree.txt diff --git a/dictionaries/library_xml.etree.elementtree.txt b/dictionaries/library_xml.etree.elementtree.txt new file mode 100644 index 0000000000..2368132399 --- /dev/null +++ b/dictionaries/library_xml.etree.elementtree.txt @@ -0,0 +1,21 @@ +callable +cárguelo +comment +debugging +Element +ElementTree +ElementInclude +expat +fictional +find +href +ns +push +qname +serializadores +serializarán +tail +text +TreeBuilder +uri +xmlns diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 59cb4112f0..c69f588fac 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -6,41 +6,47 @@ # 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" +"Project-Id-Version: Python 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" +"PO-Revision-Date: 2021-07-18 20:04+0200\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: Marcos Medrano \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/xml.etree.elementtree.rst:2 msgid ":mod:`xml.etree.ElementTree` --- The ElementTree XML API" -msgstr "" +msgstr ":mod:`xml.etree.ElementTree` --- La API XML de ElementTree" #: ../Doc/library/xml.etree.elementtree.rst:9 msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/xml/etree/ElementTree.py`" #: ../Doc/library/xml.etree.elementtree.rst:13 msgid "" "The :mod:`xml.etree.ElementTree` module implements a simple and efficient " "API for parsing and creating XML data." msgstr "" +"El módulo :mod:`xml.etree.ElementTree` implementa una API simple y eficiente " +"para parsear y crear datos XML." #: ../Doc/library/xml.etree.elementtree.rst:16 msgid "This module will use a fast implementation whenever available." msgstr "" +"Este módulo utilizará una implementación rápida siempre que esté disponible." #: ../Doc/library/xml.etree.elementtree.rst:19 msgid "The :mod:`xml.etree.cElementTree` module is deprecated." -msgstr "" +msgstr "El módulo :mod:`xml.etree.cElementTree` es obsoleto." #: ../Doc/library/xml.etree.elementtree.rst:25 msgid "" @@ -48,10 +54,13 @@ msgid "" "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" +"El módulo :mod:`xml.etree.ElementTree` no es seguro contra datos construidos " +"maliciosamente. Si necesita parsear datos no fiables o no autentificados, " +"vea :ref:`xml-vulnerabilities`." #: ../Doc/library/xml.etree.elementtree.rst:30 msgid "Tutorial" -msgstr "" +msgstr "Tutorial" #: ../Doc/library/xml.etree.elementtree.rst:32 msgid "" @@ -59,10 +68,13 @@ msgid "" "short). The goal is to demonstrate some of the building blocks and basic " "concepts of the module." msgstr "" +"Este es un tutorial corto para usar :mod:`xml.etree.ElementTree` (``ET`` en " +"resumen). El objetivo es demostrar algunos de los componentes y conceptos " +"básicos del módulo." #: ../Doc/library/xml.etree.elementtree.rst:37 msgid "XML tree and elements" -msgstr "" +msgstr "Árbol y elementos XML" #: ../Doc/library/xml.etree.elementtree.rst:39 msgid "" @@ -74,24 +86,34 @@ msgid "" "class:`ElementTree` level. Interactions with a single XML element and its " "sub-elements are done on the :class:`Element` level." msgstr "" +"XML es un formato de datos inherentemente jerárquico, y la forma más natural " +"de representarlo es con un árbol. ``ET`` tiene dos clases para este " +"propósito - :class:`ElementTree` representa todo el documento XML como un " +"árbol, y :class:`Element` representa un solo nodo en este árbol. Las " +"interacciones con todo el documento (leer y escribir en/desde archivos) se " +"realizan normalmente en el nivel de :class:`ElementTree`. Las interacciones " +"con un solo elemento XML y sus sub-elementos se realizan en el nivel :class:" +"`Element`." #: ../Doc/library/xml.etree.elementtree.rst:50 msgid "Parsing XML" -msgstr "" +msgstr "Procesando XML" #: ../Doc/library/xml.etree.elementtree.rst:52 msgid "" "We'll be using the following XML document as the sample data for this " "section:" msgstr "" +"Usaremos el siguiente documento XML como los datos de muestra para esta " +"sección:" #: ../Doc/library/xml.etree.elementtree.rst:80 msgid "We can import this data by reading from a file::" -msgstr "" +msgstr "Podemos importar estos datos leyendo desde un archivo::" #: ../Doc/library/xml.etree.elementtree.rst:86 msgid "Or directly from a string::" -msgstr "" +msgstr "O directamente desde una cadena de caracteres::" #: ../Doc/library/xml.etree.elementtree.rst:90 msgid "" @@ -100,19 +122,27 @@ msgid "" "functions may create an :class:`ElementTree`. Check the documentation to be " "sure." msgstr "" +":func:`fromstring` analiza el XML de una cadena de caracteres directamente " +"en un :class:`Element`, que es el elemento raíz del árbol analizado. Otras " +"funciones de análisis pueden crear un :class:`ElementTree`. Compruebe la " +"documentación para estar seguro." #: ../Doc/library/xml.etree.elementtree.rst:94 msgid "" "As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" msgstr "" +"Como un :class:`Element`, ``root`` tiene una etiqueta y un diccionario de " +"atributos::" #: ../Doc/library/xml.etree.elementtree.rst:101 msgid "It also has children nodes over which we can iterate::" -msgstr "" +msgstr "También tiene nodos hijos sobre los cuales podemos iterar::" #: ../Doc/library/xml.etree.elementtree.rst:110 msgid "Children are nested, and we can access specific child nodes by index::" msgstr "" +"Los hijos están anidados, y podemos acceder a nodos hijos específicos por el " +"índice::" #: ../Doc/library/xml.etree.elementtree.rst:118 msgid "" @@ -125,10 +155,18 @@ msgid "" "passing a custom :class:`TreeBuilder` instance to the :class:`XMLParser` " "constructor." msgstr "" +"No todos los elementos de la entrada XML acabarán siendo elementos del árbol " +"analizado. Actualmente, este módulo omite cualquier comentario XML, " +"instrucciones de procesamiento y declaraciones de tipo documento en la " +"entrada. Sin embargo, los árboles construidos utilizando la API de este " +"módulo, en lugar de analizar el texto XML, pueden contener comentarios e " +"instrucciones de procesamiento, que se incluirán al generar la salida XML. " +"Se puede acceder a una declaración de tipo documento pasando una instancia :" +"class:`TreeBuilder` personalizada al constructor :class:`XMLParser`." #: ../Doc/library/xml.etree.elementtree.rst:132 msgid "Pull API for non-blocking parsing" -msgstr "" +msgstr "API de consulta para un procesamiento no bloqueante" #: ../Doc/library/xml.etree.elementtree.rst:134 msgid "" @@ -140,6 +178,15 @@ msgid "" "able to parse XML incrementally, without blocking operations, while enjoying " "the convenience of fully constructed :class:`Element` objects." msgstr "" +"La mayoría de las funciones de análisis proporcionadas por este módulo " +"requieren que se lea todo el documento a la vez antes de retornar cualquier " +"resultado. Es posible utilizar un :class:`XMLParser` y alimentar los datos " +"en él de forma incremental, pero se trata de una *push* API que llama a " +"métodos en un objetivo invocable, que es demasiado bajo nivel e " +"inconveniente para la mayoría de las necesidades. A veces, lo que el usuario " +"realmente quiere es ser capaz de analizar XML de forma incremental, sin " +"bloquear las operaciones, mientras disfruta de la comodidad de los objetos :" +"class:`Element` totalmente construidos." #: ../Doc/library/xml.etree.elementtree.rst:142 msgid "" @@ -148,6 +195,11 @@ msgid "" "data incrementally with :meth:`XMLPullParser.feed` calls. To get the parsed " "XML elements, call :meth:`XMLPullParser.read_events`. Here is an example::" msgstr "" +"La herramienta más potente para hacer esto es :class:`XMLPullParser`. No " +"requiere una lectura de bloqueo para obtener los datos XML, y en su lugar se " +"alimenta de datos de forma incremental con llamadas a :meth:`XMLPullParser." +"feed`. Para obtener los elementos XML analizados, llama a :meth:" +"`XMLPullParser.read_events`. He aquí un ejemplo::" #: ../Doc/library/xml.etree.elementtree.rst:158 msgid "" @@ -155,6 +207,10 @@ msgid "" "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 "" +"El caso de uso obvio es el de las aplicaciones que operan de forma no " +"bloqueante, donde los datos XML se reciben de un socket o se leen de forma " +"incremental desde algún dispositivo de almacenamiento. En estos casos, las " +"lecturas bloqueantes son inaceptables." #: ../Doc/library/xml.etree.elementtree.rst:162 msgid "" @@ -165,10 +221,16 @@ msgid "" "you're reading a large XML document and don't want to hold it wholly in " "memory." msgstr "" +"Debido a su flexibilidad, :class:`XMLPullParser` puede ser un inconveniente " +"para los casos de uso más simples. Si no te importa que tu aplicación se " +"bloquee en la lectura de datos XML pero te gustaría tener capacidades de " +"análisis incremental, echa un vistazo a :func:`iterparse`. Puede ser útil " +"cuando estás leyendo un documento XML grande y no quieres mantenerlo " +"completamente en memoria." #: ../Doc/library/xml.etree.elementtree.rst:169 msgid "Finding interesting elements" -msgstr "" +msgstr "Encontrando elementos interesantes" #: ../Doc/library/xml.etree.elementtree.rst:171 msgid "" @@ -176,6 +238,9 @@ msgid "" "all the sub-tree below it (its children, their children, and so on). For " "example, :meth:`Element.iter`::" msgstr "" +":class:`Element` tiene algunos métodos útiles que ayudan a iterar " +"recursivamente sobre todo el sub-árbol por debajo de él (sus hijos, los " +"hijos de sus hijos, y así sucesivamente). Por ejemplo, :meth:`Element.iter`::" #: ../Doc/library/xml.etree.elementtree.rst:184 msgid "" @@ -184,22 +249,32 @@ msgid "" "child with a particular tag, and :attr:`Element.text` accesses the element's " "text content. :meth:`Element.get` accesses the element's attributes::" msgstr "" +":meth:`Element.findall` encuentra sólo los elementos con una etiqueta que " +"son hijos directos del elemento actual. :meth:`Element.find` encuentra el " +"*primer* hijo con una etiqueta determinada, y :attr:`Element.text` accede al " +"contenido de texto del elemento. :meth:`Element.get` accede a los atributos " +"del elemento::" #: ../Doc/library/xml.etree.elementtree.rst:198 msgid "" "More sophisticated specification of which elements to look for is possible " "by using :ref:`XPath `." msgstr "" +"Es posible especificar de forma más sofisticada qué elementos buscar " +"utilizando :ref:`XPath `." #: ../Doc/library/xml.etree.elementtree.rst:202 msgid "Modifying an XML File" -msgstr "" +msgstr "Modificando un archivo XML" #: ../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 "" +":class:`ElementTree` proporciona una forma sencilla de construir documentos " +"XML y escribirlos en archivos. El método :meth:`ElementTree.write` sirve " +"para este propósito." #: ../Doc/library/xml.etree.elementtree.rst:207 msgid "" @@ -208,23 +283,31 @@ msgid "" "attributes (:meth:`Element.set` method), as well as adding new children (for " "example with :meth:`Element.append`)." msgstr "" +"Una vez creado, un objeto :class:`Element` puede ser manipulado cambiando " +"directamente sus campos (como :attr:`Element.text`), añadiendo y modificando " +"atributos (método :meth:`Element.set`), así como añadiendo nuevos hijos (por " +"ejemplo con :meth:`Element.append`)." #: ../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 "" +"Digamos que queremos añadir uno al rango de cada país, y añadir un atributo " +"``updated`` al elemento rango::" #: ../Doc/library/xml.etree.elementtree.rst:222 #: ../Doc/library/xml.etree.elementtree.rst:266 msgid "Our XML now looks like this:" -msgstr "" +msgstr "Nuestro XML tiene ahora este aspecto:" #: ../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 "" +"Podemos eliminar elementos utilizando :meth:`Element.remove`. Digamos que " +"queremos eliminar todos los países con un rango superior a 50::" #: ../Doc/library/xml.etree.elementtree.rst:261 msgid "" @@ -233,20 +316,27 @@ msgid "" "example first collects all matching elements with ``root.findall()``, and " "only then iterates over the list of matches." msgstr "" +"Tenga en cuenta que la modificación concurrente mientras se itera puede " +"conducir a problemas, al igual que cuando se itera y modifica listas o " +"diccionarios de Python. Por lo tanto, el ejemplo recoge primero todos los " +"elementos coincidentes con ``root.findall()``, y sólo entonces itera sobre " +"la lista de coincidencias." #: ../Doc/library/xml.etree.elementtree.rst:288 msgid "Building XML documents" -msgstr "" +msgstr "Construyendo documentos XML" #: ../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 "" +"La función :func:`SubElement` también proporciona una forma cómoda de crear " +"nuevos sub-elementos para un elemento dado::" #: ../Doc/library/xml.etree.elementtree.rst:301 msgid "Parsing XML with Namespaces" -msgstr "" +msgstr "Procesando XML con espacio de nombres" #: ../Doc/library/xml.etree.elementtree.rst:303 msgid "" @@ -257,12 +347,21 @@ msgid "" "TR/xml-names/#defaulting>`__, that full URI gets prepended to all of the non-" "prefixed tags." msgstr "" +"Si la entrada XML tiene `espacio de nombres `__, las etiquetas y los atributos con prefijos de la " +"forma ``prefix:sometag`` se expanden a ``{uri}sometag`` donde el *prefix* se " +"sustituye por el *URI* completo. Además, si hay un `espacio de nombre por " +"defecto `__, ese URI completo " +"se antepone a todas las etiquetas sin prefijo." #: ../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 "" +"A continuación se muestra un ejemplo de XML que incorpora dos espacios de " +"nombres, uno con el prefijo \"fictional\" y el otro que sirve como espacio " +"de nombres por defecto:" #: ../Doc/library/xml.etree.elementtree.rst:332 msgid "" @@ -270,30 +369,38 @@ msgid "" "every tag or attribute in the xpath of a :meth:`~Element.find` or :meth:" "`~Element.findall`::" msgstr "" +"Una forma de buscar y explorar este ejemplo XML es añadir manualmente el URI " +"a cada etiqueta o atributo en el XPath de un :meth:`~Element.find` o :meth:" +"`~Element.findall`::" #: ../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 "" +"Una mejor manera de buscar en el ejemplo de XML con espacio para nombres es " +"crear un diccionario con sus propios prefijos y utilizarlos en las funciones " +"de búsqueda::" #: ../Doc/library/xml.etree.elementtree.rst:355 msgid "These two approaches both output::" -msgstr "" +msgstr "Estos dos enfoques dan como resultado::" #: ../Doc/library/xml.etree.elementtree.rst:367 msgid "Additional resources" -msgstr "" +msgstr "Recursos adicionales" #: ../Doc/library/xml.etree.elementtree.rst:369 msgid "" "See http://effbot.org/zone/element-index.htm for tutorials and links to " "other docs." msgstr "" +"Vea http://effbot.org/zone/element-index.htm para tutoriales y enlaces a " +"otros documentos." #: ../Doc/library/xml.etree.elementtree.rst:376 msgid "XPath support" -msgstr "" +msgstr "Soporte de XPath" #: ../Doc/library/xml.etree.elementtree.rst:378 msgid "" @@ -302,11 +409,15 @@ msgid "" "small subset of the abbreviated syntax; a full XPath engine is outside the " "scope of the module." msgstr "" +"Este módulo proporciona un soporte limitado para las expresiones `XPath " +"`_ para localizar elementos en un árbol. El " +"objetivo es soportar un pequeño subconjunto de la sintaxis abreviada; un " +"motor XPath completo está fuera del alcance del módulo." #: ../Doc/library/xml.etree.elementtree.rst:384 #: ../Doc/library/xml.etree.elementtree.rst:758 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/xml.etree.elementtree.rst:386 msgid "" @@ -314,28 +425,33 @@ msgid "" "module. We'll be using the ``countrydata`` XML document from the :ref:" "`Parsing XML ` section::" msgstr "" +"A continuación se muestra un ejemplo que demuestra algunas de las " +"capacidades de XPath del módulo. Utilizaremos el documento XML " +"``countrydata`` de la sección :ref:`Parsing XML `::" #: ../Doc/library/xml.etree.elementtree.rst:410 msgid "" "For XML with namespaces, use the usual qualified ``{namespace}tag`` " "notation::" msgstr "" +"Para XML con espacios de nombre, use la notación calificada habitual " +"``{namespace}tag``::" #: ../Doc/library/xml.etree.elementtree.rst:417 msgid "Supported XPath syntax" -msgstr "" +msgstr "Sintaxis XPath soportada" #: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Syntax" -msgstr "" +msgstr "Sintaxis" #: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Meaning" -msgstr "" +msgstr "Significado" #: ../Doc/library/xml.etree.elementtree.rst:424 msgid "``tag``" -msgstr "" +msgstr "``tag``" #: ../Doc/library/xml.etree.elementtree.rst:424 msgid "" @@ -346,102 +462,128 @@ msgid "" "``spam`` in any (or no) namespace, and ``{}*`` only selects tags that are " "not in a namespace." msgstr "" +"Selecciona todos los elementos hijos con la etiqueta dada. Por ejemplo, " +"``spam`` selecciona todos los elementos hijos llamados ``spam``, y ``spam/" +"egg`` selecciona todos los nietos llamados ``egg`` en todos los hijos " +"llamados ``spam``. ``{namespace}*`` selecciona todas las etiquetas en el " +"espacio de nombres dado, ``{*}spam`` selecciona las etiquetas llamadas " +"``spam`` en cualquier (o ningún) espacio de nombres, y ``{}*`` sólo " +"selecciona las etiquetas que no están en un espacio de nombres." #: ../Doc/library/xml.etree.elementtree.rst:433 msgid "Support for star-wildcards was added." -msgstr "" +msgstr "Se ha añadido la posibilidad de utilizar comodines asterisco." #: ../Doc/library/xml.etree.elementtree.rst:436 msgid "``*``" -msgstr "" +msgstr "``*``" #: ../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 "" +"Selecciona todos los elementos hijos, incluidos los comentarios y las " +"instrucciones de procesamiento. Por ejemplo, ``*/egg`` selecciona todos los " +"hijos llamados ``egg``." #: ../Doc/library/xml.etree.elementtree.rst:440 msgid "``.``" -msgstr "" +msgstr "``.``" #: ../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 "" +"Selecciona el nodo actual. Esto es útil sobre todo al principio de la ruta, " +"para indicar que es una ruta relativa." #: ../Doc/library/xml.etree.elementtree.rst:444 msgid "``//``" -msgstr "" +msgstr "``//``" #: ../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 "" +"Selecciona todos los sub-elementos, en todos los niveles por debajo del " +"elemento actual. Por ejemplo, ``.//egg`` selecciona todos los elementos " +"``egg`` en todo el árbol." #: ../Doc/library/xml.etree.elementtree.rst:448 msgid "``..``" -msgstr "" +msgstr "``..``" #: ../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 "" +"Selecciona el elemento padre. Retorna ``None`` si la ruta intenta llegar a " +"los ancestros del elemento inicial (el elemento ``find`` fue invocado)." #: ../Doc/library/xml.etree.elementtree.rst:452 msgid "``[@attrib]``" -msgstr "" +msgstr "``[@attrib]``" #: ../Doc/library/xml.etree.elementtree.rst:452 msgid "Selects all elements that have the given attribute." -msgstr "" +msgstr "Selecciona todos los elementos que tengan el atributo dado." #: ../Doc/library/xml.etree.elementtree.rst:454 msgid "``[@attrib='value']``" -msgstr "" +msgstr "``[@attrib='value']``" #: ../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 "" +"Selecciona todos los elementos para los que el atributo dado tiene el valor " +"dado. El valor no puede contener comillas." #: ../Doc/library/xml.etree.elementtree.rst:458 msgid "``[tag]``" -msgstr "" +msgstr "``[tag]``" #: ../Doc/library/xml.etree.elementtree.rst:458 msgid "" "Selects all elements that have a child named ``tag``. Only immediate " "children are supported." msgstr "" +"Selecciona todos los elementos que tienen un hijo llamado ``tag``. Sólo se " +"admiten los hijos inmediatos." #: ../Doc/library/xml.etree.elementtree.rst:461 msgid "``[.='text']``" -msgstr "" +msgstr "``[.='text']``" #: ../Doc/library/xml.etree.elementtree.rst:461 msgid "" "Selects all elements whose complete text content, including descendants, " "equals the given ``text``." msgstr "" +"Selecciona todos los elementos cuyo contenido de texto completo, incluyendo " +"los descendientes, es igual al \"texto\" dado." #: ../Doc/library/xml.etree.elementtree.rst:466 msgid "``[tag='text']``" -msgstr "" +msgstr "``[tag='text']``" #: ../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 "" +"Selecciona todos los elementos que tienen un hijo llamado ``tag`` cuyo " +"contenido de texto completo, incluyendo los descendientes, es igual al " +"``text`` dado." #: ../Doc/library/xml.etree.elementtree.rst:470 msgid "``[position]``" -msgstr "" +msgstr "``[position]``" #: ../Doc/library/xml.etree.elementtree.rst:470 msgid "" @@ -450,6 +592,10 @@ msgid "" "``last()`` (for the last position), or a position relative to the last " "position (e.g. ``last()-1``)." msgstr "" +"Selecciona todos los elementos que se encuentran en la posición dada. La " +"posición puede ser un número entero (1 es la primera posición), la expresión " +"``last()`` (para la última posición), o una posición relativa a la última " +"posición (por ejemplo, ``last()-1``)." #: ../Doc/library/xml.etree.elementtree.rst:477 msgid "" @@ -457,20 +603,24 @@ msgid "" "name, an asterisk, or another predicate. ``position`` predicates must be " "preceded by a tag name." msgstr "" +"Los predicados (expresiones entre corchetes) deben ir precedidos de un " +"nombre de etiqueta, un asterisco u otro predicado. Los predicados " +"``position`` deben ir precedidos de un nombre de etiqueta." #: ../Doc/library/xml.etree.elementtree.rst:482 #: ../Doc/library/xml.etree.elementtree.rst:810 msgid "Reference" -msgstr "" +msgstr "Referencia" #: ../Doc/library/xml.etree.elementtree.rst:487 #: ../Doc/library/xml.etree.elementtree.rst:815 msgid "Functions" -msgstr "" +msgstr "Funciones" #: ../Doc/library/xml.etree.elementtree.rst:491 msgid "`C14N 2.0 `_ transformation function." msgstr "" +"Función de transformación `C14N 2.0 `_." #: ../Doc/library/xml.etree.elementtree.rst:493 msgid "" @@ -480,7 +630,15 @@ msgid "" "representation. The main restrictions regard the placement of namespace " "declarations, the ordering of attributes, and ignorable whitespace." msgstr "" +"La canonización es una forma de normalizar la salida de XML de manera que " +"permita comparaciones byte a byte y firmas digitales. Reduce la libertad que " +"tienen los serializadores XML y en su lugar genera una representación XML " +"más restringida. Las principales restricciones se refieren a la colocación " +"de las declaraciones de espacio de nombres, el orden de los atributos y los " +"espacios en blanco ignorables." +# Traduzco "file-like object" como "objeto tipo archivo" (en lugar de "objeto similar a un archivo"). Me parece mas claro. +# Luego "file(-like) object" se refiere a un "objeto archivo" o a un "objeto tipo archivo", así que pongo esto último entre parentesis. #: ../Doc/library/xml.etree.elementtree.rst:499 msgid "" "This function takes an XML data string (*xml_data*) or a file path or file-" @@ -489,62 +647,87 @@ msgid "" "as a text string if not. The output file receives text, not bytes. It " "should therefore be opened in text mode with ``utf-8`` encoding." msgstr "" +"Esta función toma una cadena de datos XML (*xml_data*) o una ruta de archivo " +"o un objeto tipo archivo (*from_file*) como entrada, la convierte a la forma " +"canónica y la escribe utilizando el objeto archivo (o tipo archivo) *out*, " +"si se proporciona, o la devuelve como una cadena de texto si no. El archivo " +"de salida recibe texto, no bytes. Por tanto, debe abrirse en modo texto con " +"codificación ``utf-8``." #: ../Doc/library/xml.etree.elementtree.rst:506 msgid "Typical uses::" -msgstr "" +msgstr "Usos típicos::" +# Parece un poco rendunante pero "options" es el nombre del argumento así que lo dejo sin traducir y agrego "opciones de configuración" #: ../Doc/library/xml.etree.elementtree.rst:517 msgid "The configuration *options* are as follows:" -msgstr "" +msgstr "Las opciones de configuración *options* son las siguientes:" +# Set to -> Establecer? Configurar? "Setear"? +# El párrafo utiliza true/false en minúsculas. La traducción literal sería algo así como: "establecer a verdadero para incluir comentarios (por defecto: falso)". +# Sin embargo, creo que en español resulta mas claro si se usa True/False (con mayúsculas, como valores booleanos). #: ../Doc/library/xml.etree.elementtree.rst:519 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" +"*with_comments*: configurar a ``True`` para incluir los comentarios (por " +"defecto: ``False``)" #: ../Doc/library/xml.etree.elementtree.rst:520 msgid "" "*strip_text*: set to true to strip whitespace before and after text content" msgstr "" +"*strip_text*: configurar a ``True`` para eliminar los espacios en blanco " +"antes y después del contenido del texto" #: ../Doc/library/xml.etree.elementtree.rst:521 #: ../Doc/library/xml.etree.elementtree.rst:523 msgid "(default: false)" -msgstr "" +msgstr "(por defecto: ``False``)" #: ../Doc/library/xml.etree.elementtree.rst:522 msgid "" "*rewrite_prefixes*: set to true to replace namespace prefixes by " "\"n{number}\"" msgstr "" +"*rewrite_prefixes*: configurar a ``True`` para sustituir los prefijos de " +"espacios de nombres por \"n{number}\"" #: ../Doc/library/xml.etree.elementtree.rst:524 msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" msgstr "" +"*qname_aware_tags*: un conjunto de nombres de etiquetas conscientes de qname " +"en el que los prefijos" #: ../Doc/library/xml.etree.elementtree.rst:525 #: ../Doc/library/xml.etree.elementtree.rst:527 msgid "should be replaced in text content (default: empty)" -msgstr "" +msgstr "deben ser reemplazados en el contenido del texto (por defecto: vacío)" #: ../Doc/library/xml.etree.elementtree.rst:526 msgid "" "*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" msgstr "" +"*qname_aware_attrs*: un conjunto de nombres de atributos conscientes de " +"qname en el que los prefijos" #: ../Doc/library/xml.etree.elementtree.rst:528 msgid "*exclude_attrs*: a set of attribute names that should not be serialised" msgstr "" +"*exclude_attrs*: un conjunto de nombres de atributos que no deben " +"serializarse" #: ../Doc/library/xml.etree.elementtree.rst:529 msgid "*exclude_tags*: a set of tag names that should not be serialised" msgstr "" +"*exclude_tags*: un conjunto de nombres de etiquetas que no deben serializarse" #: ../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 "" +"En la lista de opciones anterior, \"un conjunto\" se refiere a cualquier " +"colección o iterable de cadenas, no se espera ningún orden." #: ../Doc/library/xml.etree.elementtree.rst:539 msgid "" @@ -554,6 +737,11 @@ msgid "" "string containing the comment string. Returns an element instance " "representing a comment." msgstr "" +"Fábrica de elementos de comentario. Esta función de fábrica crea un elemento " +"especial que será serializado como un comentario XML por el serializador " +"estándar. La cadena de comentario puede ser una cadena de bytes o una cadena " +"Unicode. *text* es una cadena que contiene la cadena de comentario. Devuelve " +"una instancia de elemento que representa un comentario." #: ../Doc/library/xml.etree.elementtree.rst:545 msgid "" @@ -562,28 +750,39 @@ msgid "" "comment nodes if they have been inserted into to the tree using one of the :" "class:`Element` methods." msgstr "" +"Tenga en cuenta que :class:`XMLParser` omite los comentarios en la entrada " +"en lugar de crear objetos de comentario para ellos. Un :class:`ElementTree` " +"sólo contendrá nodos de comentario si se han insertado en el árbol " +"utilizando uno de los métodos :class:`Element`." +# Debugging -> Depuración ? #: ../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 "" +"Escribe un árbol de elementos o una estructura de elementos en sys.stdout. " +"Esta función debe utilizarse únicamente para debugging." #: ../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 "" +"El formato de salida exacto depende de la implementación. En esta versión, " +"se escribe como un archivo XML ordinario." #: ../Doc/library/xml.etree.elementtree.rst:558 msgid "*elem* is an element tree or an individual element." -msgstr "" +msgstr "*elem* es un árbol de elementos o un elemento individual." #: ../Doc/library/xml.etree.elementtree.rst:560 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" +"La función :func:`dump` ahora preserva el orden de atributos especificado " +"por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:567 msgid "" @@ -592,6 +791,10 @@ msgid "" "If not given, the standard :class:`XMLParser` parser is used. Returns an :" "class:`Element` instance." msgstr "" +"Analiza una sección XML a partir de una constante de cadena. Igual que :func:" +"`XML`. *text* es una cadena que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador " +"estándar :class:`XMLParser`. Devuelve una instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:575 msgid "" @@ -600,6 +803,11 @@ msgid "" "optional parser instance. If not given, the standard :class:`XMLParser` " "parser is used. Returns an :class:`Element` instance." msgstr "" +"Analiza un documento XML a partir de una secuencia de fragmentos de cadena " +"de caracteres. *sequence* es una lista u otra secuencia que contiene " +"fragmentos de datos XML. *parser* es una instancia de parser opcional. Si no " +"se da, se utiliza el analizador estándar :class:`XMLParser`. Retorna una " +"instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:585 msgid "" @@ -610,12 +818,21 @@ msgid "" "partial subtrees inside of an already indented tree, pass the initial " "indentation level as *level*." msgstr "" +"Añade espacios en blanco al subárbol para indentar el árbol visualmente. " +"Esto puede utilizarse para generar una salida XML con una impresión bonita. " +"*tree* puede ser un Element o ElementTree. *space* es la cadena de espacio " +"en blanco que se insertará para cada nivel de indentación, dos caracteres de " +"espacio por defecto. Para indentar subárboles parciales dentro de un árbol " +"ya indentado, pase el nivel de indentación inicial como *level*." #: ../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 "" +"Comprueba si un objeto parece ser un objeto elemento válido. *element* es " +"una instancia de elemento. Retorna ``True`` si se trata de un objeto " +"elemento." #: ../Doc/library/xml.etree.elementtree.rst:603 msgid "" @@ -631,6 +848,18 @@ msgid "" "`TreeBuilder` as a target. Returns an :term:`iterator` providing ``(event, " "elem)`` pairs." msgstr "" +"Analiza una sección XML en un árbol de elementos de forma incremental, e " +"informa al usuario de lo que ocurre. *source* es un nombre de archivo o un :" +"term:`file object` que contiene datos XML. *events* es una secuencia de " +"eventos para informar. Los eventos soportados son las cadenas ``\"start\"``, " +"``\"end\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` y ``\"end-ns\"`` " +"(los eventos \"ns\" se utilizan para obtener información detallada del " +"espacio de nombres). Si se omite *events*, sólo se informará de los eventos " +"``\"end\"``. *parser* es una instancia opcional de parser. Si no se da, se " +"utiliza el analizador estándar de :class:`XMLParser`. *parser* debe ser una " +"subclase de :class:`XMLParser` y sólo puede utilizar el :class:`TreeBuilder` " +"por defecto como objetivo. Devuelve un :term:`iterator` que proporciona " +"pares ``(event, elem)``." #: ../Doc/library/xml.etree.elementtree.rst:615 msgid "" @@ -639,6 +868,11 @@ msgid "" "for applications where blocking reads can't be made. For fully non-blocking " "parsing, see :class:`XMLPullParser`." msgstr "" +"Tenga en cuenta que mientras :func:`iterparse` construye el árbol de forma " +"incremental, emite lecturas de bloqueo en la *source* (o en el fichero que " +"nombra). Por lo tanto, no es adecuado para aplicaciones en las que no se " +"pueden realizar lecturas de bloqueo. Para un análisis completamente no " +"bloqueante, véase :class:`XMLPullParser`." #: ../Doc/library/xml.etree.elementtree.rst:622 msgid "" @@ -648,20 +882,27 @@ msgid "" "point. The same applies to the element children; they may or may not be " "present." msgstr "" +":func:`iterparse` sólo garantiza que ha visto el carácter \">\" de una " +"etiqueta de inicio cuando emite un evento \"start\", por lo que los " +"atributos están definidos, pero el contenido de los atributos text y tail " +"está indefinido en ese momento. Lo mismo ocurre con los hijos del elemento; " +"pueden estar presentes o no." #: ../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 "" +"Si necesita un elemento totalmente poblado, busque los eventos \"end\" en su " +"lugar." #: ../Doc/library/xml.etree.elementtree.rst:630 msgid "The *parser* argument." -msgstr "" +msgstr "El argumento *parser*." #: ../Doc/library/xml.etree.elementtree.rst:633 #: ../Doc/library/xml.etree.elementtree.rst:1460 msgid "The ``comment`` and ``pi`` events were added." -msgstr "" +msgstr "Los eventos ``comment`` y ``pi`` han sido añadidos." #: ../Doc/library/xml.etree.elementtree.rst:639 msgid "" @@ -670,6 +911,10 @@ msgid "" "not given, the standard :class:`XMLParser` parser is used. Returns an :" "class:`ElementTree` instance." msgstr "" +"Analiza una sección XML en un árbol de elementos. *source* es un nombre de " +"archivo o un objeto de archivo que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador " +"estándar :class:`XMLParser`. Devuelve una instancia de :class:`ElementTree`." #: ../Doc/library/xml.etree.elementtree.rst:647 msgid "" @@ -678,6 +923,11 @@ msgid "" "containing the PI target. *text* is a string containing the PI contents, if " "given. Returns an element instance, representing a processing instruction." msgstr "" +"Fábrica de elementos PI. Esta función de fábrica crea un elemento especial " +"que será serializado como una instrucción de procesamiento XML. *target* es " +"una cadena que contiene el objetivo de PI. *text* es una cadena que contiene " +"el contenido de PI, si se da. Devuelve una instancia de elemento, " +"representando una instrucción de procesamiento." #: ../Doc/library/xml.etree.elementtree.rst:652 msgid "" @@ -686,6 +936,11 @@ msgid "" "only contain processing instruction nodes if they have been inserted into to " "the tree using one of the :class:`Element` methods." msgstr "" +"Tenga en cuenta que :class:`XMLParser` omite las instrucciones de " +"procesamiento en la entrada en lugar de crear objetos de comentario para " +"ellas. Un :class:`ElementTree` sólo contendrá nodos de instrucciones de " +"procesamiento si se han insertado en el árbol utilizando uno de los métodos :" +"class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:660 msgid "" @@ -695,12 +950,19 @@ msgid "" "attributes in this namespace will be serialized with the given prefix, if at " "all possible." msgstr "" +"Registra un prefijo de espacio de nombres. El registro es global, y " +"cualquier asignación existente para el prefijo dado o el URI del espacio de " +"nombres será eliminado. *prefix* es un prefijo de espacio de nombres. *uri* " +"es una uri del espacio de nombres. Las etiquetas y los atributos de este " +"espacio de nombres se serializarán con el prefijo dado, si es posible." #: ../Doc/library/xml.etree.elementtree.rst:671 msgid "" "Subelement factory. This function creates an element instance, and appends " "it to an existing element." msgstr "" +"Fábrica de sub-elementos. Esta función crea una instancia de elemento y la " +"añade a un elemento existente." #: ../Doc/library/xml.etree.elementtree.rst:674 msgid "" @@ -710,6 +972,12 @@ msgid "" "attributes. *extra* contains additional attributes, given as keyword " "arguments. Returns an element instance." msgstr "" +"El nombre del elemento, los nombres de los atributos y los valores de los " +"atributos pueden ser cadenas de bytes o cadenas de caracteres Unicode. " +"*parent* es el elemento padre. *tag* es el nombre del sub-elemento. *attrib* " +"es un diccionario opcional que contiene los atributos del elemento. *extra* " +"contiene atributos adicionales, dados como argumentos de palabras clave. " +"Devuelve una instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:685 msgid "" @@ -722,23 +990,34 @@ msgid "" "the same meaning as in :meth:`ElementTree.write`. Returns an (optionally) " "encoded string containing the XML data." msgstr "" +"Genera una representación de cadena de caracteres de un elemento XML, " +"incluyendo todos los sub-elementos. *element* es una instancia de :class:" +"`Element`. *encoding* [1]_ es la codificación de salida (por defecto es US-" +"ASCII). Utilice ``encoding=\"unicode\"`` para generar una cadena de " +"caracteres Unicode (de lo contrario, se genera una cadena de bytes). " +"*method* es ``\"xml\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml" +"\"``). *xml_declaration*, *default_namespace* y *short_empty_elements* " +"tienen el mismo significado que en :meth:`ElementTree.write`. Devuelve una " +"cadena (opcionalmente) codificada que contiene los datos XML." #: ../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 "" +msgstr "El parámetro *short_empty_elements*." #: ../Doc/library/xml.etree.elementtree.rst:697 #: ../Doc/library/xml.etree.elementtree.rst:724 msgid "The *xml_declaration* and *default_namespace* parameters." -msgstr "" +msgstr "Los parámetros *xml_declaration* y *default_namespace*." #: ../Doc/library/xml.etree.elementtree.rst:700 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" +"La función :func:`tostring` ahora preserva el orden de atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:709 msgid "" @@ -753,12 +1032,25 @@ msgid "" "any specific sequence, except that ``b\"\".join(tostringlist(element)) == " "tostring(element)``." msgstr "" +"Genera una representación de cadena de caracteres de un elemento XML, " +"incluyendo todos los sub-elementos. *element* es una instancia de :class:" +"`Element`. *encoding* [1]_ es la codificación de salida (por defecto es US-" +"ASCII). Utilice ``encoding=\"unicode\"`` para generar una cadena de " +"caracteres Unicode (de lo contrario, se genera una cadena de bytes). " +"*method* es ``\"xml\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml" +"\"``). *xml_declaration*, *default_namespace* y *short_empty_elements* " +"tienen el mismo significado que en :meth:`ElementTree.write`. Devuelve una " +"lista de cadenas (opcionalmente) codificadas que contienen los datos XML. No " +"garantiza ninguna secuencia específica, excepto que ``b\"\"." +"join(tostringlist(element)) == tostring(element)``." #: ../Doc/library/xml.etree.elementtree.rst:727 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" +"La función :func:`tostringlist` ahora preserva el orden de atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:734 msgid "" @@ -767,6 +1059,12 @@ msgid "" "data. *parser* is an optional parser instance. If not given, the standard :" "class:`XMLParser` parser is used. Returns an :class:`Element` instance." msgstr "" +"Analiza una sección XML a partir de una constante de cadena de caracteres. " +"Esta función puede utilizarse para incrustar \"literales XML\" en el código " +"de Python. *text* es una cadena de caracteres que contiene datos XML. " +"*parser* es una instancia de parser opcional. Si no se da, se utiliza el " +"analizador estándar :class:`XMLParser`. Devuelve una instancia de :class:" +"`Element`." #: ../Doc/library/xml.etree.elementtree.rst:742 msgid "" @@ -776,10 +1074,16 @@ msgid "" "class:`XMLParser` parser is used. Returns a tuple containing an :class:" "`Element` instance and a dictionary." msgstr "" +"Analiza una sección XML a partir de una constante de cadena de caracteres, y " +"también devuelve un diccionario que mapea los id:s de elementos a elementos. " +"*text* es una cadena de caracteres que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador estándar " +"de :class:`XMLParser`. Devuelve una tupla que contiene una instancia de :" +"class:`Element` y un diccionario." #: ../Doc/library/xml.etree.elementtree.rst:752 msgid "XInclude support" -msgstr "" +msgstr "Soporte de XInclude" #: ../Doc/library/xml.etree.elementtree.rst:754 msgid "" @@ -788,6 +1092,11 @@ msgid "" "module. This module can be used to insert subtrees and text strings into " "element trees, based on information in the tree." msgstr "" +"Este módulo proporciona un soporte limitado para las directivas `XInclude " +"`_, a través del módulo de ayuda :mod:`xml." +"etree.ElementInclude`. Este módulo puede utilizarse para insertar subárboles " +"y cadenas de texto en árboles de elementos, basándose en la información del " +"árbol." #: ../Doc/library/xml.etree.elementtree.rst:760 msgid "" @@ -796,6 +1105,11 @@ msgid "" "XInclude}include`` element and set the **parse** attribute to ``\"xml\"``, " "and use the **href** attribute to specify the document to include." msgstr "" +"Aquí hay un ejemplo que demuestra el uso del módulo XInclude. Para incluir " +"un documento XML en el documento actual, utilice el elemento ``{http://www." +"w3.org/2001/XInclude}include`` y establezca el atributo **parse** como ``" +"\"xml\"``, y utilice el atributo **href** para especificar el documento a " +"incluir." #: ../Doc/library/xml.etree.elementtree.rst:769 msgid "" @@ -803,12 +1117,17 @@ msgid "" "custom loaders to override this behaviour. Also note that the standard " "helper does not support XPointer syntax." msgstr "" +"Por defecto, el atributo **href** se trata como un nombre de archivo. Puede " +"utilizar cargadores personalizados para anular este comportamiento. También " +"tenga en cuenta que el ayudante estándar no soporta la sintaxis XPointer." #: ../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 "" +"Para procesar este archivo, cárguelo como de costumbre y pase el elemento " +"raíz al módulo :mod:`xml.etree.ElementTree`:" #: ../Doc/library/xml.etree.elementtree.rst:782 msgid "" @@ -816,22 +1135,29 @@ msgid "" "include`` element with the root element from the **source.xml** document. " "The result might look something like this:" msgstr "" +"El módulo ElementInclude sustituye el elemento ``{http://www.w3.org/2001/" +"XInclude}include`` por el elemento raíz del documento **source.xml**. El " +"resultado podría ser algo así:" #: ../Doc/library/xml.etree.elementtree.rst:790 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" +"Si se omite el atributo **parse**, el valor por defecto es \"xml\". El " +"atributo href es obligatorio." #: ../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 "" +"Para incluir un documento de texto, utilice el elemento ``{http://www.w3." +"org/2001/XInclude}include`` y establezca el atributo **parse** como \"text\":" #: ../Doc/library/xml.etree.elementtree.rst:801 msgid "The result might look something like:" -msgstr "" +msgstr "El resultado podría ser algo así:" #: ../Doc/library/xml.etree.elementtree.rst:819 msgid "" @@ -843,6 +1169,13 @@ msgid "" "is a Unicode string. If the loader fails, it can return None or raise an " "exception." msgstr "" +"Cargador por defecto. Este cargador por defecto lee un recurso incluido del " +"disco. *href* es una URL. *parse* es para el modo de análisis \"xml\" o " +"\"text\". *encoding* es una codificación de texto opcional. Si no se da, la " +"codificación es ``utf-8``. Retorna el recurso expandido. Si el modo de " +"análisis es ``\"xml\"``, es una instancia de ElementTree. Si el modo de " +"análisis es \"text\", se trata de una cadena Unicode. Si el cargador falla, " +"puede retornar None o lanzar una excepción." #: ../Doc/library/xml.etree.elementtree.rst:830 msgid "" @@ -854,6 +1187,14 @@ msgid "" "maximum number of recursive inclusions. Limited to reduce the risk of " "malicious content explosion. Pass a negative value to disable the limitation." msgstr "" +"Esta función expande las directivas XInclude. *elem* es el elemento raíz. " +"*loader* es un cargador de recursos opcional. Si se omite, se utiliza por " +"defecto :func:`default_loader`. Si se da, debe ser un callable que " +"implemente la misma interfaz que :func:`default_loader`. *base_url* es la " +"URL base del archivo original, para resolver las referencias relativas al " +"archivo de inclusión. *max_depth* es el número máximo de inclusiones " +"recursivas. Limitado para reducir el riesgo de explosión de contenido " +"malicioso. Pase un valor negativo para desactivar la limitación." #: ../Doc/library/xml.etree.elementtree.rst:838 msgid "" @@ -861,20 +1202,26 @@ msgid "" "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 "" +"Retorna el recurso expandido. Si el modo de análisis es ``\"xml\"``, se " +"trata de una instancia de ElementTree. Si el modo de análisis es \"text\", " +"se trata de una cadena Unicode. Si el cargador falla, puede retornar None o " +"lanzar una excepción." #: ../Doc/library/xml.etree.elementtree.rst:843 msgid "The *base_url* and *max_depth* parameters." -msgstr "" +msgstr "Los parámetros *base_url* y *max_depth*." #: ../Doc/library/xml.etree.elementtree.rst:850 msgid "Element Objects" -msgstr "" +msgstr "Objetos Element" #: ../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 "" +"Clase Element. Esta clase define la interfaz Element, y provee una " +"implementación de referencia de esta interfaz." #: ../Doc/library/xml.etree.elementtree.rst:857 msgid "" @@ -883,12 +1230,19 @@ msgid "" "optional dictionary, containing element attributes. *extra* contains " "additional attributes, given as keyword arguments." msgstr "" +"El nombre del elemento, los nombres de los atributos y los valores de los " +"atributos pueden ser cadenas de bytes o cadenas Unicode. *tag* es el nombre " +"del elemento. *attrib* es un diccionario opcional que contiene los atributos " +"del elemento. *extra* contiene atributos adicionales, dados como argumentos " +"de palabras clave." #: ../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 "" +"Una cadena de caracteres que identifica qué tipo de datos representa este " +"elemento (el tipo de elemento, en otras palabras)." #: ../Doc/library/xml.etree.elementtree.rst:872 msgid "" @@ -900,6 +1254,13 @@ msgid "" "the text between the element's end tag and the next tag, or ``None``. For " "the XML data" msgstr "" +"Estos atributos pueden utilizarse para contener datos adicionales asociados " +"al elemento. Sus valores suelen ser cadenas, pero pueden ser cualquier " +"objeto específico de la aplicación. Si el elemento se crea a partir de un " +"archivo XML, el atributo *text* contiene el texto entre la etiqueta inicial " +"del elemento y su primera etiqueta hija o final, o ``None``, y el atributo " +"*tail* contiene el texto entre la etiqueta final del elemento y la siguiente " +"etiqueta, o ``None``. Para los datos XML" #: ../Doc/library/xml.etree.elementtree.rst:884 msgid "" @@ -908,16 +1269,23 @@ msgid "" "*text* ``\"2\"`` and *tail* ``None``, and the *d* element has *text* " "``None`` and *tail* ``\"3\"``." msgstr "" +"el elemento *a* tiene ``None`` para los atributos *text* y *tail*, el " +"elemento *b* tiene *text* ``\"1\"`` y *tail* ``\"4\"``, el elemento *c* " +"tiene *text* ``\"2\"`` y *tail* ``None``, y el elemento *d* tiene *text* " +"``None`` y *tail* ``\"3\"``." #: ../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 "" +"Para recoger el texto interior de un elemento, véase :meth:`itertext`, por " +"ejemplo ``\"\".join(element.itertext())``." #: ../Doc/library/xml.etree.elementtree.rst:892 msgid "Applications may store arbitrary objects in these attributes." msgstr "" +"Las aplicaciones pueden almacenar objetos arbitrarios en estos atributos." #: ../Doc/library/xml.etree.elementtree.rst:897 msgid "" @@ -927,45 +1295,61 @@ msgid "" "the dictionary only if someone asks for it. To take advantage of such " "implementations, use the dictionary methods below whenever possible." msgstr "" +"Un diccionario que contiene los atributos del elemento. Ten en cuenta que " +"aunque el valor *attrib* es siempre un diccionario mutable real de Python, " +"una implementación de ElementTree puede elegir utilizar otra representación " +"interna, y crear el diccionario sólo si alguien lo pide. Para aprovechar " +"este tipo de implementaciones, utiliza los métodos de diccionario que " +"aparecen a continuación siempre que sea posible." #: ../Doc/library/xml.etree.elementtree.rst:903 msgid "The following dictionary-like methods work on the element attributes." msgstr "" +"Los siguientes métodos tipo diccionario funcionan con los atributos de los " +"elementos." #: ../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 "" +"Restablece un elemento. Esta función elimina todos los sub-elementos, borra " +"todos los atributos y establece los atributos de texto y cola como ``None``." #: ../Doc/library/xml.etree.elementtree.rst:914 msgid "Gets the element attribute named *key*." -msgstr "" +msgstr "Obtiene el atributo del elemento llamado *key*." #: ../Doc/library/xml.etree.elementtree.rst:916 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" +"Retorna el valor del atributo, o *default* si el atributo no fue encontrado." #: ../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 "" +"Retorna los atributos del elemento como una secuencia de pares (nombre, " +"valor). Los atributos se retornan en un orden arbitrario." #: ../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 "" +"Retorna los nombres de los atributos de los elementos como una lista. Los " +"nombres se retornan en un orden arbitrario." #: ../Doc/library/xml.etree.elementtree.rst:933 msgid "Set the attribute *key* on the element to *value*." -msgstr "" +msgstr "Establecer el atributo *key* en el elemento a *value*." #: ../Doc/library/xml.etree.elementtree.rst:935 msgid "The following methods work on the element's children (subelements)." msgstr "" +"Los siguientes métodos actúan sobre los hijos del elemento (sub-elementos)." #: ../Doc/library/xml.etree.elementtree.rst:940 msgid "" @@ -973,12 +1357,17 @@ msgid "" "subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" "`Element`." msgstr "" +"Añade el elemento *subelement* al final de la lista interna de sub-elementos " +"de este elemento. Lanza :exc:`TypeError` si *subelement* no es un :class:" +"`Element`." #: ../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 "" +"Añade *subelements* de un objeto de secuencia con cero o más elementos. " +"Lanza :exc:`TypeError` si un sub-elemento no es un :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:955 msgid "" @@ -988,6 +1377,12 @@ msgid "" "name. Pass ``''`` as prefix to move all unprefixed tag names in the " "expression into the given namespace." msgstr "" +"Encuentra el primer sub-elemento que coincide con *match*. *match* puede ser " +"un nombre de etiqueta o un :ref:`path `. Retorna una " +"instancia de elemento o ``None``. *namespaces* es un mapeo opcional del " +"prefijo del espacio de nombres al nombre completo. Pasa ``''`` como prefijo " +"para mover todos los nombres de etiquetas sin prefijo en la expresión al " +"espacio de nombres dado." #: ../Doc/library/xml.etree.elementtree.rst:964 msgid "" @@ -997,6 +1392,12 @@ msgid "" "name. Pass ``''`` as prefix to move all unprefixed tag names in the " "expression into the given namespace." msgstr "" +"Encuentra todos los sub-elementos coincidentes, por nombre de etiqueta o :" +"ref:`path `. Retorna una lista que contiene todos los " +"elementos coincidentes en el orden del documento. *namespaces* es un mapeo " +"opcional del prefijo del espacio de nombres al nombre completo. Pasa ``''`` " +"como prefijo para mover todos los nombres de etiquetas sin prefijo en la " +"expresión al espacio de nombres dado." #: ../Doc/library/xml.etree.elementtree.rst:973 msgid "" @@ -1008,12 +1409,22 @@ msgid "" "Pass ``''`` as prefix to move all unprefixed tag names in the expression " "into the given namespace." msgstr "" +"Busca el texto del primer sub-elemento que coincida con *match*. *match* " +"puede ser un nombre de etiqueta o un :ref:`path `. " +"Retorna el contenido del texto del primer elemento que coincida, o *default* " +"si no se encuentra ningún elemento. Tenga en cuenta que si el elemento " +"coincidente no tiene contenido de texto se devuelve una cadena vacía. " +"*namespaces* es un mapeo opcional del prefijo del espacio de nombres al " +"nombre completo. Pasa ``''`` como prefijo para mover todos los nombres de " +"etiquetas sin prefijo en la expresión al espacio de nombres dado." #: ../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 "" +"Inserta *subelement* en la posición dada en este elemento. Lanza :exc:" +"`TypeError` si *subelement* no es un :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:990 msgid "" @@ -1023,6 +1434,12 @@ msgid "" "whose tag equals *tag* are returned from the iterator. If the tree " "structure is modified during iteration, the result is undefined." msgstr "" +"Crea un árbol :term:`iterator` con el elemento actual como raíz. El iterador " +"itera sobre este elemento y todos los elementos por debajo de él, en el " +"orden del documento (profundidad primero). Si *tag* no es ``None`` o " +"``'*'``, sólo los elementos cuya etiqueta es igual a *tag* son retornados " +"por el iterador. Si la estructura del árbol se modifica durante la " +"iteración, el resultado es indefinido." #: ../Doc/library/xml.etree.elementtree.rst:1001 msgid "" @@ -1031,18 +1448,27 @@ msgid "" "order. *namespaces* is an optional mapping from namespace prefix to full " "name." msgstr "" +"Encuentra todos los subelementos que coinciden, por nombre de etiqueta o :" +"ref:`ruta `. Retorna un iterable con todos los elementos " +"coincidentes en el orden del documento. *namespaces* es un mapeo opcional " +"del prefijo del espacio de nombres al nombre completo." #: ../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 "" +"Crea un iterador de texto. El iterador hace un bucle sobre este elemento y " +"todos los subelementos, en el orden del documento, y retorna todo el texto " +"interior." #: ../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 "" +"Crea un nuevo objeto elemento del mismo tipo que este elemento. No llame a " +"este método, utilice la función de fábrica :func:`SubElement` en su lugar." #: ../Doc/library/xml.etree.elementtree.rst:1026 msgid "" @@ -1050,6 +1476,9 @@ msgid "" "method compares elements based on the instance identity, not on tag value or " "contents." msgstr "" +"Elimina el *subelement* del elemento. A diferencia de los métodos find\\*, " +"este método compara los elementos basándose en la identidad de la instancia, " +"no en el valor de la etiqueta o el contenido." #: ../Doc/library/xml.etree.elementtree.rst:1030 msgid "" @@ -1057,6 +1486,9 @@ msgid "" "for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." "__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." msgstr "" +"Los objetos :class:`Element` también soportan los siguientes métodos de tipo " +"secuencia para trabajar con subelementos: :meth:`~object.__delitem__`, :meth:" +"`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." #: ../Doc/library/xml.etree.elementtree.rst:1035 msgid "" @@ -1064,6 +1496,9 @@ msgid "" "will change in future versions. Use specific ``len(elem)`` or ``elem is " "None`` test instead. ::" msgstr "" +"Precaución: Los elementos que no tengan subelementos serán evaluados como " +"``False``. Este comportamiento cambiará en futuras versiones. Utilizar en su " +"lugar el test específico ``len(elem)`` o ``elem is None``. ::" #: ../Doc/library/xml.etree.elementtree.rst:1047 msgid "" @@ -1073,6 +1508,12 @@ msgid "" "reordering was removed in Python 3.8 to preserve the order in which " "attributes were originally parsed or created by user code." msgstr "" +"Antes de Python 3.8, el orden de serialización de los atributos XML de los " +"elementos se hacía predecible artificialmente ordenando los atributos por su " +"nombre. Basado en el ordenamiento -ahora garantizado- de los diccionarios, " +"este reordenamiento arbitrario fue eliminado en Python 3.8 para preservar el " +"orden en que los atributos fueron originalmente analizados o creados por el " +"código del usuario." #: ../Doc/library/xml.etree.elementtree.rst:1053 msgid "" @@ -1084,6 +1525,14 @@ msgid "" "signing or test data sets, canonical serialisation is available with the :" "func:`canonicalize` function." msgstr "" +"En general, el código del usuario debería intentar no depender de un orden " +"específico de los atributos, dado que el `XML Information Set `_ excluye explícitamente el orden de los atributos " +"para transmitir información. El código debe estar preparado para hacer " +"frente a cualquier orden en la entrada. En los casos en los que se requiere " +"una salida XML determinista, por ejemplo, para la firma criptográfica o los " +"conjuntos de datos de prueba, la serialización canónica está disponible con " +"la función :func:`canonicalize`." #: ../Doc/library/xml.etree.elementtree.rst:1061 msgid "" @@ -1094,10 +1543,17 @@ msgid "" "like the following can be applied prior to serialisation to enforce an order " "independently from the Element creation::" msgstr "" +"En los casos en los que la salida canónica no es aplicable, pero un orden de " +"atributos específico sigue siendo deseable en la salida, el código debe " +"tratar de crear los atributos directamente en el orden deseado, para evitar " +"desajustes perceptivos para los lectores del código. En los casos en que " +"esto es difícil de lograr, una receta como la siguiente se puede aplicar " +"antes de la serialización para hacer cumplir un orden independientemente de " +"la creación de elementos::" #: ../Doc/library/xml.etree.elementtree.rst:1081 msgid "ElementTree Objects" -msgstr "" +msgstr "Objetos ElementTree" #: ../Doc/library/xml.etree.elementtree.rst:1086 msgid "" @@ -1105,12 +1561,17 @@ msgid "" "hierarchy, and adds some extra support for serialization to and from " "standard XML." msgstr "" +"Clase envoltorio de un ElementTree. Esta clase representa una jerarquía de " +"elementos completa, y añade algún soporte extra para la serialización hacia " +"y desde XML estándar." #: ../Doc/library/xml.etree.elementtree.rst:1090 msgid "" "*element* is the root element. The tree is initialized with the contents of " "the XML *file* if given." msgstr "" +"*element* es el elemento raíz. El árbol se inicializa con el contenido del " +"*file* XML si se da." #: ../Doc/library/xml.etree.elementtree.rst:1096 msgid "" @@ -1118,22 +1579,25 @@ msgid "" "of the tree, and replaces it with the given element. Use with care. " "*element* is an element instance." msgstr "" +"Reemplaza el elemento raíz de este árbol. Esto descarta el contenido actual " +"del árbol, y lo reemplaza con el elemento dado. Utilícelo con cuidado. " +"*element* es una instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:1103 msgid "Same as :meth:`Element.find`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.find`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1108 msgid "Same as :meth:`Element.findall`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.findall`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1113 msgid "Same as :meth:`Element.findtext`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.findtext`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1118 msgid "Returns the root element for this tree." -msgstr "" +msgstr "Retorna el elemento raíz de este árbol." #: ../Doc/library/xml.etree.elementtree.rst:1123 msgid "" @@ -1141,10 +1605,13 @@ msgid "" "loops over all elements in this tree, in section order. *tag* is the tag to " "look for (default is to return all elements)." msgstr "" +"Crea y retorna un iterador de árbol para el elemento raíz. El iterador " +"recorre todos los elementos de este árbol, en orden de sección. *tag* es la " +"etiqueta a buscar (por defecto devuelve todos los elementos)." #: ../Doc/library/xml.etree.elementtree.rst:1130 msgid "Same as :meth:`Element.iterfind`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.iterfind`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1137 msgid "" @@ -1153,6 +1620,10 @@ msgid "" "not given, the standard :class:`XMLParser` parser is used. Returns the " "section root element." msgstr "" +"Carga una sección XML externa en este árbol de elementos. *source* es un " +"nombre de archivo o un :term:`file object`. *parser* es una instancia " +"opcional del analizador. Si no se da, se utiliza el analizador estándar :" +"class:`XMLParser`. Retorna el elemento raíz de la sección." #: ../Doc/library/xml.etree.elementtree.rst:1147 msgid "" @@ -1168,6 +1639,17 @@ msgid "" "default), they are emitted as a single self-closed tag, otherwise they are " "emitted as a pair of start/end tags." msgstr "" +"Escribe el árbol de elementos en un archivo, como XML. *file* es un nombre " +"de archivo, o un :term:`file object` abierto para escritura. *encoding* [1]_ " +"es la codificación de salida (por defecto es US-ASCII). *xml_declaration* " +"controla si se debe añadir una declaración XML al archivo. Utilice ``False`` " +"para nunca, ``True`` para siempre, ``None`` para sólo si no es US-ASCII o " +"UTF-8 o Unicode (por defecto es ``None``). *default_namespace* establece el " +"espacio de nombres XML por defecto (para \"xmlns\"). *method* es ``\"xml" +"\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml\"``). El parámetro " +"*short_empty_elements* controla el formato de los elementos sin contenido. " +"Si es ``True`` (por defecto), se emiten como una sola etiqueta autocerrada, " +"de lo contrario se emiten como un par de etiquetas de inicio/fin." #: ../Doc/library/xml.etree.elementtree.rst:1161 msgid "" @@ -1177,26 +1659,36 @@ msgid "" "conflict with the type of *file* if it's an open :term:`file object`; make " "sure you do not try to write a string to a binary stream and vice versa." msgstr "" +"La salida es una cadena de caracteres (:class:`str`) o binaria (:class:" +"`bytes`). Esto es controlado por el argumento *encoding*. Si *encoding* es " +"``unicode``, la salida es una cadena de caracteres; en caso contrario, es " +"binaria. Tenga en cuenta que esto puede entrar en conflicto con el tipo de " +"*file* si es un :term:`file object` abierto; asegúrese de no intentar " +"escribir una cadena en un flujo binario y viceversa." #: ../Doc/library/xml.etree.elementtree.rst:1171 msgid "" "The :meth:`write` method now preserves the attribute order specified by the " "user." msgstr "" +"El método :meth:`write` ahora conserva el orden de los atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:1176 msgid "This is the XML file that is going to be manipulated::" -msgstr "" +msgstr "Este es el archivo XML que será manipulado::" #: ../Doc/library/xml.etree.elementtree.rst:1188 msgid "" "Example of changing the attribute \"target\" of every link in first " "paragraph::" msgstr "" +"Ejemplo de cambio del atributo \"target\" de cada enlace en el primer " +"párrafo::" #: ../Doc/library/xml.etree.elementtree.rst:1207 msgid "QName Objects" -msgstr "" +msgstr "Objetos QName" #: ../Doc/library/xml.etree.elementtree.rst:1212 msgid "" @@ -1207,10 +1699,17 @@ msgid "" "interpreted as a URI, and this argument is interpreted as a local name. :" "class:`QName` instances are opaque." msgstr "" +"QName wrapper. Se puede utilizar para envolver un valor de atributo QName, " +"con el fin de obtener un manejo adecuado del espacio de nombres en la " +"salida. *text_or_uri* es una cadena de caracteres que contiene el valor " +"QName, en la forma {uri}local, o, si se da el argumento tag, la parte URI de " +"un QName. Si se da *tag*, el primer argumento se interpreta como un URI, y " +"este argumento se interpreta como un nombre local. Las instancias de :class:" +"`QName` son opacas." #: ../Doc/library/xml.etree.elementtree.rst:1224 msgid "TreeBuilder Objects" -msgstr "" +msgstr "Objetos TreeBuilder" #: ../Doc/library/xml.etree.elementtree.rst:1230 msgid "" @@ -1219,6 +1718,11 @@ msgid "" "structure. You can use this class to build an element structure using a " "custom XML parser, or a parser for some other XML-like format." msgstr "" +"Constructor genérico de estructuras de elementos. Este constructor convierte " +"una secuencia de llamadas a los métodos start, data, end, comment y pi en " +"una estructura de elementos bien formada. Puedes utilizar esta clase para " +"construir una estructura de elementos utilizando un analizador XML " +"personalizado, o un analizador para algún otro formato similar a XML." #: ../Doc/library/xml.etree.elementtree.rst:1235 msgid "" @@ -1226,6 +1730,9 @@ msgid "" "arguments: a tag and a dict of attributes. It is expected to return a new " "element instance." msgstr "" +"*element_factory*, cuando se da, debe ser un callable que acepta dos " +"argumentos posicionales: una etiqueta y un diccionario de atributos. Se " +"espera que retorne una nueva instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:1239 msgid "" @@ -1236,48 +1743,70 @@ msgid "" "comments/pis will be inserted into the tree if they appear within the root " "element (but not outside of it)." msgstr "" +"Las funciones *comment_factory* y *pi_factory*, cuando se dan, deben " +"comportarse como las funciones :func:`Comment` y :func:" +"`ProcessingInstruction` para crear comentarios e instrucciones de " +"procesamiento. Si no se dan, se utilizarán las fábricas por defecto. Cuando " +"*insert_comments* y/o *insert_pis* es verdadero, los comentarios/pis se " +"insertarán en el árbol si aparecen dentro del elemento raíz (pero no fuera " +"de él)." #: ../Doc/library/xml.etree.elementtree.rst:1248 msgid "" "Flushes the builder buffers, and returns the toplevel document element. " "Returns an :class:`Element` instance." msgstr "" +"Vacía los buffers del constructor y retorna el elemento del documento de " +"nivel superior. Retorna una instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:1254 msgid "" "Adds text to the current element. *data* is a string. This should be " "either a bytestring, or a Unicode string." msgstr "" +"Añade texto al elemento actual. *data* es una cadena. Debe ser una cadena de " +"bytes o una cadena Unicode." #: ../Doc/library/xml.etree.elementtree.rst:1260 msgid "" "Closes the current element. *tag* is the element name. Returns the closed " "element." msgstr "" +"Cierra el elemento actual. *tag* es el nombre del elemento. Retorna el " +"elemento cerrado." #: ../Doc/library/xml.etree.elementtree.rst:1266 msgid "" "Opens a new element. *tag* is the element name. *attrs* is a dictionary " "containing element attributes. Returns the opened element." msgstr "" +"Abre un nuevo elemento. *tag* es el nombre del elemento. *attrs* es un " +"diccionario que contiene los atributos del elemento. Retorna el elemento " +"abierto." #: ../Doc/library/xml.etree.elementtree.rst:1272 msgid "" "Creates a comment with the given *text*. If ``insert_comments`` is true, " "this will also add it to the tree." msgstr "" +"Crea un comentario con el *texto* dado. Si ``insert_comments`` es verdadero, " +"esto también lo añadirá al árbol." #: ../Doc/library/xml.etree.elementtree.rst:1280 msgid "" "Creates a comment with the given *target* name and *text*. If " "``insert_pis`` is true, this will also add it to the tree." msgstr "" +"Crea un comentario con el nombre *target* y el *texto* dados. Si " +"``insert_pis`` es verdadero, esto también lo añadirá al árbol." #: ../Doc/library/xml.etree.elementtree.rst:1286 msgid "" "In addition, a custom :class:`TreeBuilder` object can provide the following " "methods:" msgstr "" +"Además, un objeto :class:`TreeBuilder` personalizado puede proporcionar los " +"siguientes métodos:" #: ../Doc/library/xml.etree.elementtree.rst:1291 msgid "" @@ -1285,6 +1814,9 @@ msgid "" "public identifier. *system* is the system identifier. This method does not " "exist on the default :class:`TreeBuilder` class." msgstr "" +"Maneja una declaración de doctype. *name* es el nombre del doctype. *pubid* " +"es el identificador público. *system* es el identificador del sistema. Este " +"método no existe en la clase por defecto :class:`TreeBuilder`." #: ../Doc/library/xml.etree.elementtree.rst:1299 msgid "" @@ -1293,6 +1825,11 @@ msgid "" "is ``''`` for the default namespace and the declared namespace prefix name " "otherwise. *uri* is the namespace URI." msgstr "" +"Se llama cada vez que el analizador encuentra una nueva declaración de " +"espacio de nombres, antes de la llamada de retorno ``start()`` para el " +"elemento de apertura que lo define. *prefix* es ``''`` para el espacio de " +"nombres por defecto y el nombre del prefijo del espacio de nombres declarado " +"en caso contrario. *uri* es el URI del espacio de nombres." #: ../Doc/library/xml.etree.elementtree.rst:1308 msgid "" @@ -1300,6 +1837,9 @@ msgid "" "namespace prefix mapping, with the name of the *prefix* that went out of " "scope." msgstr "" +"Se llama después de la llamada de retorno ``end()`` de un elemento que " +"declaró un mapeo de prefijo de espacio de nombres, con el nombre del " +"*prefijo* que salió del ámbito." #: ../Doc/library/xml.etree.elementtree.rst:1320 msgid "" @@ -1308,10 +1848,14 @@ msgid "" "tree but translates the callback events directly into a serialised form " "using the *write* function." msgstr "" +"Un escritor `C14N 2.0 `_. Los argumentos " +"son los mismos que para la función :func:`canonicalize`. Esta clase no " +"construye un árbol, sino que traduce los eventos de devolución de llamada " +"directamente a una forma serializada utilizando la función *write*." #: ../Doc/library/xml.etree.elementtree.rst:1331 msgid "XMLParser Objects" -msgstr "" +msgstr "Objetos XMLParser" #: ../Doc/library/xml.etree.elementtree.rst:1336 msgid "" @@ -1323,12 +1867,21 @@ msgid "" "*encoding* [1]_ is given, the value overrides the encoding specified in the " "XML file." msgstr "" +"Esta clase es el bloque de construcción de bajo nivel del módulo. Utiliza :" +"mod:`xml.parsers.expat` para un análisis eficiente de XML basado en eventos. " +"Puede ser alimentada con datos XML de forma incremental con el método :meth:" +"`feed`, y los eventos de análisis se traducen en una API push - invocando " +"callbacks en el objeto *target*. Si se omite *target*, se utiliza la clase " +"estándar :class:`TreeBuilder`. Si se da *encoding* [1]_, el valor anula la " +"codificación especificada en el archivo XML." #: ../Doc/library/xml.etree.elementtree.rst:1344 msgid "" "Parameters are now :ref:`keyword-only `. The *html* " "argument no longer supported." msgstr "" +"Los parámetros son ahora :ref:`keyword-only `. El " +"argumento *html* ya no se admite." #: ../Doc/library/xml.etree.elementtree.rst:1351 msgid "" @@ -1336,10 +1889,15 @@ msgid "" "``close()`` method of the *target* passed during construction; by default, " "this is the toplevel document element." msgstr "" +"Finaliza la alimentación de datos al analizador. Retorna el resultado de " +"llamar al método ``close()`` del *target* pasado durante la construcción; " +"por defecto, es el elemento del documento de nivel superior." #: ../Doc/library/xml.etree.elementtree.rst:1358 msgid "Feeds data to the parser. *data* is encoded data." msgstr "" +"Introduce los datos en el analizador sintáctico. *data* son datos " +"codificados." #: ../Doc/library/xml.etree.elementtree.rst:1360 msgid "" @@ -1351,10 +1909,18 @@ msgid "" "building a tree structure. This is an example of counting the maximum depth " "of an XML file::" msgstr "" +":meth:`XMLParser.feed` llama al método ``start(tag, attrs_dict)`` de " +"*target* para cada etiqueta de apertura, a su método ``end(tag)`` para cada " +"etiqueta de cierre, y los datos son procesados por el método ``data(data)``. " +"Para más métodos de callback soportados, véase la clase :class:" +"`TreeBuilder`. :meth:`XMLParser.close` llama al método ``close()`` de " +"*target*. :class:`XMLParser` puede utilizarse no sólo para construir una " +"estructura de árbol. Este es un ejemplo de contar la profundidad máxima de " +"un archivo XML::" #: ../Doc/library/xml.etree.elementtree.rst:1404 msgid "XMLPullParser Objects" -msgstr "" +msgstr "Objetos XMLPullParser" #: ../Doc/library/xml.etree.elementtree.rst:1408 msgid "" @@ -1367,10 +1933,19 @@ msgid "" "\"ns\" events are used to get detailed namespace information). If *events* " "is omitted, only ``\"end\"`` events are reported." msgstr "" +"Un analizador sintáctico pull adecuado para aplicaciones no bloqueantes. Su " +"API de entrada es similar a la de :class:`XMLParser`, pero en lugar de " +"enviar llamadas a un objetivo de devolución de llamada, :class:" +"`XMLPullParser` recoge una lista interna de eventos de análisis y permite al " +"usuario leer de ella. *events* son una secuencia de eventos a reportar. Los " +"eventos soportados son las cadenas ``\"start\"``, ``\"end\"``, ``\"comment" +"\"``, ``\"pi\"``, ``\"start-ns\"`` y ``\"end-ns\"`` (los eventos \"ns\" se " +"utilizan para obtener información detallada del espacio de nombres). Si se " +"omite *events*, sólo se informará de los eventos ``\"end\"``." #: ../Doc/library/xml.etree.elementtree.rst:1419 msgid "Feed the given bytes data to the parser." -msgstr "" +msgstr "Introduce los datos de los bytes dados en el analizador." #: ../Doc/library/xml.etree.elementtree.rst:1423 msgid "" @@ -1379,6 +1954,10 @@ msgid "" "yet retrieved when the parser is closed can still be read with :meth:" "`read_events`." msgstr "" +"Señala al analizador que el flujo de datos ha terminado. A diferencia de :" +"meth:`XMLParser.close`, este método siempre retorna :const:`None`. Cualquier " +"evento que no haya sido recuperado cuando el analizador se cierra puede ser " +"leído con :meth:`read_events`." #: ../Doc/library/xml.etree.elementtree.rst:1430 msgid "" @@ -1388,24 +1967,32 @@ msgid "" "*elem* is the encountered :class:`Element` object, or other context value as " "follows." msgstr "" +"Retorna un iterador sobre los eventos que se han encontrado en los datos " +"alimentados al analizador. El iterador retorna pares ``(event, elem)``, " +"donde *event* es una cadena de caracteres que representa el tipo de evento " +"(por ejemplo, ``\"fin\"``) y *elem* es el objeto :class:`Element` " +"encontrado, u otro valor de contexto como el siguiente." #: ../Doc/library/xml.etree.elementtree.rst:1436 msgid "``start``, ``end``: the current Element." -msgstr "" +msgstr "``start``, ``end``: el Element actual." #: ../Doc/library/xml.etree.elementtree.rst:1437 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" +"``comment``, ``pi``: el comentario / la instrucción de procesamiento actual" #: ../Doc/library/xml.etree.elementtree.rst:1438 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" +"``start-ns``: una tupla ``(prefix, uri)`` que nombra el mapeo del espacio de " +"nombres declarado." #: ../Doc/library/xml.etree.elementtree.rst:1440 msgid "``end-ns``: :const:`None` (this may change in a future version)" -msgstr "" +msgstr "``end-ns``: :const:`None` (esto puede cambiar en una versión futura)" #: ../Doc/library/xml.etree.elementtree.rst:1442 msgid "" @@ -1415,6 +2002,11 @@ msgid "" "over iterators obtained from :meth:`read_events` will have unpredictable " "results." msgstr "" +"Los eventos proporcionados en una llamada anterior a :meth:`read_events` no " +"serán retornados nuevamente. Los eventos se consumen de la cola interna sólo " +"cuando se recuperan del iterador, por lo que múltiples lectores iterando en " +"paralelo sobre iteradores obtenidos de :meth:`read_events` tendrán " +"resultados impredecibles." #: ../Doc/library/xml.etree.elementtree.rst:1450 msgid "" @@ -1424,10 +2016,15 @@ msgid "" "that point. The same applies to the element children; they may or may not " "be present." msgstr "" +":class:`XMLPullParser` sólo garantiza que ha visto el carácter \">\" de una " +"etiqueta de inicio cuando emite un evento \"start\", por lo que los " +"atributos están definidos, pero el contenido de los atributos text y tail " +"está indefinido en ese momento. Lo mismo ocurre con los hijos del elemento; " +"pueden estar presentes o no." #: ../Doc/library/xml.etree.elementtree.rst:1465 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" #: ../Doc/library/xml.etree.elementtree.rst:1469 msgid "" @@ -1436,21 +2033,30 @@ msgid "" "will contain a user-friendly error message. In addition, it will have the " "following attributes available:" msgstr "" +"Error de análisis de XML, lanzado por los distintos métodos de análisis de " +"este módulo cuando el análisis falla. La representación en cadena de " +"caracteres de una instancia de esta excepción contendrá un mensaje de error " +"fácil de entender. Además, tendrá los siguientes atributos disponibles:" #: ../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 "" +"Un código de error numérico del analizador sintáctico expat. Consulte la " +"documentación de :mod:`xml.parsers.expat` para ver la lista de códigos de " +"error y sus significados." #: ../Doc/library/xml.etree.elementtree.rst:1481 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" +"Una tupla de números de *line*, *column*, que especifica dónde se produjo el " +"error." #: ../Doc/library/xml.etree.elementtree.rst:1484 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie de página" #: ../Doc/library/xml.etree.elementtree.rst:1485 msgid "" @@ -1459,3 +2065,8 @@ msgid "" "https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://" "www.iana.org/assignments/character-sets/character-sets.xhtml." msgstr "" +"La cadena de caracteres de codificación incluida en la salida XML debe " +"ajustarse a los estándares adecuados. Por ejemplo, \"UTF-8\" es válido, pero " +"\"UTF8\" no lo es. Consulte https://www.w3.org/TR/2006/REC-xml11-20060816/" +"#NT-EncodingDecl y https://www.iana.org/assignments/character-sets/character-" +"sets.xhtml." From 7ef4f583074897b8a33431d90845d4e0e2564f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Wed, 4 Aug 2021 11:05:14 +0200 Subject: [PATCH 14/94] Finalizando reference (#1237) * Finalizando reference * Apply suggestions from code review * powrap * Agregar palabra faltante reference/expressions Co-authored-by: Carlos A. Crespo --- dictionaries/reference_expressions.txt | 3 +- reference/compound_stmts.po | 43 +++++++++------- reference/datamodel.po | 31 ++++++------ reference/executionmodel.po | 68 +++++++++++--------------- reference/expressions.po | 40 ++++++++------- reference/grammar.po | 17 ++++++- reference/import.po | 55 +++++++++++---------- reference/lexical_analysis.po | 55 +++++++++++---------- reference/simple_stmts.po | 16 +++--- 9 files changed, 174 insertions(+), 154 deletions(-) diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt index 4d6e13f9b2..78ec25c601 100644 --- a/dictionaries/reference_expressions.txt +++ b/dictionaries/reference_expressions.txt @@ -7,6 +7,7 @@ superconjuntos superconjuntos lexicográficamente unarios +walrus floor algorítmicamente -inhashables +inhashables \ No newline at end of file diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index a5e1a9c83f..ba6b80da20 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-05 14:52-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:34+0200\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" +"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 3.0\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -292,7 +293,6 @@ msgstr "" "código de limpieza para un grupo de sentencias:" #: ../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 " @@ -307,18 +307,19 @@ msgid "" "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:" -"`try`, no se ejecuta ningún gestor de excepción. Cuando se produce una " -"excepción en la suite :keyword:`!try`, se inicia la búsqueda de un gestor de " -"excepciones. Esta búsqueda inspecciona las cláusulas ``except`` por turno " -"hasta que se encuentre una que coincida con la excepción. Una cláusula " -"excepción sin una expresión, si está presente, debe ser la última; coincide " -"con cualquier excepción. Para una cláusula ``except`` con una expresión, esa " +"Las cláusulas :keyword:`except` especifican uno o más manejadores de " +"excepciones. Cuando no ocurre ninguna excepción en la palabra clave :keyword:" +"`try`, no se ejecuta ningún controlador de excepciones. Cuando ocurre una " +"excepción en la suite :keyword:`!try`, se inicia una búsqueda de un " +"manejador de excepciones. Esta búsqueda inspecciona las cláusulas except a " +"su vez hasta encontrar una que coincida con la excepción. Una cláusula " +"except sin expresión, si está presente, debe ser la última; coincide con " +"cualquier excepción. Para una cláusula except con una expresión, esa " "expresión se evalúa y la cláusula coincide con la excepción si el objeto " "resultante es \"compatible\" con la excepción. Un objeto es compatible con " -"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." +"una excepción si es la clase o una clase base del objeto de excepción, o una " +"tupla que contiene un elemento que es la clase o una clase base del objeto " +"de excepción." #: ../Doc/reference/compound_stmts.rst:260 msgid "" @@ -714,6 +715,9 @@ msgid "" "Previously, the grammar was much more restrictive; see :pep:`614` for " "details." msgstr "" +"Las funciones se pueden decorar con cualquier token válido :token:" +"`assignment_expression`. Anteriormente, la gramática era mucho más " +"restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:565 msgid "" @@ -982,6 +986,9 @@ msgid "" "Previously, the grammar was much more restrictive; see :pep:`614` for " "details." msgstr "" +"Las clases se pueden decorar con cualquier token válido :token:" +"`assignment_expression`. Anteriormente, la gramática era mucho más " +"restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:732 msgid "" @@ -1078,18 +1085,16 @@ msgid "The :keyword:`!async for` statement" msgstr "La sentencia :keyword:`!async for`" #: ../Doc/reference/compound_stmts.rst:803 -#, fuzzy msgid "" "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*." +"Un :term:`asynchronous iterable` proporciona un método ``__aiter__`` que " +"retorna directamente un :term:`asynchronous iterator`, que puede llamar a " +"código asincrónico en su método ``__anext__``." #: ../Doc/reference/compound_stmts.rst:807 -#, fuzzy msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " "iterables." diff --git a/reference/datamodel.po b/reference/datamodel.po index a5910504ce..c79048d305 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-03-19 22:57+0100\n" +"PO-Revision-Date: 2021-08-02 19:35+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" @@ -20,7 +20,7 @@ msgstr "" "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" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/datamodel.rst:6 msgid "Data model" @@ -270,7 +270,6 @@ 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``. " @@ -280,11 +279,12 @@ msgid "" "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 " -"métodos numéricos y los métodos de comparación enriquecidos deberían " -"retornar este valor si no implementan la operación para los operandos " -"proporcionados. (El intérprete intentará la operación reflejada, o alguna " -"otra alternativa, dependiendo del operador). Su valor de verdad es verdadero." +"a este objeto a través del nombre integrado ``NotImplemented``. Los métodos " +"numéricos y los métodos de comparación enriquecidos deben devolver este " +"valor si no implementan la operación para los operandos proporcionados. (El " +"intérprete intentará entonces la operación reflejada, o alguna otra " +"alternativa, dependiendo del operador). No debe evaluarse en un contexto " +"booleano." #: ../Doc/reference/datamodel.rst:162 msgid "See :ref:`implementing-the-arithmetic-operations` for more details." @@ -1013,7 +1013,6 @@ msgstr "" "valor asignado." #: ../Doc/reference/datamodel.rst:564 -#, fuzzy msgid "" "Function objects also support getting and setting arbitrary attributes, " "which can be used, for example, to attach metadata to functions. Regular " @@ -1022,13 +1021,13 @@ msgid "" "functions. Function attributes on built-in functions may be supported in the " "future.*" msgstr "" -"Los objetos de función también admiten obtener y establecer atributos " -"arbitrarios, que pueden usarse, por ejemplo, para adjuntar metadatos a " -"funciones. La notación regular de atributo por punto se usa para obtener y " -"establecer tales atributos. *Tenga en cuenta que la implementación actual " -"solo admite atributos de función en funciones definidas por el usuario. Los " -"atributos de función en funciones incorporadas pueden ser compatibles en el " -"futuro.*" +"Los objetos de función también admiten la obtención y configuración de " +"atributos arbitrarios, que se pueden usar, por ejemplo, para adjuntar " +"metadatos a funciones. La notación de puntos de atributo regular se utiliza " +"para obtener y establecer dichos atributos. *Tenga en cuenta que la " +"implementación actual solo admite atributos de función en funciones " +"definidas por el usuario. Los atributos de función en funciones integradas " +"pueden ser compatibles en el futuro.*" #: ../Doc/reference/datamodel.rst:570 msgid "" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index fe04552e5e..bbe864ff0d 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 09:14-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:39+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" +"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 3.0\n" #: ../Doc/reference/executionmodel.rst:6 msgid "Execution model" @@ -30,7 +31,6 @@ 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: " @@ -43,17 +43,19 @@ msgid "" "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 " -"unidad. Los siguientes son bloques: un módulo, el cuerpo de una función y la " -"definición de una clase. Cada comando ingresado en el intérprete interactivo " -"es un bloque. Un archivo de script (un archivo provisto como entrada " -"estándar al intérprete, o especificado como argumento en la línea de comando " -"al intérprete) es un bloque de código. Un comando de script (un comando " -"especificado en la línea de comandos del intérprete con la opción :option:`-" -"c` es un bloque de código. El argumento cadena de caracteres que se envía a " -"las funciones incorporadas :func:`eval` y :func:`exec` es también un bloque " -"de código." +"Un programa de Python se construye a partir de bloques de código. Un :dfn:" +"`block` es una parte del texto del programa Python que se ejecuta como una " +"unidad. Los siguientes son bloques: un módulo, un cuerpo de función y una " +"definición de clase. Cada comando escrito de forma interactiva es un bloque. " +"Un archivo de secuencia de comandos (un archivo proporcionado como entrada " +"estándar al intérprete o especificado como un argumento de línea de comando " +"para el intérprete) es un bloque de código. Un comando de secuencia de " +"comandos (un comando especificado en la línea de comandos del intérprete con " +"la opción: :option:`-c`) es un bloque de código. Un módulo que se ejecuta " +"como un script de nivel superior (como módulo ``__main__``) desde la línea " +"de comando usando un argumento :option:`-m` también es un bloque de código. " +"El argumento de cadena pasado a las funciones integradas :func:`eval` y :" +"func:`exec` es un bloque de código." #: ../Doc/reference/executionmodel.rst:33 msgid "" @@ -82,9 +84,7 @@ msgstr "" "Los :dfn:`Names` refieren a objetos. Los nombres se introducen por las " "operaciones de vinculación de nombre (*name binding operations*)." -# ¿ target == objetivo ? #: ../Doc/reference/executionmodel.rst:59 -#, fuzzy msgid "" "The following constructs bind names: formal parameters to functions, :" "keyword:`import` statements, class and function definitions (these bind the " @@ -107,14 +107,13 @@ msgstr "" "módulo." #: ../Doc/reference/executionmodel.rst:69 -#, fuzzy msgid "" "A target occurring in a :keyword:`del` statement is also considered bound " "for this purpose (though the actual semantics are to unbind the name)." msgstr "" -"Un objetivo que ocurre en una declaración :keyword:`del` también está " -"considerado como vinculado para este propósito (aunque la semántica real es " -"desvincular el nombre)." +"Un objetivo que aparece en una sentencia :keyword:`del` también se considera " +"vinculado para este propósito (aunque la semántica real es desvincular el " +"nombre)." #: ../Doc/reference/executionmodel.rst:72 msgid "" @@ -168,9 +167,7 @@ msgstr "" "definición, a menos que uno de los bloques contenidos introduzca un vínculo " "diferente para el nombre." -# ¿"the nearest enclosing scope" == "el ámbito que cierre más cerca"? #: ../Doc/reference/executionmodel.rst:101 -#, fuzzy msgid "" "When a name is used in a code block, it is resolved using the nearest " "enclosing scope. The set of all such scopes visible to a code block is " @@ -240,10 +237,7 @@ 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:131 -#, fuzzy msgid "" "The :keyword:`global` statement has the same scope as a name binding " "operation in the same block. If the nearest enclosing scope for a free " @@ -255,9 +249,7 @@ msgstr "" "para una variable libre contiene una declaración global, se trata a la " "variable libre como global." -# Otra vez enclosing. #: ../Doc/reference/executionmodel.rst:137 -#, fuzzy msgid "" "The :keyword:`nonlocal` statement causes corresponding names to refer to " "previously bound variables in the nearest enclosing function scope. :exc:" @@ -306,9 +298,8 @@ msgstr "" "lo siguiente fallará::" #: ../Doc/reference/executionmodel.rst:165 -#, fuzzy msgid "Builtins and restricted execution" -msgstr "Módulos incorporados (*builtins*) y ejecución restringida" +msgstr "Integraciones y ejecución restringida" #: ../Doc/reference/executionmodel.rst:171 msgid "" @@ -355,7 +346,6 @@ msgstr "" "42::" #: ../Doc/reference/executionmodel.rst:201 -#, fuzzy msgid "" "The :func:`eval` and :func:`exec` functions do not have access to the full " "environment for resolving names. Names may be resolved in the local and " @@ -365,14 +355,14 @@ msgid "" "global and local namespace. If only one namespace is specified, it is used " "for both." msgstr "" -"Las funciones :func:`eval` y :func:`exec`no tienen acceso al entorno " -"completo para resolver nombres. Los nombres pueden resolverse en el espacio " -"de nombres local y global del código que invoque. Las variables libres no se " -"resuelven en el espacio de nombres de cierre más cercano, sino en el espacio " -"de nombres global. [#]_ Las funciones :func:`exec` y :func:`eval` tienen " -"argumentos opcionales para sobreescribir el espacio de nombres local y " -"global. Si se especifica un solo espacio de nombres, éste se usa para ambas " -"cosas." +"Las funciones :func:`eval` y :func:`exec` no tienen acceso al entorno " +"completo para resolver nombres. Los nombres pueden resolverse en los " +"espacios de nombres locales y globales de la persona que llama. Las " +"variables libres no se resuelven en el espacio de nombres adjunto más " +"cercano, sino en el espacio de nombres global. [#]_ Las funciones :func:" +"`exec` y :func:`eval` tienen argumentos opcionales para anular el espacio de " +"nombres global y local. Si solo se especifica un espacio de nombres, se usa " +"para ambos." #: ../Doc/reference/executionmodel.rst:212 msgid "Exceptions" diff --git a/reference/expressions.po b/reference/expressions.po index c0df6349c4..87e1e39320 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -721,7 +722,6 @@ msgstr "" "ejecución de cualquier cláusula :keyword:`finally` pendiente." #: ../Doc/reference/expressions.rst:479 -#, fuzzy msgid "" "When ``yield from `` is used, the supplied expression must be an " "iterable. The values produced by iterating that iterable are passed directly " @@ -732,15 +732,14 @@ msgid "" "exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` " "will just raise the passed in exception immediately." msgstr "" -"Cuando se usa ``yield from ``, esto trata a la expresión provista como " -"un subiterador. Todos los valores producidos por ese subiterador son pasados " -"directamente al invocador de los métodos del generador actual. Cualquiera de " -"los valores pasados con :meth:`~generator.send` y cualquiera de las " -"excepciones pasadas con :meth:`~generator.throw` son pasados al iterador " -"subyacente si tiene los métodos apropiados. Si este no es el caso, entonces :" -"meth:`~generator.send` generará :exc:`AttributeError` o :exc:`TypeError`, " -"mientras :meth:`~generator.throw` sólo generará inmediatamente la excepción " -"pasada." +"Cuando se usa ``yield from ``, la expresión proporcionada debe ser " +"iterable. Los valores producidos al iterar ese iterable se pasan " +"directamente al llamador de los métodos del generador actual. Cualquier " +"valor pasado con :meth:`~generator.send` y cualquier excepción pasada con :" +"meth:`~generator.throw` se pasan al iterador subyacente si tiene los métodos " +"apropiados. Si este no es el caso, entonces :meth:`~generator.send` " +"generará :exc:`AttributeError` o :exc:`TypeError`, mientras que :meth:" +"`~generator.throw` solo generará la excepción pasada inmediatamente." #: ../Doc/reference/expressions.rst:488 msgid "" @@ -1216,13 +1215,12 @@ msgid "Subscriptions" msgstr "Suscripciones" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "" "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):" +"La suscripción de una secuencia (cadena, tupla o lista) o un objeto de mapeo " +"(diccionario) generalmente selecciona un elemento de la colección:" #: ../Doc/reference/expressions.rst:809 msgid "" @@ -1300,6 +1298,10 @@ msgid "" "defined classes can support subscription by providing a :meth:" "`__class_getitem__` classmethod." msgstr "" +"La suscripción de ciertos :term:`clases ` o :term:`tipos ` crea " +"un :ref:`alias genérico `. En este caso, las clases " +"definidas por el usuario pueden admitir la suscripción proporcionando un " +"método de clase :meth:`__class_getitem__`." #: ../Doc/reference/expressions.rst:849 msgid "Slicings" @@ -2558,14 +2560,18 @@ msgid "" "\"walrus\") assigns an :token:`expression` to an :token:`identifier`, while " "also returning the value of the :token:`expression`." msgstr "" +"Una expresión de asignación (a veces también llamada \"expresión con nombre" +"\" o \"walrus\") asigna un :token:`expression` a un :token:`identifier`, " +"mientras que también retorna el valor de :token:`expression`." #: ../Doc/reference/expressions.rst:1666 msgid "One common use case is when handling matched regular expressions:" msgstr "" +"Un caso de uso común es cuando se manejan expresiones regulares coincidentes:" #: ../Doc/reference/expressions.rst:1673 msgid "Or, when processing a file stream in chunks:" -msgstr "" +msgstr "O, al procesar un flujo de archivos en fragmentos:" #: ../Doc/reference/expressions.rst:1680 msgid "See :pep:`572` for more details about assignment expressions." diff --git a/reference/grammar.po b/reference/grammar.po index 0b732bd4f8..c3e0de48ca 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-27 23:15+0200\n" +"PO-Revision-Date: 2021-08-02 19:28+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" +"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 3.0\n" #: ../Doc/reference/grammar.rst:2 msgid "Full Grammar specification" @@ -31,6 +32,10 @@ msgid "" "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, derivada directamente de la " +"gramática utilizada para generar el analizador CPython (ver :source:`Grammar/" +"python.gram`). La versión aquí omite detalles relacionados con la generación " +"de código y la recuperación de errores." #: ../Doc/reference/grammar.rst:9 #, python-format @@ -43,6 +48,14 @@ msgid "" "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 "" +"La notación es una mezcla de `EBNF `_ y `PEG `_. En particular, ``&`` seguido de un símbolo, " +"ficha o grupo entre paréntesis indica una anticipación positiva (es decir, " +"se requiere que coincida pero no se consume), mientras que ``!`` Indica una " +"anticipación negativa (es decir, se requiere _no_ para partido). Usamos el " +"separador ``|`` para referirnos a la \"elección ordenada\" de PEG (escrito " +"como ``/`` en las gramáticas tradicionales de PEG)." #~ msgid "" #~ "This is the full Python grammar, as it is read by the parser generator " diff --git a/reference/import.po b/reference/import.po index ed888f78bd..7a378057cb 100644 --- a/reference/import.po +++ b/reference/import.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\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" +"PO-Revision-Date: 2021-08-02 19: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" +"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 3.0\n" #: ../Doc/reference/import.rst:6 msgid "The import system" @@ -185,7 +186,6 @@ 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 a dot, akin to Python's standard attribute access syntax. " @@ -195,7 +195,7 @@ msgid "" msgstr "" "Todos los módulos tienen un nombre. Los nombres de los subpaquetes se " "separan del nombre del paquete padre por puntos, similar a la sintaxis de " -"acceso a atributos estándar de Python. Así, puedes tener un módulo llamado :" +"acceso a atributos estándar de Python. Así, puedes tener un módulo llamado :" "mod:`sys` y un paquete llamado :mod:`email`, que a su vez tiene un " "subpaquete llamado :mod:`email.mime` y un módulo dentro de ese subpaquete " "llamado :mod:`email.mime.text`." @@ -1313,7 +1313,6 @@ msgid "Cached bytecode invalidation" msgstr "Invalidación del código de bytes en caché" #: ../Doc/reference/import.rst:683 -#, fuzzy msgid "" "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 " @@ -1322,13 +1321,13 @@ msgid "" "cache file by checking the stored metadata in the cache file against the " "source's metadata." msgstr "" -"Antes de que Python cargue el código de bytes almacenado en caché desde el " -"archivo ``.pyc``, comprueba si la memoria caché está actualizada con el " -"archivo de origen ``.py``. De forma predeterminada, Python lo hace " -"almacenando la última marca de tiempo y el tamaño modificados del origen en " -"el archivo de caché al escribirlo. En tiempo de ejecución, el sistema de " -"importación valida el archivo de caché comprobando los metadatos almacenados " -"en el archivo de caché con los metadatos del origen." +"Antes de que Python cargue el código de bytes en caché de un archivo ``." +"pyc``, verifica si el caché está actualizado con el archivo ``.py`` de " +"origen. De forma predeterminada, Python hace esto almacenando la marca de " +"tiempo y el tamaño de la última modificación de la fuente en el archivo de " +"caché al escribirlo. En tiempo de ejecución, el sistema de importación " +"valida el archivo de caché comprobando los metadatos almacenados en el " +"archivo de caché con los metadatos de la fuente." #: ../Doc/reference/import.rst:690 msgid "" @@ -1700,16 +1699,15 @@ msgstr "" "establecido (con una excepción)." #: ../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 \"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." +"Para indicar a la maquinaria de importación que la especificación representa " +"un espacio de nombres :term:`portion`, el buscador de entrada de ruta " +"establece *\"submodule_search_locations\"* en una lista que contiene la " +"porción." #: ../Doc/reference/import.rst:863 msgid "" @@ -1743,6 +1741,10 @@ msgid "" "returns a 2-tuple where the first item is the loader and the second item is " "a namespace :term:`portion`." msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_loader` toma un argumento, el " +"nombre completo del módulo que se está importando. ``find_loader()`` " +"devuelve una 2-tupla donde el primer elemento es el cargador y el segundo " +"elemento es un espacio de nombres :term:`portion`." #: ../Doc/reference/import.rst:879 msgid "" @@ -1880,12 +1882,12 @@ msgid "" "interpreter is invoked." msgstr "" "El módulo :mod:`__main__` es un caso especial relativo al sistema de " -"importación de Python. Como se señaló :ref:`elsewhere `, el " -"módulo ``__main__`` se inicializa directamente al inicio del intérprete, al " -"igual que :mod:`sys` y :mod:`builtins`. Sin embargo, a diferencia de esos " -"dos, no califica estrictamente como un módulo integrado. Esto se debe a que " -"la forma en que se inicializa ``__main__`` depende de las marcas y otras " -"opciones con las que se invoca el intérprete." +"importación de Python. Como se señaló :ref:`elsewhere `, el módulo " +"``__main__`` se inicializa directamente al inicio del intérprete, al igual " +"que :mod:`sys` y :mod:`builtins`. Sin embargo, a diferencia de esos dos, no " +"califica estrictamente como un módulo integrado. Esto se debe a que 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:968 msgid "__main__.__spec__" @@ -1921,7 +1923,7 @@ msgstr "" "En :ref:`los casos restantes ` ``__main__." "__spec__`` se establece en ``None``, ya que el código utilizado para " "rellenar el :mod:`__main__` no se corresponde directamente con un módulo " -"importable:" +"importable:" #: ../Doc/reference/import.rst:982 msgid "interactive prompt" @@ -2068,7 +2070,6 @@ msgid ":pep:`338` defines executing modules as scripts." msgstr ":pep:`338` define la ejecución de módulos como scripts." #: ../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 " @@ -2078,7 +2079,7 @@ msgid "" msgstr "" ":pep:`451` agrega la encapsulación del estado de importación por módulo en " "los objetos de especificación. También descargara la mayoría de las " -"responsabilidades de los cargadores en la maquinaria de importación. Estos " +"responsabilidades de los cargadores en la maquinaria de importación. Estos " "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." diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index b68f0b6211..6d1e46d210 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-02 19:24+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" +"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 3.0\n" #: ../Doc/reference/lexical_analysis.rst:6 msgid "Lexical analysis" @@ -526,7 +527,6 @@ 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 " @@ -549,15 +549,14 @@ msgstr "" "analizan; la comparación de los identificadores se basa en NFKC." #: ../Doc/reference/lexical_analysis.rst:326 -#, fuzzy msgid "" "A non-normative HTML file listing all valid identifier characters for " "Unicode 4.1 can be found at https://www.unicode.org/Public/13.0.0/ucd/" "DerivedCoreProperties.txt" msgstr "" -"En https://www.dcl.hpi.uni-potsdam.de/home/loewis/table-3131.html se puede " -"encontrar un archivo HTML no normativo que enumera todos los caracteres de " -"identificación válidos para Unicode 4.1." +"Puede encontrar un archivo HTML no normativo que enumera todos los " +"caracteres identificadores válidos para Unicode 4.1 en https://www.unicode." +"org/Public/13.0.0/ucd/DerivedCoreProperties.txt" #: ../Doc/reference/lexical_analysis.rst:334 msgid "Keywords" @@ -1113,7 +1112,6 @@ msgstr "" "Después de la decodificación, la gramática para el contenido de la cadena es:" #: ../Doc/reference/lexical_analysis.rst:672 -#, fuzzy msgid "" "The parts of the string outside curly braces are treated literally, except " "that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " @@ -1125,14 +1123,16 @@ msgid "" "format specifier may also be appended, introduced by a colon ``':'``. A " "replacement field ends with a closing curly bracket ``'}'``." msgstr "" -"Las partes de la cadena fuera de llaves se tratan literalmente, excepto que " -"cualquier llave doble ``'{{'`` o ``'}}'`` se reemplaza con la llave simple " -"correspondiente. Una llave de apertura simple ``'{'``` marca un campo de " -"reemplazo, que comienza con una expresión de Python. Después de la " -"expresión, puede haber un campo de conversión, introducido por un signo de " -"exclamación ``'!'``. También se puede añadir un especificador de formato, " -"introducido por dos puntos ``':'``. Un campo de reemplazo termina con una " -"llave de cierre ``'}'``." +"Las partes de la cadena fuera de las llaves se tratan literalmente, excepto " +"que las llaves dobles ``'{{'`` o ``'}}'`` se reemplazan con la llave simple " +"correspondiente. Un solo corchete de apertura ``'{'`` marca un campo de " +"reemplazo, que comienza con una expresión de Python. Para mostrar tanto el " +"texto de la expresión como su valor después de la evaluación (útil en la " +"depuración), se puede agregar un signo igual ``'='`` después de la " +"expresión. Puede seguir un campo de conversión, introducido por un signo de " +"exclamación ``'!'``. También se puede agregar un especificador de formato, " +"introducido por dos puntos ``':'``. Un campo de reemplazo termina con un " +"corchete de cierre ``'}'``." #: ../Doc/reference/lexical_analysis.rst:682 msgid "" @@ -1174,10 +1174,17 @@ msgid "" "it defaults to the :func:`str` of the expression unless a conversion ``'!" "r'`` is declared." msgstr "" +"Cuando se proporciona el signo igual ``'='``, la salida tendrá el texto de " +"expresión, el ``'='`` y el valor evaluado. Los espacios después de la llave " +"de apertura ``'{'``, dentro de la expresión y después de ``'='`` se " +"conservan en la salida. Por defecto, el ``'='`` hace que se proporcione :" +"func:`repr` de la expresión, a menos que haya un formato especificado. " +"Cuando se especifica un formato, el valor predeterminado es :func:`str` de " +"la expresión a menos que se declare una conversión ``'!r'``." #: ../Doc/reference/lexical_analysis.rst:704 msgid "The equal sign ``'='``." -msgstr "" +msgstr "El símbolo igual ``'='``." #: ../Doc/reference/lexical_analysis.rst:707 msgid "" @@ -1205,7 +1212,6 @@ msgstr "" "valor final de toda la cadena." #: ../Doc/reference/lexical_analysis.rst:717 -#, fuzzy msgid "" "Top-level format specifiers may include nested replacement fields. These " "nested fields may include their own conversion fields and :ref:`format " @@ -1215,10 +1221,10 @@ msgid "" msgstr "" "Los especificadores de formato de nivel superior pueden incluir campos de " "reemplazo anidados. Estos campos anidados pueden incluir sus propios campos " -"de conversión y :ref:`especificadores de formato `, pero no " -"pueden incluir campos de reemplazo con nidos más profundos. El :ref:`mini-" -"lenguaje de especificadores de formato ` es el mismo que el " -"utilizado por el método de *string* `.format()`." +"de conversión y :ref:`especificadores de formato `, pero pueden " +"no incluir campos de reemplazo más anidados. El :ref:`especificador de " +"formato mini-lenguaje ` es el mismo que el utilizado por el " +"método :meth:`str.format`." #: ../Doc/reference/lexical_analysis.rst:723 msgid "" @@ -1452,6 +1458,5 @@ msgid "Footnotes" msgstr "Notas al pie de página" #: ../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" +msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 5c187839e3..fd1e296e15 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-12-04 13:39+0100\n" -"Last-Translator: Elena He \n" +"PO-Revision-Date: 2021-08-02 19:21+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ msgstr "" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/simple_stmts.rst:6 msgid "Simple statements" @@ -1457,17 +1457,17 @@ msgstr "" "variables fuera del ámbito local además del ámbito global (módulo)." #: ../Doc/reference/simple_stmts.rst:1002 -#, fuzzy msgid "" "Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :" "keyword:`global` statement, must refer to pre-existing bindings in an " "enclosing scope (the scope in which a new binding should be created cannot " "be determined unambiguously)." msgstr "" -"Los nombres enumerados en una declaración :keyword:`nonlocal`, a diferencia " -"de los enumerados en una declaración :keyword:`global`, deben hacer " -"referencia a enlaces preexistentes en un ámbito adjunto (el ámbito en el que " -"se debe crear un nuevo enlace no se puede determinar de forma inequívoca)." +"Los nombres enumerados en una instrucción :keyword:`nonlocal`, a diferencia " +"de los enumerados en una instrucción :keyword:`global`, deben hacer " +"referencia a enlaces preexistentes en un ámbito adjunto (no se puede " +"determinar el ámbito en el que se debe crear un nuevo enlace " +"inequívocamente)." #: ../Doc/reference/simple_stmts.rst:1007 msgid "" From 89e391cdfc2e411d347a3fcbad17586dfba6aefa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Wed, 4 Aug 2021 16:19:31 +0200 Subject: [PATCH 15/94] =?UTF-8?q?Terminando=20traducci=C3=B3n=20license.po?= =?UTF-8?q?=20(#1245)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Terminando traducción license.po * Apply suggestions from code review Co-authored-by: Emmanuel Arias --- dictionaries/license.txt | 18 +++ license.po | 247 ++++++++++++++++++++++++++++----------- 2 files changed, 196 insertions(+), 69 deletions(-) create mode 100644 dictionaries/license.txt diff --git a/dictionaries/license.txt b/dictionaries/license.txt new file mode 100644 index 0000000000..89dc190a25 --- /dev/null +++ b/dictionaries/license.txt @@ -0,0 +1,18 @@ +Beihang +Bernstein +Centrum +Corporation +Creations +Initiatives +Keio +Marek +Mathematisch +National +Research +Reston +Stichting +cfuhash +com +dtoa +libffi +strtod diff --git a/license.po b/license.po index e75da44ca5..0d7ff4bca6 100644 --- a/license.po +++ b/license.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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-04 11:18+0200\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: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/license.rst:7 msgid "History and License" -msgstr "" +msgstr "Historia y Licencia" #: ../Doc/license.rst:11 msgid "History of the software" -msgstr "" +msgstr "Historia del software" #: ../Doc/license.rst:13 msgid "" @@ -35,6 +37,10 @@ msgid "" "successor of a language called ABC. Guido remains Python's principal " "author, although it includes many contributions from others." msgstr "" +"Python fue creado a principios de la década de 1990 por Guido van Rossum en " +"Stichting Mathematisch Centrum (CWI, ver https://www.cwi.nl/) en los Países " +"Bajos como sucesor de un idioma llamado ABC. Guido sigue siendo el autor " +"principal de Python, aunque incluye muchas contribuciones de otros." #: ../Doc/license.rst:18 msgid "" @@ -42,6 +48,9 @@ msgid "" "Research Initiatives (CNRI, see https://www.cnri.reston.va.us/) in Reston, " "Virginia where he released several versions of the software." msgstr "" +"En 1995, Guido continuó su trabajo en Python en la Corporation for National " +"Research Initiatives (CNRI, consulte https://www.cnri.reston.va.us/) en " +"Reston, Virginia, donde lanzó varias versiones del software." #: ../Doc/license.rst:22 msgid "" @@ -53,6 +62,14 @@ msgid "" "specifically to own Python-related Intellectual Property. Zope Corporation " "is a sponsoring member of the PSF." msgstr "" +"En mayo de 2000, Guido y el equipo de desarrollo central de Python se " +"trasladaron a BeOpen.com para formar el equipo de BeOpen PythonLabs. En " +"octubre del mismo año, el equipo de PythonLabs se trasladó a Digital " +"Creations (ahora Zope Corporation; consulte https://www.zope.org/). En 2001, " +"se formó la Python Software Foundation (PSF, consulte https://www.python.org/" +"psf/), una organización sin fines de lucro creada específicamente para " +"poseer la propiedad intelectual relacionada con Python. Zope Corporation es " +"miembro patrocinador del PSF." #: ../Doc/license.rst:30 msgid "" @@ -61,143 +78,148 @@ msgid "" "have also been GPL-compatible; the table below summarizes the various " "releases." msgstr "" +"Todas las versiones de Python son de código abierto (consulte https://" +"opensource.org/ para conocer la definición de código abierto). " +"Históricamente, la mayoría de las versiones de Python, pero no todas, " +"también han sido compatibles con GPL; la siguiente tabla resume las " +"distintas versiones." #: ../Doc/license.rst:35 msgid "Release" -msgstr "" +msgstr "Lanzamiento" #: ../Doc/license.rst:35 msgid "Derived from" -msgstr "" +msgstr "Derivado de" #: ../Doc/license.rst:35 msgid "Year" -msgstr "" +msgstr "Año" #: ../Doc/license.rst:35 msgid "Owner" -msgstr "" +msgstr "Dueño/a" #: ../Doc/license.rst:35 msgid "GPL compatible?" -msgstr "" +msgstr "¿compatible con GPL?" #: ../Doc/license.rst:37 msgid "0.9.0 thru 1.2" -msgstr "" +msgstr "0.9.0 hasta 1.2" #: ../Doc/license.rst:37 msgid "n/a" -msgstr "" +msgstr "n/a" #: ../Doc/license.rst:37 msgid "1991-1995" -msgstr "" +msgstr "1991-1995" #: ../Doc/license.rst:37 msgid "CWI" -msgstr "" +msgstr "CWI" #: ../Doc/license.rst:37 ../Doc/license.rst:39 ../Doc/license.rst:49 #: ../Doc/license.rst:51 ../Doc/license.rst:53 ../Doc/license.rst:55 #: ../Doc/license.rst:57 msgid "yes" -msgstr "" +msgstr "sí" #: ../Doc/license.rst:39 msgid "1.3 thru 1.5.2" -msgstr "" +msgstr "1.3 hasta 1.5.2" #: ../Doc/license.rst:39 msgid "1.2" -msgstr "" +msgstr "1.2" #: ../Doc/license.rst:39 msgid "1995-1999" -msgstr "" +msgstr "1995-1999" #: ../Doc/license.rst:39 ../Doc/license.rst:41 ../Doc/license.rst:45 msgid "CNRI" -msgstr "" +msgstr "CNRI" #: ../Doc/license.rst:41 ../Doc/license.rst:43 ../Doc/license.rst:45 msgid "1.6" -msgstr "" +msgstr "1.6" #: ../Doc/license.rst:41 msgid "1.5.2" -msgstr "" +msgstr "1.5.2" #: ../Doc/license.rst:41 ../Doc/license.rst:43 msgid "2000" -msgstr "" +msgstr "2000" #: ../Doc/license.rst:41 ../Doc/license.rst:43 ../Doc/license.rst:45 #: ../Doc/license.rst:47 msgid "no" -msgstr "" +msgstr "no" #: ../Doc/license.rst:43 msgid "2.0" -msgstr "" +msgstr "2.0" #: ../Doc/license.rst:43 msgid "BeOpen.com" -msgstr "" +msgstr "BeOpen.com" #: ../Doc/license.rst:45 msgid "1.6.1" -msgstr "" +msgstr "1.6.1" #: ../Doc/license.rst:45 ../Doc/license.rst:47 ../Doc/license.rst:49 #: ../Doc/license.rst:51 msgid "2001" -msgstr "" +msgstr "2001" #: ../Doc/license.rst:47 msgid "2.1" -msgstr "" +msgstr "2.1" #: ../Doc/license.rst:47 ../Doc/license.rst:49 msgid "2.0+1.6.1" -msgstr "" +msgstr "2.0+1.6.1" #: ../Doc/license.rst:47 ../Doc/license.rst:49 ../Doc/license.rst:51 #: ../Doc/license.rst:53 ../Doc/license.rst:55 ../Doc/license.rst:57 msgid "PSF" -msgstr "" +msgstr "PSF" #: ../Doc/license.rst:49 msgid "2.0.1" -msgstr "" +msgstr "2.0.1" #: ../Doc/license.rst:51 ../Doc/license.rst:53 ../Doc/license.rst:57 msgid "2.1.1" -msgstr "" +msgstr "2.1.1" #: ../Doc/license.rst:51 msgid "2.1+2.0.1" -msgstr "" +msgstr "2.1+2.0.1" #: ../Doc/license.rst:53 ../Doc/license.rst:55 msgid "2.1.2" -msgstr "" +msgstr "2.1.2" #: ../Doc/license.rst:53 ../Doc/license.rst:55 msgid "2002" -msgstr "" +msgstr "2002" #: ../Doc/license.rst:55 msgid "2.1.3" -msgstr "" +msgstr "2.1.3" #: ../Doc/license.rst:57 msgid "2.2 and above" -msgstr "" +msgstr "2.2 y superior" #: ../Doc/license.rst:57 msgid "2001-now" -msgstr "" +msgstr "2001-ahora" #: ../Doc/license.rst:62 msgid "" @@ -207,22 +229,31 @@ msgid "" "possible to combine Python with other software that is released under the " "GPL; the others don't." msgstr "" +"Compatible con GPL no significa que estemos distribuyendo Python bajo la " +"GPL. Todas las licencias de Python, a diferencia de la GPL, le permiten " +"distribuir una versión modificada sin que los cambios sean de código " +"abierto. Las licencias compatibles con GPL permiten combinar Python con otro " +"software que se publica bajo la GPL; los otros no lo hacen." #: ../Doc/license.rst:68 msgid "" "Thanks to the many outside volunteers who have worked under Guido's " "direction to make these releases possible." msgstr "" +"Gracias a los muchos voluntarios externos que han trabajado bajo la " +"dirección de Guido para hacer posibles estos lanzamientos." #: ../Doc/license.rst:73 msgid "Terms and conditions for accessing or otherwise using Python" -msgstr "" +msgstr "Términos y condiciones para acceder o usar Python" #: ../Doc/license.rst:75 msgid "" "Python software and documentation are licensed under the :ref:`PSF License " "Agreement `." msgstr "" +"El software y la documentación de Python están sujetos a :ref:`Acuerdo de " +"licencia de PSF `." #: ../Doc/license.rst:78 msgid "" @@ -230,6 +261,9 @@ msgid "" "documentation are dual licensed under the PSF License Agreement and the :ref:" "`Zero-Clause BSD license `." msgstr "" +"A partir de Python 3.8.6, los ejemplos, recetas y otros códigos de la " +"documentación tienen licencia doble según el Acuerdo de licencia de PSF y " +"la :ref:`Licencia BSD de cláusula cero `." #: ../Doc/license.rst:82 msgid "" @@ -237,34 +271,40 @@ msgid "" "licenses are listed with code falling under that license. See :ref:" "`OtherLicenses` for an incomplete list of these licenses." msgstr "" +"Parte del software incorporado en Python está bajo diferentes licencias. Las " +"licencias se enumeran con el código correspondiente a esa licencia. " +"Consulte :ref:`OtherLicenses` para obtener una lista incompleta de estas " +"licencias." #: ../Doc/license.rst:90 msgid "PSF LICENSE AGREEMENT FOR PYTHON |release|" -msgstr "" +msgstr "ACUERDO DE LICENCIA DE PSF PARA PYTHON | lanzamiento |" #: ../Doc/license.rst:138 msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" -msgstr "" +msgstr "ACUERDO DE LICENCIA DE BEOPEN.COM PARA PYTHON 2.0" #: ../Doc/license.rst:140 msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" -msgstr "" +msgstr "ACUERDO DE LICENCIA DE CÓDIGO ABIERTO DE BEOPEN PYTHON VERSIÓN 1" #: ../Doc/license.rst:185 msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" -msgstr "" +msgstr "ACUERDO DE LICENCIA CNRI PARA PYTHON 1.6.1" #: ../Doc/license.rst:250 msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" -msgstr "" +msgstr "ACUERDO DE LICENCIA CWI PARA PYTHON 0.9.0 HASTA 1.2" #: ../Doc/license.rst:277 msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON |release| DOCUMENTATION" msgstr "" +"LICENCIA BSD DE CLÁUSULA CERO PARA CÓDIGO EN EL PYTHON | lanzamiento | " +"DOCUMENTACIÓN" #: ../Doc/license.rst:296 msgid "Licenses and Acknowledgements for Incorporated Software" -msgstr "" +msgstr "Licencias y reconocimientos para software incorporado" #: ../Doc/license.rst:298 msgid "" @@ -272,10 +312,13 @@ msgid "" "acknowledgements for third-party software incorporated in the Python " "distribution." msgstr "" +"Esta sección es una lista incompleta, pero creciente, de licencias y " +"reconocimientos para software de terceros incorporado en la distribución de " +"Python." #: ../Doc/license.rst:303 msgid "Mersenne Twister" -msgstr "" +msgstr "Mersenne Twister" #: ../Doc/license.rst:305 msgid "" @@ -283,10 +326,13 @@ msgid "" "math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The following " "are the verbatim comments from the original code::" msgstr "" +"El módulo :mod:`_random` incluye código basado en una descarga de http://www." +"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. Los siguientes " +"son los comentarios textuales del código original:" #: ../Doc/license.rst:352 msgid "Sockets" -msgstr "" +msgstr "Sockets" #: ../Doc/license.rst:354 msgid "" @@ -294,80 +340,88 @@ msgid "" "`getnameinfo`, which are coded in separate source files from the WIDE " "Project, http://www.wide.ad.jp/. ::" msgstr "" +"El módulo :mod:`socket` usa las funciones, :func:`getaddrinfo`, y :func:" +"`getnameinfo`, que están codificadas en archivos fuente separados del " +"Proyecto WIDE, http://www.wide.ad.jp /. ::" #: ../Doc/license.rst:387 msgid "Asynchronous socket services" -msgstr "" +msgstr "Servicios de socket asincrónicos" #: ../Doc/license.rst:389 msgid "" "The :mod:`asynchat` and :mod:`asyncore` modules contain the following " "notice::" msgstr "" +"Los módulos :mod:`asynchat` y :mod:`asyncore` contienen el siguiente aviso::" #: ../Doc/license.rst:414 msgid "Cookie management" -msgstr "" +msgstr "Gestión de cookies" #: ../Doc/license.rst:416 msgid "The :mod:`http.cookies` module contains the following notice::" -msgstr "" +msgstr "El módulo :mod:`http.cookies` contiene el siguiente aviso::" #: ../Doc/license.rst:442 msgid "Execution tracing" -msgstr "" +msgstr "Seguimiento de ejecución" #: ../Doc/license.rst:444 msgid "The :mod:`trace` module contains the following notice::" -msgstr "" +msgstr "El módulo :mod:`trace` contiene el siguiente aviso::" #: ../Doc/license.rst:475 msgid "UUencode and UUdecode functions" -msgstr "" +msgstr "funciones UUencode y UUdecode" #: ../Doc/license.rst:477 msgid "The :mod:`uu` module contains the following notice::" -msgstr "" +msgstr "El módulo :mod:`uu` contiene el siguiente aviso::" #: ../Doc/license.rst:505 msgid "XML Remote Procedure Calls" -msgstr "" +msgstr "Llamadas a procedimientos remotos XML" #: ../Doc/license.rst:507 msgid "The :mod:`xmlrpc.client` module contains the following notice::" -msgstr "" +msgstr "El módulo :mod:`xmlrpc.client` contiene el siguiente aviso::" #: ../Doc/license.rst:538 msgid "test_epoll" -msgstr "" +msgstr "test_epoll" #: ../Doc/license.rst:540 msgid "The :mod:`test_epoll` module contains the following notice::" -msgstr "" +msgstr "El módulo :mod:`test_epoll` contiene el siguiente aviso::" #: ../Doc/license.rst:564 msgid "Select kqueue" -msgstr "" +msgstr "Seleccionar kqueue" #: ../Doc/license.rst:566 msgid "" "The :mod:`select` module contains the following notice for the kqueue " "interface::" msgstr "" +"El módulo :mod:`select` contiene el siguiente aviso para la interfaz kqueue::" #: ../Doc/license.rst:595 msgid "SipHash24" -msgstr "" +msgstr "SipHash24" #: ../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 "" +"El archivo :file:`Python/pyhash.c` contiene la implementación de Marek " +"Majkowski del algoritmo SipHash24 de Dan Bernstein. Contiene la siguiente " +"nota::" #: ../Doc/license.rst:624 msgid "strtod and dtoa" -msgstr "" +msgstr "strtod y dtoa" #: ../Doc/license.rst:626 msgid "" @@ -377,10 +431,15 @@ msgid "" "org/fp/. The original file, as retrieved on March 16, 2009, contains the " "following copyright and licensing notice::" msgstr "" +"El archivo :file:`Python/dtoa.c`, que proporciona las funciones de C dtoa y " +"strtod para la conversión de C dobles hacia y desde cadenas, se deriva del " +"archivo del mismo nombre de David M. Gay, actualmente disponible en http://" +"www.netlib.org/fp/. El archivo original, recuperado el 16 de marzo de 2009, " +"contiene el siguiente aviso de licencia y derechos de autor::" #: ../Doc/license.rst:654 msgid "OpenSSL" -msgstr "" +msgstr "OpenSSL" #: ../Doc/license.rst:656 msgid "" @@ -390,30 +449,41 @@ msgid "" "include a copy of the OpenSSL libraries, so we include a copy of the OpenSSL " "license here::" msgstr "" +"Los módulos :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` usan la " +"biblioteca OpenSSL para un mayor rendimiento si el sistema operativo los " +"pone a disposición. Además, los instaladores de Windows y Mac OS X para " +"Python pueden incluir una copia de las bibliotecas de OpenSSL, por lo que " +"incluimos una copia de la licencia de OpenSSL aquí::" #: ../Doc/license.rst:791 msgid "expat" -msgstr "" +msgstr "expat" #: ../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 "" +"La extensión :mod:`pyexpat` se construye usando una copia incluida de las " +"fuentes de expatriados a menos que la construcción esté configurada ``--with-" +"system-expat``::" #: ../Doc/license.rst:820 msgid "libffi" -msgstr "" +msgstr "libffi" #: ../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 "" +"La extensión :mod:`_ctypes` se construye usando una copia incluida de las " +"fuentes de libffi a menos que la construcción esté configurada ``--with-" +"system-libffi``::" #: ../Doc/license.rst:849 msgid "zlib" -msgstr "" +msgstr "zlib" #: ../Doc/license.rst:851 msgid "" @@ -421,30 +491,38 @@ msgid "" "sources if the zlib version found on the system is too old to be used for " "the build::" msgstr "" +"La extensión :mod:`zlib` se crea utilizando una copia incluida de las " +"fuentes de zlib si la versión de zlib encontrada en el sistema es demasiado " +"antigua para ser utilizada para la compilación::" #: ../Doc/license.rst:880 msgid "cfuhash" -msgstr "" +msgstr "cfuhash" #: ../Doc/license.rst:882 msgid "" "The implementation of the hash table used by the :mod:`tracemalloc` is based " "on the cfuhash project::" msgstr "" +"La implementación de la tabla hash utilizada por :mod:`tracemalloc` se basa " +"en el proyecto cfuhash::" #: ../Doc/license.rst:921 msgid "libmpdec" -msgstr "" +msgstr "libmpdec" #: ../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 "" +"El módulo :mod:`_decimal` se construye usando una copia incluida de la " +"biblioteca libmpdec a menos que la construcción esté configurada ``--with-" +"system-libmpdec``::" #: ../Doc/license.rst:953 msgid "W3C C14N test suite" -msgstr "" +msgstr "Conjunto de pruebas W3C C14N" #: ../Doc/license.rst:955 msgid "" @@ -452,23 +530,35 @@ msgid "" "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 "" +"El conjunto de pruebas C14N 2.0 en el paquete :mod:`test` (``Lib/test/" +"xmltestdata/c14n-20/``) se recuperó del sitio web del W3C en https://www.w3." +"org/TR/xml-c14n2-testcases / y se distribuye bajo la licencia BSD de 3 " +"cláusulas:" #: ../Doc/license.rst:960 msgid "" "Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved." msgstr "" +"Copyright (c) 2013 W3C (R) (MIT, ERCIM, Keio, Beihang), Todos los derechos " +"reservados." #: ../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 "" +"La redistribución y el uso en formato fuente y binario, con o sin " +"modificaciones, están permitidos siempre que se cumplan las siguientes " +"condiciones:" #: ../Doc/license.rst:967 msgid "" "Redistributions of works must retain the original copyright notice, this " "list of conditions and the following disclaimer." msgstr "" +"Las redistribuciones de obras deben conservar el aviso de copyright " +"original, esta lista de condiciones y el siguiente descargo de " +"responsabilidad." #: ../Doc/license.rst:969 msgid "" @@ -476,6 +566,10 @@ msgid "" "this list of conditions and the following disclaimer in the documentation " "and/or other materials provided with the distribution." msgstr "" +"Las redistribuciones en formato binario deben reproducir el aviso de " +"derechos de autor original, esta lista de condiciones y el siguiente " +"descargo de responsabilidad en la documentación u otros materiales " +"proporcionados con la distribución." #: ../Doc/license.rst:972 msgid "" @@ -483,6 +577,9 @@ msgid "" "endorse or promote products derived from this work without specific prior " "written permission." msgstr "" +"Ni el nombre del W3C ni los nombres de sus colaboradores pueden usarse para " +"respaldar o promover productos derivados de este trabajo sin un permiso " +"previo específico por escrito." #: ../Doc/license.rst:976 msgid "" @@ -498,3 +595,15 @@ msgid "" "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE " "POSSIBILITY OF SUCH DAMAGE." msgstr "" +"ESTE SOFTWARE ES PROPORCIONADO POR LOS TITULARES DE LOS DERECHOS DE AUTOR Y " +"COLABORADORES \"TAL CUAL\" Y CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, " +"INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD " +"E IDONEIDAD PARA UN PROPÓSITO DETERMINADO ESTÁN RENUNCIADAS. EN NINGÚN CASO " +"EL PROPIETARIO DE LOS DERECHOS DE AUTOR O LOS COLABORADORES SERÁN " +"RESPONSABLES DE CUALQUIER DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, " +"EJEMPLAR O CONSECUENTE (INCLUYENDO, PERO NO LIMITADO A, LA ADQUISICIÓN DE " +"BIENES O SERVICIOS SUSTITUTOS; PÉRDIDA DE USO, DATOS O BENEFICIOS; O " +"INTERRUPCIÓN COMERCIAL) SIN EMBARGO Y EN CUALQUIER TEORÍA DE " +"RESPONSABILIDAD, YA SEA POR CONTRATO, RESPONSABILIDAD ESTRICTA O AGRAVIO " +"(INCLUYENDO NEGLIGENCIA O DE OTRA MANERA) QUE SURJA DE CUALQUIER FORMA DEL " +"USO DE ESTE SOFTWARE, AUNQUE SE INDIQUE LA POSIBILIDAD DE DICHO DAÑO." From 75a75df64e32590f60999d98da43ad26650a9d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Wed, 4 Aug 2021 15:56:18 +0100 Subject: [PATCH 16/94] Continuing the translation of unittest (#651) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Carlos A. Crespo Co-authored-by: Emmanuel Arias Co-authored-by: Manuel Kaufmann Co-authored-by: Marcos Medrano Co-authored-by: Álvaro Mondéjar Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_unittest.txt | 38 + library/unittest.po | 1448 +++++++++++++++++++++++++---- 2 files changed, 1303 insertions(+), 183 deletions(-) create mode 100644 dictionaries/library_unittest.txt diff --git a/dictionaries/library_unittest.txt b/dictionaries/library_unittest.txt new file mode 100644 index 0000000000..86917fa045 --- /dev/null +++ b/dictionaries/library_unittest.txt @@ -0,0 +1,38 @@ +Beck +Dicts +Kent +TestCase +TestSuite +Testea +Unittest +aleatoriza +break +catch +debugger +discover +discovery +errors +fail +fixture +frozenset +frozensets +instanciará +locals +logs +longMessage +msg +refactorizaciones +reimplementar +runner +setUpClass +setUpModule +standard +subtest +subtests +tb +tearDownClass +tearDownModule +tests +testea +unittest +verbosity diff --git a/library/unittest.po b/library/unittest.po index c9f3c58a29..9b05eef947 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -5,34 +5,43 @@ # 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 +# Translation started and completed partially by: +# Marcos Sánchez Provencio , 2020. +# Translation finished by: +# Claudia Millán (clacri), 2020. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\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" +"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"PO-Revision-Date: 2021-03-20 11:09-0300\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: Claudia Millán (@clacri)\n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/unittest.rst:2 msgid ":mod:`unittest` --- Unit testing framework" -msgstr "" +msgstr ":mod:`unittest` --- Infraestructura de tests unitarios" #: ../Doc/library/unittest.rst:12 msgid "**Source code:** :source:`Lib/unittest/__init__.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/unittest/__init__.py`" #: ../Doc/library/unittest.rst:16 msgid "" "(If you are already familiar with the basic concepts of testing, you might " "want to skip to :ref:`the list of assert methods `.)" msgstr "" +"(Si ya estás familiarizado con los conceptos básicos de realización de " +"tests, puedes saltar a :ref:`la lista de métodos de aserción `.)" #: ../Doc/library/unittest.rst:19 msgid "" @@ -42,16 +51,24 @@ msgid "" "for tests, aggregation of tests into collections, and independence of the " "tests from the reporting framework." msgstr "" +"La infraestructura de tests unitarios :mod:`unittest` se inspiró en primera " +"instancia en JUnit y ofrece aspectos similares a las principales estructuras " +"de tests unitarios más importantes de otros lenguajes. Da soporte a " +"automatización de tests, inicialización compartida, código de cierre de los " +"tests, agregación de los tests en colecciones e independencia de los tests " +"de la infraestructura que los reporta." #: ../Doc/library/unittest.rst:25 msgid "" "To achieve this, :mod:`unittest` supports some important concepts in an " "object-oriented way:" msgstr "" +"Para conseguir esto, :mod:`unittest` da soporte a ciertos conceptos " +"importantes de una forma orientada a objetos:" #: ../Doc/library/unittest.rst:32 msgid "test fixture" -msgstr "" +msgstr "configuración de prueba (*fixture*)" #: ../Doc/library/unittest.rst:29 msgid "" @@ -60,10 +77,14 @@ msgid "" "example, creating temporary or proxy databases, directories, or starting a " "server process." msgstr "" +"Un :dfn:`test fixture` representa los preparativos para realizar una o más " +"pruebas y las acciones de limpieza asociadas. Esto puede incluir, por " +"ejemplo, la creación de bases de datos temporales, directorios o el arranque " +"de procesos del servidor." #: ../Doc/library/unittest.rst:37 msgid "test case" -msgstr "" +msgstr "caso de prueba" #: ../Doc/library/unittest.rst:35 msgid "" @@ -71,20 +92,26 @@ msgid "" "specific response to a particular set of inputs. :mod:`unittest` provides a " "base class, :class:`TestCase`, which may be used to create new test cases." msgstr "" +"Un :dfn:`test case` es la unidad mínima de prueba. Verifica la respuesta " +"específica a un juego particular de entradas. :mod:`unittest` proporciona " +"una clase base, :class:`TestCase`, que se puede utilizar para crear nuevos " +"casos de uso." #: ../Doc/library/unittest.rst:41 msgid "test suite" -msgstr "" +msgstr "conjunto de pruebas" #: ../Doc/library/unittest.rst:40 msgid "" "A :dfn:`test suite` is a collection of test cases, test suites, or both. It " "is used to aggregate tests that should be executed together." msgstr "" +"Un :dfn:`test suite` es una colección de casos de prueba, juegos de prueba o " +"ambos. Se usa para agrupar pruebas que se han de ejecutar juntas." #: ../Doc/library/unittest.rst:48 msgid "test runner" -msgstr "" +msgstr "ejecutor de pruebas" #: ../Doc/library/unittest.rst:44 msgid "" @@ -93,60 +120,78 @@ msgid "" "interface, a textual interface, or return a special value to indicate the " "results of executing the tests." msgstr "" +"Un :dfn:`test runner` es un componente que dirige la ejecución de las " +"pruebas y proporciona un resultado. El ejecutor puede disponer de una " +"interfaz gráfica, de texto o devolver un valor especial que indique el " +"resultado de la ejecución de las pruebas." #: ../Doc/library/unittest.rst:53 msgid "Module :mod:`doctest`" -msgstr "" +msgstr "Módulo :mod:`doctest`" #: ../Doc/library/unittest.rst:53 msgid "Another test-support module with a very different flavor." -msgstr "" +msgstr "Otro módulo de soporte a pruebas con una solución muy diferente." #: ../Doc/library/unittest.rst:57 msgid "" "`Simple Smalltalk Testing: With Patterns `_" msgstr "" +"`Simple Smalltalk Testing: With Patterns `_" #: ../Doc/library/unittest.rst:56 msgid "" "Kent Beck's original paper on testing frameworks using the pattern shared " "by :mod:`unittest`." msgstr "" +"El documento original de Kent Beck sobre infraestructuras de prueba mediante " +"el patrón que utiliza :mod:`unittest`." #: ../Doc/library/unittest.rst:61 msgid "`pytest `_" -msgstr "" +msgstr "`pytest `_" #: ../Doc/library/unittest.rst:60 msgid "" "Third-party unittest framework with a lighter-weight syntax for writing " "tests. For example, ``assert func(10) == 42``." msgstr "" +"Una infraestructura de pruebas unitarias de otro proveedor con una sintaxis " +"más ligera de escritura de pruebas, por ejemplo: ``assert func(10) == 42``." #: ../Doc/library/unittest.rst:65 msgid "" "`The Python Testing Tools Taxonomy `_" msgstr "" +"`The Python Testing Tools Taxonomy `_" #: ../Doc/library/unittest.rst:64 msgid "" "An extensive list of Python testing tools including functional testing " "frameworks and mock object libraries." msgstr "" +"Una lista extensa de herramientas de prueba para Python incluyendo " +"infraestructuras de pruebas funcionales y librerías de objetos sucedáneos." #: ../Doc/library/unittest.rst:69 msgid "" "`Testing in Python Mailing List `_" msgstr "" +"`Testing in Python Mailing List `_" #: ../Doc/library/unittest.rst:68 msgid "" "A special-interest-group for discussion of testing, and testing tools, in " "Python." msgstr "" +"Grupo especializado en debate sobre las pruebas y las herramientas de prueba " +"de Python." #: ../Doc/library/unittest.rst:71 msgid "" @@ -158,10 +203,17 @@ msgid "" "`Jenkins `_ or `Travis-CI `_, or " "`AppVeyor `_." msgstr "" +"El script :file:`Tools/unittestgui/unittestgui.py` de la distribución de " +"fuentes de Python es una herramienta gráfica para el descubrimiento y " +"ejecución de pruebas. Está orientado sobre todo a principiantes en el tema " +"de pruebas. Para entornos de producción se recomienda que las pruebas sean " +"dirigidas por un sistema de integración continua como `Buildbot `_, `Jenkins `_ o `Hudson `_." #: ../Doc/library/unittest.rst:82 msgid "Basic example" -msgstr "" +msgstr "Ejemplo sencillo" #: ../Doc/library/unittest.rst:84 msgid "" @@ -169,10 +221,14 @@ msgid "" "running tests. This section demonstrates that a small subset of the tools " "suffice to meet the needs of most users." msgstr "" +"El módulo :mod:`unittest` proporciona un conjunto de herramientas para " +"construir y ejecutar pruebas. Esta sección demuestra que un pequeño " +"subconjunto de las herramientas es suficiente para satisfacer las " +"necesidades de la mayoría." #: ../Doc/library/unittest.rst:88 msgid "Here is a short script to test three string methods::" -msgstr "" +msgstr "He aquí un breve script para probar estros tres métodos de cadena::" #: ../Doc/library/unittest.rst:112 msgid "" @@ -181,6 +237,10 @@ msgid "" "``test``. This naming convention informs the test runner about which " "methods represent tests." msgstr "" +"Para crear un caso de prueba se genera una subclase de :class:`unittest." +"TestCase`. Las tres pruebas se definen con métodos cuyos nombres comienzan " +"por las letras ``test``. Esta convención sobre nombres indica al ejecutor de " +"pruebas qué métodos representan pruebas." #: ../Doc/library/unittest.rst:117 msgid "" @@ -191,6 +251,13 @@ msgid "" "instead of the :keyword:`assert` statement so the test runner can accumulate " "all test results and produce a report." msgstr "" +"El quid de cada test es la llamada a :meth:`~TestCase.assertEqual` para " +"verificar un resultado esperado; :meth:`~TestCase.assertTrue` o :meth:" +"`~TestCase.assertFalse` para verificar una condición; o :meth:`~TestCase." +"assertRaises` para asegurar que se lanza una excepción específica. Se " +"utilizan estos métodos en lugar de la sentencia :keyword:`assert` para que " +"el ejecutor de pruebas pueda acumular todos los resultados de la prueba de " +"cara a realizar un informe." #: ../Doc/library/unittest.rst:124 msgid "" @@ -199,6 +266,10 @@ msgid "" "method. They are covered in more detail in the section :ref:`organizing-" "tests`." msgstr "" +"Los métodos :meth:`~TestCase.setUp` y :meth:`~TestCase.tearDown` permiten " +"definir instrucciones que han de ser ejecutadas antes y después, " +"respectivamente, de cada método de prueba. Se describen con mas detalle en " +"la sección :ref:`organizing-tests`." #: ../Doc/library/unittest.rst:128 msgid "" @@ -206,6 +277,10 @@ msgid "" "provides a command-line interface to the test script. When run from the " "command line, the above script produces an output that looks like this::" msgstr "" +"El bloque final muestra un modo sencillo de ejecutar las pruebas. :func:" +"`unittest.main` proporciona una interfaz de línea de órdenes para el script " +"de prueba. Cuando se ejecuta desde la línea de órdenes, el script anterior " +"produce una salida como::" #: ../Doc/library/unittest.rst:138 msgid "" @@ -213,6 +288,9 @@ msgid "" "main` to enable a higher level of verbosity, and produce the following " "output::" msgstr "" +"Si se le pasa una opción ``-v`` al script de prueba, se establecerá un nivel " +"mayor de detalle del proceso de :func:`unittest.main` y se obtendrá la " +"siguiente salida::" #: ../Doc/library/unittest.rst:150 msgid "" @@ -220,26 +298,35 @@ msgid "" "which are sufficient to meet many everyday testing needs. The remainder of " "the documentation explores the full feature set from first principles." msgstr "" +"Los ejemplos anteriores muestra las características más usuales de :mod:" +"`unittest`, que son suficientes para solventar las necesidades cotidianas de " +"pruebas. El resto de la documentación explora el juego completo de " +"características, que abundan en los mismos principios." #: ../Doc/library/unittest.rst:158 msgid "Command-Line Interface" -msgstr "" +msgstr "Interfaz de línea de comandos" #: ../Doc/library/unittest.rst:160 msgid "" "The unittest module can be used from the command line to run tests from " "modules, classes or even individual test methods::" msgstr "" +"Se puede usar el módulo `unittest` desde la línea de órdenes para ejecutar " +"pruebas de módulos, clases o hasta métodos de prueba individuales::" #: ../Doc/library/unittest.rst:167 msgid "" "You can pass in a list with any combination of module names, and fully " "qualified class or method names." msgstr "" +"Se puede pasar una lista con cualquier combinación de nombres de módulo, así " +"como clases o métodos completamente cualificados." #: ../Doc/library/unittest.rst:170 msgid "Test modules can be specified by file path as well::" msgstr "" +"Se puede especificar los módulos de prueba por ruta de fichero también::" #: ../Doc/library/unittest.rst:174 msgid "" @@ -249,35 +336,47 @@ msgid "" "separators into '.'. If you want to execute a test file that isn't " "importable as a module you should execute the file directly instead." msgstr "" +"Esto permite usar el completado automático de nombre de fichero de la shell " +"para especificar el módulo de pruebas. El fichero especificado aún debe ser " +"susceptible de importarse como módulo. La ruta se convierte en nombre de " +"módulo eliminando '.py' y convirtiendo el separador de directorios por '.'. " +"Si se desea ejecutar un fichero de prueba que no se puede importar como " +"módulo, se ha de ejecutar el fichero directamente." #: ../Doc/library/unittest.rst:180 msgid "" "You can run tests with more detail (higher verbosity) by passing in the -v " "flag::" msgstr "" +"Se pueden ejecutar las pruebas con más nivel de detalle (mayor verbosidad) " +"pasando el parámetro `-v`::" #: ../Doc/library/unittest.rst:184 msgid "" "When executed without arguments :ref:`unittest-test-discovery` is started::" msgstr "" +"Cuando se ejecuta sin argumentos, se inicia :ref:`unittest-test-discovery`::" #: ../Doc/library/unittest.rst:188 msgid "For a list of all the command-line options::" -msgstr "" +msgstr "Para obtener una lista de todas las opciones de línea de órdenes::" #: ../Doc/library/unittest.rst:192 msgid "" "In earlier versions it was only possible to run individual test methods and " "not modules or classes." msgstr "" +"En versiones anteriores sólo era posible ejecutar métodos de prueba " +"individuales, pero no módulos ni clases." #: ../Doc/library/unittest.rst:198 msgid "Command-line options" -msgstr "" +msgstr "Opciones de la línea de órdenes" #: ../Doc/library/unittest.rst:200 msgid ":program:`unittest` supports these command-line options:" msgstr "" +":program:`unittest` da soporte a las siguientes opciones de línea de órdenes:" #: ../Doc/library/unittest.rst:206 msgid "" @@ -285,6 +384,10 @@ msgid "" "run. Output during a passing test is discarded. Output is echoed normally on " "test fail or error and is added to the failure messages." msgstr "" +"Los flujos de datos de salida estándar y error estándar se acumulan en un " +"búfer durante la ejecución de pruebas. La salida de las pruebas correctas se " +"descarta. La salida de las pruebas que fallan o devuelven un error se añade " +"a los mensajes de fallo." #: ../Doc/library/unittest.rst:212 msgid "" @@ -292,15 +395,21 @@ msgid "" "then reports all the results so far. A second :kbd:`Control-C` raises the " "normal :exc:`KeyboardInterrupt` exception." msgstr "" +"La pulsación de :kbd:`Control-C` durante la ejecución de pruebas espera a " +"que termine la prueba en curso y da un informe de los resultados hasta ese " +"momento. Una segunda pulsación de :kbd:`Control-C` lanza la excepción :exc:" +"`KeyboardInterrupt` usual." #: ../Doc/library/unittest.rst:216 msgid "" "See `Signal Handling`_ for the functions that provide this functionality." msgstr "" +"Consultar en `Gestión de señales`_ las funciones que proporcionan esta " +"funcionalidad." #: ../Doc/library/unittest.rst:220 msgid "Stop the test run on the first error or failure." -msgstr "" +msgstr "Finaliza la ejecución tras el primer error o fallo." #: ../Doc/library/unittest.rst:224 msgid "" @@ -308,6 +417,10 @@ msgid "" "option may be used multiple times, in which case all test cases that match " "of the given patterns are included." msgstr "" +"Ejecutar solamente los métodos y clases de prueba que coincidan con el " +"patrón o subcadena. Esta opción se puede usar más de una vez, en cuyo caso " +"se incluirán todos los casos de prueba que coincidan con cualquiera de los " +"patrones dados." #: ../Doc/library/unittest.rst:228 msgid "" @@ -315,12 +428,17 @@ msgid "" "test name using :meth:`fnmatch.fnmatchcase`; otherwise simple case-sensitive " "substring matching is used." msgstr "" +"Los patrones que contengan un comodín (``*``) se comprueban contra el nombre " +"de la prueba usando :meth:`fnmatch.fnmatchcase`; si no lo contienen, se usa " +"una comprobación de contenido simple sensible a mayúsculas." #: ../Doc/library/unittest.rst:232 msgid "" "Patterns are matched against the fully qualified test method name as " "imported by the test loader." msgstr "" +"Los patrones se comprueban contra el nombre del método completamente " +"cualificado como lo importa el cargador de pruebas." #: ../Doc/library/unittest.rst:235 msgid "" @@ -328,32 +446,37 @@ msgid "" "``bar_tests.SomeTest.test_foo``, but not ``bar_tests.FooTest." "test_something``." msgstr "" +"Por ejemplo, ``-k foo`` coincide con ``foo_tests.SomeTest.test_something`` y " +"con ``bar_tests.SomeTest.test_foo``, pero no con ``bar_tests.FooTest." +"test_something``." #: ../Doc/library/unittest.rst:240 msgid "Show local variables in tracebacks." -msgstr "" +msgstr "Mostrar las variables locales en las trazas." #: ../Doc/library/unittest.rst:242 msgid "The command-line options ``-b``, ``-c`` and ``-f`` were added." -msgstr "" +msgstr "Se añadieron las opciones de línea de órdenes ``-b``, ``-c`` y ``-f``." #: ../Doc/library/unittest.rst:245 msgid "The command-line option ``--locals``." -msgstr "" +msgstr "La opción de línea de órdenes ``--locals``." #: ../Doc/library/unittest.rst:248 msgid "The command-line option ``-k``." -msgstr "" +msgstr "La opción de línea de órdenes ``-k``." #: ../Doc/library/unittest.rst:251 msgid "" "The command line can also be used for test discovery, for running all of the " "tests in a project or just a subset." msgstr "" +"La línea de órdenes también se puede usar para descubrimiento de pruebas, " +"para ejecutar todas las pruebas de un proyecto o un subconjunto de éstas." #: ../Doc/library/unittest.rst:258 msgid "Test Discovery" -msgstr "" +msgstr "Descubrimiento de pruebas" #: ../Doc/library/unittest.rst:262 msgid "" @@ -364,12 +487,21 @@ msgid "" "(this means that their filenames must be valid :ref:`identifiers " "`)." msgstr "" +"Unittest da soporte al descubrimiento de pruebas simples. Para ser " +"compatible con el descubrimiento de pruebas, todos los ficheros de prueba " +"deben ser :ref:`módulos ` o :ref:`paquetes ` " +"(incluyendo :term:`paquetes nominales `) importables " +"desde el directorio superior del proyecto (por lo que sus nombres han de " +"ser :ref:`identificadores ` válidos)." #: ../Doc/library/unittest.rst:269 msgid "" "Test discovery is implemented in :meth:`TestLoader.discover`, but can also " "be used from the command line. The basic command-line usage is::" msgstr "" +"El descubrimiento de pruebas está implementado en :meth:`TestLoader." +"discover`, pero también se puede usar desde la línea de órdenes. La línea de " +"órdenes básica es::" #: ../Doc/library/unittest.rst:277 msgid "" @@ -377,26 +509,30 @@ msgid "" "unittest discover``. If you want to pass arguments to test discovery the " "``discover`` sub-command must be used explicitly." msgstr "" +"Como atajo, ``python -m unittest`` es el equivalente de ``python -m unittest " +"discover``. Si se desea pasar argumentos al descubrimiento de pruebas, hay " +"que pasar la sub-orden ``discover`` explícitamente." #: ../Doc/library/unittest.rst:281 msgid "The ``discover`` sub-command has the following options:" -msgstr "" +msgstr "La sub-orden ``discover`` cuenta con las siguientes opciones:" #: ../Doc/library/unittest.rst:287 msgid "Verbose output" -msgstr "" +msgstr "Salida verbosa" #: ../Doc/library/unittest.rst:291 msgid "Directory to start discovery (``.`` default)" -msgstr "" +msgstr "Directorio de inicio para el descubrimiento (``.`` si se omite)" #: ../Doc/library/unittest.rst:295 msgid "Pattern to match test files (``test*.py`` default)" msgstr "" +"Patrón para la búsqueda de ficheros de prueba (``test*.py`` si se omite)" #: ../Doc/library/unittest.rst:299 msgid "Top level directory of project (defaults to start directory)" -msgstr "" +msgstr "Directorio superior del proyecto (el directorio inicial si se omite)" #: ../Doc/library/unittest.rst:301 msgid "" @@ -404,6 +540,9 @@ msgid "" "positional arguments in that order. The following two command lines are " "equivalent::" msgstr "" +"Las opciones :option:`-s`, :option:`-p`, y :option:`-t` se pueden pasar por " +"posición en el orden mostrado. Las siguientes líneas de órdenes son " +"equivalentes::" #: ../Doc/library/unittest.rst:308 msgid "" @@ -412,6 +551,10 @@ msgid "" "supply will then be imported and its location on the filesystem will be used " "as the start directory." msgstr "" +"Además de pasar una ruta, es posible pasar el nombre de un paquete, por " +"ejemplo ``myproject.subpackage.test``, como directorio de inicio. El nombre " +"de paquete proporcionado será importado y su ubicación en el sistema de " +"archivos será utilizada como directorio de inicio." #: ../Doc/library/unittest.rst:315 msgid "" @@ -420,6 +563,11 @@ msgid "" "into package names to import. For example :file:`foo/bar/baz.py` will be " "imported as ``foo.bar.baz``." msgstr "" +"El descubrimiento de pruebas carga las pruebas importándolas. Una vez que el " +"descubrimiento ha encontrado todos los ficheros de prueba a partir del " +"directorio inicial, especificado, convierte las rutas en nombres de paquetes " +"a importar. Por ejemplo, :file:`foo/bar/baz.py` será importado como ``foo." +"bar.baz``." #: ../Doc/library/unittest.rst:320 msgid "" @@ -427,6 +575,10 @@ msgid "" "different copy of the package then the import *could* happen from the wrong " "place. If this happens test discovery will warn you and exit." msgstr "" +"Si hay un paquete instalado globalmente y se intenta hacer un descubrimiento " +"sobre una copia diferente a la instalada del paquete, *podría* ocurrir que " +"se importe la versión incorrecta. Si ocurre esto, el descubrimiento lanza " +"una advertencia y abandona." #: ../Doc/library/unittest.rst:324 msgid "" @@ -434,12 +586,17 @@ msgid "" "directory then discover assumes that whichever location it imports from is " "the location you intended, so you will not get the warning." msgstr "" +"Si se proporciona el directorio de inicio como nombre de paquete en lugar de " +"ruta a un directorio, el descubrimiento asume que la ubicación importada es " +"la deseada, así que no se da la advertencia descrita." #: ../Doc/library/unittest.rst:329 msgid "" "Test modules and packages can customize test loading and discovery by " "through the `load_tests protocol`_." msgstr "" +"Los módulos y paquetes de prueba pueden personalizar la carta y " +"descubrimiento de pruebas mediante el `protocolo load_tests`_." #: ../Doc/library/unittest.rst:332 msgid "" @@ -447,10 +604,14 @@ msgid "" "start directory. Note that you need to the top level directory too. (e.g. " "``python -m unittest discover -s root/namespace -t root``)." msgstr "" +"El descubrimiento de pruebas admite :term:`paquetes nominales ` para el directorio de inicio. Tenga en cuenta que también se " +"necesita el directorio de nivel superior. (por ejemplo, ``python -m unittest " +"discover -s root/namespace -t root``)." #: ../Doc/library/unittest.rst:341 msgid "Organizing test code" -msgstr "" +msgstr "Organización del código de pruebas" #: ../Doc/library/unittest.rst:343 msgid "" @@ -460,6 +621,12 @@ msgid "" "instances. To make your own test cases you must write subclasses of :class:" "`TestCase` or use :class:`FunctionTestCase`." msgstr "" +"Los bloques de construcción básicos de las pruebas unitarias son los :dfn:" +"`test cases`, escenarios simples que se han de configurar y cuya corrección " +"hay que comprobar. En :mod:`unittest`, los casos de prueba están " +"representados por instancias de :class:`unittest.TestCase`. Para crear " +"nuevos casos de prueba, hay que escribir subclases de :class:`TestCase` o " +"usar :class:`FunctionTestCase`." #: ../Doc/library/unittest.rst:349 msgid "" @@ -467,6 +634,9 @@ msgid "" "contained, such that it can be run either in isolation or in arbitrary " "combination with any number of other test cases." msgstr "" +"El código de pruebas de una instancia de :class:`TestCase` debería ser " +"completamente autónomo, de tal modo que se pueda ejecutar aisladamente o en " +"una combinación arbitraria con otras clases de prueba." #: ../Doc/library/unittest.rst:353 msgid "" @@ -474,6 +644,9 @@ msgid "" "(i.e. a method whose name starts with ``test``) in order to perform specific " "testing code::" msgstr "" +"La subclase más simple de :class:`TestCase` se limita a implementar un " +"método test (o un método que empiece por ``test``) para realizar código de " +"prueba específico::" #: ../Doc/library/unittest.rst:364 msgid "" @@ -483,6 +656,11 @@ msgid "" "will identify the test case as a :dfn:`failure`. Any other exceptions will " "be treated as :dfn:`errors`." msgstr "" +"Adviértase que para probar algo, usamos uno de los métodos :meth:`assert\\*` " +"proporcionados por la clase base :class:`TestCase`. Si la prueba no tiene " +"éxito, se lanzará una excepción con un mensaje explicativo y :mod:`unittest` " +"identificará el caso como :dfn:`failure`. Cualquier otra excepción se " +"considerará un :dfn:`errors`." #: ../Doc/library/unittest.rst:370 msgid "" @@ -491,12 +669,18 @@ msgid "" "setUp`, which the testing framework will automatically call for every single " "test we run::" msgstr "" +"Las pruebas pueden ser muchas y su preparación puede ser repetitiva. Por " +"suerte, se puede \"sacar factor común\" a la preparación implementando un " +"método :meth:`~TestCase.setUp`, al que la infraestructura de prueba llamará " +"para cada prueba que se ejecute::" #: ../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 "" +"El orden en que se ejecutan las diversas pruebas se determina por orden " +"alfabético de los nombres de métodos de prueba." #: ../Doc/library/unittest.rst:395 msgid "" @@ -504,18 +688,25 @@ msgid "" "running, the framework will consider the test to have suffered an error, and " "the test method will not be executed." msgstr "" +"Si el método :meth:`~TestCase.setUp` lanza una excepción mientras se ejecuta " +"la prueba, la infraestructura considerará que la prueba ha sufrido un error " +"y no se ejecutará el método de prueba propiamente dicho." #: ../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 "" +"Análogamente, se puede proporcionar un método :meth:`~TestCase.tearDown` que " +"haga limpieza después de que se ejecute el método de prueba::" #: ../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 "" +"Si :meth:`~TestCase.setUp` se ejecuta sin errores, :meth:`~TestCase." +"tearDown` se ejecutará tanto si el método de prueba tuvo éxito como si no." #: ../Doc/library/unittest.rst:414 msgid "" @@ -525,6 +716,11 @@ msgid "" "`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called once per " "test." msgstr "" +"Un entorno de trabajo así para el código de pruebas se llama :dfn:`test " +"fixture` . Se crea una nueva instancia de TestCase como juego de datos de " +"prueba que se utiliza para cada método de prueba. De este modo, :meth:" +"`~TestCase.setUp`, :meth:`~TestCase.tearDown` y :meth:`~TestCase.__init__` " +"se llamarán una vez por prueba." #: ../Doc/library/unittest.rst:420 msgid "" @@ -535,12 +731,20 @@ msgid "" "do the right thing and collect all the module's test cases for you and " "execute them." msgstr "" +"Se recomienda usar implementaciones de `TestCase` para agrupar las pruebas " +"de acuerdo con las características probadas. :mod:`unittest` proporciona una " +"mecanismo para esto: el :dfn:`test suite`, representado por la clase :class:" +"`TestSuite` de :mod:`unittest`. En la mayor parte de los casos, llamar a :" +"func:`unittest.main` hará lo correcto y recolectará todos los casos de " +"prueba del módulo para su ejecución." #: ../Doc/library/unittest.rst:427 msgid "" "However, should you want to customize the building of your test suite, you " "can do it yourself::" msgstr "" +"Sin embargo, si se desea personalizar la construcción del paquete de " +"pruebas, se puede hacer::" #: ../Doc/library/unittest.rst:440 msgid "" @@ -549,44 +753,60 @@ msgid "" "are several advantages to placing the test code in a separate module, such " "as :file:`test_widget.py`:" msgstr "" +"Se puede poner las definiciones de los casos de prueba y de los paquetes de " +"prueba en los mismos módulos que el código que prueban.(tal como :file:" +"`widget.py`), pero sacarlos a un módulo aparte como :file:`test_widget.py` " +"tiene diversas ventajas:" #: ../Doc/library/unittest.rst:445 msgid "The test module can be run standalone from the command line." msgstr "" +"El módulo de pruebas se puede ejecutar aisladamente desde la línea de " +"órdenes." #: ../Doc/library/unittest.rst:447 msgid "The test code can more easily be separated from shipped code." msgstr "" +"El código de pruebas se puede separar con más facilidad del código de " +"producción." #: ../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 "" +"Disminuye la tentación de cambiar el código de prueba para ajustarse al " +"código bajo prueba." #: ../Doc/library/unittest.rst:452 msgid "" "Test code should be modified much less frequently than the code it tests." msgstr "" +"El código de pruebas debería modificarse con mucha menor frecuencia que el " +"código bajo prueba." #: ../Doc/library/unittest.rst:454 msgid "Tested code can be refactored more easily." -msgstr "" +msgstr "Es más sencillo refactorizar el código bajo prueba." #: ../Doc/library/unittest.rst:456 msgid "" "Tests for modules written in C must be in separate modules anyway, so why " "not be consistent?" msgstr "" +"El código para probar módulos escritos en C ha de estar en módulos aparte, " +"así que ¿por qué no mantener la consistencia?" #: ../Doc/library/unittest.rst:459 msgid "" "If the testing strategy changes, there is no need to change the source code." msgstr "" +"Si cambia la estrategia de prueba, no hay razón para cambiar el código " +"fuente principal." #: ../Doc/library/unittest.rst:465 msgid "Re-using old test code" -msgstr "" +msgstr "Reutilización de código de prueba anterior" #: ../Doc/library/unittest.rst:467 msgid "" @@ -594,6 +814,9 @@ msgid "" "to run from :mod:`unittest`, without converting every old test function to " "a :class:`TestCase` subclass." msgstr "" +"Habrá personas que tengan código de prueba previo que deseen ejecutar desde :" +"mod:`unittest`, sin conversión previa de cada antigua función de prueba a " +"una subclase de :class:`TestCase`." #: ../Doc/library/unittest.rst:471 msgid "" @@ -601,16 +824,22 @@ msgid "" "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 "" +"Por esto, :mod:`unittest` proporciona una clase :class:`FunctionTestCase`. " +"Se puede utilizar esta subclase de :class:`TestCase` para envolver una " +"función de prueba existente. Se pueden proporcionar también funciones de " +"preparación y desmontaje." #: ../Doc/library/unittest.rst:475 msgid "Given the following test function::" -msgstr "" +msgstr "Dada la siguiente función de prueba::" #: ../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 "" +"se puede crear una instancia de caso de prueba de la siguiente manera, con " +"métodos opcionales de preparación y desmontaje::" #: ../Doc/library/unittest.rst:491 msgid "" @@ -619,6 +848,11 @@ msgid "" "is not recommended. Taking the time to set up proper :class:`TestCase` " "subclasses will make future test refactorings infinitely easier." msgstr "" +"Aunque se puede usar :class:`FunctionTestCase` para convertir rápidamente " +"unas pruebas existentes a un sistema basado en :mod:`unittest`, no es una " +"vía recomendada. Tomarse el tiempo de construir subclases bien construidas " +"de :class:`TestCase` hará las futuras refactorizaciones de pruebas futura " +"considerablemente más fácil." #: ../Doc/library/unittest.rst:496 msgid "" @@ -627,10 +861,14 @@ msgid "" "class that can automatically build :class:`unittest.TestSuite` instances " "from the existing :mod:`doctest`\\ -based tests." msgstr "" +"En algunos casos, los tests existentes pueden haber sido escritos usando el " +"módulo :mod:`doctest`. En ese caso, :mod:`doctest` tiene una clase :class:" +"`DocTestSuite` que puede construir automáticamente instancias de :class:" +"`unittest.TestSuite` partiendo de los test basados en :mod:`doctest`." #: ../Doc/library/unittest.rst:505 msgid "Skipping tests and expected failures" -msgstr "" +msgstr "Omitir tests y fallos esperados" #: ../Doc/library/unittest.rst:509 msgid "" @@ -639,6 +877,10 @@ msgid "" "a test that is broken and will fail, but shouldn't be counted as a failure " "on a :class:`TestResult`." msgstr "" +"Unittest soporta omitir métodos individuales de tests e incluso clases " +"completas de tests. Además, soporta marcar un test como un \"fallo esperado" +"\", un test que está roto y va a fallar, pero no debería ser contado como " +"fallo en :class:`TestResult`." #: ../Doc/library/unittest.rst:514 msgid "" @@ -647,28 +889,34 @@ msgid "" "skipTest` within a :meth:`~TestCase.setUp` or test method, or raising :exc:" "`SkipTest` directly." msgstr "" +"Omitir un test es solo cuestión de emplear el :term:`decorator` :func:`skip` " +"o una de sus variantes condicionales, llamando a :meth:`TestCase.skipTest` " +"dentro de :meth:`~TestCase.setUp` o en un método de test, o lanzando :exc:" +"`SkipTest` directamente." #: ../Doc/library/unittest.rst:518 msgid "Basic skipping looks like this::" -msgstr "" +msgstr "La omisión más básica tiene la siguiente forma:" #: ../Doc/library/unittest.rst:543 msgid "This is the output of running the example above in verbose mode::" -msgstr "" +msgstr "Esta es la salida de ejecutar el ejemplo superior en modo verboso::" #: ../Doc/library/unittest.rst:555 msgid "Classes can be skipped just like methods::" -msgstr "" +msgstr "Las clases pueden ser omitidas igual que los métodos::" #: ../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 "" +":meth:`TestCase.setUp` puede omitir también el test. Esto es útil cuando un " +"recurso que necesita ser puesto a punto no está disponible." #: ../Doc/library/unittest.rst:565 msgid "Expected failures use the :func:`expectedFailure` decorator. ::" -msgstr "" +msgstr "Los fallos esperados emplean el decorador :func:`expectedFailure`. ::" #: ../Doc/library/unittest.rst:572 msgid "" @@ -676,26 +924,33 @@ msgid "" "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 "" +"Es fácil lanzar tus propios decoradores que omitan haciendo un decorador que " +"llame a :func:`skip` en el test cuando quiere ser omitido. Este decorador " +"omite el test a menos que el objeto pasado tenga un cierto atributo::" #: ../Doc/library/unittest.rst:581 msgid "" "The following decorators and exception implement test skipping and expected " "failures:" msgstr "" +"Los siguientes decoradores y la excepción implementan la omisión de tests y " +"los fallos esperados:" #: ../Doc/library/unittest.rst:585 msgid "" "Unconditionally skip the decorated test. *reason* should describe why the " "test is being skipped." msgstr "" +"Omitir incondicionalmente el test decorado. *reason* debe describir porqué " +"el test está siendo omitido." #: ../Doc/library/unittest.rst:590 msgid "Skip the decorated test if *condition* is true." -msgstr "" +msgstr "Omitir el test decorado si *condition* es verdadero." #: ../Doc/library/unittest.rst:594 msgid "Skip the decorated test unless *condition* is true." -msgstr "" +msgstr "Omitir el test decorado a menos que *condition* sea verdadero." #: ../Doc/library/unittest.rst:598 msgid "" @@ -703,16 +958,20 @@ msgid "" "it will be considered a success. If the test passes, it will be considered " "a failure." msgstr "" +"Marca el test como un fallo esperado. Si el test falla será considerado un " +"éxito. Si el test pasa, será considerado un fallo." #: ../Doc/library/unittest.rst:604 msgid "This exception is raised to skip a test." -msgstr "" +msgstr "Esta excepción es lanzada para omitir un test." #: ../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 "" +"Normalmente puedes usar directamente :meth:`TestCase.skipTest` o uno de los " +"decoradores de omisión en vez de lanzar esta excepción." #: ../Doc/library/unittest.rst:609 msgid "" @@ -721,10 +980,14 @@ msgid "" "setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped modules will not " "have :func:`setUpModule` or :func:`tearDownModule` run." msgstr "" +"Los tests omitidos no ejecutarán :meth:`~TestCase.setUp` o :meth:`~TestCase." +"tearDown`. Las clases omitidas no ejecutarán :meth:`~TestCase.setUpClass` o :" +"meth:`~TestCase.tearDownClass`. Los módulos omitidos no ejecutarán :func:" +"`setUpModule` o :func:`tearDownModule`." #: ../Doc/library/unittest.rst:617 msgid "Distinguishing test iterations using subtests" -msgstr "" +msgstr "Distinguiendo iteraciones de tests empleando subtests" #: ../Doc/library/unittest.rst:621 msgid "" @@ -732,14 +995,17 @@ msgid "" "parameters, unittest allows you to distinguish them inside the body of a " "test method using the :meth:`~TestCase.subTest` context manager." msgstr "" +"Cuando hay diferencias muy pequeñas entre tus tests, por ejemplo algunos " +"parámetros, unittest te permite distinguirlos dentro del cuerpo de un método " +"de test empleando el administrador de contexto :meth:`~TestCase.subTest` ." #: ../Doc/library/unittest.rst:625 msgid "For example, the following test::" -msgstr "" +msgstr "Por ejemplo, el siguiente test::" #: ../Doc/library/unittest.rst:637 msgid "will produce the following output::" -msgstr "" +msgstr "producirá la siguiente salida:" #: ../Doc/library/unittest.rst:663 msgid "" @@ -747,18 +1013,21 @@ msgid "" "the error would be less easy to diagnose because the value of ``i`` wouldn't " "be displayed::" msgstr "" +"Sin usar un subtest, la ejecución se pararía después del primer fallo, y el " +"error sería más difícil de diagnosticar porque el valor de ``i`` no se " +"mostraría::" #: ../Doc/library/unittest.rst:679 msgid "Classes and functions" -msgstr "" +msgstr "Clases y funciones" #: ../Doc/library/unittest.rst:681 msgid "This section describes in depth the API of :mod:`unittest`." -msgstr "" +msgstr "Esta sección describe en detalle la API de :mod:`unittest`." #: ../Doc/library/unittest.rst:687 msgid "Test cases" -msgstr "" +msgstr "Casos de test" #: ../Doc/library/unittest.rst:691 msgid "" @@ -769,6 +1038,13 @@ msgid "" "drive the tests, and methods that the test code can use to check for and " "report various kinds of failure." msgstr "" +"Las instancias de la clase :class:`TestCase` representan las unidades " +"lógicas de test en el universo de :mod:`unittest`. Esta clase está pensada " +"para ser utilizada como clase base, con los test específicos siendo " +"implementados por subclases concretas. Esta clase implementa la interfaz que " +"necesita el ejecutor de tests para permitirle llevar a cabo los tests, y " +"métodos que el código de test puede utilizar para chequear y reportar " +"distintos tipos de fallo." #: ../Doc/library/unittest.rst:698 msgid "" @@ -776,6 +1052,10 @@ msgid "" "named *methodName*. In most uses of :class:`TestCase`, you will neither " "change the *methodName* nor reimplement the default ``runTest()`` method." msgstr "" +"Cada instancia de :class:`TestCase` ejecutará un solo método base: el " +"método llamado *methodName*. En la mayoría de usos de :class:`TestCase`, no " +"tendrás que cambiar el *methodName* ni reimplementar el método por defecto " +"``runTest()``." #: ../Doc/library/unittest.rst:703 msgid "" @@ -783,6 +1063,9 @@ msgid "" "*methodName*. This makes it easier to experiment with :class:`TestCase` from " "the interactive interpreter." msgstr "" +":class:`TestCase` puede instancias con éxito sin dar un *methodName*. Esto " +"permite experimentar de manera sencilla con :class:`TestCase` en el " +"intérprete interactivo." #: ../Doc/library/unittest.rst:708 msgid "" @@ -791,10 +1074,14 @@ msgid "" "and report failures, and some inquiry methods allowing information about the " "test itself to be gathered." msgstr "" +"Las instancias de :class:`TestCase` proveen tres grupos de métodos: un " +"grupo empleado para ejecutar el test, otro usado para que la implementación " +"del test chequee condiciones y reporte fallos, y algunos métodos de " +"indagación que permiten recopilar información sobre el test en si mismo." #: ../Doc/library/unittest.rst:713 msgid "Methods in the first group (running the test) are:" -msgstr "" +msgstr "Los métodos en el primer grupo (ejecutando el test) son:" #: ../Doc/library/unittest.rst:717 msgid "" @@ -803,6 +1090,11 @@ msgid "" "`SkipTest`, any exception raised by this method will be considered an error " "rather than a test failure. The default implementation does nothing." msgstr "" +"Método llamado para preparar el banco de test. Es invocado inmediatamente " +"antes de llamar al método de test; cualquier excepción lanzada por este " +"método que no sea :exc:`AssertionError` o :exc:`SkipTest` será considerada " +"un error en vez de un fallo del test. La implementación por defecto no hace " +"nada." #: ../Doc/library/unittest.rst:725 msgid "" @@ -816,6 +1108,16 @@ msgid "" "the :meth:`setUp` succeeds, regardless of the outcome of the test method. " "The default implementation does nothing." msgstr "" +"Método llamado inmediatamente después de que se haya llamado el método de " +"prueba y se haya registrado el resultado. Se llama así aunque el método de " +"ensayo haya planteado una excepción, por lo que la aplicación en las " +"subclases puede tener que ser especialmente cuidadosa en cuanto a la " +"comprobación del estado interno. Cualquier excepción, que no sea :exc:" +"`AssertionError` o :exc:`SkipTest`, planteada por este método se " +"considerará un error adicional en lugar de un fallo de la prueba (aumentando " +"así el número total de errores reportados). Este método sólo se llamará si :" +"meth:`setUp` tiene éxito, independientemente del resultado del método de " +"prueba. La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:738 msgid "" @@ -823,10 +1125,13 @@ msgid "" "``setUpClass`` is called with the class as the only argument and must be " "decorated as a :func:`classmethod`::" msgstr "" +"Un método de clase llamado antes de que los tests en una clase individual " +"sean ejecutados. ``setUpClass`` es llamado con la clase como el único " +"argumento y debe ser decorada como :func:`classmethod`::" #: ../Doc/library/unittest.rst:746 ../Doc/library/unittest.rst:761 msgid "See `Class and Module Fixtures`_ for more details." -msgstr "" +msgstr "Vea `Class and Module Fixtures`_ para más detalles." #: ../Doc/library/unittest.rst:753 msgid "" @@ -834,6 +1139,9 @@ msgid "" "``tearDownClass`` is called with the class as the only argument and must be " "decorated as a :meth:`classmethod`::" msgstr "" +"Un método de clase llamado después de que se hayan realizado tests en una " +"clase individual. ``tearDownClass`` se llama con la clase como único " +"argumento y debe ser decorado como un :meth:`classmethod`::" #: ../Doc/library/unittest.rst:768 msgid "" @@ -842,23 +1150,34 @@ msgid "" "object is created (by calling the :meth:`defaultTestResult` method) and " "used. The result object is returned to :meth:`run`'s caller." msgstr "" +"Ejecutar la prueba, recogiendo el resultado en el objeto :class:" +"`TestResult` pasado como *result*. Si se omite *result* o ``None``, se " +"crea un objeto resultado temporal (llamando al método :meth:" +"`defaultTestResult`) y se emplea ese. El objeto resultante se devuelve al " +"invocador de :meth:`run`." #: ../Doc/library/unittest.rst:774 msgid "" "The same effect may be had by simply calling the :class:`TestCase` instance." msgstr "" +"El mismo efecto puede conseguirse simplemente llamando a la instancia :class:" +"`TestCase`." #: ../Doc/library/unittest.rst:777 msgid "" "Previous versions of ``run`` did not return the result. Neither did calling " "an instance." msgstr "" +"Las versiones previas de ``run`` no retornaban el resultado. Tampoco lo " +"hacía la llamada a una instancia." #: ../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 "" +"Llamar a esto durante un método de prueba o :meth:`setUp` se salta el test " +"actual. Ver :ref:`unittest-skipping` para más información." #: ../Doc/library/unittest.rst:791 msgid "" @@ -866,16 +1185,21 @@ msgid "" "subtest. *msg* and *params* are optional, arbitrary values which are " "displayed whenever a subtest fails, allowing you to identify them clearly." msgstr "" +"Retorna un gestor de contexto que ejecuta el bloque de código adjunto como " +"un subtest. *msg* y *params* son valores opcionales y arbitrarios que se " +"muestran cuando falla un subtest, permitiéndole identificarlos claramente." #: ../Doc/library/unittest.rst:796 msgid "" "A test case can contain any number of subtest declarations, and they can be " "arbitrarily nested." msgstr "" +"Un caso de test puede contener cualquier número de declaraciones de subtest, " +"y pueden anidarse arbitrariamente." #: ../Doc/library/unittest.rst:799 msgid "See :ref:`subtests` for more information." -msgstr "" +msgstr "Ver :ref:`subtests` para más información." #: ../Doc/library/unittest.rst:806 msgid "" @@ -883,6 +1207,9 @@ msgid "" "by the test to be propagated to the caller, and can be used to support " "running tests under a debugger." msgstr "" +"Realice el test sin recoger el resultado. Esto permite que las excepciones " +"planteadas por el test se propaguen al invocado, y puede utilizarse para " +"apoyar la ejecución de tests bajo un depurador." #: ../Doc/library/unittest.rst:812 msgid "" @@ -890,61 +1217,65 @@ msgid "" "report failures. The following table lists the most commonly used methods " "(see the tables below for more assert methods):" msgstr "" +"La clase :class:`TestCase` proporciona varios métodos de afirmación para " +"comprobar y reportar fallos. En la siguiente tabla se enumeran los métodos " +"más utilizados (consulte las tablas siguientes para ver más métodos de " +"afirmación):" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "Method" -msgstr "" +msgstr "Método" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 msgid "Checks that" -msgstr "" +msgstr "Comprueba que" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "New in" -msgstr "" +msgstr "Nuevo en" #: ../Doc/library/unittest.rst:819 msgid ":meth:`assertEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertEqual(a, b) `" #: ../Doc/library/unittest.rst:819 msgid "``a == b``" -msgstr "" +msgstr "``a == b``" #: ../Doc/library/unittest.rst:822 msgid ":meth:`assertNotEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertNotEqual(a, b) `" #: ../Doc/library/unittest.rst:822 msgid "``a != b``" -msgstr "" +msgstr "``a != b``" #: ../Doc/library/unittest.rst:825 msgid ":meth:`assertTrue(x) `" -msgstr "" +msgstr ":meth:`assertTrue(x) `" #: ../Doc/library/unittest.rst:825 msgid "``bool(x) is True``" -msgstr "" +msgstr "``bool(x) is True``" #: ../Doc/library/unittest.rst:828 msgid ":meth:`assertFalse(x) `" -msgstr "" +msgstr ":meth:`assertFalse(x) `" #: ../Doc/library/unittest.rst:828 msgid "``bool(x) is False``" -msgstr "" +msgstr "``bool(x) is False``" #: ../Doc/library/unittest.rst:831 msgid ":meth:`assertIs(a, b) `" -msgstr "" +msgstr ":meth:`assertIs(a, b) `" #: ../Doc/library/unittest.rst:831 msgid "``a is b``" -msgstr "" +msgstr "``a is b``" #: ../Doc/library/unittest.rst:831 ../Doc/library/unittest.rst:834 #: ../Doc/library/unittest.rst:837 ../Doc/library/unittest.rst:840 @@ -956,69 +1287,69 @@ msgstr "" #: ../Doc/library/unittest.rst:1266 ../Doc/library/unittest.rst:1269 #: ../Doc/library/unittest.rst:1272 ../Doc/library/unittest.rst:1275 msgid "3.1" -msgstr "" +msgstr "3.1" #: ../Doc/library/unittest.rst:834 msgid ":meth:`assertIsNot(a, b) `" -msgstr "" +msgstr ":meth:`assertIsNot(a, b) `" #: ../Doc/library/unittest.rst:834 msgid "``a is not b``" -msgstr "" +msgstr "``a is not b``" #: ../Doc/library/unittest.rst:837 msgid ":meth:`assertIsNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNone(x) `" #: ../Doc/library/unittest.rst:837 msgid "``x is None``" -msgstr "" +msgstr "``x is None``" #: ../Doc/library/unittest.rst:840 msgid ":meth:`assertIsNotNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNotNone(x) `" #: ../Doc/library/unittest.rst:840 msgid "``x is not None``" -msgstr "" +msgstr "``x is not None``" #: ../Doc/library/unittest.rst:843 msgid ":meth:`assertIn(a, b) `" -msgstr "" +msgstr ":meth:`assertIn(a, b) `" #: ../Doc/library/unittest.rst:843 msgid "``a in b``" -msgstr "" +msgstr "``a in b``" #: ../Doc/library/unittest.rst:846 msgid ":meth:`assertNotIn(a, b) `" -msgstr "" +msgstr ":meth:`assertNotIn(a, b) `" #: ../Doc/library/unittest.rst:846 msgid "``a not in b``" -msgstr "" +msgstr "``a not in b``" #: ../Doc/library/unittest.rst:849 msgid ":meth:`assertIsInstance(a, b) `" -msgstr "" +msgstr ":meth:`assertIsInstance(a, b) `" #: ../Doc/library/unittest.rst:849 msgid "``isinstance(a, b)``" -msgstr "" +msgstr "``isinstance(a, b)``" #: ../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 "" +msgstr "3.2" #: ../Doc/library/unittest.rst:852 msgid ":meth:`assertNotIsInstance(a, b) `" -msgstr "" +msgstr ":meth:`assertNotIsInstance(a, b) `" #: ../Doc/library/unittest.rst:852 msgid "``not isinstance(a, b)``" -msgstr "" +msgstr "``not isinstance(a, b)``" #: ../Doc/library/unittest.rst:856 msgid "" @@ -1028,12 +1359,20 @@ msgid "" "`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` only when " "they are used as a context manager." msgstr "" +"Todos los métodos de aserción aceptan un argumento *msg* que, si se " +"especifica, se utiliza como mensaje de error en caso de fallo (véase " +"también :data:`longMessage`). Tenga en cuenta que el argumento de la palabra " +"clave *msg* puede pasarse a :meth:`assertRaises`, :meth:" +"`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` sólo " +"cuando se utilizan como gestor de contexto." #: ../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 "" +"Testea que *first* y *second* son iguales. Si los valores no comparan como " +"iguales, el test fallará." #: ../Doc/library/unittest.rst:867 msgid "" @@ -1044,26 +1383,37 @@ msgid "" "message (see also the :ref:`list of type-specific methods `)." msgstr "" +"Además, si *first* y *second* son exactamente del mismo tipo y uno de lista, " +"tuple, dict, set, frozenset o str o cualquier tipo que una subclase registre " +"con :meth:`addTypeEqualityFunc` se llamará a la función de igualdad " +"específica del tipo para generar un mensaje de error por defecto más útil " +"(véase también la :ref:`lista de métodos específicos del tipo `)." #: ../Doc/library/unittest.rst:874 msgid "Added the automatic calling of type-specific equality function." msgstr "" +"Añadida la llamada automática de la función de igualdad de tipo específico." #: ../Doc/library/unittest.rst:877 msgid "" ":meth:`assertMultiLineEqual` added as the default type equality function for " "comparing strings." msgstr "" +":meth:`assertMultiLineEqual` añadido como la función por defecto para " +"igualdad de tipos cuando se comparan cadenas." #: ../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 "" +"Testea que *first* y *second* no son iguales. Si los valores son iguales, " +"el test fallará." #: ../Doc/library/unittest.rst:890 msgid "Test that *expr* is true (or false)." -msgstr "" +msgstr "Testea que *expr* es verdadero (o falso)." #: ../Doc/library/unittest.rst:892 msgid "" @@ -1073,18 +1423,23 @@ msgid "" "``assertEqual(a, b)`` instead of ``assertTrue(a == b)``), because they " "provide a better error message in case of failure." msgstr "" +"Note que esto es equivalente a ``bool(expr) is True`` y no a ``expr is " +"True`` (use ``assertIs(expr, True)`` para lo último). Este método también " +"debe evitarse cuando se disponga de métodos más específicos (por ejemplo, " +"``assertEqual(a, b)`` en lugar de ``assertTrue(a == b)``), porque " +"proporcionan un mejor mensaje de error en caso de fallo." #: ../Doc/library/unittest.rst:902 msgid "Test that *first* and *second* are (or are not) the same object." -msgstr "" +msgstr "Testea si *first* y *second* son (o no) el mismo objeto." #: ../Doc/library/unittest.rst:910 msgid "Test that *expr* is (or is not) ``None``." -msgstr "" +msgstr "Testea que *expr* es (o no es) ``None``." #: ../Doc/library/unittest.rst:918 msgid "Test that *member* is (or is not) in *container*." -msgstr "" +msgstr "Testea que *member* está (o no está) en *container*." #: ../Doc/library/unittest.rst:926 msgid "" @@ -1092,60 +1447,71 @@ msgid "" "a tuple of classes, as supported by :func:`isinstance`). To check for the " "exact type, use :func:`assertIs(type(obj), cls) `." msgstr "" +"Testea que *obj* es (o no es) una instancia de *cls* (que puede ser una " +"clase o una tupla de clases, de la misma forma que soporta :func:" +"`isinstance`). Para chequear por el tipo exacto, use :func:" +"`assertIs(type(obj), cls) `." #: ../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 "" +"Es también posible chequear la producción de excepciones, advertencias y " +"mensajes de log usando los siguientes métodos:" #: ../Doc/library/unittest.rst:940 msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertRaises(exc, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:940 msgid "``fun(*args, **kwds)`` raises *exc*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *exc*" #: ../Doc/library/unittest.rst:943 msgid "" ":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:943 msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *exc* y el mensaje coincide con regex *r*" #: ../Doc/library/unittest.rst:946 msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertWarns(warn, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:946 msgid "``fun(*args, **kwds)`` raises *warn*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *warn*" #: ../Doc/library/unittest.rst:949 msgid "" ":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:949 msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" msgstr "" +"``fun(*args, **kwds)`` lanza *warn* y el mensaje coincide con regex *r*" #: ../Doc/library/unittest.rst:952 msgid ":meth:`assertLogs(logger, level) `" -msgstr "" +msgstr ":meth:`assertLogs(logger, level) `" #: ../Doc/library/unittest.rst:952 msgid "The ``with`` block logs on *logger* with minimum *level*" -msgstr "" +msgstr "El bloque ``with`` vuelca sus logs a *logger* con el *level* mínimo" #: ../Doc/library/unittest.rst:952 msgid "3.4" -msgstr "" +msgstr "3.4" #: ../Doc/library/unittest.rst:959 msgid "" @@ -1156,6 +1522,12 @@ msgid "" "any of a group of exceptions, a tuple containing the exception classes may " "be passed as *exception*." msgstr "" +"Testea que se lanza una excepción cuando se llama a *callable* con cualquier " +"argumento posicional o de palabra clave que también se pasa a :meth:" +"`assertRaises`. El test pasa si se lanza *exception*, es un error si se " +"lanza otra excepción, o falla si no se lanza ninguna excepción. Para tener " +"en cuenta cualquiera de un grupo de excepciones, una tupla que contenga las " +"clases de excepción puede ser pasada como *exception*." #: ../Doc/library/unittest.rst:966 msgid "" @@ -1163,12 +1535,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si sólo se dan los argumentos de *exception* y posiblemente *msg*, retorna " +"un administrador de contexto para que el código testado pueda ser escrito en " +"línea en lugar de como una función::" #: ../Doc/library/unittest.rst:973 msgid "" "When used as a context manager, :meth:`assertRaises` accepts the additional " "keyword argument *msg*." msgstr "" +"Cuando se emplea como un administrador de contexto, :meth:`assertRaises` " +"acepta el argumento por palabra clave adicional *msg*." #: ../Doc/library/unittest.rst:976 msgid "" @@ -1176,19 +1553,25 @@ msgid "" "`exception` attribute. This can be useful if the intention is to perform " "additional checks on the exception raised::" msgstr "" +"El gestor de contexto almacenará el objeto de excepción capturado en su " +"atributo :attr:`exception` . Esto puede ser útil si la intención es " +"realizar comprobaciones adicionales sobre la excepción planteada::" #: ../Doc/library/unittest.rst:986 msgid "Added the ability to use :meth:`assertRaises` as a context manager." msgstr "" +"Añadió la capacidad de usar :meth:`assertRaises` como gestor de contexto." #: ../Doc/library/unittest.rst:989 msgid "Added the :attr:`exception` attribute." -msgstr "" +msgstr "Añadido el atributo :attr:`exception` ." #: ../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 "" +"Añadido el argumento por palabra clave *msg* cuando se emplea un gestor de " +"contexto." #: ../Doc/library/unittest.rst:999 msgid "" @@ -1197,18 +1580,22 @@ msgid "" "object or a string containing a regular expression suitable for use by :func:" "`re.search`. Examples::" msgstr "" +"Como :meth:`assertRaises` pero también testea que *regex* coincide en la " +"representación de la cadena de la excepción planteada. *regex* puede ser un " +"objeto de expresión regular o una cadena que contiene una expresión regular " +"adecuada para ser usada por :func:`re.search`. Ejemplos::" #: ../Doc/library/unittest.rst:1007 ../Doc/library/unittest.rst:1075 msgid "or::" -msgstr "" +msgstr "o::" #: ../Doc/library/unittest.rst:1012 msgid "Added under the name ``assertRaisesRegexp``." -msgstr "" +msgstr "Añadido bajo el nombre de ``assertRaisesRegexp``." #: ../Doc/library/unittest.rst:1015 msgid "Renamed to :meth:`assertRaisesRegex`." -msgstr "" +msgstr "Renombrado a :meth:`assertRaisesRegex`." #: ../Doc/library/unittest.rst:1025 msgid "" @@ -1218,6 +1605,12 @@ msgid "" "isn't. Any exception is an error. To catch any of a group of warnings, a " "tuple containing the warning classes may be passed as *warnings*." msgstr "" +"Testea que una advertencia se activa cuando se llama a *callable* con " +"cualquier argumento posicional o de palabra clave que también se pasa a :" +"meth:`assertWarns`. El test pasa si se activa el *warning* y falla si no lo " +"hace. Cualquier excepción es un error. Para considerar cualquiera de un " +"grupo de advertencias, una tupla que contenga las clases de advertencia " +"puede ser pasada como *warnings*." #: ../Doc/library/unittest.rst:1032 msgid "" @@ -1225,12 +1618,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si sólo se dan los argumentos de *advertencia* y *msg*, retorna un gestor " +"de contexto para que el código testado pueda ser escrito en línea en lugar " +"de como una función::" #: ../Doc/library/unittest.rst:1039 msgid "" "When used as a context manager, :meth:`assertWarns` accepts the additional " "keyword argument *msg*." msgstr "" +"Cuando se usa como gestor de contexto, :meth:`assertWarns` acepta el " +"argumento de palabra clave adicional *msg*." #: ../Doc/library/unittest.rst:1042 msgid "" @@ -1239,12 +1637,19 @@ msgid "" "the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " "the intention is to perform additional checks on the warning caught::" msgstr "" +"El gestor de contexto almacenará el objeto de advertencia capturado en su " +"atributo :attr:`warning`, y la línea del código que disparó las advertencias " +"en los atributos :attr:`filename` y :attr:`lineno` . Esto puede ser útil " +"si la intención es realizar comprobaciones adicionales sobre la advertencia " +"capturada::" #: ../Doc/library/unittest.rst:1054 msgid "" "This method works regardless of the warning filters in place when it is " "called." msgstr "" +"Este método funciona independientemente de los filtros de aviso que estén en " +"su lugar cuando se llame." #: ../Doc/library/unittest.rst:1066 msgid "" @@ -1253,12 +1658,18 @@ msgid "" "string containing a regular expression suitable for use by :func:`re." "search`. Example::" msgstr "" +"Como :meth:`assertWarns` pero también testea que *regex* coincide en el " +"mensaje del aviso disparado. *regex* puede ser un objeto de expresión " +"regular o una cadena que contiene una expresión regular adecuada para ser " +"usada por :func:`re.search`. Ejemplo::" #: ../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 "" +"Un gestor de contexto para comprobar que al menos un mensaje está registrado " +"en el *logger* o en uno de sus hijos, con al menos el *level* dado." #: ../Doc/library/unittest.rst:1091 msgid "" @@ -1267,6 +1678,9 @@ msgid "" "will catch all messages that were not blocked by a non-propagating " "descendent logger." msgstr "" +"Si se da, *logger* debería ser un objeto :class:`logging.Logger` o un :class:" +"`str` dando el nombre de un logger. El valor por defecto es el root logger, " +"que captará todos los mensajes." #: ../Doc/library/unittest.rst:1096 msgid "" @@ -1274,112 +1688,128 @@ msgid "" "equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " "default is :attr:`logging.INFO`." msgstr "" +"Si se da, *level* debe ser un nivel de logging numérico o su equivalente en " +"cadena (por ejemplo, o bien ``”ERROR”`` o :attr:`logging.ERROR`). El valor " +"por defecto es :attr:`logging.INFO`." #: ../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 "" +"El test pasa si al menos un mensaje emitido dentro del bloque ``with`` " +"coincide con las condiciones de *logger* y *level*, de lo contrario falla." #: ../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 "" +"El objeto devuelto por el gestor de contexto es un ayudante de grabación que " +"lleva un registro de los mensajes de registro que coinciden. Tiene dos " +"atributos:" #: ../Doc/library/unittest.rst:1109 msgid "" "A list of :class:`logging.LogRecord` objects of the matching log messages." msgstr "" +"Una lista de objetos :class:`logging.LogRecord` de los mensajes de log " +"coincidentes." #: ../Doc/library/unittest.rst:1114 msgid "" "A list of :class:`str` objects with the formatted output of matching " "messages." msgstr "" +"Una lista de objetos :class:`str` con la salida forrajeada en los mensajes " +"coincidentes." #: ../Doc/library/unittest.rst:1117 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/library/unittest.rst:1128 msgid "" "There are also other methods used to perform more specific checks, such as:" msgstr "" +"Hay también otros métodos empleados para realizar comprobaciones más " +"específicas, tales como:" #: ../Doc/library/unittest.rst:1133 msgid ":meth:`assertAlmostEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertAlmostEqual(a, b) `" #: ../Doc/library/unittest.rst:1133 msgid "``round(a-b, 7) == 0``" -msgstr "" +msgstr "``round(a-b, 7) == 0``" #: ../Doc/library/unittest.rst:1136 msgid ":meth:`assertNotAlmostEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertNotAlmostEqual(a, b) `" #: ../Doc/library/unittest.rst:1136 msgid "``round(a-b, 7) != 0``" -msgstr "" +msgstr "``round(a-b, 7) != 0``" #: ../Doc/library/unittest.rst:1139 msgid ":meth:`assertGreater(a, b) `" -msgstr "" +msgstr ":meth:`assertGreater(a, b) `" #: ../Doc/library/unittest.rst:1139 msgid "``a > b``" -msgstr "" +msgstr "``a > b``" #: ../Doc/library/unittest.rst:1142 msgid ":meth:`assertGreaterEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertGreaterEqual(a, b) `" #: ../Doc/library/unittest.rst:1142 msgid "``a >= b``" -msgstr "" +msgstr "``a >= b``" #: ../Doc/library/unittest.rst:1145 msgid ":meth:`assertLess(a, b) `" -msgstr "" +msgstr ":meth:`assertLess(a, b) `" #: ../Doc/library/unittest.rst:1145 msgid "``a < b``" -msgstr "" +msgstr "``a < b``" #: ../Doc/library/unittest.rst:1148 msgid ":meth:`assertLessEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertLessEqual(a, b) `" #: ../Doc/library/unittest.rst:1148 msgid "``a <= b``" -msgstr "" +msgstr "``a <= b``" #: ../Doc/library/unittest.rst:1151 msgid ":meth:`assertRegex(s, r) `" -msgstr "" +msgstr ":meth:`assertRegex(s, r) `" #: ../Doc/library/unittest.rst:1151 msgid "``r.search(s)``" -msgstr "" +msgstr "``r.search(s)``" #: ../Doc/library/unittest.rst:1154 msgid ":meth:`assertNotRegex(s, r) `" -msgstr "" +msgstr ":meth:`assertNotRegex(s, r) `" #: ../Doc/library/unittest.rst:1154 msgid "``not r.search(s)``" -msgstr "" +msgstr "``not r.search(s)``" #: ../Doc/library/unittest.rst:1157 msgid ":meth:`assertCountEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertCountEqual(a, b) `" #: ../Doc/library/unittest.rst:1157 msgid "" "*a* and *b* have the same elements in the same number, regardless of their " "order." msgstr "" +"*a* y *b* tienen los mismos elementos y en el mismo número, sin importar su " +"orden." #: ../Doc/library/unittest.rst:1166 msgid "" @@ -1389,16 +1819,23 @@ msgid "" "the values to the given number of *decimal places* (i.e. like the :func:" "`round` function) and not *significant digits*." msgstr "" +"Testea que *first* y *second* son aproximadamente (o no aproximadamente) " +"iguales calculando su diferencia, redondeando al número dado de puntos " +"*places* decimales (por defecto 7), y comparado a cero. Nótese que estos " +"métodos redondean los valores al número dado de *puntos decimales* (por " +"ejemplo como la función :func:`round`) y no *cifras significativas*." #: ../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 "" +"Si se suministra *delta* en vez de *places* que entonces la diferencia entre " +"*first* y *second* deba ser menor o igual a (o mayor que) *delta*." #: ../Doc/library/unittest.rst:1175 msgid "Supplying both *delta* and *places* raises a :exc:`TypeError`." -msgstr "" +msgstr "Suministrar tanto *delta* como *places* lanza un :exc:`TypeError`." #: ../Doc/library/unittest.rst:1177 msgid "" @@ -1406,12 +1843,18 @@ msgid "" "compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " "objects compare equal. Added the *delta* keyword argument." msgstr "" +":meth:`assertAlmostEqual` considera automáticamente casi iguales a los " +"objetos que se comparan igual. :meth:`assertNotAlmostEqual` falla " +"automáticamente si los objetos comparan iguales. Añadido el argumento de " +"palabra clave *delta*." #: ../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 "" +"Prueba que *first* es respectivamente >, >=, < o <= que *second* dependiendo " +"del nombre del método. Si no, el test fallará::" #: ../Doc/library/unittest.rst:1200 msgid "" @@ -1421,26 +1864,35 @@ msgid "" "regular expression object or a string containing a regular expression " "suitable for use by :func:`re.search`." msgstr "" +"Testea que una búsqueda *regex* coincide (o no coincide) con el *text*. En " +"caso de fallo, el mensaje de error incluirá el patrón y el *text* (o el " +"patrón y la parte de *text* que coincida inesperadamente). *regex* puede " +"ser un objeto de expresión regular o una cadena que contiene una expresión " +"regular adecuada para ser utilizada por :func:`re.search`." #: ../Doc/library/unittest.rst:1206 msgid "Added under the name ``assertRegexpMatches``." -msgstr "" +msgstr "Añadido bajo el nombre de ``assertRegexpMatches``." #: ../Doc/library/unittest.rst:1208 msgid "" "The method ``assertRegexpMatches()`` has been renamed to :meth:`." "assertRegex`." msgstr "" +"El método ``assertRegexpMatches()`` ha sido renombrado a :meth:`." +"assertRegex`." #: ../Doc/library/unittest.rst:1211 msgid ":meth:`.assertNotRegex`." -msgstr "" +msgstr ":meth:`.assertNotRegex`." #: ../Doc/library/unittest.rst:1213 msgid "" "The name ``assertNotRegexpMatches`` is a deprecated alias for :meth:`." "assertNotRegex`." msgstr "" +"El nombre ``assertNotRegexpMatches`` es un alias obsoleto para :meth:`." +"assertNotRegex`." #: ../Doc/library/unittest.rst:1220 msgid "" @@ -1448,6 +1900,9 @@ msgid "" "regardless of their order. When they don't, an error message listing the " "differences between the sequences will be generated." msgstr "" +"Testea que la secuencia *first* contiene los mismos elementos que *second*, " +"independientemente de su orden. Cuando no lo hagan, se generará un mensaje " +"de error con las diferencias entre las secuencias." #: ../Doc/library/unittest.rst:1224 msgid "" @@ -1456,6 +1911,11 @@ msgid "" "Equivalent to: ``assertEqual(Counter(list(first)), Counter(list(second)))`` " "but works with sequences of unhashable objects as well." msgstr "" +"Los elementos duplicados *no* son ignorados cuando se comparan *first* y " +"*second*. Verifica si cada elemento tiene la misma cuenta en ambas " +"secuencias. Equivalente a: ``assertEqual(Counter(list(first)), " +"Counter(list(second)))`` pero funciona también con secuencias de objetos que " +"no son hashable." #: ../Doc/library/unittest.rst:1235 msgid "" @@ -1464,6 +1924,11 @@ msgid "" "implemented for most of the built-in types, but it's also possible to " "register new methods using :meth:`addTypeEqualityFunc`:" msgstr "" +"El método :meth:`assertEqual` envía la comprobación de igualdad de los " +"objetos del mismo tipo a diferentes métodos específicos de tipo. Estos " +"métodos ya están implementados para la mayoría de los tipos incorporados, " +"pero también es posible registrar nuevos métodos usando :meth:" +"`addTypeEqualityFunc`:" #: ../Doc/library/unittest.rst:1242 msgid "" @@ -1475,6 +1940,14 @@ msgid "" "two parameters is detected -- possibly providing useful information and " "explaining the inequalities in details in the error message." msgstr "" +"Registra un método específico de tipo llamado por :meth:`assertEqual` para " +"comprobar si dos objetos del mismo *typeobj* (no subclases) comparan como " +"iguales. *function* debe tomar dos argumentos posicionales y un tercer " +"argumento de palabra clave msg=None tal y como lo hace :meth:`assertEqual`. " +"Debe lanzar :data:`self.failureException(msg) ` cuando " +"se detecta una desigualdad entre los dos primeros parámetros, posiblemente " +"proporcionando información útil y explicando las desigualdades en detalle en " +"el mensaje de error." #: ../Doc/library/unittest.rst:1253 msgid "" @@ -1482,58 +1955,61 @@ msgid "" "assertEqual` are summarized in the following table. Note that it's usually " "not necessary to invoke these methods directly." msgstr "" +"La lista de métodos específicos de tipo utilizados automáticamente por :meth:" +"`~TestCase.assertEqual` se resumen en la siguiente tabla. Tenga en cuenta " +"que normalmente no es necesario invocar estos métodos directamente." #: ../Doc/library/unittest.rst:1258 msgid "Used to compare" -msgstr "" +msgstr "Usado para comparar" #: ../Doc/library/unittest.rst:1260 msgid ":meth:`assertMultiLineEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertMultiLineEqual(a, b) `" #: ../Doc/library/unittest.rst:1260 msgid "strings" -msgstr "" +msgstr "strings" #: ../Doc/library/unittest.rst:1263 msgid ":meth:`assertSequenceEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertSequenceEqual(a, b) `" #: ../Doc/library/unittest.rst:1263 msgid "sequences" -msgstr "" +msgstr "sequences" #: ../Doc/library/unittest.rst:1266 msgid ":meth:`assertListEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertListEqual(a, b) `" #: ../Doc/library/unittest.rst:1266 msgid "lists" -msgstr "" +msgstr "lists" #: ../Doc/library/unittest.rst:1269 msgid ":meth:`assertTupleEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertTupleEqual(a, b) `" #: ../Doc/library/unittest.rst:1269 msgid "tuples" -msgstr "" +msgstr "tuples" #: ../Doc/library/unittest.rst:1272 msgid ":meth:`assertSetEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertSetEqual(a, b) `" #: ../Doc/library/unittest.rst:1272 msgid "sets or frozensets" -msgstr "" +msgstr "sets or frozensets" #: ../Doc/library/unittest.rst:1275 msgid ":meth:`assertDictEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertDictEqual(a, b) `" #: ../Doc/library/unittest.rst:1275 msgid "dicts" -msgstr "" +msgstr "dicts" #: ../Doc/library/unittest.rst:1283 msgid "" @@ -1542,6 +2018,10 @@ msgid "" "included in the error message. This method is used by default when comparing " "strings with :meth:`assertEqual`." msgstr "" +"Testea que la cadena multilínea *first* es igual a la cadena *second*. " +"Cuando no sea igual, una diferencia de las dos cadenas que resalte las " +"diferencias se incluirá en el mensaje de error. Este método se utiliza por " +"defecto cuando se comparan cadenas con :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1293 msgid "" @@ -1550,12 +2030,18 @@ msgid "" "raised. If the sequences are different an error message is constructed that " "shows the difference between the two." msgstr "" +"Testea que dos secuencias son iguales. Si se suministra un *seq_type*, " +"tanto *first* como *second* deben ser instancias de *seq_type* o se lanzará " +"un fallo. Si las secuencias son diferentes se construye un mensaje de error " +"que muestra la diferencia entre las dos." #: ../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 "" +"Este método no es llamado directamente por :meth:`assertEqual`, pero se usa " +"para implementar :meth:`assertListEqual` y :meth:`assertTupleEqual`." #: ../Doc/library/unittest.rst:1308 msgid "" @@ -1564,6 +2050,11 @@ msgid "" "also raised if either of the parameters are of the wrong type. These methods " "are used by default when comparing lists or tuples with :meth:`assertEqual`." msgstr "" +"Testea que dos listas o tuplas son iguales. Si no es así, se construye un " +"mensaje de error que muestra sólo las diferencias entre las dos. También se " +"lanza un error si alguno de los parámetros es del tipo equivocado. Estos " +"métodos se utilizan por defecto cuando se comparan listas o tuplas con :meth:" +"`assertEqual`." #: ../Doc/library/unittest.rst:1319 msgid "" @@ -1571,12 +2062,18 @@ msgid "" "lists the differences between the sets. This method is used by default when " "comparing sets or frozensets with :meth:`assertEqual`." msgstr "" +"Testea que dos conjuntos son iguales. Si no es así, se construye un mensaje " +"de error que enumera las diferencias entre los conjuntos. Este método se " +"utiliza por defecto cuando se comparan los conjuntos o frozensets con :meth:" +"`assertEqual`." #: ../Doc/library/unittest.rst:1323 msgid "" "Fails if either of *first* or *second* does not have a :meth:`set." "difference` method." msgstr "" +"Falla si cualquiera de *first* o *second* no tiene un método de :meth:`set." +"difference`." #: ../Doc/library/unittest.rst:1331 msgid "" @@ -1584,17 +2081,24 @@ msgid "" "constructed that shows the differences in the dictionaries. This method will " "be used by default to compare dictionaries in calls to :meth:`assertEqual`." msgstr "" +"Testea que dos diccionarios son iguales. Si no es así, se construye un " +"mensaje de error que muestra las diferencias en los diccionarios. Este " +"método se usará por defecto para comparar los diccionarios en las llamadas " +"a :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1342 msgid "" "Finally the :class:`TestCase` provides the following methods and attributes:" msgstr "" +"Finalmente, :class:`TestCase` proporciona los siguientes métodos y atributos:" #: ../Doc/library/unittest.rst:1347 msgid "" "Signals a test failure unconditionally, with *msg* or ``None`` for the error " "message." msgstr "" +"Señala un fallo del test incondicionalmente, con *msg* o ``None`` para el " +"mensaje de error." #: ../Doc/library/unittest.rst:1353 msgid "" @@ -1604,6 +2108,11 @@ msgid "" "fair\" with the framework. The initial value of this attribute is :exc:" "`AssertionError`." msgstr "" +"Este atributo de clase da la excepción lanzada por el método de test. Si un " +"marco de pruebas necesita utilizar una excepción especializada, posiblemente " +"para llevar información adicional, debe subclasificar esta excepción para " +"\"jugar limpio\" con el marco. El valor inicial de este atributo es :exc:" +"`AssertionError`." #: ../Doc/library/unittest.rst:1362 msgid "" @@ -1613,6 +2122,11 @@ msgid "" "of the standard failure message. When set to ``False``, the custom message " "replaces the standard message." msgstr "" +"Este atributo de clase determina lo que ocurre cuando se pasa un mensaje de " +"fallo personalizado como el argumento msg a una llamada assertXYY que falla. " +"``True`` es el valor por defecto. En este caso, el mensaje personalizado se " +"añade al final del mensaje de fallo estándar. Cuando se establece en " +"``False``, el mensaje personalizado reemplaza al mensaje estándar." #: ../Doc/library/unittest.rst:1368 msgid "" @@ -1620,10 +2134,14 @@ msgid "" "an instance attribute, self.longMessage, to ``True`` or ``False`` before " "calling the assert methods." msgstr "" +"La configuración de la clase puede ser anulada en los métodos de test " +"individuales asignando un atributo de instancia, self.longMessage, a " +"``True`` o ``False`` antes de llamar a los métodos assert." #: ../Doc/library/unittest.rst:1372 msgid "The class setting gets reset before each test call." msgstr "" +"La configuración de la clase se reajusta antes de cada llamada de test." #: ../Doc/library/unittest.rst:1379 msgid "" @@ -1633,24 +2151,36 @@ msgid "" "the sequence comparison methods that delegate to it), :meth:" "`assertDictEqual` and :meth:`assertMultiLineEqual`." msgstr "" +"Este atributo controla la longitud máxima de las diferencias de salida de " +"métodos assert que reportan diferencias en caso de fallo. El valor " +"predeterminado es de 80*8 caracteres. Los métodos assert afectados por este " +"atributo son :meth:`assertSequenceEqual` (incluyendo todos los métodos de " +"comparación de secuencias que le delegan), :meth:`assertDictEqual` y :meth:" +"`assertMultiLineEqual`." #: ../Doc/library/unittest.rst:1386 msgid "" "Setting ``maxDiff`` to ``None`` means that there is no maximum length of " "diffs." msgstr "" +"Poner ``maxDiff`` en ``None`` significa que no hay una longitud máxima de " +"diferencias." #: ../Doc/library/unittest.rst:1392 msgid "" "Testing frameworks can use the following methods to collect information on " "the test:" msgstr "" +"Los marcos de test pueden utilizar los siguientes métodos para reunir " +"información sobre el test:" #: ../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 "" +"Retorna el número de tests representados por este objeto de test. Para las " +"instancias de :class:`TestCase`, este siempre será ``1``." #: ../Doc/library/unittest.rst:1404 msgid "" @@ -1658,6 +2188,9 @@ msgid "" "test case class (if no other result instance is provided to the :meth:`run` " "method)." msgstr "" +"Retorna una instancia de la clase de resultado de test que debería " +"utilizarse para esta clase de caso de test (si no se proporciona otra " +"instancia de resultado al método :meth:`run`)." #: ../Doc/library/unittest.rst:1408 msgid "" @@ -1665,12 +2198,18 @@ msgid "" "`TestResult`; subclasses of :class:`TestCase` should override this as " "necessary." msgstr "" +"Para las instancias de :class:`TestCase`, ésta siempre será una instancia " +"de :class:`TestResult`; las subclases de :class:`TestCase` deben anular esto " +"según sea necesario." #: ../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 "" +"Devuelva una cadena que identifique el caso de test específico. Normalmente " +"es el nombre completo del método de test, incluyendo el nombre del módulo y " +"de la clase." #: ../Doc/library/unittest.rst:1421 msgid "" @@ -1678,6 +2217,10 @@ msgid "" "provided. The default implementation of this method returns the first line " "of the test method's docstring, if available, or ``None``." msgstr "" +"Devuelve una descripción de la prueba, o ``None`` si no se ha proporcionado " +"ninguna descripción. La implementación por defecto de este método devuelve " +"la primera línea de la docstring del método de test, si está disponible, o " +"``None`` ." #: ../Doc/library/unittest.rst:1426 msgid "" @@ -1686,6 +2229,10 @@ msgid "" "unittest extensions and adding the test name was moved to the :class:" "`TextTestResult` in Python 3.2." msgstr "" +"En 3.1 esto se cambió para añadir el nombre del test a la descripción corta " +"incluso en presencia de una docstring. Esto causó problemas de " +"compatibilidad con las extensiones de unittest y la adición del nombre de " +"test fue movida a la :class:`TextTestResult` en Python 3.2." #: ../Doc/library/unittest.rst:1435 msgid "" @@ -1695,18 +2242,27 @@ msgid "" "arguments and keyword arguments passed into :meth:`addCleanup` when they are " "added." msgstr "" +"Añade una función que se llamará después de :meth:`tearDown` a los recursos " +"de limpieza utilizados durante el test. Las funciones se llamarán en orden " +"inverso al orden en que se agregan (:abbr:`LIFO (last-in, first-out)`). Se " +"llaman con cualquier argumento y argumentos de palabra clave que se pase a :" +"meth:`addCleanup` cuando se agregan." #: ../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 "" +"Si :meth:`setUp` falla, lo que significa que :meth:`tearDown` no se llama, " +"entonces cualquier función de limpieza añadida seguirá siendo llamada." #: ../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 "" +"Este método se llama incondicionalmente después de :meth:`tearDown`, o " +"después de :meth:`setUp` si :meth:`setUp` lanza una excepción." #: ../Doc/library/unittest.rst:1452 msgid "" @@ -1714,12 +2270,18 @@ msgid "" "`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" "`tearDown` then you can call :meth:`doCleanups` yourself." msgstr "" +"Es responsable de llamar a todas las funciones de limpieza añadidas por :" +"meth:`addCleanup`. Si necesitas que las funciones de limpieza se llamen *con " +"anterioridad* a :meth:`tearDown` entonces puedes llamar a :meth:`doCleanups` " +"tú mismo." #: ../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 "" +":meth:`doCleanups` saca los métodos de la pila de funciones de limpieza uno " +"a uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:1464 msgid "" @@ -1729,18 +2291,28 @@ msgid "" "with any arguments and keyword arguments passed into :meth:`addClassCleanup` " "when they are added." msgstr "" +"Añade una función que se llamará después de :meth:`tearDownClass` para " +"limpiar recursos utilizados durante la clase de test. Las funciones se " +"llamarán en orden inverso al orden en que se agregan (:abbr:`LIFO (last-in, " +"first-out)`). Se llaman con cualquier argumento y argumento de palabra clave " +"que se pase a :meth:`addClassCleanup` cuando se añadan." #: ../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 "" +"Si :meth:`setUpClass` falla, lo que significa que :meth:`tearDownClass` no " +"se invoca, entonces cualquier función de limpieza añadida seguirá siendo " +"llamada." #: ../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 "" +"Este método se llama incondicionalmente después de :meth:`tearDownClass`, o " +"después de :meth:`setUpClass` si :meth:`setUpClass` lanza una excepción." #: ../Doc/library/unittest.rst:1481 msgid "" @@ -1748,18 +2320,26 @@ msgid "" "`addClassCleanup`. If you need cleanup functions to be called *prior* to :" "meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." msgstr "" +"Es responsable de llamar a todas las funciones de limpieza añadidas por :" +"meth:`addCleanupClass`. Si necesitas que las funciones de limpieza se llamen " +"*con anterioridad* a :meth:`tearDownClass` entonces puedes llamar a :meth:" +"`doCleanupsClass` tú mismo." #: ../Doc/library/unittest.rst:1486 msgid "" ":meth:`doClassCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" +":meth:`doCleanupsClass` saca los métodos de la pila de funciones de limpieza " +"de uno en uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:1494 msgid "" "This class provides an API similar to :class:`TestCase` and also accepts " "coroutines as test functions." msgstr "" +"Esta clase proporciona una API similar a :class:`TestCase` y también acepta " +"corutinas como funciones de test." #: ../Doc/library/unittest.rst:1501 msgid "" @@ -1769,6 +2349,11 @@ msgid "" "method will be considered an error rather than a test failure. The default " "implementation does nothing." msgstr "" +"Método llamado para preparar la configuración de test. Esto se llama después " +"de :meth:`setUp`. Se llama inmediatamente antes de llamar al método de test; " +"aparte de :exc:`AssertionError` o :exc:`SkipTest`, cualquier excepción " +"lanzada por este método se considerará un error más que un fallo del test. " +"La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:1509 msgid "" @@ -1782,10 +2367,22 @@ msgid "" "method will only be called if the :meth:`asyncSetUp` succeeds, regardless of " "the outcome of the test method. The default implementation does nothing." msgstr "" +"Método llamado inmediatamente después de que se haya llamado el método de " +"test y se haya registrado el resultado. Esto se llama antes de :meth:" +"`tearDown`. Se llama así aunque el método de test haya lanzado una " +"excepción, por lo que la implementación en las subclases puede necesitar ser " +"particularmente cuidadosa en la comprobación del estado interno. Cualquier " +"excepción, que no sea :exc:`AssertionError` o :exc:`SkipTest`, lanzada por " +"este método se considerará un error adicional en lugar de un fallo del test " +"(aumentando así el número total de errores reportados). Este método sólo se " +"llamará si :meth:`asyncSetUp` tiene éxito, independientemente del resultado " +"del método de test. La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:1521 msgid "This method accepts a coroutine that can be used as a cleanup function." msgstr "" +"Este método acepta una corutina que puede ser utilizada como función de " +"limpieza." #: ../Doc/library/unittest.rst:1525 msgid "" @@ -1796,16 +2393,24 @@ msgid "" "`run`'s caller. At the end of the test all the tasks in the event loop are " "cancelled." msgstr "" +"Establece un nuevo bucle de eventos para ejecutar el test, recogiendo el " +"resultado en el objeto :class:`TestResult` pasado como *result*. Si se " +"omite *result* o ``None``, se crea un objeto resultado temporal (llamando al " +"método :meth:`defaultTestResult`) y se utiliza. El objeto resultante se " +"devuelve al invocado de :meth:`run`. Al final del test se cancelan todas las " +"tareas del bucle de eventos." #: ../Doc/library/unittest.rst:1533 msgid "An example illustrating the order::" -msgstr "" +msgstr "Un ejemplo ilustrando el orden::" #: ../Doc/library/unittest.rst:1569 msgid "" "After running the test, ``events`` would contain ``[\"setUp\", \"asyncSetUp" "\", \"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." msgstr "" +"Después de ejecutar el test, ``events`` contendría ``[“setUp”, " +"“asyncSetUp”, “test_response”, “asyncTearDown”, “tearDown”, “cleanup”]``." #: ../Doc/library/unittest.rst:1574 msgid "" @@ -1815,10 +2420,16 @@ msgid "" "test cases using legacy test code, allowing it to be integrated into a :mod:" "`unittest`-based test framework." msgstr "" +"Esta clase implementa la porción de la interfaz :class:`TestCase` que " +"permite al corredor de tests conducir los tests, pero no proporciona los " +"métodos que el código de test puede utilizar para comprobar e informar de " +"los errores. Se utiliza para crear casos de test utilizando código de " +"prueba heredado, lo que permite que se integre en un marco de tests basado " +"en :mod:`unittest`." #: ../Doc/library/unittest.rst:1584 msgid "Deprecated aliases" -msgstr "" +msgstr "Alias obsoletos" #: ../Doc/library/unittest.rst:1586 msgid "" @@ -1826,138 +2437,149 @@ msgid "" "more aliases that are now deprecated. The following table lists the correct " "names along with their deprecated aliases:" msgstr "" +"Por razones históricas, algunos de los métodos de :class:`TestCase` tenían " +"uno o más alias que ahora están obsoletos. La siguiente tabla lista los " +"nombres correctos junto con sus alias obsoletos:" #: ../Doc/library/unittest.rst:1591 msgid "Method Name" -msgstr "" +msgstr "Nombre del método" #: ../Doc/library/unittest.rst:1591 msgid "Deprecated alias" -msgstr "" +msgstr "Alias deprecado" #: ../Doc/library/unittest.rst:1593 msgid ":meth:`.assertEqual`" -msgstr "" +msgstr ":meth:`.assertEqual`" #: ../Doc/library/unittest.rst:1593 msgid "failUnlessEqual" -msgstr "" +msgstr "failUnlessEqual" #: ../Doc/library/unittest.rst:1593 msgid "assertEquals" -msgstr "" +msgstr "assertEquals" #: ../Doc/library/unittest.rst:1594 msgid ":meth:`.assertNotEqual`" -msgstr "" +msgstr ":meth:`.assertNotEqual`" #: ../Doc/library/unittest.rst:1594 msgid "failIfEqual" -msgstr "" +msgstr "failIfEqual" #: ../Doc/library/unittest.rst:1594 msgid "assertNotEquals" -msgstr "" +msgstr "assertNotEquals" #: ../Doc/library/unittest.rst:1595 msgid ":meth:`.assertTrue`" -msgstr "" +msgstr ":meth:`.assertTrue`" #: ../Doc/library/unittest.rst:1595 msgid "failUnless" -msgstr "" +msgstr "failUnless" #: ../Doc/library/unittest.rst:1595 msgid "assert\\_" -msgstr "" +msgstr "assert\\_" #: ../Doc/library/unittest.rst:1596 msgid ":meth:`.assertFalse`" -msgstr "" +msgstr ":meth:`.assertFalse`" #: ../Doc/library/unittest.rst:1596 msgid "failIf" -msgstr "" +msgstr "failIf" #: ../Doc/library/unittest.rst:1597 msgid ":meth:`.assertRaises`" -msgstr "" +msgstr ":meth:`.assertRaises`" #: ../Doc/library/unittest.rst:1597 msgid "failUnlessRaises" -msgstr "" +msgstr "failUnlessRaises" #: ../Doc/library/unittest.rst:1598 msgid ":meth:`.assertAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertAlmostEqual`" #: ../Doc/library/unittest.rst:1598 msgid "failUnlessAlmostEqual" -msgstr "" +msgstr "failUnlessAlmostEqual" #: ../Doc/library/unittest.rst:1598 msgid "assertAlmostEquals" -msgstr "" +msgstr "assertAlmostEquals" #: ../Doc/library/unittest.rst:1599 msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertNotAlmostEqual`" #: ../Doc/library/unittest.rst:1599 msgid "failIfAlmostEqual" -msgstr "" +msgstr "failIfAlmostEqual" #: ../Doc/library/unittest.rst:1599 msgid "assertNotAlmostEquals" -msgstr "" +msgstr "assertNotAlmostEquals" #: ../Doc/library/unittest.rst:1600 msgid ":meth:`.assertRegex`" -msgstr "" +msgstr ":meth:`.assertRegex`" #: ../Doc/library/unittest.rst:1600 msgid "assertRegexpMatches" -msgstr "" +msgstr "assertRegexpMatches" #: ../Doc/library/unittest.rst:1601 msgid ":meth:`.assertNotRegex`" -msgstr "" +msgstr ":meth:`.assertNotRegex`" #: ../Doc/library/unittest.rst:1601 msgid "assertNotRegexpMatches" -msgstr "" +msgstr "assertNotRegexpMatches" #: ../Doc/library/unittest.rst:1602 msgid ":meth:`.assertRaisesRegex`" -msgstr "" +msgstr ":meth:`.assertRaisesRegex`" #: ../Doc/library/unittest.rst:1602 msgid "assertRaisesRegexp" -msgstr "" +msgstr "assertRaisesRegexp" #: ../Doc/library/unittest.rst:1605 msgid "The fail* aliases listed in the second column have been deprecated." msgstr "" +"Los alias de fail* que figuran en la segunda columna han sido declarados " +"obsoletos." #: ../Doc/library/unittest.rst:1607 msgid "The assert* aliases listed in the third column have been deprecated." msgstr "" +"Los alias de aserción* que figuran en la tercera columna han sido declarados " +"obsoletos." #: ../Doc/library/unittest.rst:1609 msgid "" "``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed to :" "meth:`.assertRegex` and :meth:`.assertRaisesRegex`." msgstr "" +"``assertRegexpMatches`` y ``assertRaisesRegexp`` han sido renombrados a :" +"meth:`.assertRegex` y :meth:`.assertRaisesRegex`." #: ../Doc/library/unittest.rst:1612 msgid "" "The ``assertNotRegexpMatches`` name is deprecated in favor of :meth:`." "assertNotRegex`." msgstr "" +"El nombre ``assertNotRegexpMatches`` se ha declarado obsoleto en favor de :" +"meth:`.assertNotRegex`." #: ../Doc/library/unittest.rst:1618 msgid "Grouping tests" -msgstr "" +msgstr "Agrupando tests" #: ../Doc/library/unittest.rst:1622 msgid "" @@ -1966,6 +2588,11 @@ msgid "" "it to be run as any other test case. Running a :class:`TestSuite` instance " "is the same as iterating over the suite, running each test individually." msgstr "" +"Esta clase representa una agregación de casos de test individuales y " +"conjuntos de tests. La clase presenta la interfaz que necesita el corredor " +"de tests para poder ser ejecutado como cualquier otro caso de test. " +"Ejecutar una instancia :class:`TestSuite` es lo mismo que iterar sobre el " +"conjunto, ejecutando cada test individualmente." #: ../Doc/library/unittest.rst:1627 msgid "" @@ -1973,6 +2600,10 @@ msgid "" "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 "" +"Si se indican *tests*, debe ser un iterable de casos de test individuales u " +"otros conjuntos de tests que se usarán para construir el conjunto " +"inicialmente. Se proporcionan métodos adicionales para añadir casos de test " +"y conjuntos a la colección más adelante." #: ../Doc/library/unittest.rst:1631 msgid "" @@ -1982,26 +2613,36 @@ msgid "" "additional methods are available to add tests to :class:`TestSuite` " "instances:" msgstr "" +"Los objetos de :class:`TestSuite` se comportan de manera muy parecida a los " +"objetos de :class:`TestCase`, excepto que no implementan un test. En " +"cambio, se usan para agregar tests en grupos de tests que deben ser " +"ejecutados juntos. Existen algunos métodos adicionales para agregar tests a " +"las instancias de :class:`TestSuite`:" #: ../Doc/library/unittest.rst:1639 msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." -msgstr "" +msgstr "Añade un :class:`TestCase` o :class:`TestSuite` al conjunto." #: ../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 "" +"Añade todos los tests de un iterable de :class:`TestCase` y :class:" +"`TestSuite` a este conjunto de tests." #: ../Doc/library/unittest.rst:1647 msgid "" "This is equivalent to iterating over *tests*, calling :meth:`addTest` for " "each element." msgstr "" +"Esto equivale a iterar sobre *tests*, llamando a :meth:`addTest` para cada " +"elemento." #: ../Doc/library/unittest.rst:1650 msgid ":class:`TestSuite` shares the following methods with :class:`TestCase`:" msgstr "" +":class:`TestSuite` comparte los siguientes métodos con :class:`TestCase`:" #: ../Doc/library/unittest.rst:1655 msgid "" @@ -2009,6 +2650,10 @@ msgid "" "test result object passed as *result*. Note that unlike :meth:`TestCase." "run`, :meth:`TestSuite.run` requires the result object to be passed in." msgstr "" +"Ejecuta los tests asociados a este conjunto, recogiendo el resultado en el " +"objeto de resultado del test pasado como *result*. Tenga en cuenta que a " +"diferencia de :meth:`TestCase.run`, :meth:`TestSuite.run` requiere que se " +"pase el objeto resultado." #: ../Doc/library/unittest.rst:1663 msgid "" @@ -2016,12 +2661,18 @@ msgid "" "allows exceptions raised by the test to be propagated to the caller and can " "be used to support running tests under a debugger." msgstr "" +"Ejecuta los tests asociados con este conjunto sin recoger los resultados. " +"Esto permite que las excepciones lanzadas por este test sean propagadas al " +"invocador y puedes ser usadas para apoyar tests que están ejecutándose con " +"un debugger." #: ../Doc/library/unittest.rst:1670 msgid "" "Return the number of tests represented by this test object, including all " "individual tests and sub-suites." msgstr "" +"Retorna el numero de tests representados por este objeto de test, incluidos " +"todos los test individuales y los sub-conjuntos." #: ../Doc/library/unittest.rst:1676 msgid "" @@ -2034,6 +2685,16 @@ msgid "" "tests returned by this method unless the caller uses a subclass that " "overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." msgstr "" +"Los tests agrupados por una :class:`TestSuite` se acceden siempre por " +"iteración. Las subclases pueden proporcionar tests anulando :meth:" +"`__iter__`. Tenga en cuenta que este método puede ser invocado varias veces " +"en un mismo conjunto (por ejemplo, cuando se cuentan los tests o se comparan " +"por igualdad), por lo que los tests retornados por iteraciones repetidas " +"antes de :meth:`TestSuite.run` deben ser los mismos para cada iteración de " +"invocación. Después de :meth:`TestSuite.run`, los invocados no deben confiar " +"en los tests retornados por este método a menos que el invocado utilice una " +"subclase que anule :meth:`TestSuite._removeTestAtIndex` para preservar las " +"referencias de los tests." #: ../Doc/library/unittest.rst:1686 msgid "" @@ -2041,6 +2702,9 @@ msgid "" "than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " "providing tests." msgstr "" +"En versiones anteriores la :class:`TestSuite` accedía a los test " +"directamente en lugar de a través de la iteración, por lo que anular :meth:" +"`__iter__` no era suficiente para proporcionar los tests." #: ../Doc/library/unittest.rst:1691 msgid "" @@ -2048,16 +2712,22 @@ msgid "" "`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " "by overriding :meth:`TestSuite._removeTestAtIndex`." msgstr "" +"En versiones anteriores, la :class:`TestSuite` tenía referencias a cada :" +"class:`TestCase` después de :meth:`TestSuite.run`. Las subclases pueden " +"restaurar ese comportamiento anulando :meth:`TestSuite._removeTestAtIndex`." #: ../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 "" +"En el uso típico de un objeto :class:`TestSuite`, el método :meth:`run` es " +"invocado por un :class:`TestRunner` en lugar de por el marco de test de " +"pruebas automático del usuario final." #: ../Doc/library/unittest.rst:1701 msgid "Loading and running tests" -msgstr "" +msgstr "Cargando y ejecutando tests" #: ../Doc/library/unittest.rst:1705 msgid "" @@ -2067,10 +2737,16 @@ msgid "" "`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " "customization of some configurable properties." msgstr "" +"La clase :class:`TestLoader` se utiliza para crear conjuntos de tests a " +"partir de clases y módulos. Normalmente, no es necesario crear una " +"instancia de esta clase; el módulo :mod:`unittest` proporciona una instancia " +"que puede ser compartida como :data:`unittest.defaultTestLoader`. Sin " +"embargo, el uso de una subclase o instancia permite la personalización de " +"algunas propiedades configurables." #: ../Doc/library/unittest.rst:1711 msgid ":class:`TestLoader` objects have the following attributes:" -msgstr "" +msgstr "Los objetos :class:`TestLoader` tienen los siguientes atributos:" #: ../Doc/library/unittest.rst:1716 msgid "" @@ -2079,16 +2755,23 @@ msgid "" "raising an exception to the caller. Non-fatal errors are also indicated by a " "synthetic test that will raise the original error when run." msgstr "" +"Una lista de los errores no fatales encontrados durante los tests de carga. " +"No reseteados por el cargador en ningún momento. Los errores fatales son " +"señalados por el método relevante que lanza una excepción al invocador. Los " +"errores no fatales también son indicados por una prueba sintética que " +"lanzará el error original cuando se ejecute." #: ../Doc/library/unittest.rst:1725 msgid ":class:`TestLoader` objects have the following methods:" -msgstr "" +msgstr "Los objetos :class:`TestLoader` tienen los siguientes métodos:" #: ../Doc/library/unittest.rst:1730 msgid "" "Return a suite of all test cases contained in the :class:`TestCase`\\ -" "derived :class:`testCaseClass`." msgstr "" +"Devuelve un conjunto de todos los casos de test contenidos en la :class:" +"`TestCase`\\ derivada de :class:`testCaseClass`." #: ../Doc/library/unittest.rst:1733 msgid "" @@ -2098,6 +2781,11 @@ msgid "" "`runTest` method is implemented, a single test case is created for that " "method instead." msgstr "" +"Se crea una instancia de caso de test para cada método nombrado por :meth:" +"`getTestCaseNames`. Por defecto, estos son los nombres de los métodos que " +"comienzan con ``test``. Si :meth:`getTestCaseNames` no retorna ningún " +"método, pero se implementa el método :meth:`runTest`, se crea un único caso " +"de test para ese método." #: ../Doc/library/unittest.rst:1742 msgid "" @@ -2105,6 +2793,10 @@ msgid "" "searches *module* for classes derived from :class:`TestCase` and creates an " "instance of the class for each test method defined for the class." msgstr "" +"Devuelva un conjunto de todos los casos de test contenidos en el módulo " +"dado. Este método busca en *module* clases derivadas de :class:`TestCase` y " +"crea una instancia de la clase para cada método de test definido para la " +"clase." #: ../Doc/library/unittest.rst:1749 msgid "" @@ -2114,6 +2806,12 @@ msgid "" "play well with this method. Doing so, however, can be useful when the " "fixtures are different and defined in subclasses." msgstr "" +"Aunque el uso de una jerarquía de clases derivadas de :class:`TestCase` " +"puede ser conveniente para compartir configuraciones y funciones de ayuda, " +"la definición de métodos de test en clases base que no están destinadas a " +"ser instanciadas directamente no complementa bien con este método. Hacerlo, " +"sin embargo, puede ser útil cuando las configuraciones son diferentes y " +"están definidas en subclases." #: ../Doc/library/unittest.rst:1755 msgid "" @@ -2122,10 +2820,14 @@ msgid "" "`load_tests protocol`_. The *pattern* argument is passed as the third " "argument to ``load_tests``." msgstr "" +"Si un módulo proporciona una función ``load_tests`` será llamado para cargar " +"los tests. Esto permite a los módulos personalizar la carga de los tests. " +"Este es el `load_tests protocol`_. El argumento *pattern* se pasa como " +"tercer argumento a ``load_tests``." #: ../Doc/library/unittest.rst:1760 msgid "Support for ``load_tests`` added." -msgstr "" +msgstr "Se ha añadido soporte para ``load_tests``." #: ../Doc/library/unittest.rst:1763 msgid "" @@ -2134,10 +2836,16 @@ msgid "" "compatibility. The method also now accepts a keyword-only argument " "*pattern* which is passed to ``load_tests`` as the third argument." msgstr "" +"El argumento por defecto *use_load_tests* no documentado y no oficial es " +"obsoleto e ignorado, aunque sigue siendo aceptado por la " +"retrocompatibilidad. El método también acepta ahora un argumento de sólo " +"palabra clave *pattern* que se pasa a ``load_tests`` como tercer argumento." #: ../Doc/library/unittest.rst:1772 msgid "Return a suite of all test cases given a string specifier." msgstr "" +"Retorna un conjunto de todos los casos de test dado un especificador de " +"cadena." #: ../Doc/library/unittest.rst:1774 msgid "" @@ -2149,6 +2857,14 @@ msgid "" "up as \"a test method within a test case class\", rather than \"a callable " "object\"." msgstr "" +"El especificador *name* es un \"nombre punteado\" que puede resolverse ya " +"sea a un módulo, una clase de caso de test, un método de test dentro de una " +"clase de caso de test, una instancia :class:`TestSuite`, o un objeto " +"invocable que devuelve una instancia :class:`TestCase` o :class:" +"`TestSuite`. Estas comprobaciones se aplican en el orden que se indica " +"aquí; es decir, un método en una posible clase de caso de test se recogerá " +"como \"un método de test dentro de una clase de caso de test”, en lugar de " +"\"un objeto invocable”." #: ../Doc/library/unittest.rst:1782 msgid "" @@ -2162,10 +2878,19 @@ msgid "" "modules and packages which have not been imported; they will be imported as " "a side-effect." msgstr "" +"Por ejemplo, si tiene un módulo :mod:`SampleTests` que contiene una clase " +"derivada de :class:`TestCase` :class:`SampleTestCase` con tres métodos de " +"test (:meth:`test_one`, :meth:`test_two`, y :meth:`test_three`), el " +"especificador ``SampleTests.SampleTestCase'`` haría que este método " +"devolviera una suite que ejecutara los tres métodos de prueba. El uso del " +"especificador ``SampleTests.SampleTestCase.test_two'`` provocaría que este " +"método devolviera una suite de tests que ejecutaría sólo el método de test :" +"meth:`test_two`. El especificador puede referirse a los módulos y paquetes " +"que no han sido importados; serán importados como un efecto secundario." #: ../Doc/library/unittest.rst:1792 msgid "The method optionally resolves *name* relative to the given *module*." -msgstr "" +msgstr "El método opcionalmente resuelve *name* relativo al *module* dado." #: ../Doc/library/unittest.rst:1794 msgid "" @@ -2173,6 +2898,10 @@ msgid "" "*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 "" +"Si un :exc:`ImportError` o :exc:`AttributeError` ocurre mientras atraviesa " +"*name* entonces se devolverá un test sintético que lanza ese error cuando se " +"ejecuta. Estos errores están incluidos en los errores acumulados por self." +"errors." #: ../Doc/library/unittest.rst:1803 msgid "" @@ -2180,12 +2909,17 @@ msgid "" "than a single name. The return value is a test suite which supports all the " "tests defined for each name." msgstr "" +"Similar a :meth:`loadTestsFromName`, pero toma una secuencia de nombres en " +"lugar de un solo nombre. El valor de retorno es una suite de tests que " +"soporta todos los test definidos para cada nombre." #: ../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 "" +"Devuelve una secuencia ordenada de nombres de métodos encontrados dentro de " +"*testCaseClass*; esta debería ser una subclase de :class:`TestCase`." #: ../Doc/library/unittest.rst:1816 msgid "" @@ -2195,6 +2929,12 @@ msgid "" "pattern matching.) Only module names that are importable (i.e. are valid " "Python identifiers) will be loaded." msgstr "" +"Encuentra todos los módulos de prueba recurriendo a subdirectorios del " +"directorio de inicio especificado, y retorna un objeto de TestSuite que los " +"contenga. Sólo se cargarán los archivos de test que coincidan con el " +"*pattern*. (Utilizando la coincidencia de patrones de estilo de shell.) Sólo " +"se cargarán los nombres de los módulos que sean importables (es decir, que " +"sean identificadores Python válidos)." #: ../Doc/library/unittest.rst:1822 msgid "" @@ -2202,6 +2942,9 @@ msgid "" "the start directory is not the top level directory then the top level " "directory must be specified separately." msgstr "" +"Todos los módulos de test deben ser importables desde el nivel superior del " +"proyecto. Si el directorio de inicio no es el directorio de nivel superior, " +"entonces el directorio de nivel superior debe ser especificado por separado." #: ../Doc/library/unittest.rst:1826 msgid "" @@ -2210,6 +2953,10 @@ msgid "" "import failure is due to :exc:`SkipTest` being raised, it will be recorded " "as a skip instead of an error." msgstr "" +"Si la importación de un módulo falla, por ejemplo debido a un error de " +"sintaxis, entonces esto se registrará como un error único y el " +"descubrimiento continuará. Si el fallo en la importación se debe a que :exc:" +"`SkipTest` se ha lanzado, se registrará como un salto en lugar de un error." #: ../Doc/library/unittest.rst:1831 msgid "" @@ -2220,12 +2967,21 @@ msgid "" "checked for tests once during an invocation, even if the load_tests function " "itself calls ``loader.discover``." msgstr "" +"Si se encuentra un paquete (un directorio que contiene un archivo llamado :" +"file:`__init__.py`), se comprobará si el paquete tiene una función " +"``load_tests``. Si existe, entonces se invocará ``package.load_tests(loader, " +"tests, pattern)``. Test discovery se encarga de asegurar que un paquete sólo " +"se comprueba una vez durante una invocación, incluso si la propia función " +"load_tests llama a ``loader.discover``." #: ../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 "" +"Si ``load_tests`` existe, entonces el descubrimiento *no* recurre en el " +"paquete, ``load_tests`` es responsable de cargar todos los tests en el " +"paquete." #: ../Doc/library/unittest.rst:1843 msgid "" @@ -2234,26 +2990,38 @@ msgid "" "``load_tests`` does not need to pass this argument in to ``loader." "discover()``." msgstr "" +"El patrón no se almacena deliberadamente como atributo cargador para que los " +"paquetes puedan continuar descubriéndose a sí mismos. *top_level_dir* se " +"almacena de forma que ``load_tests`` no necesita pasar este argumento a " +"``loader.discover()``." #: ../Doc/library/unittest.rst:1848 msgid "*start_dir* can be a dotted module name as well as a directory." msgstr "" +"*start_dir* puede ser un nombre de módulo punteado así como un directorio." #: ../Doc/library/unittest.rst:1852 msgid "" "Modules that raise :exc:`SkipTest` on import are recorded as skips, not " "errors." msgstr "" +"Los módulos que lanzan :exc:`SkipTest` en la importación se registran como " +"saltos, no como errores." #: ../Doc/library/unittest.rst:1856 msgid "*start_dir* can be a :term:`namespace packages `." msgstr "" +"*start_dir* puede ser un :term:`paquete de espacios de nombres `." #: ../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 "" +"Las rutas se ordenan antes de ser importadas para que el orden de ejecución " +"sea el mismo, incluso si el orden del sistema de archivos subyacente no " +"depende del nombre del archivo." #: ../Doc/library/unittest.rst:1864 msgid "" @@ -2261,30 +3029,42 @@ msgid "" "their path matches *pattern*, because it is impossible for a package name to " "match the default pattern." msgstr "" +"Los paquetes encontrados son ahora comprobados para ``load_tests`` sin " +"importar si su ruta coincide con el *pattern*, porque es imposible que el " +"nombre de un paquete coincida con el patrón por defecto." #: ../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 "" +"Los siguientes atributos de un :class:`TestLoader` pueden ser configurados " +"ya sea por subclasificación o asignación en una instancia:" #: ../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 "" +"Cadena que da el prefijo de los nombres de métodos que serán interpretados " +"como métodos de test. El valor por defecto es ``'test'``." #: ../Doc/library/unittest.rst:1879 msgid "" "This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " "methods." msgstr "" +"Esto afecta a :meth:`getTestCaseNames` y a todos los métodos :meth:" +"`loadTestsFrom\\*` ." #: ../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 "" +"Función que se utiliza para comparar los nombres de los métodos al " +"clasificarlos en :meth:`getTestCaseNames` y todos los métodos :meth:" +"`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1891 msgid "" @@ -2292,16 +3072,22 @@ msgid "" "methods on the resulting object are needed. The default value is the :class:" "`TestSuite` class." msgstr "" +"Objeto invocable que construye un conjunto de pruebas a partir de una lista " +"de pruebas. No se necesitan métodos en el objeto resultante. El valor por " +"defecto es la clase :class:`TestSuite`." #: ../Doc/library/unittest.rst:1895 ../Doc/library/unittest.rst:1908 msgid "This affects all the :meth:`loadTestsFrom\\*` methods." -msgstr "" +msgstr "Esto afecta a todos los métodos :meth:`loadTestsFrom\\*`." #: ../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 "" +"Lista de patrones de nombres de test de comodines al estilo del shell de " +"Unix que los métodos de test tienen que coincidir con para ser incluidos en " +"las suites de test (ver opción ``-v``)." #: ../Doc/library/unittest.rst:1902 msgid "" @@ -2311,12 +3097,20 @@ msgid "" "unlike patterns passed to the ``-v`` option, simple substring patterns will " "have to be converted using ``*`` wildcards." msgstr "" +"Si este atributo no es ``None`` (el predeterminado), todos los métodos de " +"test que se incluyan en los paquetes de test deben coincidir con uno de los " +"patrones de esta lista. Tenga en cuenta que las coincidencias se realizan " +"siempre utilizando :meth:`fnmatch.fnmatchcase`, por lo que a diferencia de " +"los patrones pasados a la opción ``-v``, los patrones de subcadena simple " +"tendrán que ser convertidos utilizando los comodines ``*``." #: ../Doc/library/unittest.rst:1915 msgid "" "This class is used to compile information about which tests have succeeded " "and which have failed." msgstr "" +"Esta clase se utiliza para recopilar información sobre qué tests han tenido " +"éxito y cuáles han fracasado." #: ../Doc/library/unittest.rst:1918 msgid "" @@ -2325,6 +3119,10 @@ msgid "" "properly recorded; test authors do not need to worry about recording the " "outcome of tests." msgstr "" +"Un objeto :class:`TestResult` almacena los resultados de una serie de " +"pruebas. Las clases :class:`TestCase` y :class:`TestSuite` aseguran que los " +"resultados se registren correctamente; los autores de los tests no tienen " +"que preocuparse de registrar el resultado de las mismas." #: ../Doc/library/unittest.rst:1923 msgid "" @@ -2333,12 +3131,19 @@ msgid "" "purposes; a :class:`TestResult` instance is returned by the :meth:" "`TestRunner.run` method for this purpose." msgstr "" +"Los marcos de pruebas construidos sobre :mod:`unittest` pueden querer " +"acceder al objeto :class:`TestResult` generado por la ejecución de un " +"conjunto de tests con fines de reporte; una instancia :class:`TestResult` es " +"devuelta por el método :meth:`TestRunner.run` para este propósito." #: ../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 "" +"Las instancias de :class:`TestResult` tienen los siguientes atributos que " +"serán de interés cuando se inspeccionen los resultados de la ejecución de un " +"conjunto de tests:" #: ../Doc/library/unittest.rst:1934 msgid "" @@ -2346,6 +3151,9 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test which raised an " "unexpected exception." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de tracebacks. Cada tupla representa una prueba que lanzó una " +"excepción inesperada." #: ../Doc/library/unittest.rst:1940 msgid "" @@ -2353,12 +3161,17 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test where a failure " "was explicitly signalled using the :meth:`TestCase.assert\\*` methods." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de traceback. Cada tupla representa un test en el que un fallo " +"fue explícitamente señalado usando los métodos :meth:`TestCase.assert\\*`." #: ../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 "" +"Una lista que contiene 2 tuplas de instancias de :class:`TestCase` y cadenas " +"que contienen la razón para saltarse el test." #: ../Doc/library/unittest.rst:1953 msgid "" @@ -2366,21 +3179,28 @@ msgid "" "holding formatted tracebacks. Each tuple represents an expected failure or " "error of the test case." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de traceback. Cada tupla representa un fallo esperado del caso " +"de test." #: ../Doc/library/unittest.rst:1959 msgid "" "A list containing :class:`TestCase` instances that were marked as expected " "failures, but succeeded." msgstr "" +"Una lista que contiene instancias de :class:`TestCase` que fueron marcadas " +"como fracasos esperados, pero tuvieron éxito." #: ../Doc/library/unittest.rst:1964 msgid "" "Set to ``True`` when the execution of tests should stop by :meth:`stop`." msgstr "" +"Puesto en ``True`` cuando la ejecución de los tests se detenga por :meth:" +"`stop`." #: ../Doc/library/unittest.rst:1968 msgid "The total number of tests run so far." -msgstr "" +msgstr "El número total de tests realizados hasta ahora." #: ../Doc/library/unittest.rst:1972 msgid "" @@ -2390,28 +3210,41 @@ msgid "" "if the test fails or errors. Any output is also attached to the failure / " "error message." msgstr "" +"Si se ajusta a true, ``sys.stdout`` y ``sys.stderr`` serán almacenados " +"entre :meth:`startTest` y :meth:`stopTest` siendo llamados. La salida " +"recolectada sólo tendrá eco en el verdadero ``sys.stdout`` y ``sys.stderr`` " +"si la prueba falla o se equivoca. Cualquier salida también se adjunta al " +"mensaje de fallo / error." #: ../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 "" +"Si se ajusta a true :meth:`stop` se llamará al primer fallo o error, " +"deteniendo la ejecución de la prueba." #: ../Doc/library/unittest.rst:1988 msgid "If set to true then local variables will be shown in tracebacks." msgstr "" +"Si se ajusta a true entonces las variables locales se mostrarán en los " +"tracebacks." #: ../Doc/library/unittest.rst:1994 msgid "" "Return ``True`` if all tests run so far have passed, otherwise returns " "``False``." msgstr "" +"Devuelve ``True`` si todas las pruebas realizadas hasta ahora han pasado, de " +"lo contrario devuelve ``False``." #: ../Doc/library/unittest.rst:1997 msgid "" "Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " "marked with the :func:`expectedFailure` decorator." msgstr "" +"Devuelve ``False`` si hubo algún :attr:`unexpectedSuccesses` de las pruebas " +"marcadas con el decorador :func:`expectedFailure`." #: ../Doc/library/unittest.rst:2003 msgid "" @@ -2420,6 +3253,10 @@ msgid "" "`TestRunner` objects should respect this flag and return without running any " "additional tests." msgstr "" +"Este método puede ser llamado para señalar que el conjunto de pruebas que se " +"están ejecutando debe ser abortado poniendo el atributo :attr:`shouldStop` " +"en ``True``. :class:`TestRunner` los objetos deben respetar esta bandera y " +"regresar sin ejecutar ninguna prueba adicional." #: ../Doc/library/unittest.rst:2008 msgid "" @@ -2428,6 +3265,11 @@ msgid "" "keyboard. Interactive tools which provide :class:`TestRunner` " "implementations can use this in a similar manner." msgstr "" +"Por ejemplo, esta característica es utilizada por la clase :class:" +"`TextTestRunner` para detener el marco de pruebas cuando el usuario señala " +"una interrupción desde el teclado. Las herramientas interactivas que " +"proporcionan implementaciones de :class:`TestRunner` pueden usar esto de " +"manera similar." #: ../Doc/library/unittest.rst:2013 msgid "" @@ -2436,24 +3278,31 @@ msgid "" "additional reporting requirements. This is particularly useful in building " "tools which support interactive reporting while tests are being run." msgstr "" +"Los siguientes métodos de la clase :class:`TestResult` se utilizan para " +"mantener las estructuras de datos internos, y pueden ampliarse en subclases " +"para apoyar los requisitos de información adicionales. Esto es " +"particularmente útil para construir herramientas que apoyen la presentación " +"de informes interactivos mientras se ejecutan las pruebas." #: ../Doc/library/unittest.rst:2021 msgid "Called when the test case *test* is about to be run." -msgstr "" +msgstr "Llamado cuando el caso de prueba *test* está a punto de ser ejecutado." #: ../Doc/library/unittest.rst:2025 msgid "" "Called after the test case *test* has been executed, regardless of the " "outcome." msgstr "" +"Llamado después de que el caso de prueba *prueba* haya sido ejecutado, " +"independientemente del resultado." #: ../Doc/library/unittest.rst:2030 msgid "Called once before any tests are executed." -msgstr "" +msgstr "Llamado una vez antes de que se ejecute cualquier prueba." #: ../Doc/library/unittest.rst:2037 msgid "Called once after all tests are executed." -msgstr "" +msgstr "Llamado una vez después de que se ejecuten todas las pruebas." #: ../Doc/library/unittest.rst:2044 msgid "" @@ -2461,6 +3310,9 @@ msgid "" "tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " "traceback)``." msgstr "" +"Llamado cuando el caso de prueba *test* plantea una excepción inesperada. " +"*err* es una tupla de la forma devuelta por :func:`sys.exc_info`: ``(type, " +"value, traceback)``." #: ../Doc/library/unittest.rst:2048 msgid "" @@ -2468,12 +3320,17 @@ msgid "" "instance's :attr:`errors` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`errors` de la instancia, donde *formatted_err* es una traza " +"formateada derivada de *err*." #: ../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 "" +"Llamado cuando el caso de prueba *test* señala un fallo. *err* es una tupla " +"de la forma devuelta por :func:`sys.exc_info`: ``(type, value, traceback)``." #: ../Doc/library/unittest.rst:2058 msgid "" @@ -2481,32 +3338,41 @@ msgid "" "instance's :attr:`failures` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`failures` de la instancia, donde *formatted_err* es una " +"traza formateada derivada de *err*." #: ../Doc/library/unittest.rst:2065 msgid "Called when the test case *test* succeeds." -msgstr "" +msgstr "Llamado cuando el caso de prueba *test* tenga éxito." #: ../Doc/library/unittest.rst:2067 msgid "The default implementation does nothing." -msgstr "" +msgstr "La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:2072 msgid "" "Called when the test case *test* is skipped. *reason* is the reason the " "test gave for skipping." msgstr "" +"Llamado cuando se salta el caso de prueba *test*. *reason* es la razón que " +"la prueba dio para saltarse." #: ../Doc/library/unittest.rst:2075 msgid "" "The default implementation appends a tuple ``(test, reason)`` to the " "instance's :attr:`skipped` attribute." msgstr "" +"La implementación por defecto añade una tupla ``(test, reason)`` al " +"atributo :attr:`skipped` de la instancia." #: ../Doc/library/unittest.rst:2081 msgid "" "Called when the test case *test* fails or errors, but was marked with the :" "func:`expectedFailure` decorator." msgstr "" +"Llamó cuando el caso de prueba *test* falla, pero fue marcado con el " +"decorador :func:`expectedFailure`." #: ../Doc/library/unittest.rst:2084 msgid "" @@ -2514,18 +3380,25 @@ msgid "" "instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " "formatted traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`expectedFailures` de la instancia, donde *formatted_err* es " +"una traza formateada derivada de *err*." #: ../Doc/library/unittest.rst:2091 msgid "" "Called when the test case *test* was marked with the :func:`expectedFailure` " "decorator, but succeeded." msgstr "" +"Llamó cuando el caso de prueba *test* se marcó con el decorador :func:" +"`expectedFailure`, pero tuvo éxito." #: ../Doc/library/unittest.rst:2094 msgid "" "The default implementation appends the test to the instance's :attr:" "`unexpectedSuccesses` attribute." msgstr "" +"La implementación por defecto añade la prueba al atributo :attr:" +"`unexpectedSuccesses` de la instancia." #: ../Doc/library/unittest.rst:2100 msgid "" @@ -2533,6 +3406,9 @@ msgid "" "the test method. *subtest* is a custom :class:`TestCase` instance " "describing the subtest." msgstr "" +"Llamado cuando termina una subtest. *test* es el caso de prueba " +"correspondiente al método de test. *subtest* es una instancia " +"personalizada :class:`TestCase` que describe el test." #: ../Doc/library/unittest.rst:2104 msgid "" @@ -2540,24 +3416,33 @@ msgid "" "with an exception where *outcome* is a tuple of the form returned by :func:" "`sys.exc_info`: ``(type, value, traceback)``." msgstr "" +"Si *outcome* es :const:`None`, el subtest tuvo éxito. De lo contrario, " +"falló con una excepción en la que *outcome* es una tupla de la forma " +"devuelta por :func:`sys.exc_info`: ``(type, value, traceback)``." #: ../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 "" +"La implementación por defecto no hace nada cuando el resultado es un éxito, " +"y registra los fallos del subtest como fallos normales." #: ../Doc/library/unittest.rst:2116 msgid "" "A concrete implementation of :class:`TestResult` used by the :class:" "`TextTestRunner`." msgstr "" +"Una implementación concreta de :class:`TestResult` utilizado por el :class:" +"`TextTestRunner`." #: ../Doc/library/unittest.rst:2119 msgid "" "This class was previously named ``_TextTestResult``. The old name still " "exists as an alias but is deprecated." msgstr "" +"Esta clase se llamaba anteriormente ``_TextTestResult``. El antiguo nombre " +"todavía existe como un alias pero está obsoleto." #: ../Doc/library/unittest.rst:2126 msgid "" @@ -2565,6 +3450,9 @@ msgid "" "customization of the :class:`TestLoader` is needed, this instance can be " "used instead of repeatedly creating new instances." msgstr "" +"Instancia de la clase :class:`TestLoader` destinada a ser compartida. Si no " +"es necesario personalizar la clase :class:`TestLoader`, esta instancia puede " +"utilizarse en lugar de crear repetidamente nuevas instancias." #: ../Doc/library/unittest.rst:2134 msgid "" @@ -2576,6 +3464,14 @@ msgid "" "as the interface to construct runners changes when features are added to " "unittest." msgstr "" +"Una implementación básica del test runner que produce resultados en una " +"corriente. Si *stream* es ``None``, el valor por defecto, :data:`sys.stderr` " +"se utiliza como flujo de salida. Esta clase tiene unos pocos parámetros " +"configurables, pero es esencialmente muy simple. Las aplicaciones gráficas " +"que ejecutan las suites de prueba deben proporcionar implementaciones " +"alternativas. Tales implementaciones deberían aceptar ``**kwargs`` como " +"interfaz para construir los cambios de los corredores cuando se añaden " +"características a unittest." #: ../Doc/library/unittest.rst:2141 msgid "" @@ -2589,20 +3485,32 @@ msgid "" "option:`!-Wd` or :option:`!-Wa` options (see :ref:`Warning control `) and leaving *warnings* to ``None``." msgstr "" +"Por defecto este runner muestra :exc:`DeprecationWarning`, :exc:" +"`PendingDeprecationWarning`, :exc:`ResourceWarning` y :exc:`ImportWarning` " +"aunque estén :ref:`ignorados por defecto `. Las " +"advertencias de deprecación causadas por :ref:`métodos deprecated unittest " +"` también tienen un caso especial y, cuando los filtros " +"de advertencia están ``'default'`` o ``'always'``, aparecerán sólo una vez " +"por módulo, para evitar demasiados mensajes de advertencia. Este " +"comportamiento puede ser anulado usando las opciones :option:`!-Wd` o :" +"option:`!-Wa` de Python (ver :ref:`Control de advertencias `) y dejando *warnings* a ``None``." #: ../Doc/library/unittest.rst:2152 msgid "Added the ``warnings`` argument." -msgstr "" +msgstr "Añadió el argumento ``warnings``." #: ../Doc/library/unittest.rst:2155 msgid "" "The default stream is set to :data:`sys.stderr` at instantiation time rather " "than import time." msgstr "" +"El flujo por defecto está configurado como :data:`sys.stderr` en tiempo de " +"instanciación en lugar de tiempo de importación." #: ../Doc/library/unittest.rst:2159 msgid "Added the tb_locals parameter." -msgstr "" +msgstr "Añadido el parámetro tb_locals." #: ../Doc/library/unittest.rst:2164 msgid "" @@ -2610,6 +3518,9 @@ msgid "" "is not intended to be called directly, but can be overridden in subclasses " "to provide a custom ``TestResult``." msgstr "" +"Este método devuelve la instancia de ``TestResult`` usada por :meth:`run`. " +"No está destinado a ser llamado directamente, pero puede ser anulado en " +"subclases para proporcionar un ``TestResult`` personalizado." #: ../Doc/library/unittest.rst:2168 msgid "" @@ -2618,6 +3529,11 @@ msgid "" "to :class:`TextTestResult` if no ``resultclass`` is provided. The result " "class is instantiated with the following arguments::" msgstr "" +"``_makeResult()`` instanciando la clase o el pasaje llamado en el " +"constructor ``TextTestRunner`` como el argumento de ``resultclass``. Por " +"defecto es :class:`TextTestResult` si no se proporciona ninguna " +"``resultclass``. La clase de resultado se instanciará con los siguientes " +"argumentos::" #: ../Doc/library/unittest.rst:2177 msgid "" @@ -2626,6 +3542,10 @@ msgid "" "`TestResult` is created by calling :func:`_makeResult` and the test(s) are " "run and the results printed to stdout." msgstr "" +"Este método es la principal interfaz pública del ``TextTestRunner``. Este " +"método toma una instancia :class:`TestSuite` o :class:`TestCase`. Se crea " +"una :class:`TestResult` llamando a :func:`_makeResult` y se ejecuta(n) la(s) " +"prueba(s) y se imprimen los resultados a stdout." #: ../Doc/library/unittest.rst:2188 msgid "" @@ -2634,12 +3554,18 @@ msgid "" "simplest use for this function is to include the following line at the end " "of a test script::" msgstr "" +"Un programa de línea de comandos que carga un conjunto de pruebas de " +"*módulo* y las ejecuta; esto es principalmente para hacer los módulos de " +"prueba convenientemente ejecutables. El uso más simple de esta función es " +"incluir la siguiente línea al final de un guión de prueba::" #: ../Doc/library/unittest.rst:2196 msgid "" "You can run tests with more detailed information by passing in the verbosity " "argument::" msgstr "" +"Puedes hacer pruebas con información más detallada pasando el argumento de " +"la verbosity::" #: ../Doc/library/unittest.rst:2202 msgid "" @@ -2648,6 +3574,11 @@ msgid "" "not specified or ``None`` and no test names are provided via *argv*, all " "tests found in *module* are run." msgstr "" +"El argumento *defaultTest* es el nombre de una prueba única o un iterable de " +"nombres de pruebas a ejecutar si no se especifican nombres de pruebas a " +"través de *argv*. Si no se especifica o ``Ninguno`` y no se proporcionan " +"nombres de pruebas vía *argv*, se ejecutan todas las pruebas encontradas en " +"*modulo*." #: ../Doc/library/unittest.rst:2207 msgid "" @@ -2655,6 +3586,9 @@ msgid "" "first element being the program name. If not specified or ``None``, the " "values of :data:`sys.argv` are used." msgstr "" +"El argumento *argv* puede ser una lista de opciones pasadas al programa, " +"siendo el primer elemento el nombre del programa. Si no se especifica o " +"``Ninguno``, se utilizan los valores de :data:`sys.argv`." #: ../Doc/library/unittest.rst:2211 msgid "" @@ -2662,12 +3596,18 @@ msgid "" "created instance of it. By default ``main`` calls :func:`sys.exit` with an " "exit code indicating success or failure of the tests run." msgstr "" +"El argumento *testRunner* puede ser una clase de corredor de prueba o una " +"instancia ya creada de él. Por defecto ``main`` llama :func:`sys.exit` con " +"un código de salida que indica el éxito o el fracaso de la ejecución de las " +"pruebas." #: ../Doc/library/unittest.rst:2215 msgid "" "The *testLoader* argument has to be a :class:`TestLoader` instance, and " "defaults to :data:`defaultTestLoader`." msgstr "" +"El argumento *testLoader* tiene que ser una instancia :class:`TestLoader`, y " +"por defecto :data:`defaultTestLoader`." #: ../Doc/library/unittest.rst:2218 msgid "" @@ -2675,12 +3615,17 @@ msgid "" "the argument ``exit=False``. This displays the result on standard output " "without calling :func:`sys.exit`::" msgstr "" +"``main`` apoya el uso del intérprete interactivo pasando el argumento " +"``exit=False``. Esto muestra el resultado en la salida estándar sin llamar " +"a :func:`sys.exit`::" #: ../Doc/library/unittest.rst:2225 msgid "" "The *failfast*, *catchbreak* and *buffer* parameters have the same effect as " "the same-name `command-line options`_." msgstr "" +"Los parámetros *failfast*, *catchbreak* y *buffer* tienen el mismo efecto " +"que las `command-line options`_ del mismo nombre." #: ../Doc/library/unittest.rst:2228 msgid "" @@ -2690,32 +3635,44 @@ msgid "" "(see :ref:`Warning control `), otherwise it will be set " "to ``'default'``." msgstr "" +"El argumento *warnings* especifica el :ref:`filtro de aviso ` que debe ser usado mientras se realizan los tests. Si no se " +"especifica, permanecerá como ``None`` si se pasa una opción :option:`!-W` a :" +"program:`python` (ver :ref:`Warning control `), de lo " +"contrario se establecerá como ``’default’``." #: ../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 "" +"Invocar ``main`` en realidad devuelve una instancia de la clase " +"``TestProgram``. Esto almacena el resultado de las pruebas ejecutadas como " +"el atributo ``result``." #: ../Doc/library/unittest.rst:2237 msgid "The *exit* parameter was added." -msgstr "" +msgstr "El parámetro *exit* fue añadido." #: ../Doc/library/unittest.rst:2240 msgid "" "The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " "parameters were added." msgstr "" +"Los parámetros *verbosity*, *failfast*, *catchbreak*, *buffer* y *warnings* " +"fueron añadidos." #: ../Doc/library/unittest.rst:2244 msgid "" "The *defaultTest* parameter was changed to also accept an iterable of test " "names." msgstr "" +"El parámetro *defaultTest* fue cambiado para aceptar también un iterable de " +"nombres de pruebas." #: ../Doc/library/unittest.rst:2250 msgid "load_tests Protocol" -msgstr "" +msgstr "load_tests protocolo" #: ../Doc/library/unittest.rst:2254 msgid "" @@ -2723,22 +3680,30 @@ msgid "" "normal test runs or test discovery by implementing a function called " "``load_tests``." msgstr "" +"Los módulos o paquetes pueden personalizar la forma en que se cargan las " +"pruebas a partir de ellos durante las ejecuciones de prueba normales o el " +"descubrimiento de pruebas mediante la implementación de una función llamada " +"``load_tests``." #: ../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 "" +"Si un módulo de tests define ``load_tests`` será llamado por :meth:" +"`TestLoader.loadTestsFromModule` con los siguientes argumentos::" #: ../Doc/library/unittest.rst:2262 msgid "" "where *pattern* is passed straight through from ``loadTestsFromModule``. It " "defaults to ``None``." msgstr "" +"donde *pattern* se pasa directamente desde ``loadTestsFromModule``. Por " +"defecto es ``None``." #: ../Doc/library/unittest.rst:2265 msgid "It should return a :class:`TestSuite`." -msgstr "" +msgstr "Debe retornar una :class:`TestSuite`." #: ../Doc/library/unittest.rst:2267 msgid "" @@ -2748,12 +3713,19 @@ msgid "" "from the standard set of tests. The third argument is used when loading " "packages as part of test discovery." msgstr "" +"*loader* es la instancia de :class:`TestLoader` haciendo la carga. " +"*standard_tests* son los tests que se cargarían por defecto desde el módulo. " +"Es común que los módulos de test sólo quieran añadir o quitar tests del " +"conjunto de tests estándar. El tercer argumento se usa cuando se cargan " +"paquetes como parte del descubrimiento de tests." #: ../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 "" +"Una típica función de ``load_tests`` que carga pruebas de un conjunto " +"específico de :class:`TestCase`class:`TestCase` puede ser como::" #: ../Doc/library/unittest.rst:2285 msgid "" @@ -2764,6 +3736,13 @@ msgid "" "just another directory. Otherwise, discovery of the package's tests will be " "left up to ``load_tests`` which is called with the following arguments::" msgstr "" +"Si discovery se inicia en un directorio que contiene un paquete, ya sea " +"desde la línea de comandos o llamando a :meth:`TestLoader.discover`, " +"entonces el paquete :file:`__init__.py` se comprobará por ``load_tests``. " +"Si esa función no existe, discover se reincorporará al paquete como si fuera " +"un directorio más. De lo contrario, el descubrimiento de los tests del " +"paquete se dejará en ``load_tests`` que se llama con los siguientes " +"argumentos::" #: ../Doc/library/unittest.rst:2294 msgid "" @@ -2771,6 +3750,9 @@ msgid "" "package. (``standard_tests`` will only contain tests collected from :file:" "`__init__.py`.)" msgstr "" +"Esto debería devolver un :class:`TestSuite` que represente todas las pruebas " +"del paquete. (``test_estándar`` sólo contendrá las pruebas recogidas de :" +"file:`__init__.py`.)" #: ../Doc/library/unittest.rst:2298 msgid "" @@ -2778,16 +3760,23 @@ msgid "" "continue (and potentially modify) test discovery. A 'do nothing' " "``load_tests`` function for a test package would look like::" msgstr "" +"Debido a que el patrón se pasa a ``load_tests`` el paquete es libre de " +"continuar (y potencialmente modificar) el descubrimiento de pruebas. Una " +"función de 'no hace nada' ``load_test`` para un paquete de pruebas se vería " +"como::" #: ../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 "" +"Discovery ya no comprueba si los nombres de los paquetes coinciden con el " +"*patrón* debido a la imposibilidad de que los nombres de los paquetes " +"coincidan con el patrón por defecto." #: ../Doc/library/unittest.rst:2316 msgid "Class and Module Fixtures" -msgstr "" +msgstr "Instalaciones para clases y módulos" #: ../Doc/library/unittest.rst:2318 msgid "" @@ -2796,6 +3785,10 @@ msgid "" "from the previous class (if there is one) is called, followed by :meth:" "`setUpClass` from the new class." msgstr "" +"Los accesorios de nivel de clase y módulo se implementan en :class:" +"`TestSuite`. Cuando el conjunto de pruebas se encuentra con una prueba de " +"una nueva clase entonces se llama :meth:`tearDownClass` de la clase anterior " +"(si existe), seguido de :meth:`setUpClass` de la nueva clase." #: ../Doc/library/unittest.rst:2323 msgid "" @@ -2803,12 +3796,17 @@ msgid "" "``tearDownModule`` from the previous module is run, followed by " "``setUpModule`` from the new module." msgstr "" +"Del mismo modo, si una prueba es de un módulo diferente de la prueba " +"anterior, entonces se ejecuta ``DesmontarMódulo`` del módulo anterior, " +"seguido de ``DesmontarMódulo`` del nuevo módulo." #: ../Doc/library/unittest.rst:2327 msgid "" "After all the tests have run the final ``tearDownClass`` and " "``tearDownModule`` are run." msgstr "" +"Después de todas las pruebas, se ejecutan los últimos ``tearDownClass`` y " +"``tearDownModule``." #: ../Doc/library/unittest.rst:2330 msgid "" @@ -2816,6 +3814,9 @@ msgid "" "test parallelization and they break test isolation. They should be used with " "care." msgstr "" +"Tenga en cuenta que los accesorios compartidos no juegan bien con las " +"características [potenciales] como la paralelización de la prueba y rompen " +"el aislamiento de la prueba. Deben ser usados con cuidado." #: ../Doc/library/unittest.rst:2333 msgid "" @@ -2826,6 +3827,13 @@ msgid "" "modules and classes are adjacent to each other, then these shared fixture " "functions may be called multiple times in a single test run." msgstr "" +"El orden por defecto de las pruebas creadas por los cargadores de pruebas " +"unitarias es agrupar todas las pruebas de los mismos módulos y clases. Esto " +"llevará a que ``setUpClass`` / ``setUpModule`` (etc) sea llamado exactamente " +"una vez por clase y módulo. Si se aleatoriza el orden, de manera que las " +"pruebas de diferentes módulos y clases sean adyacentes entre sí, entonces " +"estas funciones compartidas de fixture pueden ser llamadas varias veces en " +"una sola ejecución de prueba." #: ../Doc/library/unittest.rst:2340 msgid "" @@ -2833,6 +3841,9 @@ msgid "" "ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " "support shared fixtures." msgstr "" +"Los accesorios compartidos no están pensados para trabajar con suites con " +"pedidos no estándar. Todavía existe una ``BaseTestSuite`` para los marcos de " +"trabajo que no quieren soportar accesorios compartidos." #: ../Doc/library/unittest.rst:2344 msgid "" @@ -2843,14 +3854,20 @@ msgid "" "are just using the standard unittest test runner then this detail doesn't " "matter, but if you are a framework author it may be relevant." msgstr "" +"Si hay alguna excepción planteada durante una de las funciones compartidas " +"del aparato, la prueba se notifica como un error. Debido a que no hay una " +"instancia de prueba correspondiente, se crea un objeto ``_ErrorHolder`` (que " +"tiene la misma interfaz que un :class:`TestCase`) para representar el error. " +"Si sólo estás usando el standard unittest test runner entonces este detalle " +"no importa, pero si eres un autor de marcos de trabajo puede ser relevante." #: ../Doc/library/unittest.rst:2353 msgid "setUpClass and tearDownClass" -msgstr "" +msgstr "setUpClass y tearDownClass" #: ../Doc/library/unittest.rst:2355 msgid "These must be implemented as class methods::" -msgstr "" +msgstr "Estos deben ser implementados como métodos de clase::" #: ../Doc/library/unittest.rst:2368 msgid "" @@ -2858,6 +3875,9 @@ msgid "" "then you must call up to them yourself. The implementations in :class:" "`TestCase` are empty." msgstr "" +"Si quieres que se invoque a ``SetUpClass`` y ``BreakdownClass`` en clases " +"base, debes llamarlos tú mismo. Las implementaciones en :class:`TestCase` " +"están vacías." #: ../Doc/library/unittest.rst:2372 msgid "" @@ -2867,14 +3887,19 @@ msgid "" "`SkipTest` exception then the class will be reported as having been skipped " "instead of as an error." msgstr "" +"Si se lanza una excepción durante una ``setUpClass``, entonces los tests de " +"la clase no se ejecutan y la ``tearDownClass`` no se ejecuta. Las clases que " +"se salten no tendrán ``setUpClass`` o ``tearDownClass``. Si la excepción es " +"una :exc:`SkipTest` entonces la clase será reportada como salteada en lugar " +"de como un error." #: ../Doc/library/unittest.rst:2380 msgid "setUpModule and tearDownModule" -msgstr "" +msgstr "setUpModule y tearDownModule" #: ../Doc/library/unittest.rst:2382 msgid "These should be implemented as functions::" -msgstr "" +msgstr "Estos deben ser implementados como funciones::" #: ../Doc/library/unittest.rst:2390 msgid "" @@ -2883,12 +3908,18 @@ msgid "" "exception is a :exc:`SkipTest` exception then the module will be reported as " "having been skipped instead of as an error." msgstr "" +"Si se lanza una excepción en un ``setUpModule``, entonces no se ejecutará " +"ninguna de las pruebas del módulo y no se ejecutará el ``tearDownModule``. " +"Si la excepción es una :exc:`SkipTest` entonces el módulo será reportado " +"como saltado en lugar de como un error." #: ../Doc/library/unittest.rst:2395 msgid "" "To add cleanup code that must be run even in the case of an exception, use " "``addModuleCleanup``:" msgstr "" +"Para agregar código de limpieza que se debe ejecutar incluso en el caso de " +"una excepción, utilice ``addModuleCleanup``::" #: ../Doc/library/unittest.rst:2401 msgid "" @@ -2898,18 +3929,28 @@ msgid "" "are called with any arguments and keyword arguments passed into :meth:" "`addModuleCleanup` when they are added." msgstr "" +"Añade una función que se llamará después de :func:`tearDownModule` para " +"limpiar los recursos utilizados durante la clase de test. Las funciones se " +"llamarán en orden inverso al orden en que se agregan (:abbr:`LIFO (last-in, " +"first-out)`). Se llaman con cualquier argumento y palabra clave que se pase " +"a :meth:`addModuleCleanup` cuando se añadan." #: ../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 "" +"Si :meth:`setUpModule` falla, lo que significa que :func:`tearDownModule` no " +"se invoca, entonces cualquier función de limpieza añadida seguirá siendo " +"invocada." #: ../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 "" +"Esta función se llama incondicionalmente después de :func:`tearDownModule`, " +"o después de :func:`setUpModule` si :func:`setUpModule` lanza una excepción." #: ../Doc/library/unittest.rst:2418 msgid "" @@ -2917,16 +3958,22 @@ msgid "" "`addCleanupModule`. If you need cleanup functions to be called *prior* to :" "func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." msgstr "" +"Es responsable de invocar a todas las funciones de limpieza añadidas por :" +"func:`addCleanupModule`. Si necesitas que las funciones de limpieza se " +"llamen *previamente* a :func:`tearDownModule` entonces puedes invocar a :" +"func:`doModuleCleanups` tú mismo." #: ../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 "" +":func:`doModuleCleanups` saca los métodos de la pila de funciones de " +"limpieza uno a uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:2429 msgid "Signal Handling" -msgstr "" +msgstr "Manejo de señales" #: ../Doc/library/unittest.rst:2433 msgid "" @@ -2937,6 +3984,13 @@ msgid "" "complete, and the test run will then end and report all the results so far. " "A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." msgstr "" +"La opción :option:`-c/--catch ` línea de comando para unittest, " +"junto con el parámetro ``catchbreak`` de :func:`unittest.main()`, " +"proporcionan un manejo más amigable del control-C durante una prueba. Con el " +"comportamiento catch break habilitado, control-C permitirá que se complete " +"la prueba que se está ejecutando actualmente, y la ejecución de la prueba " +"terminará y reportará todos los resultados hasta ahora. Un segundo control-C " +"lanzará una :exc:`KeyboardInterrupt` de la manera habitual." #: ../Doc/library/unittest.rst:2440 msgid "" @@ -2949,12 +4003,24 @@ msgid "" "to it. For individual tests that need ``unittest`` control-c handling " "disabled the :func:`removeHandler` decorator can be used." msgstr "" +"El manejador de señales de manejo de control-c intenta permanecer compatible " +"con el código o las pruebas que instalan su propio manejador :const:`signal." +"SIGINT` . Si se llama al manejador ``unittest`` pero *no es* el manejador :" +"const:`signal.SIGINT` instalado, es decir, ha sido reemplazado por el " +"sistema bajo test y delegado, entonces llama al manejador por defecto. Este " +"será normalmente el comportamiento esperado por el código que reemplaza un " +"manejador instalado y delega en él. Para las pruebas individuales que " +"necesiten el manejo de control-c de ``unittest`` deshabilitado se puede usar " +"el decorador :func:`removeHandler`." #: ../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 "" +"Hay algunas funciones de utilidad para que los autores de marcos de trabajo " +"habiliten la funcionalidad de control de control-c dentro de los marcos de " +"prueba." #: ../Doc/library/unittest.rst:2454 msgid "" @@ -2962,6 +4028,9 @@ msgid "" "(usually in response to the user pressing control-c) all registered results " "have :meth:`~TestResult.stop` called." msgstr "" +"Instala el controlador de control-c. Cuando se recibe una :const:`signal." +"SIGINT` (normalmente en respuesta a que el usuario presione control-c) " +"todos los resultados registrados tienen :meth:`~TestResult.stop` llamado." #: ../Doc/library/unittest.rst:2461 msgid "" @@ -2969,6 +4038,9 @@ msgid "" "result stores a weak reference to it, so it doesn't prevent the result from " "being garbage collected." msgstr "" +"Registrar un objeto :class:`TestResult` para el manejo de control-c. El " +"registro de un resultado almacena una referencia débil a él, por lo que no " +"evita que el resultado sea recogido por el recolector de basura." #: ../Doc/library/unittest.rst:2465 msgid "" @@ -2976,6 +4048,10 @@ msgid "" "handling is not enabled, so test frameworks can unconditionally register all " "results they create independently of whether or not handling is enabled." msgstr "" +"El registro de un objeto :class:`TestResult` no tiene efectos secundarios si " +"el manejo de control-c no está habilitado, por lo que los marcos de pruebas " +"pueden registrar incondicionalmente todos los resultados que crean " +"independientemente de si el manejo está habilitado o no." #: ../Doc/library/unittest.rst:2472 msgid "" @@ -2983,6 +4059,9 @@ msgid "" "`~TestResult.stop` will no longer be called on that result object in " "response to a control-c." msgstr "" +"Elimine un resultado registrado. Una vez que un resultado ha sido " +"eliminado, :meth:`~TestResult.stop` ya no se llamará en ese objeto de " +"resultado en respuesta a un control-c." #: ../Doc/library/unittest.rst:2479 msgid "" @@ -2990,3 +4069,6 @@ msgid "" "it has been installed. This function can also be used as a test decorator to " "temporarily remove the handler while the test is being executed::" msgstr "" +"Cuando se llama sin argumentos, esta función quita el gestor control-c si se " +"ha instalado. Esta función también se puede utilizar como decorador de tests " +"para quitar temporalmente el controlador mientras se ejecuta el test::" From 6f529143bac24b1ae3916e7a97573df592786d3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Wed, 4 Aug 2021 17:15:45 +0200 Subject: [PATCH 17/94] Fix typo in format_differences.py (#1249) --- scripts/format_differences.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/format_differences.py b/scripts/format_differences.py index 06a763743f..55a7039177 100644 --- a/scripts/format_differences.py +++ b/scripts/format_differences.py @@ -35,10 +35,10 @@ def main(): wordsid = wordsstr = list() if has_delimiters(entry.msgid): - wordsid = [word for word in entry.msgid.split() if has_delimiter(word)] + wordsid = [word for word in entry.msgid.split() if has_delimiters(word)] if has_delimiters(entry.msgstr): - wordsstr = [word for word in entry.msgstr.split() if has_delimiter(word)] + wordsstr = [word for word in entry.msgstr.split() if has_delimiters(word)] if len(wordsid) != len(wordsstr): key = pofilename.replace(PO_DIR, '') From 9f78d96742fbe4576593b9ae7377bf7a9e1b5b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaume=20Montan=C3=A9?= <70690658+jaumemy@users.noreply.github.com> Date: Wed, 4 Aug 2021 17:18:56 +0200 Subject: [PATCH 18/94] =?UTF-8?q?Traducci=C3=B3n=20library/ssl=20(#1152)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Primera parte traducción library/ssl * Apply suggestions from code review * Finalizando library/ssl Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_ssl.txt | 34 ++++++++--- library/ssl.po | 111 +++++++++++++++-------------------- 2 files changed, 74 insertions(+), 71 deletions(-) diff --git a/dictionaries/library_ssl.txt b/dictionaries/library_ssl.txt index 2b24c1a9e0..2cc07b5d05 100644 --- a/dictionaries/library_ssl.txt +++ b/dictionaries/library_ssl.txt @@ -1,26 +1,44 @@ +Basic +CertificateRequest +Change +Client +Diffie +Elliptic +Hellman +Hello +HelloRequest +Poly +Spec +Trust +Wireshark blob cafile capath -CertificateRequest -Change +cert +certs cipher -Client +cryptographic daemon daemons +desencripta disjunto -Elliptic handshake -Hello -HelloRequest +hostname +hostnames keylog +matching matchings openssl -Spec +server +socket ssl subjectAltName ticket tickets -Trust +tls +trust +unique +v wrapper Secure Layer diff --git a/library/ssl.po b/library/ssl.po index f68e148004..7b0cbb151e 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -11,26 +11,26 @@ msgstr "" "Project-Id-Version: Python 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-05-07 11:25+0200\n" +"PO-Revision-Date: 2021-08-04 16:45+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Marcos Medrano \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" "X-Poedit-Basepath: .\n" -# En el resto del documento, utilizo los términos en inglés "socket" (utilizado comunmente en español) y "wrapper" (que podría traducirse "envoltura" pero me parece mucho mas claro en inglés). #: ../Doc/library/ssl.rst:2 msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" -msgstr ":mod:`ssl` --- TLS/SSL wrapper para objetos socket" +msgstr "" +":mod:`ssl` ---Empaquetador o wrapper TLS/SSL para objetos de tipo socket" #: ../Doc/library/ssl.rst:10 msgid "**Source code:** :source:`Lib/ssl.py`" -msgstr "**Código fuente:** :source:'Lib/ssl.py'" +msgstr "**Código fuente:**:source:`Lib/ssl.py`" #: ../Doc/library/ssl.rst:18 msgid "" @@ -41,26 +41,13 @@ msgid "" "X, and probably additional platforms, as long as OpenSSL is installed on " "that platform." msgstr "" -"Este módulo provee acceso al cifrado de la Seguridad de la capa de " -"transporte (conocida también como \"Secure Sockets Layer\") y a facilidades " -"de autenticación para sockets de red, tanto para el lado del cliente como " -"para el lado del servidor. Este módulo utiliza la biblioteca OpenSSL. Está " -"disponible en todos los sistemas Unix modernos, Windows, Max OS X, y " -"probablemente en plataformas adicionales, siempre y cuando OpenSSL esté " -"instalada en esa plataforma." - -# El último "openssl" lo traduzco "OpenSSL" por cohérencia con el resto de la documentación. -#: ../Doc/library/ssl.rst:26 -msgid "" -"Some behavior may be platform dependent, since calls are made to the " -"operating system socket APIs. The installed version of OpenSSL may also " -"cause variations in behavior. For example, TLSv1.1 and TLSv1.2 come with " -"openssl version 1.0.1." -msgstr "" -"Algunos comportamientos pueden depender de la plataforma, dado que las " -"llamadas se realizan a las API de socket del sistema operativo. La versión " -"de OpenSSL instalada puede también causar variaciones en el comportamiento. " -"Por ejemplo, TLSv1.1 y TLSv1.2 vienen con la versión 1.0.1 de OpenSSL." +"Este módulo proporciona acceso a las funciones de cifrado de Seguridad de la " +"capa de transporte (a menudo conocida como \"Capa de sockets seguros\") y de " +"autenticación de pares para sockets de red, tanto del lado del cliente como " +"del lado del servidor. Este módulo utiliza la biblioteca OpenSSL. Está " +"disponible en todos los sistemas Unix modernos, Windows, Mac OS X y " +"probablemente en plataformas adicionales, siempre que OpenSSL esté instalado " +"en esa plataforma." #: ../Doc/library/ssl.rst:32 msgid "" @@ -68,9 +55,9 @@ msgid "" "lead to a false sense of security, as the default settings of the ssl module " "are not necessarily appropriate for your application." msgstr "" -"No utilice este módulo sin leer :ref:`ssl-security`. Hacerlo puede dar lugar " -"a una falsa sensación de seguridad ya que los ajustes por defecto del módulo " -"ssl no son necesariamente adecuados para su aplicación." +"No use este módulo sin leer :ref:`ssl-security`. Hacerlo puede generar una " +"falsa sensación de seguridad, ya que la configuración predeterminada del " +"módulo ssl no es necesariamente la adecuada para su aplicación." #: ../Doc/library/ssl.rst:37 msgid "" @@ -78,9 +65,9 @@ msgid "" "more general information about TLS, SSL, and certificates, the reader is " "referred to the documents in the \"See Also\" section at the bottom." msgstr "" -"Esta sección documenta los objetos y funciones del módulo ``ssl``; para " -"obtener información mas general sobre TLS, SSL, y certificados, el lector es " -"referido a los documentos de la sección \"Ver también\" en la parte inferior." +"Esta sección documenta los objetos y funciones en el módulo ``ssl``; para " +"más información general sobre TLS,SSL, y certificados, se recomienda que el " +"lector acuda a la sección \"Ver también\" al final de la página." #: ../Doc/library/ssl.rst:41 msgid "" @@ -91,12 +78,12 @@ msgid "" "certificate of the other side of the connection, and :meth:`cipher`, which " "retrieves the cipher being used for the secure connection." msgstr "" -"Este módulo proporciona una clase, :class:`ssl.SSLSocket`, que deriva del " -"tipo :class:`socket.socket`, y proporciona un wrapper tipo socket que " -"también cifra y descifra los datos que pasan por el socket con SSL. Soporta " -"métodos adicionales como :meth:`getpeercert`, el cual recupera el " +"Este módulo proporciona una clase, :class:`ssl.SSLSocket`, que se deriva del " +"tipo :class:`socket.socket`, y proporciona una envoltura similar a un socket " +"que también encripta y desencripta los datos que pasan por el socket con " +"SSL . Admite métodos adicionales como :meth:`getpeercert`, que recupera el " "certificado del otro lado de la conexión, y :meth:`cipher`, que recupera el " -"cifrado que se está utilizando para la conexión segura." +"cifrado que se utiliza para la conexión segura." #: ../Doc/library/ssl.rst:48 msgid "" @@ -104,14 +91,14 @@ msgid "" "manage settings and certificates, which can then be inherited by SSL sockets " "created through the :meth:`SSLContext.wrap_socket` method." msgstr "" -"Para aplicaciones mas sofisticadas, la clase :class:`ssl.SSLContext` ayuda a " -"gestionar los ajustes y los certificados, los cuales pueden luego ser " +"Para aplicaciones más sofisticadas, la clase :class:`ssl.SSLContext` ayuda a " +"administrar la configuración y los certificados, que luego pueden ser " "heredados por sockets SSL creados a través del método :meth:`SSLContext." "wrap_socket`." #: ../Doc/library/ssl.rst:52 msgid "Updated to support linking with OpenSSL 1.1.0" -msgstr "Actualizado para soportar enlace con OpenSSL 1.1.0" +msgstr "Actualizado para admitir la vinculación con OpenSSL 1.1.0" #: ../Doc/library/ssl.rst:57 msgid "" @@ -712,13 +699,10 @@ msgstr "" ":attr:`openssl_cafile_env` - clave de entorno de OpenSSL que apunta a un " "cafile," -# Como traducir "hard coded path" ? -# "ruta hardcodeada" ? -# "ruta preseteada" ? -# "ruta predefinida" ? #: ../Doc/library/ssl.rst:467 msgid ":attr:`openssl_cafile` - hard coded path to a cafile," -msgstr ":attr:`openssl_cafile` - hard-coded ruta a un cafile," +msgstr "" +":attr:`openssl_cafile` - camino codificado de forma rígida a un cafile," #: ../Doc/library/ssl.rst:468 msgid "" @@ -730,7 +714,9 @@ msgstr "" #: ../Doc/library/ssl.rst:469 msgid ":attr:`openssl_capath` - hard coded path to a capath directory" -msgstr ":attr:`openssl_capath` - hard-coded ruta a un directorio capath" +msgstr "" +":attr:`openssl_capath` - camino codificado de forma rígida a un directorio " +"capath" #: ../Doc/library/ssl.rst:473 msgid "" @@ -1639,7 +1625,7 @@ msgid "" msgstr "" "Lee hasta *len* bytes de datos del socket SSL y retorna el resultado como " "una instancia ``bytes``. Si *buffer* es especificado, entonces se lee hacia " -"el buffer en su lugar, y retorna el número de bytes leídos." +"el búfer en su lugar, y retorna el número de bytes leídos." #: ../Doc/library/ssl.rst:1129 msgid "" @@ -1677,7 +1663,7 @@ msgid "" "*buf* argument must be an object supporting the buffer interface." msgstr "" "Escribe *buf* en el socket SSL y retorna el número de bytes escritos. El " -"argumento *buf* debe ser un objeto que soporte la interfaz buffer." +"argumento *buf* debe ser un objeto que soporte la interfaz búfer." #: ../Doc/library/ssl.rst:1148 msgid "" @@ -1865,7 +1851,7 @@ msgid "" "``crlDistributionPoints``, ``caIssuers`` and ``OCSP`` URIs." msgstr "" ":exc:`ValueError` se lanza cuando no se realiza el handshake. El diccionario " -"devuelto incluye elementos de extensión X509v3 adicionales como " +"retornado incluye elementos de extensión X509v3 adicionales como " "``crlDistributionPoints``, ``caIssuers`` y ``OCSP`` URIs." #: ../Doc/library/ssl.rst:1259 @@ -2878,7 +2864,7 @@ msgid "" "of hard-coded :class:`SSLSocket`." msgstr "" "El método retorna una instancia de :attr:`SSLContext.sslsocket_class` en " -"lugar de un :class:`SSLSocket` hard-coded." +"lugar de un :class:`SSLSocket` rígidamente programado." #: ../Doc/library/ssl.rst:1836 msgid "" @@ -2916,7 +2902,7 @@ msgid "" "of hard-coded :class:`SSLObject`." msgstr "" "El método retorna una instancia de :attr:`SSLContext.sslobject_class` en " -"lugar de un :class:`SSLObject` hard-coded." +"lugar de un :class:`SSLObject` rígidamente programado." #: ../Doc/library/ssl.rst:1862 msgid "" @@ -3690,7 +3676,7 @@ msgstr "" "Una variante de alcance reducido de :class:`SSLSocket` que representa una " "instancia del protocolo SSL que no contiene ningún método de E/S de red. " "Esta clase suele ser utilizada por los autores de frameworks que quieren " -"implementar E/S asíncrona para SSL a través de buffers de memoria." +"implementar E/S asíncrona para SSL a través de búfers de memoria." #: ../Doc/library/ssl.rst:2467 msgid "" @@ -3814,7 +3800,7 @@ msgid "" "underlying :class:`MemoryBIO` buffers." msgstr "" "Cualquier forma de E/S de red; ``recv()`` y ``send()`` leen y escriben sólo " -"en los buffers subyacentes de :class:`MemoryBIO`." +"en los búfers subyacentes de :class:`MemoryBIO`." #: ../Doc/library/ssl.rst:2507 msgid "" @@ -3894,24 +3880,23 @@ msgid "" "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -"Un SSLObject se comunica con el mundo exterior utilizando buffers de " -"memoria. La clase :class:`MemoryBIO` proporciona un buffer de memoria que " -"puede ser utilizado para este propósito. Envuelve un objeto BIO (Basic IO) " -"de memoria de OpenSSL:" +"Un SSLObject se comunica con el mundo exterior utilizando búfers de memoria. " +"La clase :class:`MemoryBIO` proporciona un búfer de memoria que puede ser " +"utilizado para este propósito. Envuelve un objeto BIO (Basic IO) de memoria " +"de OpenSSL:" #: ../Doc/library/ssl.rst:2544 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -"Un buffer de memoria que se puede utilizar para pasar datos entre Python y " +"Un búfer de memoria que se puede utilizar para pasar datos entre Python y " "una instancia del protocolo SSL." #: ../Doc/library/ssl.rst:2549 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -"Retorna el número de bytes que se encuentran actualmente en la memoria " -"buffer." +"Retorna el número de bytes que se encuentran actualmente en la memoria búfer." #: ../Doc/library/ssl.rst:2553 msgid "" @@ -3926,7 +3911,7 @@ msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -"Lee hasta *n* bytes del buffer de memoria. Si *n* no se especifica o es " +"Lee hasta *n* bytes del búfer de memoria. Si *n* no se especifica o es " "negativo, se devuelven todos los bytes." #: ../Doc/library/ssl.rst:2563 @@ -3935,7 +3920,7 @@ msgid "" "object supporting the buffer protocol." msgstr "" "Escribe los bytes de *buf* en la memoria BIO. El argumento *buf* debe ser un " -"objeto que soporte el protocolo de buffer." +"objeto que soporte el protocolo de búfer." #: ../Doc/library/ssl.rst:2566 msgid "" @@ -3954,7 +3939,7 @@ msgstr "" "Escribe un marcador EOF en la memoria BIO. Después de llamar a este método, " "es ilegal llamar a :meth:`~MemoryBIO.write`. El atributo :attr:`eof` se " "convertirá en verdadero después de que se hayan leído todos los datos que " -"hay actualmente en el buffer." +"hay actualmente en el búfer." #: ../Doc/library/ssl.rst:2577 msgid "SSL session" From 83828fe3bbcfc3aaca5ae6103470ed3274817257 Mon Sep 17 00:00:00 2001 From: Francisco Mora <72163566+framorac@users.noreply.github.com> Date: Wed, 4 Aug 2021 11:19:45 -0400 Subject: [PATCH 19/94] Traducido archivo library/unittest.mock-examples (#1210) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido archivo library/unittest.mock-examples Co-authored-by: Rodriguez Juan <73370773+Juerodriguez@users.noreply.github.com> Co-authored-by: Álvaro Mondéjar Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Carlos A. Crespo Co-authored-by: Marcos Medrano Co-authored-by: Emmanuel Arias Co-authored-by: Claudia Millán Co-authored-by: Manuel Kaufmann --- TRANSLATORS | 3 + .../library_unittest.mock-examples.txt | 18 + library/unittest.mock-examples.po | 526 ++++++++++++++++-- 3 files changed, 506 insertions(+), 41 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 7ca022f296..19acc2ef91 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -137,6 +137,7 @@ Enrique Zárate (@enrique-zarate) Jaume Montané (@jaumemy) Endika Gil (@endikagil) Federico Zuccolo (@fzuccolo) +Francisco Mora (@framorac) Gibran Herrera (@gibranhl) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) Juan Elias Rodriguez (@Juerodriguez) @@ -145,6 +146,8 @@ Ignacio Sanz (@elnaquete) Jaime Rodrigo González Rodríguez (@jairock282) Martín Ramírez (@tinchoram) Kevin Cajachuán (@Kajachuan) +Adolfo Villalobos (@AdolfoVillalobos) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) Marcos Medrano (@mmmarcos) + diff --git a/dictionaries/library_unittest.mock-examples.txt b/dictionaries/library_unittest.mock-examples.txt index f1dc1e3424..aded6f8757 100644 --- a/dictionaries/library_unittest.mock-examples.txt +++ b/dictionaries/library_unittest.mock-examples.txt @@ -1 +1,19 @@ +MagickMock Mock +Mocking +args +back +dotted +fooble +iter +its +matcher +mocking +mocks +monkey +parcharlo +refactoriza +setUp +tearDown +through +undone diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 5c603bf78a..d39817b2bf 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -6,23 +6,26 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-04 17:03+0200\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: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/unittest.mock-examples.rst:2 msgid ":mod:`unittest.mock` --- getting started" -msgstr "" +msgstr ":mod:`unittest.mock` --- primeros pasos" #: ../Doc/library/unittest.mock-examples.rst:27 msgid "Using Mock" @@ -30,31 +33,36 @@ msgstr "Usando Mock" #: ../Doc/library/unittest.mock-examples.rst:30 msgid "Mock Patching Methods" -msgstr "" +msgstr "Métodos de parcheo Mock" #: ../Doc/library/unittest.mock-examples.rst:32 msgid "Common uses for :class:`Mock` objects include:" -msgstr "" +msgstr "Usos comunes para objetos :class:`Mock` incluye:" #: ../Doc/library/unittest.mock-examples.rst:34 msgid "Patching methods" -msgstr "" +msgstr "Métodos de parcheo" #: ../Doc/library/unittest.mock-examples.rst:35 msgid "Recording method calls on objects" -msgstr "" +msgstr "Métodos de grabación de llamadas sobre objetos" #: ../Doc/library/unittest.mock-examples.rst:37 msgid "" "You might want to replace a method on an object to check that it is called " "with the correct arguments by another part of the system:" msgstr "" +"Es posible que desee reemplazar un método en un objeto para comprobar que se " +"llama con los argumentos correctos por otra parte del sistema:" #: ../Doc/library/unittest.mock-examples.rst:45 msgid "" "Once our mock has been used (``real.method`` in this example) it has methods " "and attributes that allow you to make assertions about how it has been used." msgstr "" +"Una vez que se ha utilizado nuestro mock (``real.method`` en este ejemplo) " +"tiene métodos y atributos que le permiten hacer afirmaciones sobre cómo se " +"ha utilizado." #: ../Doc/library/unittest.mock-examples.rst:50 msgid "" @@ -62,6 +70,9 @@ msgid "" "are interchangeable. As the ``MagicMock`` is the more capable class it makes " "a sensible one to use by default." msgstr "" +"En la mayoría de estos ejemplos, las clases :class:`Mock` y :class:" +"`MagicMock` son intercambiables. Como el ``MagicMock`` es la clase más " +"capaz, hace que sea sensato usarlo por defecto." #: ../Doc/library/unittest.mock-examples.rst:54 msgid "" @@ -70,16 +81,22 @@ msgid "" "or :meth:`~Mock.assert_called_once_with` method to check that it was called " "with the correct arguments." msgstr "" +"Una vez que el mock ha sido llamado su atributo :attr:`~Mock.called` se " +"establece en ``True``. Lo que es más importante, podemos usar el método :" +"meth:`~Mock.assert_called_with` o :meth:`~Mock.assert_called_once_with` para " +"comprobar que se llamó con los argumentos correctos." #: ../Doc/library/unittest.mock-examples.rst:59 msgid "" "This example tests that calling ``ProductionClass().method`` results in a " "call to the ``something`` method:" msgstr "" +"En este ejemplo se prueba que llamar a ``ProductionClass().method`` da como " +"resultado una llamada al método ``something``:" #: ../Doc/library/unittest.mock-examples.rst:76 msgid "Mock for Method Calls on an Object" -msgstr "" +msgstr "Mock de llamadas a métodos sobre un objeto" #: ../Doc/library/unittest.mock-examples.rst:78 msgid "" @@ -88,18 +105,26 @@ msgid "" "method (or some part of the system under test) and then check that it is " "used in the correct way." msgstr "" +"En el último ejemplo, parcheamos un método directamente en un objeto para " +"comprobar que se llamó correctamente. Otro caso de uso común es pasar un " +"objeto a un método (o a alguna parte del sistema sometido a prueba) y, a " +"continuación, comprobar que se utiliza de la manera correcta." #: ../Doc/library/unittest.mock-examples.rst:83 msgid "" "The simple ``ProductionClass`` below has a ``closer`` method. If it is " "called with an object then it calls ``close`` on it." msgstr "" +"La sencilla ``ProductionClass`` a continuación tiene un método ``closer``. " +"Si se llama con un objeto, entonces llama a ``close`` en él." #: ../Doc/library/unittest.mock-examples.rst:91 msgid "" "So to test it we need to pass in an object with a ``close`` method and check " "that it was called correctly." msgstr "" +"Así que para probarlo necesitamos pasar un objeto con un método ``close`` y " +"comprobar que se llamó correctamente." #: ../Doc/library/unittest.mock-examples.rst:99 msgid "" @@ -108,10 +133,14 @@ msgid "" "accessing it in the test will create it, but :meth:`~Mock." "assert_called_with` will raise a failure exception." msgstr "" +"No tenemos que hacer ningún trabajo para proporcionar el método de 'close' " +"en nuestro mock. El acceso al cierre lo crea. Por lo tanto, si 'close' aún " +"no se ha llamado, entonces acceder a él en la prueba lo creará, pero :meth:" +"`~Mock.assert_called_with` generará una excepción de error." #: ../Doc/library/unittest.mock-examples.rst:106 msgid "Mocking Classes" -msgstr "" +msgstr "Clases Mocking" #: ../Doc/library/unittest.mock-examples.rst:108 msgid "" @@ -120,6 +149,11 @@ msgid "" "Instances are created by *calling the class*. This means you access the " "\"mock instance\" by looking at the return value of the mocked class." msgstr "" +"Un caso de uso común es simular las clases que crea la instancia del código " +"que se está probando. Cuando se aplica un parche a una clase, esa clase se " +"reemplaza por un mock. Las instancias se crean *llamando a la clase*. Esto " +"significa que tiene acceso a la \"instancia mock\" examinando el valor " +"devuelto de la clase simulada." #: ../Doc/library/unittest.mock-examples.rst:113 msgid "" @@ -129,10 +163,15 @@ msgid "" "mock, so it is configured by modifying the mock :attr:`~Mock." "return_value`. ::" msgstr "" +"En el ejemplo siguiente tenemos una función ``some_function`` que crea una " +"instancia de ``Foo`` y llama a un método en él. La llamada a :func:`patch` " +"reemplaza la clase ``Foo`` con un mock. La instancia ``Foo`` es el resultado " +"de llamar al mock, por lo que se configura modificando el mock :attr:`-Mock." +"return_value`. ::" #: ../Doc/library/unittest.mock-examples.rst:130 msgid "Naming your mocks" -msgstr "" +msgstr "Nombrando tus mocks" #: ../Doc/library/unittest.mock-examples.rst:132 msgid "" @@ -140,10 +179,14 @@ msgid "" "the mock and can be helpful when the mock appears in test failure messages. " "The name is also propagated to attributes or methods of the mock:" msgstr "" +"Puede ser útil poner un nombre a tus mocks. El nombre se muestra en la " +"reproducción del mock y puede ser útil cuando el mock aparece en los " +"mensajes de error de la prueba. El nombre también se propaga a los atributos " +"o métodos del mock:" #: ../Doc/library/unittest.mock-examples.rst:144 msgid "Tracking all Calls" -msgstr "" +msgstr "Siguiendo todas las llamadas" #: ../Doc/library/unittest.mock-examples.rst:146 msgid "" @@ -151,6 +194,9 @@ msgid "" "`~Mock.mock_calls` attribute records all calls to child attributes of the " "mock - and also to their children." msgstr "" +"A menudo, desea realizar un seguimiento de más de una llamada a un método. " +"El atributo :attr:`~ Mock.mock_calls` registra todas las llamadas a los " +"atributos secundarios del mock, y también a sus hijos." #: ../Doc/library/unittest.mock-examples.rst:158 msgid "" @@ -159,12 +205,18 @@ msgid "" "well as asserting that the calls you expected have been made, you are also " "checking that they were made in the right order and with no additional calls:" msgstr "" +"Si realiza una afirmación sobre ``mock_calls`` y se ha llamado a cualquier " +"método inesperado, la aserción fallará. Esto es útil porque además de " +"afirmar que se han realizado las llamadas que esperaba, también está " +"comprobando que se hicieron en el orden correcto y sin llamadas adicionales:" #: ../Doc/library/unittest.mock-examples.rst:163 msgid "" "You use the :data:`call` object to construct lists for comparing with " "``mock_calls``:" msgstr "" +"Utiliza el objeto :data:`call` para construir listas y compararlas con " +"``mock_calls``:" #: ../Doc/library/unittest.mock-examples.rst:170 msgid "" @@ -172,26 +224,32 @@ msgid "" "it is not possible to track nested calls where the parameters used to create " "ancestors are important:" msgstr "" +"Sin embargo, los parámetros de las llamadas que devuelven mocks no se " +"registran, lo que significa que no es posible realizar un seguimiento de las " +"llamadas anidadas donde los parámetros utilizados para crear ancestros son " +"importantes:" #: ../Doc/library/unittest.mock-examples.rst:181 msgid "Setting Return Values and Attributes" -msgstr "" +msgstr "Establecer valores de retorno y atributos" #: ../Doc/library/unittest.mock-examples.rst:183 msgid "Setting the return values on a mock object is trivially easy:" msgstr "" +"Establecer los valores de retorno en un objeto mock es sumamente fácil:" #: ../Doc/library/unittest.mock-examples.rst:190 msgid "Of course you can do the same for methods on the mock:" -msgstr "" +msgstr "Por supuesto, puede hacer lo mismo con los métodos en el mock:" #: ../Doc/library/unittest.mock-examples.rst:197 msgid "The return value can also be set in the constructor:" -msgstr "" +msgstr "El valor devuelto también se puede establecer en el constructor:" #: ../Doc/library/unittest.mock-examples.rst:203 msgid "If you need an attribute setting on your mock, just do it:" msgstr "" +"Si necesitas una configuración de atributo en su mock, simplemente haga:" #: ../Doc/library/unittest.mock-examples.rst:210 msgid "" @@ -199,22 +257,30 @@ msgid "" "``mock.connection.cursor().execute(\"SELECT 1\")``. If we wanted this call " "to return a list, then we have to configure the result of the nested call." msgstr "" +"A veces desea simular una situación más compleja, como por ejemplo ``mock." +"connection.cursor().execute(\"SELECT 1\")``. Si esperamos que esta llamada " +"devuelva una lista, entonces tenemos que configurar el resultado de la " +"llamada anidada." #: ../Doc/library/unittest.mock-examples.rst:214 msgid "" "We can use :data:`call` to construct the set of calls in a \"chained call\" " "like this for easy assertion afterwards:" msgstr "" +"Podemos usar :data:`call` para construir el conjunto de llamadas en una " +"\"llamada encadenada\" como esta para una fácil afirmación después:" #: ../Doc/library/unittest.mock-examples.rst:228 msgid "" "It is the call to ``.call_list()`` that turns our call object into a list of " "calls representing the chained calls." msgstr "" +"Es la llamada a ``.call_list()`` la que convierte nuestro objeto de llamada " +"en una lista de llamadas que representan las llamadas encadenadas." #: ../Doc/library/unittest.mock-examples.rst:233 msgid "Raising exceptions with mocks" -msgstr "" +msgstr "Generar excepciones con mocks" #: ../Doc/library/unittest.mock-examples.rst:235 msgid "" @@ -222,10 +288,13 @@ msgid "" "exception class or instance then the exception will be raised when the mock " "is called." msgstr "" +"Un atributo útil es :attr:`~Mock.side_effect`. Si establece esto en una " +"clase o instancia de excepción, se producirá la excepción cuando se llame al " +"mock." #: ../Doc/library/unittest.mock-examples.rst:247 msgid "Side effect functions and iterables" -msgstr "" +msgstr "Funciones de efectos secundarios e iterables" #: ../Doc/library/unittest.mock-examples.rst:249 msgid "" @@ -235,6 +304,11 @@ msgid "" "set ``side_effect`` to an iterable every call to the mock returns the next " "value from the iterable:" msgstr "" +"``side_effect`` también se puede asignar en una función o en una iterable. " +"El caso de uso para ``side_effect`` como un iterable es donde se va a llamar " +"a su mock varias veces, y desea que cada llamada devuelva un valor " +"diferente. Cuando se asigna ``side_effect`` en un iterable cada llamada al " +"mock devuelve el siguiente valor de lo iterable:" #: ../Doc/library/unittest.mock-examples.rst:264 msgid "" @@ -243,10 +317,14 @@ msgid "" "function. The function will be called with the same arguments as the mock. " "Whatever the function returns is what the call returns:" msgstr "" +"Para casos de uso más avanzados, como variar dinámicamente los valores " +"devueltos en función de cómo se llame al mock, ``side_effect`` puede ser una " +"función. Se llamará a la función con los mismos argumentos que el mock. Lo " +"que sea que la función devuelve es lo que devuelve la llamada:" #: ../Doc/library/unittest.mock-examples.rst:281 msgid "Mocking asynchronous iterators" -msgstr "" +msgstr "Iteradores asincrónicos de Mocking" #: ../Doc/library/unittest.mock-examples.rst:283 msgid "" @@ -255,10 +333,14 @@ msgid "" "attribute of ``__aiter__`` can be used to set the return values to be used " "for iteration." msgstr "" +"Desde Python 3.8, ``AsyncMock`` y ``MagicMock`` tienen soporte para mock :" +"ref:`async-iterators` through ``__aiter__``. El :attr:`~Mock.return_value` " +"atributo de ``__aiter__`` puede ser usado para asignar los valores de " +"retorno que podrían ser usados por iteración." #: ../Doc/library/unittest.mock-examples.rst:298 msgid "Mocking asynchronous context manager" -msgstr "" +msgstr "El gestor de contexto asincrónico de Mocking" #: ../Doc/library/unittest.mock-examples.rst:300 msgid "" @@ -267,10 +349,14 @@ msgid "" "default, ``__aenter__`` and ``__aexit__`` are ``AsyncMock`` instances that " "return an async function." msgstr "" +"Desde Python 3.8, ``AsyncMock`` y ``MagicMock`` tienen soporte para mock :" +"ref:`async-context-managers` a través de ``__aenter__`` y ``__aexit__``. De " +"forma predeterminada, las instancias ``__aenter__`` y ``__aexit__`` son " +"instancias de ``AsyncMock`` que devuelven una función asincrónica." #: ../Doc/library/unittest.mock-examples.rst:322 msgid "Creating a Mock from an Existing Object" -msgstr "" +msgstr "Creando un mock desde un objeto existente" #: ../Doc/library/unittest.mock-examples.rst:324 msgid "" @@ -281,6 +367,13 @@ msgid "" "you refactor the first class, so that it no longer has ``some_method`` - " "then your tests will continue to pass even though your code is now broken!" msgstr "" +"Un problema con el uso excesivo de mocking es que combina sus pruebas a la " +"implementación de sus mocks en lugar de su código real. Supongamos que tiene " +"una clase que implementa ``some_method``. En una prueba para otra clase, se " +"proporciona un mock de este objeto que *also* proporciona ``some_method``. " +"Si más tarde refactoriza la primera clase, para que ya no tenga " +"``some_method`` - entonces sus pruebas seguirán pasando a pesar de que su " +"código está ahora roto!" #: ../Doc/library/unittest.mock-examples.rst:331 msgid "" @@ -291,6 +384,12 @@ msgid "" "specification, then tests that use that class will start failing immediately " "without you having to instantiate the class in those tests." msgstr "" +":class:`Mock` le permite proporcionar un objeto como especificación para el " +"mock, utilizando el argumento de palabra clave *spec*. El acceso a métodos / " +"atributos en el mock que no existen en el objeto de especificación generará " +"inmediatamente un error de atributo. Si cambia la implementación de la " +"especificación, las pruebas que usan esa clase comenzarán a fallar " +"inmediatamente sin tener que crear instancias de la clase en esas pruebas." #: ../Doc/library/unittest.mock-examples.rst:344 msgid "" @@ -298,12 +397,17 @@ msgid "" "mock, regardless of whether some parameters were passed as positional or " "named arguments::" msgstr "" +"El uso de una especificación también permite una coincidencia más " +"inteligente de las llamadas realizadas al mock, independientemente de si " +"algunos parámetros se pasaron como argumentos posicionales o con nombre::" #: ../Doc/library/unittest.mock-examples.rst:355 msgid "" "If you want this smarter matching to also work with method calls on the " "mock, you can use :ref:`auto-speccing `." msgstr "" +"Si desea que esta coincidencia más inteligente también funcione con llamadas " +"de método en el mock, puede usar :ref:`auto-speccing `." #: ../Doc/library/unittest.mock-examples.rst:358 msgid "" @@ -311,10 +415,13 @@ msgid "" "arbitrary attributes as well as the getting of them then you can use " "*spec_set* instead of *spec*." msgstr "" +"Si desea una forma más fuerte de especificación que impida la configuración " +"de atributos arbitrarios, así como la obtención de ellos, entonces puede " +"usar *spec_set* en lugar de *spec*." #: ../Doc/library/unittest.mock-examples.rst:365 msgid "Patch Decorators" -msgstr "" +msgstr "Decoradores de Parches" #: ../Doc/library/unittest.mock-examples.rst:369 msgid "" @@ -322,6 +429,9 @@ msgid "" "they are looked up. This is normally straightforward, but for a quick guide " "read :ref:`where to patch `." msgstr "" +"Con :func:`patch` importa que parchee objetos en el espacio de nombres donde " +"se buscan. Esto es normalmente sencillo, pero para una guía rápida lea :ref:" +"`where to patch `." #: ../Doc/library/unittest.mock-examples.rst:374 msgid "" @@ -331,6 +441,12 @@ msgid "" "on them has to be undone after the test or the patch will persist into other " "tests and cause hard to diagnose problems." msgstr "" +"Una necesidad común en las pruebas es aplicar revisiones a un atributo de " +"clase o a un atributo de módulo, por ejemplo, aplicar revisiones a una clase " +"integrada o parchear una clase en un módulo para probar que se crea una " +"instancia. Los módulos y las clases son efectivamente globales, por lo que " +"el parcheo en ellos tiene que deshacerse después de la prueba o el parche " +"persistirá en otras pruebas y causará problemas difíciles de diagnosticar." #: ../Doc/library/unittest.mock-examples.rst:380 msgid "" @@ -342,25 +458,36 @@ msgid "" "the name of the attribute you would like patched, plus optionally the value " "to patch it with." msgstr "" +"mock proporciona tres decoradores convenientes para esto: :func:`patch`, :" +"func:`patch.object` y :func:`patch.dict`. ``patch`` toma una sola cadena del " +"formulario ``package.module.Class.attribute`` para especificar el atributo " +"que está parcheando. También, opcionalmente, toma un valor con el que desea " +"que se reemplace el atributo (o clase o lo que sea). 'patch.object' toma un " +"objeto y el nombre del atributo con el que desea parchear, además, " +"opcionalmente, del valor con el que parcharlo." #: ../Doc/library/unittest.mock-examples.rst:388 msgid "``patch.object``::" -msgstr "" +msgstr "``patch.object``::" #: ../Doc/library/unittest.mock-examples.rst:405 msgid "" "If you are patching a module (including :mod:`builtins`) then use :func:" "`patch` instead of :func:`patch.object`:" msgstr "" +"Si está parcheando un módulo (incluyendo :mod:`builtins`) entonces use :func:" +"`patch` en lugar de :func:`patch.object`:" #: ../Doc/library/unittest.mock-examples.rst:415 msgid "" "The module name can be 'dotted', in the form ``package.module`` if needed::" msgstr "" +"EL nombre del módulo puede ser 'dotted', en el formulario ``package.module`` " +"si es necesario::" #: ../Doc/library/unittest.mock-examples.rst:424 msgid "A nice pattern is to actually decorate test methods themselves:" -msgstr "" +msgstr "Un buen patrón en realidad es decorar los métodos de pruebas propios:" #: ../Doc/library/unittest.mock-examples.rst:435 msgid "" @@ -368,10 +495,13 @@ msgid "" "argument (or :func:`patch.object` with two arguments). The mock will be " "created for you and passed into the test function / method:" msgstr "" +"Si desea parchear con un Mock, puede usar :func:`patch` con un solo " +"argumento (o :func:`patch.object` con dos argumentos). El mock se creará " +"para usted y se pasará a la función de prueba / método:" #: ../Doc/library/unittest.mock-examples.rst:447 msgid "You can stack up multiple patch decorators using this pattern::" -msgstr "" +msgstr "Puede apilar varios decoradores de parches utilizando este patrón::" #: ../Doc/library/unittest.mock-examples.rst:458 msgid "" @@ -380,6 +510,11 @@ msgid "" "decorators are applied). This means from the bottom up, so in the example " "above the mock for ``test_module.ClassName2`` is passed in first." msgstr "" +"Al anidar decoradores de parches, los mocks se pasan a la función decorada " +"en el mismo orden en que se aplicaron (el orden normal *Python* que se " +"aplican los decoradores). Esto significa de abajo hacia arriba, así que en " +"el ejemplo anterior el simulacro de ``test_module.ClassName2`` se pasa " +"primero." #: ../Doc/library/unittest.mock-examples.rst:463 msgid "" @@ -387,18 +522,26 @@ msgid "" "during a scope and restoring the dictionary to its original state when the " "test ends:" msgstr "" +"También está :func:`patch.dict` para establecer valores en un diccionario " +"solo durante un ámbito y restaurar el diccionario a su estado original " +"cuando finaliza la prueba:" #: ../Doc/library/unittest.mock-examples.rst:474 msgid "" "``patch``, ``patch.object`` and ``patch.dict`` can all be used as context " "managers." msgstr "" +"``patch``, ``patch.object`` and ``patch.dict`` se pueden utilizar como " +"gestores de contexto." #: ../Doc/library/unittest.mock-examples.rst:476 msgid "" "Where you use :func:`patch` to create a mock for you, you can get a " "reference to the mock using the \"as\" form of the with statement:" msgstr "" +"Donde utilice :func:`patch` para crear un simulacro para usted, puede " +"obtener una referencia al simulacro utilizando la forma \"as\" de la " +"instrucción with:" #: ../Doc/library/unittest.mock-examples.rst:491 msgid "" @@ -406,18 +549,24 @@ msgid "" "as class decorators. When used in this way it is the same as applying the " "decorator individually to every method whose name starts with \"test\"." msgstr "" +"Como alternativa ``patch``, ``patch.object`` and ``patch.dict`` se pueden " +"utilizar como decoradores de clase. Cuando se utiliza de esta manera es lo " +"mismo que aplicar el decorador individualmente a cada método cuyo nombre " +"comienza con \"test\"." #: ../Doc/library/unittest.mock-examples.rst:499 msgid "Further Examples" -msgstr "" +msgstr "Otros Ejemplos" #: ../Doc/library/unittest.mock-examples.rst:502 msgid "Here are some more examples for some slightly more advanced scenarios." msgstr "" +"Estos son algunos ejemplos más para algunos escenarios ligeramente más " +"avanzados." #: ../Doc/library/unittest.mock-examples.rst:506 msgid "Mocking chained calls" -msgstr "" +msgstr "Mocking de llamadas encadenadas" #: ../Doc/library/unittest.mock-examples.rst:508 msgid "" @@ -426,12 +575,18 @@ msgid "" "for the first time, or you fetch its ``return_value`` before it has been " "called, a new :class:`Mock` is created." msgstr "" +"Mocking de las llamadas encadenadas es en realidad sencillo con mock una vez " +"que entiende el atributo :attr:`~Mock.return_value` . Cuando se llama a un " +"mock por primera vez, o se obtiene su ``return_value`` antes de que se " +"llame, se crea un nuevo :class:`Mock`." #: ../Doc/library/unittest.mock-examples.rst:513 msgid "" "This means that you can see how the object returned from a call to a mocked " "object has been used by interrogating the ``return_value`` mock:" msgstr "" +"Esto significa que puede ver cómo se ha utilizado el objeto devuelto de una " +"llamada a un objeto simulado interrogando el simulado ``return_value``:" #: ../Doc/library/unittest.mock-examples.rst:521 msgid "" @@ -439,10 +594,15 @@ msgid "" "chained calls. Of course another alternative is writing your code in a more " "testable way in the first place..." msgstr "" +"Desde aquí es un paso simple para configurar y luego hacer aserciones sobre " +"llamadas encadenadas. Por supuesto, otra alternativa es escribir su código " +"de una manera más comprobable en primer lugar..." #: ../Doc/library/unittest.mock-examples.rst:525 msgid "So, suppose we have some code that looks a little bit like this:" msgstr "" +"Por lo tanto, supongamos que tenemos algún código que se ve un poco como " +"este:" #: ../Doc/library/unittest.mock-examples.rst:534 msgid "" @@ -450,6 +610,9 @@ msgid "" "``method()``? Specifically, we want to test that the code section ``# more " "code`` uses the response object in the correct way." msgstr "" +"Suponiendo que ``BackendProvider`` ya está bien probado, ¿cómo probamos " +"``method()``? En concreto, queremos probar que la sección de código ``# more " +"code`` usa el objeto de respuesta de la manera correcta." #: ../Doc/library/unittest.mock-examples.rst:538 msgid "" @@ -460,6 +623,13 @@ msgid "" "assume the object it returns is 'file-like', so we'll ensure that our " "response object uses the builtin :func:`open` as its ``spec``." msgstr "" +"A medida que esta cadena de llamadas se realiza a partir de un atributo de " +"instancia, podemos parchear el atributo ``backend`` en una instancia de " +"``Something``. En este caso en particular sólo estamos interesados en el " +"valor devuelto de la llamada final a ``start_call`` por lo que no tenemos " +"mucha configuración que hacer. Supongamos que el objeto que devuelve es " +"'similar a un archivo', por lo que nos aseguraremos de que nuestro objeto de " +"respuesta utilice el compilado :func:`open` as its ``spec``." #: ../Doc/library/unittest.mock-examples.rst:545 msgid "" @@ -467,18 +637,27 @@ msgid "" "response object for it. To set the response as the return value for that " "final ``start_call`` we could do this::" msgstr "" +"Para ello creamos una instancia mock como nuestro back-end simulado y " +"creamos un objeto de respuesta mock para ella. Para establecer la respuesta " +"como el valor devuelto de ese ``start_call`` final podríamos hacer lo " +"siguiente::" #: ../Doc/library/unittest.mock-examples.rst:551 msgid "" "We can do that in a slightly nicer way using the :meth:`~Mock." "configure_mock` method to directly set the return value for us::" msgstr "" +"Podemos hacerlo de una manera un poco mejor usando el método :meth:`~Mock." +"configure_mock` para establecer directamente el valor devuelto para " +"nosotros::" #: ../Doc/library/unittest.mock-examples.rst:560 msgid "" "With these we monkey patch the \"mock backend\" in place and can make the " "real call::" msgstr "" +"Con estos monkey patch el \"backend simulado\" en su lugar y puede hacer la " +"llamada real::" #: ../Doc/library/unittest.mock-examples.rst:566 msgid "" @@ -487,10 +666,14 @@ msgid "" "be several entries in ``mock_calls``. We can use :meth:`call.call_list` to " "create this list of calls for us::" msgstr "" +"Usando :attr:`~Mock.mock_calls` podemos comprobar la llamada encadenada con " +"una sola afirmación. Una llamada encadenada es varias llamadas en una línea " +"de código, por lo que habrá varias entradas en ``mock_calls``. Podemos usar :" +"meth:`call.call_list` para crear esta lista de llamadas para nosotros::" #: ../Doc/library/unittest.mock-examples.rst:577 msgid "Partial mocking" -msgstr "" +msgstr "Mocking parcial" #: ../Doc/library/unittest.mock-examples.rst:579 msgid "" @@ -500,6 +683,11 @@ msgid "" "in C, and so I couldn't just monkey-patch out the static :meth:`date.today` " "method." msgstr "" +"En algunas pruebas quería un mock de una llamada a :meth:`datetime.date." +"today` para devolver una fecha conocida, pero no quería evitar que el código " +"sometido a prueba creara nuevos objetos de fecha. Desafortunadamente :class:" +"`datetime.date` está escrito en C, por lo que no podía simplemente parchear " +"mono el método estático :meth:`date.today` ." #: ../Doc/library/unittest.mock-examples.rst:584 msgid "" @@ -507,6 +695,9 @@ msgid "" "date class with a mock, but passing through calls to the constructor to the " "real class (and returning real instances)." msgstr "" +"Encontré una forma sencilla de hacer esto que implicaba ajustar eficazmente " +"la clase date con un mock, pero pasar llamadas al constructor a la clase " +"real (y devolver instancias reales)." #: ../Doc/library/unittest.mock-examples.rst:588 msgid "" @@ -516,12 +707,20 @@ msgid "" "When the mock date class is called a real date will be constructed and " "returned by ``side_effect``. ::" msgstr "" +"El :func:`patch decorator ` se utiliza aquí como un mock de la clase " +"``date`` en el módulo en pruebas. A continuación, el atributo :attr:" +"`side_effect` de la clase de fecha simulada se establece en una función " +"lambda que devuelve una fecha real. Cuando la clase de fecha simulada se " +"denomina fecha real, se construirá y devolverá ``side_effect``. ::" #: ../Doc/library/unittest.mock-examples.rst:602 msgid "" "Note that we don't patch :class:`datetime.date` globally, we patch ``date`` " "in the module that *uses* it. See :ref:`where to patch `." msgstr "" +"Tenga en cuenta que no parcheamos :class:`datetime.date` globalmente, " +"parcheamos ``date`` en el módulo que *uses*. Consulte :ref:`where to patch " +"`." #: ../Doc/library/unittest.mock-examples.rst:605 msgid "" @@ -530,12 +729,20 @@ msgid "" "find yourself having to calculate an expected result using exactly the same " "algorithm as the code under test, which is a classic testing anti-pattern." msgstr "" +"Cuando ``date.today()`` es llamada se retorna una fecha conocida, pero llama " +"al constructor ``date(...)`` este constructor todavía devuelve fechas " +"normales. Sin esto, puede encontrarse teniendo que calcular un resultado " +"esperado utilizando exactamente el mismo algoritmo que el código en prueba, " +"que es un anti-patrón de prueba clásico." #: ../Doc/library/unittest.mock-examples.rst:610 msgid "" "Calls to the date constructor are recorded in the ``mock_date`` attributes " "(``call_count`` and friends) which may also be useful for your tests." msgstr "" +"Las llamadas al constructor de fecha se registran en los atributos " +"``mock_date`` (``call_count`` y amigos) que también pueden ser útiles para " +"las pruebas." #: ../Doc/library/unittest.mock-examples.rst:613 msgid "" @@ -543,16 +750,22 @@ msgid "" "is discussed in `this blog entry `_." msgstr "" +"Una forma alternativa de tratar con fechas de mock, u otras clases " +"integradas, se discute en `esta entrada de blog `_." #: ../Doc/library/unittest.mock-examples.rst:619 msgid "Mocking a Generator Method" -msgstr "" +msgstr "Mocking de un Método Generador" #: ../Doc/library/unittest.mock-examples.rst:621 msgid "" "A Python generator is a function or method that uses the :keyword:`yield` " "statement to return a series of values when iterated over [#]_." msgstr "" +"Un generador de Python es una función o método que utiliza la instrucción :" +"keyword:`yield` para devolver una serie de valores cuando se itera sobre " +"[#]_." #: ../Doc/library/unittest.mock-examples.rst:624 msgid "" @@ -561,15 +774,22 @@ msgid "" "iteration is :meth:`~container.__iter__`, so we can mock this using a :class:" "`MagicMock`." msgstr "" +"Se llama a un método / función del generador para devolver el objeto " +"generador. Es el objeto generador que luego se itera. El método de protocolo " +"para la iteración es :meth:`~container.__iter__`, por lo que podemos hacer " +"mock de esto usando una :class:`MagicMock`." #: ../Doc/library/unittest.mock-examples.rst:629 msgid "" "Here's an example class with an \"iter\" method implemented as a generator:" msgstr "" +"Aquí hay una clase de ejemplo con un método \"iter\" implementado como " +"generador:" #: ../Doc/library/unittest.mock-examples.rst:641 msgid "How would we mock this class, and in particular its \"iter\" method?" msgstr "" +"¿Cómo haríamos un mock de esta clase y, en particular, de su método \"iter\"?" #: ../Doc/library/unittest.mock-examples.rst:643 msgid "" @@ -577,6 +797,9 @@ msgid "" "to :class:`list`), we need to configure the object returned by the call to " "``foo.iter()``." msgstr "" +"Para configurar los valores devueltos desde la iteración (implícita en la " +"llamada a :class:`list`), necesitamos configurar el objeto devuelto por la " +"llamada a ``foo.iter()``." #: ../Doc/library/unittest.mock-examples.rst:651 msgid "" @@ -586,10 +809,15 @@ msgid "" "they are is: `Generator Tricks for Systems Programmers `_." msgstr "" +"También hay expresiones generadoras y más usos avanzados '_ de generadores, pero no nos preocupan los que " +"están aquí. Una muy buena introducción a los generadores y lo potentes que " +"son es: `Generator Tricks for Systems Programmers `_." #: ../Doc/library/unittest.mock-examples.rst:659 msgid "Applying the same patch to every test method" -msgstr "" +msgstr "Aplicar el mismo parche a cada método de prueba" #: ../Doc/library/unittest.mock-examples.rst:661 msgid "" @@ -600,6 +828,13 @@ msgid "" "patches to all test methods on the class. A test method is identified by " "methods whose names start with ``test``::" msgstr "" +"Si desea que se coloquen varias revisiones para varios métodos de prueba, la " +"forma obvia es aplicar los decoradores de parches a cada método. Esto puede " +"parecer una repetición innecesaria. Para Python 2.6 o más reciente puede " +"utilizar :func:`patch` (en todas sus diversas formas) como decorador de " +"clases. Esto aplica las revisiones a todos los métodos de prueba de la " +"clase. Un método de prueba se identifica mediante métodos cuyos nombres " +"comienzan con ``test``::" #: ../Doc/library/unittest.mock-examples.rst:685 msgid "" @@ -607,6 +842,8 @@ msgid "" "These allow you to move the patching into your ``setUp`` and ``tearDown`` " "methods. ::" msgstr "" +"Una forma alternativa de administrar parches es usar :ref:`start-and-stop`. " +"Estos le permiten mover el parche en sus métodos ``setUp`` y ``tearDown``. ::" #: ../Doc/library/unittest.mock-examples.rst:702 msgid "" @@ -615,10 +852,14 @@ msgid "" "exception is raised in the setUp then tearDown is not called. :meth:" "`unittest.TestCase.addCleanup` makes this easier::" msgstr "" +"Si utiliza esta técnica, debe asegurarse de que la aplicación de parches se " +"\"undone\" llamando a ``stop``. Esto puede ser más complicado de lo que " +"podría pensar, porque si se produce una excepción en el setUp, no se llama a " +"tearDown. :meth:`unittest.TestCase.addCleanup` hace que esto sea más fácil::" #: ../Doc/library/unittest.mock-examples.rst:720 msgid "Mocking Unbound Methods" -msgstr "" +msgstr "Mocking de métodos sin enlazar" #: ../Doc/library/unittest.mock-examples.rst:722 msgid "" @@ -633,6 +874,17 @@ msgid "" "to patch out methods with a mock that having to create a real function " "becomes a nuisance." msgstr "" +"Mientras escribía pruebas hoy en día, necesitaba parchear un método *unbound " +"method* (parchear el método en la clase en lugar de en la instancia). " +"Necesitaba que se pasara a sí mismo como primer argumento porque quiero " +"hacer aserciones sobre qué objetos estaban llamando a este método en " +"particular. El problema es que no se puede parchear con un mock para esto, " +"porque si reemplaza un método independiente con un mock, no se convierte en " +"un método enlazado cuando se obtiene de la instancia, por lo que no se pasa " +"por sí mismo. La solución es revisar el método independiente con una función " +"real en su lugar. El decorador :func:`patch` hace que sea tan simple " +"parchear métodos con un mock que tener que crear una función real se " +"convierte en una molestia." #: ../Doc/library/unittest.mock-examples.rst:733 msgid "" @@ -645,22 +897,34 @@ msgid "" "instance. It will have ``self`` passed in as the first argument, which is " "exactly what I wanted:" msgstr "" +"Si pasa ``autospec=True`` al parche, entonces hace el parche con un objeto " +"de función *real*. Este objeto de función tiene la misma firma que el que " +"está reemplazando, pero delega en un mock bajo el capó. Usted todavía " +"consigue su mock de auto-creado exactamente de la misma manera que antes. Lo " +"que significa, sin embargo, es que si lo usa para parchear un método " +"independiente en una clase, la función simulada se convertirá en un método " +"enlazado si se obtiene de una instancia. Tendrá ``self`` pasado como el " +"primer argumento, que es exactamente lo que quería:" #: ../Doc/library/unittest.mock-examples.rst:754 msgid "" "If we don't use ``autospec=True`` then the unbound method is patched out " "with a Mock instance instead, and isn't called with ``self``." msgstr "" +"Si no usamos ``autospec=True`` entonces el método independiente se parchea " +"con una instancia de Mock en su lugar, y no se llama con ``self``." #: ../Doc/library/unittest.mock-examples.rst:759 msgid "Checking multiple calls with mock" -msgstr "" +msgstr "Comprobación de varias llamadas con mock" #: ../Doc/library/unittest.mock-examples.rst:761 msgid "" "mock has a nice API for making assertions about how your mock objects are " "used." msgstr "" +"mock tiene una buena API para hacer aserciones sobre cómo se usan sus " +"objetos ficticios." #: ../Doc/library/unittest.mock-examples.rst:768 msgid "" @@ -668,6 +932,8 @@ msgid "" "`assert_called_once_with` method that also asserts that the :attr:" "`call_count` is one." msgstr "" +"Si su mock solo se llama una vez, puede usar el método :meth:" +"`assert_called_once_with` que también afirma que :attr:`call_count` es uno." #: ../Doc/library/unittest.mock-examples.rst:779 msgid "" @@ -676,6 +942,10 @@ msgid "" "times, and you want to make assertions about *all* those calls you can use :" "attr:`~Mock.call_args_list`:" msgstr "" +"Tanto ``assert_called_with`` como ``assert_called_once_with`` hacen " +"afirmaciones sobre la llamada *más reciente*. Si su mock va a ser llamado " +"varias veces, y desea hacer aserciones sobre *todas* esas llamadas que puede " +"utilizar :attr:`~Mock.call_args_list`:" #: ../Doc/library/unittest.mock-examples.rst:791 msgid "" @@ -684,10 +954,14 @@ msgid "" "``call_args_list``. This looks remarkably similar to the repr of the " "``call_args_list``:" msgstr "" +"El helper :data:`call` facilita la toma de aserciones sobre estas llamadas. " +"Puede crear una lista de llamadas esperadas y compararla con " +"``call_args_list``. Esto se ve notablemente similar al repr de la " +"``call_args_list``:" #: ../Doc/library/unittest.mock-examples.rst:801 msgid "Coping with mutable arguments" -msgstr "" +msgstr "Copiando con argumentos mutables" #: ../Doc/library/unittest.mock-examples.rst:803 msgid "" @@ -697,18 +971,27 @@ msgid "" "under test then you can no longer make assertions about what the values were " "when the mock was called." msgstr "" +"Otra situación es rara, pero puede morderte, es cuando se llama a tu mock " +"con argumentos mutables. ``call_args`` y ``call_args_list`` almacenan " +"*referencias* a los argumentos. Si el código sometido a prueba muta los " +"argumentos ya no puede realizar aserciones sobre cuáles eran los valores " +"cuando se llamó al mock." #: ../Doc/library/unittest.mock-examples.rst:808 msgid "" "Here's some example code that shows the problem. Imagine the following " "functions defined in 'mymodule'::" msgstr "" +"Este es un código de ejemplo que muestra el problema. Imagine las siguientes " +"funciones definidas en 'mymodule'::" #: ../Doc/library/unittest.mock-examples.rst:819 msgid "" "When we try to test that ``grob`` calls ``frob`` with the correct argument " "look what happens::" msgstr "" +"Cuando tratamos de probar que ``grob`` llama ``frob`` con el argumento " +"correcto mira lo que sucede::" #: ../Doc/library/unittest.mock-examples.rst:834 msgid "" @@ -716,6 +999,9 @@ msgid "" "could then cause problems if you do assertions that rely on object identity " "for equality." msgstr "" +"Una posibilidad sería que el mock copiara los argumentos que pasa. Esto " +"podría causar problemas si realiza aserciones que se basan en la identidad " +"del objeto para la igualdad." #: ../Doc/library/unittest.mock-examples.rst:838 msgid "" @@ -726,6 +1012,13 @@ msgid "" "*another* mock to store the arguments so that I can use the mock methods for " "doing the assertion. Again a helper function sets this up for me. ::" msgstr "" +"Aquí hay una solución que utiliza la funcionalidad :attr:`side_effect`. Si " +"proporciona una función ``side_effect`` para un mock, se llamará a " +"``side_effect`` con los mismos argumentos que el mock. Esto nos da la " +"oportunidad de copiar los argumentos y almacenarlos para aserciones " +"posteriores. En este ejemplo estoy usando *otro* mock para almacenar los " +"argumentos de modo que pueda usar los métodos ficticios para hacer la " +"aserción. Una vez más, una función auxiliar configura esto para mí. ::" #: ../Doc/library/unittest.mock-examples.rst:867 msgid "" @@ -733,6 +1026,9 @@ msgid "" "new mock that we do the assertion on. The ``side_effect`` function makes a " "copy of the args and calls our ``new_mock`` with the copy." msgstr "" +"``copy_call_args`` se llama con el mock que se llamará. Devuelve un nuevo " +"mock en el que hacemos la aserción. La función ``side_effect`` hace una " +"copia de los args y llama a nuestro ``new_mock`` con la copia." #: ../Doc/library/unittest.mock-examples.rst:873 msgid "" @@ -740,6 +1036,9 @@ msgid "" "checking arguments at the point they are called. You can simply do the " "checking inside a ``side_effect`` function." msgstr "" +"Si su simulacro solo se va a usar una vez, hay una forma más fácil de " +"verificar los argumentos en el punto en que se llaman. Simplemente puede " +"hacer la comprobación dentro de una función ``side_effect``." #: ../Doc/library/unittest.mock-examples.rst:887 msgid "" @@ -747,6 +1046,9 @@ msgid "" "`MagicMock` that copies (using :func:`copy.deepcopy`) the arguments. Here's " "an example implementation:" msgstr "" +"Un enfoque alternativo es crear una subclase de :class:`Mock` o :class:" +"`MagicMock` que copie (usando :func:`copy.deepcopy`) los argumentos. A " +"continuación se muestra un ejemplo de implementación:" #: ../Doc/library/unittest.mock-examples.rst:911 msgid "" @@ -755,10 +1057,14 @@ msgid "" "That means all children of a ``CopyingMock`` will also have the type " "``CopyingMock``." msgstr "" +"Cuando subclases ``Mock`` o ``MagicMock`` todos los atributos creados " +"dinámicamente, y el ``return_value`` usará tu subclase automáticamente. Eso " +"significa que todos los elementos secundarios de un ``CopyingMock`` también " +"tendrán el tipo ``CopyingMock``." #: ../Doc/library/unittest.mock-examples.rst:917 msgid "Nesting Patches" -msgstr "" +msgstr "Anidando Parches" #: ../Doc/library/unittest.mock-examples.rst:919 msgid "" @@ -766,6 +1072,9 @@ msgid "" "can end up with nested with statements indenting further and further to the " "right::" msgstr "" +"Usar parches como administradores de contexto es bueno, pero si haces varios " +"parches, puedes terminar con instrucciones anidadas que se sangran cada vez " +"más a la derecha::" #: ../Doc/library/unittest.mock-examples.rst:937 msgid "" @@ -774,16 +1083,23 @@ msgid "" "method, ``create_patch``, puts the patch in place and returns the created " "mock for us::" msgstr "" +"Con las funciones unittest ``cleanup`` y :ref:`start-and-stop` podemos " +"lograr el mismo efecto sin la sangría anidada. Un método auxiliar simple, " +"``create_patch``, pone el parche en su lugar y devuelve el mock creado para " +"nosotros::" #: ../Doc/library/unittest.mock-examples.rst:965 msgid "Mocking a dictionary with MagicMock" -msgstr "" +msgstr "Mocking a un diccionario usando MagickMock" #: ../Doc/library/unittest.mock-examples.rst:967 msgid "" "You may want to mock a dictionary, or other container object, recording all " "access to it whilst having it still behave like a dictionary." msgstr "" +"Es posible que desee simular un diccionario u otro objeto contenedor, " +"registrando todo el acceso a él mientras todavía se comporta como un " +"diccionario." #: ../Doc/library/unittest.mock-examples.rst:970 msgid "" @@ -791,6 +1107,9 @@ msgid "" "and using :data:`~Mock.side_effect` to delegate dictionary access to a real " "underlying dictionary that is under our control." msgstr "" +"Podemos hacer esto con :class:`MagicMock`, que se comportará como un " +"diccionario, y usando :data:`~Mock.side_effect` para delegar el acceso del " +"diccionario a un diccionario subyacente real que está bajo nuestro control." #: ../Doc/library/unittest.mock-examples.rst:974 msgid "" @@ -799,18 +1118,26 @@ msgid "" "called with the key (and in the case of ``__setitem__`` the value too). We " "can also control what is returned." msgstr "" +"Cuando se llama a los métodos :meth:`__getitem__` y :meth:`__setitem__` de " +"nuestro ``MagicMock`` (acceso normal al diccionario), entonces se llama a " +"``side_effect`` con la clave (y en el caso de ``__setitem__`` el valor " +"también). También podemos controlar lo que se devuelve." #: ../Doc/library/unittest.mock-examples.rst:978 msgid "" "After the ``MagicMock`` has been used we can use attributes like :data:" "`~Mock.call_args_list` to assert about how the dictionary was used:" msgstr "" +"Después de que se haya utilizado el ``MagicMock`` podemos usar atributos " +"como :data:`~Mock.call_args_list` para afirmar cómo se usó el diccionario:" #: ../Doc/library/unittest.mock-examples.rst:994 msgid "" "An alternative to using ``MagicMock`` is to use ``Mock`` and *only* provide " "the magic methods you specifically want:" msgstr "" +"Una alternativa al uso de ``MagicMock`` es usar ``Mock`` y *solo* " +"proporcionar los métodos mágicos que desea específicamente:" #: ../Doc/library/unittest.mock-examples.rst:1001 msgid "" @@ -818,6 +1145,9 @@ msgid "" "*spec* (or *spec_set*) argument so that the ``MagicMock`` created only has " "dictionary magic methods available:" msgstr "" +"Una *tercera* opción es usar ``MagicMock`` pero pasando ``dict`` como el " +"argumento *spec* (o *spec_set*) para que el ``MagicMock`` creado solo tenga " +"métodos mágicos de diccionario disponibles:" #: ../Doc/library/unittest.mock-examples.rst:1009 msgid "" @@ -825,22 +1155,30 @@ msgid "" "normal dictionary but recording the access. It even raises a :exc:`KeyError` " "if you try to access a key that doesn't exist." msgstr "" +"Con estas funciones de efectos secundarios en su lugar, el ``mock`` se " +"comportará como un diccionario normal pero registrando el acceso. Incluso " +"genera un :exc:`KeyError` si intenta acceder a una clave que no existe." #: ../Doc/library/unittest.mock-examples.rst:1028 msgid "" "After it has been used you can make assertions about the access using the " "normal mock methods and attributes:" msgstr "" +"Una vez utilizado, puede realizar aserciones sobre el acceso utilizando los " +"métodos y atributos mock normales:" #: ../Doc/library/unittest.mock-examples.rst:1040 msgid "Mock subclasses and their attributes" -msgstr "" +msgstr "Mock de subclases y sus atributos" #: ../Doc/library/unittest.mock-examples.rst:1042 msgid "" "There are various reasons why you might want to subclass :class:`Mock`. One " "reason might be to add helper methods. Here's a silly example:" msgstr "" +"Hay varias razones por las que es posible que desee crear subclases :class:" +"`Mock` Una razón podría ser agregar métodos auxiliares. Aquí hay un ejemplo " +"simple:" #: ../Doc/library/unittest.mock-examples.rst:1058 msgid "" @@ -851,6 +1189,13 @@ msgid "" "methods then they'll also be available on the attributes and return value " "mock of instances of your subclass." msgstr "" +"El comportamiento estándar para las instancias ``Mock`` es que los atributos " +"y los simulacros de valor devuelto son del mismo tipo que el simulacro en el " +"que se accede a ellos. Esto garantiza que los atributos ``Mock`` son " +"``Mocks`` y los atributos ``MagicMock`` son ``MagicMocks`` [#]_. Por lo " +"tanto, si está creando subclases para agregar métodos auxiliares, también " +"estarán disponibles en los atributos y el valor devuelto mock de las " +"instancias de su subclase." #: ../Doc/library/unittest.mock-examples.rst:1074 msgid "" @@ -860,6 +1205,11 @@ msgid "" "components.html>`_. Having this applied to attributes too actually causes " "errors." msgstr "" +"A veces esto es inconveniente. Por ejemplo, `un usuario `_ está creando subclases de mock para crear " +"un `Twisted adaptor `_. Tener esto aplicado a los atributos también puede " +"causar errores en realidad." #: ../Doc/library/unittest.mock-examples.rst:1080 msgid "" @@ -869,6 +1219,11 @@ msgid "" "signature is that it takes arbitrary keyword arguments (``**kwargs``) which " "are then passed onto the mock constructor:" msgstr "" +"``Mock`` (en todos sus sabores) utiliza un método llamado " +"``_get_child_mock`` para crear estos \"sub-mocks\" para atributos y valores " +"devueltos. Puede evitar que la subclase se utilice para los atributos " +"invalidando este método. La firma es que toma argumentos de palabra clave " +"arbitrarios (``**kwargs``) que luego se pasan al constructor ficticio:" #: ../Doc/library/unittest.mock-examples.rst:1097 msgid "" @@ -876,10 +1231,14 @@ msgid "" "callable variant because otherwise non-callable mocks couldn't have callable " "methods." msgstr "" +"Una excepción a esta regla son los mock no invocables. Los atributos usan la " +"variante a la que se puede llamar porque, de lo contrario, los simulacros a " +"los que no se puede llamar no podrían tener métodos a los que se puede " +"llamar." #: ../Doc/library/unittest.mock-examples.rst:1103 msgid "Mocking imports with patch.dict" -msgstr "" +msgstr "Importaciones de Mocking con patch.dict" #: ../Doc/library/unittest.mock-examples.rst:1105 msgid "" @@ -887,6 +1246,10 @@ msgid "" "inside a function. These are harder to mock because they aren't using an " "object from the module namespace that we can patch out." msgstr "" +"Una situación en la que un mocking puede ser difícil es cuando tiene una " +"importación local dentro de una función. Estos son más difíciles de simular " +"porque no están usando un objeto del espacio de nombres del módulo que " +"podemos revisar." #: ../Doc/library/unittest.mock-examples.rst:1109 msgid "" @@ -897,6 +1260,13 @@ msgid "" "unconditional local import (store the module as a class or module attribute " "and only do the import on first use)." msgstr "" +"Por lo general, deben evitarse las importaciones locales. A veces se hacen " +"para evitar dependencias circulares, para las que hay *generalmente* una " +"manera mucho mejor de resolver el problema (refactorizar el código) o para " +"evitar \"costos iniciales\" retrasando la importación. Esto también se puede " +"resolver de mejores maneras que una importación local incondicional " +"(almacenar el módulo como una clase o atributo de módulo y solo hacer la " +"importación en el primer uso)." #: ../Doc/library/unittest.mock-examples.rst:1116 msgid "" @@ -907,6 +1277,13 @@ msgid "" "in `sys.modules`, so usually when you import something you get a module " "back. This need not be the case however." msgstr "" +"Aparte de eso, hay una manera de usar ``mock`` para afectar los resultados " +"de una importación. La importación obtiene un *objeto* del diccionario :data:" +"`sys.modules`. Tenga en cuenta que obtiene un *objeto*, que no tiene por qué " +"ser un módulo. La importación de un módulo por primera vez da como resultado " +"que un objeto de módulo se coloque en `sys.modules`, por lo que normalmente " +"cuando importa algo, recupera un módulo. Sin embargo, este no tiene por qué " +"ser el caso." #: ../Doc/library/unittest.mock-examples.rst:1123 msgid "" @@ -916,28 +1293,40 @@ msgid "" "the with statement body is complete or ``patcher.stop()`` is called) then " "whatever was there previously will be restored safely." msgstr "" +"Esto significa que puede usar :func:`patch.dict` para *temporalmente* poner " +"un mock en su lugar sobre :data:`sys.modules`. Cualquier importación " +"mientras este parche está activo recuperará el mock. Cuando el parche está " +"completo (la función decorada sale, el cuerpo de la instrucción with está " +"completo o se llama a ``patcher.stop()``) entonces lo que había " +"anteriormente se restaurará de forma segura." #: ../Doc/library/unittest.mock-examples.rst:1129 msgid "Here's an example that mocks out the 'fooble' module." -msgstr "" +msgstr "Aquí hay un ejemplo de mock del módulo 'fooble'." #: ../Doc/library/unittest.mock-examples.rst:1141 msgid "" "As you can see the ``import fooble`` succeeds, but on exit there is no " "'fooble' left in :data:`sys.modules`." msgstr "" +"Como puede ver, el ``import fooble`` tiene éxito, pero al salir no queda " +"ningún 'fooble' en :data:`sys.modules`." #: ../Doc/library/unittest.mock-examples.rst:1144 msgid "This also works for the ``from module import name`` form:" -msgstr "" +msgstr "Esto también funciona para el formulario ``from module import name``:" #: ../Doc/library/unittest.mock-examples.rst:1154 msgid "With slightly more work you can also mock package imports:" msgstr "" +"Con un poco más de trabajo también puede simular las importaciones de " +"paquetes:" #: ../Doc/library/unittest.mock-examples.rst:1167 msgid "Tracking order of calls and less verbose call assertions" msgstr "" +"Seguimiento del orden de las llamadas y de las aserciones de llamadas menos " +"detalladas" #: ../Doc/library/unittest.mock-examples.rst:1169 msgid "" @@ -946,6 +1335,11 @@ msgid "" "doesn't allow you to track the order of calls between separate mock objects, " "however we can use :attr:`~Mock.mock_calls` to achieve the same effect." msgstr "" +"La clase :class:`Mock` le permite realizar un seguimiento del *orden* de las " +"llamadas a métodos en sus objetos mock a través del atributo :attr:`~Mock." +"method_calls`. Esto no le permite rastrear el orden de las llamadas entre " +"objetos simulados separados, sin embargo, podemos usar :attr:`~Mock." +"mock_calls` para lograr el mismo efecto." #: ../Doc/library/unittest.mock-examples.rst:1174 msgid "" @@ -954,12 +1348,19 @@ msgid "" "separate mocks from a parent one. Calls to those child mock will then all be " "recorded, in order, in the ``mock_calls`` of the parent:" msgstr "" +"Debido a que los mocks rastrean las llamadas a mocks secundarios en " +"``mock_calls``, y el acceso a un atributo arbitrario de un mock crea un mock " +"secundario, podemos crear nuestros mocks separados de uno primario. Las " +"llamadas a esos mocks hijos se grabarán, en orden, en el ``mock_calls`` del " +"padre:" #: ../Doc/library/unittest.mock-examples.rst:1191 msgid "" "We can then assert about the calls, including the order, by comparing with " "the ``mock_calls`` attribute on the manager mock:" msgstr "" +"A continuación, podemos realizar afirmaciones sobre las llamadas, incluido " +"el orden, comparando con el atributo ``mock_calls`` en el mock administrador:" #: ../Doc/library/unittest.mock-examples.rst:1198 msgid "" @@ -967,6 +1368,10 @@ msgid "" "attach them to a manager mock using the :meth:`~Mock.attach_mock` method. " "After attaching calls will be recorded in ``mock_calls`` of the manager. ::" msgstr "" +"Si ``patch`` está creando y poniendo en su lugar, sus mocks, puede " +"adjuntarlos a un mock administrador usando el método :meth:`~Mock." +"attach_mock` . Después de adjuntar las llamadas se registrarán en " +"``mock_calls`` del administrador. ::" #: ../Doc/library/unittest.mock-examples.rst:1217 msgid "" @@ -976,12 +1381,19 @@ msgid "" "data:`call` object). If that sequence of calls are in :attr:`~Mock." "mock_calls` then the assert succeeds." msgstr "" +"Si se han realizado muchas llamadas, pero solo está interesado en una " +"secuencia particular de ellas, entonces una alternativa es usar el método :" +"meth:`~Mock.assert_has_calls` . Esto toma una lista de llamadas (construidas " +"con el objeto :data:`call`). Si esa secuencia de llamadas sobre :attr:`~Mock." +"mock_calls`, la aserción se realiza correctamente." #: ../Doc/library/unittest.mock-examples.rst:1231 msgid "" "Even though the chained call ``m.one().two().three()`` aren't the only calls " "that have been made to the mock, the assert still succeeds." msgstr "" +"Aunque la llamada encadenada ``m.one().two().three()`` no son las únicas " +"llamadas que se han realizado al mock, la aserción aún tiene éxito." #: ../Doc/library/unittest.mock-examples.rst:1234 msgid "" @@ -990,16 +1402,22 @@ msgid "" "about the order. In this case you can pass ``any_order=True`` to " "``assert_has_calls``:" msgstr "" +"A veces, un mock puede tener varias llamadas, y solo le interesa afirmar " +"sobre *algunas* de esas llamadas. Puede que ni siquiera importe el pedido. " +"En este caso, puede pasar ``any_order=True`` a ``assert_has_calls``:" #: ../Doc/library/unittest.mock-examples.rst:1246 msgid "More complex argument matching" -msgstr "" +msgstr "Coincidencia de argumentos más compleja" #: ../Doc/library/unittest.mock-examples.rst:1248 msgid "" "Using the same basic concept as :data:`ANY` we can implement matchers to do " "more complex assertions on objects used as arguments to mocks." msgstr "" +"Usando el mismo concepto básico que :data:`ANY` podemos implementar " +"comparadores para hacer afirmaciones más complejas en objetos usados como " +"argumentos para mocks." #: ../Doc/library/unittest.mock-examples.rst:1251 msgid "" @@ -1010,27 +1428,39 @@ msgid "" "attributes of this object then we can create a matcher that will check these " "attributes for us." msgstr "" +"Supongamos que esperamos que algún objeto se pase a un mock que, por " +"defecto, se compara igual en función de la identidad del objeto (que es el " +"valor predeterminado de Python para las clases definidas por el usuario). " +"Para usar :meth:`~Mock.assert_called_with` tendríamos que pasar exactamente " +"el mismo objeto. Si solo estamos interesados en algunos de los atributos de " +"este objeto, podemos crear un comparador que verifique estos atributos por " +"nosotros." #: ../Doc/library/unittest.mock-examples.rst:1258 msgid "" "You can see in this example how a 'standard' call to ``assert_called_with`` " "isn't sufficient:" msgstr "" +"Puede ver en este ejemplo cómo una llamada 'estándar' a " +"``assert_called_with`` no es suficiente:" #: ../Doc/library/unittest.mock-examples.rst:1273 msgid "" "A comparison function for our ``Foo`` class might look something like this:" msgstr "" +"Una función de comparación para nuestra clase ``Foo`` podría verse así:" #: ../Doc/library/unittest.mock-examples.rst:1285 msgid "" "And a matcher object that can use comparison functions like this for its " "equality operation would look something like this:" msgstr "" +"Y un objeto comparador que puede usar funciones de comparación como esta " +"para su operación de igualdad se vería así:" #: ../Doc/library/unittest.mock-examples.rst:1296 msgid "Putting all this together:" -msgstr "" +msgstr "Poniendo todo esto junto:" #: ../Doc/library/unittest.mock-examples.rst:1301 msgid "" @@ -1041,12 +1471,20 @@ msgid "" "``assert_called_with`` passes, and if they don't an :exc:`AssertionError` is " "raised:" msgstr "" +"El ``Matcher`` es instanciado con nuestra función de comparación y el objeto " +"``Foo`` con el que queremos comparar. En ``assert_called_with`` se llamará " +"al método de igualdad ``Matcher``, que compara el objeto con el que se llamó " +"al mock con el que creamos nuestro matcher. Si coinciden, entonces pasa " +"``assert_called_with``, y si no lo hacen, se generará un :exc:" +"`AssertionError`:" #: ../Doc/library/unittest.mock-examples.rst:1314 msgid "" "With a bit of tweaking you could have the comparison function raise the :exc:" "`AssertionError` directly and provide a more useful failure message." msgstr "" +"Con un poco de ajuste, podría hacer que la función de comparación genere el :" +"exc:`AssertionError` directamente y proporcione un mensaje de falla más útil." #: ../Doc/library/unittest.mock-examples.rst:1317 msgid "" @@ -1056,3 +1494,9 @@ msgid "" "integration.match_equality `_)." msgstr "" +"A partir de la versión 1.5, la biblioteca de pruebas de Python `PyHamcrest " +"`_ proporciona una funcionalidad " +"similar, que puede ser útil aquí, en la forma de su comparador de igualdad " +"(`hamcrest.library.integration.match_equality `_)." From c413858ec5bab5249e890c4eec8123728ff080ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Thu, 5 Aug 2021 12:31:18 +0200 Subject: [PATCH 20/94] Resolviendo fuzzy de 'howto' y nuevas traducciones (#1250) Esto no incluye todas las entradas que faltan de howto/descriptor.po --- howto/argparse.po | 23 ++++------ howto/instrumentation.po | 16 +++---- howto/logging-cookbook.po | 87 ++++++++++++++++------------------- howto/logging.po | 31 ++++++------- howto/pyporting.po | 80 +++++++++++++++----------------- howto/regex.po | 10 ++-- howto/sockets.po | 21 ++++----- howto/sorting.po | 34 ++++++-------- howto/unicode.po | 96 ++++++++++++++++++--------------------- howto/urllib2.po | 18 ++++---- 10 files changed, 189 insertions(+), 227 deletions(-) diff --git a/howto/argparse.po b/howto/argparse.po index 60796da1a6..1c822c2138 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-05-09 18:32-0300\n" +"PO-Revision-Date: 2021-08-04 20:34+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/howto/argparse.rst:3 msgid "Argparse Tutorial" @@ -203,17 +203,16 @@ msgstr "" "especificadas, en este caso, ``echo``." #: ../Doc/howto/argparse.rst:149 -#, fuzzy msgid "" "The variable is some form of 'magic' that :mod:`argparse` performs for free " "(i.e. no need to specify which variable that value is stored in). You will " "also notice that its name matches the string argument given to the method, " "``echo``." msgstr "" -"La variable es alguna forma de 'magia' que :mod:`argparse` realiza gratis " -"(es decir, no hay necesidad de especificar en que variable el valor es " -"almacenado). También notará que su nombre coincida con el argumento de " -"cadena dado al método, ``echo``." +"La variable es una forma de 'magia' que :mod:`argparse` se realiza de forma " +"gratuita (es decir, no es necesario especificar en qué variable se almacena " +"ese valor). También notará que su nombre coincide con el argumento de cadena " +"dado al método, ``echo``." #: ../Doc/howto/argparse.rst:154 msgid "" @@ -233,11 +232,9 @@ msgstr "" msgid "And we get:" msgstr "Y la salida:" -# No entiendo muy bien la frase en inglés, para mí es una pregunta eso, pero no estoy seguro. La frase en Español no me suena bien a mí. #: ../Doc/howto/argparse.rst:178 -#, fuzzy msgid "Now, how about doing something even more useful::" -msgstr "Ahora, cómo hacemos algo aún más útil::" +msgstr "Ahora, que tal si hacemos algo más útil::" #: ../Doc/howto/argparse.rst:196 msgid "" @@ -334,15 +331,13 @@ msgstr "" "especificada, se asigna el valor ``True`` a :data:`args.verbose`. No " "especificarlo implica ``False``." -# Revisar en otros textos que he visto que se ha usado *flag* diréctamente, en vez de bandera. Si decide cambiar, tener en cuenta que hay varios usos de bandera en este archivo. #: ../Doc/howto/argparse.rst:305 -#, fuzzy msgid "" "It complains when you specify a value, in true spirit of what flags actually " "are." msgstr "" "Se queja cuando se especifica un valor, en verdadero espíritu de lo que " -"realmente son las banderas." +"realmente son los flags." #: ../Doc/howto/argparse.rst:308 msgid "Notice the different help text." diff --git a/howto/instrumentation.po b/howto/instrumentation.po index dca4ac395c..f99de7524a 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-09 13:37-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 17:42+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" +"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 3.0\n" #: ../Doc/howto/instrumentation.rst:7 msgid "Instrumenting CPython with DTrace and SystemTap" @@ -393,17 +394,16 @@ msgstr "" "Python. Solo se activa para funciones de Python puro (código de bytes)." #: ../Doc/howto/instrumentation.rst:383 -#, fuzzy msgid "" "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." msgstr "" -"Este punto de sonda es el inverso de :c:func:`python.function.return` e " -"indica que la ejecución de una función de Python ha finalizado (ya sea " -"mediante ``return`` o mediante una excepción). Solo se activa para funciones " -"de Python puro (código de bytes)." +"Este punto de prueba es el inverso de ``python.function.return``, e indica " +"que la ejecución de una función de Python ha finalizado (ya sea mediante " +"``return`` o mediante una excepción). Solo se activa para funciones de " +"Python puro (código de bytes)." #: ../Doc/howto/instrumentation.rst:390 msgid "Examples" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 3f19f2ce20..dfdab0087c 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-08-03 11:36+0200\n" +"PO-Revision-Date: 2021-08-04 20:41+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -317,9 +317,7 @@ msgstr "" msgid "which, when run, will produce:" msgstr "que, cuando se ejecuta, producirá:" -# Está OK traducir "listener" por "oyente"?? #: ../Doc/howto/logging-cookbook.rst:394 -#, fuzzy msgid "" "Prior to Python 3.5, the :class:`QueueListener` always passed every message " "received from the queue to every handler it was initialized with. (This was " @@ -331,30 +329,28 @@ msgid "" "handler if it's appropriate to do so." msgstr "" "Antes de Python 3.5, :class:`QueueListener` siempre pasaba cada mensaje " -"recibido de la cola a cada gestor con el que se inicializaba. (Esto se debió " -"a que se asumió que el filtrado de nivel se realizó en el otro lado, donde " -"se llena la cola). A partir de 3.5, este comportamiento se puede cambiar " -"pasando un argumento de palabra clave ``respect_handler_level=True`` al " -"constructor del oyente . Cuando se hace esto, el oyente compara el nivel de " -"cada mensaje con el nivel del controlador, y solo pasa un mensaje a un " +"recibido de la cola a cada controlador con el que se inicializaba. (Esto se " +"debió a que se asumió que el filtrado de nivel se realizó en el otro lado, " +"donde se llena la cola). A partir de 3.5, este comportamiento se puede " +"cambiar pasando un argumento de palabra clave ``respect_handler_level=True`` " +"al constructor del oyente . Cuando se hace esto, el oyente compara el nivel " +"de cada mensaje con el nivel del controlador y solo pasa un mensaje a un " "controlador si es apropiado hacerlo." #: ../Doc/howto/logging-cookbook.rst:407 msgid "Sending and receiving logging events across a network" msgstr "Enviar y recibir eventos logging a través de una red" -# tengo dudas con "extremo final del envío" #: ../Doc/howto/logging-cookbook.rst:409 -#, fuzzy msgid "" "Let's say you want to send logging events across a network, and handle them " "at the receiving end. A simple way of doing this is attaching a :class:" "`SocketHandler` instance to the root logger at the sending end::" msgstr "" -"Supongamos que desea enviar eventos logging a través de una red y " -"gestionarlos en el extremo receptor. Una forma sencilla de hacer esto es " -"adjuntar una instancia de :class:`SocketHandler` al logger raíz en el " -"extremo final del envío::" +"Supongamos que desea enviar eventos de registro a través de una red y " +"manejarlos en el extremo receptor. Una forma sencilla de hacer esto es " +"adjuntar una instancia de :class:`SocketHandler` al registrador raíz en el " +"extremo de envío::" #: ../Doc/howto/logging-cookbook.rst:437 msgid "" @@ -445,7 +441,6 @@ msgstr "" "que puede usar los dos tipos de instancias indistintamente." #: ../Doc/howto/logging-cookbook.rst:574 -#, fuzzy msgid "" "When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" "`Logger` instance and a dict-like object which contains your contextual " @@ -455,13 +450,13 @@ msgid "" "contextual information in the delegated call. Here's a snippet from the code " "of :class:`LoggerAdapter`::" msgstr "" -"Cuando creas una instancia de :class:`LoggerAdapter`, le pasas una " -"instancia :class:`Logger` y un objeto tipo dict que contiene tu información " -"contextual. Cuando llamas a uno de los métodos logging en una instancia de :" -"class:`LoggerAdapter`, este último delega la llamada a la instancia " -"subyacente de :class:`Logger` pasada a su constructor, y se arregla para " -"pasar la información contextual en la llamada delegada . Aquí hay un " -"fragmento del código de :class:`LoggerAdapter`::" +"Cuando creas una instancia de :class:`LoggerAdapter`, le pasas una instancia " +"de :class:`Logger` y un objeto similar a un dict que contiene tu información " +"contextual. Cuando llamas a uno de los métodos de registro en una instancia " +"de :class:`LoggerAdapter`, delega la llamada a la instancia subyacente de :" +"class:`Logger` pasada a su constructor, y se arregla para pasar la " +"información contextual en la llamada delegada . Aquí hay un fragmento del " +"código de :class:`LoggerAdapter`::" #: ../Doc/howto/logging-cookbook.rst:590 msgid "" @@ -699,11 +694,9 @@ msgstr "" msgid "you should use" msgstr "debería usar" -# No sé cómo traducir "worker creation". #: ../Doc/howto/logging-cookbook.rst:968 -#, fuzzy msgid "and you can then replace the worker creation from this::" -msgstr "y entonces puedes reemplazar::" +msgstr "y luego puede reemplazar la creación del trabajador de esto::" #: ../Doc/howto/logging-cookbook.rst:979 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" @@ -1048,7 +1041,6 @@ msgstr "" "gestor no reflejaría las intenciones del desarrollador de la biblioteca." #: ../Doc/howto/logging-cookbook.rst:1263 -#, fuzzy msgid "" "In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " "through a factory, which you can specify. The factory is just a callable you " @@ -1057,12 +1049,13 @@ msgid "" "signature as the :class:`~logging.LogRecord` constructor, as :class:" "`LogRecord` is the default setting for the factory." msgstr "" -"En Python 3.2 y posterior, la creación :class:`~logging.LogRecord` se " -"realiza a través de una fábrica, que puede especificar. La fábrica es solo " -"un invocable que puede configurar con :func:`~logging.setLogRecordFactory`, " -"e interrogar con :func:`~logging.getLogRecordFactory`. La fábrica se invoca " -"con la misma firma que el constructor :class:`~logging.LogRecord`, ya que :" -"class:`LogRecord` es la configuración predeterminada de la fábrica." +"En Python 3.2 y posteriores, la creación de :class:`~logging.LogRecord` se " +"realiza a través de una fábrica, que puede especificar. La fábrica es " +"simplemente un invocable que puede configurar con :func:`~logging." +"setLogRecordFactory`, e interrogar con :func:`~logging.getLogRecordFactory`. " +"La fábrica se invoca con la misma firma que el constructor :class:`~logging." +"LogRecord`, ya que :class:`LogRecord` es la configuración predeterminada de " +"la fábrica." #: ../Doc/howto/logging-cookbook.rst:1270 msgid "" @@ -1229,9 +1222,7 @@ msgstr "" "bastante simples, pero sirven para ilustrar cómo se podrían implementar las " "más complejas en un escenario real de multiprocesamiento." -# En algunas lineas anteriores me pasa lo mismo. No sé muy bien qué significa y cómo traducir "listener process" y "worker processes". Separé en varias oraciones para que sea más fluida la lectura. #: ../Doc/howto/logging-cookbook.rst:1465 -#, fuzzy msgid "" "In the example, the main process spawns a listener process and some worker " "processes. Each of the main process, the listener and the workers have three " @@ -1245,14 +1236,14 @@ msgid "" msgstr "" "En el ejemplo, el proceso principal genera un proceso de escucha y algunos " "procesos de trabajo. Cada uno de los procesos principales, el oyente y los " -"de trabajo tienen tres configuraciones separadas (todos los de trabajo " -"comparten la misma configuración). Podemos ver el logging en el proceso " -"principal, cómo los de trabajo inician sesión en un QueueHandler y cómo el " -"oyente implementa un QueueListener. Este último con una configuración de " -"logging más compleja, organiza el envío de eventos recibidos a través de la " -"cola a los gestores especificados en la configuración. Tenga en cuenta que " -"estas configuraciones son puramente ilustrativas, pero usted debe ser capaz " -"de adaptar este ejemplo a su propio escenario." +"trabajadores tienen tres configuraciones separadas (todos los trabajadores " +"comparten la misma configuración). Podemos ver el registro en el proceso " +"principal, cómo los trabajadores se registran en un QueueHandler y cómo el " +"oyente implementa un QueueListener y una configuración de registro más " +"compleja, y organiza el envío de eventos recibidos a través de la cola a los " +"controladores especificados en la configuración. Tenga en cuenta que estas " +"configuraciones son puramente ilustrativas, pero debería poder adaptar este " +"ejemplo a su propio escenario." #: ../Doc/howto/logging-cookbook.rst:1475 msgid "" @@ -1364,9 +1355,7 @@ msgstr "" msgid "Implementing structured logging" msgstr "Implementar logging estructurado" -# Me quedan dudas con la frase final: "analizable por computadora" #: ../Doc/howto/logging-cookbook.rst:1733 -#, fuzzy msgid "" "Although most logging messages are intended for reading by humans, and thus " "not readily machine-parseable, there might be circumstances where you want " @@ -1377,14 +1366,14 @@ msgid "" "following is a simple approach which uses JSON to serialise the event in a " "machine-parseable manner::" msgstr "" -"Aunque la mayoría de los mensajes de logging están destinados a ser leídos " +"Aunque la mayoría de los mensajes de registro están destinados a ser leídos " "por humanos y, por lo tanto, no se pueden analizar fácilmente mediante una " "máquina, puede haber circunstancias en las que desee generar mensajes en un " "formato estructurado que *sea* capaz de ser analizado por un programa (sin " "necesidad de expresiones regulares complejas para analizar el mensaje de " -"log). Esto es sencillo de lograr utilizando el paquete logging. Hay varias " -"formas de lograr esto, pero el siguiente es un enfoque simple que usa JSON " -"para serializar el evento de una manera analizable por computadora:" +"registro). Esto es sencillo de lograr utilizando el paquete de registro. Hay " +"varias formas de lograr esto, pero el siguiente es un enfoque simple que usa " +"JSON para serializar el evento de una manera analizable por máquina:" #: ../Doc/howto/logging-cookbook.rst:1757 msgid "If the above script is run, it prints:" diff --git a/howto/logging.po b/howto/logging.po index 86ea7f7da8..4824b75f87 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-29 17:19-0700\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 17:38+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_US\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 3.0\n" #: ../Doc/howto/logging.rst:3 msgid "Logging HOWTO" @@ -442,13 +443,13 @@ msgid "" "options *are* supported, but exploring them is outside the scope of this " "tutorial: see :ref:`formatting-styles` for more information." msgstr "" -"Como puedes ver, la fusión de datos de variables en el mensaje de " -"descripción de eventos utiliza el viejo estilo % de formato de cadena de " -"caracteres. Esto es para compatibilidad retrospectiva : el paquete de " -"registro precede las nuevas opciones de formato como :meth:`str.format` y :" -"class:`string.Template`. Estas nuevas opciones de formato *son* compatibles, " -"pero explorarlas está fuera del alcance de este tutorial: ver :ref:" -"`formatting-styles` para más información." +"Como puede ver, la fusión de datos variables en el mensaje de descripción " +"del evento utiliza el antiguo estilo % de formato de cadena. Esto es por " +"compatibilidad con versiones anteriores: el paquete de registro es anterior " +"a opciones de formato más nuevas, como :meth:`str.format` y :class:`string." +"Template`. Estas nuevas opciones de formato *son* compatibles, pero " +"explorarlas está fuera del alcance de este tutorial: consulte :ref:" +"`formatting-styles` para obtener más información." #: ../Doc/howto/logging.rst:265 msgid "Changing the format of displayed messages" @@ -1777,7 +1778,7 @@ msgid "" "class:`Formatter` class. They are initialized with a format string suitable " "for use with the % operator and a dictionary." msgstr "" -"Los mensajes registrados son formateados para su presentación a través de " +"Los mensajes registrados se formatean para su presentación a través de " "instancias de la clase :class:`Formatter`. Se inicializan con una cadena de " "formato adecuada para su uso con el operador % y un diccionario." @@ -1976,16 +1977,14 @@ msgid "Information about where calls were made from." msgstr "Información sobre dónde se hicieron las llamadas." #: ../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`)." 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." +"Establezca ``logging._srcfile`` en ``None``. Esto evita llamar a :func:`sys." +"_getframe`, que puede ayudar a acelerar su código en entornos como PyPy (que " +"no puede acelerar el código que usa :func:`sys._getframe`)." #: ../Doc/howto/logging.rst:1091 msgid "Threading information." diff --git a/howto/pyporting.po b/howto/pyporting.po index aef95498af..8256be303f 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 17: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" +"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 3.0\n" #: ../Doc/howto/pyporting.rst:5 msgid "Porting Python 2 Code to Python 3" @@ -62,9 +63,9 @@ msgid "" "came into existence, you can read Nick Coghlan's `Python 3 Q & A`_ or Brett " "Cannon's `Why Python 3 exists`_." msgstr "" -"Si desea leer la versión de un desarrollador de Python fundamental sobre por " -"qué Python 3 surgió, puede leer `Python 3 Q & A`_ de Nick Coghlan o `Why " -"Python 3 exists`_ de Brett Cannon" +"Si desea leer la opinión de un desarrollador central de Python sobre por qué " +"Python 3 nació, puede leer las `Python 3 Q & A`_ de Nick Coghlan o el " +"artículo de Brett Cannon `Why Python 3 exists`_." #: ../Doc/howto/pyporting.rst:23 msgid "" @@ -91,68 +92,62 @@ 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; ``python -m " "pip install coverage``)" msgstr "" -"Asegúrese de tener una buena cobertura de prueba (coverage.py_ puede ayudar; " -"``pip install coverage``)" +"Asegúrese de tener una buena cobertura de prueba (coberturas.py_ puede " +"ayudar; ``python -m pip install coverage``)" #: ../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. ``python -m pip " "install future``)" msgstr "" -"Utilice Futurize_ (o Modernize_) para actualizar el código (por ejemplo, " -"``pip install future``)" +"Utilice Futurize_ (o Modernize_) para actualizar su código (por ejemplo, " +"``python -m 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 " "(``python -m pip install pylint``)" msgstr "" -"Utilice Pylint_ para asegurarse de que no retrocede en la compatibilidad con " -"Python 3 (``pip install pylint``)" +"Use Pylint_ para asegurarse de que no retrocede en su compatibilidad con " +"Python 3 (``python -m 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 (``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``)" +"Use caniusepython3_ para averiguar cuáles de sus dependencias están " +"bloqueando el uso de Python 3 (``python -m 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; ``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 " -"Python 2 & 3 (tox_ puede ayudar a probar con varias versiones de Python; " -"``pip install tox``)" +"Una vez que sus dependencias ya no lo bloqueen, use la integración continua " +"para asegurarse de que sigue siendo compatible con Python 2 y 3 (tox_ puede " +"ayudar a probar contra múltiples versiones de Python; ``python -m 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 -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 " -"(por ejemplo, utilice mypy_ para comprobar la escritura en Python 2 y Python " -"3)." +"Considere usar la verificación de tipo estática opcional para asegurarse de " +"que su uso de tipo funcione tanto en Python 2 como en 3 (por ejemplo, use " +"mypy_ para verificar su escritura en Python 2 y Python 3; ``python -m pip " +"install mypy``)." #: ../Doc/howto/pyporting.rst:50 msgid "" @@ -208,7 +203,6 @@ msgid "Drop support for Python 2.6 and older" msgstr "Compatibilidad con Python 2.6 y versiones anteriores" #: ../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 " @@ -216,12 +210,12 @@ msgid "" "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 " -"una opción, el proyecto de six_ puede ayudarlo a admitir Python 2.5 & 3 " -"simultáneamente (``pip install six``). Sin embargo, tenga en cuenta que casi " -"todos los proyectos enumerados en este HOWTO no estarán disponibles para " -"usted." +"Si bien 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 eliminar Python 2.5 no " +"es una opción, entonces el proyecto six_ puede ayudarlo a admitir Python 2.5 " +"y 3 simultáneamente (``python -m pip install six``). Sin embargo, tenga en " +"cuenta que casi todos los proyectos enumerados en este COMO no estarán " +"disponibles para usted." #: ../Doc/howto/pyporting.rst:83 msgid "" @@ -295,15 +289,15 @@ msgid "" "get better than 90% coverage). If you don't already have a tool to measure " "test coverage then coverage.py_ is recommended." msgstr "" -"Una vez que tenga el código que admita la versión más antigua de Python 2 " -"que desee, querrá asegurarse de que su conjunto de pruebas tenga una buena " -"cobertura. Una buena regla general es que si desea tener la confianza " -"suficiente en el conjunto de pruebas que los errores que aparecen después de " -"tener herramientas reescriben el código son errores reales en las " -"herramientas y no en el código. Si desea que un número para apuntar, trate " -"de obtener más del 80% de cobertura (y no se sienta mal si le resulta " +"Una vez que tenga su código compatible con la versión más antigua de Python " +"2 que desee, querrá asegurarse de que su conjunto de pruebas tenga una buena " +"cobertura. Una buena regla general es que si desea tener la suficiente " +"confianza en su conjunto de pruebas, cualquier falla que aparezca después de " +"que las herramientas reescriban su código son errores reales en las " +"herramientas y no en su código. Si desea un número al que apuntar, intente " +"obtener una cobertura superior al 80% (y no se sienta mal si le resulta " "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_." +"herramienta para medir la cobertura de la prueba, se recomienda cover.py_." #: ../Doc/howto/pyporting.rst:124 msgid "" diff --git a/howto/regex.po b/howto/regex.po index 942851ac1a..fbd7bb30de 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-10-28 22:57+0100\n" +"PO-Revision-Date: 2021-08-04 17:34+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" "X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/howto/regex.rst:5 @@ -652,7 +652,6 @@ msgid "Compiling Regular Expressions" msgstr "Compilando Expresiones regulares" #: ../Doc/howto/regex.rst:267 -#, fuzzy msgid "" "Regular expressions are compiled into pattern objects, which have methods " "for various operations such as searching for pattern matches or performing " @@ -2640,9 +2639,8 @@ msgid "This is far more readable than::" msgstr "Esto es mas legible que::" #: ../Doc/howto/regex.rst:1380 -#, fuzzy msgid "Feedback" -msgstr "Sus comentarios" +msgstr "Feedback" #: ../Doc/howto/regex.rst:1382 msgid "" diff --git a/howto/sockets.po b/howto/sockets.po index 15fc20253a..dc87bb90a8 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-06 09:28-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 20: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" +"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 3.0\n" #: ../Doc/howto/sockets.rst:5 msgid "Socket Programming HOWTO" @@ -607,7 +608,6 @@ msgstr "" "tu aplicación estará casi correcta." #: ../Doc/howto/sockets.rst:320 -#, fuzzy msgid "" "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 " @@ -616,13 +616,12 @@ msgid "" "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.)" msgstr "" -"En python se usa ``socket.setblocking(0)`` para hacer un socket no " -"bloqueante. En C es un poco más complejo (por una parte, tendrás que decidir " -"entre la manera BSD de usar ``O_NONBLOCK`` y la manera casi indistinguible " -"de Posix de ``O_NDELAY``, que es completamente diferente de " -"``TCP_NODELAY``), pero es exactamente la misma idea. Esto se hace después de " -"crear el socket pero antes de usarlo (Realmente, si estás loco, puedes " -"cambiar de una manera a la otra)." +"En Python, usa ``socket.setblocking(False)`` para que no sea bloqueante. En " +"C, es más complejo (por un lado, deberá elegir entre el sabor BSD " +"``O_NONBLOCK`` y el sabor POSIX casi indistinguible ``O_NDELAY``, que es " +"completamente diferente de ``TCP_NODELAY``) , pero es exactamente la misma " +"idea. Haz esto después de crear el socket, pero antes de usarlo. (En " +"realidad, si estás loco, puedes cambiar de un lado a otro)." #: ../Doc/howto/sockets.rst:327 msgid "" diff --git a/howto/sorting.po b/howto/sorting.po index 99df1af074..e53e497ede 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 17: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" +"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 3.0\n" #: ../Doc/howto/sorting.rst:4 msgid "Sorting HOW TO" @@ -96,15 +97,14 @@ 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 (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." +"Ambos :meth:`list.sort` y :func:`sorted` tienen un parámetro *key* para " +"especificar una función (u otra invocable) que se llamará en cada elemento " +"de la lista antes de hacer comparaciones." #: ../Doc/howto/sorting.rst:49 msgid "For example, here's a case-insensitive string comparison:" @@ -113,17 +113,16 @@ msgstr "" "mayúsculas y minúsculas:" #: ../Doc/howto/sorting.rst:54 -#, fuzzy msgid "" "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." +"El valor del parámetro *key* debe ser una función (u otra invocable) que " +"tome un solo argumento y devuelva una clave para usar con fines de " +"clasificación. Esta técnica es rápida porque la función de la tecla se llama " +"exactamente una vez para cada registro de entrada." #: ../Doc/howto/sorting.rst:59 msgid "" @@ -346,10 +345,7 @@ 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:214 -#, fuzzy msgid "" "In Py3.0, the *cmp* parameter was removed entirely (as part of a larger " "effort to simplify and unify the language, eliminating the conflict between " @@ -426,15 +422,15 @@ msgstr "" "incorporada :func:`reversed` dos veces:" #: ../Doc/howto/sorting.rst:290 -#, fuzzy msgid "" "The sort routines are guaranteed to use :meth:`__lt__` when making " "comparisons between two objects. So, it is easy to add a standard sort order " "to a class by defining an :meth:`__lt__` method::" msgstr "" -"Se garantiza el uso de las rutinas de clasificación :meth:`__lt__` al hacer " -"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__` ::" +"Las rutinas de ordenación están garantizadas para usar :meth:`__lt__` al " +"hacer 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:298 msgid "" diff --git a/howto/unicode.po b/howto/unicode.po index c645f6ffcb..cc0e96ee58 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -11,16 +11,17 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 20:36+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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" +"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 3.0\n" #: ../Doc/howto/unicode.rst:5 msgid "Unicode HOWTO" @@ -102,7 +103,6 @@ msgstr "" "igual, pero son dos caracteres diferentes que tienen distintos significados." #: ../Doc/howto/unicode.rst:42 -#, fuzzy 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 " @@ -111,24 +111,23 @@ msgid "" "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 " -"0x10FFFF (cerca de 1.1 millón de valores, con unos 110 mil asignados hasta " -"ahora). En el estándar y en este documento, un código de posición es escrito " -"usando la notación ``U+265E`` para referirse al carácter con el valor " -"``0x265e`` (9822 en decimal)." +"El estándar Unicode describe cómo se representan los caracteres mediante " +"**puntos de código**. Un valor de punto de código es un número entero en el " +"rango de 0 a 0x10FFFF (aproximadamente 1.1 millones de valores, el `número " +"real asignado `_ es menor " +"que eso). En el estándar y en este documento, un punto de código se escribe " +"usando la notación ``U+265E`` para significar el carácter con valor " +"``0x265e`` (9,822 en decimal)." #: ../Doc/howto/unicode.rst:50 -#, fuzzy msgid "" "The Unicode standard contains a lot of tables listing characters and their " "corresponding code points:" msgstr "" -"El estándar Unicode contiene muchas tablas con caracteres y sus " -"correspondientes códigos de posición:" +"El estándar Unicode contiene muchas tablas que enumeran caracteres y sus " +"puntos de código correspondientes:" #: ../Doc/howto/unicode.rst:71 -#, fuzzy msgid "" "Strictly, these definitions imply that it's meaningless to say 'this is " "character ``U+265E``'. ``U+265E`` is a code point, which represents some " @@ -137,10 +136,10 @@ msgid "" "and characters will sometimes be forgotten." msgstr "" "Estrictamente, estas definiciones implican que no tiene sentido decir 'este " -"carácter es ``U+265E``'. ``U+265E`` es un código de posición, que representa " -"algún carácter particular; en este caso, representa el carácter 'CABALLO " -"NEGRO DE AJEDREZ', '♞'. En contextos informales esta distinción entre puntos " -"de código y caracteres a veces se olvidará." +"es el carácter ``U+265E``. ``U+265E`` es un punto de código, que representa " +"algún carácter en particular; en este caso, representa el carácter " +"'CABALLERO AJEDREZ NEGRO', '♞'. En contextos informales, esta distinción " +"entre puntos de código y caracteres a veces se olvidará." #: ../Doc/howto/unicode.rst:78 msgid "" @@ -160,7 +159,6 @@ msgstr "" "renderizador de fuentes de una terminal." #: ../Doc/howto/unicode.rst:87 -#, fuzzy msgid "Encodings" msgstr "Codificaciones" @@ -274,12 +272,10 @@ msgid "UTF-8 has several convenient properties:" msgstr "UTF-8 tiene varias propiedades convenientes:" #: ../Doc/howto/unicode.rst:138 -#, fuzzy msgid "It can handle any Unicode code point." -msgstr "Puede manejar cualquier código de posición Unicode." +msgstr "Puede manejar cualquier punto de código Unicode." #: ../Doc/howto/unicode.rst:139 -#, fuzzy msgid "" "A Unicode string is turned into a sequence of bytes that contains embedded " "zero bytes only where they represent the null character (U+0000). This means " @@ -287,11 +283,11 @@ msgid "" "sent through protocols that can't handle zero bytes for anything other than " "end-of-string markers." msgstr "" -"Una cadena Unicode es transformada en una secuencia de bytes que no contiene " -"bytes cero incrustados. Esto previene problemas de ordenamiento de bytes, y " +"Una cadena Unicode se convierte en una secuencia de bytes que contiene cero " +"bytes incrustados solo donde representan el carácter nulo (U+0000). Esto " "significa que las cadenas UTF-8 pueden ser procesadas por funciones C como " -"``strcpy()`` y enviado a través de protocolos que no pueden manejar bytes " -"cero." +"``strcpy()`` y enviadas a través de protocolos que no pueden manejar cero " +"bytes para nada más que marcadores de fin de cadena de caracteres." #: ../Doc/howto/unicode.rst:144 msgid "A string of ASCII text is also valid UTF-8 text." @@ -336,7 +332,6 @@ msgid "References" msgstr "Referencias" #: ../Doc/howto/unicode.rst:160 -#, fuzzy msgid "" "The `Unicode Consortium site `_ has character " "charts, a glossary, and PDF versions of the Unicode specification. Be " @@ -344,10 +339,10 @@ msgid "" "history/>`_ of the origin and development of Unicode is also available on " "the site." msgstr "" -"El `Unicode Consortium site `_ tiene mapas de " -"caracteres, un glosario, y versiones PDF de la especificación Unicode. Esté " -"preparado para alguna dificultad en la lectura. `Una cronología `_ del origen y desarrollo de Unicode se encuentra " +"El `sitio del Consorcio Unicode `_ tiene gráficos " +"de caracteres, un glosario y versiones en PDF de la especificación Unicode. " +"Esté preparado para una lectura difícil. `Una cronología `_ del origen y desarrollo de Unicode también está " "disponible en el sitio." #: ../Doc/howto/unicode.rst:165 @@ -412,25 +407,25 @@ msgid "The String Type" msgstr "El tipo cadena" #: ../Doc/howto/unicode.rst:192 -#, fuzzy msgid "" "Since Python 3.0, the language's :class:`str` type contains Unicode " "characters, meaning any string created using ``\"unicode rocks!\"``, " "``'unicode rocks!'``, or the triple-quoted string syntax is stored as " "Unicode." msgstr "" -"Desde Python 3.0, el tipo :class:`str` contiene caracteres Unicode, es decir " -"que cualquier cadena creada con ``\"unicode rocks!\"``, ``'unicode " -"rocks!'``, o la sintaxis de triple comillas es almacenada como Unicode." +"Desde Python 3.0, el tipo :class:`str` del lenguaje contiene caracteres " +"Unicode, lo que significa que cualquier cadena creada usando ``\"unicode " +"rocks!\"``, ``'unicode rocks!'``, o la sintaxis de cadena entre comillas " +"triples es almacenado como Unicode." #: ../Doc/howto/unicode.rst:196 -#, fuzzy msgid "" "The default encoding for Python source code is UTF-8, so you can simply " "include a Unicode character in a string literal::" 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::" +"La codificación predeterminada para el código fuente de Python es UTF-8, por " +"lo que simplemente puede incluir un carácter Unicode en un literal de cadena " +"de caracteres::" #: ../Doc/howto/unicode.rst:206 msgid "" @@ -440,17 +435,16 @@ msgstr "" "identificadores::" #: ../Doc/howto/unicode.rst:212 -#, fuzzy msgid "" "If you can't enter a particular character in your editor or want to keep the " "source code ASCII-only for some reason, you can also use escape sequences in " "string literals. (Depending on your system, you may see the actual capital-" "delta glyph instead of a \\u escape.) ::" msgstr "" -"Si no puedes ingresar un carácter particular en tu editor o quieres mantener " -"el código fuente ASCII solo por alguna razón, puedes también usar secuencias " -"escapadas en cadenas literales. (Dependiendo de tu sistema, puedes ver el " -"glifo delta mayúscula en lugar de \\u.) ::" +"Si no puede ingresar un carácter en particular en su editor o desea mantener " +"el código fuente solo ASCII por alguna razón, también puede usar secuencias " +"de escape en cadenas de caracteres literales. (Dependiendo de su sistema, es " +"posible que vea el glifo delta de mayúsculas en lugar de un escape \\u)::" #: ../Doc/howto/unicode.rst:224 msgid "" @@ -670,7 +664,6 @@ msgid "When run, this prints:" msgstr "Cuando se ejecuta, este imprime:" #: ../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\", " @@ -683,14 +676,14 @@ msgid "" "codes." msgstr "" "Los códigos de categoría son abreviaturas que describen la naturaleza del " -"carácter. Estos se agrupan en categorías como \"Letra\", \"Número\", " +"personaje. Estos se agrupan en categorías como \"Letra\", \"Número\", " "\"Puntuación\" o \"Símbolo\", que a su vez se dividen en subcategorías. Para " "tomar los códigos de la salida anterior, ``'Ll'`` significa 'Letra, " -"minúscula', ``'No'`` significa \"Número, otro\", ``'Mn'`` es \"Marca, sin " -"espaciado\" , y ``'So'`` es \"Símbolo, otro\". Consulte la sección `the " -"General Category Values section of the Unicode Character Database " -"documentation `_ para obtener una lista de códigos de categoría." +"minúscula ', ``'No'`` significa \"Número, otro\", ``'Mn'`` es \"Marca, sin " +"espacios\" , y ``'So'`` es \"Símbolo, otro\". Consulte `la sección Valores " +"de categoría generales de la documentación de la base de datos de caracteres " +"Unicode `_ " +"para obtener una lista de códigos de categoría." #: ../Doc/howto/unicode.rst:402 msgid "Comparing Strings" @@ -745,9 +738,8 @@ msgstr "" "desigualdad si dos cadenas usan caracteres combinados de manera diferente:" #: ../Doc/howto/unicode.rst:448 -#, fuzzy msgid "When run, this outputs:" -msgstr "Cuando se ejecuta, imprime esto:" +msgstr "Cuando se ejecuta, esto genera:" #: ../Doc/howto/unicode.rst:457 msgid "" diff --git a/howto/urllib2.po b/howto/urllib2.po index bb72495778..46b696cf5f 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-30 20:13-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 17:27+0200\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" +"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 3.0\n" #: ../Doc/howto/urllib2.rst:5 msgid "HOWTO Fetch Internet Resources Using The urllib Package" @@ -177,7 +178,6 @@ 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 " @@ -185,11 +185,11 @@ msgid "" "request itself, to the server - this information is sent as HTTP \"headers" "\". Let's look at each of these in turn." msgstr "" -"En el caso del HTTP, hay dos cosas extra que los objetos Request permiten " -"hacer: Primero, puedes pasar datos que serán enviados al servidor. Segundo, " -"puedes pasar información extra (\"metadatos\") *sobre* los datos o sobre la " -"propia petición, al servidor - esta información se envía como \"encabezado\" " -"HTTP. Veamos cada uno de estos a su vez." +"En el caso de HTTP, hay dos cosas adicionales que los objetos Request le " +"permiten hacer: Primero, puede pasar datos para enviarlos al servidor. En " +"segundo lugar, puede pasar información adicional (\"metadatos\") *about* los " +"datos o sobre la solicitud en sí, al servidor; esta información se envía " +"como \"encabezados\" HTTP. Veamos cada uno de estos por turno." #: ../Doc/howto/urllib2.rst:105 msgid "Data" From 2a45a8ae808008b713255e4ee13247bc371edebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:23:09 +0200 Subject: [PATCH 21/94] Traducidas nuevas entradas library/array (#1246) --- library/array.po | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/library/array.po b/library/array.po index 3f8c8911a0..806b835d2a 100644 --- a/library/array.po +++ b/library/array.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 18:32+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 12:39+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/library/array.rst:2 msgid ":mod:`array` --- Efficient arrays of numeric values" @@ -95,7 +96,7 @@ msgstr "``'u'``" #: ../Doc/library/array.rst:25 msgid "wchar_t" -msgstr "" +msgstr "wchar_t" #: ../Doc/library/array.rst:25 msgid "Unicode character" @@ -207,7 +208,7 @@ msgstr "Notas:" #: ../Doc/library/array.rst:51 msgid "It can be 16 bits or 32 bits depending on the platform." -msgstr "" +msgstr "Puede ser de 16 bits o 32 bits según la plataforma." #: ../Doc/library/array.rst:53 msgid "" @@ -215,6 +216,9 @@ msgid "" "``Py_UNICODE``. This change doesn't affect to its behavior because " "``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." msgstr "" +"``array('u')`` ahora usa ``wchar_t`` como tipo C en lugar de ``Py_UNICODE`` " +"obsoleto. Este cambio no afecta su comportamiento porque ``Py_UNICODE`` es " +"el alias de ``wchar_t`` desde Python 3.3." #: ../Doc/library/array.rst:61 msgid "" From 0cb61b9e77adb598777165bb203d5b6d64a8402b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:23:30 +0200 Subject: [PATCH 22/94] Resolviendo fuzzy en library/wsgiref (#1256) --- dictionaries/library_wsgiref.txt | 3 ++- library/wsgiref.po | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/dictionaries/library_wsgiref.txt b/dictionaries/library_wsgiref.txt index 76c6bdfeb5..7697686f33 100644 --- a/dictionaries/library_wsgiref.txt +++ b/dictionaries/library_wsgiref.txt @@ -10,4 +10,5 @@ Reconstruction https Handling header -Specific \ No newline at end of file +Specific +vhost diff --git a/library/wsgiref.po b/library/wsgiref.po index 7178d3ac37..0ce281fdb5 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -12,15 +12,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:04+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_ES\n" "Language-Team: Spanish - Spain \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 3.0\n" #: ../Doc/library/wsgiref.rst:2 msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" @@ -741,7 +742,6 @@ 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 " @@ -751,14 +751,14 @@ msgid "" "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. " -"Afortunadamente, esta variable raramente se usa y no está garantizada por " -"WSGI. En IIS<7, sin embargo, la configuración se puede hacer a nivel de " -"virtual host, afectando a todos los mapas de scripts, muchos de los cuales " -"se rompen cuando se exponen al bug de ``PATH_TRANSLATED``. Por esa razón, " -"IIS<7 casi nunca se despliega con la solución. (Incluso IIS7 rara vez lo " -"usa, al no haber interfaz de usuario para él.)" +"IIS se puede configurar para pasar el ``PATH_INFO`` correcto, pero esto " +"causa otro error donde ``PATH_TRANSLATED`` es incorrecto. Afortunadamente, " +"esta variable rara vez se usa y no está garantizada por WSGI. Sin embargo, " +"en IIS<7, la configuración solo se puede realizar en un nivel de vhost, lo " +"que afecta a todas las demás asignaciones de scripts, muchas de las cuales " +"se rompen cuando se exponen al error ``PATH_TRANSLATED``. Por esta razón, " +"IIS<7 casi nunca se implementa con la solución (incluso IIS7 rara vez lo usa " +"porque todavía no tiene una interfaz de usuario)." #: ../Doc/library/wsgiref.rst:486 msgid "" From 1ce30583f84447dc01cd76a0d8744ded39e1f02b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:33:02 +0200 Subject: [PATCH 23/94] Traduciendo nuevas entradas library/weakref (#1257) * Traduciendo nuevas entradas library/weakref * Update library/weakref.po Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- dictionaries/library_weakref.txt | 4 ++- library/weakref.po | 52 +++++++++++++++++--------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/dictionaries/library_weakref.txt b/dictionaries/library_weakref.txt index a7184abfd1..8af4d5df9b 100644 --- a/dictionaries/library_weakref.txt +++ b/dictionaries/library_weakref.txt @@ -4,4 +4,6 @@ retrollamadas dereferencia mapeable threading -lock \ No newline at end of file +lock +weakref +daemonic diff --git a/library/weakref.po b/library/weakref.po index 0642e6c4a9..05d6c99838 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:07+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_PE\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 3.0\n" #: ../Doc/library/weakref.rst:2 msgid ":mod:`weakref` --- Weak references" @@ -153,10 +154,10 @@ msgid "" msgstr "" "No todos los objetos pueden ser débilmente referenciados; esos objetos que " "pueden incluir instancias de clases, funciones escritas en Python (pero no " -"en C), métodos de instancia, conjuntos, conjuntos congelados (*frozensets*), " -"algunos :term:`objetos de archivo `, :term:`generadores " -"`, objetos de tipos, sockets, arreglos, *deques*, objetos de " -"patrones de expresiones regulares, y objetos código." +"en C), métodos de instancia, conjuntos, frozensets, algunos :term:`objetos " +"de archivo `, :term:`generadores `, objetos de " +"tipos, sockets, arreglos, deques, objetos de patrones de expresiones " +"regulares, y objetos código." #: ../Doc/library/weakref.rst:72 msgid "Added support for thread.lock, threading.Lock, and code objects." @@ -203,10 +204,10 @@ msgstr "" "recuperado al llamar la referencia del objeto si el referente sigue con " "vida; si el referente ya no está con vida, llamar a la referencia del " "objeto causará que se retorne un :const:`None`. Si se proporciona " -"*callback* y no :const:`None`, y el objeto *weakref* retornado aún sigue con " -"vida, el *callback* será llamado cuando el objeto esté a punto de ser " -"finalizado; el objeto de la referencia débil será pasado como el único " -"parámetro a la retrollamada, el referente ya no estará disponible." +"*callback* y no :const:`None`, y el objeto weakref retornado aún sigue con " +"vida, la retrollamada (*callback*) será llamado cuando el objeto esté a " +"punto de ser finalizado; el objeto de la referencia débil será pasado como " +"el único parámetro a la retrollamada, el referente ya no estará disponible." #: ../Doc/library/weakref.rst:102 msgid "" @@ -225,7 +226,7 @@ msgid "" "output, but cannot be propagated; they are handled in exactly the same way " "as exceptions raised from an object's :meth:`__del__` method." msgstr "" -"Las excepciones lanzadas por el *callback* serán anotadas en la salida de " +"Las excepciones lanzadas por la retrollamada serán anotadas en la salida de " "error estándar, pero no pueden ser propagadas; son manejadas igual que las " "excepciones lanzadas por el método :meth:`__del__` de un objeto." @@ -268,8 +269,8 @@ msgid "" "longer alive then this attribute will have value ``None``." msgstr "" "Este atributo de sólo lectura retorna la llamada que está asociada " -"actualmente con el *weakref*. Si no hay retrollamadas o si el referente del " -"*weakref* no está con vida entonces este atributo tendrá de valor ``None``." +"actualmente con el weakref. Si no hay retrollamadas o si el referente del " +"weakref no está con vida entonces este atributo tendrá de valor ``None``." #: ../Doc/library/weakref.rst:128 msgid "Added the :attr:`__callback__` attribute." @@ -337,6 +338,8 @@ msgstr "" #: ../Doc/library/weakref.rst:166 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" +"Se agregó soporte para los operadores ``|`` y ``|=``, especificados en :pep:" +"`584`." #: ../Doc/library/weakref.rst:169 msgid "" @@ -372,6 +375,8 @@ msgstr "" msgid "" "Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." msgstr "" +"Se agregó soporte para los operadores ``|`` y ``|=``, como se especifica en :" +"pep:`584`." #: ../Doc/library/weakref.rst:190 msgid "" @@ -431,7 +436,7 @@ msgid "" msgstr "" "Se considera a un finalizador como *vivo* hasta que sea llamado (o " "explícitamente o en la recolección de basura), y después que esté *muerto*. " -"Llamar a un finalizador vivo retorna el resultado de evaluar ``func(*arg," +"Llamar a un finalizador vivo retorna el resultado de evaluar ``func(*arg, " "**kwargs)``, mientras que llamar a un finalizador muerto retorna :const:" "`None`." @@ -474,7 +479,7 @@ msgid "" "``func(*args, **kwargs)``. If *self* is dead then return :const:`None`." msgstr "" "Si *self* está vivo entonces lo marca como muerto y retorna el resultado de " -"llamar a ``func(*args,**kwargs)``. Si *self* está muerto entonces retorna :" +"llamar a ``func(*args, **kwargs)``. Si *self* está muerto entonces retorna :" "const:`None`." #: ../Doc/library/weakref.rst:268 @@ -770,10 +775,10 @@ msgid "" "register finalizers for classes where the definition is controlled by a " "third party, such as running code when a module is unloaded::" msgstr "" -"La otra ventaja de *weakref* basados en finalizadores es que ellos pueden " -"ser usados para registrar finalizadores para clases donde la definición es " +"La otra ventaja de weakref basados en finalizadores es que ellos pueden ser " +"usados para registrar finalizadores para clases donde la definición es " "controlado por terceros, como un código que corre cuando un módulo es " -"*unloaded*::" +"descargado::" #: ../Doc/library/weakref.rst:562 msgid "" @@ -782,11 +787,10 @@ msgid "" "at exit. However, in a daemonic thread :func:`atexit.register`, ``try: ... " "finally: ...`` and ``with: ...`` do not guarantee that cleanup occurs either." msgstr "" -"Si creas un objeto finalizador en un hilo *daemon* sólo como el programa " -"sale entonces hay la posibilidad de que el finalizador no llegue a ser " -"llamado. Sin embargo, en un hilo demoníaco :func:`atexit.register`, " -"``try: ... finally: ...`` y ``with: ...`` no garantizan que la limpieza " -"ocurra tampoco." +"Si creas un objeto finalizador en un hilo daemon sólo como el programa sale " +"entonces hay la posibilidad de que el finalizador no llegue a ser llamado. " +"Sin embargo, en un hilo daemonic :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 " From 0931febdd7e46fbc2bcf0c11a21ee49dedbcbbe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:54:55 +0200 Subject: [PATCH 24/94] Traducidas nuevas entradas library/venv (#1258) * Traducidas nuevas entradas library/venv * Apply suggestions from code review * powrap library/venv Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- library/venv.po | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/library/venv.po b/library/venv.po index f8c132cd31..062a80ec4d 100644 --- a/library/venv.po +++ b/library/venv.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-05-22 17:08+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/venv.rst:2 msgid ":mod:`venv` --- Creation of virtual environments" @@ -51,14 +52,14 @@ 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 " -"`__" +"`Guía del usuario de la Paquetería Python: Creación y uso de entornos " +"virtuales `__" #: ../Doc/library/venv.rst:34 msgid "Creating virtual environments" @@ -238,20 +239,22 @@ 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). 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)." +"``prompt`` -- una cadena de caracteres que se utilizará después de que se " +"active el entorno virtual (el valor predeterminado es ``None``, lo que " +"significa que se utilizaría el nombre del directorio del entorno). Si se " +"proporciona la cadena especial ``\".\"``, el nombre base del directorio " +"actual se utiliza como indicador." #: ../Doc/library/venv.rst:128 msgid "``upgrade_deps`` -- Update the base venv modules to the latest on PyPI" msgstr "" +"``upgrade_deps`` -- actualiza los módulos venv base a lo último en PyPI" #: ../Doc/library/venv.rst:130 ../Doc/library/venv.rst:259 msgid "Added the ``with_pip`` parameter" @@ -262,9 +265,8 @@ msgid "Added the ``prompt`` parameter" msgstr "Añadido el parámetro ``prompt``" #: ../Doc/library/venv.rst:136 -#, fuzzy msgid "Added the ``upgrade_deps`` parameter" -msgstr "Añadido el parámetro ``prompt``" +msgstr "Se agregó el parámetro ``upgrade_deps``" #: ../Doc/library/venv.rst:139 msgid "" @@ -353,6 +355,9 @@ msgid "" "``setuptools``) in the environment. This is done by shelling out to the " "``pip`` executable in the environment." msgstr "" +"Actualiza los paquetes de dependencia principales de venv (actualmente " +"``pip`` y ``setuptools``) en el entorno. Esto se hace desembolsando el " +"ejecutable ``pip`` en el entorno." #: ../Doc/library/venv.rst:205 msgid "" From b1ec7730f37f7fab4893df802ac903b92d9f5bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:55:08 +0200 Subject: [PATCH 25/94] Traducidas nuevas entradas library/xml.dom.minidom (#1255) * Traducidas nuevas entradas library/xml.dom.minidom * Update library/xml.dom.minidom.po * powrap library/xml.dom.minidom Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- library/xml.dom.minidom.po | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index c1759f1f62..4635016d41 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/xml.dom.minidom.rst:2 msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation" @@ -264,6 +265,11 @@ msgid "" "otherwise it is set to `\"no\"`. Not stating the argument will omit the " "declaration from the document." msgstr "" +"Similarmente, declarar de forma explícita el argumento *standalone* hace que " +"las declaraciones del documento independiente se agreguen al prólogo del " +"documento XML. Si el valor se establece en `True`, se agrega `standalone=" +"\"yes\"`, de lo contrario, se establece en `\"no\"`. No declarar el " +"argumento omitirá la declaración del documento." #: ../Doc/library/xml.dom.minidom.rst:155 msgid "" @@ -301,6 +307,7 @@ msgstr "" #: ../Doc/library/xml.dom.minidom.rst:187 msgid "The *standalone* argument behaves exactly as in :meth:`writexml`." msgstr "" +"El argumento *standalone* se comporta exactamente como en :meth:`writexml`." #: ../Doc/library/xml.dom.minidom.rst:173 msgid "" From 0f836ca624b4a6613e3f437a5755c4a79837a2fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:55:23 +0200 Subject: [PATCH 26/94] Traducidas nuevas entradas library/zipfile (#1253) * Traducidas nuevas entradas library/zipfile * Apply suggestions from code review * powrap library/zipfile Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- dictionaries/library_zipfile.txt | 4 +++- library/zipfile.po | 14 +++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/dictionaries/library_zipfile.txt b/dictionaries/library_zipfile.txt index 2794f23088..f06dfc8a60 100644 --- a/dictionaries/library_zipfile.txt +++ b/dictionaries/library_zipfile.txt @@ -1,4 +1,6 @@ ZipFile PyZipFile ZipInfo -zipp \ No newline at end of file +zipp +rb +wb diff --git a/library/zipfile.po b/library/zipfile.po index 4795295acf..df2f5c1043 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 20:50+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_CO\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 3.0\n" #: ../Doc/library/zipfile.rst:2 msgid ":mod:`zipfile` --- Work with ZIP archives" @@ -807,11 +808,18 @@ msgid "" "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. Permite la apertura para " +"lectura o escritura, texto o binario a través de los modos admitidos: 'r', " +"'w', 'rb', 'wb'. Los argumentos posicionales y de palabras clave se pasan a " +"través de :class:`io.TextIOWrapper` cuando se abren como texto y se ignoran " +"en caso contrario. ``pwd`` es el parámetro ``pwd`` para :meth:`ZipFile.open`." #: ../Doc/library/zipfile.rst:503 msgid "" "Added support for text and binary modes for open. Default mode is now text." msgstr "" +"Se agregó soporte para modos de texto y binarios para abrir. El modo " +"predeterminado ahora es texto." #: ../Doc/library/zipfile.rst:509 msgid "Enumerate the children of the current directory." From f08253436918568e6860ae482a4f6c274bd5eaa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 13:55:45 +0200 Subject: [PATCH 27/94] Terminando entradas pendients FAQ (#1242) --- faq/programming.po | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/faq/programming.po b/faq/programming.po index 8174120794..224e93a41c 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-08-02 11:05+0200\n" +"PO-Revision-Date: 2021-08-04 10:45+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" @@ -144,6 +144,9 @@ msgid "" "`Pylint `_ and `Pyflakes `_ do basic checking that will help you catch bugs sooner." msgstr "" +"`Pylint `_ y `Pyflakes `_ realizan comprobaciones básicas que le ayudarán a detectar " +"errores antes." #: ../Doc/faq/programming.rst:63 msgid "" @@ -1803,6 +1806,10 @@ msgid "" "replacement with an implicit or explicit forward iteration. Here are three " "variations.::" msgstr "" +"Al igual que con la eliminación de duplicados, una posibilidad es iterar " +"explícitamente a la inversa con una condición de eliminación. Sin embargo, " +"es más fácil y rápido utilizar el reemplazo de sectores con una iteración " +"directa implícita o explícita. Aquí hay tres variaciones.::" #: ../Doc/faq/programming.rst:1168 msgid "The list comprehension may be fastest." @@ -2302,6 +2309,10 @@ msgid "" "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 "" +"Puede asignar la clase base a un alias y derivar del alias. Entonces todo lo " +"que tiene que cambiar es el valor asignado al alias. Por cierto, este truco " +"también es útil si desea decidir dinámicamente (por ejemplo, dependiendo de " +"la disponibilidad de recursos) qué clase base usar. Ejemplo::" #: ../Doc/faq/programming.rst:1531 msgid "How do I create static class data and static class methods?" From 2cb2d800c0cc72ed58210fd655746d258ee8472c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 14:33:50 +0200 Subject: [PATCH 28/94] Resolviendo fuzzy de library/zipimport (#1252) --- library/zipimport.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/library/zipimport.po b/library/zipimport.po index 30e24867a2..6297344900 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-10-06 14:13-0500\n" +"PO-Revision-Date: 2021-08-04 20:46+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/zipimport.rst:2 msgid ":mod:`zipimport` --- Import modules from Zip archives" @@ -171,9 +171,7 @@ msgstr "" ":exc:`ZipImportError` es lanzada si *archivepath* no apunta a un archivo ZIP " "válido." -# dotted notation -- punteado #: ../Doc/library/zipimport.rst:78 -#, fuzzy msgid "" "Search for a module specified by *fullname*. *fullname* must be the fully " "qualified (dotted) module name. It returns the zipimporter instance itself " @@ -184,7 +182,7 @@ msgstr "" "Busca un módulo especificado por *fullname*. *fullname* debe ser el nombre " "completo del módulo (punteado). Retorna la propia instancia zipimporter si " "el módulo fue encontrado, o :const:`None` si no. El argumento opcional " -"*path* es ignorado; está ahí por compatibilidad con el protocolo del " +"*path* es ignorado --- está ahí por compatibilidad con el protocolo del " "importador." #: ../Doc/library/zipimport.rst:87 From b2533bbdafa4003158a3d72fbd10cdcbbb0a7c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 14:45:16 +0200 Subject: [PATCH 29/94] Traducido archivo copyright.po (#1243) * Traducido archivo copyright.po * Update copyright.po * Apply suggestions from code review Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- copyright.po | 24 +++++++++++++++++------- dictionaries/copyright.txt | 8 ++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 dictionaries/copyright.txt diff --git a/copyright.po b/copyright.po index f9a8b5221f..344f0ca450 100644 --- a/copyright.po +++ b/copyright.po @@ -6,49 +6,59 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-04 10:56+0200\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: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/copyright.rst:3 msgid "Copyright" -msgstr "" +msgstr "Derechos de autor" #: ../Doc/copyright.rst:5 msgid "Python and this documentation is:" -msgstr "" +msgstr "Python y esta documentación es:" #: ../Doc/copyright.rst:7 msgid "Copyright © 2001-2021 Python Software Foundation. All rights reserved." msgstr "" +"Derechos de autor © 2001-2021 Python Software Foundation. Todos los derechos " +"reservados." #: ../Doc/copyright.rst:9 msgid "Copyright © 2000 BeOpen.com. All rights reserved." -msgstr "" +msgstr "Derechos de autor © 2000 BeOpen.com. Todos los derechos reservados." #: ../Doc/copyright.rst:11 msgid "" "Copyright © 1995-2000 Corporation for National Research Initiatives. All " "rights reserved." msgstr "" +"Derechos de autor © 1995-2000 Corporation for National Research Initiatives. Todos " +"los derechos reservados." #: ../Doc/copyright.rst:14 msgid "" "Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." msgstr "" +"Derechos de autor © 1991-1995 Stichting Mathematisch Centrum. Todos los derechos " +"reservados." #: ../Doc/copyright.rst:18 msgid "" "See :ref:`history-and-license` for complete license and permissions " "information." msgstr "" +"Consulte :ref:`history-and-license` para obtener información completa sobre " +"licencias y permisos." diff --git a/dictionaries/copyright.txt b/dictionaries/copyright.txt new file mode 100644 index 0000000000..7d05d6c8bf --- /dev/null +++ b/dictionaries/copyright.txt @@ -0,0 +1,8 @@ +com +Corporation +National +Research +Initiatives +Stichting +Mathematisch +Centrum From 5af390ca507dceaaafdf7ccdfd23eeed69768497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 16:29:22 +0200 Subject: [PATCH 30/94] Terminando library/zlib (#1251) * Terminando library/zlib * Update library/zlib.po Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- library/zlib.po | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/library/zlib.po b/library/zlib.po index af841ef597..dc3245b5de 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 20:45+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" +"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 3.0\n" #: ../Doc/library/zlib.rst:2 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 " @@ -35,13 +35,13 @@ msgid "" "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 " -"biblioteca zlib. La biblioteca zlib tiene su propia página de inicio en " -"http://www.zlib.net. Existen incompatibilidades conocidas entre el módulo " -"Python y las versiones de la biblioteca zlib anteriores a 1.1.3; 1.1.3 tiene " -"una vulnerabilidad de seguridad, por lo que recomendamos usar 1.1.4 o " -"posterior." +"Para aplicaciones que requieren compresión de datos, las funciones en este " +"módulo permiten la compresión y descompresión mediante la biblioteca zlib. " +"La biblioteca zlib tiene su propia página de inicio en https://www.zlib.net. " +"Existen incompatibilidades conocidas entre el módulo de Python y las " +"versiones de la biblioteca zlib anteriores a la 1.1.3; 1.1.3 tiene una " +"`vulnerabilidad de seguridad `_, por " +"lo que recomendamos usar 1.1.4 o posterior." #: ../Doc/library/zlib.rst:17 msgid "" @@ -50,10 +50,10 @@ msgid "" "consult the zlib manual at http://www.zlib.net/manual.html for authoritative " "information." msgstr "" -"Las funciones de zlib tienen muchas opciones y a menudo necesitan ser " -"utilizadas en un orden particular. Esta documentación no intenta cubrir " -"todas las permutaciones; consultar el manual de zlib en http://www.zlib.net/" -"manual.html para obtener información autorizada." +"Las funciones de zlib tienen muchas opciones y, a menudo, deben usarse en un " +"orden particular. Esta documentación no intenta cubrir todas las " +"permutaciones; consulte el manual de zlib en http://www.zlib.net/manual.html " +"para obtener información autorizada." #: ../Doc/library/zlib.rst:22 msgid "For reading and writing ``.gz`` files see the :mod:`gzip` module." From 9a7edb9e8941ce4559555668fedaf2d98dc84182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 22:39:11 +0200 Subject: [PATCH 31/94] =?UTF-8?q?Actualizando=20traducci=C3=B3n=20library/?= =?UTF-8?q?2to3=20(#1247)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/2to3.po | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/library/2to3.po b/library/2to3.po index 972efcfeec..797ea95bee 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13:33+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" +"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 3.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 " @@ -34,14 +34,12 @@ msgid "" "2to3 supporting library :mod:`lib2to3` is, however, a flexible and generic " "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. " -"La librería estándar contiene un buen conjunto de *fixers* que se encargarán " -"de casi todo el código. La librería soporte de 2to3 :mod:`lib2to3` es, de " -"todas maneras, una librería flexible y genérica. Por lo cual es posible " -"escribir sus propios *fixers* para 2to3. :mod:`lib2to3` también puede " -"adaptarse a aplicaciones propias en las cuales el código en Python necesite " -"editarse automáticamente." +"2to3 es un programa de Python que lee el código fuente de Python 2.x y " +"aplica una serie de *fixers* para transformarlo en un código válido de " +"Python 3.x. La biblioteca estándar contiene un amplio conjunto de arreglos " +"que manejarán casi todo el código. Biblioteca de soporte 2to3 :mod:`lib2to3` " +"es, sin embargo, una biblioteca flexible y genérica, por lo que es posible " +"escribir sus propios arreglos para 2to3." #: ../Doc/library/2to3.rst:18 msgid "Using 2to3" @@ -167,7 +165,6 @@ msgstr "" # No se si queda clara esta oración #: ../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 " @@ -178,14 +175,15 @@ msgid "" "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 " -"función print. Cuando 2to3 detecta la presencia de la directiva de " -"compilación ``from __future__ import print_function``, modifica su gramática " -"interna para interpretar :func:`print` como una función. Este cambio " -"también puede habilitarse manualmente con la opción :option:`!-p`. Use la " -"opción :option:`!-p` para ejecutar los *fixers* en el código al que ya se le " -"han convertido sus declaraciones *print*." +"Dado que algunas declaraciones de impresión se pueden analizar como llamadas " +"a funciones o declaraciones, 2to3 no siempre puede leer archivos que " +"contienen la función de impresión. Cuando 2to3 detecta la presencia de la " +"directiva del compilador ``from __future__ import print_function``, modifica " +"su gramática interna para interpretar :func:`print` como una función. Este " +"cambio también se puede habilitar manualmente con la opción :option:`!-p`. " +"Utilice :option:`!-p` para ejecutar correctores en el código que ya tiene " +"sus declaraciones de impresión convertidas. También :option:`!-e` puede " +"usarse para hacer :func:`exec` una función." #: ../Doc/library/2to3.rst:105 msgid "" @@ -787,6 +785,11 @@ msgid "" "Python version. Consider third-party alternatives such as `LibCST`_ or " "`parso`_." msgstr "" +"Python 3.9 cambiará a un analizador PEG (ver :pep:`617`), y Python 3.10 " +"puede incluir una nueva sintaxis de lenguaje que no es analizable por el " +"analizador LL(1) de lib2to3. El módulo ``lib2to3`` puede eliminarse de la " +"biblioteca estándar en una versión futura de Python. Considere alternativas " +"de terceros como `LibCST`_ o `parso`_." #: ../Doc/library/2to3.rst:476 msgid "" From b519daa70fe677f4747e9921ada92d469b5fdcdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 22:42:40 +0200 Subject: [PATCH 32/94] Actualizando library/xml (#1254) Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- library/xml.po | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/library/xml.po b/library/xml.po index 766e9eb8f9..5a32445a93 100644 --- a/library/xml.po +++ b/library/xml.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-12 17:11-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 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" +"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 3.0\n" #: ../Doc/library/xml.rst:4 msgid "XML Processing Modules" @@ -37,16 +38,15 @@ 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:`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 " +"Los módulos XML no son seguros contra datos construidos errónea o " +"maliciosamente. Si necesita analizar datos que no son de confianza o no " "autenticados, consulte las secciones :ref:`xml-vulnerabilities` y :ref:" -"`defused-packages`." +"`defusedxml-package`." #: ../Doc/library/xml.rst:25 msgid "" @@ -303,9 +303,8 @@ msgstr "" "los vectores de ataque conocidos con ejemplos y referencias." #: ../Doc/library/xml.rst:119 -#, fuzzy msgid "The :mod:`defusedxml` Package" -msgstr "Paquetes :mod:`defusedxml` y :mod:`defusedexpat`" +msgstr "El paquete :mod:`defusedxml`" #: ../Doc/library/xml.rst:121 msgid "" From d2454118cedd496137e64674d72a23fb9dadbc97 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Fri, 6 Aug 2021 17:45:05 -0300 Subject: [PATCH 33/94] Update translation-memory.rst (#1265) --- .overrides/translation-memory.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst index 8ee10c5799..8da170d4bb 100644 --- a/.overrides/translation-memory.rst +++ b/.overrides/translation-memory.rst @@ -97,6 +97,9 @@ Dividimos esta sección en dos partes, los términos que se traducen y los que m bytecodes queda igual ``glossary.po`` + + callback + retrollamada ``glossary.po`` callable invocable ``glossary.po``, ``library/functions.po`` From 778e37fb1d6bc1c82dc243f49f27edf9db62bc93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 22:45:27 +0200 Subject: [PATCH 34/94] Traducidas actualizaciones de archivos library/async (#1248) * Traducidas actualizaciones de archivos library/async* * Fix comilla simple * Apply suggestions from code review * powrap library/async Co-authored-by: iamagf <61362029+iam-agf@users.noreply.github.com> --- dictionaries/library_asynchat.txt | 1 + dictionaries/library_asyncio-policy.txt | 5 +- dictionaries/library_asyncio-task.txt | 3 ++ library/asynchat.po | 29 ++++-------- library/asyncio-api-index.po | 16 ++++--- library/asyncio-dev.po | 24 +++++++--- library/asyncio-eventloop.po | 43 +++++++++-------- library/asyncio-future.po | 11 +++-- library/asyncio-policy.po | 20 +++++--- library/asyncio-protocol.po | 10 ++-- library/asyncio-subprocess.po | 15 +++--- library/asyncio-sync.po | 27 +++++------ library/asyncio-task.po | 62 ++++++++++++++++++------- library/asyncore.po | 15 +++--- 14 files changed, 159 insertions(+), 122 deletions(-) create mode 100644 dictionaries/library_asyncio-task.txt diff --git a/dictionaries/library_asynchat.txt b/dictionaries/library_asynchat.txt index 000eb524a4..6083014743 100644 --- a/dictionaries/library_asynchat.txt +++ b/dictionaries/library_asynchat.txt @@ -2,3 +2,4 @@ encriptación polling asíncronamente mseg +asynchat diff --git a/dictionaries/library_asyncio-policy.txt b/dictionaries/library_asyncio-policy.txt index a1a0156e5b..5369a2371a 100644 --- a/dictionaries/library_asyncio-policy.txt +++ b/dictionaries/library_asyncio-policy.txt @@ -1 +1,4 @@ -monitorea \ No newline at end of file +monitorea +Ricitos +pidfds +kernels diff --git a/dictionaries/library_asyncio-task.txt b/dictionaries/library_asyncio-task.txt new file mode 100644 index 0000000000..69df8e2489 --- /dev/null +++ b/dictionaries/library_asyncio-task.txt @@ -0,0 +1,3 @@ +threadpool +gather +kwargs diff --git a/library/asynchat.po b/library/asynchat.po index 3cc31c2899..bda1b9d78a 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2021-02-07 16:54+0100\n" +"PO-Revision-Date: 2021-08-04 13:58+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/asynchat.rst:2 msgid ":mod:`asynchat` --- Asynchronous socket command/response handler" @@ -40,10 +40,7 @@ msgstr "" "Este módulo existe únicamente por motivos de retrocompatibilidad. Para nuevo " "código, es recomendable usar :mod:`asyncio`." -# -He "traducido" el verbo de "subclass" por "heredar", ¿alguna solución mejor? -# -¿Mejor traduccion para "channel map"? (depende del contexto pero lo desconozco) #: ../Doc/library/asynchat.rst:22 -#, fuzzy msgid "" "This module builds on the :mod:`asyncore` infrastructure, simplifying " "asynchronous clients and servers and making it easier to handle protocols " @@ -57,7 +54,7 @@ msgid "" "class:`asynchat.async_chat` channel objects as it receives incoming " "connection requests." msgstr "" -"Este módulo se construye en la infraestructura de :mod:`asyncore', " +"Este módulo se construye en la infraestructura de :mod:`asyncore`, " "simplificando los clientes y servidores asíncronos y facilitando la gestión " "de protocolos cuyos elementos son terminados por cadenas de texto " "arbitrarias, o que son de longitud variable. :mod:`asynchat` define la clase " @@ -114,10 +111,7 @@ msgstr "El tamaño del _buffer_ de entrada asíncrona (por defecto ``4096``)." msgid "The asynchronous output buffer size (default ``4096``)." msgstr "El tamaño del _buffer_ de salida asíncrona (por defecto ``4096``)." -# -Traducido "exhaustion" como "agotamiento", ¿alguna palabra más técnica mejor? -# -¿Traducción de "endpoint"? #: ../Doc/library/asynchat.rst:63 -#, fuzzy msgid "" "Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to " "define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer " @@ -211,10 +205,7 @@ msgstr "" "aunque es posible usar productores personalizados en esquemas más complejos " "para implementar características como encriptación o fragmentación." -# -Seguramente "Takes" se refiere a un método que obtiene el objeto como parámetro de entrada, por lo que "Obtiene" no me parece la mejor traducción en este caso. ¿Quizás "recibe"? -# -¿Mejor traducción de "endpoint"? #: ../Doc/library/asynchat.rst:124 -#, fuzzy msgid "" "Takes a producer object and adds it to the producer queue associated with " "the channel. When all currently-pushed producers have been exhausted the " @@ -288,7 +279,7 @@ msgstr "" #: ../Doc/library/asynchat.rst:157 msgid "asynchat Example" -msgstr "Ejemplo de *asynchat*" +msgstr "Ejemplo de asynchat" #: ../Doc/library/asynchat.rst:159 msgid "" @@ -318,15 +309,13 @@ msgstr "" "cabecera ``Content-Length:`` se utiliza para establecer un terminador " "numérico para leer la cantidad de datos correcta en el canal." -# ¿Traducción de "marshalled"? #: ../Doc/library/asynchat.rst:171 -#, fuzzy msgid "" "The :meth:`handle_request` method is called once all relevant input has been " "marshalled, after setting the channel terminator to ``None`` to ensure that " "any extraneous data sent by the web client are ignored. ::" msgstr "" -"El método :meth:`handle_request` se llama en cuanto todas las entradas " -"relevantes han sido reunidas, tras establecer el terminador del canal a " -"``None`` para asegurarse de que cualquier dato extraño enviado por el " -"cliente web es ignorado. ::" +"El método :meth:`handle_request` se llama una vez todas las entradas " +"relevantes han sido serializadas (*marshalled*), tras establecer el " +"terminador del canal a ``None`` para asegurarse de que cualquier dato " +"extraño enviado por el cliente web es ignorado. ::" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 43e16a7dbb..9805892959 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13: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" +"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 3.0\n" #: ../Doc/library/asyncio-api-index.rst:6 msgid "High-level API Index" @@ -39,8 +40,8 @@ msgid "" "Utilities to run asyncio programs, create Tasks, and await on multiple " "things with timeouts." msgstr "" -"Utilidades para ejecutar programas asyncio, crear Tareas y esperar a varias " -"cosas con tiempos de expiración. " +"Utilidades para ejecutar programas asyncio, crear Tareas, y esperar en " +"múltiples cosas con tiempos de espera." #: ../Doc/library/asyncio-api-index.rst:21 msgid ":func:`run`" @@ -123,13 +124,14 @@ msgid "Task object." msgstr "Objeto Tarea." #: ../Doc/library/asyncio-api-index.rst:51 -#, fuzzy msgid ":func:`to_thread`" -msgstr ":func:`run_coroutine_threadsafe`" +msgstr ":func:`to_thread`" #: ../Doc/library/asyncio-api-index.rst:52 msgid "Asychronously run a function in a separate OS thread." msgstr "" +"Ejecute de forma asincrónica una función en un subproceso del sistema " +"operativo independiente." #: ../Doc/library/asyncio-api-index.rst:54 msgid ":func:`run_coroutine_threadsafe`" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index cee14ae9da..7167d86a69 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13:56+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" +"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 3.0\n" #: ../Doc/library/asyncio-dev.rst:7 msgid "Developing with asyncio" @@ -62,7 +63,7 @@ msgstr "" #: ../Doc/library/asyncio-dev.rst:28 msgid "Using the :ref:`Python Development Mode `." -msgstr "" +msgstr "Usando :ref:`Modo de Desarrollo de Python `." #: ../Doc/library/asyncio-dev.rst:30 msgid "Passing ``debug=True`` to :func:`asyncio.run`." @@ -157,13 +158,12 @@ 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 :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 " -"debe usar el método :meth:`loop.call_soon_threadsafe`. Ejemplo::" +"Para programar un :term:`callback` desde otro hilo del SO, se debe usar el " +"método :meth:`loop.call_soon_threadsafe`. Ejemplo::" #: ../Doc/library/asyncio-dev.rst:81 msgid "" @@ -220,6 +220,16 @@ msgid "" "a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " "different process." msgstr "" +"Actualmente no hay forma de programar corrutinas o devoluciones de llamada " +"directamente desde un proceso diferente (como uno que comenzó con :mod:" +"`multiprocessing`). La sección :ref:`Event Loop Methods ` enumera las APIs que pueden leer desde las tuberías y ver " +"descriptores de archivos sin bloquear el bucle de eventos. Además, las APIs " +"de asyncio :ref:`Subprocess ` proporcionan una forma de " +"iniciar un proceso y comunicarse con él desde el bucle de eventos. Por " +"último, el método :meth:`loop.run_in_executor` mencionado anteriormente " +"también se puede usar con un :class:`concurrent.futures.ProcessPoolExecutor` " +"para ejecutar código en un proceso diferente." #: ../Doc/library/asyncio-dev.rst:124 msgid "Running Blocking Code" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index c935f0569a..1ce7cf45ef 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-22 17:54+0000\n" +"PO-Revision-Date: 2021-08-04 13: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" +"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 3.0\n" #: ../Doc/library/asyncio-eventloop.rst:6 msgid "Event Loop" @@ -328,19 +329,22 @@ msgid "" "a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " "called while using the default executor." msgstr "" +"Programa el cierre del ejecutor predeterminado y espere a que se una a todos " +"los hilos de la clase :class:`ThreadPoolExecutor`. Después de llamar a este " +"método, se generará un :exc:`RuntimeError` si se llama a :meth:`loop." +"run_in_executor` mientras se usa el ejecutor predeterminado." #: ../Doc/library/asyncio-eventloop.rst:190 msgid "Scheduling callbacks" msgstr "Programación de llamadas de retorno" #: ../Doc/library/asyncio-eventloop.rst:194 -#, fuzzy msgid "" "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." +"Programa el *callback* (retrollamada) :term:`callback` para que se llame con " +"argumentos *args* en la próxima iteración del ciclo de eventos." #: ../Doc/library/asyncio-eventloop.rst:197 msgid "" @@ -731,7 +735,6 @@ msgstr "" "constantes del módulo :mod:`socket` correspondiente." #: ../Doc/library/asyncio-eventloop.rst:419 -#, fuzzy msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " "connection. It should be a floating-point number representing the amount of " @@ -740,13 +743,12 @@ msgid "" "\" as defined in :rfc:`8305`. A sensible default value recommended by the " "RFC is ``0.25`` (250 milliseconds)." msgstr "" -"*happy_eyeballs_delay*, si es provisto, habilita Globos Oculares Felices " -"(*Happy Eyeballs*) para esta conexión. Debería ser un número con coma " -"flotante representando la cantidad de tiempo en segundos a esperar para que " -"un intento de conexión se complete, antes de empezar el próximo intento en " -"paralelo. Este es el retraso de intento de conexión (*Connection Attempt " -"Delay*) como es definido en :rfc:`8305`. Un valor predefinido sensible que " -"es recomendado por el RFC es ``0.25`` (250 milisegundos)." +"*happy_eyeballs_delay*, si se proporciona, habilita Happy Eyeballs para esta " +"conexión. Debe ser un número de punto flotante que represente la cantidad de " +"tiempo en segundos para esperar a que se complete un intento de conexión, " +"antes de comenzar el siguiente intento en paralelo. Este es el \"Retraso de " +"intento de conexión\" como se define en :rfc:`8305`. Un valor predeterminado " +"sensato recomendado por el RFC es ``0.25`` (250 milisegundos)." #: ../Doc/library/asyncio-eventloop.rst:427 msgid "" @@ -1796,9 +1798,8 @@ msgid "Executing code in thread or process pools" msgstr "Ejecutando código en un hilos o grupos de procesos" #: ../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." +msgstr "Hace arreglos para que *func* sea llamado en el ejecutor especificado." #: ../Doc/library/asyncio-eventloop.rst:1071 msgid "" @@ -1821,7 +1822,6 @@ msgstr "" "` a *func*." #: ../Doc/library/asyncio-eventloop.rst:1120 -#, fuzzy msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1829,9 +1829,9 @@ msgid "" "default." msgstr "" ":meth:`loop.run_in_executor` ya no configura el ``max_workers`` del ejecutor " -"del grupo de subprocesos que crea, sino que lo deja al ejecutor del grupo de " -"subprocesos (:class:`~concurrent.futures.ThreadPoolExecutor`) para " -"configurar al predeterminado." +"del grupo de subprocesos que crea, sino que lo deja en manos del ejecutor " +"del grupo de subprocesos (:class:`~concurrent.futures.ThreadPoolExecutor`) " +"para establecer el valor por defecto." #: ../Doc/library/asyncio-eventloop.rst:1129 msgid "" @@ -1992,13 +1992,12 @@ 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:1215 -#, fuzzy msgid "" "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." +"El nuevo :ref:`Python Modo de Desarrollo ` ahora también se puede " +"usar para habilitar el modo de depuración." #: ../Doc/library/asyncio-eventloop.rst:1220 msgid "The :ref:`debug mode of asyncio `." diff --git a/library/asyncio-future.po b/library/asyncio-future.po index ad15a14039..f1c63c8029 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-07 09:20+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 13:46+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" +"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 3.0\n" #: ../Doc/library/asyncio-future.rst:8 msgid "Futures" @@ -316,7 +317,7 @@ msgstr "" #: ../Doc/library/asyncio-future.rst:181 msgid "Added the ``msg`` parameter." -msgstr "" +msgstr "Se agregó el parámetro ``msg``." #: ../Doc/library/asyncio-future.rst:186 msgid "Return the exception that was set on this Future." @@ -407,3 +408,5 @@ msgid "" ":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" "func:`concurrent.futures.cancel` does not." msgstr "" +":meth:`asyncio.Future.cancel` acepta un argumento opcional ``msg``, pero :" +"func:`concurrent.futures.cancel` no." diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 73cd9e90d8..7fc4aa98d3 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-06 19:01+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 13:45+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" +"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 3.0\n" #: ../Doc/library/asyncio-policy.rst:8 msgid "Policies" @@ -355,7 +356,6 @@ 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 starting a thread per process " @@ -363,14 +363,13 @@ msgid "" msgstr "" "No hay sobrecarga notable cuando se gestiona un número grande de procesos " "secundarios (*O(1)* cada vez que un proceso secundario termina), pero " -"indicar un hilo por proceso requiere memoria extra." +"iniciar un hilo por proceso requiere memoria extra." #: ../Doc/library/asyncio-policy.rst:214 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 " @@ -378,7 +377,7 @@ msgid "" 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 " -"personalizado para la señal `SIGCHLD`." +"personalizado para la señal :py:data:`SIGCHLD`." #: ../Doc/library/asyncio-policy.rst:224 ../Doc/library/asyncio-policy.rst:242 msgid "" @@ -462,6 +461,13 @@ msgid "" "event loop. The main disadvantage is that pidfds are specific to Linux, and " "only work on recent (5.3+) kernels." msgstr "" +"Esta implementación sondea los descriptores de archivos de proceso (pidfds) " +"para esperar la terminación del proceso hijo. En ciertos sentidos :class:" +"`PidfdChildWatcher` es una implementación de niño vigilante \"Ricitos de oro" +"\". No requiere señales o hilos, no interfiere con ningún proceso lanzado " +"fuera del bucle de eventos y escala linealmente con el número de subprocesos " +"lanzados por el bucle de eventos. La principal desventaja es que los pidfds " +"son específicos de Linux y solo funcionan en kernels recientes (5.3+)." #: ../Doc/library/asyncio-policy.rst:274 msgid "Custom Policies" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 88dc53f5a8..760ec9438d 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13:44+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" +"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 3.0\n" #: ../Doc/library/asyncio-protocol.rst:9 msgid "Transports and Protocols" @@ -1340,9 +1341,8 @@ msgstr "" "salida de un subproceso y esperar su terminación." #: ../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`::" +msgstr "El subproceso es creado por el método :meth:`loop.subprocess_exec` ::" #: ../Doc/library/asyncio-protocol.rst:1042 msgid "" diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 8bb3107543..1d01e95abd 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 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" +"PO-Revision-Date: 2021-08-04 13:43+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" +"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 3.0\n" #: ../Doc/library/asyncio-subprocess.rst:7 msgid "Subprocesses" @@ -135,16 +136,14 @@ msgstr "" "usadas para construir comandos de *shell*." #: ../Doc/library/asyncio-subprocess.rst:113 -#, fuzzy msgid "" "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." +"Los subprocesos están disponibles para Windows si se utiliza un :class:" +"`ProactorEventLoop`. Consulte :ref:`Soporte de subprocesos en Windows " +"` para obtener más detalles." #: ../Doc/library/asyncio-subprocess.rst:119 msgid "" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 3b333c0865..d72c0ec40d 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13:43+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" +"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 3.0\n" #: ../Doc/library/asyncio-sync.rst:7 msgid "Synchronization Primitives" @@ -179,18 +180,16 @@ 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:`~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 " -"método :meth:`clear`. El método :meth:`wait` bloquea hasta que el indicador " -"es establecido en *verdadero*. De inicio, el indicador se establece en " -"*falso*." +"Un objeto Event administra una bandera interna que se puede establecer en " +"*true* con el método :meth:`~Event.set` y se restablece en *false* con el " +"método :meth:`clear`. El método :meth:`~Event.wait` se bloquea hasta que la " +"bandera se establece en *true*. El flag se establece en *false* inicialmente." #: ../Doc/library/asyncio-sync.rst:117 msgid "Example::" @@ -201,13 +200,12 @@ 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:`~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`." +"Si el evento está configurado, retorna ``True`` inmediatamente. De lo " +"contrario, bloquea hasta que otra tarea llame a :meth:`~Event.set`." #: ../Doc/library/asyncio-sync.rst:149 msgid "Set the event." @@ -224,13 +222,12 @@ msgid "Clear (unset) the event." msgstr "Borra (restablece) el evento." #: ../Doc/library/asyncio-sync.rst:158 -#, fuzzy msgid "" "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." +"Las tareas que esperan en :meth:`~Event.wait` ahora se bloquearán hasta que " +"se vuelva a llamar al método :meth:`~Event.set`." #: ../Doc/library/asyncio-sync.rst:163 msgid "Return ``True`` if the event is set." diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 50abca384a..5d09acc801 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 13:41+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"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 3.0\n" #: ../Doc/library/asyncio-task.rst:6 msgid "Coroutines and Tasks" @@ -243,13 +244,13 @@ 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, *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*." +"bucle de eventos asyncio, *finalizing asynchronous generators* y cerrando el " +"threadpool." #: ../Doc/library/asyncio-task.rst:221 msgid "" @@ -281,7 +282,7 @@ msgstr "Ejemplo::" #: ../Doc/library/asyncio-task.rst:240 msgid "Updated to use :meth:`loop.shutdown_default_executor`." -msgstr "" +msgstr "Actualizado para usar :meth:`loop.shutdown_default_executor`." #: ../Doc/library/asyncio-task.rst:244 msgid "" @@ -448,6 +449,12 @@ msgid "" "calling ``gather.cancel()`` after catching an exception (raised by one of " "the awaitables) from gather won't cancel any other awaitables." msgstr "" +"Si *return_exceptions* es False, cancelar gather() después de que se haya " +"marcado como hecho no cancelará ninguna espera enviada. Por ejemplo, la " +"recopilación se puede marcar como hecha después de propagar una excepción a " +"la persona que llama, por lo tanto, llamar a ``gather.cancel()`` después de " +"detectar una excepción (generada por uno de los elementos pendientes) de " +"recopilación no cancelará ningún otro elemento pendiente." #: ../Doc/library/asyncio-task.rst:398 msgid "" @@ -550,14 +557,14 @@ msgstr "" "en :func:`shield`." #: ../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*. 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*." +"La función esperará hasta que se cancele el futuro, por lo que el tiempo de " +"espera total puede exceder el *timeout*. Si ocurre una excepción durante la " +"cancelación, se propaga." #: ../Doc/library/asyncio-task.rst:467 msgid "If the wait is cancelled, the future *aw* is also cancelled." @@ -577,18 +584,16 @@ msgid "Waiting Primitives" msgstr "Esperando Primitivas" #: ../Doc/library/asyncio-task.rst:506 -#, fuzzy msgid "" "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*." +"Ejecuta :ref:`objetos en espera ` en el *aws* iterable " +"simultáneamente y bloquee hasta la condición especificada por *return_when*." #: ../Doc/library/asyncio-task.rst:510 msgid "The *aws* iterable must not be empty." -msgstr "" +msgstr "El iterable *aws* no debe estar vacío." #: ../Doc/library/asyncio-task.rst:512 msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." @@ -708,6 +713,10 @@ msgid "" "be awaited to get the earliest next result from the iterable of the " "remaining awaitables." msgstr "" +"Ejecuta :ref:`objetos en espera ` en el *aws* iterable " +"al mismo tiempo. Devuelve un iterador de corrutinas. Se puede esperar a cada " +"corrutina devuelta para obtener el siguiente resultado más temprano del " +"iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:600 msgid "" @@ -719,11 +728,11 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:614 msgid "Running in Threads" -msgstr "" +msgstr "Ejecutando en Hilos" #: ../Doc/library/asyncio-task.rst:618 msgid "Asynchronously run function *func* in a separate thread." -msgstr "" +msgstr "Ejecutar asincrónicamente la función *func* en un hilo separado." #: ../Doc/library/asyncio-task.rst:620 msgid "" @@ -732,11 +741,17 @@ msgid "" "allowing context variables from the event loop thread to be accessed in the " "separate thread." msgstr "" +"Cualquier \\*args y \\*\\*kwargs suministrados para esta función se pasan " +"directamente a *func*. Además, el current :class:`contextvars.Context` se " +"propaga, lo que permite acceder a las variables de contexto del subproceso " +"del bucle de eventos en el subproceso separado." #: ../Doc/library/asyncio-task.rst:625 msgid "" "Return a coroutine that can be awaited to get the eventual result of *func*." msgstr "" +"Retorna una corrutina que se puede esperar para obtener el resultado final " +"de *func*." #: ../Doc/library/asyncio-task.rst:627 msgid "" @@ -744,6 +759,9 @@ msgid "" "bound functions/methods that would otherwise block the event loop if they " "were ran in the main thread. For example::" msgstr "" +"Esta función de corrutina está destinada principalmente a ser utilizada para " +"ejecutar funciones/métodos vinculados a IO que de otro modo bloquearían el " +"bucle de eventos si se ejecutaran en el hilo principal. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:657 msgid "" @@ -752,6 +770,10 @@ msgid "" "by using `asyncio.to_thread()`, we can run it in a separate thread without " "blocking the event loop." msgstr "" +"Llamando directamente a `blocking_io()` en cualquier corrutina bloquearía el " +"bucle de eventos por su duración, lo que daría como resultado 1 segundo " +"adicional de tiempo de ejecución. En cambio, usando `asyncio.to_thread()`, " +"podemos ejecutarlo en un hilo separado sin bloquear el bucle de eventos." #: ../Doc/library/asyncio-task.rst:664 msgid "" @@ -760,6 +782,11 @@ msgid "" "release the GIL or alternative Python implementations that don't have one, " "`asyncio.to_thread()` can also be used for CPU-bound functions." msgstr "" +"Debido al :term:`GIL`, `asyncio.to_thread()` normalmente solo se puede usar " +"para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, para " +"los módulos de extensión que lanzan GIL o implementaciones alternativas de " +"Python que no tienen una, `asyncio.to_thread()` también se puede usar para " +"funciones vinculadas a la CPU." #: ../Doc/library/asyncio-task.rst:673 msgid "Scheduling From Other Threads" @@ -962,9 +989,8 @@ msgstr "" "desalienta activamente." #: ../Doc/library/asyncio-task.rst:809 -#, fuzzy msgid "Added the ``msg`` parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se agregó el parámetro ``msg``." #: ../Doc/library/asyncio-task.rst:814 msgid "" diff --git a/library/asyncore.po b/library/asyncore.po index 7fb4598f13..69d5b8e249 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -9,15 +9,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-07-18 19:18-0500\n" +"PO-Revision-Date: 2021-08-04 13:36+0200\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" -"Last-Translator: Juan Diego Alfonso Ocampo \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/asyncore.rst:2 msgid ":mod:`asyncore` --- Asynchronous socket handler" @@ -468,7 +467,7 @@ msgid "" "`fileno` method, that method will be called and passed to the :class:" "`file_wrapper` constructor." msgstr "" -"file_dispatcher toma un descriptor de archivo o :term:`file object` junto " +"Un file_dispatcher toma un descriptor de archivo o :term:`file object` junto " "con un argumento de mapa opcional y lo ajusta para su uso con las funciones :" "c:func:`poll` o :c:func:`loop`. Si se proporciona un objeto de archivo o " "cualquier cosa con un método :c:func:`fileno`, ese método se llamará y se " @@ -485,9 +484,9 @@ msgid "" "of the file_wrapper. This class implements sufficient methods to emulate a " "socket for use by the :class:`file_dispatcher` class." msgstr "" -"file_wrapper toma un descriptor de archivo entero y llama a :func:`os.dup` " -"para duplicar el identificador de modo que el identificador original se " -"pueda cerrar independientemente del file_wrapper. Esta clase implementa " +"Un file_wrapper toma un descriptor de archivo entero y llama a :func:`os." +"dup` para duplicar el identificador de modo que el identificador original se " +"pueda cerrar independientemente del file_wrapper. Esta clase implementa " "métodos suficientes emulando un socket para su uso por la clase :class:" "`file_dispatcher`." From 69bc42c05905c203f7ea174ddebc95c269239793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 6 Aug 2021 23:14:36 +0200 Subject: [PATCH 35/94] =?UTF-8?q?Terminando=20traducci=C3=B3n=20glossary.p?= =?UTF-8?q?o=20(#1244)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/glossary.txt | 1 + glossary.po | 49 ++++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 dictionaries/glossary.txt diff --git a/dictionaries/glossary.txt b/dictionaries/glossary.txt new file mode 100644 index 0000000000..2433fdb1d2 --- /dev/null +++ b/dictionaries/glossary.txt @@ -0,0 +1 @@ +suscripto diff --git a/glossary.po b/glossary.po index 310672f29a..43cf7303e3 100644 --- a/glossary.po +++ b/glossary.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 11:03+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" +"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 3.0\n" #: ../Doc/glossary.rst:5 msgid "Glossary" @@ -462,13 +463,15 @@ msgstr "" #: ../Doc/glossary.rst:191 msgid "callback" -msgstr "" +msgstr "retrollamada" #: ../Doc/glossary.rst:193 msgid "" "A subroutine function which is passed as an argument to be executed at some " "point in the future." msgstr "" +"Una función de subrutina que se pasa como un argumento para ejecutarse en " +"algún momento en el futuro." #: ../Doc/glossary.rst:195 msgid "class" @@ -710,13 +713,13 @@ msgstr "" "clases." #: ../Doc/glossary.rst:304 -#, fuzzy msgid "" "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`." +"Para obtener más información sobre los métodos de los descriptores, " +"consulte :ref:`descriptors` o :ref:`Guía práctica de uso de los descriptores" +"`." #: ../Doc/glossary.rst:306 msgid "dictionary" @@ -733,9 +736,8 @@ msgstr "" "meth:`__eq__` . Son llamadas hash en Perl." #: ../Doc/glossary.rst:311 -#, fuzzy msgid "dictionary comprehension" -msgstr "comprensión de listas" +msgstr "comprensión de diccionarios" #: ../Doc/glossary.rst:313 msgid "" @@ -744,6 +746,10 @@ msgid "" "range(10)}`` generates a dictionary containing key ``n`` mapped to value ``n " "** 2``. See :ref:`comprehensions`." msgstr "" +"Una forma compacta de procesar todos o parte de los elementos en un iterable " +"y retornar un diccionario con los resultados. ``results = {n: n ** 2 for n " +"in range(10)}`` genera un diccionario que contiene la clave ``n`` asignada " +"al valor ``n ** 2``. Ver :ref:`comprehensions`." #: ../Doc/glossary.rst:317 msgid "dictionary view" @@ -1141,9 +1147,8 @@ msgstr "" "func:`functools.singledispatch`, y :pep:`443`." #: ../Doc/glossary.rst:485 -#, fuzzy msgid "generic type" -msgstr "función genérica" +msgstr "tipos genéricos" #: ../Doc/glossary.rst:487 msgid "" @@ -1151,12 +1156,17 @@ msgid "" "`list`. Used for :term:`type hints ` and :term:`annotations " "`." msgstr "" +"Un :term:`type` que se puede parametrizar; normalmente un contenedor como :" +"class:`list`. Usado para :term:`type hints ` y :term:`annotations " +"`." #: ../Doc/glossary.rst:491 msgid "" "See :pep:`483` for more details, and :mod:`typing` or :ref:`generic alias " "type ` for its uses." msgstr "" +"Ver :pep:`483` para más detalles, y :mod:`typing` o :ref:`tipo alias " +"genérico ` para sus usos." #: ../Doc/glossary.rst:493 msgid "GIL" @@ -1421,7 +1431,6 @@ msgid "iterable" msgstr "iterable" #: ../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`, " @@ -1431,11 +1440,11 @@ msgid "" "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 :" +"son todos los tipos de secuencias (como :class:`list`, :class:`str`, y :" "class:`tuple`) y algunos de tipos no secuenciales, como :class:`dict`, :term:" "`objeto archivo `, y objetos de cualquier clase que defina con " "los métodos :meth:`__iter__` o con un método :meth:`__getitem__` que " -"implementen la semántica de :term:`Sequence`." +"implementen la semántica de :term:`Sequence `." #: ../Doc/glossary.rst:606 msgid "" @@ -2212,7 +2221,7 @@ msgstr "argumento posicional" #: ../Doc/glossary.rst:935 msgid "provisional API" -msgstr "API provisoria" +msgstr "API provisional" #: ../Doc/glossary.rst:937 msgid "" @@ -2405,7 +2414,6 @@ msgstr "" "`immutable` y no por enteros." #: ../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:" @@ -2413,16 +2421,15 @@ msgid "" "meth:`__reversed__`. Types that implement this expanded interface can be " "registered explicitly using :func:`~abc.ABCMeta.register`." msgstr "" -"La clase base abstracta :class:`collections.abc.Sequence` define una " +"La clase abstracta base :class:`collections.abc.Sequence` define una " "interfaz mucho más rica que va más allá de sólo :meth:`__getitem__` y :meth:" "`__len__`, agregando :meth:`count`, :meth:`index`, :meth:`__contains__`, y :" "meth:`__reversed__`. Los tipos que implementan esta interfaz expandida " "pueden ser registrados explícitamente usando :func:`~abc.register`." #: ../Doc/glossary.rst:1042 -#, fuzzy msgid "set comprehension" -msgstr "comprensión de listas" +msgstr "comprensión de conjuntos" #: ../Doc/glossary.rst:1044 msgid "" @@ -2431,6 +2438,10 @@ msgid "" "not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See :ref:" "`comprehensions`." msgstr "" +"Una forma compacta de procesar todos o parte de los elementos en un iterable " +"y retornar un conjunto con los resultados. ``results = {c for c in " +"'abracadabra' if c not in 'abc'}`` genera el conjunto de cadenas ``{'r', 'd'}" +"``. Ver :ref:`comprehensions`." #: ../Doc/glossary.rst:1048 msgid "single dispatch" From e3ae33d024ed7fa45f8a8e35b43e7637ecd5c8b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 7 Aug 2021 00:29:56 +0200 Subject: [PATCH 36/94] Arreglando fuzzy y traduciendo nuevos archivos tkinter (#1240) * Arreglando fuzzy y traduciendo nuevos archivos * Agregando palabras tkinter y powrap * Apply suggestions from code review * powrap Co-authored-by: Carlos A. Crespo --- dictionaries/library_tkinter.txt | 3 + library/tkinter.colorchooser.po | 27 ++++--- library/tkinter.dnd.po | 57 ++++++++++----- library/tkinter.font.po | 81 ++++++++++++--------- library/tkinter.messagebox.po | 29 +++++--- library/tkinter.po | 120 ++++++++++++------------------- library/tkinter.scrolledtext.po | 17 +++-- 7 files changed, 180 insertions(+), 154 deletions(-) diff --git a/dictionaries/library_tkinter.txt b/dictionaries/library_tkinter.txt index 81c638f7dc..0d4d8f300e 100644 --- a/dictionaries/library_tkinter.txt +++ b/dictionaries/library_tkinter.txt @@ -1 +1,4 @@ wrap +Motion +renderizado +mainloop diff --git a/library/tkinter.colorchooser.po b/library/tkinter.colorchooser.po index 034647c84d..b8f68af4cf 100644 --- a/library/tkinter.colorchooser.po +++ b/library/tkinter.colorchooser.po @@ -4,27 +4,29 @@ # 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" +"PO-Revision-Date: 2021-08-03 14:24+0200\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 3.0\n" #: ../Doc/library/tkinter.colorchooser.rst:2 msgid ":mod:`tkinter.colorchooser` --- Color choosing dialog" -msgstr "" +msgstr ":mod:`tkinter.colorchooser` --- Diálogo de elección de color" #: ../Doc/library/tkinter.colorchooser.rst:8 msgid "**Source code:** :source:`Lib/tkinter/colorchooser.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/colorchooser.py`" #: ../Doc/library/tkinter.colorchooser.rst:12 msgid "" @@ -33,6 +35,10 @@ msgid "" "modal color choosing dialog window. The ``Chooser`` class inherits from the :" "class:`~tkinter.commondialog.Dialog` class." msgstr "" +"El módulo :mod:`tkinter.colorchooser` proporciona la clase :class:`Chooser` " +"como una interfaz para el diálogo del selector de color nativo. ``Chooser`` " +"implementa una ventana de diálogo de elección de color modal. La clase " +"``Chooser`` hereda de la clase :class:`~tkinter.commondialog.Dialog`." #: ../Doc/library/tkinter.colorchooser.rst:21 msgid "" @@ -40,11 +46,14 @@ msgid "" "wait for the user to make a selection, and return the selected color (or " "``None``) to the caller." msgstr "" +"Cree un cuadro de diálogo de elección de color. Una llamada a este método " +"mostrará la ventana, esperará a que el usuario haga una selección y " +"devolverá el color seleccionado (o ``None``) a la persona que llama." #: ../Doc/library/tkinter.colorchooser.rst:28 msgid "Module :mod:`tkinter.commondialog`" -msgstr "" +msgstr "Módulo :mod:`tkinter.commondialog`" #: ../Doc/library/tkinter.colorchooser.rst:29 msgid "Tkinter standard dialog module" -msgstr "" +msgstr "Módulo de diálogo estándar de Tkinter" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po index 27ce10fd35..5ec7acc327 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -4,33 +4,36 @@ # 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" +"PO-Revision-Date: 2021-08-03 14:22+0200\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 3.0\n" #: ../Doc/library/tkinter.dnd.rst:2 msgid ":mod:`tkinter.dnd` --- Drag and drop support" -msgstr "" +msgstr ":mod:`tkinter.dnd` --- Soporte de arrastrar y soltar" #: ../Doc/library/tkinter.dnd.rst:8 msgid "**Source code:** :source:`Lib/tkinter/dnd.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/dnd.py`" #: ../Doc/library/tkinter.dnd.rst:12 msgid "" "This is experimental and due to be deprecated when it is replaced with the " "Tk DND." msgstr "" +"Esto es experimental y quedará obsoleto cuando se sustituya por el Tk DND." #: ../Doc/library/tkinter.dnd.rst:15 msgid "" @@ -43,71 +46,91 @@ msgid "" "dragged, and 'event' is the event that invoked the call (the argument to " "your callback function)." msgstr "" +"El módulo :mod:`tkinter.dnd` proporciona soporte para arrastrar y soltar " +"objetos dentro de una sola aplicación, dentro de la misma ventana o entre " +"ventanas. Para permitir que se arrastre un objeto, debe crear un enlace de " +"evento para él que inicie el proceso de arrastrar y soltar. Por lo general, " +"vincula un evento ButtonPress a una función de devolución de llamada que " +"escribe (consulte :ref:`Bindings-and-Events`). La función debe llamar a :" +"func:`dnd_start`, donde 'fuente' es el objeto que se va a arrastrar y " +"'evento' es el evento que invoca la llamada (el argumento de la función de " +"devolución de llamada)." #: ../Doc/library/tkinter.dnd.rst:23 msgid "Selection of a target object occurs as follows:" -msgstr "" +msgstr "La selección de un objeto de destino ocurre de la siguiente manera:" #: ../Doc/library/tkinter.dnd.rst:25 msgid "Top-down search of area under mouse for target widget" msgstr "" +"Búsqueda de arriba hacia abajo del área debajo del mouse para el widget de " +"destino" #: ../Doc/library/tkinter.dnd.rst:27 msgid "Target widget should have a callable *dnd_accept* attribute" -msgstr "" +msgstr "El widget de destino debe tener un atributo *dnd_accept* invocable" #: ../Doc/library/tkinter.dnd.rst:28 msgid "" "If *dnd_accept* is not present or returns None, search moves to parent widget" msgstr "" +"Si *dnd_accept* no está presente o devuelve None, la búsqueda se mueve al " +"widget principal" #: ../Doc/library/tkinter.dnd.rst:29 msgid "If no target widget is found, then the target object is None" msgstr "" +"Si no se encuentra ningún widget de destino, el objeto de destino es None" #: ../Doc/library/tkinter.dnd.rst:31 msgid "Call to *.dnd_leave(source, event)*" -msgstr "" +msgstr "Llama a *.dnd_leave(source, event)*" #: ../Doc/library/tkinter.dnd.rst:32 msgid "Call to *.dnd_enter(source, event)*" -msgstr "" +msgstr "Llama a *.dnd_enter(source, event)*" #: ../Doc/library/tkinter.dnd.rst:33 msgid "Call to *.dnd_commit(source, event)* to notify of drop" -msgstr "" +msgstr "Llama a *.dnd_commit(source, event)* para notificar la caída" #: ../Doc/library/tkinter.dnd.rst:34 msgid "" "Call to *.dnd_end(target, event)* to signal end of drag-and-drop" msgstr "" +"Llama a *.dnd_end(target, event)* para señalar el final de arrastrar " +"y soltar" #: ../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 "" +"La clase *DndHandler* maneja los eventos de arrastrar y soltar que rastrean " +"los eventos Motion y ButtonRelease en la raíz del widget de eventos." #: ../Doc/library/tkinter.dnd.rst:44 msgid "Cancel the drag-and-drop process." -msgstr "" +msgstr "Cancela el proceso de arrastrar y soltar." #: ../Doc/library/tkinter.dnd.rst:48 msgid "Execute end of drag-and-drop functions." -msgstr "" +msgstr "Ejecuta el fin de las funciones de arrastrar y soltar." #: ../Doc/library/tkinter.dnd.rst:52 msgid "Inspect area below mouse for target objects while drag is performed." msgstr "" +"Inspecciona el área debajo del mouse en busca de objetos de destino mientras " +"se realiza el arrastre." #: ../Doc/library/tkinter.dnd.rst:56 msgid "Signal end of drag when the release pattern is triggered." -msgstr "" +msgstr "Señal de fin de arrastre cuando se activa el patrón de liberación." #: ../Doc/library/tkinter.dnd.rst:60 msgid "Factory function for drag-and-drop process." -msgstr "" +msgstr "Función de fábrica para el proceso de arrastrar y soltar." #: ../Doc/library/tkinter.dnd.rst:64 msgid ":ref:`Bindings-and-Events`" -msgstr "" +msgstr ":ref:`Bindings-and-Events`" diff --git a/library/tkinter.font.po b/library/tkinter.font.po index 86fef0d8ce..b782b7b537 100644 --- a/library/tkinter.font.po +++ b/library/tkinter.font.po @@ -4,37 +4,41 @@ # 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" +"PO-Revision-Date: 2021-08-03 14:18+0200\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 3.0\n" #: ../Doc/library/tkinter.font.rst:2 msgid ":mod:`tkinter.font` --- Tkinter font wrapper" -msgstr "" +msgstr ":mod:`tkinter.font` --- Envoltorio de fuente Tkinter" #: ../Doc/library/tkinter.font.rst:8 msgid "**Source code:** :source:`Lib/tkinter/font.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/font.py`" #: ../Doc/library/tkinter.font.rst:12 msgid "" "The :mod:`tkinter.font` module provides the :class:`Font` class for creating " "and using named fonts." msgstr "" +"El módulo :mod:`tkinter.font` proporciona la clase :class:`Font` para crear " +"y usar fuentes con nombre." #: ../Doc/library/tkinter.font.rst:15 msgid "The different font weights and slants are:" -msgstr "" +msgstr "Los diferentes pesos e inclinaciones de la fuente son:" #: ../Doc/library/tkinter.font.rst:24 msgid "" @@ -44,78 +48,85 @@ msgid "" "as a single object, rather than specifying a font by its attributes with " "each occurrence." msgstr "" +"La clase :class:`Font` representa una fuente con nombre. Las instancias " +"*Font* reciben nombres únicos y se pueden especificar por su configuración " +"de familia, tamaño y estilo. Las fuentes con nombre son el método de Tk para " +"crear e identificar fuentes como un solo objeto, en lugar de especificar una " +"fuente por sus atributos con cada aparición." #: ../Doc/library/tkinter.font.rst:30 msgid "arguments:" -msgstr "" +msgstr "argumentos:" #: ../Doc/library/tkinter.font.rst msgid "*font* - font specifier tuple (family, size, options)" -msgstr "" +msgstr "*font* - tupla de especificador de fuente (familia, tamaño, opciones)" #: ../Doc/library/tkinter.font.rst msgid "*name* - unique font name" -msgstr "" +msgstr "*name* - nombre de fuente único" #: ../Doc/library/tkinter.font.rst msgid "*exists* - self points to existing named font if true" msgstr "" +"*exists* - self apunta a la fuente con nombre existente si es verdadera" #: ../Doc/library/tkinter.font.rst:36 msgid "additional keyword options (ignored if *font* is specified):" msgstr "" +"opciones de palabras clave adicionales (ignoradas si se especifica *font*):" #: ../Doc/library/tkinter.font.rst msgid "*family* - font family i.e. Courier, Times" -msgstr "" +msgstr "*family* - familia de la fuente, es decir, Courier, Times" #: ../Doc/library/tkinter.font.rst msgid "*size* - font size" -msgstr "" +msgstr "*size* - tamaño de fuente" #: ../Doc/library/tkinter.font.rst msgid "If *size* is positive it is interpreted as size in points." -msgstr "" +msgstr "Si *size* es positivo, se interpreta como tamaño en puntos." #: ../Doc/library/tkinter.font.rst msgid "If *size* is a negative number its absolute value is treated" -msgstr "" +msgstr "Si *size* es un número negativo, se trata su valor absoluto" #: ../Doc/library/tkinter.font.rst msgid "as size in pixels." -msgstr "" +msgstr "como tamaño en píxeles." #: ../Doc/library/tkinter.font.rst msgid "*weight* - font emphasis (NORMAL, BOLD)" -msgstr "" +msgstr "*weight* - énfasis de fuente (NORMAL, BOLD)" #: ../Doc/library/tkinter.font.rst msgid "*slant* - ROMAN, ITALIC" -msgstr "" +msgstr "*slant* - ROMAN, ITALIC" #: ../Doc/library/tkinter.font.rst msgid "*underline* - font underlining (0 - none, 1 - underline)" -msgstr "" +msgstr "*underline* - subrayado de fuente (0 - ninguno, 1 - subrayado)" #: ../Doc/library/tkinter.font.rst msgid "*overstrike* - font strikeout (0 - none, 1 - strikeout)" -msgstr "" +msgstr "*overstrike* - tachado de fuente (0 - ninguno, 1 - tachado)" #: ../Doc/library/tkinter.font.rst:50 msgid "Return the attributes of the font." -msgstr "" +msgstr "Retorna los atributos de la fuente." #: ../Doc/library/tkinter.font.rst:54 msgid "Retrieve an attribute of the font." -msgstr "" +msgstr "Recupera un atributo de la fuente." #: ../Doc/library/tkinter.font.rst:58 msgid "Modify attributes of the font." -msgstr "" +msgstr "Modifica los atributos de la fuente." #: ../Doc/library/tkinter.font.rst:62 msgid "Return new instance of the current font." -msgstr "" +msgstr "Retorna una nueva instancia de la fuente actual." #: ../Doc/library/tkinter.font.rst:66 msgid "" @@ -123,43 +134,49 @@ msgid "" "formatted in the current font. If no display is specified then the main " "application window is assumed." msgstr "" +"Retorna la cantidad de espacio que ocuparía el texto en la pantalla " +"especificada cuando se formatee en la fuente actual. Si no se especifica " +"ninguna pantalla, se asume la ventana principal de la aplicación." #: ../Doc/library/tkinter.font.rst:72 msgid "Return font-specific data. Options include:" -msgstr "" +msgstr "Retorna datos específicos de la fuente. Las opciones incluyen:" #: ../Doc/library/tkinter.font.rst:76 msgid "*ascent* - distance between baseline and highest point that a" -msgstr "" +msgstr "*ascent* - distancia entre la línea de base y el punto más alto que un" #: ../Doc/library/tkinter.font.rst:76 ../Doc/library/tkinter.font.rst:79 msgid "character of the font can occupy" -msgstr "" +msgstr "el carácter de la fuente puede ocupar" #: ../Doc/library/tkinter.font.rst:79 msgid "*descent* - distance between baseline and lowest point that a" msgstr "" +"*descent* - distancia entre la línea de base y el punto más bajo que un" #: ../Doc/library/tkinter.font.rst:82 msgid "*linespace* - minimum vertical separation necessary between any two" -msgstr "" +msgstr "*linespace* - separación vertical mínima necesaria entre dos" #: ../Doc/library/tkinter.font.rst:82 msgid "characters of the font that ensures no vertical overlap between lines." msgstr "" +"caracteres de la fuente que aseguran que no haya superposición vertical " +"entre líneas." #: ../Doc/library/tkinter.font.rst:84 msgid "*fixed* - 1 if font is fixed-width else 0" -msgstr "" +msgstr "*fixed* - 1 si la fuente es de ancho fijo en caso contrario 0" #: ../Doc/library/tkinter.font.rst:88 msgid "Return the different font families." -msgstr "" +msgstr "Retorna las diferentes familias de fuentes." #: ../Doc/library/tkinter.font.rst:92 msgid "Return the names of defined fonts." -msgstr "" +msgstr "Retorna los nombres de las fuentes definidas." #: ../Doc/library/tkinter.font.rst:96 msgid "Return a :class:`Font` representation of a tk named font." -msgstr "" +msgstr "Retorna una representación :class:`Font` de una fuente con nombre tk." diff --git a/library/tkinter.messagebox.po b/library/tkinter.messagebox.po index 1ff1f12cf8..1e9930ac35 100644 --- a/library/tkinter.messagebox.po +++ b/library/tkinter.messagebox.po @@ -4,27 +4,29 @@ # 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" +"PO-Revision-Date: 2021-08-03 14:11+0200\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 3.0\n" #: ../Doc/library/tkinter.messagebox.rst:2 msgid ":mod:`tkinter.messagebox` --- Tkinter message prompts" -msgstr "" +msgstr ":mod:`tkinter.messagebox` --- Indicadores de mensajes de Tkinter" #: ../Doc/library/tkinter.messagebox.rst:8 msgid "**Source code:** :source:`Lib/tkinter/messagebox.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/messagebox.py`" #: ../Doc/library/tkinter.messagebox.rst:12 msgid "" @@ -34,19 +36,24 @@ msgid "" "Yes, No) based on the user's selection. Common message box styles and " "layouts include but are not limited to:" msgstr "" +"El módulo :mod:`tkinter.messagebox` proporciona una clase base de plantilla, " +"así como una variedad de métodos convenientes para configuraciones de uso " +"común. Los cuadros de mensaje son modales y devolverán un subconjunto de " +"(Verdadero, Falso, OK, Ninguno, Sí, No) según la selección del usuario. Los " +"estilos y diseños de cuadros de mensajes comunes incluyen, entre otros:" #: ../Doc/library/tkinter.messagebox.rst:22 msgid "Create a default information message box." -msgstr "" +msgstr "Crea un cuadro de mensaje de información predeterminado." #: ../Doc/library/tkinter.messagebox.rst:24 msgid "**Information message box**" -msgstr "" +msgstr "**Cuadro de mensaje de información**" #: ../Doc/library/tkinter.messagebox.rst:28 msgid "**Warning message boxes**" -msgstr "" +msgstr "**Cuadros de mensaje de advertencia**" #: ../Doc/library/tkinter.messagebox.rst:33 msgid "**Question message boxes**" -msgstr "" +msgstr "**Cuadros de mensajes de preguntas**" diff --git a/library/tkinter.po b/library/tkinter.po index 7027d29e7c..52d132fb38 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-27 12:32+0200\n" +"PO-Revision-Date: 2021-08-03 14:09+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" +"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 3.0\n" #: ../Doc/library/tkinter.rst:2 msgid ":mod:`tkinter` --- Python interface to Tcl/Tk" @@ -77,16 +78,17 @@ msgid "`TKDocs `_" msgstr "`TKDocs `_" #: ../Doc/library/tkinter.rst:32 -#, fuzzy msgid "" "Extensive tutorial plus friendlier widget pages for some of the widgets." msgstr "" -"Amplio tutorial más páginas de widgets amigables para algunos de los widgets." +"Amplio tutorial más páginas de widgets más amigables para algunos de los " +"widgets." #: ../Doc/library/tkinter.rst:35 msgid "" "`Tkinter 8.5 reference: a GUI for Python `_" msgstr "" +"`Tkinter 8.5 reference: a GUI for Python `_" #: ../Doc/library/tkinter.rst:35 msgid "On-line reference material." @@ -101,10 +103,7 @@ 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. #: ../Doc/library/tkinter.rst:41 -#, fuzzy msgid "`Programming Python `_" msgstr "`Programming Python `_" @@ -244,10 +243,7 @@ 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? #: ../Doc/library/tkinter.rst:101 -#, fuzzy msgid "" "The :func:`Tcl` function is a factory function which creates an object much " "like that created by the :class:`Tk` class, except that it does not " @@ -350,9 +346,7 @@ msgstr ":mod:`turtle`" msgid "Turtle graphics in a Tk window." msgstr "Gráficos de tortuga en una ventana Tk." -# "Guía de supervivencia" en la versión en francés #: ../Doc/library/tkinter.rst:142 -#, fuzzy msgid "Tkinter Life Preserver" msgstr "Guía de supervivencia de Tkinter" @@ -386,13 +380,12 @@ msgstr "" "Virginia." #: ../Doc/library/tkinter.rst:159 -#, fuzzy msgid "" "The HTML rendering, and some liberal editing, was produced from a FrameMaker " "version by Ken Manheimer." msgstr "" -"La renderización HTML y algunos ajustes libres fueron producidos a partir de " -"una versión de FrameMaker por Ken Manheimer." +"El renderizado HTML, y algunas ediciones libres, fueron producidas a partir " +"de una versión de FrameMaker por Ken Manheimer." #: ../Doc/library/tkinter.rst:162 msgid "" @@ -415,15 +408,14 @@ msgid "How To Use This Section" msgstr "Cómo usar esta sección" #: ../Doc/library/tkinter.rst:172 -#, fuzzy msgid "" "This section is designed in two parts: the first half (roughly) covers " "background material, while the second half can be taken to the keyboard as a " "handy reference." msgstr "" "Esta sección está diseñada en dos partes: la primera mitad (aproximadamente) " -"cubre el material de fondo, mientras que la segunda mitad se puede utilizar " -"como guía práctica." +"cubre el material de fondo, mientras que la segunda mitad se puede llevar al " +"teclado como referencia práctica." #: ../Doc/library/tkinter.rst:176 msgid "" @@ -521,15 +513,14 @@ msgstr "" "las otras clases." #: ../Doc/library/tkinter.rst:246 -#, fuzzy msgid "" "The :class:`Widget` class is not meant to be instantiated, it is meant only " "for subclassing to make \"real\" widgets (in C++, this is called an " "'abstract class')." msgstr "" -"La clase :class:`Widget` no está pensada para ser instanciada, solo está " -"destinada a la subclase para hacer widgets \"reales\" (en C++, esto se llama " -"una \"clase abstracta\")." +"La clase :class:`Widget` no está destinada a ser instanciada, solo está " +"destinada a subclases para crear widgets \"reales\" (en C++, esto se llama " +"una 'clase abstracta')." #: ../Doc/library/tkinter.rst:250 msgid "" @@ -662,9 +653,7 @@ msgstr "" "Los comandos de clase en Tk corresponden a constructores de clase en " "Tkinter.::" -# En la versión francesa menciona "Le constructeur d'un objet". #: ../Doc/library/tkinter.rst:317 -#, fuzzy msgid "" "The master of an object is implicit in the new name given to it at creation " "time. In Tkinter, masters are specified explicitly. ::" @@ -673,10 +662,7 @@ 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 #: ../Doc/library/tkinter.rst:322 -#, fuzzy msgid "" "The configuration options in Tk are given in lists of hyphened tags followed " "by values. In Tkinter, options are specified as keyword-arguments in the " @@ -684,15 +670,14 @@ msgid "" "indices, in dictionary style, for established instances. See section :ref:" "`tkinter-setting-options` on setting options. ::" msgstr "" -"Las opciones de configuración en Tk se dan en listas de parámetros separadas " -"por guiones seguidos de sus valores. En Tkinter, las opciones se especifican " -"como argumentos por palabras clave en el constructor de instancias; y como " -"argumentos por palabras clave para configurar llamadas o como una entrada " -"(al estilo diccionario) para instancias establecidas. Consulte la sección :" -"ref:`tkinter-setting-options` en la configuración de opciones. ::" +"Las opciones de configuración en Tk se dan en listas de etiquetas con " +"guiones seguidas de valores. En Tkinter, las opciones se especifican como " +"argumentos de palabras clave en el constructor de instancias y argumentos de " +"palabras clave para llamadas de configuración o como índices de instancias, " +"en estilo diccionario, para instancias establecidas. Consulte la sección :" +"ref:`tkinter-setting-options` sobre las opciones de configuración. ::" #: ../Doc/library/tkinter.rst:332 -#, fuzzy msgid "" "In Tk, to perform an action on a widget, use the widget name as a command, " "and follow it with an action name, possibly with arguments (options). In " @@ -700,12 +685,11 @@ msgid "" "widget. The actions (methods) that a given widget can perform are listed " "in :file:`tkinter/__init__.py`. ::" msgstr "" -"En Tk, para realizar una acción en un objeto gráfico, use el nombre del " -"objeto gráfico como comando seguido del nombre de la acción, posiblemente " -"con argumentos (opciones). En Tkinter, se llama a los métodos en la " -"instancia de clase para invocar acciones en el objeto gráfico. Las acciones " -"(métodos) que puede realizar un objeto gráfico dado se enumeran en :file:" -"`tkinter/__init__.py`. ::" +"En Tk, para realizar una acción en un widget, use el nombre del widget como " +"un comando y siga con un nombre de acción, posiblemente con argumentos " +"(opciones). En Tkinter, llamas a métodos en la instancia de clase para " +"invocar acciones en el widget. Las acciones (métodos) que puede realizar un " +"widget determinado se enumeran en :file:`tkinter/__init__.py`. ::" # en la web encontré "empaquetador", "empacador"... ¿? # geometry manager == administrador de diseño de pantalla ? @@ -935,9 +919,8 @@ msgid "1" msgstr "1" #: ../Doc/library/tkinter.rst:442 -#, fuzzy msgid "option name for database lookup" -msgstr "nombre de la opción para la consulta de base de datos" +msgstr "nombre de la opción para la búsqueda en la base de datos" #: ../Doc/library/tkinter.rst:444 msgid "2" @@ -992,7 +975,6 @@ msgid "The Packer" msgstr "El empaquetador" #: ../Doc/library/tkinter.rst:466 -#, fuzzy msgid "" "The packer is one of Tk's geometry-management mechanisms. Geometry " "managers are used to specify the relative positioning of widgets within " @@ -1002,13 +984,13 @@ msgid "" "*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 " -"posicionamiento relativo de widgets dentro de su contenedor, su constructor " -"mutuo. En contraste con *placer*, más engorroso (que se usa con menos " -"frecuencia, y no cubrimos aquí), el empaquetador toma la especificación de " -"relación cualitativa -*above*, *to the left of*, *filling*, etc.- y calcula " -"todo para determinar las coordenadas de ubicación exacta para usted." +"El empaquetador es uno de los mecanismos de gestión de geometría de Tk. Los " +"administradores de geometría se utilizan para especificar la posición " +"relativa de los widgets dentro de su contenedor: su *master* mutuo. En " +"contraste con el *placer* más engorroso (que se usa con menos frecuencia, y " +"no cubrimos aquí), el empaquetador toma la especificación de relación " +"cualitativa - *above*, *to the left of*, *filling*, etc - y funciona todo " +"para determinar las coordenadas de ubicación exactas para usted." #: ../Doc/library/tkinter.rst:473 msgid "" @@ -1231,9 +1213,7 @@ msgstr "" msgid "bitmap" msgstr "bitmap" -# "X" ? Más adelante refiere a Xorg #: ../Doc/library/tkinter.rst:625 -#, fuzzy msgid "" "There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " "``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " @@ -1242,7 +1222,7 @@ msgid "" msgstr "" "Hay ocho nombres de *bitmaps* integrados: ``'error'``, ``'gray25'``, " "``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " -"``'warning'``. Para especificar un nombre de archivo de mapa de bits \"X\", " +"``'warning'``. Para especificar un nombre de archivo de mapa de bits de X, " "indique la ruta completa del archivo, precedida por una ``@``, como en ``\"@/" "usr/contrib/bitmap/gumby.bit\"``." @@ -1267,10 +1247,7 @@ msgstr "" 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:641 -#, fuzzy msgid "" "Colors can be given as the names of X colors in the rgb.txt file, or as " "strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: ``\"#RRGGBB" @@ -1278,7 +1255,7 @@ msgid "" "where R,G,B here represent any legal hex digit. See page 160 of " "Ousterhout's book for details." msgstr "" -"Los colores se pueden dar como nombres de colores \"X\" en el archivo rgb." +"Los colores se pueden dar como nombres de colores de X en el archivo rgb." "txt, o como cadenas que representan valores RGB. La cadena que representa el " "valor RGB que toma un rango de 4 bits:``\"#RGB\"``, 8 bits: ``\"#RRGGBB\"``, " "12 bits\" ``\"#RRRGGGBBB\"``, or 16 bits ``\"#RRRRGGGGBBBB\"``, donde R, G, " @@ -1306,9 +1283,7 @@ msgstr "" msgid "distance" msgstr "distance" -# "puntos de impresora"?? #: ../Doc/library/tkinter.rst:653 -#, fuzzy msgid "" "Screen distances can be specified in either pixels or absolute distances. " "Pixels are given as numbers and absolute distances as strings, with the " @@ -1406,9 +1381,8 @@ msgstr "" "solo argumento." #: ../Doc/library/tkinter.rst:687 -#, fuzzy msgid "wrap" -msgstr "wrap:" +msgstr "wrap" #: ../Doc/library/tkinter.rst:687 msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." @@ -1452,10 +1426,7 @@ msgstr "" 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:711 -#, fuzzy msgid "" "is a Python function, taking one argument, to be invoked when the event " "occurs. An Event instance will be passed as the argument. (Functions " @@ -1463,7 +1434,7 @@ msgid "" msgstr "" "es una función de Python que toma un argumento y se llama cuando ocurre el " "evento. La instancia del evento se pasa como el argumento mencionado. (Las " -"funciones implementadas de esta manera a menudo se llaman *callbacks*)." +"funciones implementadas de esta manera a menudo se llaman *callbacks*.)" #: ../Doc/library/tkinter.rst:719 msgid "add" @@ -1481,9 +1452,7 @@ msgstr "" "evento. Pasar ``'+'`` agrega esta función a la lista de funciones vinculadas " "a este tipo de evento." -# lo mismo: X --> Xorg? #: ../Doc/library/tkinter.rst:728 -#, fuzzy msgid "" "Notice how the widget field of the event is being accessed in the " "``turn_red()`` callback. This field contains the widget that caught the X " @@ -1491,11 +1460,11 @@ msgid "" "how they are denoted in Tk, which can be useful when referring to the Tk man " "pages." msgstr "" -"Obsérvese cómo se accede al campo del widget del evento en el *callback* " -"``turn_red ()``. Este campo contiene el widget que capturó el evento X. La " -"siguiente tabla enumera los otros campos de eventos a los que puede acceder " -"y cómo se denotan en Tk. Esto puede ser útil cuando se hace referencia a las " -"páginas del manual de Tk." +"Observe cómo se accede al campo del widget del evento en la devolución de " +"llamada ``turn_red()``. Este campo contiene el widget que capturó el evento " +"de X. La siguiente tabla enumera los otros campos de eventos a los que puede " +"acceder y cómo se indican en Tk, lo que puede ser útil cuando se hace " +"referencia a las páginas del manual de Tk." #: ../Doc/library/tkinter.rst:734 msgid "Tk" @@ -1806,15 +1775,14 @@ msgid "File Handlers" msgstr "Gestor de archivos" #: ../Doc/library/tkinter.rst:825 -#, fuzzy msgid "" "Tk allows you to register and unregister a callback function which will be " "called from the Tk mainloop when I/O is possible on a file descriptor. Only " "one handler may be registered per file descriptor. Example code::" msgstr "" -"Tk permite que los descriptores de archivo registren y anulen el registro de " -"las funciones *callbacks* que se llaman desde el bucle principal de Tk " -"cuando sea posible la E/S. Solo se puede registrar un controlador por " +"Tk permite registrar y anular el registro de una función de devolución de " +"llamada que se llamará desde el mainloop de Tk cuando la E/S sea posible en " +"un descriptor de archivo. Solo se puede registrar un controlador por " "descriptor de archivo. Código de ejemplo:" #: ../Doc/library/tkinter.rst:836 diff --git a/library/tkinter.scrolledtext.po b/library/tkinter.scrolledtext.po index ff56695c8f..5d0ea13eba 100644 --- a/library/tkinter.scrolledtext.po +++ b/library/tkinter.scrolledtext.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-26 10:44-0600\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-03 14:02+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" +"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 3.0\n" #: ../Doc/library/tkinter.scrolledtext.rst:2 msgid ":mod:`tkinter.scrolledtext` --- Scrolled Text Widget" @@ -30,7 +31,6 @@ 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 " @@ -38,11 +38,10 @@ msgid "" "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 " -"desplazamiento vertical para hacer lo \"correcto.\" Usar la clase :class:" -"`ScrolledText` es mucho más fácil que configurar un widget de texto y una " -"barra de desplazamiento directamente. El constructor es el mismo que el de " -"la clase :class:`tkinter.Text`." +"que implementa un widget de texto básico que tiene una barra de " +"desplazamiento vertical configurada para hacer \"lo correcto\". Usar la " +"clase :class:`ScrolledText` es mucho más fácil que configurar un widget de " +"texto y una barra de desplazamiento directamente." #: ../Doc/library/tkinter.scrolledtext.rst:19 msgid "" From 81f982c0cf4ed895cac65ae7488c13c5fabd7c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 7 Aug 2021 01:30:37 +0200 Subject: [PATCH 37/94] Solucionando fuzzy de algunos archivos de library/ (#1259) --- dictionaries/library_mmap.txt | 1 + dictionaries/library_othergui.txt | 3 +- library/gzip.po | 27 ++++++++------- library/imp.po | 50 +++++++++++++-------------- library/inspect.po | 15 +++++---- library/itertools.po | 24 +++++++------ library/keyword.po | 21 ++++++------ library/mailbox.po | 31 +++++++++-------- library/mmap.po | 32 +++++++++--------- library/nntplib.po | 18 +++++----- library/numbers.po | 28 ++++++---------- library/optparse.po | 14 ++++---- library/othergui.po | 22 +++++++++--- library/plistlib.po | 27 +++++++-------- library/pty.po | 14 ++++---- library/pwd.po | 30 +++++++---------- library/py_compile.po | 33 +++++++++--------- library/re.po | 20 +++++------ library/secrets.po | 8 ++--- library/select.po | 43 ++++++++++++------------ library/shelve.po | 8 ++--- library/sqlite3.po | 40 ++++++++++++---------- library/symtable.po | 10 +++--- library/sysconfig.po | 15 ++++----- library/tarfile.po | 22 +++++++----- library/telnetlib.po | 9 +++-- library/tempfile.po | 11 +++--- library/textwrap.po | 29 ++++++---------- library/timeit.po | 8 ++--- library/turtle.po | 56 ++++++++++++++----------------- library/unicodedata.po | 18 +++++----- library/uuid.po | 15 ++++----- 32 files changed, 350 insertions(+), 352 deletions(-) diff --git a/dictionaries/library_mmap.txt b/dictionaries/library_mmap.txt index 293bf980f9..69a7936b43 100644 --- a/dictionaries/library_mmap.txt +++ b/dictionaries/library_mmap.txt @@ -1,3 +1,4 @@ subsecuencia Redimensiona deferir +mmap diff --git a/dictionaries/library_othergui.txt b/dictionaries/library_othergui.txt index a1e37a265f..95426d74e0 100644 --- a/dictionaries/library_othergui.txt +++ b/dictionaries/library_othergui.txt @@ -1,4 +1,5 @@ kits GUI Nokia -wxWindows \ No newline at end of file +wxWindows +Company diff --git a/library/gzip.po b/library/gzip.po index 09f1bae639..64b97a0f7e 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:29+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" +"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 3.0\n" #: ../Doc/library/gzip.rst:2 msgid ":mod:`gzip` --- Support for :program:`gzip` files" @@ -195,7 +196,6 @@ 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 " @@ -205,10 +205,11 @@ msgid "" "writing." msgstr "" "El argumento *mode* puede ser cualquiera de ``'r'``, ``'rb'``, ``'a'``, " -"``'ab'``, ``'w'``, ``'wb'``, ``'x'``, o ``'xb'``, dependiendo de si el " -"archivo se leerá o escribirá. El valor predeterminado es el modo de " -"*fileobj* si se puede discernir; de lo contrario, el valor predeterminado es " -"``'rb'``." +"``'ab'``, ``'w'``, ``'wb'``, ``'x'``, or ``'xb'``, dependiendo de si el " +"archivo se leerá o escribirá. El valor predeterminado es el modo de " +"*fileobj* si es discernible; de lo contrario, el valor predeterminado es " +"``'rb'``. En futuras versiones de Python, no se utilizará el modo *fileobj*. " +"Es mejor especificar siempre *mode* para escribir." #: ../Doc/library/gzip.rst:94 msgid "" @@ -260,17 +261,15 @@ msgstr "" "memoria resultante usando el :class:`io.BytesIO` método del objeto :meth:" "`~io.BytesIO.getvalue`." -# No estoy seguro si statement se traduciría como declaración. #: ../Doc/library/gzip.rst:114 -#, fuzzy msgid "" ":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " "including iteration and the :keyword:`with` statement. Only the :meth:" "`truncate` method isn't implemented." msgstr "" -":class:`GzipFile` admite la interfaz :class:`io.BufferedIOBase`, incluyendo " -"la iteración y la declaración :keyword:`with`. Solo el método :meth:" -"`truncate` no se implementa." +":class:`GzipFile` admite la interfaz :class:`io.BufferedIOBase`, incluida la " +"iteración y la declaración :keyword:`with`. Solo el método :meth:`truncate` " +"no está implementado." #: ../Doc/library/gzip.rst:118 msgid ":class:`GzipFile` also provides the following method and attribute:" @@ -358,6 +357,8 @@ msgid "" "Opening :class:`GzipFile` for writing without specifying the *mode* argument " "is deprecated." msgstr "" +"Abriendo :class:`GzipFile` para escribir sin especificar el argumento *mode* " +"está obsoleto." #: ../Doc/library/gzip.rst:175 msgid "" diff --git a/library/imp.po b/library/imp.po index 7a78e78524..0dba550cc0 100644 --- a/library/imp.po +++ b/library/imp.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-13 15:10-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21:33+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" "Language-Team: \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 3.0\n" #: ../Doc/library/imp.rst:2 msgid ":mod:`imp` --- Access the :ref:`import ` internals" @@ -30,10 +31,8 @@ msgid "**Source code:** :source:`Lib/imp.py`" msgstr "**Código fuente:** :source:`Lib/imp.py`" #: ../Doc/library/imp.rst:10 -#, 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`." +msgstr "El módulo :mod:`imp` está obsoleto en favor de :mod:`importlib`." #: ../Doc/library/imp.rst:17 msgid "" @@ -50,9 +49,9 @@ msgid "" "Return the magic string value used to recognize byte-compiled code files (:" "file:`.pyc` files). (This value may be different for each Python version.)" msgstr "" -"retorna el valor de cadena mágica utilizado para reconocer archivos de " -"código compilados por bytes (:file:'.pyc' archivos). (Este valor puede ser " -"diferente para cada versión de Python.)" +"Retorna el valor de la cadena de caracteres mágica que se utiliza para " +"reconocer archivos de código compilados por bytes (archivos :file:`.pyc`). " +"(Este valor puede ser diferente para cada versión de Python)." #: ../Doc/library/imp.rst:28 msgid "Use :attr:`importlib.util.MAGIC_NUMBER` instead." @@ -68,14 +67,15 @@ msgid "" "files), and *type* is the file type, which has one of the values :const:" "`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, described below." msgstr "" -"retorna una lista de tuplas de 3 elementos, cada una de las que describe un " -"tipo determinado de módulo. Cada triple tiene la forma ``(suffix, mode, " -"type)``, donde *suffix* es una cadena que se anexará al nombre del módulo " -"para formar el nombre de archivo para buscar, *mode* es la cadena de modo " -"para pasar a la función incorporada :func:`open` para abrir el archivo (esto " -"puede ser ``'r'`` para archivos de texto o ``'rb'`` para archivos binarios), " -"y *type* , que tiene uno de los valores :const:`PY_SOURCE`, :const:" -"`PY_COMPILED`, o :const:`C_EXTENSION`, que se describe a continuación." +"Retorna una lista de tuplas de 3 elementos, cada una de las cuales describe " +"un tipo particular de módulo. Cada triple tiene la forma ``(suffix, mode, " +"type)``, donde *suffix* es una cadena de caracteres que se agregará al " +"nombre del módulo para formar el nombre de archivo a buscar, *mode* es la " +"cadena de caracteres de modo para pasar a la función incorporada :func:" +"`open` para abrir el archivo (esto puede ser ``'r'`` para archivos de texto " +"o ``'rb'`` para archivos binarios), y *type* es el tipo de archivo, que " +"tiene uno de los valores :const:`PY_SOURCE`, :const:`PY_COMPILED`, o :const:" +"`C_EXTENSION`, que se describen a continuación." #: ../Doc/library/imp.rst:43 msgid "Use the constants defined on :mod:`importlib.machinery` instead." @@ -250,7 +250,7 @@ msgid "" "Return a new empty module object called *name*. This object is *not* " "inserted in ``sys.modules``." msgstr "" -"retorna un nuevo objeto de módulo vacío denominado *name*. Este objeto es " +"Retorna un nuevo objeto de módulo vacío denominado *name*. Este objeto es " "*not* insertado en ``sys.modules``." #: ../Doc/library/imp.rst:129 @@ -408,8 +408,8 @@ msgid "" "for *debug_override* you can override the system's value for ``__debug__``, " "leading to optimized bytecode." msgstr "" -"retorna la ruta de acceso :pep:`3147` al archivo compilado por bytes " -"asociado con la ruta *path* de origen. Por ejemplo, si *path* es ``/foo/bar/" +"Retorna la ruta de acceso :pep:`3147` al archivo compilado por bytes " +"asociado con la ruta *path* de origen. Por ejemplo, si *path* es ``/foo/bar/" "baz.py`` el valor retornado sería ``/foo/bar/__pycache__/baz.cpython-32." "pyc`` para Python 3.2. La cadena ``cpython-32`` proviene de la etiqueta " "mágica actual (consulte :func:`get_tag`; si :attr:`sys.implementation." @@ -472,8 +472,8 @@ msgid "" "Return the :pep:`3147` magic tag string matching this version of Python's " "magic number, as returned by :func:`get_magic`." msgstr "" -"retorna la cadena de etiqueta mágica :pep:`3147` que coincida con esta " -"versión del número mágico de Python, retornada por :func:`get_magic`." +"Retorna la cadena de etiqueta mágica :pep:`3147` que coincida con esta " +"versión del número mágico de Python, como lo retorna :func:`get_magic`." #: ../Doc/library/imp.rst:248 msgid "" @@ -500,9 +500,9 @@ msgid "" "Return ``True`` if the global import lock is currently held, else ``False``. " "On platforms without threads, always return ``False``." msgstr "" -"retorna ``True`` si el bloqueo de importación global se mantiene " -"actualmente, de lo contrario ``False``. En plataformas sin subprocesos, " -"siempre retorna ``False``." +"Retorna ``True`` si el bloqueo de importación global está actualmente " +"retenido, de lo contrario, ``False``. En plataformas sin hilos, siempre " +"retorna ``False``." #: ../Doc/library/imp.rst:264 msgid "" diff --git a/library/inspect.po b/library/inspect.po index 06b5c6076f..8924eecac9 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-16 20:27+0200\n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/inspect.rst:2 msgid ":mod:`inspect` --- Inspect live objects" @@ -1348,16 +1349,14 @@ msgstr "" "función." #: ../Doc/library/inspect.rst:824 -#, fuzzy msgid "" "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`." +"Un mapeo mutable de los nombres de los parámetros a los valores de los " +"argumentos. Contiene solo argumentos vinculados explícitamente. Los cambios " +"en :attr:`arguments` se reflejarán en :attr:`args` y :attr:`kwargs`." #: ../Doc/library/inspect.rst:828 msgid "" @@ -1382,6 +1381,8 @@ msgid "" ":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" "class:`collections.OrderedDict`." msgstr "" +":attr:`arguments` ahora es de tipo :class:`dict`. Anteriormente, era de " +"tipo :class:`collections.OrderedDict`." #: ../Doc/library/inspect.rst:844 msgid "" diff --git a/library/itertools.po b/library/itertools.po index 9b3fc818a0..4b07ad78a8 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/itertools.rst:2 msgid ":mod:`itertools` --- Functions creating iterators for efficient looping" @@ -518,15 +519,14 @@ msgstr "" "entrada." #: ../Doc/library/itertools.rst:202 ../Doc/library/itertools.rst:251 -#, fuzzy msgid "" "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 " -"estarán ordenadas." +"Las tuplas de combinación se emiten en orden lexicográfico según el orden de " +"la entrada *iterable*. Entonces, si la entrada *iterable* está ordenada, las " +"tuplas de combinación se producirán en una secuencia ordenada." #: ../Doc/library/itertools.rst:206 msgid "" @@ -771,15 +771,14 @@ msgstr "" "longitud serán generadas." #: ../Doc/library/itertools.rst:487 -#, fuzzy msgid "" "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 " -"estarán ordenadas." +"Las tuplas de permutación se emiten en orden lexicográfico según el orden de " +"la entrada *iterable*. Entonces, si la entrada *iterable* está ordenada, las " +"tuplas de combinación se producirán en una secuencia ordenada." #: ../Doc/library/itertools.rst:491 msgid "" @@ -860,6 +859,9 @@ msgid "" "keeping pools of values in memory to generate the products. Accordingly, it " "is only useful with finite inputs." msgstr "" +"Antes de que :func:`product` se ejecute, consume completamente los iterables " +"de entrada, manteniendo grupos de valores en la memoria para generar los " +"productos. En consecuencia, solo es útil con entradas finitas." #: ../Doc/library/itertools.rst:572 msgid "" diff --git a/library/keyword.po b/library/keyword.po index ffd4ee4f6a..02647342b1 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-24 15:46-0300\n" -"Last-Translator: Enrique Giménez \n" +"PO-Revision-Date: 2021-08-04 21:36+0200\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" +"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 3.0\n" #: ../Doc/library/keyword.rst:2 msgid ":mod:`keyword` --- Testing for Python keywords" @@ -53,19 +54,19 @@ msgstr "" "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." +msgstr "" +"Retorna ``True`` si *s* es una :ref:`palabra clave ` de Python " +"suave." #: ../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." +"Secuencia que contiene todos las :ref:`palabras clave ` suaves " +"definidas para el intérprete. Si se define alguna palabra clave blanda para " +"que solo esté activa cuando las declaraciones particulares :mod:`__future__` " +"están en vigor, estas también se incluirán." diff --git a/library/mailbox.po b/library/mailbox.po index 403ce3f5f9..ca8f9447bd 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-18 22:31-0400\n" -"Last-Translator: Rodrigo Poblete \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" @@ -698,12 +699,11 @@ msgstr "" "`pagina web maildir de Courier `_" #: ../Doc/library/mailbox.rst:430 -#, 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 " +"Una especificación del formato. Describe una extensión común para admitir " "carpetas." #: ../Doc/library/mailbox.rst:434 @@ -805,9 +805,8 @@ msgstr "" "section=5&topic=mbox>`_" #: ../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." +msgstr "Una especificación del formato, con detalles sobre el bloqueo." #: ../Doc/library/mailbox.rst:489 msgid "" @@ -1607,7 +1606,7 @@ msgstr "subdirectorio \"cur\"" #: ../Doc/library/mailbox.rst:1444 ../Doc/library/mailbox.rst:1459 #: ../Doc/library/mailbox.rst:1475 msgid "O flag" -msgstr "indicador O" +msgstr "flag O" #: ../Doc/library/mailbox.rst:917 ../Doc/library/mailbox.rst:936 #: ../Doc/library/mailbox.rst:1060 ../Doc/library/mailbox.rst:1075 @@ -1615,7 +1614,7 @@ msgstr "indicador O" #: ../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" +msgstr "flag F" #: ../Doc/library/mailbox.rst:919 ../Doc/library/mailbox.rst:921 #: ../Doc/library/mailbox.rst:938 ../Doc/library/mailbox.rst:953 @@ -1624,7 +1623,7 @@ msgstr "indicador F" #: ../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" +msgstr "flag R" #: ../Doc/library/mailbox.rst:919 ../Doc/library/mailbox.rst:1062 #: ../Doc/library/mailbox.rst:1077 ../Doc/library/mailbox.rst:1092 @@ -1633,25 +1632,25 @@ msgstr "indicador R" #: ../Doc/library/mailbox.rst:1448 ../Doc/library/mailbox.rst:1463 #: ../Doc/library/mailbox.rst:1481 msgid "A flag" -msgstr "indicador A" +msgstr "flag A" #: ../Doc/library/mailbox.rst:921 ../Doc/library/mailbox.rst:1054 #: ../Doc/library/mailbox.rst:1425 msgid "S flag" -msgstr "indicador S" +msgstr "flag S" #: ../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" +msgstr "flag T" #: ../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" +msgstr "flag D" #: ../Doc/library/mailbox.rst:926 msgid "" @@ -1722,7 +1721,7 @@ msgstr "no hay una etiqueta \"*unseen*\" (invisible)" #: ../Doc/library/mailbox.rst:951 ../Doc/library/mailbox.rst:1300 msgid "P flag" -msgstr "indicador P" +msgstr "flag P" #: ../Doc/library/mailbox.rst:951 msgid "\"forwarded\" or \"resent\" label" @@ -1912,7 +1911,7 @@ msgstr "" #: ../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" +msgstr "flag R y flag O" #: ../Doc/library/mailbox.rst:1080 msgid "" diff --git a/library/mmap.po b/library/mmap.po index de19a680bf..29dfd695b9 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:39+0200\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" +"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 3.0\n" #: ../Doc/library/mmap.rst:2 msgid ":mod:`mmap` --- Memory-mapped file support" msgstr ":mod:`mmap` --- Soporte de archivos mapeados en memoria" #: ../Doc/library/mmap.rst:9 -#, fuzzy msgid "" "Memory-mapped file objects behave like both :class:`bytearray` and like :" "term:`file objects `. You can use mmap objects in most places " @@ -37,15 +37,15 @@ msgid "" "data starting at the current file position, and :meth:`seek` through the " "file to different positions." msgstr "" -"Los objetos de archivos mapeados en memoria se comportan como :class:" -"`bytearray` y :term:`Objetos archivo `. Puedes usar objetos " -"*mmap* en la mayoría de lugares donde se espera :class:`bytearray`; por " -"ejemplo, puedes usar el módulo :mod:`re` para buscar entre un archivo " -"mapeado en memoria. También puedes cambiar un solo byte al hacer " -"``obj[index]==97``, o cambiar una subsecuencia al asignarle una rebanada: " -"``obj[i1:i2] = b'...'``. También puedes leer y escribir datos que empiezan " -"en la posición del archivo actual, y usar :meth:`seek` a través del archivo " -"a diferentes posiciones." +"Los objetos de archivo mapeados en memoria se comportan como :class:" +"`bytearray` y como :term:`objetos de archivo `. Puede usar " +"objetos mmap en la mayoría de los lugares donde se espera :class:" +"`bytearray`; por ejemplo, puede usar el módulo :mod:`re` para buscar en un " +"archivo mapeado en memoria. También puede cambiar un solo byte haciendo " +"``obj[índice] = 97``, o cambiar una subsecuencia asignando a un segmento: " +"``obj[i1: i2] = b'...'``. También puede leer y escribir datos comenzando en " +"la posición actual del archivo, y :meth:`seek` a través del archivo a " +"diferentes posiciones." #: ../Doc/library/mmap.rst:17 msgid "" @@ -399,14 +399,14 @@ 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. 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." +"Retorna una sola línea, comenzando en la posición actual del archivo y hasta " +"la siguiente nueva línea. La posición del archivo se actualiza para apuntar " +"después de los bytes que se retornaron." #: ../Doc/library/mmap.rst:253 msgid "" diff --git a/library/nntplib.po b/library/nntplib.po index 2f384a761a..42f27a5493 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-11-26 08:46-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/nntplib.rst:2 msgid ":mod:`nntplib` --- NNTP protocol client" @@ -30,7 +31,6 @@ 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 " "of the Network News Transfer Protocol. It can be used to implement a news " @@ -38,10 +38,10 @@ msgid "" "`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 " -"para implementar un lector o publicador de noticias, o procesadores de " -"noticias automatizados. Es compatible con :rfc:`3977`, así como con el " -"anterior :rfc:`977` y :rfc:`2980`." +"del Protocolo de transferencia de noticias por red. Se puede utilizar para " +"implementar un lector o póster de noticias, o procesadores de noticias " +"automatizados. Es compatible con :rfc:`3977` así como con los antiguos :rfc:" +"`977` y :rfc:`2980`." #: ../Doc/library/nntplib.rst:20 msgid "" @@ -137,6 +137,8 @@ msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" +"Si el parámetro *timeout* se establece en cero, lanzará un :class:" +"`ValueError` para evitar la creación de un socket sin bloqueo." #: ../Doc/library/nntplib.rst:102 msgid "" diff --git a/library/numbers.po b/library/numbers.po index 71ff1ddc6d..8c41d7a37e 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-12-20 19:28-0300\n" +"PO-Revision-Date: 2021-08-04 21:42+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Jhonatan Barrera \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/numbers.rst:2 msgid ":mod:`numbers` --- Numeric abstract base classes" @@ -27,9 +27,7 @@ msgstr ":mod:`numbers` --- Clase base abstracta numérica" msgid "**Source code:** :source:`Lib/numbers.py`" msgstr "**Código fuente:** :source:`Lib/numbers.py`" -# revisar como usamos "abstract base classes" en el glosario #: ../Doc/library/numbers.rst:11 -#, fuzzy msgid "" "The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric :term:" "`abstract base classes ` which progressively define " @@ -49,9 +47,7 @@ msgstr "" "La raíz de la jerarquía numérica. Si desea validar si un argumento *x* es un " "número, sin importar su tipo, use ``isinstance(x, Number)``." -# La verdad no se si sea buena esta traducción #: ../Doc/library/numbers.rst:23 -#, fuzzy msgid "The numeric tower" msgstr "La torre numérica" @@ -111,17 +107,15 @@ msgstr "" "*Real* también proporciona valores predeterminados para :func:`complex`, :" "attr:`~Complex.real`, :attr:`~Complex.imag`, y :meth:`~Complex.conjugate`." -# Se me hace super rara toda la cadena. Agrego "Subtypes" como "Hereda" #: ../Doc/library/numbers.rst:61 -#, fuzzy msgid "" "Subtypes :class:`Real` and adds :attr:`~Rational.numerator` and :attr:" "`~Rational.denominator` properties, which should be in lowest terms. With " "these, it provides a default for :func:`float`." msgstr "" -"Hereda de :class:`Real` y agrega las propiedades :attr:`~Rational.numerator` " -"y :attr:`~Rational.denominator`, que deberían estar en los términos más " -"bajos. Con esto, se proporciona un valor predeterminado a :func:`float`." +"Subtipos :class:`Real` y agrega :attr:`~Rational.numerator` y :attr:" +"`~Rational.denominator` propiedades, que deben estar en los términos más " +"bajos. Con estos, proporciona un valor predeterminado para :func:`float`." #: ../Doc/library/numbers.rst:68 ../Doc/library/numbers.rst:72 msgid "Abstract." @@ -144,19 +138,17 @@ msgstr "" msgid "Notes for type implementors" msgstr "Notas para implementadores de tipos" -# Por aca tengo problemas con esta fracción de la cadena: Implementors should be careful to make equal numbers equal and hash them to the same values #: ../Doc/library/numbers.rst:86 -#, fuzzy msgid "" "Implementors should be careful to make equal numbers equal and hash them to " "the same values. This may be subtle if there are two different extensions of " "the real numbers. For example, :class:`fractions.Fraction` implements :func:" "`hash` as follows::" msgstr "" -"Los implementadores deben tener cuidado de hacer que números iguales sean " -"iguales y hacer *hash* con los mismos valores. Esto puede ser sutil si hay " -"dos extensiones diferentes de los números reales. Por ejemplo: :class:" -"`fractions.Fraction` implementa :func:`hash` de la siguiente manera::" +"Los implementadores deben tener cuidado de igualar números iguales y aplicar " +"un hash a los mismos valores. Esto puede ser sutil si hay dos extensiones " +"diferentes de los números reales. Por ejemplo, :class:`fractions.Fraction` " +"implementa :func:`hash` de la siguiente manera::" #: ../Doc/library/numbers.rst:105 msgid "Adding More Numeric ABCs" diff --git a/library/optparse.po b/library/optparse.po index 253a503fad..fb3308e3b6 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:42+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" +"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 3.0\n" #: ../Doc/library/optparse.rst:2 msgid ":mod:`optparse` --- Parser for command line options" @@ -93,9 +94,8 @@ msgstr "" "siguientes líneas de comandos son todas equivalentes al ejemplo previo::" #: ../Doc/library/optparse.rst:58 -#, fuzzy msgid "Additionally, users can run one of the following ::" -msgstr "Además, los usuarios pueden ejecutar una de estas líneas:" +msgstr "Además, los usuarios pueden ejecutar uno de los siguientes::" #: ../Doc/library/optparse.rst:63 msgid "" @@ -2185,7 +2185,7 @@ msgstr "" #: ../Doc/library/optparse.rst:1328 msgid "where the input parameters are" -msgstr "donde los parámetros de entrada son:" +msgstr "donde los parámetros de entrada son" #: ../Doc/library/optparse.rst:1331 ../Doc/library/optparse.rst:1345 #: ../Doc/library/optparse.rst:1664 @@ -2213,7 +2213,7 @@ msgstr "" #: ../Doc/library/optparse.rst:1338 msgid "and the return values are" -msgstr "y los valores de retorno son:" +msgstr "y los valores de retorno son" #: ../Doc/library/optparse.rst:1342 msgid "``options``" diff --git a/library/othergui.po b/library/othergui.po index 0b7d8cfd82..fa5f4aee38 100644 --- a/library/othergui.po +++ b/library/othergui.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:45+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" +"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 3.0\n" #: ../Doc/library/othergui.rst:4 msgid "Other Graphical User Interface Packages" @@ -88,9 +89,8 @@ msgstr "" "diseñado específicamente para Python." #: ../Doc/library/othergui.rst:37 -#, fuzzy msgid "`PySide2 `_" -msgstr "`PySide `_" +msgstr "`PySide2 `_" #: ../Doc/library/othergui.rst:34 msgid "" @@ -99,6 +99,11 @@ msgid "" "port of PySide to Qt 5. Compared to PyQt, its licensing scheme is friendlier " "to non-open source applications." msgstr "" +"También conocido como el proyecto Qt para Python, PySide2 es un enlace más " +"nuevo para el kit de herramientas Qt. Es proporcionado por The Qt Company y " +"tiene como objetivo proporcionar un puerto completo de PySide a Qt 5. En " +"comparación con PyQt, su esquema de licencias es más amigable para las " +"aplicaciones que no son de código abierto." #: ../Doc/library/othergui.rst:48 msgid "`wxPython `_" @@ -137,6 +142,13 @@ msgid "" "a much more complete list, and also for links to documents where the " "different GUI toolkits are compared." msgstr "" +"PyGTK, PyQt, PySide2 y wxPython, todos tienen una apariencia moderna y más " +"widgets que Tkinter. Además, hay muchos otros kits de herramientas de GUI " +"para Python, tanto multiplataforma como específicos de la plataforma. " +"Consulte la página `Programación GUI `_ en Python Wiki para una lista mucho más completa, y " +"también para enlaces a documentos donde se comparan los diferentes kits de " +"herramientas GUI." #~ msgid "" #~ "PySide is a newer binding to the Qt toolkit, provided by Nokia. Compared " diff --git a/library/plistlib.po b/library/plistlib.po index 735cb506dd..316941af39 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -11,35 +11,34 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:46+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" +"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 3.0\n" #: ../Doc/library/plistlib.rst:2 -#, fuzzy msgid ":mod:`plistlib` --- Generate and parse Apple ``.plist`` files" -msgstr ":mod:`plistlib` --- Genera y analiza archivos ``.plist`` de Mac OS X" +msgstr ":mod:`plistlib` --- Genera y analiza archivos ``.plist`` de Apple" #: ../Doc/library/plistlib.rst:11 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 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." +"Este módulo proporciona una interfaz para leer y escribir los archivos de " +"\"lista de propiedades\" utilizados por Apple, principalmente en macOS e " +"iOS. Este módulo admite archivos plist binarios y XML." #: ../Doc/library/plistlib.rst:23 msgid "" @@ -68,16 +67,14 @@ msgstr "" "`loads`." #: ../Doc/library/plistlib.rst:33 -#, fuzzy msgid "" "Values can be strings, integers, floats, booleans, tuples, lists, " "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`." +"Los valores pueden ser cadenas, enteros, flotantes, booleanos, tuplas, " +"listas, diccionarios (pero solo con claves de cadena), :class:`bytes`, :" +"class:`bytearray` u objetos :class:`datetime.datetime`." #: ../Doc/library/plistlib.rst:37 msgid "New API, old API deprecated. Support for binary format plists added." @@ -95,7 +92,7 @@ msgstr "" #: ../Doc/library/plistlib.rst:44 msgid "Old API removed." -msgstr "" +msgstr "API antigua eliminada." #: ../Doc/library/plistlib.rst:49 msgid "" diff --git a/library/pty.po b/library/pty.po index fef8277bce..448d3ef9b7 100644 --- a/library/pty.po +++ b/library/pty.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-18 14:36-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/pty.rst:2 msgid ":mod:`pty` --- Pseudo-terminal utilities" @@ -148,18 +149,19 @@ msgstr "" "`_." #: ../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." +"Retorna el valor del estado de salida de :func:`os.waitpid` en el proceso " +"hijo." #: ../Doc/library/pty.rst:74 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." msgstr "" +":func:`waitstatus_to_exitcode` se puede utilizar para convertir el estado de " +"salida en un código de salida." #: ../Doc/library/pty.rst:77 msgid "" diff --git a/library/pwd.po b/library/pwd.po index 64ce0f254b..c84cfa21c3 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -9,14 +9,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-05-15 15:34-0500\n" +"PO-Revision-Date: 2021-08-04 21:49+0200\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" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 3.0\n" "X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/pwd.rst:2 @@ -145,9 +145,7 @@ msgstr "" "Los elementos uid y gid son enteros, todos los demás son cadenas. :exc:" "`KeyError` se lanza si la entrada pedida no se encuentra." -# unices, shadow password system, world readable #: ../Doc/library/pwd.rst:42 -#, fuzzy msgid "" "In traditional Unix the field ``pw_passwd`` usually contains a password " "encrypted with a DES derived algorithm (see module :mod:`crypt`). However " @@ -158,15 +156,15 @@ msgid "" "anything useful is system-dependent. If available, the :mod:`spwd` module " "should be used where access to the encrypted password is required." msgstr "" -"En el Unix tradicional el campo ``pw_passwd`` suele contener una contraseña " -"cifrada con un algoritmo derivado de DES (ver módulo :mod:`crypt``). Sin " -"embargo, la mayoría de los Unix modernos utilizan el llamado sistema de " -"*shadow password*. En esos unices el campo *pw_passwd* sólo contiene un " -"asterisco (``'*'``) o la letra ``'x'`` donde la contraseña cifrada se " -"almacena en un archivo :file:`/etc/shadow` que no es legible en el mundo. " -"Si el campo *pw_passwd* contiene algo útil depende del sistema. Si está " -"disponible, el módulo :mod:`spwd` debe ser usado donde se requiere el acceso " -"a la contraseña encriptada." +"En Unix tradicional, el campo ``pw_passwd`` generalmente contiene una " +"contraseña cifrada con un algoritmo derivado de DES (ver módulo :mod:" +"`crypt`). Sin embargo, la mayoría de los sistemas operativos modernos " +"utilizan un sistema llamado *shadow password*. En esos unices, el campo " +"*pw_passwd* solo contiene un asterisco (``'*'``) o la letra ``'x'`` donde la " +"contraseña cifrada se almacena en un archivo :file:`/etc/shadow` que no es " +"legible por todo el mundo. Si el campo *pw_passwd* contiene algo útil " +"depende del sistema. Si está disponible, el módulo :mod:`spwd` debe usarse " +"donde se requiera acceso a la contraseña encriptada." #: ../Doc/library/pwd.rst:51 msgid "It defines the following items:" @@ -203,9 +201,7 @@ msgstr "Una interfaz para la base de datos de grupos, similar a esta." msgid "Module :mod:`spwd`" msgstr "Módulo :mod:`spwd`" -# shadow password database #: ../Doc/library/pwd.rst:75 -#, fuzzy msgid "An interface to the shadow password database, similar to this." msgstr "" -"Una interfaz para esconder contraseñas en la base de datos, parecidas a esta" +"Una interfaz para la base de datos de contraseñas ocultas, similar a esta." diff --git a/library/py_compile.po b/library/py_compile.po index f846ed365e..ac9c9be1b8 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-06 22:11+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/py_compile.rst:2 msgid ":mod:`py_compile` --- Compile Python source files" @@ -58,7 +59,6 @@ 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 " @@ -72,18 +72,19 @@ msgid "" "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* " -"El código de bytes es escrito a *cfile*, el cual va por defecto a la ruta :" -"pep:`3147`/:pep:`488`, terminando en ``.pyc``. Por ejemplo, si *file* es ``/" -"foo/bar/baz.py`` *cfile* irá por default a ``/foo/bar/__pycache__/baz." -"cpython-32.yc`` para Python 3.2. Si *dfile* es especificado, éste es usado " -"como el nombre del archivo fuente en los mensajes de error cuando sea en vez " -"de *file*. Si *doraise* es verdadero, un :exc:`PyCompilerError` es lanzado " -"cuando un error es encontrado mientras se compilaba *file*. Si *doraise* es " -"falso (el predeterminado), una cadena de error es escrita a ``sys.stderr``, " -"pero no se lanza ninguna excepción. Esta función retorna la ruta al archivo " -"de bytes compilado, por ejemplo, cualquier valor *cfile* que fue usado." +"Compila un archivo fuente en código de bytes y escriba el archivo de caché " +"de código de bytes. El código fuente se carga desde el archivo llamado " +"*file*. El código de bytes se escribe en *cfile*, que por defecto es la " +"ruta :pep:`3147`/:pep:`488`, que termina en ``.pyc``. Por ejemplo, si *file* " +"es ``/foo/bar/baz.py`` *cfile* se establecerá de forma predeterminada en ``/" +"foo/bar/__pycache__/baz.cpython-32.pyc`` para Python 3.2. Si se especifica " +"*dfile*, se usa como el nombre del archivo de origen en los mensajes de " +"error en lugar de *file*. Si *doraise* es verdadero, se lanza un :exc:" +"`PyCompileError` cuando se encuentra un error al compilar *file*. Si " +"*doraise* es falso (el valor predeterminado), se escribe una cadena de error " +"en ``sys.stderr``, pero no se genera ninguna excepción. Esta función retorna " +"la ruta al archivo compilado por bytes, es decir, cualquier valor *cfile* " +"que se haya utilizado." #: ../Doc/library/py_compile.rst:45 msgid "" diff --git a/library/re.po b/library/re.po index dc1b8d6365..82379df9d3 100644 --- a/library/re.po +++ b/library/re.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/re.rst:2 msgid ":mod:`re` --- Regular expression operations" @@ -1319,7 +1320,6 @@ 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 " @@ -1330,12 +1330,12 @@ msgid "" "matched." msgstr "" "Notar que cuando los patrones Unicode ``[a-z]`` o ``[A-Z]`` se usan en " -"combinación con el indicador :const:`IGNORECASE``, coincidirán con las 52 " -"letras ASCII y 4 letras adicionales no ASCII: 'İ' (U+0130, letra mayúscula " -"latina I con punto arriba), 'ı' (U+0131, letra minúscula latina sin punto " -"i), 'ſ' (U+017F, letra minúscula latina s larga) y 'K' (U+212A, signo " -"Kelvin). Si se usa el indicador :const:`ASCII`, sólo las letras de la 'a' a " -"la 'z' y de la 'A' a la 'Z' coinciden." +"combinación con el flag :const:`IGNORECASE``, coincidirán con las 52 letras " +"ASCII y 4 letras adicionales no ASCII: 'İ' (U+0130, letra mayúscula latina I " +"con punto arriba), 'ı' (U+0131, letra minúscula latina sin punto i), 'ſ' (U" +"+017F, letra minúscula latina s larga) y 'K' (U+212A, signo Kelvin). Si se " +"usa el indicador :const:`ASCII`, sólo las letras de la 'a' a la 'z' y de la " +"'A' a la 'Z' coinciden." #: ../Doc/library/re.rst:683 msgid "" diff --git a/library/secrets.po b/library/secrets.po index 390a53e74f..30973cc15f 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 21:25-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/secrets.rst:2 msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" @@ -43,7 +44,6 @@ msgstr "" "relacionados." #: ../Doc/library/secrets.rst:24 -#, fuzzy msgid "" "In particular, :mod:`secrets` should be used in preference to the default " "pseudo-random number generator in the :mod:`random` module, which is " diff --git a/library/select.po b/library/select.po index c3429efb7d..680161eb6f 100644 --- a/library/select.po +++ b/library/select.po @@ -11,14 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:55+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/select.rst:2 msgid ":mod:`select` --- Waiting for I/O completion" @@ -205,7 +207,6 @@ 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 iterables of 'waitable objects': either " @@ -213,10 +214,10 @@ msgid "" "method named :meth:`~io.IOBase.fileno` returning such an integer:" msgstr "" "Esta es una interfaz sencilla para la llamada al sistema Unix :c:func:" -"`select`. Los primeros tres argumentos son secuencias de 'objetos " -"esperables': enteros que representan descriptores de archivos u objetos con " -"un método sin parámetros llamado :meth:`~io.IOBase.fileno` que retorna dicho " -"entero:" +"`select`. Los primeros tres argumentos son iterables de 'objetos en espera': " +"enteros que representan descriptores de archivos u objetos con un método sin " +"parámetros llamado :meth:`~io.IOBase.fileno` que retorna un entero de este " +"tipo:" #: ../Doc/library/select.rst:124 msgid "*rlist*: wait until ready for reading" @@ -235,7 +236,6 @@ msgstr "" "para ver lo que su sistema considera tal condición)" #: ../Doc/library/select.rst:129 -#, fuzzy msgid "" "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 " @@ -244,13 +244,13 @@ msgid "" "until at least one file descriptor is ready. A time-out value of zero " "specifies a poll and never blocks." msgstr "" -"Se permiten secuencias vacías, pero la aceptación de tres secuencias vacías " +"Se permiten iterables vacíos, pero la aceptación de tres iterables vacíos " "depende de la plataforma. (Se sabe que funciona en Unix pero no en Windows). " "El argumento opcional *timeout* especifica un tiempo de espera como un " -"número de coma flotante en segundos. Cuando se omite el argumento *timeout*, " -"la función se bloquea hasta que al menos un descriptor de archivo esté " -"listo. Un valor de tiempo de espera de cero especifica un *poll* y nunca " -"bloquea." +"número de punto flotante en segundos. Cuando se omite el argumento " +"*timeout*, la función se bloquea hasta que al menos un descriptor de archivo " +"esté listo. Un valor de tiempo de espera de cero especifica un sondeo y " +"nunca se bloquea." #: ../Doc/library/select.rst:136 msgid "" @@ -264,7 +264,6 @@ msgstr "" "vacías." #: ../Doc/library/select.rst:144 -#, fuzzy msgid "" "Among the acceptable object types in the iterables are Python :term:`file " "objects ` (e.g. ``sys.stdin``, or objects returned by :func:" @@ -273,12 +272,12 @@ msgid "" "has an appropriate :meth:`~io.IOBase.fileno` method (that really returns a " "file descriptor, not just a random integer)." msgstr "" -"Entre los tipos de objetos aceptables en las secuencias se encuentran :term:" -"`objetos de archivo ` Python (por ejemplo, ``sys.stdin``, u " -"objetos retornados por :func:`open` o :func:`os.popen`), objetos de socket " +"Entre los tipos de objetos aceptables en los iterables se encuentran Python :" +"term:`objetos de archivo ` (por ejemplo, ``sys.stdin``, u " +"objetos retornados por :func:`open` o :func:`os.popen` ), objetos de socket " "retornados por :func:`socket.socket`. También puede definir una clase :dfn:" -"`wrapper`, siempre que tenga un método apropiado :meth:`~io.IOBase.fileno` " -"(que realmente retorna un descriptor de archivo, no solo un entero " +"`wrapper` usted mismo, siempre que tenga un método :meth:`~io.IOBase.fileno` " +"apropiado (que realmente retorne un descriptor de archivo, no solo un entero " "aleatorio)." #: ../Doc/library/select.rst:155 @@ -639,7 +638,7 @@ msgstr "Elimina un descriptor de archivo registrado del objeto epoll." #: ../Doc/library/select.rst:358 msgid "The method no longer ignores the :data:`~errno.EBADF` error." -msgstr "" +msgstr "El método ya no ignora el error :data:`~errno.EBADF`." #: ../Doc/library/select.rst:364 msgid "Wait for events. timeout in seconds (float)" diff --git a/library/shelve.po b/library/shelve.po index 6d746edd44..253e3348ca 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -9,14 +9,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-10-01 13:08-0400\n" -"Last-Translator: Alvaro Cárdenas \n" +"PO-Revision-Date: 2021-08-04 21:55+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../Doc/library/shelve.rst:2 @@ -263,7 +263,6 @@ msgid "Added context manager support." msgstr "Agregado soporte para administrador de contexto." #: ../Doc/library/shelve.rst:136 -#, fuzzy msgid "" "A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :" "meth:`previous`, :meth:`last` and :meth:`set_location` which are available " @@ -307,7 +306,6 @@ msgid "Example" msgstr "Ejemplo" #: ../Doc/library/shelve.rst:162 -#, fuzzy msgid "" "To summarize the interface (``key`` is a string, ``data`` is an arbitrary " "object)::" diff --git a/library/sqlite3.po b/library/sqlite3.po index 9a7ac8520f..31fc2bcd89 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21: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" +"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 3.0\n" #: ../Doc/library/sqlite3.rst:2 msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" @@ -306,6 +307,13 @@ msgid "" "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 (es decir, desactivado, sin detección de " +"tipo), puede configurarlo en cualquier combinación de :const:" +"`PARSE_DECLTYPES` y :const:`PARSE_COLNAMES` para activar la detección de " +"tipo. Debido al comportamiento de SQLite, los tipos no se pueden detectar " +"para los campos generados (por ejemplo, ``max(data)``), incluso cuando se " +"establece el parámetro *detect_types*. En tal caso, el tipo devuelto es :" +"class:`str`." #: ../Doc/library/sqlite3.rst:200 msgid "" @@ -1410,7 +1418,7 @@ msgstr "" "Como se describió anteriormente, SQLite soporta solamente un conjunto " "limitado de tipos de forma nativa. Para usar otros tipos de Python con " "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. " +"módulo sqlite3 para SQLite: uno de NoneType, int, float, str, bytes." #: ../Doc/library/sqlite3.rst:914 msgid "" @@ -1433,7 +1441,6 @@ msgstr "" "se tiene una clase como esta::" #: ../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 to be used for representing the " @@ -1442,12 +1449,12 @@ msgid "" "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 " -"cadena de texto separando las coordenadas usando un punto y coma. Luego se " -"necesita proveer a la clase el método ``__conform__(self, protocol)`` el " -"cuál deberá retornar el valor convertido. El parámetro *protocol* será :" -"class:`PrepareProtocol`." +"Ahora desea almacenar el punto en una sola columna de SQLite. Primero tendrá " +"que elegir uno de los tipos admitidos que se utilizará para representar el " +"punto. Usemos str y separemos las coordenadas usando un punto y coma. Luego, " +"debe darle a su clase un método ``__conform __(self, protocol)`` que debe " +"retornar el valor convertido. El parámetro *protocol* será :class:" +"`PrepareProtocol`." #: ../Doc/library/sqlite3.rst:938 msgid "Registering an adapter callable" @@ -1738,18 +1745,17 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../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." 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." +"El módulo sqlite3 no está construido con soporte de extensión cargable de " +"forma predeterminada, porque algunas plataformas (especialmente Mac OS X) " +"tienen bibliotecas SQLite que se compilan sin esta característica. Para " +"obtener soporte de extensión cargable, debe pasar ``--enable-loadable-sqlite-" +"extensions`` para configurar." #~ msgid "https://github.com/ghaering/pysqlite" #~ msgstr "https://github.com/ghaering/pysqlite" diff --git a/library/symtable.po b/library/symtable.po index 34b754577e..a44db1af68 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-07 18:38-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 21:58+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" +"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 3.0\n" #: ../Doc/library/symtable.rst:2 msgid ":mod:`symtable` --- Access to the compiler's symbol tables" @@ -215,9 +216,8 @@ 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:161 -#, fuzzy msgid "Return ``True`` if the symbol is annotated." -msgstr "Retorna ``True`` si el símbolo es no local." +msgstr "Retorna ``True`` si el símbolo está anotado." #: ../Doc/library/symtable.rst:167 msgid "" diff --git a/library/sysconfig.po b/library/sysconfig.po index 09b5fed573..7f536980fe 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 21:58+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" +"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 3.0\n" #: ../Doc/library/sysconfig.rst:2 msgid "" @@ -137,7 +138,6 @@ 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 " "the default scheme used when Python or a component is installed." @@ -147,7 +147,6 @@ msgstr "" "componente." #: ../Doc/library/sysconfig.rst:79 -#, fuzzy msgid "" "*posix_home*: scheme for POSIX platforms used when a *home* option is used " "upon installation. This scheme is used when a component is installed " @@ -158,7 +157,6 @@ 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 " "through Distutils and the *user* option is used. This scheme defines paths " @@ -166,7 +164,7 @@ msgid "" msgstr "" "*posix_user*: esquema para plataformas POSIX usado cuando se instala un " "componente a través de Distutils y se usa la opción *user*. Este esquema " -"define rutas ubicadas bajo el directorio de inicio del usuario" +"define rutas ubicadas bajo el directorio de inicio del usuario." #: ../Doc/library/sysconfig.rst:85 msgid "*nt*: scheme for NT platforms like Windows." @@ -174,7 +172,8 @@ msgstr "*nt*: esquema para plataformas NT como Windows." #: ../Doc/library/sysconfig.rst:86 msgid "*nt_user*: scheme for NT platforms, when the *user* option is used." -msgstr "*nt_user*: esquema para plataformas NT, cuando se usa la opción *user*" +msgstr "" +"*nt_user*: esquema para plataformas NT, cuando se usa la opción *user*." #: ../Doc/library/sysconfig.rst:88 msgid "" diff --git a/library/tarfile.po b/library/tarfile.po index 1e983349b6..9916c883d5 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-04 22:00+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" +"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 3.0\n" #: ../Doc/library/tarfile.rst:2 msgid ":mod:`tarfile` --- Read and write tar archive files" @@ -400,18 +401,18 @@ msgstr "" "objects`." #: ../Doc/library/tarfile.rst:162 -#, fuzzy msgid "" "Return :const:`True` if *name* is a tar archive file, that the :mod:" "`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." +"`tarfile` puede leer. *name* puede ser un :class:`str`, archivo o un objeto " +"similar a un archivo." #: ../Doc/library/tarfile.rst:165 msgid "Support for file and file-like objects." -msgstr "" +msgstr "Soporte para archivos y objetos similares a archivos." #: ../Doc/library/tarfile.rst:169 msgid "The :mod:`tarfile` module defines the following exceptions:" @@ -506,7 +507,7 @@ msgid "" "const:`GNU_FORMAT`." msgstr "" "El formato predeterminado para nuevos archivos fue cambiado de :const:" -"`GNU_FORMAT` a :const:`PAX_FORMAT`" +"`GNU_FORMAT` a :const:`PAX_FORMAT`." #: ../Doc/library/tarfile.rst:246 msgid "Module :mod:`zipfile`" @@ -725,7 +726,7 @@ msgid "" "shortcut to this classmethod." msgstr "" "Constructor alternativo. La función :func:`tarfile.open` es un acceso " -"directo a este método de la clase" +"directo a este método de la clase." #: ../Doc/library/tarfile.rst:348 msgid "" @@ -880,6 +881,11 @@ msgid "" "existing members, :const:`None` is returned. If *member* does not appear in " "the archive, :exc:`KeyError` is raised." msgstr "" +"Extrae un miembro del archivo como un objeto de archivo. *member* puede ser " +"un nombre de archivo o un objeto :class:`TarInfo`. Si *member* es un archivo " +"normal o un enlace, se retorna un objeto :class:`io.BufferedReader`. Para " +"todos los demás miembros existentes, se retorna :const:`None`. Si *member* " +"no aparece en el archivo, se lanza :exc:`KeyError`." #: ../Doc/library/tarfile.rst:454 msgid "Return an :class:`io.BufferedReader` object." diff --git a/library/telnetlib.po b/library/telnetlib.po index 7e4d80f32c..c4ae525eb3 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-27 08:47-0400\n" +"PO-Revision-Date: 2021-08-04 22:01+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" -"X-Generator: Poedit 2.4\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/telnetlib.rst:2 msgid ":mod:`telnetlib` --- Telnet client" @@ -231,9 +231,8 @@ msgstr "" "configuración de tiempo de espera predeterminada global)." #: ../Doc/library/telnetlib.rst:142 -#, fuzzy msgid "Do not try to reopen an already connected instance." -msgstr "No vuelva a abrir una instancia ya conectada." +msgstr "No intente volver a abrir una instancia ya conectada." #: ../Doc/library/telnetlib.rst:144 msgid "" diff --git a/library/tempfile.po b/library/tempfile.po index d2888e4197..4af24d4248 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-25 18:58-0600\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-04 22: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" +"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 3.0\n" #: ../Doc/library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" @@ -269,9 +270,7 @@ msgstr "" "Lanza un :ref:`evento de auditoria ` ``tempfile.mkdtemp`` con " "argumento ``fullpath``." -# race-conditions -> condiciones de carrera (revisar en todo el archivo) #: ../Doc/library/tempfile.rst:144 -#, fuzzy msgid "" "Creates a temporary file in the most secure manner possible. There are no " "race conditions in the file's creation, assuming that the platform properly " @@ -356,6 +355,8 @@ msgid "" "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 se especifica *text* y es verdadero, el archivo se abre en modo texto. De " +"lo contrario, (por defecto) el archivo se abre en modo binario." #: ../Doc/library/tempfile.rst:181 msgid "" diff --git a/library/textwrap.po b/library/textwrap.po index 32c2d0ef7b..b38cad901e 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-12 22:08-0500\n" +"PO-Revision-Date: 2021-08-04 22:04+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/textwrap.rst:2 msgid ":mod:`textwrap` --- Text wrapping and filling" @@ -268,9 +268,7 @@ msgstr "" "caracteres de tabulación en *text* se expandirán a cero o más espacios, " "dependiendo de la columna actual y el tamaño de tabulación dado." -# carriage return -- retorno final de carro #: ../Doc/library/textwrap.rst:179 -#, fuzzy msgid "" "(default: ``True``) If true, after tab expansion but before wrapping, the :" "meth:`wrap` method will replace each whitespace character with a single " @@ -367,9 +365,7 @@ msgstr "y \"Spot.\" en::" msgid ":attr:`fix_sentence_endings` is false by default." msgstr ":attr:`fix_sentence_endings` es falso por defecto." -# lowecase letter #: ../Doc/library/textwrap.rst:241 -#, fuzzy msgid "" "Since the sentence detection algorithm relies on ``string.lowercase`` for " "the definition of \"lowercase letter\", and a convention of using two spaces " @@ -377,7 +373,7 @@ msgid "" "English-language texts." msgstr "" "Dado que el algoritmo de detección de oraciones se basa en ``string." -"lowercase`` para la definición de \"*lowercase letter*\", y en la convención " +"lowercase`` para la definición de \"letra en minúscula\", y en la convención " "de utilizar dos espacios después de un punto para separar las oraciones en " "la misma línea, es específico para los textos en inglés." @@ -396,9 +392,7 @@ msgstr "" "pondrán en una línea por sí mismas, para minimizar la cantidad en que se " "excede :attr:`width`)." -# insecable words #: ../Doc/library/textwrap.rst:258 -#, fuzzy msgid "" "(default: ``True``) If true, wrapping will occur preferably on whitespaces " "and right after hyphens in compound words, as it is customary in English. If " @@ -407,14 +401,13 @@ msgid "" "want truly insecable words. Default behaviour in previous versions was to " "always allow breaking hyphenated words." msgstr "" -"(default: ``True``) Si es verdadero, la envoltura se producirá " -"preferentemente en espacios en blanco y justo después de los guiones en las " -"palabras compuestas, como es costumbre en inglés. Si es falso, sólo los " -"espacios en blanco se considerarán como lugares potencialmente buenos para " -"saltos de línea, pero es necesario establecer :attr:`break_long_words` a " -"falso si se quieren palabras verdaderamente inseguras. El comportamiento " -"por defecto en las versiones anteriores era permitir siempre la ruptura de " -"palabras con guión." +"(predeterminado: ``True``) Si es verdadero, el ajuste se producirá " +"preferiblemente en espacios en blanco y justo después de los guiones en " +"palabras compuestas, como es habitual en inglés. Si es falso, solo los " +"espacios en blanco se considerarán lugares potencialmente buenos para los " +"saltos de línea, pero debe establecer :attr:`break_long_words` en falso si " +"desea palabras verdaderamente insecables. El comportamiento predeterminado " +"en versiones anteriores era permitir siempre romper palabras con guiones." #: ../Doc/library/textwrap.rst:268 msgid "" diff --git a/library/timeit.po b/library/timeit.po index daf125bdc5..e1d9416f4a 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-24 12:05+0200\n" +"PO-Revision-Date: 2021-08-04 22:01+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/timeit.rst:2 msgid ":mod:`timeit` --- Measure execution time of small code snippets" @@ -103,9 +103,7 @@ msgstr "" msgid "The optional *globals* parameter was added." msgstr "El parámetro opcional *globals* fue añadido." -# No estoy seguro cómo organizar los argumentos "repeat" y "number" #: ../Doc/library/timeit.rst:78 -#, fuzzy msgid "" "Create a :class:`Timer` instance with the given statement, *setup* code and " "*timer* function and run its :meth:`.repeat` method with the given *repeat* " diff --git a/library/turtle.po b/library/turtle.po index 70b890facc..7390c12530 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-03-03 21:47-0300\n" +"PO-Revision-Date: 2021-08-04 22:07+0200\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" +"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 3.0\n" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" @@ -984,17 +985,16 @@ 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\"." msgstr "" -"Devuelve el ángulo entre la línea en la posición de la tortuga a la posición " +"Retorna 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 " "posición inicial de la tortuga, que depende del modo - \"standard\"/\"world" -"\" o \"logo\")." +"\" o \"logo\"." #: ../Doc/library/turtle.rst:677 msgid "Return the turtle's x coordinate." @@ -1398,18 +1398,17 @@ msgid "a triple (fontname, fontsize, fonttype)" msgstr "un trio (nombre de fuente, tamaño de fuente, tipo de fuente)" #: ../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``." 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* " -"(\"*left*\", \"*center*\" o \"*right*\") y con la fuente que se estableció. " -"Si *move* es verdadero, el lápiz se mueve a la esquina inferior derecha del " -"texto. Por defecto, *move* es ``False``." +"Escribe texto - la representación de cadena de caracteres de *arg* - en la " +"posición actual de la tortuga de acuerdo con *align* (\"izquierda\", \"centro" +"\" o \"derecha\") y con la fuente dada. Si *mov* es verdadero, el lápiz se " +"mueve a la esquina inferior derecha del texto. De forma predeterminada, " +"*move* es ``False``." #: ../Doc/library/turtle.rst:1125 msgid "" @@ -1485,13 +1484,12 @@ 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:1195 -#, fuzzy msgid "" "``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." +"``resizemode(\"user\")`` es llamado por la función :func:`shapesize` cuando " +"se usa con argumentos." #: ../Doc/library/turtle.rst:1210 ../Doc/library/turtle.rst:1211 #: ../Doc/library/turtle.rst:1212 @@ -1586,7 +1584,6 @@ msgstr "" "tortuga." #: ../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 " @@ -1595,13 +1592,13 @@ msgid "" "otherwise an error is raised. Modify stretchfactor, shearfactor and " "tiltangle according to the given matrix." msgstr "" -"Si no se proporciona ninguno de los elementos de la matriz, devuelve la " +"Si no se proporciona ninguno de los elementos de la matriz, retorna la " "matriz de transformación como una tupla de 4 elementos. De lo contrario, " "establezca los elementos dados y transforme la forma de tortuga de acuerdo " -"con la matriz consistente en una primer columna t11, t12 y la segunda " -"columna t21, 22. El determinante t11 * t22 - t12 * t21 no debe ser cero, de " -"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." +"con la matriz que consta de la primera fila t11, t12 y la segunda fila t21, " +"t22. El determinante t11 * t22 - t12 * t21 no debe ser cero, de lo contrario " +"se genera un error. Modifique el factor de estiramiento, el factor de corte " +"y el ángulo de inclinación de acuerdo con la matriz dada." #: ../Doc/library/turtle.rst:1351 msgid "" @@ -1731,18 +1728,17 @@ msgid "an integer or ``None``" msgstr "un entero o ``None``" #: ../Doc/library/turtle.rst:1516 -#, fuzzy msgid "" "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." msgstr "" -"Establece o deshabilita el buffer para deshacer acciones. Si *size* es un " -"entero se instala un buffer para deshacer acciones del tamaño. *size* da el " -"máximo número de acciones que la tortuga puede deshacer con la función o " -"método :func:`undo`. Si *size* es ``None``, se deshabilita el buffer para " -"deshacer acciones." +"Establecer o deshabilitar deshacer búfer. Si *size* es un número entero, se " +"instala un búfer de deshacer vacío de un tamaño determinado. *size* da el " +"número máximo de acciones de tortuga que se pueden deshacer mediante el " +"método/función :func:`undo`. Si *size* es ``None``, el búfer para deshacer " +"está deshabilitado." #: ../Doc/library/turtle.rst:1529 msgid "Return number of entries in the undobuffer." @@ -2032,13 +2028,12 @@ msgstr "" "``None``, los vínculos existentes son removidos." #: ../Doc/library/turtle.rst:1823 -#, fuzzy msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " "named ``turtle``:" msgstr "" -"Ejemplo de una instancia *TurtleScreen* llamada ``screen`` y una instancia " -"*Turtle* llamada turtle:" +"Ejemplo de una instancia TurtleScreen llamada ``screen`` y una instancia " +"Turtle llamada ``turtle``:" #: ../Doc/library/turtle.rst:1834 msgid "" @@ -2264,9 +2259,8 @@ msgid "Shut the turtlegraphics window." msgstr "Apaga la ventana gráfica de la tortuga." #: ../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." +msgstr "Ata el método ``bye()`` al click del ratón sobre la pantalla." #: ../Doc/library/turtle.rst:2054 msgid "" diff --git a/library/unicodedata.po b/library/unicodedata.po index b9bcc78bc8..b21659fe9b 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 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" +"PO-Revision-Date: 2021-08-04 22:02+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" +"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 3.0\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 " @@ -35,8 +35,8 @@ msgid "" msgstr "" "Este módulo proporciona acceso a la base de datos de caracteres Unicode " "(UCD), que define las propiedades de todos los caracteres Unicode. Los datos " -"contenidos en esta base de datos se compilan a partir de `UCD versión 12.1.0 " -"`_." +"contenidos en esta base de datos se compilan a partir de la `UCD versión " +"13.0.0 `_." #: ../Doc/library/unicodedata.rst:23 msgid "" @@ -264,11 +264,9 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/unicodedata.rst:178 -#, 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" +msgstr "https://www.unicode.org/Public/13.0.0/ucd/NameAliases.txt" #: ../Doc/library/unicodedata.rst:180 -#, 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" +msgstr "https://www.unicode.org/Public/13.0.0/ucd/NamedSequences.txt" diff --git a/library/uuid.po b/library/uuid.po index cb2084174b..75e0e550df 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -9,14 +9,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-05-15 11:57-0500\n" +"PO-Revision-Date: 2021-08-04 22:03+0200\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" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 1.8.11\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/uuid.rst:2 msgid ":mod:`uuid` --- UUID objects according to :rfc:`4122`" @@ -65,12 +65,10 @@ msgstr "" "atributo :attr:`is_safe` que transmite cualquier información sobre la " "seguridad del UUID, usando esta enumeración:" -# multiprocessing-safe way, revisar en todo este archivo #: ../Doc/library/uuid.rst:34 -#, fuzzy msgid "The UUID was generated by the platform in a multiprocessing-safe way." msgstr "" -"El UUID fue generado por la plataforma de una manera segura de " +"El UUID fue generado por la plataforma de una manera segura para " "multiprocesamiento." #: ../Doc/library/uuid.rst:38 @@ -402,9 +400,10 @@ msgid "Reserved for future definition." msgstr "Reservado para una futura definición." #: ../Doc/library/uuid.rst:260 -#, fuzzy msgid ":rfc:`4122` - A Universally Unique IDentifier (UUID) URN Namespace" -msgstr ":rfc:`4122` - A Universally Unique IDentifier (UUID) URN Namespace" +msgstr "" +":rfc:`4122` - Un espacio de nombres URN de identificador único universal " +"(UUID)" #: ../Doc/library/uuid.rst:260 msgid "" From dcbd474d9047d39bc8ded06b50aea6f018570c16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 8 Aug 2021 00:23:41 +0200 Subject: [PATCH 38/94] Arreglando fuzzy y nuevas traducciones library/ (#1270) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Arreglando fuzzy y nuevas traducciones library/ * powrap y agregando palabras faltantes library/ * Agregar palabra al diccionario * Fix reference * Quitando párrafos inválidos --- dictionaries/library_collections.txt | 1 + library/__future__.po | 10 +-- library/abc.po | 24 +++-- library/argparse.po | 93 ++++++++++++++----- library/asyncio-sync.po | 7 +- library/audioop.po | 17 ++-- library/audit_events.po | 45 +++++----- library/binascii.po | 11 ++- library/bz2.po | 9 +- library/calendar.po | 12 +-- library/cgi.po | 17 ++-- library/code.po | 10 +-- library/codecs.po | 11 +-- library/collections.abc.po | 34 ++++--- library/collections.po | 17 ++-- library/colorsys.po | 8 +- library/compileall.po | 42 ++++++--- library/concurrent.futures.po | 67 +++++++------- library/constants.po | 58 ++++++------ library/contextvars.po | 11 +-- library/csv.po | 10 +-- library/ctypes.po | 111 +++++++++-------------- library/curses.po | 111 +++++++++++------------ library/dataclasses.po | 22 ++--- library/datetime.po | 129 ++++++++++++--------------- library/decimal.po | 14 +-- library/difflib.po | 20 ++--- library/dis.po | 75 ++++++++-------- 28 files changed, 514 insertions(+), 482 deletions(-) diff --git a/dictionaries/library_collections.txt b/dictionaries/library_collections.txt index 047041855e..d3716f013c 100644 --- a/dictionaries/library_collections.txt +++ b/dictionaries/library_collections.txt @@ -14,6 +14,7 @@ Django Enthought Factory factory +factoriza iteración mapeados mapping diff --git a/library/__future__.po b/library/__future__.po index 781593e1e2..dc7f614e39 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 10:36+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" +"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 3.0\n" #: ../Doc/library/__future__.rst:2 msgid ":mod:`__future__` --- Future statement definitions" @@ -279,9 +280,8 @@ msgid "3.7.0b1" msgstr "3.7.0b1" #: ../Doc/library/__future__.rst:93 -#, fuzzy msgid "3.10" -msgstr "3.0" +msgstr "3.10" #: ../Doc/library/__future__.rst:93 msgid ":pep:`563`: *Postponed evaluation of annotations*" diff --git a/library/abc.po b/library/abc.po index 8e70bb4fe8..d2948c3063 100644 --- a/library/abc.po +++ b/library/abc.po @@ -9,13 +9,13 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-07-11 13:59-0500\n" +"PO-Revision-Date: 2021-08-07 10:37+0200\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" -"Last-Translator: \n" -"X-Generator: Poedit 2.3.1\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"X-Generator: Poedit 3.0\n" "Language: es\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -41,7 +41,6 @@ msgstr "" "de tipos para números basados en CBAs.)" #: ../Doc/library/abc.rst:20 -#, fuzzy msgid "" "The :mod:`collections` module has some concrete classes that derive from " "ABCs; these can, of course, be further derived. In addition, the :mod:" @@ -49,11 +48,11 @@ msgid "" "class or instance provides a particular interface, for example, if it is " "hashable or if it is a mapping." msgstr "" -"El módulo :mod:`collections` tiene algunas clases concretas que derivan de " -"CBAs; estos pueden, por supuesto, ser derivados aún más. Además, el " -"submódulo :mod:`collections.abc` tiene algunos CBAs que se pueden utilizar " -"para probar si una clase o instancia proporciona una interfaz determinada, " -"por ejemplo, si es *hashable* o si es un *mapping*." +"El módulo :mod:`collections` tiene algunas clases concretas que se derivan " +"de ABC; estos, por supuesto, pueden derivarse más. Además, el submódulo :mod:" +"`collections.abc` tiene algunos ABC que se pueden usar para probar si una " +"clase o instancia proporciona una interfaz en particular, por ejemplo, si es " +"hash o si es un mapeo." #: ../Doc/library/abc.rst:27 msgid "" @@ -76,7 +75,6 @@ msgstr "" "confusos, por ejemplo::" #: ../Doc/library/abc.rst:41 -#, fuzzy msgid "" "Note that the type of :class:`ABC` is still :class:`ABCMeta`, therefore " "inheriting from :class:`ABC` requires the usual precautions regarding " @@ -86,9 +84,9 @@ msgid "" msgstr "" "Tenga en cuenta que el tipo de :class:`ABC` sigue siendo :class:`ABCMeta`, " "por lo tanto, heredar de :class:`ABC` requiere las precauciones habituales " -"respecto al uso de metaclases, ya que la herencia múltiple puede dar lugar a " -"conflictos de metaclases. También se puede definir una clase de base " -"abstracta pasando la palabra clave *metaclass* y utilizando :class:`ABCMeta` " +"con respecto al uso de metaclases, ya que la herencia múltiple puede dar " +"lugar a conflictos de metaclases. También se puede definir una clase base " +"abstracta pasando la palabra clave metaclase y usando :class:`ABCMeta` " "directamente, por ejemplo::" #: ../Doc/library/abc.rst:57 diff --git a/library/argparse.po b/library/argparse.po index 222f364025..298b87c381 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-26 23:50+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10:59+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" +"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 3.0\n" #: ../Doc/library/argparse.rst:2 msgid "" @@ -282,6 +283,8 @@ msgid "" "exit_on_error_ - Determines whether or not ArgumentParser exits with error " "info when an error occurs. (default: ``True``)" msgstr "" +"exit_on_error_ - Determina si ArgumentParser sale o no con información de " +"error cuando se produce un error. (predeterminado: ``True``)" #: ../Doc/library/argparse.rst:185 msgid "*allow_abbrev* parameter was added." @@ -296,9 +299,8 @@ msgstr "" "de banderas (*flags*) cortas como ``-vv`` para que sea ``-v -v``." #: ../Doc/library/argparse.rst:192 -#, fuzzy msgid "*exit_on_error* parameter was added." -msgstr "se añadió el parámetro *allow_abbrev*." +msgstr "Se agregó el parámetro *exit_on_error*." #: ../Doc/library/argparse.rst:195 ../Doc/library/argparse.rst:715 msgid "The following sections describe how each of these are used." @@ -747,27 +749,25 @@ msgstr "" #: ../Doc/library/argparse.rst:657 msgid "exit_on_error" -msgstr "" +msgstr "exit_on_error" #: ../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." +"Normalmente, cuando pasa una lista de argumentos no válidos al método :meth:" +"`~ArgumentParser.parse_args` de un :class:`ArgumentParser`, saldrá con " +"información de error." #: ../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``::" +"Si el usuario desea detectar errores manualmente, la función se puede " +"habilitar configurando ``exit_on_error`` en ``False``::" #: ../Doc/library/argparse.rst:679 msgid "The add_argument() method" @@ -811,13 +811,12 @@ msgstr "" "const_ - Un valor fijo requerido por algunas selecciones de action_ y nargs_." #: ../Doc/library/argparse.rst:698 -#, fuzzy msgid "" "default_ - The value produced if the argument is absent from the command " "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." +"default_ - El valor producido si el argumento está ausente en la línea de " +"comando y si está ausente en el objeto de espacio de nombres." #: ../Doc/library/argparse.rst:701 msgid "" @@ -1015,18 +1014,20 @@ msgid "" "``BooleanOptionalAction`` is available in ``argparse`` and adds support for " "boolean actions such as ``--foo`` and ``--no-foo``::" msgstr "" +"También puede especificar una acción arbitraria pasando una subclase de " +"Acción u otro objeto que implemente la misma interfaz. " +"``BooleanOptionalAction`` está disponible en ``argparse`` y agrega soporte " +"para acciones booleanas como ``--foo`` y ``--no-foo``:" #: ../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__``." +"La forma recomendada de crear una acción personalizada es extender :class:" +"`Action`, anulando el método ``__call__`` y, opcionalmente, los métodos " +"``__init__`` y ``format_usage``." #: ../Doc/library/argparse.rst:860 msgid "An example of a custom action::" @@ -1207,6 +1208,8 @@ msgid "" "If the target namespace already has an attribute set, the action *default* " "will not over write it::" msgstr "" +"Si el espacio de nombres de destino ya tiene un atributo establecido, la " +"acción *default* no lo sobrescribirá:" #: ../Doc/library/argparse.rst:1017 msgid "" @@ -1251,12 +1254,21 @@ msgid "" "keyword for :meth:`~ArgumentParser.add_argument` allows any necessary type-" "checking and type conversions to be performed." msgstr "" +"De forma predeterminada, el analizador lee los argumentos de la línea de " +"comandos como cadenas simples. Sin embargo, a menudo, la cadena de la línea " +"de comandos debe interpretarse como otro tipo, como :class:`float` o :class:" +"`int`. La palabra clave ``type`` para :meth:`~ArgumentParser.add_argument` " +"permite realizar cualquier verificación de tipo y conversión de tipo " +"necesaria." #: ../Doc/library/argparse.rst:1059 msgid "" "If the type_ keyword is used with the default_ keyword, the type converter " "is only applied if the default is a string." msgstr "" +"Si la palabra clave type_ se usa con la palabra clave default_, el " +"convertidor de tipos solo se aplica si el valor predeterminado es una cadena " +"de caracteres." #: ../Doc/library/argparse.rst:1062 msgid "" @@ -1265,14 +1277,21 @@ msgid "" "`ValueError`, the exception is caught and a nicely formatted error message " "is displayed. No other exception types are handled." msgstr "" +"El argumento para ``type`` puede ser cualquier invocable que acepte una sola " +"cadena de caracteres. Si la función lanza :exc:`ArgumentTypeError`, :exc:" +"`TypeError`, o :exc:`ValueError`, se detecta la excepción y se muestra un " +"mensaje de error con un formato agradable. No se manejan otros tipos de " +"excepciones." #: ../Doc/library/argparse.rst:1067 msgid "Common built-in types and functions can be used as type converters:" msgstr "" +"Los tipos y funciones incorporados comunes se pueden utilizar como " +"convertidores de tipos:" #: ../Doc/library/argparse.rst:1083 msgid "User defined functions can be used as well:" -msgstr "" +msgstr "Las funciones definidas por el usuario también se pueden utilizar:" #: ../Doc/library/argparse.rst:1095 msgid "" @@ -1280,6 +1299,9 @@ msgid "" "does is convert empty strings to ``False`` and non-empty strings to " "``True``. This is usually not what is desired." msgstr "" +"La función :func:`bool` no se recomienda como convertidor de tipos. Todo lo " +"que hace es convertir cadenas de caracteres vacías en ``False`` y cadenas de " +"caracteres no vacías en ``True``. Por lo general, esto no es lo que se desea." #: ../Doc/library/argparse.rst:1099 msgid "" @@ -1288,6 +1310,11 @@ msgid "" "exceptions. Anything with more interesting error-handling or resource " "management should be done downstream after the arguments are parsed." msgstr "" +"En general, la palabra clave ``type`` es una conveniencia que solo debe " +"usarse para conversiones simples que solo pueden generar una de las tres " +"excepciones admitidas. Cualquier cosa con un manejo de errores o de recursos " +"más interesante debe hacerse en sentido descendente después de analizar los " +"argumentos." #: ../Doc/library/argparse.rst:1104 msgid "" @@ -1296,6 +1323,10 @@ msgid "" "JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` " "exception would not be handled at all." msgstr "" +"Por ejemplo, las conversiones JSON o YAML tienen casos de error complejos " +"que requieren mejores informes que los que puede proporcionar la palabra " +"clave ``type``. Un :exc:`~json.JSONDecodeError` no estaría bien formateado y " +"una excepción :exc:`FileNotFound` no se manejaría en absoluto." #: ../Doc/library/argparse.rst:1109 msgid "" @@ -1305,12 +1336,20 @@ msgid "" "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 "" +"Even :class:`~argparse.FileType` tiene sus limitaciones para su uso con la " +"palabra clave ``type``. Si un argumento usa *FileType* y luego falla un " +"argumento posterior, se informa un error pero el archivo no se cierra " +"automáticamente. En este caso, sería mejor esperar hasta que se haya " +"ejecutado el analizador y luego usar la declaración :keyword:`with` para " +"administrar los archivos." #: ../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 "" +"Para los verificadores de tipo que simplemente verifican un conjunto fijo de " +"valores, considere usar la palabra clave choice_ en su lugar." #: ../Doc/library/argparse.rst:1120 msgid "choices" @@ -1356,6 +1395,8 @@ msgid "" "Use of :class:`enum.Enum` is not recommended because it is difficult to " "control its appearance in usage, help, and error messages." msgstr "" +"No se recomienda el uso de :class:`enum.Enum` porque es difícil controlar su " +"apariencia en el uso, la ayuda y los mensajes de error." #: ../Doc/library/argparse.rst:1155 msgid "" @@ -1364,6 +1405,10 @@ msgid "" "*dest* parameter. If this display isn't desirable (perhaps because there " "are many choices), just specify an explicit metavar_." msgstr "" +"Las opciones formateadas anulan el *metavar* predeterminado que normalmente " +"se deriva de *dest*. Esto suele ser lo que desea porque el usuario nunca ve " +"el parámetro *dest*. Si esta visualización no es deseable (quizás porque hay " +"muchas opciones), simplemente especifique un metavar_ explícito." #: ../Doc/library/argparse.rst:1162 msgid "required" @@ -1644,6 +1689,10 @@ msgid "" "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 "" +"Las subclases de acción pueden definir un método ``format_usage`` que no " +"toma ningún argumento y devuelve una cadena que se utilizará al imprimir el " +"uso del programa. Si no se proporciona dicho método, se utilizará un valor " +"predeterminado razonable." #: ../Doc/library/argparse.rst:1393 msgid "The parse_args() method" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index d72c0ec40d..21b6ee2687 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-08-04 13:43+0200\n" +"PO-Revision-Date: 2021-08-07 10:35+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" @@ -458,12 +458,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)``) was " "removed. Use ``async with lock`` instead." msgstr "" -"Adquirir un bloqueo usando ``await lock`` o ``yield from lock`` y/o la " +"Adquirir un bloqueo usando ``await lock`` o ``yield from lock`` o una " "declaración :keyword:`with` (``with await lock``, ``with (yield from " -"lock)``) está obsoleto. En su lugar, se debe usar ``async with lock``." +"lock)``) se eliminó . En su lugar, use ``async with lock``." diff --git a/library/audioop.po b/library/audioop.po index 0aac89cb67..710e38f5cb 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-09-28 18:25-0500\n" +"PO-Revision-Date: 2021-08-07 10:34+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/audioop.rst:2 msgid ":mod:`audioop` --- Manipulate raw audio data" @@ -214,7 +214,6 @@ msgstr "" "convertirse en un estándar." #: ../Doc/library/audioop.rst:134 -#, fuzzy msgid "" "*state* is a tuple containing the state of the coder. The coder returns a " "tuple ``(adpcmfrag, newstate)``, and the *newstate* should be passed to the " @@ -222,11 +221,11 @@ msgid "" "as the state. *adpcmfrag* is the ADPCM coded fragment packed 2 4-bit values " "per byte." msgstr "" -"*state* es una tupla que contiene el estado del codificador. El codificador " -"retorna una tupla ``(adpcmfrag, newstate)``, y el *newstate* debe ser pasado " -"en la siguiente llamada de :func:`lin2adpcm`. En la llamada inicial, Se " -"puede pasar ``None`` como el estado. *adpcmfrag* es el fragmento codificado " -"con 2 a 4 bits de valores comprimidos por byte." +"*state* es una tupla que contiene el estado del codificador. El codificador " +"retorna una tupla ``(adpcmfrag, newstate)``, y el *newstate* debe pasarse a " +"la siguiente llamada de :func:`lin2adpcm`. En la llamada inicial, se puede " +"pasar ``None`` como estado. *adpcmfrag* es el fragmento codificado ADPCM " +"empaquetado 2 valores de 4 bits por byte." #: ../Doc/library/audioop.rst:142 msgid "" diff --git a/library/audit_events.po b/library/audit_events.po index ed7c5087fa..0f3cf663a1 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -4,21 +4,21 @@ # package. # FIRST AUTHOR , 2020. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\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: Xavi Rambla\n" +"PO-Revision-Date: 2021-08-07 10:33+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: 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 3.0\n" #: ../Doc/library/audit_events.rst:6 msgid "Audit events table" @@ -59,74 +59,77 @@ msgid "" "The following events are raised internally and do not correspond to any " "public API of CPython:" msgstr "" +"Los siguientes eventos se generan internamente y no corresponden a ninguna " +"API pública de CPython:" #: ../Doc/library/audit_events.rst:27 -#, fuzzy msgid "Audit event" -msgstr "Tabla de auditoría de eventos" +msgstr "Evento de auditoría" #: ../Doc/library/audit_events.rst:27 msgid "Arguments" -msgstr "" +msgstr "Argumentos" #: ../Doc/library/audit_events.rst:29 msgid "_winapi.CreateFile" -msgstr "" +msgstr "_winapi.CreateFile" #: ../Doc/library/audit_events.rst:29 msgid "" "``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " "``flags_and_attributes``" msgstr "" +"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " +"``flags_and_attributes``" #: ../Doc/library/audit_events.rst:33 msgid "_winapi.CreateJunction" -msgstr "" +msgstr "_winapi.CreateJunction" #: ../Doc/library/audit_events.rst:33 msgid "``src_path``, ``dst_path``" -msgstr "" +msgstr "``src_path``, ``dst_path``" #: ../Doc/library/audit_events.rst:35 msgid "_winapi.CreateNamedPipe" -msgstr "" +msgstr "_winapi.CreateNamedPipe" #: ../Doc/library/audit_events.rst:35 msgid "``name``, ``open_mode``, ``pipe_mode``" -msgstr "" +msgstr "``name``, ``open_mode``, ``pipe_mode``" #: ../Doc/library/audit_events.rst:37 msgid "_winapi.CreatePipe" -msgstr "" +msgstr "_winapi.CreatePipe" #: ../Doc/library/audit_events.rst:39 msgid "_winapi.CreateProcess" -msgstr "" +msgstr "_winapi.CreateProcess" #: ../Doc/library/audit_events.rst:39 msgid "``application_name``, ``command_line``, ``current_directory``" -msgstr "" +msgstr "``application_name``, ``command_line``, ``current_directory``" #: ../Doc/library/audit_events.rst:42 msgid "_winapi.OpenProcess" -msgstr "" +msgstr "_winapi.OpenProcess" #: ../Doc/library/audit_events.rst:42 msgid "``process_id``, ``desired_access``" -msgstr "" +msgstr "``process_id``, ``desired_access``" #: ../Doc/library/audit_events.rst:44 msgid "_winapi.TerminateProcess" -msgstr "" +msgstr "_winapi.TerminateProcess" #: ../Doc/library/audit_events.rst:44 msgid "``handle``, ``exit_code``" -msgstr "" +msgstr "``handle``, ``exit_code``" #: ../Doc/library/audit_events.rst:46 msgid "ctypes.PyObj_FromPtr" -msgstr "" +msgstr "ctypes.PyObj_FromPtr" #: ../Doc/library/audit_events.rst:46 msgid "``obj``" -msgstr "" +msgstr "``obj``" diff --git a/library/binascii.po b/library/binascii.po index 880f8ec11a..344d6844bb 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-15 21:14-0500\n" +"PO-Revision-Date: 2021-08-07 10:32+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_CO\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/binascii.rst:2 msgid ":mod:`binascii` --- Convert between binary and ASCII" @@ -308,12 +308,11 @@ msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" #: ../Doc/library/binascii.rst:202 -#, fuzzy msgid "" "Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85." msgstr "" -"Soporte para compatibilidad con RFC de codificación de estilo base64 en " -"base 16, 32, 64 y 85." +"Soporte para compatibilidad con RFC de codificación de estilo base64 en base " +"16, 32, 64 y 85." #: ../Doc/library/binascii.rst:206 msgid "Module :mod:`binhex`" diff --git a/library/bz2.po b/library/bz2.po index 935f880c8c..244f87a78f 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -12,15 +12,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 19:37+0200\n" -"Last-Translator: Santiago E Fraire Willemoes \n" +"PO-Revision-Date: 2021-08-07 10:32+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: en_GB\n" "Language-Team: English - United Kingdom \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 3.0\n" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -404,7 +405,7 @@ msgstr "" #: ../Doc/library/bz2.rst:209 msgid "Added the *max_length* parameter." -msgstr "Añadido el parámetro *max_length*" +msgstr "Añadido el parámetro *max_length*." #: ../Doc/library/bz2.rst:214 msgid "``True`` if the end-of-stream marker has been reached." diff --git a/library/calendar.po b/library/calendar.po index e07773c820..5a14d6184d 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-30 10:11-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10:31+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/library/calendar.rst:2 msgid ":mod:`calendar` --- General calendar-related functions" @@ -503,15 +504,14 @@ 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 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 " -"representa una semana; los días fuera del mes están representados por ceros. " -"Cada semana comienza con el lunes, a menos que se establezca por :func:" +"representa una semana; los días fuera del mes se representan con ceros. Cada " +"semana comienza con el lunes a menos que lo establezca :func:" "`setfirstweekday`." #: ../Doc/library/calendar.rst:358 diff --git a/library/cgi.po b/library/cgi.po index dd8abd2bb6..f01eaac83f 100644 --- a/library/cgi.po +++ b/library/cgi.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-22 15:27-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10: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" +"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 3.0\n" #: ../Doc/library/cgi.rst:2 msgid ":mod:`cgi` --- Common Gateway Interface support" @@ -485,15 +486,15 @@ 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*, *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 " -"*strict_parsing* se pasan a :func:`urllib.parse.parse_qs` sin cambios." +"Analiza una consulta en el entorno o desde un archivo (el archivo " +"predeterminado es ``sys.stdin``). Los parámetros *keep_blank_values*, " +"*strict_parsing* y *separator* se pasan a :func:`urllib.parse.parse_qs` sin " +"cambios." #: ../Doc/library/cgi.rst:289 msgid "" @@ -539,7 +540,7 @@ msgstr "" #: ../Doc/library/cgi.rst:306 msgid "Added the *separator* parameter." -msgstr "" +msgstr "Agregado el parámetro *separator*." #: ../Doc/library/cgi.rst:312 msgid "" diff --git a/library/code.po b/library/code.po index 1386bdfc0f..3a24c0dc8c 100644 --- a/library/code.po +++ b/library/code.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-04 14:57-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10:30+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" +"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 3.0\n" #: ../Doc/library/code.rst:2 msgid ":mod:`code` --- Interpreter base classes" @@ -110,7 +111,6 @@ 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 " @@ -120,7 +120,7 @@ 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 " "``''``; y *symbol* es el símbolo de inicio gramatical opcional, que " -"debería ser ``'single'`` (el predeterminado) o ``'eval'``." +"debería ser ``'single'`` (el predeterminado), ``'eval'`` o ``'exec'``." #: ../Doc/library/code.rst:62 msgid "" diff --git a/library/codecs.po b/library/codecs.po index dbcd016e5d..d15fdd965b 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-24 19:55+0200\n" +"PO-Revision-Date: 2021-08-07 10:29+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" +"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 3.0\n" #: ../Doc/library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" @@ -1222,9 +1223,9 @@ msgstr "" "no admiten este método." #: ../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." +msgstr "" +"Restablece los búfers de códec utilizados para mantener el estado interno." #: ../Doc/library/codecs.rst:699 msgid "" @@ -2923,7 +2924,7 @@ msgstr "" "Codificación adecuada como contenido de un literal Unicode en código fuente " "Python codificado en ASCII, excepto que no se escapan las comillas. " "Decodificar desde el código fuente Latin-1. Tenga en cuenta que el código " -"fuente de Python realmente usa UTF-8 por defecto" +"fuente de Python realmente usa UTF-8 por defecto." #: ../Doc/library/codecs.rst:1319 msgid "\"unicode_internal\" codec is removed." diff --git a/library/collections.abc.po b/library/collections.abc.po index 7b6f72738d..0144f26450 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-11 10:01-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10:29+0200\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" +"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 3.0\n" #: ../Doc/library/collections.abc.rst:2 msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers" @@ -335,24 +336,20 @@ msgid "``aclose``, ``__aiter__``, ``__anext__``" msgstr "``aclose``, ``__aiter__``, ``__anext__``" #: ../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__`." +msgstr "ABC para clases que proporcionan el método :meth:`__contains__`." #: ../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__`." +msgstr "ABC para clases que proporcionan el método :meth:`__hash__`." #: ../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__`." +msgstr "ABC para clases que proporcionan el método :meth:`__len__`." #: ../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__`." +msgstr "ABC para clases que proporcionan el método :meth:`__call__`." #: ../Doc/library/collections.abc.rst:118 msgid "ABC for classes that provide the :meth:`__iter__` method." @@ -454,7 +451,6 @@ msgstr "" "método :meth:`__await__`." #: ../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." @@ -560,7 +556,6 @@ msgstr "" "Notas sobre el uso de :class:`Set` y :class:`MutableSet` como un mixin:" #: ../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 " @@ -574,13 +569,14 @@ msgid "" msgstr "" "Dado que algunas operaciones de conjuntos crean nuevos conjuntos, los " "métodos mixin predeterminados necesitan una forma de crear nuevas instancias " -"desde un iterable. Se supone que el constructor de la clase tiene una firma " -"en el formato ``ClassName (iterable)``. Esa suposición se tiene en cuenta " -"para una clase interna llamada :meth:`_from_iterable` que llama a " +"a partir de un iterable. Se supone que el constructor de la clase tiene una " +"firma con el formato ``ClassName(iterable)``. Esa suposición se factoriza en " +"un método de clase interno llamado :meth:`_from_iterable` que llama a " "``cls(iterable)`` para producir un nuevo conjunto. Si el mixin :class:`Set` " -"se está utilizando en una clase con una firma de constructor diferente, " -"deberá reemplazar :meth:`_from_iterable` con un método de clase que pueda " -"construir nuevas instancias a partir de un argumento iterable." +"se está usando en una clase con una firma de constructor diferente, " +"necesitarás anular :meth:`_from_iterable` con un método de clase o método " +"regular que pueda construir nuevas instancias a partir de un argumento " +"iterable." #: ../Doc/library/collections.abc.rst:298 msgid "" diff --git a/library/collections.po b/library/collections.po index 5ecd5ae5f5..b556cca366 100644 --- a/library/collections.po +++ b/library/collections.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 10: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" +"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 3.0\n" #: ../Doc/library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" @@ -277,6 +278,8 @@ msgstr "" #: ../Doc/library/collections.rst:119 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" +"Se agregó soporte para los operadores ``|`` y ``|=``, especificados en :pep:" +"`584`." #: ../Doc/library/collections.rst:124 msgid "" @@ -291,7 +294,6 @@ msgstr "" "admitir la escritura en cualquier mapeo de la cadena." #: ../Doc/library/collections.rst:130 -#, fuzzy msgid "" "Django's `Context class `_ for templating is a read-only chain of mappings. It " @@ -301,7 +303,7 @@ msgid "" msgstr "" "La clase de Django `Context `_ para crear plantillas es una cadena de mapeo " -"de solo lectura. También presenta características de pushing y popping de " +"de solo lectura. También presenta características de pushing y popping de " "contextos similar al método :meth:`~collections.ChainMap.new_child` y a la " "propiedad :attr:`~collections.ChainMap.parents` ." @@ -1022,6 +1024,8 @@ msgstr "" msgid "" "Added merge (``|``) and update (``|=``) operators, specified in :pep:`584`." msgstr "" +"Se agregaron los operadores unir (``|``) y actualizar (``|=``), " +"especificados en :pep:`584`." #: ../Doc/library/collections.rst:741 msgid ":class:`defaultdict` Examples" @@ -1203,6 +1207,8 @@ msgid "" "To support pickling, the named tuple class should be assigned to a variable " "that matches *typename*." msgstr "" +"Para admitir el serializado (*pickling*), la clase tupla con nombre debe " +"asignarse a una variable que coincida con *typename*." #: ../Doc/library/collections.rst:855 msgid "Added support for *rename*." @@ -1669,7 +1675,6 @@ msgstr "" "class:`UserList` ." #: ../Doc/library/collections.rst:1230 -#, fuzzy msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " "to offer a constructor which can be called with either no arguments or one " diff --git a/library/colorsys.po b/library/colorsys.po index 48a0149166..12413731cd 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-05 15:02+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 10:24+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/library/colorsys.rst:2 msgid ":mod:`colorsys` --- Conversions between color systems" @@ -51,7 +52,6 @@ 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 https://poynton.ca/" "ColorFAQ.html and https://www.cambridgeincolour.com/tutorials/color-spaces." diff --git a/library/compileall.po b/library/compileall.po index a88b0d92f1..2bfdb0fafe 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-31 22:48-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 16: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" +"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 3.0\n" #: ../Doc/library/compileall.rst:2 msgid ":mod:`compileall` --- Byte-compile Python libraries" @@ -109,6 +110,8 @@ msgid "" "Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the " "``.pyc`` files. Cannot be combined with ``-d``." msgstr "" +"Elimina (``-s``) o agrega (``-p``) el prefijo dado de rutas registradas en " +"los archivos ``.pyc``. No se puede combinar con ``-d``." #: ../Doc/library/compileall.rst:64 msgid "" @@ -190,16 +193,20 @@ msgid "" "compile for multiple levels at a time (for example, ``compileall -o 1 -o " "2``)." msgstr "" +"Compila con el nivel de optimización dado. Puede usarse varias veces para " +"compilar varios niveles a la vez (por ejemplo, ``compileall -o 1 -o 2``)." #: ../Doc/library/compileall.rst:114 msgid "Ignore symlinks pointing outside the given directory." -msgstr "" +msgstr "Ignora los enlaces simbólicos que apuntan fuera del directorio dado." #: ../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 "" +"Si dos archivos ``.pyc`` con diferente nivel de optimización tienen el mismo " +"contenido, use enlaces físicos para consolidar los archivos duplicados." #: ../Doc/library/compileall.rst:121 msgid "Added the ``-i``, ``-b`` and ``-h`` options." @@ -225,6 +232,10 @@ msgid "" "the default recursion limit from 10 to :py:func:`sys.getrecursionlimit()`. " "Added the possibility to specify the ``-o`` option multiple times." msgstr "" +"Se agregaron las opciones ``-s``, ``-p``, ``-e`` y ``--hardlink-dupes``. Se " +"elevó el límite de recursividad predeterminado de 10 a :py:func:`sys." +"getrecursionlimit()`. Se agregó la posibilidad de especificar la opción ``-" +"o`` varias veces." #: ../Doc/library/compileall.rst:139 msgid "" @@ -264,13 +275,12 @@ msgstr "" "y un valor falso en el caso contrario." #: ../Doc/library/compileall.rst:157 -#, fuzzy msgid "" "The *maxlevels* parameter is used to limit the depth of the recursion; it " "defaults to ``sys.getrecursionlimit()``." msgstr "" "El parámetro *maxlevels* se usar para limitar la profundidad de la " -"recursión; toma como valor predeterminado ``10``." +"recursión; toma como valor predeterminado ``sys.getrecursionlimit()``." #: ../Doc/library/compileall.rst:160 msgid "" @@ -331,7 +341,6 @@ msgstr "" "coexistan." #: ../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. Accepts also a sequence of " @@ -339,7 +348,9 @@ msgid "" "file in one call." msgstr "" "*optimize* especifica el nivel de optimización para el compilador. Se pasa a " -"una función incorporada :func:`compile`." +"una función incorporada :func:`compile`. Acepta también una secuencia de " +"niveles de optimización que conducen a múltiples compilaciones de un " +"archivo :file:`.py` en una llamada." #: ../Doc/library/compileall.rst:187 msgid "" @@ -373,6 +384,9 @@ msgid "" "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " "``str``, ``bytes`` or :py:class:`os.PathLike`." msgstr "" +"Los argumentos *stripdir*, *prependdir* y *limit_sl_dest* corresponden a las " +"opciones ``-s``, ``-p`` y ``-e`` descritas anteriormente. Pueden " +"especificarse como ``str``, ``bytes`` o :py:class:`os.PathLike`." #: ../Doc/library/compileall.rst:202 ../Doc/library/compileall.rst:271 msgid "" @@ -380,6 +394,9 @@ msgid "" "optimization level have the same content, use hard links to consolidate " "duplicate files." msgstr "" +"Si *hardlink_dupes* es verdadero y dos archivos ``.pyc`` con diferente nivel " +"de optimización tienen el mismo contenido, use enlaces físicos para " +"consolidar los archivos duplicados." #: ../Doc/library/compileall.rst:205 ../Doc/library/compileall.rst:302 msgid "Added the *legacy* and *optimize* parameter." @@ -429,6 +446,9 @@ msgid "" "arguments. Default value of *maxlevels* was changed from ``10`` to ``sys." "getrecursionlimit()``" msgstr "" +"Se agregaron los argumentos *stripdir*, *prependdir*, *limit_sl_dest* y " +"*hardlink_dupes*. El valor predeterminado de *maxlevels* se cambió de ``10`` " +"a ``sys.getrecursionlimit()``" #: ../Doc/library/compileall.rst:236 msgid "" @@ -467,6 +487,8 @@ msgid "" "Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " "arguments." msgstr "" +"Se agregaron los argumentos *stripdir*, *prependdir*, *limit_sl_dest* y " +"*hardlink_dupes*." #: ../Doc/library/compileall.rst:294 msgid "" @@ -501,8 +523,8 @@ msgstr "" #: ../Doc/library/compileall.rst:335 msgid "Module :mod:`py_compile`" -msgstr "" +msgstr "Módulo :mod:`py_compile`" #: ../Doc/library/compileall.rst:336 msgid "Byte-compile a single source file." -msgstr "" +msgstr "Compilación byte de un solo archivo fuente." diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 000e57b56a..7843fe48eb 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-28 16:00-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 17: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" +"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 3.0\n" #: ../Doc/library/concurrent.futures.rst:2 msgid ":mod:`concurrent.futures` --- Launching parallel tasks" @@ -116,7 +117,6 @@ msgstr "" "lanzada cuando su valor sea retornado por el iterador." #: ../Doc/library/concurrent.futures.rst:59 -#, fuzzy msgid "" "When using :class:`ProcessPoolExecutor`, this method chops *iterables* into " "a number of chunks which it submits to the pool as separate tasks. The " @@ -130,7 +130,7 @@ msgstr "" "(aproximado) de estos fragmentos puede especificarse estableciendo " "*chunksize* a un entero positivo. El uso de un valor grande para *chunksize* " "puede mejorar significativamente el rendimiento en comparación con el tamaño " -"predeterminado de 1. Con :class:`ThreadPoolExecutor`, el *chunksize* no " +"predeterminado de 1. Con :class:`ThreadPoolExecutor`, el *chunksize* no " "tiene ningún efecto." #: ../Doc/library/concurrent.futures.rst:67 @@ -173,6 +173,10 @@ msgid "" "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 "" +"Si *cancel_futures* es ``True``, este método cancelará todos los futuros " +"pendientes que el ejecutor no ha comenzado a ejecutar. Los futuros que se " +"completen o estén en ejecución no se cancelarán, independientemente del " +"valor de *cancel_futures*." #: ../Doc/library/concurrent.futures.rst:90 msgid "" @@ -180,22 +184,24 @@ msgid "" "executor has started running will be completed prior to this method " "returning. The remaining futures are cancelled." msgstr "" +"Si tanto *cancel_futures* como *wait* son ``True``, todos los futuros que el " +"ejecutor ha comenzado a ejecutar se completarán antes de que regrese este " +"método. Los futuros restantes se cancelan." #: ../Doc/library/concurrent.futures.rst:94 -#, fuzzy msgid "" "You can avoid having to call this method explicitly if you use the :keyword:" "`with` statement, which will shutdown the :class:`Executor` (waiting as if :" "meth:`Executor.shutdown` were called with *wait* set to ``True``)::" msgstr "" "Se puede evitar tener que llamar este método explícitamente si se usa la " -"sentencia :keyword:`with`, la cual apagará el :class:`Executor` (esperando " +"sentencia :keyword:`with`, la cual apagará el :class:`Executor` (esperando " "como si :meth:`Executor.shutdown` hubiera sido llamado con *wait* en " "``True``)::" #: ../Doc/library/concurrent.futures.rst:106 msgid "Added *cancel_futures*." -msgstr "" +msgstr "Agregado *cancel_futures*." #: ../Doc/library/concurrent.futures.rst:111 msgid "ThreadPoolExecutor" @@ -303,7 +309,6 @@ msgid "ProcessPoolExecutor" msgstr "ProcessPoolExecutor" #: ../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:" @@ -312,12 +317,12 @@ msgid "" "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 " -"asincrónica. :class:`ProcessPoolExecutor` usa el módulo :mod:" -"`multiprocessing`, lo cual le permite evitar el :term:`Global Interpreter " -"Lock` pero también significa que solo se pueden ejecutar y retornar objetos " -"serializables con *pickle*." +"La clase :class:`ProcessPoolExecutor` es una subclase :class:`Executor` que " +"usa un grupo de procesos para ejecutar llamadas de forma asíncrona. :class:" +"`ProcessPoolExecutor` usa el módulo :mod:`multiprocessing`, que le permite " +"eludir el :term:`Global Interpreter Lock ` pero " +"también significa que solo los objetos seleccionables pueden ser ejecutados " +"y retornados." #: ../Doc/library/concurrent.futures.rst:228 msgid "" @@ -338,7 +343,6 @@ msgstr "" "enviado a :class:`ProcessPoolExecutor` resultará en bloqueos mutuos." #: ../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 " @@ -364,7 +368,6 @@ msgstr "" "se utilizará el contexto predeterminado de multiprocesamiento." #: ../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 " @@ -374,7 +377,7 @@ msgid "" msgstr "" "*initializer* es un invocable opcional que es llamado al comienzo de cada " "proceso trabajador; *initargs* es una tupla de argumentos pasados al " -"inicializador. Si el *initializer* lanza una excepción, todos los trabajos " +"inicializador. Si el *initializer* lanza una excepción, todos los trabajos " "actualmente pendientes lanzarán :exc:`~concurrent.futures.thread." "BrokenProcessPool`, así como cualquier intento de enviar más trabajos al " "grupo." @@ -514,7 +517,6 @@ msgstr "" "ejecución." #: ../Doc/library/concurrent.futures.rst:375 -#, fuzzy msgid "" "Added callables are called in the order that they were added and are always " "called in a thread belonging to the process that added them. If the " @@ -522,11 +524,11 @@ msgid "" "ignored. If the callable raises a :exc:`BaseException` subclass, the " "behavior is undefined." msgstr "" -"Los invocables agregados son llamados en el orden que fueron añadidos y son " -"llamados en el hilo que pertenece al proceso que los añadió. Si el invocable " -"lanza una subclase de :exc:`Exception`, esta será registrada e ignorada. Si " -"el invocable lanza una subclase de :exc:`BaseException` el comportamiento no " -"está definido." +"Los invocables agregados se llaman en el orden en que se agregaron y siempre " +"se llaman en un hilo que pertenece al proceso que los agregó. Si el " +"invocable genera una subclase :exc:`Exception`, se registrará y se ignorará. " +"Si el invocable genera una subclase :exc:`BaseException`, el comportamiento " +"no está definido." #: ../Doc/library/concurrent.futures.rst:381 msgid "" @@ -698,7 +700,6 @@ msgstr "" "La función retornará cuando todos los futuros finalicen o sean cancelados." #: ../Doc/library/concurrent.futures.rst:471 -#, fuzzy msgid "" "Returns an iterator over the :class:`Future` instances (possibly created by " "different :class:`Executor` instances) given by *fs* that yields futures as " @@ -712,14 +713,14 @@ msgid "" "wait time." msgstr "" "Retorna un iterador sobre las instancias de :class:`Future` (posiblemente " -"creadas por distintas instancias de ejecutores) dadas por *fs* que produce " -"futuros a medida que van finalizando (normalmente o cancelados). Cualquier " -"futuro dado por *fs* que esté duplicado será retornado una sola vez. Los " -"futuros que hayan finalizado antes de la llamada a :func:`as_completed` " -"serán entregados primero. El iterador retornado lanzará :exc:`concurrent." -"futures.TimeoutError` si :meth:`~iterator.__next__` es llamado y el " -"resultado no está disponible luego de *timeout* segundos a partir de la " -"llamada original a :func:`as_completed`. *timeout* puede ser un int o un " +"creadas por distintas instancias de :class:`Executor`) dadas por *fs* que " +"produce futuros a medida que van finalizando (normalmente o cancelados). " +"Cualquier futuro dado por *fs* que esté duplicado será retornado una sola " +"vez. Los futuros que hayan finalizado antes de la llamada a :func:" +"`as_completed` serán entregados primero. El iterador retornado lanzará :exc:" +"`concurrent.futures.TimeoutError` si :meth:`~iterator.__next__` es llamado y " +"el resultado no está disponible luego de *timeout* segundos a partir de la " +"llamada original a :func:`as_completed`. *timeout* puede ser un int o un " "float. Si *timeout* no es especificado o es ``None``, no hay limite en el " "tiempo de espera." diff --git a/library/constants.po b/library/constants.po index a199f406d5..2427aafd60 100644 --- a/library/constants.po +++ b/library/constants.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-15 18:43-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 15:50+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" +"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 3.0\n" #: ../Doc/library/constants.rst:4 msgid "Built-in Constants" @@ -60,7 +61,6 @@ 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 " @@ -69,16 +69,14 @@ msgid "" "`__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__`, " -"etc.) para indicar que la operación no se implementa con respecto al otro " -"tipo; pueden ser retornados por los métodos especiales binarios in situ (por " -"ejemplo: :meth:`__imul__`, :meth:`__iand__`, etc.) para el mismo propósito. " -"Su valor de verdad es verdadero." +"Valor especial que debe ser retornado por los métodos especiales binarios " +"(por ejemplo :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:" +"`__rsub__`, etc.) para indicar que la operación es no implementado con " +"respecto al otro tipo; puede ser retornado por los métodos especiales " +"binarios in situ (por ejemplo :meth:`__imul__`, :meth:`__iand__`, etc.) con " +"el mismo propósito. No debe evaluarse en un contexto booleano." -# fallback -> reserva #: ../Doc/library/constants.rst:38 -#, fuzzy msgid "" "When a binary (or in-place) method returns ``NotImplemented`` the " "interpreter will try the reflected operation on the other type (or some " @@ -87,12 +85,12 @@ msgid "" "Incorrectly returning ``NotImplemented`` will result in a misleading error " "message or the ``NotImplemented`` value being returned to Python code." msgstr "" -"Cuando un método binario (o in situ) retorna ``NotImplemented`` el " -"intérprete intentará la operación reflejada en el otro tipo (o alguna otra " -"reserva, dependiendo del operador). Si todos los intentos retornan " -"``NotImplemented``, el intérprete generará una excepción adecuada. Si se " -"retorna incorrectamente ``NotImplemented`` se producirá un mensaje de error " -"engañoso o que se retorne el valor ``NotImplemented`` al código de Python." +"Cuando un método binario (o in situ) retorna ``NotImplemented``, el " +"intérprete intentará la operación reflejada en el otro tipo (o algún otro " +"recurso alternativo, según el operador). Si todos los intentos retornan " +"``NotImplemented``, el intérprete lanzará una excepción apropiada. Retornar " +"incorrectamente ``NotImplemented`` dará como resultado un mensaje de error " +"engañoso o el valor de ``NotImplemented`` se retornará al código Python." #: ../Doc/library/constants.rst:45 msgid "See :ref:`implementing-the-arithmetic-operations` for examples." @@ -115,18 +113,20 @@ msgid "" "currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" +"La evaluación de ``NotImplemented`` en un contexto booleano está en desuso. " +"Si bien actualmente se evalúa como verdadero, emitirá un :exc:" +"`DeprecationWarning`. Lanzará un :exc:`TypeError` en una versión futura de " +"Python." -# la redacción está un poco difícil de seguir #: ../Doc/library/constants.rst:62 -#, fuzzy msgid "" "The same as the ellipsis literal \"``...``\". Special value used mostly in " "conjunction with extended slicing syntax for user-defined container data " "types." msgstr "" -"Lo mismo que el literal de puntos suspensivos \"``...``\". Valor especial " -"utilizado principalmente en conjunto con la sintaxis de segmentación " -"extendida para tipos de datos de contenedor definidos por el usuario." +"Lo mismo que la elipsis literal \"``...``\". Valor especial que se utiliza " +"principalmente junto con la sintaxis de segmentación extendida para tipos de " +"datos de contenedor definidos por el usuario." #: ../Doc/library/constants.rst:68 msgid "" @@ -152,7 +152,6 @@ msgid "Constants added by the :mod:`site` module" msgstr "Constantes agregadas por el módulo :mod:`site`" #: ../Doc/library/constants.rst:82 -#, fuzzy msgid "" "The :mod:`site` module (which is imported automatically during startup, " "except if the :option:`-S` command-line option is given) adds several " @@ -160,9 +159,9 @@ msgid "" "interpreter shell and should not be used in programs." msgstr "" "El módulo :mod:`site` (que se importa automáticamente durante el inicio, " -"excepto si se da la opción :option:`-S` en línea de comandos) agrega varias " -"constantes al espacio de nombres incorporado. Son útiles para el intérprete " -"interactivo y no se deben usar en programas." +"excepto si se proporciona la opción :option:`-S` en la línea de comandos) " +"agrega varias constantes al espacio de nombres integrado. Son útiles para el " +"intérprete interactivo y no deben usarse en programas." #: ../Doc/library/constants.rst:90 msgid "" @@ -175,13 +174,12 @@ msgstr "" "código de salida especificado." #: ../Doc/library/constants.rst:97 -#, fuzzy msgid "" "Objects that when printed or called, print the text of copyright or credits, " "respectively." msgstr "" -"Objetos que cuando se imprimen o se llaman, muestra el texto de los derechos " -"de autor o créditos, respectivamente." +"Objetos que al ser impresos o llamados imprimen el texto de derechos de " +"autor o créditos, respectivamente." #: ../Doc/library/constants.rst:102 msgid "" diff --git a/library/contextvars.po b/library/contextvars.po index d67e148770..97c59144cd 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-10-09 10:52+0200\n" +"PO-Revision-Date: 2021-08-07 15:44+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/contextvars.rst:2 msgid ":mod:`contextvars` --- Context Variables" @@ -257,10 +257,7 @@ msgstr "" "objeto de contexto desde más de un hilo del sistema operativo, o si se llama " "recursivamente." -# ¿"shallow copy"? -# (añadir a Memoria de traducción?) #: ../Doc/library/contextvars.rst:190 -#, fuzzy msgid "Return a shallow copy of the context object." msgstr "Retorna una copia superficial (*shallow copy*) del objeto de contexto." @@ -318,7 +315,7 @@ msgstr "" #: ../Doc/library/contextvars.rst:234 msgid "asyncio support" -msgstr "Soporte *asyncio*" +msgstr "Soporte asyncio" #: ../Doc/library/contextvars.rst:236 msgid "" diff --git a/library/csv.po b/library/csv.po index 474227649b..d40f49ad3d 100644 --- a/library/csv.po +++ b/library/csv.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 15:44+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" +"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 3.0\n" #: ../Doc/library/csv.rst:2 msgid ":mod:`csv` --- CSV File Reading and Writing" @@ -280,9 +281,8 @@ 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`." +msgstr "Las filas retornadas son ahora de tipo :class:`OrderedDict`." #: ../Doc/library/csv.rst:173 msgid "Returned rows are now of type :class:`dict`." diff --git a/library/ctypes.po b/library/ctypes.po index 1b48b92d90..95fd9948e7 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-22 12:54+0200\n" +"PO-Revision-Date: 2021-08-07 16:58+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" +"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 3.0\n" #: ../Doc/library/ctypes.rst:2 msgid ":mod:`ctypes` --- A foreign function library for Python" @@ -1680,12 +1681,24 @@ msgid "" "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 "" +"En Windows, la creación de una instancia :class:`CDLL` puede fallar incluso " +"si existe el nombre de la DLL. Cuando no se encuentra una DLL dependiente de " +"la DLL cargada, se lanza un error :exc:`OSError` con el mensaje *\"[WinError " +"126] No se pudo encontrar el módulo especificado\".* Este mensaje de error " +"no contiene el nombre de DLL que falta porque la API de Windows no devuelve " +"esta información, lo que dificulta el diagnóstico de este error. Para " +"resolver este error y determinar qué DLL no se encuentra, debe buscar la " +"lista de DLL dependientes y determinar cuál no se encuentra utilizando las " +"herramientas de depuración y seguimiento de Windows." #: ../Doc/library/ctypes.rst:1341 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." msgstr "" +"`Herramienta Microsoft DUMPBIN `_ -- Una herramienta para encontrar dependientes de " +"DLL." #: ../Doc/library/ctypes.rst:1347 msgid "" @@ -1983,13 +1996,12 @@ msgstr "" "funciones." #: ../Doc/library/ctypes.rst:1525 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlopen`` with argument " "``name``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.dlopen`` con " -"argumento ``name``." +"Lanza un :ref:`auditing event ` ``ctypes.dlopen`` con argumento " +"``name``." #: ../Doc/library/ctypes.rst:1527 msgid "" @@ -1998,17 +2010,8 @@ msgid "" "used to load the library." msgstr "" "Cargar una biblioteca a través de cualquiera de estos objetos lanza un :ref:" -"`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 " -"``library``, ``name``." -msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.dlsym`` con " -"argumentos ``library``, ``name``." +"`auditing event ` ``ctypes.dlopen`` con el argumento de cadena " +"``name``, el nombre usado para cargar la biblioteca." #: ../Doc/library/ctypes.rst:1533 msgid "" @@ -2020,15 +2023,6 @@ 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 " -"arguments ``handle``, ``name``." -msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.dlsym/handle`` con " -"argumentos ``handle``, ``name``." - #: ../Doc/library/ctypes.rst:1539 msgid "" "In cases when only the library handle is available rather than the object, " @@ -2199,15 +2193,6 @@ 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 " -"argument ``code``." -msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.seh_exception`` con " -"el argumento ``code``." - #: ../Doc/library/ctypes.rst:1630 msgid "" "On Windows, when a foreign function call raises a system exception (for " @@ -2223,15 +2208,6 @@ 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 " -"arguments ``func_pointer``, ``arguments``." -msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.call_function`` con " -"argumentos ``func_pointer``, ``arguments``." - #: ../Doc/library/ctypes.rst:1638 msgid "" "Some ways to invoke foreign function calls may raise an auditing event " @@ -2516,7 +2492,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.addressof`` con el " +"Lanza un :ref:`auditing event ` ``ctypes.addressof`` con el " "argumento ``obj``." #: ../Doc/library/ctypes.rst:1837 @@ -2598,8 +2574,8 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes." -"create_string_buffer`` con argumentos ``init``, ``size``." +"Lanza un :ref:`auditing event ` ``ctypes.create_string_buffer`` " +"con argumentos ``init``, ``size``." #: ../Doc/library/ctypes.rst:1881 msgid "" @@ -2636,8 +2612,8 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes." -"create_unicode_buffer`` con argumentos ``init``, ``size``." +"Lanza un :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " +"con argumentos ``init``, ``size``." #: ../Doc/library/ctypes.rst:1898 msgid "" @@ -2660,18 +2636,17 @@ msgstr "" "la extensión ``_ctypes`` exporta." #: ../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``." 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``, ``." -"dylib`` o número de versión (esta es la forma usada para la opción del " -"enlazador posix :option:`!-l`). Si no se puede encontrar ninguna biblioteca, " -"retorna ``None``." +"Intenta encontrar una biblioteca y retornar un nombre de ruta. *name* es el " +"nombre de la biblioteca sin ningún prefijo como ``lib``, sufijo como ``." +"so``, ``.dylib`` o número de versión (esta es la forma usada para la opción " +"del enlazador posix :option:`!-l`). Si no se puede encontrar ninguna " +"biblioteca, retorna ``None``." #: ../Doc/library/ctypes.rst:1924 msgid "" @@ -2727,7 +2702,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.get_errno`` sin " +"Lanza un :ref:`auditing event ` ``ctypes.get_errno`` sin " "argumentos." #: ../Doc/library/ctypes.rst:1955 @@ -2743,7 +2718,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.get_last_error`` sin " +"Lanza un :ref:`auditing event ` ``ctypes.get_last_error`` sin " "argumentos." #: ../Doc/library/ctypes.rst:1962 @@ -2819,8 +2794,8 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.set_errno`` con " -"argumento ``errno``." +"Lanza un :ref:`auditing event ` ``ctypes.set_errno`` con argumento " +"``errno``." #: ../Doc/library/ctypes.rst:2008 msgid "" @@ -2837,7 +2812,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.set_last_error`` con " +"Lanza un :ref:`auditing event ` ``ctypes.set_last_error`` con " "argumento ``error``." #: ../Doc/library/ctypes.rst:2017 @@ -2863,7 +2838,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``address``, ``size``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.string_at`` con " +"Lanza un :ref:`auditing event ` ``ctypes.string_at`` con " "argumentos ``address``, ``size``." #: ../Doc/library/ctypes.rst:2032 @@ -2901,7 +2876,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``address``, ``size``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.wstring_at`` con " +"Lanza un :ref:`auditing event ` ``ctypes.wstring_at`` con " "argumentos ``address``, ``size``." #: ../Doc/library/ctypes.rst:2055 @@ -2952,7 +2927,7 @@ msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.cdata/buffer`` con " +"Lanza un :ref:`auditing event ` ``ctypes.cdata/buffer`` con " "argumentos ``pointer``, ``size``, ``offset``." #: ../Doc/library/ctypes.rst:2082 @@ -2977,13 +2952,12 @@ msgstr "" "especificada por *address* que debe ser un entero." #: ../Doc/library/ctypes.rst:2095 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " "``address``." msgstr "" -"Lanza un :ref:`evento de auditoría ` ``ctypes.cdata`` con " -"argumento ``address``." +"Lanza un :ref:`auditing event ` ``ctypes.cdata`` con argumento " +"``address``." #: ../Doc/library/ctypes.rst:2097 msgid "" @@ -2991,7 +2965,7 @@ msgid "" "`auditing event ` ``ctypes.cdata`` with argument ``address``." 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``." +"`auditing event ` ``ctypes.cdata`` con argumento ``address``." #: ../Doc/library/ctypes.rst:2103 msgid "" @@ -3681,10 +3655,9 @@ msgid "Specifies the type pointed to." msgstr "Especifica el tipo apuntado." #: ../Doc/library/ctypes.rst:2561 -#, fuzzy msgid "" "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 " -"para que apunte al objeto asignado." +"Retorna el objeto al que el puntero apunta. Asignando a este atributo cambia " +"el puntero para que apunte al objeto asignado." diff --git a/library/curses.po b/library/curses.po index b8ac985bf2..e23497ff4c 100644 --- a/library/curses.po +++ b/library/curses.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-27 21:20-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 16:00+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" +"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 3.0\n" #: ../Doc/library/curses.rst:2 msgid ":mod:`curses` --- Terminal handling for character-cell displays" @@ -211,7 +212,6 @@ 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 ``COLORS - 1``. " @@ -219,24 +219,23 @@ msgid "" "will be between ``0`` (no component) and ``1000`` (maximum amount of " "component)." msgstr "" -"Retorna la intensidad de los componentes en el color *color number* del " -"rojo, verde y azul (RGB), los cuales deben estar entre \"0\" y :const:" -"`COLORS`. Retorna un 3-tuple, conteniendo los valores R,G,B para el color " -"dado, los cuales estarán entre \"0\" (sin componente) y \"1000\" (Máxima " -"cantidad de componente)." +"Retorna la intensidad de los componentes rojo, verde y azul (RGB) en el " +"color *color_number*, que debe estar entre ``0`` y ``COLORS-1``. Retorna una " +"tupla de 3, que contiene los valores R,G,B para el color dado, que estará " +"entre ``0`` (sin componente) y ``1000`` (cantidad máxima de componente)." #: ../Doc/library/curses.rst:122 -#, fuzzy msgid "" "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." +"Retorna el valor del atributo para mostrar texto en el par de colores " +"especificado. Solo se admiten los primeros 256 pares de colores. Este valor " +"de atributo se puede combinar con :const:`A_STANDOUT`, :const:`A_REVERSE`, y " +"los otros atributos :const:`A_\\*`. :func:`pair_number` es la contraparte de " +"esta función." #: ../Doc/library/curses.rst:131 msgid "" @@ -372,7 +371,6 @@ msgstr "" "programa." #: ../Doc/library/curses.rst:217 -#, fuzzy msgid "" "After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " "event, this method should be called to retrieve the queued mouse event, " @@ -386,18 +384,17 @@ msgid "" "`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :" "const:`BUTTON_ALT`." msgstr "" -"Después de que :meth:`~window.getch` retorna :const:`KEY_MOUSE` como señal " -"de un evento del mouse, este método debe ser llamado para recuperar la cola " -"de los eventos del mouse, representado como una tupla de 5 valores ``(id, x, " -"y, z, bstate)``. *id* es un valor ID usado para distinguir múltiples " -"dispositivos, y *x*, *y*, *z* son las coordenadas de los eventos. (*z* está " -"actualmente en desuso.) *bstate* es un valor entero cuyos bits serán " -"configurados para indicar el tipo de evento, y será el *OR* bit a bit de una " -"o más de las siguientes constantes, donde *n* es el número del botón desde 1 " -"a 4: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, :const:" -"`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_CLICKED`, :const:" -"`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :" -"const:`BUTTON_ALT`." +"Después de :meth:`~window.getch` retorna :const:`KEY_MOUSE` para señalar un " +"evento de mouse, se debe llamar a este método para recuperar el evento de " +"mouse en cola, representado como una tupla de 5 ``(id, x, y, z, bstate)``. " +"*id* es un valor de ID que se utiliza para distinguir varios dispositivos, y " +"*x*, *y*, *z* son las coordenadas del evento. (*z* no se usa actualmente.) " +"*bstate* es un valor entero cuyos bits se establecerán para indicar el tipo " +"de evento, y será el OR bit a bit de una o más de las siguientes constantes, " +"donde *n* es el botón número de 1 a 4: :const:`BUTTONn_PRESSED`, :const:" +"`BUTTONn_RELEASED`, :const:`BUTTONn_CLICKED`, :const:" +"`BUTTONn_DOUBLE_CLICKED`, :const:`BUTTONn_TRIPLE_CLICKED`, :const:" +"`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :const:`BUTTON_ALT`." #: ../Doc/library/curses.rst:231 msgid "" @@ -474,7 +471,6 @@ msgstr "" "para salir del modo de medio retardo." #: ../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 " @@ -485,17 +481,16 @@ msgid "" "op on most terminals; it is active only if :func:`can_change_color` returns " "``True``." msgstr "" -"Cambiar la definición de un color, tomando el número de el color para ser " -"cambiado seguido por los tres valores RGB (para las cantidades de " -"componentes de rojo, verde, y azul). El valor de *color_number* debe estar " -"entre ``0`` y :const:`COLORS`. Cada uno de *r*, *g*, *b*, debe ser un valor " -"entre ``0`` y ``1000``. Cuando :func:`init_color` es usado, todas las " -"ocurrencias de ese color en la pantalla inmediatamente cambia para la nueva " -"definición. Esta función no es operativa en varios terminales, esto " -"solamente se activa si :func:`can_change_color` retorna ``True``." +"Cambia la definición de un color, tomando el número del color a cambiar " +"seguido de tres valores RGB (para las cantidades de componentes rojo, verde " +"y azul). El valor de *color_number* debe estar entre ``0`` y `COLORS - 1`. " +"Cada uno de *r*, *g*, *b*, debe tener un valor entre ``0`` y ``1000``. " +"Cuando se usa :func:`init_color`, todas las apariciones de ese color en la " +"pantalla cambian inmediatamente a la nueva definición. Esta función no es " +"operativa en la mayoría de terminales; solo está activo si :func:" +"`can_change_color` retorna ``True``." #: ../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 " @@ -507,14 +502,15 @@ msgid "" "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 " -"plano, y el número de color del fondo. El valor de *pair_number* debe estar " -"entre ``1`` y ``COLOR_PAIRS - 1`` (el par de color ``0`` está conectado a " -"blanco sobre negro y no puede ser cambiado). El valor de los argumentos *fg* " -"y *bg* debe estar entre ``0`` y :const:`COLORS`. Si el par de color fue " -"previamente inicializado, la pantalla es refrescada y todas las ocurrencias " -"de ese par de color son cambiados para la nueva definición." +"Cambia la definición de un par de colores. Se necesitan tres argumentos: el " +"número del par de colores que se va a cambiar, el número de color de primer " +"plano y el número de color de fondo. El valor de *par_number* debe estar " +"entre ``1`` y ``COLOR_PAIRS-1`` (el par de colores ``0`` está conectado a " +"blanco sobre negro y no se puede cambiar). El valor de los argumentos *fg* y " +"*bg* debe estar entre ``0'' y ``COLORS-1`` o, después de llamar a :func:" +"`use_default_colors`, ``-1``. Si el par de colores se inicializó " +"previamente, la pantalla se actualiza y todas las apariciones de ese par de " +"colores se cambian a la nueva definición." #: ../Doc/library/curses.rst:303 msgid "" @@ -744,15 +740,14 @@ msgstr "" "Salir del modo raw. Retorna al modo normal \"cooked\" con la línea del búfer." #: ../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 ``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``." +"solicitado. El valor de *pair_number* debe ser entre ``0`` y " +"``COLOR_PAIRS-1``." #: ../Doc/library/curses.rst:451 msgid "" @@ -855,7 +850,7 @@ msgstr "" #: ../Doc/library/curses.rst:518 msgid "Retrieves the value set by :func:`set_escdelay`." -msgstr "" +msgstr "Recupera el valor establecido por :func:`set_escdelay`." #: ../Doc/library/curses.rst:524 msgid "" @@ -863,16 +858,23 @@ msgid "" "to distinguish between an individual escape character entered on the " "keyboard from escape sequences sent by cursor and function keys." msgstr "" +"Establece el número de milisegundos de espera después de leer un carácter de " +"escape, para distinguir entre un carácter de escape individual ingresado en " +"el teclado de las secuencias de escape enviadas por el cursor y las teclas " +"de función." #: ../Doc/library/curses.rst:532 msgid "Retrieves the value set by :func:`set_tabsize`." -msgstr "" +msgstr "Recupera el valor establecido por :func:`set_tabsize`." #: ../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 "" +"Establece el número de columnas utilizadas por la biblioteca de curses al " +"convertir un carácter de tabulación en espacios, ya que agrega la tabulación " +"a una ventana." #: ../Doc/library/curses.rst:545 msgid "" @@ -1133,16 +1135,15 @@ msgstr "" "anteriores, tienen los siguientes métodos y atributos:" #: ../Doc/library/curses.rst:712 -#, fuzzy msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " "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-" -"escribiendo algún carácter pintado anteriormente en esa locación. Por " -"defecto, la posición del carácter y atributos son los configurados " -"actualmente por el objeto ventana." +"Pinta el carácter *ch* en ``(y, x)`` con atributos *attr*, sobrescribiendo " +"cualquier carácter pintado previamente en esa ubicación. De forma " +"predeterminada, la posición y los atributos del carácter son la " +"configuración actual del objeto ventana." #: ../Doc/library/curses.rst:718 msgid "" diff --git a/library/dataclasses.po b/library/dataclasses.po index c461ace48e..5bedde115f 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 15:43+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/library/dataclasses.rst:2 msgid ":mod:`dataclasses` --- Data Classes" @@ -239,7 +240,6 @@ msgstr "" "descrito en la documentación dedicada a :meth:`__hash__`." #: ../Doc/library/dataclasses.rst:139 -#, fuzzy msgid "" "If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, " "then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. " @@ -248,13 +248,13 @@ msgid "" "class is logically immutable but can nonetheless be mutated. This is a " "specialized use case and should be considered carefully." msgstr "" -"Si :meth:`__hash__` no está definido explícitamente o si es designado como " -"``None``, :func:`dataclass` *puede* añadir implícitamente el método :meth:" -"`__hash__`. Aunque no sea recomendable, es posible forzar que :func:" -"`dataclass` cree un método :meth:`__hash__` mediante ``unsafe_hash=True``; " -"esto es factible si su clase es lógicamente inmutable pero, sin embargo, " -"puede ser modificada. Este es un caso especial de uso que debe ser " -"considerado cuidadosamente." +"Si :meth:`__hash__` no está definido explícitamente, o si está configurado " +"como ``None``, entonces :func:`dataclass` *puede* agregar un método " +"implícito :meth:`__hash__`. Aunque no se recomienda, puede forzar un :func:" +"`dataclass` a crear un método :meth:`__hash__` con ``unsafe_hash=True``. " +"Este podría ser el caso si su clase es lógicamente inmutable pero, no " +"obstante, puede mutar. Este es un caso de uso especializado y debe " +"considerarse detenidamente." #: ../Doc/library/dataclasses.rst:146 msgid "" diff --git a/library/datetime.po b/library/datetime.po index 6abf2ca674..11712317e8 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -11,24 +11,24 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-06 11:06-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 16:13+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\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 -#, fuzzy msgid "**Source code:** :source:`Lib/datetime.py`" -msgstr "*Código fuente:* :source:`Lib/datetime.py`" +msgstr "**Código fuente:** :source:`Lib/datetime.py`" #: ../Doc/library/datetime.rst:17 msgid "" @@ -75,16 +75,14 @@ msgid "Aware and Naive Objects" msgstr "Objetos conscientes (*aware*) y naífs (*naive*)" #: ../Doc/library/datetime.rst:38 -#, 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*)." +"naífs (*naive*) dependiendo de si incluyen o no información de zona horaria." #: ../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 " @@ -94,12 +92,11 @@ msgid "" msgstr "" "Con suficiente conocimiento de los ajustes de tiempo políticos y " "algorítmicos aplicables, como la zona horaria y la información del horario " -"de verano, un objeto consciente (*aware*) puede ubicarse en relación con " -"otros objetos conscientes. Un objeto consciente representa un momento " -"específico en el tiempo que no está abierto a interpretación. [#]_" +"de verano, un objeto **consciente** puede ubicarse en relación con 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: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 " @@ -109,16 +106,15 @@ msgid "" "objects are easy to understand and to work with, at the cost of ignoring " "some aspects of reality." msgstr "" -"Un objeto *naíf* (*naive*) no contiene suficiente información para ubicarse " -"de manera inequívoca en relación con otros objetos de fecha/hora. Si un " -"objeto naíf representa la hora universal coordinada (UTC), la hora local o " -"la hora en otra zona horaria depende exclusivamente del programa, al igual " -"que depende del programa si un número particular representa metros, millas o " -"masa. Los objetos naíf son fáciles de entender y trabajar, a costa de " -"ignorar algunos aspectos de la realidad." +"Un objeto **ingenuo** no contiene suficiente información para ubicarse sin " +"ambigüedades en relación con otros objetos de fecha/hora. Si un objeto " +"ingenuo representa la hora universal coordinada (UTC), la hora local o la " +"hora en alguna otra zona horaria depende exclusivamente del programa, al " +"igual que depende del programa si un número en particular representa metros, " +"millas o masa. Los objetos ingenuos son fáciles de entender y trabajar con " +"ellos, a costa de ignorar algunos aspectos de la realidad." #: ../Doc/library/datetime.rst:54 -#, fuzzy msgid "" "For applications requiring aware objects, :class:`.datetime` and :class:`." "time` objects have an optional time zone information attribute, :attr:`!" @@ -127,13 +123,12 @@ msgid "" "offset from UTC time, the time zone name, and whether daylight saving time " "is in effect." msgstr "" -"Para aplicaciones que requieren objetos conscientes (*aware*), los objetos :" -"class:`.datetime` y :class:`.time` tienen un atributo opcional de " -"información de zona horaria, :attr:`!tzinfo`, que se puede establecer en una " -"instancia de una subclase de la clase abstracta :class:`tzinfo`. Estos " -"objetos :class:`tzinfo` capturan información sobre el desplazamiento desde " -"la hora UTC, el nombre de la zona horaria y si el horario de verano está " -"vigente." +"Para las aplicaciones que requieren objetos conscientes, los objetos :class:" +"`.datetime` y :class:`.time` tienen un atributo de información de zona " +"horaria opcional, :attr:`!tzinfo`, que se puede establecer en una instancia " +"de una subclase de la clase abstracta :class:`tzinfo`. Estos objetos :class:" +"`tzinfo` capturan información sobre el desplazamiento de la hora UTC, el " +"nombre de la zona horaria y si el horario de verano está en vigor." #: ../Doc/library/datetime.rst:60 msgid "" @@ -216,16 +211,14 @@ msgstr "" "`minute`, :attr:`second`, :attr:`microsecond` , y :attr:`.tzinfo`." #: ../Doc/library/datetime.rst:115 -#, fuzzy msgid "" "A duration expressing the difference between two :class:`date`, :class:`." "time`, or :class:`.datetime` instances to microsecond resolution." msgstr "" -"Una duración que expresa la diferencia entre dos instancias a una resolución " -"de microsegundos :class:`date`, :class:`.time` o :class:`.datetime`." +"Una duración que expresa la diferencia entre dos instancias :class:`date`, :" +"class:`.time` o :class:`.datetime` a una resolución de microsegundos." #: ../Doc/library/datetime.rst:122 -#, fuzzy msgid "" "An abstract base class for time zone information objects. These are used by " "the :class:`.datetime` and :class:`.time` classes to provide a customizable " @@ -234,8 +227,8 @@ msgid "" msgstr "" "Una clase base abstracta para objetos de información de zona horaria. Estos " "son utilizados por las clases :class:`.datetime` y :class:`.time` para " -"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)." +"proporcionar una noción personalizable de ajuste de hora (por ejemplo, para " +"tener en cuenta la zona horaria y / o el horario de verano)." #: ../Doc/library/datetime.rst:130 msgid "" @@ -297,10 +290,9 @@ msgstr "" "(*aware*) o naíf (*naive*)." #: ../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 " +"Un objeto :class:`.datetime` *d* es consciente si se cumplen los dos " "siguientes:" #: ../Doc/library/datetime.rst:167 @@ -316,11 +308,10 @@ msgid "Otherwise, *d* is naive." msgstr "De lo contrario, *d* es naíf (*naive*)." #: ../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:" +"A :class:`.time` object *t* es consciente si ambos de los siguientes se " +"mantienen:" #: ../Doc/library/datetime.rst:174 msgid "``t.tzinfo`` is not ``None``" @@ -432,13 +423,12 @@ msgstr "" "conversión y normalización son exactos (no se pierde información)." #: ../Doc/library/datetime.rst:235 -#, fuzzy msgid "" "If the normalized value of days lies outside the indicated range, :exc:" "`OverflowError` is raised." msgstr "" -"Si el valor normalizado de días se encuentra fuera del rango indicado, se " -"genera :exc:`OverflowError`." +"Si el valor normalizado de los días se encuentra fuera del rango indicado, " +"se lanza :exc:`OverflowError`." #: ../Doc/library/datetime.rst:238 msgid "" @@ -455,10 +445,9 @@ msgid "Class attributes:" msgstr "Atributos de clase:" #: ../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)``." +"El objeto más negativo en :class:`timedelta`, ``timedelta(-999999999)``." #: ../Doc/library/datetime.rst:256 msgid "" @@ -566,13 +555,12 @@ msgid "``t1 = t2 * i or t1 = i * t2``" msgstr "``t1 = t2 * i o t1 = i * t2``" #: ../Doc/library/datetime.rst:294 -#, fuzzy msgid "" "Delta multiplied by an integer. Afterwards *t1* // i == *t2* is true, " "provided ``i != 0``." msgstr "" -"Delta multiplicado por un entero. Después *t1* // *i* == *t2* es verdadero, " -"siempre que ``i! = 0``." +"Delta multiplicado por un entero. Después *t1* // i == *t2* es verdadero, " +"siempre que ``i != 0``." #: ../Doc/library/datetime.rst:298 msgid "In general, *t1* \\* i == *t1* \\* (i-1) + *t1* is true. (1)" @@ -1044,7 +1032,6 @@ msgstr "" "el tiempo. (4)" #: ../Doc/library/datetime.rst:596 -#, fuzzy msgid "" "*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " "``timedelta.days < 0``. Afterward ``date2 - date1 == timedelta.days``. " @@ -1052,10 +1039,10 @@ msgid "" "`OverflowError` is raised if ``date2.year`` would be smaller than :const:" "`MINYEAR` or larger than :const:`MAXYEAR`." msgstr "" -"*date2* se mueve hacia adelante en el tiempo si ``timedelta.days> 0, o hacia " -"atrás si ``timedelta.days < 0``. Después ``date2 - date1 == timedelta. " +"*date2* se mueve hacia adelante en el tiempo si ``timedelta.days > 0``, o " +"hacia atrás si ``timedelta.days < 0``. Después ``date2 - date1 == timedelta. " "days``. ``timedelta.seconds`` y ``timedelta.microseconds`` se ignoran. :exc:" -"`OverflowError` se genera si ``date2.year`` sería menor que :const:`MINYEAR` " +"`OverflowError` se lanza si ``date2.year`` sería menor que :const:`MINYEAR` " "o mayor que :const:`MAXYEAR`." #: ../Doc/library/datetime.rst:603 @@ -1172,6 +1159,8 @@ msgid "" "Return a :term:`named tuple` object with three components: ``year``, " "``week`` and ``weekday``." msgstr "" +"Retorna un objeto :term:`named tuple` con tres componentes: ``year``, " +"``week`` y ``weekday``." #: ../Doc/library/datetime.rst:677 msgid "" @@ -1205,7 +1194,7 @@ msgstr "" #: ../Doc/library/datetime.rst:693 msgid "Result changed from a tuple to a :term:`named tuple`." -msgstr "" +msgstr "El resultado cambió de una tupla a un :term:`named tuple`." #: ../Doc/library/datetime.rst:698 msgid "" @@ -2145,7 +2134,6 @@ msgstr "" "al retornado por :func:`time.time`." #: ../Doc/library/datetime.rst:1358 -#, fuzzy msgid "" "Naive :class:`.datetime` instances are assumed to represent local time and " "this method relies on the platform C :c:func:`mktime` function to perform " @@ -2153,11 +2141,11 @@ msgid "" "than :c:func:`mktime` on many platforms, this method may raise :exc:" "`OverflowError` for times far in the past or far in the future." msgstr "" -"Se asume que las instancias naíf (*naive*) de :class:`.datetime` representan " -"la hora local y este método se basa en la plataforma *C* :c:func:`mktime` " -"función para realizar la conversión. Dado que :class:`.datetime` admite un " -"rango de valores más amplio que :c:func:`mktime` en muchas plataformas, este " -"método puede generar :exc:`OverflowError` para tiempos en el pasado o en el " +"Se supone que las instancias Naíf :class:`.datetime` representan la hora " +"local y este método se basa en la función de plataforma C :c:func:`mktime` " +"para realizar la conversión. Dado que :class:`.datetime` admite un rango de " +"valores más amplio que :c:func:`mktime` en muchas plataformas, este método " +"puede lanzar :exc:`OverflowError` para tiempos lejanos en el pasado o en el " "futuro." #: ../Doc/library/datetime.rst:1365 @@ -2211,13 +2199,12 @@ msgstr "" "`weekday`, :meth:`isocalendar`." #: ../Doc/library/datetime.rst:1405 -#, fuzzy msgid "" "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()``." +"Retorna una :term:`named tuple` con tres componentes: ``year``, ``week``, y " +"``weekday``. Lo mismo que ``self.date().isocalendar()``." #: ../Doc/library/datetime.rst:1411 msgid "Return a string representing the date and time in ISO 8601 format:" @@ -3591,7 +3578,7 @@ msgstr "" #: ../Doc/library/datetime.rst:2368 msgid "(empty), UTC, GMT" -msgstr "" +msgstr "(vacío), UTC, GMT" #: ../Doc/library/datetime.rst:2371 msgid "``%j``" @@ -3724,12 +3711,11 @@ msgid "``%G``" msgstr "``%G``" #: ../Doc/library/datetime.rst:2411 -#, fuzzy msgid "" "ISO 8601 year with century representing the year that contains the greater " "part of the ISO week (``%V``)." msgstr "" -"Año ISO 8601 con siglo que representa el año que contiene la mayor parte de " +"ISO 8601 año con siglo que representa el año que contiene la mayor parte de " "la semana ISO (``%V``)." #: ../Doc/library/datetime.rst:2411 @@ -3742,7 +3728,6 @@ msgid "``%u``" msgstr "``%u``" #: ../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." @@ -4004,27 +3989,28 @@ msgstr "" "``’+00:00’``." #: ../Doc/library/datetime.rst:2539 -#, fuzzy msgid "" "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." +"En :meth:`strftime`, ``%Z`` se reemplaza por una cadena de caracteres vacía " +"si :meth:`tzname` retorna ``None``; de lo contrario, ``%Z`` se reemplaza por " +"el valor retornado, que debe ser una cadena de caracteres." #: ../Doc/library/datetime.rst:2543 msgid ":meth:`strptime` only accepts certain values for ``%Z``:" -msgstr "" +msgstr ":meth:`strptime` solo acepta ciertos valores para ``%Z``:" #: ../Doc/library/datetime.rst:2545 msgid "any value in ``time.tzname`` for your machine's locale" msgstr "" +"cualquier valor en ``time.tzname`` para la configuración regional de su " +"máquina" #: ../Doc/library/datetime.rst:2546 msgid "the hard-coded values ``UTC`` and ``GMT``" -msgstr "" +msgstr "los valores codificados de forma rígida ``UTC`` y ``GMT``" #: ../Doc/library/datetime.rst:2548 msgid "" @@ -4032,6 +4018,9 @@ msgid "" "values, but probably not ``EST``. It will raise ``ValueError`` for invalid " "values." msgstr "" +"Entonces, alguien que viva en Japón puede tener ``JST``, ``UTC`` y ``GMT`` " +"como valores válidos, pero probablemente no ``EST``. Lanzará ``ValueError`` " +"para valores no válidos." #: ../Doc/library/datetime.rst:2552 msgid "" diff --git a/library/decimal.po b/library/decimal.po index a765c4864a..8a891f0432 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-01 15:25+0100\n" +"PO-Revision-Date: 2021-08-07 15:51+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Francisco Jesús Sevilla García \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/decimal.rst:2 msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic" @@ -1020,8 +1020,8 @@ msgid "" "Return a string describing the *class* of the operand. The returned value " "is one of the following ten strings." msgstr "" -"Retorna una cadena de caracteres que describe la *clase* del operando. El " -"valor retornado es una de las siguientes diez cadenas de caracteres:" +"Retorna una cadena de caracteres que describe la *class* del operando. El " +"valor retornado es una de las siguientes diez cadenas de caracteres." #: ../Doc/library/decimal.rst:757 msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." @@ -2684,9 +2684,9 @@ 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 "" -"P. Dentro de un cálculo complejo, ¿cómo puedo asegurarme de que no he " +"P. Dentro de un cálculo complejo, cómo puedo asegurarme de que no he " "obtenido un resultado adulterado debido a una precisión insuficiente o " -"anomalías de redondeo?" +"anomalías de redondeo." #: ../Doc/library/decimal.rst:2094 msgid "" diff --git a/library/difflib.po b/library/difflib.po index 26bec083c4..0b91804e28 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-10 20:48+0000\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 15:42+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" +"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 3.0\n" #: ../Doc/library/difflib.rst:2 msgid ":mod:`difflib` --- Helpers for computing deltas" @@ -30,7 +31,6 @@ 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 information about " @@ -38,11 +38,11 @@ msgid "" "diffs. For comparing directories and files, see also, the :mod:`filecmp` " "module." msgstr "" -"Este módulo provee clases y funciones para comparar secuencias. Puede ser " -"utilizado por ejemplo, para comparar archivos, y puede producir información " -"de diferencias en varios formatos, incluido HTML y diferencias contextuales " -"y unificadas. Para comparar directorios y archivos, consulte también el " -"módulo :mod:`filecmp`." +"Este módulo proporciona clases y funciones para comparar secuencias. Se " +"puede utilizar, por ejemplo, para comparar archivos y puede producir " +"información sobre diferencias de archivo en varios formatos, incluidos HTML " +"y contexto y diferencias unificadas. Para comparar directorios y archivos, " +"consulte también el módulo :mod:`filecmp`." #: ../Doc/library/difflib.rst:29 msgid "" @@ -777,7 +777,7 @@ msgstr "Este método retorna un :term:`named tuple` ``Match(a, b, size)``." #: ../Doc/library/difflib.rst:462 msgid "Added default arguments." -msgstr "" +msgstr "Se agregaron argumentos predeterminados." #: ../Doc/library/difflib.rst:468 msgid "" diff --git a/library/dis.po b/library/dis.po index d998028c38..0b2fd03253 100644 --- a/library/dis.po +++ b/library/dis.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-29 02:57+0200\n" +"PO-Revision-Date: 2021-08-07 15:41+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"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 3.0\n" #: ../Doc/library/dis.rst:2 msgid ":mod:`dis` --- Disassembler for Python bytecode" @@ -500,13 +501,12 @@ msgstr "" "mueve el elemento superior hacia abajo a la posición tres." #: ../Doc/library/dis.rst:349 -#, fuzzy msgid "" "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." +"Eleva los elementos de la segunda, tercera y cuarta pila una posición hacia " +"arriba, se mueve de arriba hacia abajo a la posición cuatro." #: ../Doc/library/dis.rst:357 msgid "Duplicates the reference on top of the stack." @@ -786,12 +786,11 @@ msgstr "" "comprensiones de conjuntos." #: ../Doc/library/dis.rst:643 -#, fuzzy msgid "" "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." +"Llama a ``list.append(TOS1[-i], TOS)``. Se utiliza para implementar listas " +"por comprensión." #: ../Doc/library/dis.rst:648 msgid "" @@ -876,9 +875,9 @@ msgstr "" "el estado de excepción." #: ../Doc/library/dis.rst:711 -#, fuzzy msgid "Re-raises the exception currently on top of the stack." -msgstr "Duplica la referencia en la parte superior de la pila." +msgstr "" +"Vuelve a lanzar la excepción actualmente en la parte superior de la pila." #: ../Doc/library/dis.rst:718 msgid "" @@ -887,12 +886,18 @@ msgid "" "__exit__(*exc_info())`` when an exception has occurred in a :keyword:`with` " "statement." msgstr "" +"Llama a la función en la posición 7 de la pila con los tres elementos " +"superiores de la pila como argumentos. Se usa para implementar la llamada " +"``context_manager.__ exit __(*exc_info())`` cuando se ha producido una " +"excepción en una sentencia :keyword:`with`." #: ../Doc/library/dis.rst:728 msgid "" "Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` " "statement." msgstr "" +"Inserta :exc:`AssertionError` en la pila. Utilizado por la declaración :" +"keyword:`assert`." #: ../Doc/library/dis.rst:736 msgid "" @@ -1062,28 +1067,26 @@ msgstr "" msgid "" "Pops a list from the stack and pushes a tuple containing the same values." msgstr "" +"Saca una lista de la pila y empuja una tupla que contiene los mismos valores." #: ../Doc/library/dis.rst:871 -#, fuzzy msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." -msgstr "" -"Llama a ``list.append(TOS[-i], TOS)``. Se usa para implementar comprensiones " -"de listas." +msgstr "Llama a ``list.extend(TOS1[-i], TOS)``. Se utiliza para crear listas." #: ../Doc/library/dis.rst:878 -#, fuzzy msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." msgstr "" -"Llama a ``set.add(TOS1[-i], TOS)``. Se utiliza para implementar " -"comprensiones de conjuntos." +"Llama a ``set.update(TOS1[-i], TOS)``. Se usa para construir decorados." #: ../Doc/library/dis.rst:885 msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." msgstr "" +"Llama a ``dict.update(TOS1[-i], TOS)``. Se usa para construir dictados." #: ../Doc/library/dis.rst:892 msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." msgstr "" +"Como :opcode:`DICT_UPDATE` pero lanza una excepción para claves duplicadas." #: ../Doc/library/dis.rst:899 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." @@ -1099,11 +1102,11 @@ msgstr "" #: ../Doc/library/dis.rst:910 msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." -msgstr "" +msgstr "Realiza una comparación ``is`` o ``is not`` si ``invert`` es 1." #: ../Doc/library/dis.rst:917 msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." -msgstr "" +msgstr "Realiza una comparación ``in`` o ``not in`` si ``invert`` es 1." #: ../Doc/library/dis.rst:924 msgid "" @@ -1150,6 +1153,8 @@ 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 "" +"Comprueba si el segundo valor de la pila es una excepción que coincide con " +"el TOS y salta si no lo es. Saca dos valores de la pila." #: ../Doc/library/dis.rst:966 msgid "" @@ -1172,7 +1177,6 @@ msgid "Set bytecode counter to *target*." msgstr "Establezca el contador de bytecode en *target*." #: ../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 " @@ -1304,7 +1308,6 @@ msgstr "" "posicionales." #: ../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 " @@ -1319,14 +1322,15 @@ msgid "" msgstr "" "Llama a un objeto invocable con argumentos posicionales (si los hay) y " "palabras clave. *argc* indica el número total de argumentos posicionales y " -"de palabras clave. El elemento superior en la pila contiene una tupla de " -"nombres de argumentos de palabras clave. Debajo de eso hay argumentos de " -"palabras clave en el orden correspondiente a la tupla. Debajo de eso hay " -"argumentos posicionales, con el parámetro más a la derecha en la parte " -"superior. Debajo de los argumentos hay un objeto invocable para llamar. " -"``CALL_FUNCTION_KW`` saca todos los argumentos y el objeto invocable de la " -"pila, llama al objeto invocable con esos argumentos y empuja el valor de " -"retorno retornado por el objeto invocable." +"de palabras clave. El elemento superior de la pila contiene una tupla con " +"los nombres de los argumentos de la palabra clave, que deben ser cadenas de " +"caracteres. Debajo están los valores para los argumentos de la palabra " +"clave, en el orden correspondiente a la tupla. Debajo están los argumentos " +"posicionales, con el parámetro más a la derecha en la parte superior. Debajo " +"de los argumentos hay un objeto invocable para llamar. ``CALL_FUNCTION_KW`` " +"saca todos los argumentos y el objeto 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:1095 msgid "" @@ -1337,7 +1341,6 @@ msgstr "" "diccionario, *argc* indica el número total de argumentos." #: ../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 " @@ -1351,16 +1354,12 @@ 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 " "*flags*, la parte superior de la pila contiene un objeto de mapeo que " -"contiene argumentos de palabras clave adicionales. Debajo de eso hay un " -"objeto iterable que contiene argumentos posicionales y un objeto invocable " -"para llamar. :opcode:`BUILD_MAP_UNPACK_WITH_CALL` y :opcode:" -"`BUILD_TUPLE_UNPACK_WITH_CALL` puede usarse para fusionar múltiples objetos " -"de mapeo e iterables que contienen argumentos. Antes de llamar al invocable, " -"el objeto de mapeo y el objeto iterable se \"desempaquetan\" y sus " -"contenidos se pasan como palabras clave y argumentos posicionales, " +"contiene argumentos de palabras clave adicionales. Antes de que se llame al " +"invocable, el objeto de mapeo y el objeto iterable se \"desempaquetan\" y su " +"contenido se pasa como palabra clave y argumentos posicionales, " "respectivamente. ``CALL_FUNCTION_EX`` saca todos los argumentos y el objeto " "invocable de la pila, llama al objeto invocable con esos argumentos y empuja " -"el valor de retorno retornado por el objeto invocable." +"el valor de retorno devuelto por el objeto invocable." #: ../Doc/library/dis.rst:1117 msgid "" From b2832b45b1d348fa429272a30cf340163c92fa24 Mon Sep 17 00:00:00 2001 From: dcristobalh Date: Wed, 11 Aug 2021 16:39:46 +0200 Subject: [PATCH 39/94] Translate importlibmetadata (#1330) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * File translated library/importlib.metadata * Add github user to file TRANSLATORS and last-translator in translated file * Update library/importlib.metadata.po Co-authored-by: Cristián Maureira-Fredes --- TRANSLATORS | 2 +- library/importlib.metadata.po | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 19acc2ef91..1a093e1a41 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -150,4 +150,4 @@ Adolfo Villalobos (@AdolfoVillalobos) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) Marcos Medrano (@mmmarcos) - +Diego Cristóbal (@dcristobalh) diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index 28c7d61543..9b8816c371 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -9,18 +9,18 @@ msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-04 22:03-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-10 17:50+0200\n" +"Last-Translator: diecristher@gmail.com\n" "Language: es_AR\n" "Language-Team: JuliKM@gmail.com\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 3.0\n" #: ../Doc/library/importlib.metadata.rst:5 -#, fuzzy msgid "Using :mod:`!importlib.metadata`" msgstr "Usando importlib.metadata" @@ -304,6 +304,13 @@ msgid "" "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 en :data:`sys.path`, o en los cargadores de paquetes " +"directamente, los metadatos de un paquete se encuentran a través del sistema " +"de importación :ref:`finders `. Para encontrar los " +"metadatos de un paquete de distribución, ``importlib.metadata`` consulta la " +"lista de :term:`meta path finders ` en :data:`sys." +"meta_path`." #: ../Doc/library/importlib.metadata.rst:227 msgid "" @@ -369,6 +376,11 @@ msgid "" "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 devuelto es una " +"instancia :class:`email.message.EmailMessage`, pero esto es un detalle de " +"implementación, y no forma parte de la API estable. Para acceder al " +"contenido de los metadatos sólo debe utilizar métodos y sintaxis de tipo " +"diccionario." #~ msgid "" #~ "Because package metadata is not available through ``sys.path`` searches, " From ed2b89cfbbfbc744728baf1a2b68a80300d67817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Thu, 12 Aug 2021 19:36:03 +0200 Subject: [PATCH 40/94] Continuando traducciones pendientes y fuzzy en library/ (#1271) --- dictionaries/library_enum.txt | 3 +- dictionaries/library_fcntl.txt | 1 + dictionaries/library_ftplib.txt | 1 + dictionaries/library_functions.txt | 1 + dictionaries/library_gc.txt | 1 + dictionaries/library_glob.txt | 1 + dictionaries/library_hashlib.txt | 1 + dictionaries/library_http_server.txt | 1 + library/email.charset.po | 38 ++++----- library/email.encoders.po | 18 ++--- library/email.message.po | 62 ++++++--------- library/enum.po | 46 +++++++---- library/exceptions.po | 15 ++-- library/faulthandler.po | 9 ++- library/fcntl.po | 12 ++- library/fnmatch.po | 14 ++-- library/fractions.po | 10 ++- library/ftplib.po | 115 +++++++++++++++------------ library/functions.po | 112 +++++++++++++++----------- library/functools.po | 90 +++++++++++++-------- library/gc.po | 47 ++++++----- library/gettext.po | 24 +++--- library/glob.po | 27 ++++--- library/hashlib.po | 34 ++++---- library/hmac.po | 12 ++- library/http.client.po | 17 ++-- library/http.po | 31 ++++---- library/http.server.po | 20 ++--- 28 files changed, 432 insertions(+), 331 deletions(-) create mode 100644 dictionaries/library_fcntl.txt create mode 100644 dictionaries/library_ftplib.txt diff --git a/dictionaries/library_enum.txt b/dictionaries/library_enum.txt index 1fc333d001..9b2bc94fd6 100644 --- a/dictionaries/library_enum.txt +++ b/dictionaries/library_enum.txt @@ -5,4 +5,5 @@ serializadas SomeData hasheables IntEnum -style \ No newline at end of file +style +sobreescriba diff --git a/dictionaries/library_fcntl.txt b/dictionaries/library_fcntl.txt new file mode 100644 index 0000000000..883d5425d5 --- /dev/null +++ b/dictionaries/library_fcntl.txt @@ -0,0 +1 @@ +fcntl diff --git a/dictionaries/library_ftplib.txt b/dictionaries/library_ftplib.txt new file mode 100644 index 0000000000..e19b7720ec --- /dev/null +++ b/dictionaries/library_ftplib.txt @@ -0,0 +1 @@ +perm diff --git a/dictionaries/library_functions.txt b/dictionaries/library_functions.txt index 10f83f3f8f..5ac2f2e6aa 100644 --- a/dictionaries/library_functions.txt +++ b/dictionaries/library_functions.txt @@ -1 +1,2 @@ testear +predictores diff --git a/dictionaries/library_gc.txt b/dictionaries/library_gc.txt index 9b92e35d51..6a1572a3f0 100644 --- a/dictionaries/library_gc.txt +++ b/dictionaries/library_gc.txt @@ -3,3 +3,4 @@ uncollectable collected generation desreferenciado +desasignaciones diff --git a/dictionaries/library_glob.txt b/dictionaries/library_glob.txt index 6bbe9e3174..ffe3494c35 100644 --- a/dictionaries/library_glob.txt +++ b/dictionaries/library_glob.txt @@ -1 +1,2 @@ globs +wildcards diff --git a/dictionaries/library_hashlib.txt b/dictionaries/library_hashlib.txt index 8d6272240d..a1d025cd27 100644 --- a/dictionaries/library_hashlib.txt +++ b/dictionaries/library_hashlib.txt @@ -17,3 +17,4 @@ afinable pseudoaleatoriedad sha Skein +hashlib diff --git a/dictionaries/library_http_server.txt b/dictionaries/library_http_server.txt index 8f08c6d9b7..79f3d56d9d 100644 --- a/dictionaries/library_http_server.txt +++ b/dictionaries/library_http_server.txt @@ -4,3 +4,4 @@ localhost only interoperación handler +sobreescrituras diff --git a/library/email.charset.po b/library/email.charset.po index eb2675ab21..3106358ff3 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-10-01 13:08-0400\n" +"PO-Revision-Date: 2021-08-07 18:14+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alvaro Cárdenas \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_ES\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/email.charset.rst:2 msgid ":mod:`email.charset`: Representing character sets" @@ -158,7 +158,6 @@ msgstr "" "encabezado. `Charset.SHORTEST`` no está permitido para *body_encoding*." #: ../Doc/library/email.charset.rst:76 -#, fuzzy msgid "" "Some character sets must be converted before they can be used in email " "headers or bodies. If the *input_charset* is one of them, this attribute " @@ -201,7 +200,6 @@ msgstr "" "codificación del cuerpo." #: ../Doc/library/email.charset.rst:102 -#, fuzzy msgid "" "This is either the string ``quoted-printable`` or ``base64`` depending on " "the encoding used, or it is a function, in which case you should call the " @@ -209,11 +207,11 @@ msgid "" "function should then set the :mailheader:`Content-Transfer-Encoding` header " "itself to whatever is appropriate." msgstr "" -"Esta es la cadena ``quoted-printable`` o ``base64`` dependiendo de la " -"codificación usada, o es una función, en cuyo caso se deberá llamar a la " -"función con un solo argumento, el objeto Mensaje a ser codificado. La " -"función deberá luego establecer el encabezado :mailheader:`Content-Transfer-" -"Encoding` en lo que sea apropiado." +"Esta es la cadena de caracteres ``quoted-printable`` o ``base64`` " +"dependiendo de la codificación usada, o es una función, en cuyo caso se " +"deberá llamar a la función con un solo argumento, el objeto Mensaje a ser " +"codificado. La función deberá luego establecer el encabezado :mailheader:" +"`Content-Transfer-Encoding` en lo que sea apropiado." #: ../Doc/library/email.charset.rst:108 msgid "" @@ -238,9 +236,8 @@ msgstr "" "*input_charset*." #: ../Doc/library/email.charset.rst:156 -#, fuzzy msgid "Header-encode the string *string*." -msgstr "Codifica como encabezado la cadena *string*." +msgstr "Codifica como encabezado la cadena de caracteres *string*." #: ../Doc/library/email.charset.rst:158 msgid "" @@ -287,13 +284,12 @@ msgstr "" "soportar operaciones estándar y funciones integradas." #: ../Doc/library/email.charset.rst:185 -#, fuzzy msgid "" "Returns *input_charset* as a string coerced to lower case. :meth:`__repr__` " "is an alias for :meth:`__str__`." msgstr "" -"Retorna *input_charset* como una cadena convertida a minúsculas. :meth:" -"`__repr__` es un alias para :meth:`__str__`." +"Retorna *input_charset* como una cadena de caracteres convertida a " +"minúsculas. :meth:`__repr__` es un alias para :meth:`__str__`." #: ../Doc/library/email.charset.rst:191 msgid "" @@ -332,7 +328,6 @@ msgstr "" "canónico del conjunto de caracteres." #: ../Doc/library/email.charset.rst:211 -#, fuzzy msgid "" "Optional *header_enc* and *body_enc* is either ``Charset.QP`` for quoted-" "printable, ``Charset.BASE64`` for base64 encoding, ``Charset.SHORTEST`` for " @@ -340,9 +335,9 @@ msgid "" "encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " "``None`` for no encoding." msgstr "" -"Opcional *header_enc* y *body_enc* es ``Charset.QP`` para quoted-printable, " -"``Charset.BASE64`` para codificación base64, ``Charset.SHORTEST`` para " -"codificación más corta quoted-printable o base64, o ``None`` para no " +"Opcional *header_enc* y *body_enc* es ``Charset.QP`` para imprimibles entre " +"comillas, ``Charset.BASE64`` para codificación base64, ``Charset.SHORTEST`` " +"para codificación más corta quoted-printable o base64, o ``None`` para no " "codificar. ``SHORTEST`` solo es válido para *header_enc*. El valor " "predeterminado es ``None`` para no codificar." @@ -372,7 +367,6 @@ msgstr "" "Consulte la documentación del módulo :mod:`codecs` para más información." #: ../Doc/library/email.charset.rst:227 -#, fuzzy msgid "" "The global character set registry is kept in the module global dictionary " "``CHARSETS``." @@ -390,16 +384,14 @@ msgstr "" "caracteres, p. ej. ``iso-8859-1``." #: ../Doc/library/email.charset.rst:236 -#, fuzzy msgid "" "The global charset alias registry is kept in the module global dictionary " "``ALIASES``." msgstr "" "El registro de alias global de conjuntos de caracteres se mantiene en el " -"módulo global diccionario `ALIASES``." +"módulo global diccionario ``ALIASES``." #: ../Doc/library/email.charset.rst:242 -#, fuzzy msgid "" "Add a codec that map characters in the given character set to and from " "Unicode." diff --git a/library/email.encoders.po b/library/email.encoders.po index 4fad287e54..cd6227df1d 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-11-17 20:38+0100\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18:10+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" +"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 3.0\n" #: ../Doc/library/email.encoders.rst:2 msgid ":mod:`email.encoders`: Encoders" @@ -40,18 +41,17 @@ 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 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:" -"`~email.mime.text.MIMEText` establece el tipo de contenido y el encabezado " -"CTE utilizando los valores del *_subtype* y del *_charset* que se pasan " -"cuando se instancia esa clase." +"Este módulo está obsoleto en Python 3. Las funciones que aparecen aquí no " +"deberían ser llamadas explícitamente ya que la clase :class:`~email.mime." +"text.MIMEText` establece el tipo de contenido y el encabezado CTE utilizando " +"los valores del *_subtype* y del *_charset* que se pasan cuando se instancia " +"esa clase." #: ../Doc/library/email.encoders.rst:20 msgid "" diff --git a/library/email.message.po b/library/email.message.po index e60e0eccb0..edb6585bf8 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-12-20 13:12-0600\n" +"PO-Revision-Date: 2021-08-07 18:10+0200\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Hugo Valencia Vargas \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/email.message.rst:2 msgid ":mod:`email.message`: Representing an email message" @@ -434,13 +434,12 @@ msgid "Return a list of all the message's field values." msgstr "Retorna una lista de todos los valores de los campos del mensaje." #: ../Doc/library/email.message.rst:243 -#, fuzzy msgid "" "Return a list of 2-tuples containing all the message's field headers and " "values." msgstr "" -"Retorna una lista de 2 tuplas que contienen todos los campos *header* y " -"*value* del mensaje." +"Retorna una lista de tuplas de dos elementos que contienen todos los campos " +"cabeceras y valores del mensaje." #: ../Doc/library/email.message.rst:249 msgid "" @@ -614,9 +613,7 @@ msgstr "" "``get_content_type`` cuando ninguna cabecera :mailheader:`Content-Type` está " "presente en el mensaje." -# No estoy seguro si esta bien la traducción de la última oración. #: ../Doc/library/email.message.rst:359 -#, fuzzy msgid "" "Set a parameter in the :mailheader:`Content-Type` header. If the parameter " "already exists in the header, replace its value with *value*. When *header* " @@ -625,12 +622,12 @@ msgid "" "parameter value. Optional *header* specifies an alternative header to :" "mailheader:`Content-Type`." msgstr "" -"Establece un parámetro en la cabecera :mailheader:`Content-Type`. Si el " -"parámetro ya existe en la cabecera, su valor se reemplaza por *value*. " -"Cuando la cabecera es ``Content-Type`` (predeterminado) y aún no existe en " -"el mensaje, se agrega, se establece su valor a :mimetype:`text/plain`, y se " -"agrega el nuevo parámetro con su valor. Opcionalmente *header* especifica " -"una cabecera alternativa a :mailheader:`Content-Type`." +"Establece un parámetro en el encabezado :mailheader:`Content-Type`. Si el " +"parámetro ya existe en el encabezado, reemplace su valor con *value*. Cuando " +"*header* es ``Content-Type`` (el predeterminado) y el encabezado aún no " +"existe en el mensaje, agréguelo, establece su valor en :mimetype:`text/" +"plain` y agregue el nuevo valor del parámetro. *header* opcional especifica " +"un encabezado alternativo a :mailheader:`Content-Type`." #: ../Doc/library/email.message.rst:366 msgid "" @@ -821,9 +818,7 @@ msgstr "" "Los siguientes métodos se refieren a interrogar y manipular el contenido " "(*payload*) del mensaje." -# no encontré en la memoria otra traducción de all-purpose, me pareció bien multipropósito, podría ser también "universal", o "para todo propósito"? #: ../Doc/library/email.message.rst:477 -#, fuzzy msgid "" "The :meth:`walk` method is an all-purpose generator which can be used to " "iterate over all the parts and subparts of a message object tree, in depth-" @@ -892,17 +887,15 @@ msgstr "" "Empieza a buscar coincidencias candidatas con el objeto en el que se llama " "al método ``get_body``'." -# Tengo duda sobre esta oración :s. #: ../Doc/library/email.message.rst:548 -#, fuzzy msgid "" "If ``related`` is not included in *preferencelist*, consider the root part " "(or subpart of the root part) of any related encountered as a candidate if " "the (sub-)part matches a preference." msgstr "" -"Si ``related`` no está incluida en *preferencelist*, considere la parte raíz " -"(o subparte de la parte raíz) de cualquier *related* encontrada como " -"candidata si la (sub-)parte coincide con una preferencia." +"Si ``related`` no está incluido en la *preferencelist*, considere la parte " +"raíz (o subparte de la parte raíz) de cualquier relacionado encontrado como " +"candidato si la (sub-)parte coincide con una preferencia." #: ../Doc/library/email.message.rst:552 msgid "" @@ -1112,9 +1105,7 @@ msgstr "" "lanza :exc:`TypeError`. Si *content_manager* no es especificado, usa el " "``content_manager`` especificado por la :mod:`~email.policy` actual." -# traducir *attachments* ? #: ../Doc/library/email.message.rst:673 -#, fuzzy msgid "" "If the message is a ``multipart/mixed``, create a new message object, pass " "all of the arguments to its :meth:`set_content` method, and :meth:`~email." @@ -1128,18 +1119,18 @@ msgid "" "``inline`` attachments (:mailheader:`Content-Disposition: inline`), by " "passing appropriate options to the ``content_manager``." msgstr "" -"Si el mensaje es un ``multipart/mixed``, crea un nuevo objeto mensaje, pasa " -"todos los argumentos a su método :meth:`set_content` y lo une al " -"``multipart`` con :meth:`~email.message.Message.attach`. Si el mensaje es un " -"no-``multipart``, ``multipart/related``, o ``multipart/alternative``llama a :" -"meth:`make_mixed` y procede como arriba. Si *content_manager* no es " -"especificado, usa el ``content_manager`` especificado por la :mod:`~email." -"policy` actual. Si la parte agregada no tiene un encabezado :mailheader:" -"`Content-Disposition`, se agrega uno con el valor ``attachment``. Este " -"método se puede usar tanto para *attachments* explícitos (:mailheader:" -"`Content-Disposition: attachment`) como para *attachments* ``inline`` (:" -"mailheader:`Content-Disposition: inline`), pasando las opciones apropiadas " -"al ``content_manager``." +"Si el mensaje es un ``multipart/mixed``, cree un nuevo objeto de mensaje, " +"pase todos los argumentos a su método :meth:`set_content` y :meth:`~email." +"message.Message.attach` al ``multipart``. Si el mensaje no es ``multipart``, " +"``multipart/related`` o ``multipart/alternative``, llame :meth:`make_mixed` " +"y luego proceda como se indicó anteriormente. Si no se especifica " +"*content_manager*, use el ``content_manager`` especificado por el actual :" +"mod:`~email.policy`. Si la parte agregada no tiene encabezado :mailheader:" +"`Content-Disposition`, agregue uno con el valor ``attachment``. Este método " +"se puede utilizar tanto para adjuntos explícitos (:mailheader:`Content-" +"Disposition: attachment`) como para adjuntos ``inline`` (:mailheader:" +"`Content-Disposition: inline`), pasando las opciones apropiadas al " +"``content_manager``." #: ../Doc/library/email.message.rst:689 msgid "Remove the payload and all of the headers." @@ -1216,7 +1207,6 @@ msgstr "" "del mensaje. Como con el :attr:`~EmailMessage.preamble`, si no hay texto de " "epílogo este atributo será ``None``." -# En la memoria hay diferentes traducciones para parsing, análisis sintáctico me pareció la más adecuada #: ../Doc/library/email.message.rst:734 msgid "" "The *defects* attribute contains a list of all the problems found when " diff --git a/library/enum.po b/library/enum.po index fbf19a062a..7ef684ca80 100644 --- a/library/enum.po +++ b/library/enum.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 17:58-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18:56+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" +"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 3.0\n" #: ../Doc/library/enum.rst:2 msgid ":mod:`enum` --- Support for enumerations" @@ -41,13 +42,16 @@ msgstr "" #: ../Doc/library/enum.rst:22 msgid "Case of Enum Members" -msgstr "" +msgstr "Caso de miembros de Enum" #: ../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 "" +"Debido a que las enumeraciones se usan para representar constantes, " +"recomendamos usar nombres UPPER_CASE para los miembros de enumeración, y " +"usaremos ese estilo en nuestros ejemplos." #: ../Doc/library/enum.rst:30 msgid "Module Contents" @@ -107,7 +111,6 @@ msgstr "" "cualquier valor." #: ../Doc/library/enum.rst:65 -#, fuzzy msgid "" "Instances are replaced with an appropriate value for Enum members. By " "default, the initial value starts at 1." @@ -314,7 +317,6 @@ msgstr "" "invalidar::" #: ../Doc/library/enum.rst:279 -#, fuzzy msgid "" "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 " @@ -329,6 +331,8 @@ msgstr "" msgid "" "The :meth:`_generate_next_value_` method must be defined before any members." msgstr "" +"El método :meth:`_generate_next_value_` debe definirse antes que cualquier " +"miembro." #: ../Doc/library/enum.rst:288 msgid "Iteration" @@ -438,15 +442,14 @@ msgstr "" "attr:`_ignore_`." #: ../Doc/library/enum.rst:396 -#, fuzzy msgid "" "Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` " "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 " +"Nota: si tu enumeración define :meth:`__new__` o :meth:`__init__`, los " "valores que se hayan dado al miembro enum se pasarán a esos métodos. Ver " -"`Planeta`_ para un ejemplo." +"`Planet`_ para un ejemplo." #: ../Doc/library/enum.rst:402 msgid "Restricted Enum subclassing" @@ -866,7 +869,6 @@ msgstr "" "`IntEnum`." #: ../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:" @@ -875,9 +877,9 @@ msgid "" 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 " -"valores de ese tipo, ej. :class:`int` de arriba. Esta restricción no se " -"aplica a las mezclas que solo agregan métodos y no especifican otro tipo de " -"datos como :class:`int` o :class:`str`." +"valores de ese tipo, por ejemplo, :class:`int` de arriba. Esta restricción " +"no se aplica a las mezclas que solo agregan métodos y no especifican otro " +"tipo." #: ../Doc/library/enum.rst:745 msgid "" @@ -908,6 +910,12 @@ msgid "" "and !r format codes to force usage of the :class:`Enum` class's :meth:" "`__str__` and :meth:`__repr__` methods." msgstr "" +":ref:`Cadenas de caracteres literales formateadas `, :meth:`str." +"format`, y :func:`format` usará el tipo mixto :meth:`__format__` a menos " +"que :meth:`__str__` o :meth:`__format__` se sobreescriba en la subclase, en " +"cuyo caso se utilizarán los métodos anulados o :class:`Enum`. Use los " +"códigos de formato !s y !r para forzar el uso de los métodos :class:`Enum` " +"de las clases :meth:`__str__` y :meth:`__repr__`." #: ../Doc/library/enum.rst:759 msgid "When to use :meth:`__new__` vs. :meth:`__init__`" @@ -1034,12 +1042,16 @@ msgid "" "To make a more general purpose ``AutoNumber``, add ``*args`` to the " "signature::" msgstr "" +"Para hacer un ``AutoNumber`` de propósito más general, agregue ``*args`` a " +"la firma::" #: ../Doc/library/enum.rst:900 msgid "" "Then when you inherit from ``AutoNumber`` you can write your own " "``__init__`` to handle any extra arguments::" msgstr "" +"Luego, cuando hereda de ``AutoNumber``, puede escribir su propio " +"``__init__`` para manejar cualquier argumento adicional::" #: ../Doc/library/enum.rst:919 msgid "" @@ -1208,13 +1220,12 @@ msgstr "" "valor; puede ser anulado" #: ../Doc/library/enum.rst:1093 -#, fuzzy msgid "" "``_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 :" +"``_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" @@ -1264,7 +1275,7 @@ msgstr "" #: ../Doc/library/enum.rst:1126 msgid "_Private__names" -msgstr "" +msgstr "_Private__names" #: ../Doc/library/enum.rst:1128 msgid "" @@ -1272,6 +1283,9 @@ msgid "" "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 "" +"Los nombres privados serán atributos normales en Python 3.10 en lugar de un " +"error o un miembro (dependiendo de si el nombre termina con un guión bajo). " +"El uso de estos nombres en 3.9 emitirá un :exc:`DeprecationWarning`." #: ../Doc/library/enum.rst:1134 msgid "``Enum`` member type" diff --git a/library/exceptions.po b/library/exceptions.po index 2c19b8ecc9..b780785cff 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-20 10:03-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18: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" +"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 3.0\n" #: ../Doc/library/exceptions.rst:4 msgid "Built-in Exceptions" @@ -1133,6 +1134,9 @@ msgid "" "pep:`565`). Enabling the :ref:`Python Development Mode ` shows this " "warning." msgstr "" +"Ignorado por los filtros de advertencia predeterminados, excepto en el " +"módulo ``__main__`` (:pep:`565`). Habilitando :ref:`Modo Desarrollo de " +"Python ` muestra esta advertencia." #: ../Doc/library/exceptions.rst:698 msgid "" @@ -1159,6 +1163,8 @@ msgid "" "Ignored by the default warning filters. Enabling the :ref:`Python " "Development Mode ` shows this warning." msgstr "" +"Ignorado por los filtros de advertencia predeterminados. Habilitando :ref:" +"`Modo Desarrollo de Python ` muestra esta advertencia." #: ../Doc/library/exceptions.rst:712 msgid "Base class for warnings about dubious syntax." @@ -1197,9 +1203,8 @@ msgstr "" "`bytearray`." #: ../Doc/library/exceptions.rst:746 -#, fuzzy msgid "Base class for warnings related to resource usage." -msgstr "Clase base para advertencias relacionadas con Unicode." +msgstr "Clase base para advertencias relacionadas con el uso de recursos." #: ../Doc/library/exceptions.rst:756 msgid "Exception hierarchy" diff --git a/library/faulthandler.po b/library/faulthandler.po index e04b51d7cc..006f4386aa 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-01-21 17:10-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18:24+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" +"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 3.0\n" #: ../Doc/library/faulthandler.rst:2 msgid ":mod:`faulthandler` --- Dump the Python traceback" @@ -120,6 +121,8 @@ msgid "" "The :ref:`Python Development Mode ` calls :func:`faulthandler." "enable` at Python startup." msgstr "" +"El :ref:`Modo de Desarrollo Python ` llama a :func:`failurehandler." +"enable` al inicio de Python." #: ../Doc/library/faulthandler.rst:48 msgid "Dumping the traceback" diff --git a/library/fcntl.po b/library/fcntl.po index 4364c180e5..c3edd59d39 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-07 11:40+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18:24+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_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 3.0\n" #: ../Doc/library/fcntl.rst:2 msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" @@ -76,6 +77,11 @@ msgid "" "module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and ``F_OFD_SETLKW`` " "constants, which working with open file description locks." msgstr "" +"En macOS, el módulo fcntl expone la constante ``F_GETPATH``, que obtiene la " +"ruta de un archivo a partir de un descriptor de archivo. En Linux (>=3.15), " +"el módulo fcntl expone las constantes ``F_OFD_GETLK``, ``F_OFD_SETLK`` y " +"``F_OFD_SETLKW``, que funcionan con bloqueos de descripción de archivos " +"abiertos." #: ../Doc/library/fcntl.rst:42 msgid "The module defines the following functions:" diff --git a/library/fnmatch.po b/library/fnmatch.po index 91c0b630f3..1bca4a8e94 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 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" +"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 3.0\n" #: ../Doc/library/fnmatch.rst:2 msgid ":mod:`fnmatch` --- Unix filename pattern matching" @@ -138,15 +139,14 @@ msgstr "" "aplica :func:`os.path.normcase`." #: ../Doc/library/fnmatch.rst:78 -#, fuzzy msgid "" "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 " -"implementado de manera más eficiente." +"Construye una lista a partir de los elementos de los *names* iterables que " +"coinciden con el *pattern*. Es lo mismo que ``[n for n in names if " +"fnmatch(n, pattern)]``, pero implementado de manera más eficiente." #: ../Doc/library/fnmatch.rst:84 msgid "" diff --git a/library/fractions.po b/library/fractions.po index 152163e855..cd660758bf 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-29 08:55-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18:17+0200\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" +"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 3.0\n" #: ../Doc/library/fractions.rst:2 msgid ":mod:`fractions` --- Rational numbers" @@ -122,6 +123,9 @@ msgid "" "*denominator*. :func:`math.gcd` always return a :class:`int` type. " "Previously, the GCD type depended on *numerator* and *denominator*." msgstr "" +"La función :func:`math.gcd` ahora se usa para normalizar el *numerator* y " +"*denominator*. :func:`math.gcd` siempre retorna un tipo :class:`int`. " +"Anteriormente, el tipo de GCD dependía de *numerator* y *denominator*." #: ../Doc/library/fractions.rst:94 msgid "Numerator of the Fraction in lowest term." diff --git a/library/ftplib.po b/library/ftplib.po index 54e90349cb..4529ca7831 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-07 12:12-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 19:06+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" +"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 3.0\n" #: ../Doc/library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" @@ -48,7 +49,7 @@ msgstr "" #: ../Doc/library/ftplib.rst:22 msgid "The default encoding is UTF-8, following :rfc:`2640`." -msgstr "" +msgstr "La codificación predeterminada es UTF-8, siguiendo :rfc:`2640`." #: ../Doc/library/ftplib.rst:24 msgid "Here's a sample session using the :mod:`ftplib` module::" @@ -59,7 +60,6 @@ msgid "The module defines the following items:" msgstr "El módulo define los siguientes elementos:" #: ../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 " @@ -71,15 +71,17 @@ msgid "" "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*, " -"se llama adicionalmente al método ``login(user, passwd, acct)`` (donde " -"*passwd* y *acct* tienen como valor predeterminado la cadena vacía cuando no " -"se indica). El parámetro opcional *timeout* especifica un tiempo de espera " -"en segundo para bloquear operaciones como el intento de conexión (si no está " -"especificado, se usa el tiempo de espera global por defecto). " -"*source_address* es una tupla de 2 ``(host, port)`` para que el *socket* se " -"enlace como su dirección de origen antes de conectarse." +"Retorna una nueva instancia de la clase :class:`FTP`. Cuando se da *host*, " +"se realiza la llamada al método ``connect(host)``. Cuando se da *user*, " +"además se realiza la llamada al método ``login(user, passwd, acct)`` (donde " +"*passwd* y *acct* predeterminan la cadena de caracteres vacía cuando no se " +"dan). El parámetro opcional *timeout* especifica un tiempo de espera en " +"segundos para bloquear operaciones como el intento de conexión (si no se " +"especifica, se utilizará la configuración de tiempo de espera global " +"predeterminada). *source_address* es una tupla de dos elementos ``(host, " +"port)`` para que el socket se vincule como su dirección de origen antes de " +"conectarse. El parámetro *encoding* especifica la codificación de " +"directorios y nombres de archivo." #: ../Doc/library/ftplib.rst:58 msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" @@ -102,6 +104,10 @@ msgid "" "*encoding* parameter was added, and the default was changed from Latin-1 to " "UTF-8 to follow :rfc:`2640`." msgstr "" +"Si el parámetro *timeout* se establece en cero, lanzará un :class:" +"`ValueError` para evitar la creación de un socket sin bloqueo. Se agregó el " +"parámetro *encoding*, y el valor predeterminado se cambió de Latin-1 a UTF-8 " +"para seguir :rfc:`2640`." #: ../Doc/library/ftplib.rst:86 msgid "" @@ -221,17 +227,16 @@ msgid "FTP Objects" msgstr "Objetos FTP" #: ../Doc/library/ftplib.rst:178 -#, fuzzy msgid "" "Several methods are available in two flavors: one for handling text files " "and another for binary files. These are named for the command which is used " "followed by ``lines`` for the text version or ``binary`` for the binary " "version." msgstr "" -"Varios métodos están disponibles en dos sabores: uno para manejar archivos " -"de texto y otro para archivos binarios. Estos se nombran para el comando que " -"utiliza seguido de ``líneas`` para la versión texto y ``binary`` para la " -"versión binaria." +"Hay varios métodos disponibles en dos versiones: uno para manejar archivos " +"de texto y otro para archivos binarios. Estos reciben el nombre del comando " +"que se utiliza seguido de ``lines`` para la versión de texto o ``binary`` " +"para la versión binaria." #: ../Doc/library/ftplib.rst:182 msgid ":class:`FTP` instances have the following methods:" @@ -372,7 +377,6 @@ msgstr "" "razonable. *rest* significa lo mismo que en el método :meth:`transfercmd`." #: ../Doc/library/ftplib.rst:269 -#, fuzzy msgid "" "Retrieve a file or directory listing in the encoding specified by the " "*encoding* parameter at initialization. *cmd* should be an appropriate " @@ -383,14 +387,15 @@ msgid "" "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 " -"un comando como ``LIST`` o ``NLST`` (usualmente solo la cadena de caracteres " -"``'LIST'``). ``LIST`` recupera una lista de archivos y la información sobre " -"esos archivos. ``NLST`` recupera una lista de nombres de archivos. La " -"función *callback* se invoca por cada línea con un argumento de cadena de " -"caracteres que contiene la línea con el CRLF final eliminado. El *callback* " -"predeterminado imprime la línea a ``sys.stdout``." +"Recupera una lista de archivos o directorios en la codificación especificada " +"por el parámetro *encoding* en la inicialización. *cmd* debe ser un comando " +"``RETR`` apropiado (ver :meth:`retrbinary`) o un comando como ``LIST`` o " +"``NLST`` (generalmente solo la cadena de caracteres ``'LIST'``). ``LIST`` " +"recupera una lista de archivos e información sobre esos archivos. ``NLST`` " +"recupera una lista de nombres de archivos. La función *callback* se llama " +"para cada línea con un argumento de cadena de 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:282 msgid "" @@ -424,7 +429,6 @@ msgid "*rest* parameter added." msgstr "Se agregó el parámetro *rest*." #: ../Doc/library/ftplib.rst:302 -#, fuzzy msgid "" "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 " @@ -432,13 +436,12 @@ msgid "" "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 " -"leídas hasta EOF (final del archivo) desde el :term:`file object` *fp* " -"(abierto en modo binario) usando su método :meth:`~io.IOBase.readline` para " -"proporcionar los datos que serán almacenados. *callback* es un único " -"parámetro opcional invocable que se llama en cada línea luego de que es " -"enviada." +"Almacena un archivo en modo de línea. *cmd* debe ser un comando ``STOR`` " +"apropiado (ver :meth:`storbinary`). Las líneas se leen hasta EOF del :term:" +"`file object` *fp* (abierto en modo binario) usando su método :meth:`~io." +"IOBase.readline` para proporcionar los datos que se almacenarán. *callback* " +"es un parámetro único opcional que se puede llamar en cada línea después de " +"su envío." #: ../Doc/library/ftplib.rst:311 msgid "" @@ -466,6 +469,16 @@ msgid "" "command, an :exc:`error_reply` exception will be raised. If this happens, " "simply call :meth:`transfercmd` without a *rest* argument." msgstr "" +"Si se proporciona *rest* opcional, se envía un comando ``REST`` al servidor, " +"pasando *rest* como argumento. *rest* suele ser un desplazamiento de bytes " +"en el archivo solicitado, que le indica al servidor que reinicie el envío de " +"los bytes del archivo en el desplazamiento solicitado, omitiendo los bytes " +"iniciales. Sin embargo, tenga en cuenta que el método :meth:`transfercmd` " +"convierte *rest* en una cadena de caracteres con el parámetro *encoding* " +"especificado en la inicialización, pero no se realiza ninguna comprobación " +"del contenido de la cadena de caracteres. Si el servidor no reconoce el " +"comando ``REST``, se lanzará una excepción :exc:`error_reply`. Si esto " +"sucede, simplemente llame a :meth:`transfercmd` sin un argumento *rest*." #: ../Doc/library/ftplib.rst:330 msgid "" @@ -480,7 +493,6 @@ msgstr "" "`transfercmd`." #: ../Doc/library/ftplib.rst:338 -#, fuzzy msgid "" "List a directory in a standardized format by using ``MLSD`` command (:rfc:" "`3659`). If *path* is omitted the current directory is assumed. *facts* is " @@ -491,30 +503,27 @@ msgid "" "name. Content of this dictionary might be limited by the *facts* argument " "but server is not guaranteed to return all requested facts." msgstr "" -"Genera una lista de directorios en formato estandarizado usando el comando " -"``MLSD`` (:rfc:`3659`). Si *path* está omitido, se asume que es el " -"directorio actual. *facts* es una lista de cadenas de caracteres que " -"representa el tipo de información deseada (por ejemplo ``[\"type\", \"size" -"\", \"perm\"]``). Retorna un objeto generador que cede lugar a una tupla de " -"dos elementos por cada archivo encontrado en la ruta. El primero elemento es " -"el nombre de archivo, el segundo es el diccionario que contiene información " -"sobre el nombre de archivo. El contenido de este diccionario puede estar " -"limitado por el argumento *facts* pero no está garantizado que el servidor " -"retorne toda la información requerida." +"Enumera un directorio en un formato estandarizado usando el comando ``MLSD`` " +"(:rfc:`3659`). Si se omite *path*, se asume el directorio actual. *facts* es " +"una lista de cadenas de caracteres que representan el tipo de información " +"deseada (por ejemplo, ``[\"type\", \"size\", \"perm\"]``). Retorna un objeto " +"generador que produce una tupla de dos elementos por cada archivo encontrado " +"en la ruta. El primer elemento es el nombre del archivo, el segundo es un " +"diccionario que contiene datos sobre el nombre del archivo. El contenido de " +"este diccionario puede estar limitado por el argumento *facts*, pero no se " +"garantiza que el servidor retorne todos los datos solicitados." #: ../Doc/library/ftplib.rst:352 -#, fuzzy msgid "" "Return a list of file names as returned by the ``NLST`` command. The " "optional *argument* is a directory to list (default is the current server " "directory). Multiple arguments can be used to pass non-standard options to " "the ``NLST`` command." msgstr "" -"Retorna una lista de nombres de archivos como ocurre con el comando " -"``NLST``. El *argumento* opcional es un directorio a ser listado (el valor " -"predeterminado es el directorio del servidor actual). Se pueden utilizar " -"argumentos múltiples para pasar las opciones que no son estándar al comando " -"``NLST``." +"Retorna una lista de nombres de archivos tal como los retorna el comando " +"``NLST``. El *argument* opcional es un directorio para listar (el " +"predeterminado es el directorio del servidor actual). Se pueden usar varios " +"argumentos para pasar opciones no estándar al comando ``NLST``." #: ../Doc/library/ftplib.rst:357 ../Doc/library/ftplib.rst:369 msgid "If your server supports the command, :meth:`mlsd` offers a better API." diff --git a/library/functions.po b/library/functions.po index 4e9b07fd93..08ebcd63da 100644 --- a/library/functions.po +++ b/library/functions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 20:28+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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 3.0\n" #: ../Doc/library/functions.rst:5 ../Doc/library/functions.rst:11 msgid "Built-in Functions" @@ -310,16 +311,14 @@ 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, 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__()``." +"entero, un número de coma flotante o un objeto que implemente :meth:" +"`__abs__`. Si el argumento es un número complejo, se retorna su magnitud." #: ../Doc/library/functions.rst:52 msgid "" @@ -463,14 +462,14 @@ msgstr "" "nulos." #: ../Doc/library/functions.rst:153 -#, fuzzy msgid "" "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." +"Si es un objeto conforme a :ref:`interfaz de búfer `, se " +"utilizará un búfer de solo lectura del objeto para inicializar el arreglo de " +"bytes." #: ../Doc/library/functions.rst:156 msgid "" @@ -595,20 +594,22 @@ msgstr "" "objeto de la clase derivada se pasa como primer argumento implícito." #: ../Doc/library/functions.rst:223 -#, fuzzy msgid "" "Class methods are different than C++ or Java static methods. If you want " "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`." +"Si los desea, consulte :func:`staticmethod` en esta sección. Para obtener " +"más información sobre los métodos de clase, consulte :ref:`types`." #: ../Doc/library/functions.rst:227 msgid "" "Class methods can now wrap other :term:`descriptors ` such as :" "func:`property`." msgstr "" +"Los métodos de clase ahora pueden envolver otros :term:`descriptores " +"` como :func:`property`." #: ../Doc/library/functions.rst:233 msgid "" @@ -660,9 +661,19 @@ msgid "" "*flags* argument is it -- the flags (future features and compiler options) " "in the surrounding code are ignored." msgstr "" +"Los argumentos opcionales *flags* y *dont_inherit* controlan qué :ref:" +"`opciones del compilador ` deben activarse y cuáles :ref:" +"`características futuras ` deben permitirse. Si ninguno está " +"presente (o ambos son cero), el código se compila con los mismos flags que " +"afectan al código que llama :func:`compile`. Si se proporciona el argumento " +"*flags* y *dont_inherit* no es (o es cero), las opciones del compilador y " +"las declaraciones futuras especificadas por el argumento *flags* se utilizan " +"además de las que se utilizarían de todos modos. Si *dont_inherit* es un " +"número entero distinto de cero, entonces el argumento *flags* lo es: los " +"indicadores (características futuras y opciones del compilador) en el código " +"circundante se ignoran." #: ../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 " @@ -671,12 +682,14 @@ msgid "" "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 " -"requerido para especificar una característica específica puede ser " -"encontrado como el atributo :attr:`~__future__._Feature.compiler_flag` de la " -"instancia de la clase :class:`~__future__._Feature` en el módulo :mod:" -"`__future__`." +"Las opciones del compilador y las declaraciones futuras se especifican " +"mediante bits que pueden combinarse mediante OR bit a bit para especificar " +"varias opciones. El campo de bits requerido para especificar una " +"característica futura dada se puede encontrar como el atributo :attr:" +"`~__future__._Feature.compiler_flag` en la instancia :class:`~__future__." +"_Feature` en el módulo :mod:`__future__`. :ref:`Las flags del compilador " +"` se pueden encontrar en el módulo :mod:`ast`, con el " +"prefijo ``PyCF_``." #: ../Doc/library/functions.rst:267 msgid "" @@ -710,7 +723,6 @@ msgstr "" "`ast.parse`." #: ../Doc/library/functions.rst:279 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source``, ``filename``." @@ -1098,7 +1110,6 @@ msgstr "" "código." #: ../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 " @@ -1110,16 +1121,17 @@ msgid "" "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 " -"conjunto de declaraciones de Python que es ejecutado (a menos que ocurra un " -"error de sintaxis). [#]_ Si es un objeto código, es simplemente ejecutado. " -"En todos los casos, se espera que el código ejecutado sea un válido como " -"entrada de fichero (ver la sección \"Entrada de Fichero\" en el Manual de " -"Referencia). Ten en cuenta que las declaraciones :keyword:`return` y :" -"keyword:`yield` no pueden ser usadas fuera de definiciones de funciones " -"incluso en el contexto de código pasado a la función :func:`exec`. El valor " -"de retorno es ``None``." +"Esta función admite la ejecución dinámica de código Python. *object* debe " +"ser una cadena de caracteres o un objeto código. Si es una cadena de " +"caracteres, la cadena de caracteres se analiza como un conjunto de " +"declaraciones de Python que luego se ejecuta (a menos que ocurra un error de " +"sintaxis). [#]_ Si es un objeto código, simplemente se ejecuta. En todos los " +"casos, se espera que el código que se ejecuta sea válido como entrada de " +"archivo (consulte la sección \"Archivo de Entrada\" en el Manual de " +"referencia). Tenga en cuenta que las declaraciones :keyword:`nonlocal`, :" +"keyword:`yield` y :keyword:`return` no se pueden utilizar fuera de las " +"definiciones de función, incluso dentro del contexto del código pasado a la " +"función :func:`exec` . El valor de retorno es ``None``." #: ../Doc/library/functions.rst:516 msgid "" @@ -1512,13 +1524,12 @@ msgstr "" "tener el mismo valor de :func:`id`." #: ../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``." +"Lanza un :ref:`evento de auditoría ` ``builtins.id`` con el " +"argumento ``id``." #: ../Doc/library/functions.rst:775 msgid "" @@ -1542,7 +1553,6 @@ msgstr "" "historiales." #: ../Doc/library/functions.rst:788 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt``." @@ -1558,15 +1568,6 @@ 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 " -"argument ``result``." -msgstr "" -"Lanza un :ref:`evento de auditoría ` ``builtins.input/result`` con " -"argumento ``result``." - #: ../Doc/library/functions.rst:795 msgid "" "Raises an auditing event ``builtins.input/result`` with the result after " @@ -1736,6 +1737,8 @@ msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." msgstr "" +"``len`` aumenta :exc:`OverflowError` en longitudes mayores que :data:`sys." +"maxsize`, como :class:`range(2 ** 100) `." #: ../Doc/library/functions.rst:905 msgid "" @@ -1924,14 +1927,14 @@ msgstr "" "\"0o\" como sin el, puedes usar cualquiera de las siguientes formas." #: ../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. 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`." +"Abre *file* y retorna un :term:`file object` correspondiente. Si el archivo " +"no se puede abrir, se lanza un :exc:`OSError`. Consulte :ref:`tut-files` " +"para obtener más ejemplos de cómo utilizar esta función." #: ../Doc/library/functions.rst:1048 msgid "" @@ -3120,6 +3123,16 @@ msgid "" "the :attr:`~object.__dict__` attribute. The following two statements create " "identical :class:`type` objects:" msgstr "" +"Con tres argumentos, retorna un nuevo tipo objeto. Esta es esencialmente una " +"forma dinámica de la declaración :keyword:`class`. La cadena de caracteres " +"*name* es el nombre de la clase y se convierte en el atributo :attr:" +"`~definition.__name__`. La tupla *bases* contiene las clases base y se " +"convierte en el atributo :attr:`~class.__bases__`; si está vacío, se agrega :" +"class:`object`, la base última de todas las clases. El diccionario *dict* " +"contiene definiciones de métodos y atributos para el cuerpo de la clase; se " +"puede copiar o ajustar antes de convertirse en el atributo :attr:`~object." +"__dict__`. Las siguientes dos declaraciones crean objetos idénticos :class:" +"`type`:" #: ../Doc/library/functions.rst:1705 msgid "See also :ref:`bltin-type-objects`." @@ -3170,6 +3183,9 @@ msgid "" "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " "defines the :attr:`~object.__slots__` attribute)." msgstr "" +"Una excepción :exc:`TypeError` se genera si se especifica un objeto pero no " +"tiene un atributo :attr:`~object.__dict__` (por ejemplo, si su clase define " +"el atributo :attr:`~object.__slots__`)." #: ../Doc/library/functions.rst:1731 msgid "Make an iterator that aggregates elements from each of the iterables." @@ -3355,6 +3371,8 @@ msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." msgstr "" +"Cuando se utilizan las opciones de línea de comando :option:`-E` o :option:`-" +"I`, la variable de entorno :envvar:`PYTHONCASEOK` ahora se ignora." #: ../Doc/library/functions.rst:1848 msgid "Footnotes" diff --git a/library/functools.po b/library/functools.po index 315f4cfb64..3f5edb25fe 100644 --- a/library/functools.po +++ b/library/functools.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-09 11:12-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 18: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" +"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 3.0\n" #: ../Doc/library/functools.rst:2 msgid "" @@ -53,6 +54,8 @@ msgid "" "Simple lightweight unbounded function cache. Sometimes called `\"memoize\" " "`_." msgstr "" +"Caché de funciones ilimitado, ligero y simple. Aveces llamado `\"memoización" +"\" `_." #: ../Doc/library/functools.rst:34 msgid "" @@ -61,6 +64,10 @@ msgid "" "needs to evict old values, this is smaller and faster than :func:" "`lru_cache()` with a size limit." msgstr "" +"Retorna lo mismo que ``lru_cache(maxsize=None)``, creando una envoltura " +"delgada alrededor de una búsqueda de diccionario para los argumentos de la " +"función. Debido a que nunca necesita desalojar los valores antiguos, esto es " +"más pequeño y más rápido que :func:`lru_cache()` con un límite de tamaño." #: ../Doc/library/functools.rst:39 ../Doc/library/functools.rst:255 msgid "For example::" @@ -90,6 +97,10 @@ msgid "" "`property`. A regular property blocks attribute writes unless a setter is " "defined. In contrast, a *cached_property* allows writes." msgstr "" +"La mecánica de :func:`cached_property` es algo diferente de :func:" +"`property`. Un atributo de bloques de propiedad normal escribe a menos que " +"se defina un establecedor. Por el contrario, *cached_property* permite " +"escrituras." #: ../Doc/library/functools.rst:77 msgid "" @@ -99,12 +110,19 @@ msgid "" "attribute reads and writes take precedence over the *cached_property* method " "and it works like a normal attribute." msgstr "" +"El decorador *cached_property* solo se ejecuta en búsquedas y solo cuando no " +"existe un atributo con el mismo nombre. Cuando se ejecuta, *cached_property* " +"escribe en el atributo con el mismo nombre. Las lecturas y escrituras de " +"atributos posteriores tienen prioridad sobre el método *cached_property* y " +"funciona como un atributo normal." #: ../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 "" +"El valor en caché se puede borrar eliminando el atributo. Esto permite que " +"el método *cached_property* se ejecute nuevamente." #: ../Doc/library/functools.rst:86 msgid "" @@ -112,9 +130,11 @@ msgid "" "dictionaries. This means that instance dictionaries can take more space " "than usual." msgstr "" +"Tenga en cuenta que este decorador interfiere con el funcionamiento de " +"diccionarios de intercambio de claves :pep:`412`. Esto significa que los " +"diccionarios de instancias pueden ocupar más espacio de lo habitual." #: ../Doc/library/functools.rst:90 -#, fuzzy msgid "" "Also, this decorator requires that the ``__dict__`` attribute on each " "instance be a mutable mapping. This means it will not work with some types, " @@ -123,13 +143,13 @@ msgid "" "``__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 " -"las metaclases (ya que los atributos ``__dict__`` en las instancias de tipo " -"son proxies sólo de lectura para el espacio de nombres de la clase), y los " -"que especifican ``__slots__`` sin incluir ``__dict__`` como uno de los slots " -"definidos (ya que tales clases no proporcionan un atributo ``__dict__`` en " -"absoluto)." +"Además, este decorador requiere que el atributo ``__dict__`` en cada " +"instancia sea un mapeo mutable. Esto significa que no funcionará con algunos " +"tipos, como las metaclases (ya que los atributos ``__dict__`` en las " +"instancias de tipos son proxies de solo lectura para el espacio de nombres " +"de la clase) y aquellos que especifican ``__slots__`` sin incluir " +"``__dict__`` como una de las ranuras definidas (ya que tales clases no " +"proporcionan un atributo ``__dict__`` en absoluto)." #: ../Doc/library/functools.rst:97 msgid "" @@ -137,6 +157,9 @@ msgid "" "desired, an effect similar to :func:`cached_property` can be achieved by a " "stacking :func:`property` on top of :func:`cache`::" msgstr "" +"Si un mapeo mutable no está disponible o si se desea compartir claves con " +"espacio eficiente, se puede lograr un efecto similar a :func:" +"`cached_property` apilando :func:`property` encima de :func:`cache`::" #: ../Doc/library/functools.rst:115 msgid "" @@ -241,6 +264,10 @@ msgid "" "and *typed*. This is for information purposes only. Mutating the values " "has no effect." msgstr "" +"La función envuelta está instrumentada con una función :func:" +"`cache_parameters` que retorna un nuevo :class:`dict` que muestra los " +"valores para *maxsize* y *typed*. Esto es solo para fines informativos. La " +"mutación de los valores no tiene ningún efecto." #: ../Doc/library/functools.rst:172 msgid "" @@ -275,7 +302,6 @@ msgstr "" "para volver a envolver la función con un caché diferente." #: ../Doc/library/functools.rst:185 -#, fuzzy msgid "" "An `LRU (least recently used) cache `_ works best when the " @@ -284,13 +310,13 @@ msgid "" "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 " -"recientes son los mejores pronosticadores de las próximas llamadas (por " -"ejemplo, los artículos más populares en un servidor de noticias tienden a " -"cambiar cada día). El límite de tamaño de la caché asegura que ésta no " -"crezca sin estar vinculada a procesos de larga duración como los servidores " -"web." +"Un `caché LRU (menos usado recientemente) `_ funciona mejor " +"cuando las llamadas más recientes son los mejores predictores de las " +"próximas llamadas (por ejemplo, el los artículos más populares en un " +"servidor de noticias tienden a cambiar cada día). El límite de tamaño de la " +"caché asegura que la caché no crezca sin límites en procesos de larga " +"ejecución como servidores web." #: ../Doc/library/functools.rst:192 msgid "" @@ -330,7 +356,7 @@ msgstr "Añadida la opción *user_function*." #: ../Doc/library/functools.rst:242 msgid "Added the function :func:`cache_parameters`" -msgstr "" +msgstr "Añadida la función :func:`cache_parameters`" #: ../Doc/library/functools.rst:247 msgid "" @@ -571,6 +597,8 @@ msgid "" "If an implementation registered to :term:`abstract base class`, virtual " "subclasses will be dispatched to that implementation::" msgstr "" +"Si una implementación se registra en :term:`abstract base class`, las " +"subclases virtuales se enviarán a esa implementación::" #: ../Doc/library/functools.rst:496 msgid "" @@ -644,17 +672,17 @@ msgid "" "string) and ``WRAPPER_UPDATES`` (which updates the wrapper function's " "``__dict__``, i.e. the instance dictionary)." msgstr "" -"Actualizar una función envoltorio (*wrapper*) para que se parezca a la " -"función de envoltura(*wrapped*). Los argumentos opcionales son tuplas para " -"especificar qué atributos de la función original se asignan directamente a " -"los atributos correspondientes de la función de envoltura y qué atributos de " -"la función de envoltura se actualizan con los atributos correspondientes de " -"la función original. Los valores por defecto de estos argumentos son las " -"constantes de nivel de módulo ``WRAPPER_ASSIGNMENTS`` (que asigna al " -"``__module__`` de la función de envoltura, ``__module__``, ``__name__``, " -"``__qualname__``, ``__annotations__`` y ``__doc__``, la cadena de " -"documentación) y ``WRAPPER_UPDATES`` (que actualiza el ``__dict__`` de la " -"función de envoltura(*wrapped*), i. e. el diccionario de instancias)." +"Actualiza una función *wrapper* para que se parezca a la función *wrapped*. " +"Los argumentos opcionales son tuplas para especificar qué atributos de la " +"función original se asignan directamente a los atributos coincidentes en la " +"función contenedora y qué atributos de la función contenedora se actualizan " +"con los atributos correspondientes de la función original. Los valores " +"predeterminados para estos argumentos son las constantes de nivel de módulo " +"``WRAPPER_ASSIGNMENTS`` (que se asigna a la función contenedora " +"``__module__``, ``__name__``, ``__qualname__``, ``__annotations__`` y " +"``__doc__``, la cadena de caracteres de documentación) y ``WRAPPER_UPDATES`` " +"(que actualiza el ``__dict__`` de la función contenedora, es decir, el " +"diccionario de instancia)." #: ../Doc/library/functools.rst:583 msgid "" diff --git a/library/gc.po b/library/gc.po index 9d313a87a0..1ddad34ef7 100644 --- a/library/gc.po +++ b/library/gc.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 21:59+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" +"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 3.0\n" #: ../Doc/library/gc.rst:2 msgid ":mod:`gc` --- Garbage Collector interface" @@ -128,6 +129,8 @@ msgid "" "Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " "``generation``." msgstr "" +"Lanza un :ref:`evento de auditoría ` ``gc.get_objects`` con el " +"argumento ``generation``." #: ../Doc/library/gc.rst:79 msgid "" @@ -172,7 +175,6 @@ msgstr "" "establece *threshold0* en cero se deshabilita la recolección." #: ../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 " @@ -190,21 +192,22 @@ msgid "" "org/garbage_collector/#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 " -"objetos nuevos se colocan en la generación más joven (generación ``0``). Si " -"un objeto sobrevive a una recolección, se traslada a la siguiente generación " -"con mayor antigüedad. Dado que la generación ``2`` es la generación más " -"antigua posible, los objetos de esta generación que no se recolecten " -"permanecen siempre allí después de una recolección. Para decidir cuándo debe " -"ejecutarse, el recolector realiza un seguimiento del número de alojamientos " -"y desalojamientos de objetos desde la última recolección. Cuando el número " -"de alojamientos menos el número de desalojamientos supera el *threshold0*, " -"comienza una recolección. Inicialmente, solo se examina la generación ``0``. " -"Si la generación ``0`` se ha examinado más de *threshold1* veces desde que " -"se examinó la generación ``1``, también se examina la generación ``1``. De " -"manera similar, *threshold2* controla el número de recolecciones de la " -"generación ``1`` antes de recolectar la generación ``2``." +"El recolector de basura (GC por sus siglas en inglés) clasifica los objetos " +"en tres generaciones dependiendo de cuántos barridos de colección hayan " +"sobrevivido. Los nuevos objetos se colocan en la generación más joven " +"(generación ``0``). Si un objeto sobrevive a una colección, se traslada a la " +"siguiente generación anterior. Dado que la generación ``2`` es la generación " +"más antigua, los objetos de esa generación permanecen allí después de una " +"colección. Para decidir cuándo ejecutar, el recopilador realiza un " +"seguimiento del número de asignaciones y desasignaciones de objetos desde la " +"última recopilación. Cuando el número de asignaciones menos el número de " +"desasignaciones supera el *treshold0*, comienza la recopilación. " +"Inicialmente solo se examina la generación ``0``. Si la generación ``0`` se " +"ha examinado más de *treshold1* veces desde que se examinó la generación " +"``1``, también se examina la generación ``1``. Con la tercera generación, " +"las cosas son un poco más complicadas, consulte `Recopilación de la " +"generación más antigua `_ para obtener más información." #: ../Doc/library/gc.rst:118 msgid "" @@ -265,6 +268,8 @@ msgid "" "Raises an :ref:`auditing event ` ``gc.get_referrers`` with " "argument ``objs``." msgstr "" +"Lanza un :ref:`evento de auditoría ` ``gc.get_referrers`` con el " +"argumento ``objs``." #: ../Doc/library/gc.rst:151 msgid "" @@ -294,6 +299,8 @@ msgid "" "Raises an :ref:`auditing event ` ``gc.get_referents`` with " "argument ``objs``." msgstr "" +"Lanza un :ref:`evento de auditoría ` ``gc.get_referents`` con el " +"argumento ``objs``." #: ../Doc/library/gc.rst:163 msgid "" @@ -317,6 +324,8 @@ msgid "" "Returns ``True`` if the given object has been finalized by the garbage " "collector, ``False`` otherwise. ::" msgstr "" +"Retorna ``True`` si el objeto dado ha sido finalizado por el recolector de " +"basura, ``False`` en caso contrario. ::" #: ../Doc/library/gc.rst:209 msgid "" diff --git a/library/gettext.po b/library/gettext.po index c96ca50a45..57483ecf48 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-07 23:17+0200\n" +"PO-Revision-Date: 2021-08-07 21:56+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" +"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 3.0\n" #: ../Doc/library/gettext.rst:2 msgid ":mod:`gettext` --- Multilingual internationalization services" @@ -428,7 +429,6 @@ msgstr "" "a ``self._parse(fp)`` if *fp* no es ``None``." #: ../Doc/library/gettext.rst:255 -#, fuzzy msgid "" "No-op in the base class, this method takes file object *fp*, and reads the " "data from the file, initializing its message catalog. If you have an " @@ -437,8 +437,8 @@ msgid "" msgstr "" "No operativo en la clase base, este método toma el objeto de archivo *fp* y " "lee los datos del archivo, inicializando su catálogo de mensajes. Si tiene " -"un formato de archivo de catálogo de mensajes no admitido, debe anular este " -"método para analizar su formato." +"un formato de archivo de catálogo de mensajes no admitido, debe sobrescribir " +"este método para analizar su formato." #: ../Doc/library/gettext.rst:263 msgid "" @@ -626,12 +626,11 @@ 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." msgstr "" -"El conjunto completo de pares clave/valor se coloca en un diccionario y se " +"El conjunto completo de pares clave/valor se colocan en un diccionario y se " "establece como la variable de instancia \"protegida\" :attr:`_info`." #: ../Doc/library/gettext.rst:390 @@ -938,21 +937,18 @@ msgstr "" "secciones discutirán cada caso." #: ../Doc/library/gettext.rst:570 -#, fuzzy msgid "Localizing your module" msgstr "Agregar configuración regional a su módulo" #: ../Doc/library/gettext.rst:572 -#, fuzzy msgid "" "If you are localizing your module, you must take care not to make global " "changes, e.g. to the built-in namespace. You should not use the GNU :program:" "`gettext` API but instead the class-based API." msgstr "" "Si está aplicando configuración regional a su módulo, debe tener cuidado de " -"no realizar cambios globales, por ejemplo, al espacio de nombres " -"incorporado. No debe usar la API GNU :program:`gettext` sino la API basada " -"en clases." +"no realizar cambios globales, por ejemplo, al espacio de nombres integrado. " +"No debe utilizar la API GNU :program:`gettext`, sino la API basada en clases." #: ../Doc/library/gettext.rst:576 msgid "" @@ -967,12 +963,10 @@ msgstr "" "parte superior de su módulo::" #: ../Doc/library/gettext.rst:587 -#, fuzzy msgid "Localizing your application" msgstr "Agregar configuración regional a su aplicación" #: ../Doc/library/gettext.rst:589 -#, fuzzy msgid "" "If you are localizing your application, you can install the :func:`_` " "function globally into the built-in namespace, usually in the main driver " @@ -982,7 +976,7 @@ msgstr "" "Si está aplicando configuración regional a su aplicación, puede instalar la " "función :func:`_` globalmente en el espacio de nombres incorporado, " "generalmente en el archivo del controlador principal de su aplicación. Esto " -"permitirá que todos sus archivos específicos de la aplicación solo usen " +"permitirá que todos los archivos específicos de su aplicación usen " "``_('...')`` sin tener que instalarlo explícitamente en cada archivo." #: ../Doc/library/gettext.rst:594 diff --git a/library/glob.po b/library/glob.po index aa1d8703de..c87e3f21fb 100644 --- a/library/glob.po +++ b/library/glob.po @@ -11,13 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-26 00:09+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 21:20+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/glob.rst:2 msgid ":mod:`glob` --- Unix style pathname pattern expansion" @@ -64,7 +67,6 @@ 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 " @@ -75,14 +77,15 @@ msgid "" "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 " -"especificación de ruta. El *pathname* puede ser absoluto (como :file:`/usr/" -"src/Python-1.5/Makefile`) o relativo (como :file:`../../Tools/\\*/\\*.gif`) " -"y puede contener comodines al estilo de los usados en una terminal. Los " -"enlaces simbólicos rotos se incluyen en los resultados (como en la " -"terminal). Que los resultados estén ordenados dependerá del sistema de " -"ficheros." +"Retorna una lista posiblemente vacía de nombres de ruta que coincidan con " +"*pathname*, que debe ser una cadena de caracteres que contenga una " +"especificación de ruta. *pathname* puede ser absoluto (como :file:`/usr/src/" +"Python-1.5/Makefile`) o relativo (como :file:`../../Tools/\\*/\\*.gif`) y " +"puede contener wildcards de estilo shell. Los enlaces simbólicos rotos se " +"incluyen en los resultados (como en el shell). La clasificación de los " +"resultados depende del sistema de archivos. Si un archivo que cumple las " +"condiciones se elimina o se agrega durante la llamada de esta función, no se " +"especifica si se incluirá un nombre de ruta para ese archivo." #: ../Doc/library/glob.rst:53 msgid "" diff --git a/library/hashlib.po b/library/hashlib.po index 965cf238c6..af9cb2ea83 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-07 21: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" +"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 3.0\n" #: ../Doc/library/hashlib.rst:2 msgid ":mod:`hashlib` --- Secure hashes and message digests" @@ -101,7 +102,6 @@ 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:" @@ -113,15 +113,15 @@ msgid "" "`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:" -"`sha512`, :func:`blake2b` y :func:`blake2s`. :func:`md5` también está " -"disponible normalmente, aunque puede faltar si estás usando una construcción " -"de Python que cumple de forma rara con los requisitos FIPS. Algoritmos " -"adicionales también pueden estar disponibles dependiendo de la biblioteca " -"OpenSSL que Python usa en tu plataforma. En la mayoría de plataformas las " -"funciones :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :func:" -"`sha3_512`, :func:`shake_128` y :func:`shake_256` también están disponibles." +"Los constructores para algoritmos hash que siempre están presentes en este " +"módulo son :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :" +"func:`sha512`, :func:`blake2b` y :func:`blake2s`. :func:`md5` normalmente " +"también está disponible, aunque puede faltar o estar bloqueado si está " +"utilizando una rara compilación de Python \"compatible con FIPS \". También " +"pueden estar disponibles algoritmos adicionales dependiendo de la biblioteca " +"OpenSSL que Python use en su plataforma. En la mayoría de las plataformas " +"también están disponibles :func:`sha3_224`, :func:`sha3_256`, :func:" +"`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`." #: ../Doc/library/hashlib.rst:76 msgid "" @@ -143,10 +143,16 @@ msgid "" "hashing algorithm is not used in a security context, e.g. as a non-" "cryptographic one-way compression function." msgstr "" +"Todos los constructores hashlib toman un argumento de solo palabra clave " +"*usedforsecurity* con el valor predeterminado ``True``. Un valor falso " +"permite el uso de algoritmos hash inseguros y bloqueados en entornos " +"restringidos. ``False`` indica que el algoritmo hash no se utiliza en un " +"contexto de seguridad, por ejemplo, como una función de compresión " +"unidireccional no criptográfica." #: ../Doc/library/hashlib.rst:90 msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer." -msgstr "" +msgstr "Hashlib ahora usa SHA3 y SHAKE de OpenSSL 1.1.1 y posteriores." #: ../Doc/library/hashlib.rst:92 msgid "" diff --git a/library/hmac.po b/library/hmac.po index 30ca587c7c..a2adcf2cab 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-01-29 17:45-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 21: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" +"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 3.0\n" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" @@ -193,6 +194,9 @@ msgid "" "outer`` are internal implementation details and will be removed in Python " "3.10." msgstr "" +"Los atributos no documentados ``HMAC.digest_cons``, ``HMAC.inner`` y ``HMAC." +"outer`` son detalles de implementación interna y se eliminarán en Python " +"3.10." #: ../Doc/library/hmac.rst:123 msgid "This module also provides the following helper function:" @@ -227,6 +231,8 @@ msgstr "" msgid "" "The function uses OpenSSL's ``CRYPTO_memcmp()`` internally when available." msgstr "" +"La función utiliza ``CRYPTO_memcmp()`` de OpenSSL internamente cuando está " +"disponible." #: ../Doc/library/hmac.rst:149 msgid "Module :mod:`hashlib`" diff --git a/library/http.client.po b/library/http.client.po index a941aae9a0..7b958cb52f 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-07 10:14-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 20:31+0200\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" +"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 3.0\n" #: ../Doc/library/http.client.rst:2 msgid ":mod:`http.client` --- HTTP protocol client" @@ -725,12 +726,16 @@ msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" +"URL del recurso recuperado, comúnmente utilizado para determinar si se " +"siguió una redirección." #: ../Doc/library/http.client.rst:493 msgid "" "Headers of the response in the form of an :class:`email.message." "EmailMessage` instance." msgstr "" +"Cabeceras de la respuesta en forma de una instancia :class:`email.message." +"EmailMessage`." #: ../Doc/library/http.client.rst:497 msgid "Status code returned by server." @@ -754,15 +759,15 @@ msgstr "Es ``True`` si la transmisión está cerrada." #: ../Doc/library/http.client.rst:514 msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." -msgstr "" +msgstr "Deprecada a favor de :attr:`~HTTPResponse.url`." #: ../Doc/library/http.client.rst:519 msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." -msgstr "" +msgstr "Deprecada a favor de :attr:`~HTTPResponse.headers`." #: ../Doc/library/http.client.rst:524 msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." -msgstr "" +msgstr "Deprecada a favor de :attr:`~HTTPResponse.status`." #: ../Doc/library/http.client.rst:528 msgid "Examples" diff --git a/library/http.po b/library/http.po index 7768d17fcb..d68955d300 100644 --- a/library/http.po +++ b/library/http.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-08 10:00+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 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" +"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 3.0\n" #: ../Doc/library/http.rst:2 msgid ":mod:`http` --- HTTP modules" @@ -149,17 +150,16 @@ 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``" +msgstr "``103``" #: ../Doc/library/http.rst:65 msgid "``EARLY_HINTS``" -msgstr "" +msgstr "``EARLY_HINTS``" #: ../Doc/library/http.rst:65 msgid "An HTTP Status Code for Indicating Hints :rfc:`8297`" -msgstr "" +msgstr "Un código de estado HTTP para indicar pistas :rfc:`8297`" #: ../Doc/library/http.rst:66 msgid "``200``" @@ -594,18 +594,16 @@ 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:102 -#, fuzzy msgid "``418``" -msgstr "``451``" +msgstr "``418``" #: ../Doc/library/http.rst:102 msgid "``IM_A_TEAPOT``" -msgstr "" +msgstr "``IM_A_TEAPOT``" #: ../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" +msgstr "HTCPCP/1.0 :rfc:`2324`, Section 2.3.2" #: ../Doc/library/http.rst:103 msgid "``421``" @@ -656,17 +654,16 @@ msgid "WebDAV :rfc:`4918`, Section 11.4" msgstr "WebDAV :rfc:`4918`, Sección 11.4" #: ../Doc/library/http.rst:107 -#, fuzzy msgid "``425``" -msgstr "``451``" +msgstr "``425``" #: ../Doc/library/http.rst:107 msgid "``TOO_EARLY``" -msgstr "" +msgstr "``TOO_EARLY``" #: ../Doc/library/http.rst:107 msgid "Using Early Data in HTTP :rfc:`8470`" -msgstr "" +msgstr "Uso de datos iniciales en HTTP :rfc:`8470`" #: ../Doc/library/http.rst:108 msgid "``426``" @@ -883,3 +880,5 @@ msgid "" "Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status " "codes." msgstr "" +"Agregados códigos de estado ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` y ``425 " +"TOO_EARLY``." diff --git a/library/http.server.po b/library/http.server.po index 6bfbbd13f1..f785acd27f 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-18 02:10-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-07 22: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" +"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 3.0\n" #: ../Doc/library/http.server.rst:2 msgid ":mod:`http.server` --- HTTP servers" @@ -554,22 +555,23 @@ msgstr "" "define a nivel de módulo." #: ../Doc/library/http.server.rst:338 -#, fuzzy msgid "" "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." +"Un diccionario que asigna sufijos a tipos MIME contiene sobreescrituras " +"personalizadas para las asignaciones predeterminadas del sistema. El mapeo " +"se usa sin distinción entre mayúsculas y minúsculas, por lo que solo debe " +"contener claves en minúsculas." #: ../Doc/library/http.server.rst:342 msgid "" "This dictionary is no longer filled with the default system mappings, but " "only contains overrides." msgstr "" +"Este diccionario ya no contiene las asignaciones predeterminadas del " +"sistema, sino que solo contiene anulaciones." #: ../Doc/library/http.server.rst:348 msgid "" @@ -580,7 +582,7 @@ msgstr "" #: ../Doc/library/http.server.rst:350 msgid "Accepts a :term:`path-like object`." -msgstr "" +msgstr "Acepta un :term:`path-like object`." #: ../Doc/library/http.server.rst:353 msgid "" From 44b6a30fb0625faf65292eb1d71ff26483543629 Mon Sep 17 00:00:00 2001 From: dcristobalh Date: Thu, 12 Aug 2021 20:37:47 +0200 Subject: [PATCH 41/94] Traduccion smtplib.po (#1333) * Doc: translate smtplib.po * Doc: add last translator --- library/smtplib.po | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 41678b78e5..d1b7e78e05 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-12-21 19:42+0100\n" -"Last-Translator: Cristián Maureira-Fredes \n" +"PO-Revision-Date: 2021-08-12 16:18+0200\n" +"Last-Translator: Diego Cristobal Herreros \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 3.0\n" #: ../Doc/library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" @@ -133,6 +134,8 @@ msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket" msgstr "" +"Si el parámetro *timeout* se mantiene en cero, lanzará un :class:" +"`ValueError` para evitar la creación de un socket no bloqueante" #: ../Doc/library/smtplib.rst:81 msgid "" @@ -221,7 +224,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:132 msgid "The optional *timeout* parameter was added." -msgstr "" +msgstr "Se ha añadido el parámetro opcional *timeout*." #: ../Doc/library/smtplib.rst:136 msgid "A nice selection of exceptions is defined as well:" From 3c09451706c5cdee816d1f474a5b5bdc353b90fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Thu, 12 Aug 2021 20:46:59 +0200 Subject: [PATCH 42/94] Traduciendo entradas pendientes en howto/ (#1334) --- howto/logging.po | 8 +++++++- howto/pyporting.po | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/howto/logging.po b/howto/logging.po index 4824b75f87..cde3afce6c 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-08-04 17:38+0200\n" +"PO-Revision-Date: 2021-08-12 20:29+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es_US\n" "Language-Team: python-doc-es\n" @@ -305,6 +305,12 @@ msgid "" "passed, which determines how encoding errors are handled. For available " "values and the default, see the documentation for :func:`open`." msgstr "" +"Se agregó el argumento *encoding*. En versiones anteriores de Python, o si " +"no se especifica, la codificación utilizada es el valor predeterminado " +"utilizado por :func:`open`. Aunque no se muestra en el ejemplo anterior, " +"ahora también se puede pasar un argumento *errors*, que determina cómo se " +"manejan los errores de codificación. Para conocer los valores disponibles y " +"los predeterminados, consulte la documentación de :func:`open`." #: ../Doc/howto/logging.rst:144 msgid "" diff --git a/howto/pyporting.po b/howto/pyporting.po index 8256be303f..157724d6d8 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-08-04 17:37+0200\n" +"PO-Revision-Date: 2021-08-12 20:30+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" @@ -155,6 +155,10 @@ msgid "" "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 "" +"Nota: El uso de ``python -m pip install`` garantiza que el ``pip`` que " +"invoca es el que está instalado para el Python actualmente en uso, ya sea un " +"``pip`` de todo el sistema o uno instalado dentro de un :ref:`entorno " +"virtual `." #: ../Doc/howto/pyporting.rst:56 msgid "Details" From 8e287398b4ed32ecd866bb21ef36c073b2b17a51 Mon Sep 17 00:00:00 2001 From: dcristobalh Date: Fri, 13 Aug 2021 23:12:36 +0200 Subject: [PATCH 43/94] Translate library/logging.handlers.po (#1335) --- library/logging.handlers.po | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/library/logging.handlers.po b/library/logging.handlers.po index acbd311c6c..7dc89d20fe 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-28 09:15-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-13 06:24+0200\n" +"Last-Translator: Diego Cristobal Herreros \n" "Language: es_AR\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 3.0\n" #: ../Doc/library/logging.handlers.rst:2 msgid ":mod:`logging.handlers` --- Logging handlers" @@ -140,16 +141,21 @@ msgid "" "String used as the terminator when writing a formatted record to a stream. " "Default value is ``'\\n'``." msgstr "" +"Cadena utilizada como terminador al escribir un registro formateado en un " +"flujo. El valor por defecto es ``'\\n'``." #: ../Doc/library/logging.handlers.rst:78 msgid "" "If you don't want a newline termination, you can set the handler instance's " "``terminator`` attribute to the empty string." msgstr "" +"Si no quieres una terminación de nueva línea, puedes establecer el atributo " +"``terminator`` de la instancia del manejador a la cadena vacía." #: ../Doc/library/logging.handlers.rst:81 msgid "In earlier versions, the terminator was hardcoded as ``'\\n'``." msgstr "" +"En versiones anteriores, el terminador estaba codificado como ``'\\n'``." #: ../Doc/library/logging.handlers.rst:89 msgid "FileHandler" @@ -740,6 +746,8 @@ msgid "" "If *errors* is specified, it's used to determine how encoding errors are " "handled." msgstr "" +"Si se especifica *errors*, se utiliza para determinar cómo se manejan los " +"errores de codificación." #: ../Doc/library/logging.handlers.rst:412 msgid "" From 170406622c058cffaa26a86cad60875821e81fd5 Mon Sep 17 00:00:00 2001 From: Frank Montalvo Ochoa Date: Fri, 13 Aug 2021 16:33:19 -0500 Subject: [PATCH 44/94] Traducido archivo library/dialog (#1329) * Traducido archivo library/dialog * Correccion de traduccion --- TRANSLATORS | 1 + dictionaries/library_dialog.txt | 4 + library/dialog.po | 127 ++++++++++++++++++++++---------- 3 files changed, 94 insertions(+), 38 deletions(-) create mode 100644 dictionaries/library_dialog.txt diff --git a/TRANSLATORS b/TRANSLATORS index 1a093e1a41..9237f07b89 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -150,4 +150,5 @@ Adolfo Villalobos (@AdolfoVillalobos) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) Marcos Medrano (@mmmarcos) +Frank Montalvo Ochoa (@fmontalvoo) Diego Cristóbal (@dcristobalh) diff --git a/dictionaries/library_dialog.txt b/dictionaries/library_dialog.txt new file mode 100644 index 0000000000..530b76eddb --- /dev/null +++ b/dictionaries/library_dialog.txt @@ -0,0 +1,4 @@ +label +pattern +subclasificada +Renderiza \ No newline at end of file diff --git a/library/dialog.po b/library/dialog.po index c3d4622f52..e6a443753b 100644 --- a/library/dialog.po +++ b/library/dialog.po @@ -4,77 +4,89 @@ # 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" +"PO-Revision-Date: 2021-08-12 10:24-0500\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-Team: \n" +"X-Generator: Poedit 3.0\n" +"Language: es\n" #: ../Doc/library/dialog.rst:2 msgid "Tkinter Dialogs" -msgstr "" +msgstr "Diálogos Tkinter" #: ../Doc/library/dialog.rst:5 msgid ":mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs" -msgstr "" +msgstr ":mod:`tkinter.simpledialog` ---Diálogos de entrada estándar de Tkinter" #: ../Doc/library/dialog.rst:11 msgid "**Source code:** :source:`Lib/tkinter/simpledialog.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/simpledialog.py`" #: ../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 "" +"El módulo :mod:`tkinter.simpledialog` contiene clases y funciones " +"convenientes para crear diálogos modales simples para obtener un valor de " +"entrada del usuario." #: ../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 "" +"Las tres funciones anteriores proporcionan diálogos que piden al usuario que " +"introduzca un valor del tipo deseado." #: ../Doc/library/dialog.rst:28 msgid "The base class for custom dialogs." -msgstr "" +msgstr "La clase base para los diálogos personalizados." #: ../Doc/library/dialog.rst:32 msgid "" "Override to construct the dialog's interface and return the widget that " "should have initial focus." msgstr "" +"Sobrescribir para construir la interfaz del dialogo y retornar el widget que " +"debe tener el foco inicial." #: ../Doc/library/dialog.rst:37 msgid "" "Default behaviour adds OK and Cancel buttons. Override for custom button " "layouts." msgstr "" +"El comportamiento por defecto añade los botones OK y Cancelar. Sobrescribir " +"para diseños de botones personalizados." #: ../Doc/library/dialog.rst:43 msgid ":mod:`tkinter.filedialog` --- File selection dialogs" -msgstr "" +msgstr "Diálogos de selección de archivos" #: ../Doc/library/dialog.rst:49 msgid "**Source code:** :source:`Lib/tkinter/filedialog.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/filedialog.py`" #: ../Doc/library/dialog.rst:53 msgid "" "The :mod:`tkinter.filedialog` module provides classes and factory functions " "for creating file/directory selection windows." msgstr "" +"El módulo :mod:`tkinter.filedialog` proporciona clases y funciones de " +"factoría para crear ventanas de selección de archivos/directorios." #: ../Doc/library/dialog.rst:57 msgid "Native Load/Save Dialogs" -msgstr "" +msgstr "Diálogos nativos de carga/guardado" #: ../Doc/library/dialog.rst:59 msgid "" @@ -83,39 +95,49 @@ msgid "" "The following keyword arguments are applicable to the classes and functions " "listed below:" msgstr "" +"Las siguientes clases y funciones proporcionan ventanas de diálogo de " +"archivos que combinan un aspecto nativo con opciones de configuración para " +"personalizar el comportamiento. Los siguientes argumentos son aplicables a " +"las clases y funciones enumeradas a continuación:" #: ../Doc/library/dialog.rst msgid "*parent* - the window to place the dialog on top of" -msgstr "" +msgstr "*parent* - la ventana sobre la que se situará el diálogo" #: ../Doc/library/dialog.rst msgid "*title* - the title of the window" -msgstr "" +msgstr "*title* - el título de la ventana" #: ../Doc/library/dialog.rst msgid "*initialdir* - the directory that the dialog starts in" -msgstr "" +msgstr "*initialdir* - el directorio en el que inicia el diálogo" #: ../Doc/library/dialog.rst msgid "*initialfile* - the file selected upon opening of the dialog" -msgstr "" +msgstr "*initialfile* - el archivo seleccionado al abrir el diálogo" #: ../Doc/library/dialog.rst msgid "" "*filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed" msgstr "" +"*filetypes* - una secuencia de tuplas (label, pattern), se permite el " +"comodín '*'" #: ../Doc/library/dialog.rst msgid "*defaultextension* - default extension to append to file (save dialogs)" msgstr "" +"*defaultextension* - extensión por defecto para añadir al archivo (diálogos " +"de guardado)" #: ../Doc/library/dialog.rst msgid "*multiple* - when true, selection of multiple items is allowed" msgstr "" +"*multiple* - cuando es verdadero, se permite la selección de múltiples " +"elementos" #: ../Doc/library/dialog.rst:79 msgid "**Static factory functions**" -msgstr "" +msgstr "**Funciones estáticas de factoría**" #: ../Doc/library/dialog.rst:81 msgid "" @@ -123,165 +145,194 @@ msgid "" "wait for the user's selection, then return the selected value(s) or ``None`` " "to the caller." msgstr "" +"Las siguientes funciones, al ser invocadas, crean un diálogo modal de " +"aspecto nativo, esperan la selección del usuario y retornan el(los) " +"valor(es) seleccionado(s) o ``Ninguno`` a la llamada." #: ../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 "" +"Las dos funciones anteriores crean un diálogo :class:`Open` y retornan " +"el( los) objeto(s) de archivo(s) abierto(s) en modo de sólo lectura." #: ../Doc/library/dialog.rst:93 msgid "" "Create a :class:`SaveAs` dialog and return a file object opened in write-" "only mode." msgstr "" +"Crea un diálogo :class:`SaveAs` y retorna un objeto de un archivo abierto en " +"modo de sólo escritura." #: ../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 "" +"Las dos funciones anteriores crean un diálogo :class:`Open` y retornan " +"el( los) nombre(s) de archivo(s) seleccionado(s) que corresponde(n) a un(os) " +"archivo(s) existente(s)." #: ../Doc/library/dialog.rst:103 msgid "Create a :class:`SaveAs` dialog and return the selected filename." msgstr "" +"Crea un diálogo :class:`SaveAs` y retorna el nombre del archivo seleccionado." #: ../Doc/library/dialog.rst:107 msgid "Prompt user to select a directory." -msgstr "" +msgstr "Pide al usuario que seleccione un directorio." #: ../Doc/library/dialog.rst:108 msgid "Additional keyword option:" -msgstr "" +msgstr "Argumento opcional adicional:" #: ../Doc/library/dialog.rst:109 msgid "*mustexist* - determines if selection must be an existing directory." msgstr "" +"*mustexist* - determina si la selección debe ser un directorio existente." #: ../Doc/library/dialog.rst:114 msgid "" "The above two classes provide native dialog windows for saving and loading " "files." msgstr "" +"Las dos clases anteriores proporcionan ventanas de diálogo nativas para " +"guardar y cargar archivos." #: ../Doc/library/dialog.rst:117 msgid "**Convenience classes**" -msgstr "" +msgstr "**Clases de conveniencia**" #: ../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 "" +"Las siguientes clases se utilizan para crear ventanas de archivos/" +"directorios desde cero. Estas no emulan el aspecto nativo de la plataforma." #: ../Doc/library/dialog.rst:124 msgid "Create a dialog prompting the user to select a directory." -msgstr "" +msgstr "Crear un diálogo que solicite al usuario que seleccione un directorio." #: ../Doc/library/dialog.rst:126 msgid "" "The *FileDialog* class should be subclassed for custom event handling and " "behaviour." msgstr "" +"La clase *FileDialog* debe ser subclasificada para el manejo de eventos y " +"comportamiento personalizados." #: ../Doc/library/dialog.rst:131 msgid "Create a basic file selection dialog." -msgstr "" +msgstr "Crear un diálogo básico de selección de archivos." #: ../Doc/library/dialog.rst:135 msgid "Trigger the termination of the dialog window." -msgstr "" +msgstr "Activa la terminación de la ventana de diálogo." #: ../Doc/library/dialog.rst:139 msgid "Event handler for double-click event on directory." -msgstr "" +msgstr "Manejador de eventos para el evento de doble clic sobre un directorio." #: ../Doc/library/dialog.rst:143 msgid "Event handler for click event on directory." -msgstr "" +msgstr "Manejador de eventos para el evento de clic sobre un directorio." #: ../Doc/library/dialog.rst:147 msgid "Event handler for double-click event on file." -msgstr "" +msgstr "Manejador de eventos para el evento de doble clic sobre un archivo." #: ../Doc/library/dialog.rst:151 msgid "Event handler for single-click event on file." -msgstr "" +msgstr "Manejador de eventos para el evento de un solo clic sobre un archivo." #: ../Doc/library/dialog.rst:155 msgid "Filter the files by directory." -msgstr "" +msgstr "Filtra los archivos por directorio." #: ../Doc/library/dialog.rst:159 msgid "Retrieve the file filter currently in use." -msgstr "" +msgstr "Recupera el filtro de archivos que se está utilizando actualmente." #: ../Doc/library/dialog.rst:163 msgid "Retrieve the currently selected item." -msgstr "" +msgstr "Recupera el elemento seleccionado actualmente." #: ../Doc/library/dialog.rst:167 msgid "Render dialog and start event loop." -msgstr "" +msgstr "Renderiza el diálogo e inicia el bucle de eventos." #: ../Doc/library/dialog.rst:171 msgid "Exit dialog returning current selection." -msgstr "" +msgstr "Salir del diálogo retornando la selección actual." #: ../Doc/library/dialog.rst:175 msgid "Exit dialog returning filename, if any." -msgstr "" +msgstr "Salir del diálogo retornando el nombre del archivo, si lo hay." #: ../Doc/library/dialog.rst:179 msgid "Set the file filter." -msgstr "" +msgstr "Establece el filtro de archivos." #: ../Doc/library/dialog.rst:183 msgid "Update the current file selection to *file*." -msgstr "" +msgstr "Actualiza la selección de archivos actual a *archivo*." #: ../Doc/library/dialog.rst:188 msgid "" "A subclass of FileDialog that creates a dialog window for selecting an " "existing file." msgstr "" +"Una subclase de FileDialog que crea una ventana de diálogo para seleccionar " +"un archivo existente." #: ../Doc/library/dialog.rst:193 msgid "" "Test that a file is provided and that the selection indicates an already " "existing file." msgstr "" +"Comprueba que se proporciona un archivo y que la selección indica un archivo " +"ya existente." #: ../Doc/library/dialog.rst:198 msgid "" "A subclass of FileDialog that creates a dialog window for selecting a " "destination file." msgstr "" +"Una subclase de FileDialog que crea una ventana de diálogo para seleccionar " +"un archivo de destino." #: ../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 "" +"Comprueba si la selección apunta a un archivo válido que no es un " +"directorio. Se requiere confirmación si se selecciona un archivo ya " +"existente." #: ../Doc/library/dialog.rst:208 msgid ":mod:`tkinter.commondialog` --- Dialog window templates" -msgstr "" +msgstr ":mod:`tkinter.commondialog` --- Plantillas de ventanas de diálogo" #: ../Doc/library/dialog.rst:214 msgid "**Source code:** :source:`Lib/tkinter/commondialog.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tkinter/commondialog.py`" #: ../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 "" +"El módulo :mod:`tkinter.commondialog` proporciona la clase :class:`Dialog` " +"que es la clase base para los diálogos definidos en otros módulos de soporte." #: ../Doc/library/dialog.rst:225 msgid "Render the Dialog window." -msgstr "" +msgstr "Renderiza la ventana de diálogo." #: ../Doc/library/dialog.rst:230 msgid "Modules :mod:`tkinter.messagebox`, :ref:`tut-files`" -msgstr "" +msgstr "Módulos :mod:`tkinter.messagebox`, :ref:`tut-files`" From 8736d21e0d0b111943a70737f848dc2d85c7df41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 16 Aug 2021 00:48:27 +0200 Subject: [PATCH 45/94] =?UTF-8?q?Actualizando=20traducci=C3=B3n=20C-API=20?= =?UTF-8?q?a=203.9=20(#1231)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Actualizando traducción C-API a 3.9 Co-authored-by: narvmtz <51009725+narvmtz@users.noreply.github.com> Co-authored-by: Carlos A. Crespo --- c-api/arg.po | 71 ++++---- c-api/buffer.po | 42 +++-- c-api/bytearray.po | 15 +- c-api/bytes.po | 13 +- c-api/call.po | 264 ++++++++++++++++++++++++------ c-api/capsule.po | 20 +-- c-api/complex.po | 15 +- c-api/conversion.po | 36 ++-- c-api/datetime.po | 40 ++--- c-api/dict.po | 44 +++-- c-api/exceptions.po | 35 ++-- c-api/file.po | 8 +- c-api/float.po | 13 +- c-api/gcsupport.po | 17 +- c-api/gen.po | 14 +- c-api/init.po | 89 +++++----- c-api/init_config.po | 31 ++-- c-api/intro.po | 32 +++- c-api/iterator.po | 17 +- c-api/list.po | 11 +- c-api/long.po | 27 ++- c-api/marshal.po | 21 +-- c-api/memory.po | 26 ++- c-api/memoryview.po | 13 +- c-api/method.po | 13 +- c-api/module.po | 32 +++- c-api/reflection.po | 21 ++- c-api/set.po | 22 ++- c-api/structures.po | 115 +++++++------ c-api/sys.po | 10 +- c-api/tuple.po | 16 +- c-api/type.po | 82 ++++++---- c-api/typeobj.po | 101 +++++++----- c-api/unicode.po | 51 +++--- c-api/veryhigh.po | 9 +- c-api/weakref.po | 24 +-- dictionaries/c-api_call.txt | 5 + dictionaries/c-api_conversion.txt | 1 + dictionaries/c-api_init.txt | 2 + dictionaries/c-api_structures.txt | 1 + 40 files changed, 836 insertions(+), 583 deletions(-) create mode 100644 dictionaries/c-api_call.txt create mode 100644 dictionaries/c-api_conversion.txt create mode 100644 dictionaries/c-api_init.txt create mode 100644 dictionaries/c-api_structures.txt diff --git a/c-api/arg.po b/c-api/arg.po index 87cd6d47b2..3d58f4609f 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-21 13:52+0200\n" +"PO-Revision-Date: 2021-08-02 01: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" +"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 3.0\n" #: ../Doc/c-api/arg.rst:6 msgid "Parsing arguments and building values" @@ -334,7 +335,6 @@ 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 " @@ -342,14 +342,13 @@ msgid "" 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 " -"bytes. La variable C también puede ser declarado como :c:type:`PyObject \\*`." +"bytes. La variable C también puede ser declarado como :c:type:`PyObject*`." #: ../Doc/c-api/arg.rst:139 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 :" @@ -358,8 +357,8 @@ msgid "" 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 :" -"class:`bytearray`. La variable C también puede ser declarado como :c:type:" -"`PyObject \\*`." +"class:`bytearray`. La variable C también puede ser declarada como :c:type:" +"`PyObject*`." #: ../Doc/c-api/arg.rst:156 msgid "``u`` (:class:`str`) [const Py_UNICODE \\*]" @@ -441,7 +440,6 @@ 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. " @@ -449,7 +447,7 @@ msgid "" 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 " -"variable C también puede ser declarado como :c:type:`PyObject\\*`." +"variable C también puede ser declarada como :c:type:`PyObject*`." #: ../Doc/c-api/arg.rst:192 msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" @@ -480,7 +478,6 @@ 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 " @@ -491,13 +488,13 @@ msgid "" "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 " -"como una cadena de caracteres terminada en NUL, o ``NULL``, en cuyo caso se " +"debe ser :c:type:`const char*` que apunta al nombre de una codificación como " +"una cadena de caracteres terminada en NUL, o ``NULL``, en cuyo caso se " "utiliza la codificación ``'utf-8'``. Se lanza una excepción si Python no " "conoce la codificación con nombre. El segundo argumento debe ser :c:type:" -"`char\\*\\*`; el valor del puntero al que hace referencia se establecerá en " -"un búfer con el contenido del texto del argumento. El texto se codificará en " -"la codificación especificada por el primer argumento." +"`char**`; el valor del puntero al que hace referencia se establecerá en un " +"búfer con el contenido del texto del argumento. El texto se codificará en la " +"codificación especificada por el primer argumento." #: ../Doc/c-api/arg.rst:206 msgid "" @@ -549,7 +546,6 @@ 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-" @@ -562,15 +558,15 @@ msgid "" "will be set to the number of bytes in the output buffer." msgstr "" "Requiere tres argumentos. El primero solo se usa como entrada, y debe ser :c:" -"type:`const char \\*` que apunta al nombre de una codificación como una " -"cadena terminada en NUL, o ``NULL``, en cuyo caso ``Se utiliza la " +"type:`const char*` que apunta al nombre de una codificación como una cadena " +"de caracteres terminada en NUL, o ``NULL``, en cuyo caso ``Se utiliza la " "codificación 'utf-8'``. Se lanza una excepción si Python no conoce la " -"codificación con nombre. El segundo argumento debe ser :c:type:`char\\*\\*`; " -"El valor del puntero al que hace referencia se establecerá en un búfer con " -"el contenido del texto del argumento. El texto se codificará en la " -"codificación especificada por el primer argumento. El tercer argumento debe " -"ser un puntero a un entero; el número entero referenciado se establecerá en " -"el número de bytes en el búfer de salida." +"codificación con nombre. El segundo argumento debe ser :c:type:`char**`; El " +"valor del puntero al que hace referencia se establecerá en un búfer con el " +"contenido del texto del argumento. El texto se codificará en la codificación " +"especificada por el primer argumento. El tercer argumento debe ser un " +"puntero a un entero; el número entero referenciado se establecerá en el " +"número de bytes en el búfer de salida." #: ../Doc/c-api/arg.rst:231 msgid "There are two modes of operation:" @@ -826,7 +822,6 @@ 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 " @@ -837,7 +832,7 @@ msgstr "" "Almacena un objeto Python en un puntero de objeto C. Esto es similar a " "``O``, pero toma dos argumentos C: el primero es la dirección de un objeto " "de tipo Python, el segundo es la dirección de la variable C (de tipo :c:type:" -"`PyObject\\*`) en el que se almacena el puntero del objeto. Si el objeto " +"`PyObject*`) en el que se almacena el puntero del objeto. Si el objeto " "Python no tiene el tipo requerido, se lanza :exc:`TypeError`." #: ../Doc/c-api/arg.rst:352 ../Doc/c-api/arg.rst:657 @@ -845,7 +840,6 @@ 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 " @@ -855,11 +849,10 @@ msgstr "" "Convierte un objeto Python en una variable C a través de una función " "*converter*. Esto requiere dos argumentos: el primero es una función, el " "segundo es la dirección de una variable C (de tipo arbitrario), convertida " -"a :c:type:`void \\*`. La función *converter* a su vez se llama de la " -"siguiente manera::" +"a :c:type:`void *`. La función *converter* a su vez se llama de la 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\\*` " @@ -869,11 +862,11 @@ msgid "" "*address* unmodified." msgstr "" "donde *object* es el objeto de Python a convertir y *address* es el " -"argumento :c:type:`void\\*` que se pasó a la función :c:func:`PyArg_Parse" -"\\*`. El *status* retornado debe ser ``1`` para una conversión exitosa y " -"``0`` si la conversión ha fallado. Cuando la conversión falla, la función " -"*converter* debería generar una excepción y dejar el contenido de *addres* " -"sin modificar." +"argumento :c:type:`void*` que se pasó a la función :c:func:`PyArg_Parse\\*`. " +"El *status* retornado debe ser ``1`` para una conversión exitosa y ``0`` si " +"la conversión ha fallado. Cuando la conversión falla, la función *converter* " +"debería generar una excepción y dejar el contenido de *address* sin " +"modificar." #: ../Doc/c-api/arg.rst:345 msgid "" @@ -1138,7 +1131,6 @@ 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 " @@ -1162,7 +1154,7 @@ msgstr "" "ser una tupla. La longitud de la tupla debe ser al menos *min* y no más de " "*max*; *min* y *max* pueden ser iguales. Se deben pasar argumentos " "adicionales a la función, cada uno de los cuales debe ser un puntero a una " -"variable :c:type:`PyObject\\*`; estos se completarán con los valores de " +"variable :c:type:`PyObject*`; estos se completarán con los valores de " "*args*; contendrán referencias prestadas. Las variables que corresponden a " "parámetros opcionales no dados por *args* no se completarán; estos deben ser " "inicializados por quien llama. Esta función retorna verdadero en caso de " @@ -1497,7 +1489,6 @@ 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:" @@ -1506,8 +1497,8 @@ msgid "" msgstr "" "Convierte *anything* a un objeto Python a través de una función *converter*. " "La función se llama con *anything* (que debería ser compatible con :c:type:" -"`void \\*`) como argumento y debería retornar un \"nuevo\" objeto de Python, " -"o ``NULL`` si se produjo un error." +"`void*`) como argumento y debería retornar un \"nuevo\" objeto de Python, o " +"``NULL`` si se produjo un error." #: ../Doc/c-api/arg.rst:660 msgid "" diff --git a/c-api/buffer.po b/c-api/buffer.po index e1082fc6b9..342dbb7bd1 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-21 16:22+0200\n" +"PO-Revision-Date: 2021-08-02 01: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" +"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 3.0\n" #: ../Doc/c-api/buffer.rst:11 msgid "Buffer Protocol" @@ -624,7 +625,7 @@ msgstr "C o F" #: ../Doc/c-api/buffer.rst:304 msgid ":c:macro:`PyBUF_ND`" -msgstr "" +msgstr ":c:macro:`PyBUF_ND`" #: ../Doc/c-api/buffer.rst:309 msgid "compound requests" @@ -772,30 +773,28 @@ 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 ``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 " -"exacto, DEBE generar :c:data:`PyExc_BufferError`, establece :c:member:`view-" -">obj` a ``NULL`` y retorna ``-1``." +"Envía una solicitud al *exporter* para completar la *view* según lo " +"especificado por *flags*. Si el exportador no puede proporcionar un búfer " +"del tipo exacto, DEBE lanzar :c:data:`PyExc_BufferError`, establecer ``view-" +">obj`` en ``NULL`` y retornar ``-1``." #: ../Doc/c-api/buffer.rst:444 -#, fuzzy msgid "" "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, ``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 " +"Si tiene éxito, completa *view*, establece ``view->obj`` en una nueva " "referencia a *exporter* y retorna 0. En el caso de proveedores de búfer " -"encadenados que redirigen las solicitudes a un solo objeto, :c:member:`view-" -">obj` PUEDE referirse a este objeto en lugar de *exporter* (Ver :ref:" -"`Estructuras de Objetos Búfer `)." +"encadenados que redirigen las solicitudes a un solo objeto, ``view->obj`` " +"PUEDE referirse a este objeto en lugar de *exporter* (Ver :ref:`Estructuras " +"de objetos de búfer `)." #: ../Doc/c-api/buffer.rst:449 msgid "" @@ -810,15 +809,14 @@ 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 ``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:" -"`view-> obj`. Esta función DEBE llamarse cuando el búfer ya no se utiliza, " -"de lo contrario, pueden producirse fugas de referencia." +"Libera el búfer *view* y disminuye el conteo de referencias para ``view-" +">obj``. Esta función DEBE llamarse cuando el búfer ya no se utiliza, de lo " +"contrario, pueden producirse fugas de referencia." #: ../Doc/c-api/buffer.rst:461 msgid "" @@ -829,13 +827,12 @@ 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`. 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." +"format`. En caso de error, lanza una excepción y retorna -1." #: ../Doc/c-api/buffer.rst:475 msgid "" @@ -914,15 +911,14 @@ msgstr "" "*flags*." #: ../Doc/c-api/buffer.rst:519 -#, fuzzy msgid "" "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``;" +"Si tiene éxito, establece ``view->obj`` en una nueva referencia a *exporter* " +"y retorna 0. De lo contrario, aumenta :c:data:`PyExc_BufferError`, establece " +"``view->obj`` en ``NULL`` y retorna ``-1``;" #: ../Doc/c-api/buffer.rst:523 msgid "" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 2be3cc390b..ae05557c6a 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 16:04+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -45,22 +46,22 @@ 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. 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." +"instancia de un subtipo del tipo arreglo de bytes. Esta función siempre " +"tiene éxito." #: ../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. 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." +"una instancia de un subtipo del tipo arreglo de bytes. Esta función siempre " +"tiene éxito." #: ../Doc/c-api/bytearray.rst:38 msgid "Direct API functions" diff --git a/c-api/bytes.po b/c-api/bytes.po index ff5e1ddd6c..af7a296a8f 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-21 20:48+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/bytes.rst:6 msgid "Bytes Objects" @@ -47,22 +48,20 @@ 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. This function always succeeds." msgstr "" "Retorna verdadero si el objeto *o* es un objeto bytes o una instancia de un " -"subtipo del tipo bytes." +"subtipo del tipo bytes. Esta función siempre finaliza con éxito." #: ../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. 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." +"de un subtipo del tipo bytes. Esta función siempre finaliza con éxito." #: ../Doc/c-api/bytes.rst:39 msgid "" @@ -124,7 +123,7 @@ msgstr "*n/a*" #: ../Doc/c-api/bytes.rst:70 #, python-format msgid "The literal % character." -msgstr "El carácter literal %." +msgstr "El carácter literal *%*." #: ../Doc/c-api/bytes.rst:72 #, python-format diff --git a/c-api/call.po b/c-api/call.po index 007082a7f6..1addaee355 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -4,38 +4,43 @@ # 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" +"PO-Revision-Date: 2021-08-02 09:56+0200\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 3.0\n" #: ../Doc/c-api/call.rst:6 msgid "Call Protocol" -msgstr "" +msgstr "Protocolo de llamada" #: ../Doc/c-api/call.rst:8 msgid "" "CPython supports two different calling protocols: *tp_call* and vectorcall." msgstr "" +"CPython admite dos protocolos de llamada diferentes: *tp_call* y vectorcall." #: ../Doc/c-api/call.rst:12 msgid "The *tp_call* Protocol" -msgstr "" +msgstr "El protocolo *tp_call*" #: ../Doc/c-api/call.rst:14 msgid "" "Instances of classes that set :c:member:`~PyTypeObject.tp_call` are " "callable. The signature of the slot is::" msgstr "" +"Las instancias de clases que establecen :c:member:`~PyTypeObject.tp_call` " +"son invocables. La firma del slot es:" #: ../Doc/c-api/call.rst:19 msgid "" @@ -44,28 +49,40 @@ msgid "" "code. *args* must be non-NULL (use an empty tuple if there are no arguments) " "but *kwargs* may be *NULL* if there are no keyword arguments." msgstr "" +"Se realiza una llamada usando una tupla para los argumentos posicionales y " +"un dict para los argumentos de palabras clave, de manera similar a " +"``callable(*args, **kwargs)`` en el código Python. *args* debe ser no NULL " +"(use una tupla vacía si no hay argumentos) pero *kwargs* puede ser *NULL* si " +"no hay argumentos de palabra clave." #: ../Doc/c-api/call.rst:25 msgid "" "This convention is not only used by *tp_call*: :c:member:`~PyTypeObject." "tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way." msgstr "" +"Esta convención no solo es utilizada por *tp_call*: :c:member:`~PyTypeObject." +"tp_new` y :c:member:`~PyTypeObject.tp_init` también pasan argumentos de esta " +"manera." #: ../Doc/c-api/call.rst:29 msgid "" "To call an object, use :c:func:`PyObject_Call` or other :ref:`call API `." msgstr "" +"Para llamar a un objeto, use :c:func:`PyObject_Call` u otro :ref:`call API " +"`." #: ../Doc/c-api/call.rst:36 msgid "The Vectorcall Protocol" -msgstr "" +msgstr "El protocolo vectorcall" #: ../Doc/c-api/call.rst:40 msgid "" "The vectorcall protocol was introduced in :pep:`590` as an additional " "protocol for making calls more efficient." msgstr "" +"El protocolo vectorcall se introdujo en :pep:`590` como un protocolo " +"adicional para hacer que las llamadas sean más eficientes." #: ../Doc/c-api/call.rst:43 msgid "" @@ -78,12 +95,23 @@ msgid "" "achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:" "`PyVectorcall_Call`. This bears repeating:" msgstr "" +"Como regla general, CPython preferirá el vectorcall para llamadas internas " +"si el invocable lo admite. Sin embargo, esta no es una regla estricta. " +"Además, algunas extensiones de terceros usan *tp_call* directamente (en " +"lugar de usar :c:func:`PyObject_Call`). Por lo tanto, una clase que admita " +"vectorcall también debe implementar :c:member:`~PyTypeObject.tp_call`. " +"Además, el invocable debe comportarse de la misma manera independientemente " +"del protocolo que se utilice. La forma recomendada de lograr esto es " +"configurando :c:member:`~ PyTypeObject.tp_call` en :c:func:" +"`PyVectorcall_Call`. Vale la pena repetirlo:" #: ../Doc/c-api/call.rst:57 msgid "" "A class supporting vectorcall **must** also implement :c:member:" "`~PyTypeObject.tp_call` with the same semantics." msgstr "" +"Una clase que admita vectorcall **debe** también implementar :c:member:" +"`~PyTypeObject.tp_call` con la misma semántica." #: ../Doc/c-api/call.rst:60 msgid "" @@ -92,6 +120,10 @@ msgid "" "args tuple and kwargs dict anyway, then there is no point in implementing " "vectorcall." msgstr "" +"Una clase no debería implementar vectorcall si eso fuera más lento que " +"*tp_call*. Por ejemplo, si el destinatario de la llamada necesita convertir " +"los argumentos a una tupla args y un dict kwargs de todos modos, entonces no " +"tiene sentido implementar vectorcall." #: ../Doc/c-api/call.rst:65 msgid "" @@ -101,35 +133,48 @@ msgid "" "*vectorcallfunc* appears. This is a pointer to a function with the following " "signature:" msgstr "" +"Las clases pueden implementar el protocolo vectorcall habilitando el " +"indicador :const:`Py_TPFLAGS_HAVE_VECTORCALL` y la configuración :c:member:" +"`~PyTypeObject.tp_vectorcall_offset` al desplazamiento dentro de la " +"estructura del objeto donde aparece un *vectorcallfunc*. Este es un puntero " +"a una función con la siguiente firma:" #: ../Doc/c-api/call.rst:73 msgid "*callable* is the object being called." -msgstr "" +msgstr "*callable* es el objeto siendo invocado." #: ../Doc/c-api/call.rst:75 msgid "" "*args* is a C array consisting of the positional arguments followed by the" msgstr "" +"*args* es un arreglo en C que consta de los argumentos posicionales seguidos " +"por el" #: ../Doc/c-api/call.rst:75 msgid "" "values of the keyword arguments. This can be *NULL* if there are no " "arguments." msgstr "" +"valores de los argumentos de la palabra clave. Puede ser *NULL* si no hay " +"argumentos." #: ../Doc/c-api/call.rst:79 msgid "*nargsf* is the number of positional arguments plus possibly the" -msgstr "" +msgstr "*nargsf* es el número de argumentos posicionales más posiblemente el" #: ../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 "" +"flag :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Para obtener el número real de " +"argumentos posicionales de *nargsf*, use :c:func:`PyVectorcall_NARGS`." #: ../Doc/c-api/call.rst:85 msgid "*kwnames* is a tuple containing the names of the keyword arguments;" msgstr "" +"*kwnames* es una tupla que contiene los nombres de los argumentos de la " +"palabra clave;" #: ../Doc/c-api/call.rst:82 msgid "" @@ -137,6 +182,9 @@ msgid "" "(instances of ``str`` or a subclass) and they must be unique. If there are " "no keyword arguments, then *kwnames* can instead be *NULL*." msgstr "" +"en otras palabras, las claves del diccionario kwargs. Estos nombres deben " +"ser cadenas (instancias de ``str`` o una subclase) y deben ser únicos. Si no " +"hay argumentos de palabras clave, entonces *kwnames* puede ser *NULL*." #: ../Doc/c-api/call.rst:89 msgid "" @@ -145,12 +193,19 @@ msgid "" "argument 1 (not 0) in the allocated vector. The callee must restore the " "value of ``args[-1]`` before returning." msgstr "" +"Si este flag se establece en un argumento vectorcall *nargsf*, el " +"destinatario de la llamada puede cambiar temporalmente ``args[-1]``. En " +"otras palabras, *args* apunta al argumento 1 (no 0) en el vector asignado. " +"El destinatario de la llamada debe restaurar el valor de ``args[-1]`` antes " +"de regresar." #: ../Doc/c-api/call.rst:94 msgid "" "For :c:func:`PyObject_VectorcallMethod`, this flag means instead that " "``args[0]`` may be changed." msgstr "" +"Para :c:func:`PyObject_VectorcallMethod`, este flag significa en cambio que " +"``args[0]`` puede cambiarse." #: ../Doc/c-api/call.rst:97 msgid "" @@ -159,6 +214,11 @@ msgid "" "allow callables such as bound methods to make their onward calls (which " "include a prepended *self* argument) very efficiently." msgstr "" +"Siempre que puedan hacerlo de forma económica (sin asignación adicional), se " +"anima a las personas que llaman a utilizar :const:" +"`PY_VECTORCALL_ARGUMENTS_OFFSET`. Si lo hace, permitirá que las personas que " +"llaman, como los métodos enlazados, realicen sus llamadas posteriores (que " +"incluyen un argumento *self* antepuesto) de manera muy eficiente." #: ../Doc/c-api/call.rst:102 msgid "" @@ -166,6 +226,9 @@ msgid "" "call>` function as with any other callable. :c:func:`PyObject_Vectorcall` " "will usually be most efficient." msgstr "" +"Para llamar a un objeto que implementa vectorcall, use una función :ref:" +"`call API ` como con cualquier otro invocable. :c:func:" +"`PyObject_Vectorcall` normalmente será más eficiente." #: ../Doc/c-api/call.rst:109 msgid "" @@ -178,10 +241,18 @@ msgid "" "was available as ``_PyObject_FastCallDict``. The old names are still defined " "as aliases of the new, non-underscored names." msgstr "" +"En CPython 3.8, la API de vectorcall y las funciones relacionadas estaban " +"disponibles provisionalmente bajo nombres con un guión bajo inicial: " +"``_PyObject_Vectorcall``, ``_Py_TPFLAGS_HAVE_VECTORCALL``, " +"``_PyObject_VectorcallMethod``, ``_PyVectorcall_Function``, " +"``_PyObject_CallMethodNoArgs``, ``_PyObject_CallMethodOneArg``. Además, " +"``PyObject_VectorcallDict`` estaba disponible como " +"``_PyObject_FastCallDict``. Los nombres antiguos todavía se definen como " +"alias de los nuevos nombres no subrayados." #: ../Doc/c-api/call.rst:121 msgid "Recursion Control" -msgstr "" +msgstr "Control de recursión" #: ../Doc/c-api/call.rst:123 msgid "" @@ -189,6 +260,9 @@ msgid "" "`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:" "`Py_LeaveRecursiveCall` for calls made using *tp_call*." msgstr "" +"Cuando se usa *tp_call*, los destinatarios no necesitan preocuparse por :ref:" +"`recursividad `: CPython usa :c:func:`Py_EnterRecursiveCall` y :c:" +"func:`Py_LeaveRecursiveCall` para llamadas realizadas usando *tp_call*." #: ../Doc/c-api/call.rst:128 msgid "" @@ -196,22 +270,29 @@ msgid "" "callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " "needed." msgstr "" +"Por eficiencia, este no es el caso de las llamadas realizadas mediante " +"vectorcall: el destinatario de la llamada debe utilizar " +"*Py_EnterRecursiveCall* y *Py_LeaveRecursiveCall* si es necesario." #: ../Doc/c-api/call.rst:134 msgid "Vectorcall Support API" -msgstr "" +msgstr "API de soporte para vectorcall" #: ../Doc/c-api/call.rst:138 msgid "" "Given a vectorcall *nargsf* argument, return the actual number of arguments. " "Currently equivalent to::" msgstr "" +"Dado un argumento vectorcall *nargsf*, retorna el número real de argumentos. " +"Actualmente equivalente a:" #: ../Doc/c-api/call.rst:144 msgid "" "However, the function ``PyVectorcall_NARGS`` should be used to allow for " "future extensions." msgstr "" +"Sin embargo, la función ``PyVectorcall_NARGS`` debe usarse para permitir " +"futuras extensiones." #: ../Doc/c-api/call.rst:147 ../Doc/c-api/call.rst:161 #: ../Doc/c-api/call.rst:175 ../Doc/c-api/call.rst:259 @@ -219,7 +300,7 @@ msgstr "" #: ../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 "" +msgstr "Esta función no es parte de la :ref:`API limitada `." #: ../Doc/c-api/call.rst:153 msgid "" @@ -228,18 +309,26 @@ msgid "" "Otherwise, return the vectorcall function pointer stored in *op*. This " "function never raises an exception." msgstr "" +"Si *op* no admite el protocolo vectorcall (ya sea porque el tipo no lo hace " +"o porque la instancia específica no lo hace), retorna *NULL*. De lo " +"contrario, retorna el puntero de la función vectorcall almacenado en *op*. " +"Esta función nunca lanza una excepción." #: ../Doc/c-api/call.rst: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 "" +"Esto es principalmente útil para verificar si *op* admite vectorcall, lo " +"cual se puede hacer marcando ``PyVectorcall_Function(op) != NULL``." #: ../Doc/c-api/call.rst:167 msgid "" "Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " "arguments given in a tuple and dict, respectively." msgstr "" +"Llama a la :c:type:`vectorcallfunc` de *callable* con argumentos " +"posicionales y de palabras clave dados en una tupla y dict, respectivamente." #: ../Doc/c-api/call.rst:170 msgid "" @@ -248,10 +337,14 @@ msgid "" "It does not check the :const:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does " "not fall back to ``tp_call``." msgstr "" +"Esta es una función especializada, destinada a colocarse en el slot :c:" +"member:`~PyTypeObject.tp_call` o usarse en una implementación de " +"``tp_call``. No comprueba el flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` y no " +"vuelve a ``tp_call``." #: ../Doc/c-api/call.rst:183 msgid "Object Calling API" -msgstr "" +msgstr "API para invocar objetos" #: ../Doc/c-api/call.rst:185 msgid "" @@ -260,51 +353,57 @@ msgid "" "*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 "" +"Hay varias funciones disponibles para llamar a un objeto Python. Cada uno " +"convierte sus argumentos a una convención respaldada por el objeto llamado, " +"ya sea *tp_call* o vectorcall. Para realizar la menor conversión posible, " +"elija el que mejor se adapte al formato de datos que tiene disponible." #: ../Doc/c-api/call.rst:191 msgid "" "The following table summarizes the available functions; please see " "individual documentation for details." msgstr "" +"La siguiente tabla resume las funciones disponibles; consulte la " +"documentación individual para obtener más detalles." #: ../Doc/c-api/call.rst:195 msgid "Function" -msgstr "" +msgstr "Función" #: ../Doc/c-api/call.rst:195 msgid "callable" -msgstr "" +msgstr "invocable" #: ../Doc/c-api/call.rst:195 msgid "args" -msgstr "" +msgstr "args" #: ../Doc/c-api/call.rst:195 msgid "kwargs" -msgstr "" +msgstr "kwargs" #: ../Doc/c-api/call.rst:197 msgid ":c:func:`PyObject_Call`" -msgstr "" +msgstr ":c:func:`PyObject_Call`" #: ../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 "" +msgstr "``PyObject *``" #: ../Doc/c-api/call.rst:197 msgid "tuple" -msgstr "" +msgstr "tupla" #: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:219 msgid "dict/``NULL``" -msgstr "" +msgstr "dict/``NULL``" #: ../Doc/c-api/call.rst:199 msgid ":c:func:`PyObject_CallNoArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallNoArgs`" #: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:201 #: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205 @@ -312,97 +411,102 @@ msgstr "" #: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213 #: ../Doc/c-api/call.rst:215 msgid "---" -msgstr "" +msgstr "---" #: ../Doc/c-api/call.rst:201 msgid ":c:func:`PyObject_CallOneArg`" -msgstr "" +msgstr ":c:func:`PyObject_CallOneArg`" #: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:215 msgid "1 object" -msgstr "" +msgstr "1 objeto" #: ../Doc/c-api/call.rst:203 msgid ":c:func:`PyObject_CallObject`" -msgstr "" +msgstr ":c:func:`PyObject_CallObject`" #: ../Doc/c-api/call.rst:203 msgid "tuple/``NULL``" -msgstr "" +msgstr "tuple/``NULL``" #: ../Doc/c-api/call.rst:205 msgid ":c:func:`PyObject_CallFunction`" -msgstr "" +msgstr ":c:func:`PyObject_CallFunction`" #: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:207 msgid "format" -msgstr "" +msgstr "formato" #: ../Doc/c-api/call.rst:207 msgid ":c:func:`PyObject_CallMethod`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethod`" #: ../Doc/c-api/call.rst:207 msgid "obj + ``char*``" -msgstr "" +msgstr "obj + ``char*``" #: ../Doc/c-api/call.rst:209 msgid ":c:func:`PyObject_CallFunctionObjArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallFunctionObjArgs`" #: ../Doc/c-api/call.rst:209 ../Doc/c-api/call.rst:211 msgid "variadic" -msgstr "" +msgstr "variadica" #: ../Doc/c-api/call.rst:211 msgid ":c:func:`PyObject_CallMethodObjArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodObjArgs`" #: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213 #: ../Doc/c-api/call.rst:215 msgid "obj + name" -msgstr "" +msgstr "obj + nombre" #: ../Doc/c-api/call.rst:213 msgid ":c:func:`PyObject_CallMethodNoArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodNoArgs`" #: ../Doc/c-api/call.rst:215 msgid ":c:func:`PyObject_CallMethodOneArg`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodOneArg`" #: ../Doc/c-api/call.rst:217 msgid ":c:func:`PyObject_Vectorcall`" -msgstr "" +msgstr ":c:func:`PyObject_Vectorcall`" #: ../Doc/c-api/call.rst:217 ../Doc/c-api/call.rst:219 #: ../Doc/c-api/call.rst:221 msgid "vectorcall" -msgstr "" +msgstr "vectorcall" #: ../Doc/c-api/call.rst:219 msgid ":c:func:`PyObject_VectorcallDict`" -msgstr "" +msgstr ":c:func:`PyObject_VectorcallDict`" #: ../Doc/c-api/call.rst:221 msgid ":c:func:`PyObject_VectorcallMethod`" -msgstr "" +msgstr ":c:func:`PyObject_VectorcallMethod`" #: ../Doc/c-api/call.rst:221 msgid "arg + name" -msgstr "" +msgstr "arg + nombre" #: ../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 "" +"Llama a un objeto de Python invocable *callable*, con argumentos dados por " +"la tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*." #: ../Doc/c-api/call.rst: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 "" +"*args* no debe ser *NULL*; use una tupla vacía si no se necesitan " +"argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser " +"*NULL*." #: ../Doc/c-api/call.rst:233 ../Doc/c-api/call.rst:245 #: ../Doc/c-api/call.rst:256 ../Doc/c-api/call.rst:269 @@ -414,34 +518,46 @@ 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/call.rst:236 msgid "" "This is the equivalent of the Python expression: ``callable(*args, " "**kwargs)``." msgstr "" +"Este es el equivalente de la expresión de Python: ``callable(*args, " +"**kwargs)``." #: ../Doc/c-api/call.rst: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 "" +"Llama a un objeto de Python invocable *callable* sin ningún argumento. Es la " +"forma más eficiente de llamar a un objeto Python invocable sin ningún " +"argumento." #: ../Doc/c-api/call.rst:253 msgid "" "Call a callable Python object *callable* with exactly 1 positional argument " "*arg* and no keyword arguments." msgstr "" +"Llama a un objeto de Python invocable *callable* con exactamente 1 argumento " +"posicional *arg* y sin argumentos de palabra clave." #: ../Doc/c-api/call.rst: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 "" +"Llama a un objeto de Python invocable *callable*, con argumentos dados por " +"la tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser " +"*NULL*." #: ../Doc/c-api/call.rst:272 ../Doc/c-api/call.rst:284 msgid "This is the equivalent of the Python expression: ``callable(*args)``." -msgstr "" +msgstr "Este es el equivalente de la expresión de Python: ``callable(*args)``." #: ../Doc/c-api/call.rst:277 msgid "" @@ -450,16 +566,22 @@ msgid "" "style format string. The format can be *NULL*, indicating that no arguments " "are provided." msgstr "" +"Llama a un objeto de Python invocable *callable*, con un número variable de " +"argumentos C. Los argumentos de C se describen usando una cadena de " +"caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede " +"ser *NULL*, lo que indica que no se proporcionan argumentos." #: ../Doc/c-api/call.rst:286 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 :c:type:`PyObject *` args, :c:func:" +"`PyObject_CallFunctionObjArgs` es una alternativa más rápida." #: ../Doc/c-api/call.rst:289 msgid "The type of *format* was changed from ``char *``." -msgstr "" +msgstr "El tipo de *format* se cambió desde ``char *``." #: ../Doc/c-api/call.rst:295 msgid "" @@ -467,26 +589,34 @@ msgid "" "arguments. The C arguments are described by a :c:func:`Py_BuildValue` " "format string that should produce a tuple." msgstr "" +"Llama al método llamado *name* del objeto *obj* con un número variable de " +"argumentos en C. Los argumentos de C se describen mediante una cadena de " +"formato :c:func:`Py_BuildValue` que debería producir una tupla." #: ../Doc/c-api/call.rst:299 msgid "The format can be *NULL*, indicating that no arguments are provided." msgstr "" +"El formato puede ser *NULL*, lo que indica que no se proporcionan argumentos." #: ../Doc/c-api/call.rst:304 msgid "" "This is the equivalent of the Python expression: ``obj.name(arg1, " "arg2, ...)``." msgstr "" +"Este es el equivalente de la expresión de Python: ``obj.name(arg1, " +"arg2, ...)``." #: ../Doc/c-api/call.rst:307 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 :c:type:`PyObject *` args, :c:func:" +"`PyObject_CallMethodObjArgs` es una alternativa más rápida." #: ../Doc/c-api/call.rst:310 msgid "The types of *name* and *format* were changed from ``char *``." -msgstr "" +msgstr "Los tipos de *name* y *format* se cambiaron desde ``char *``." #: ../Doc/c-api/call.rst:316 msgid "" @@ -494,12 +624,17 @@ msgid "" "`PyObject *` arguments. The arguments are provided as a variable number of " "parameters followed by *NULL*." msgstr "" +"Llame a un objeto de Python invocable *callable*, con un número variable de " +"argumentos :c:type:`PyObject *`. Los argumentos se proporcionan como un " +"número variable de parámetros seguidos de *NULL*." #: ../Doc/c-api/call.rst:323 msgid "" "This is the equivalent of the Python expression: ``callable(arg1, " "arg2, ...)``." msgstr "" +"Este es el equivalente de la expresión de Python: ``callable(arg1, " +"arg2, ...)``." #: ../Doc/c-api/call.rst:329 msgid "" @@ -508,12 +643,19 @@ msgid "" "number of :c:type:`PyObject *` arguments. The arguments are provided as a " "variable number of parameters followed by *NULL*." msgstr "" +"Llama a un método del objeto de Python *obj*, donde el nombre del método se " +"proporciona como un objeto de cadena de caracteres de Python en *name*. Se " +"llama con un número variable de argumentos :c:type:`PyObject *`. Los " +"argumentos se proporcionan como un número variable de parámetros seguidos de " +"*NULL*." #: ../Doc/c-api/call.rst: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 "" +"Llama a un método del objeto de Python *obj* sin argumentos, donde el nombre " +"del método se da como un objeto de cadena de caracteres de Python en *name*." #: ../Doc/c-api/call.rst:353 msgid "" @@ -521,6 +663,9 @@ msgid "" "*arg*, where the name of the method is given as a Python string object in " "*name*." msgstr "" +"Llame a un método del objeto de Python *obj* con un único argumento " +"posicional *arg*, donde el nombre del método se proporciona como un objeto " +"de cadena de caracteres de Python en *name*." #: ../Doc/c-api/call.rst:367 msgid "" @@ -528,6 +673,9 @@ msgid "" "c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " "calls the vectorcall function stored in *callable*." msgstr "" +"Llama a un objeto de Python invocable *callable*. Los argumentos son los " +"mismos que para :c:type:`vectorcallfunc`. Si *callable* admite vectorcall_, " +"esto llama directamente a la función vectorcall almacenada en *callable*." #: ../Doc/c-api/call.rst:381 msgid "" @@ -535,6 +683,10 @@ msgid "" "vectorcall_ protocol, but with keyword arguments passed as a dictionary " "*kwdict*. The *args* array contains only the positional arguments." msgstr "" +"Llamada *invocable* con argumentos posicionales pasados exactamente como en " +"el protocolo vectorcall_, pero con argumentos de palabras clave pasados como " +"un diccionario *kwdict*. El arreglo *args* contiene solo los argumentos " +"posicionales." #: ../Doc/c-api/call.rst:385 msgid "" @@ -543,6 +695,11 @@ msgid "" "already has a dictionary ready to use for the keyword arguments, but not a " "tuple for the positional arguments." msgstr "" +"Independientemente del protocolo que se utilice internamente, es necesario " +"realizar una conversión de argumentos. Por lo tanto, esta función solo debe " +"usarse si la persona que llama ya tiene un diccionario listo para usar para " +"los argumentos de palabras clave, pero no una tupla para los argumentos " +"posicionales." #: ../Doc/c-api/call.rst:397 msgid "" @@ -555,19 +712,32 @@ msgid "" "temporarily be changed. Keyword arguments can be passed just like in :c:func:" "`PyObject_Vectorcall`." msgstr "" +"Llama a un método usando la convención de llamada vectorcall. El nombre del " +"método se proporciona como una cadena de Python *name*. El objeto cuyo " +"método se llama es *args[0]*, y el arreglo *args* que comienza en *args [1]* " +"representa los argumentos de la llamada. Debe haber al menos un argumento " +"posicional. *nargsf* es el número de argumentos posicionales que incluyen " +"*args [0]*, más :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` si el valor de " +"``args[0]`` puede cambiarse temporalmente. Los argumentos de palabras clave " +"se pueden pasar como en :c:func:`PyObject_Vectorcall`." #: ../Doc/c-api/call.rst: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 "" +"Si el objeto tiene la característica :const:`Py_TPFLAGS_METHOD_DESCRIPTOR`, " +"esto llamará al objeto de método independiente con el vector *args* completo " +"como argumentos." #: ../Doc/c-api/call.rst:419 msgid "Call Support API" -msgstr "" +msgstr "API de soporte de llamadas" #: ../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 "" +"Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es " +"invocable y ``0`` en caso contrario. Esta función siempre finaliza con éxito." diff --git a/c-api/capsule.po b/c-api/capsule.po index 67b8bc96f5..cac821e290 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-16 23:16+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/capsule.rst:6 msgid "Capsules" @@ -33,7 +34,6 @@ 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*` " @@ -44,11 +44,10 @@ msgid "" msgstr "" "Este subtipo de :c:type:`PyObject` representa un valor opaco, útil para los " "módulos de extensión C que necesitan pasar un valor opaco (como un puntero :" -"c:type:`void\\*`) a través del código Python a otro código C . A menudo se " -"usa para hacer que un puntero de función C definido en un módulo esté " -"disponible para otros módulos, por lo que el mecanismo de importación " -"regular se puede usar para acceder a las API C definidas en módulos cargados " -"dinámicamente." +"c:type:`void*`) a través del código Python a otro código C . A menudo se usa " +"para hacer que un puntero de función C definido en un módulo esté disponible " +"para otros módulos, por lo que el mecanismo de importación regular se puede " +"usar para acceder a las API C definidas en módulos cargados dinámicamente." #: ../Doc/c-api/capsule.rst:27 msgid "The type of a destructor callback for a capsule. Defined as::" @@ -65,11 +64,12 @@ msgstr "" "devoluciones de llamada de `PyCapsule_Destructor`." #: ../Doc/c-api/capsule.rst:37 -#, 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`." +msgstr "" +"Retorna verdadero si su argumento es a :c:type:`PyCapsule`. Esta función " +"siempre finaliza con éxito." #: ../Doc/c-api/capsule.rst:43 msgid "" diff --git a/c-api/complex.po b/c-api/complex.po index 663f4154f5..9174150e60 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-16 16:48+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/complex.rst:6 msgid "Complex Number Objects" @@ -149,22 +150,22 @@ 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`. This function always succeeds." msgstr "" -"Retorna verdadero si su argumento es a :c:type:`PyComplexObject` o un " -"subtipo de :c:type:`PyComplexObject`." +"Retorna verdadero si su argumento es un :c:type:`PyComplexObject` o un " +"subtipo de :c:type:`PyComplexObject`. Esta función siempre finaliza con " +"éxito." #: ../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`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyComplexObject`, pero no " -"un subtipo de :c:type:`PyComplexObject`." +"un subtipo de :c:type:`PyComplexObject`. Esta función siempre finaliza con " +"éxito." #: ../Doc/c-api/complex.rst:108 msgid "" diff --git a/c-api/conversion.po b/c-api/conversion.po index d9fe0e4837..51a9259d41 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 19:15+0200\n" +"PO-Revision-Date: 2021-08-02 01:41+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"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 3.0\n" #: ../Doc/c-api/conversion.rst:6 msgid "String conversion and formatting" @@ -32,7 +33,6 @@ 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:" @@ -40,10 +40,9 @@ msgid "" 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)`." +"de Unix :manpage:`snprintf(3)`." #: ../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:" @@ -51,11 +50,9 @@ msgid "" 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 " -"de Unix :manpage:`vsnprintf(2)`." +"de Unix :manpage:`vsnprintf(3)`." -# corner cases -> casos de esquina #: ../Doc/c-api/conversion.rst:23 -#, fuzzy msgid "" ":c:func:`PyOS_snprintf` and :c:func:`PyOS_vsnprintf` wrap the Standard C " "library functions :c:func:`snprintf` and :c:func:`vsnprintf`. Their purpose " @@ -68,14 +65,13 @@ 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. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " "into str. Both functions require that ``str != NULL``, ``size > 0`` and " "``format != NULL``." msgstr "" -"Las envolturas aseguran que *str*[*size*-1] sea siempre ``'\\0'`` al " +"Las envolturas aseguran que ``str[size-1]`` sea siempre ``'\\0'`` al " "retornar. Nunca se escriben más de *size* bytes (incluido el ``'\\0'`` del " "final) en *str*. Ambas funciones requieren que ``str != NULL``, ``size > 0`` " "y ``format != NULL``." @@ -98,7 +94,6 @@ 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 " @@ -106,27 +101,25 @@ msgid "" 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*])." +"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 " "``'\\0'`` in this case." msgstr "" "Cuando ``rv >= size``, la conversión de salida se truncó y se habría " -"necesitado un búfer con ``rv + 1`` bytes para tener éxito. *str*[*size*-1] " +"necesitado un búfer con ``rv + 1`` bytes para tener éxito. ``str[size-1]`` " "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 " "this case too, but the rest of *str* is undefined. The exact cause of the " "error depends on the underlying platform." msgstr "" -"Cuando ``rv < 0``, \"sucedió algo malo\". *str*[*size*-1] es ``'\\0'`` en " +"Cuando ``rv < 0``, \"sucedió algo malo\". ``str[size-1]`` es ``'\\0'`` en " "este caso también, pero el resto de *str* no está definido. La causa exacta " "del error depende de la plataforma subyacente." @@ -165,7 +158,6 @@ msgstr "" # set -> configura. ¿"define" quizás?. Revisar en varios lugares del archivo #: ../Doc/c-api/conversion.rst:66 -#, fuzzy msgid "" "If endptr is not ``NULL``, convert as much of the string as possible and set " "``*endptr`` to point to the first unconverted character. If no initial " @@ -177,8 +169,8 @@ msgstr "" "de caracteres y configura ``*endptr`` para que apunte al primer carácter no " "convertido. Si ningún segmento inicial de la cadena de caracteres es la " "representación válida de un número de punto flotante, configura ``*endptr`` " -"para que apunte al comienzo de la cadena de caracteres, lanza ``ValueError`` " -"y retorna ``-1.0``." +"para que apunte al comienzo de la cadena de caracteres, lanza ValueError y " +"retorna ``-1.0``." #: ../Doc/c-api/conversion.rst:73 msgid "" @@ -227,9 +219,7 @@ msgstr "" "se ignora. El código de formato ``'r'`` especifica el formato estándar :" "func:`repr`." -# or-ed together #: ../Doc/c-api/conversion.rst:98 -#, fuzzy msgid "" "*flags* can be zero or more of the values ``Py_DTSF_SIGN``, " "``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:" @@ -285,9 +275,7 @@ msgstr "" "responsable de liberar la cadena de caracteres retornada llamando a :c:func:" "`PyMem_Free`." -# case insensitive #: ../Doc/c-api/conversion.rst:124 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strcmp` except that it ignores the case." @@ -296,9 +284,7 @@ msgstr "" "La función se comporta casi de manera idéntica a :c:func:`strcmp`, excepto " "que ignora el caso." -# case insensitive #: ../Doc/c-api/conversion.rst:130 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strncmp` except that it ignores the case." diff --git a/c-api/datetime.po b/c-api/datetime.po index 902b836446..7a1357c715 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 20:20+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" @@ -61,99 +62,94 @@ 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``. 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``." +"subtipo de :c:data:`PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " +"función siempre tiene éxito." #: ../Doc/c-api/datetime.rst:37 -#, fuzzy msgid "" "Return true if *ob* is of type :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`. *ob* no " -"debe ser ``NULL``." +"debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../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``. " "This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateTimeType` o un " -"subtipo de :c:data:`PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``." +"subtipo de :c:data:`PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``. " +"Esta función siempre tiene éxito." #: ../Doc/c-api/datetime.rst:50 -#, fuzzy msgid "" "Return true if *ob* is of type :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`. *ob* " -"no debe ser ``NULL``." +"no debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../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``. 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``." +"subtipo de :c:data:`PyDateTime_TimeType`. *ob* no debe ser ``NULL``. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:63 -#, fuzzy msgid "" "Return true if *ob* is of type :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`. *ob* no " -"debe ser ``NULL``." +"debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../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``. 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``." +"subtipo de :c:data:`PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " +"función siempre tiene éxito." #: ../Doc/c-api/datetime.rst:76 -#, fuzzy msgid "" "Return true if *ob* is of type :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`. *ob* no " -"debe ser ``NULL``." +"debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../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``. 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``." +"subtipo de :c:data:`PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. Esta " +"función siempre tiene éxito." #: ../Doc/c-api/datetime.rst:89 -#, fuzzy msgid "" "Return true if *ob* is of type :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`. *ob* " -"no debe ser ``NULL``." +"no debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:93 msgid "Macros to create objects:" diff --git a/c-api/dict.po b/c-api/dict.po index 4244f51bd8..091c5a6d24 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 19:53+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/dict.rst:6 msgid "Dictionary Objects" @@ -41,22 +42,20 @@ 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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto ``dict`` o una instancia de un subtipo " -"del tipo ``dict``." +"del tipo ``dict``. Esta función siempre finaliza con éxito." #: ../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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto ``dict``, pero no una instancia de un " -"subtipo del tipo ``dict``." +"subtipo del tipo ``dict``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/dict.rst:36 msgid "Return a new empty dictionary, or ``NULL`` on failure." @@ -108,7 +107,6 @@ 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 " @@ -116,31 +114,31 @@ msgid "" "failure. This function *does not* steal a reference to *val*." msgstr "" "Inserta *val* en el diccionario *p* usando *key* como clave. *key* debe ser " -"un :c:type:`const char\\*`. El objeto clave se crea usando " +"un :c:type:`const char*`. El objeto clave se crea usando " "``PyUnicode_FromString(key)``. Retorna ``0`` en caso de éxito o ``-1`` en " "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. 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." +"*hashable*; si no lo es, se lanza :exc:`TypeError`. Si *key* no está en el " +"diccionario, se lanza :exc:`KeyError`. Retorna ``0`` en caso de éxito o " +"``-1`` en caso de error." #: ../Doc/c-api/dict.rst:91 -#, fuzzy msgid "" "Remove the entry in dictionary *p* which has a key specified by the string " "*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." +"por la cadena de caracteres *key*. Si *key* no está en el diccionario, se " +"lanza :exc:`KeyError`. Retorna ``0`` en caso de éxito o ``-1`` en caso de " +"error." #: ../Doc/c-api/dict.rst:98 msgid "" @@ -172,13 +170,12 @@ msgstr "" "presente." #: ../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*`." 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\\*`." +"un :c:type:`const char*`, en lugar de un :c:type:`PyObject*`." #: ../Doc/c-api/dict.rst:119 msgid "" @@ -238,7 +235,6 @@ msgstr "" "``len(p)`` en un diccionario." #: ../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 " @@ -255,13 +251,13 @@ msgstr "" "`Py_ssize_t` al que se refiere *ppos* debe inicializarse a ``0`` antes de la " "primera llamada a esta función para iniciar la iteración; la función retorna " "verdadero para cada par en el diccionario y falso una vez que todos los " -"pares han sido reportados. Los parámetros *pkey* y *pvalue* deben apuntar a :" -"c:type:`PyObject\\*` variables que se completarán con cada clave y valor, " -"respectivamente, o pueden ser ``NULL``. Cualquier referencia retornada a " -"través de ellos es prestada. *ppos* no debe modificarse durante la " -"iteración. Su valor representa desplazamientos dentro de la estructura " -"interna del diccionario, y dado que la estructura es escasa, los " -"desplazamientos no son consecutivos." +"pares han sido reportados. Los parámetros *pkey* y *pvalue* deben apuntar a " +"variables :c:type:`PyObject*` que se completarán con cada clave y valor, " +"respectivamente, o pueden ser ``NULL``. Todas las referencias retornadas a " +"través de ellos se toman prestadas. *ppos* no debe modificarse durante la " +"iteración. Su valor representa compensaciones dentro de la estructura del " +"diccionario interno y, dado que la estructura es escasa, las compensaciones " +"no son consecutivas." #: ../Doc/c-api/dict.rst:172 msgid "For example::" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index a0cfc181a6..ed151e9e73 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-21 18:38+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\n" #: ../Doc/c-api/exceptions.rst:8 msgid "Exception Handling" @@ -583,7 +584,7 @@ msgstr "" #: ../Doc/c-api/exceptions.rst:377 msgid "The caller must hold the GIL." -msgstr "" +msgstr "La persona que llama debe retener el GIL." #: ../Doc/c-api/exceptions.rst:381 msgid "" @@ -974,13 +975,15 @@ msgstr "" #: ../Doc/c-api/exceptions.rst:640 ../Doc/c-api/exceptions.rst:650 msgid "3.11" -msgstr "" +msgstr "3.11" #: ../Doc/c-api/exceptions.rst:642 msgid "" "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " "``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``." msgstr "" +"``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a " +"``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``." #: ../Doc/c-api/exceptions.rst:647 msgid "" @@ -996,10 +999,12 @@ msgid "" "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " "``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"Onns\", ...)``." msgstr "" +"``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a " +"``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"sOnns\", ...)``." #: ../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." +msgstr "Retorna el atributo *encoding* del objeto de excepción dado." #: ../Doc/c-api/exceptions.rst:664 msgid "Return the *object* attribute of the given exception object." @@ -1058,7 +1063,6 @@ msgid "Recursion Control" msgstr "Control de Recursión" #: ../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 " @@ -1070,7 +1074,9 @@ 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)." +"Python (que rastrea su profundidad de recursión automáticamente). Tampoco " +"son necesarios para las implementaciones de *tp_call* porque :ref:`call " +"protocol ` se encarga del manejo de la recursividad." #: ../Doc/c-api/exceptions.rst:724 msgid "Marks a point where a recursive C-level call is about to be performed." @@ -1099,19 +1105,18 @@ msgstr "" "cero. De lo contrario, se retorna cero." #: ../Doc/c-api/exceptions.rst:734 -#, fuzzy msgid "" "*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." +"*where* debería ser una cadena de caracteres codificada en UTF-8 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:738 ../Doc/c-api/exceptions.rst:746 msgid "This function is now also available in the limited API." -msgstr "" +msgstr "Esta función ahora también está disponible en la API limitada." #: ../Doc/c-api/exceptions.rst:743 msgid "" @@ -1188,7 +1193,6 @@ msgid "Standard Exceptions" msgstr "Excepciones Estándar" #: ../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 :" @@ -1197,7 +1201,7 @@ msgid "" 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 " +"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:845 ../Doc/c-api/exceptions.rst:978 @@ -1721,7 +1725,6 @@ msgid "Standard Warning Categories" msgstr "Categorías de advertencia estándar" #: ../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 " @@ -1730,7 +1733,7 @@ msgid "" 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 " +"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:1025 diff --git a/c-api/file.po b/c-api/file.po index 515d364e4a..3d5c769e26 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 20:52+0200\n" +"PO-Revision-Date: 2021-08-01 20: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" +"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 3.0\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 " @@ -173,6 +173,8 @@ msgid "" "Raises an :ref:`auditing event ` ``setopencodehook`` with no " "arguments." msgstr "" +"Genera un :ref:`evento de auditoría ` ``setopencodehook`` sin " +"argumentos." #: ../Doc/c-api/file.rst:95 msgid "" diff --git a/c-api/float.po b/c-api/float.po index 83ad567622..e3e0e3106f 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 16:21+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 20:11+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" +"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 3.0\n" #: ../Doc/c-api/float.rst:6 msgid "Floating Point Objects" @@ -42,22 +43,20 @@ 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`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyFloatObject` o un subtipo " -"de :c:type:`PyFloatObject`." +"de :c:type:`PyFloatObject`. Esta función siempre finaliza con éxito." #: ../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`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyFloatObject`, pero no un " -"subtipo de :c:type:`PyFloatObject`." +"subtipo de :c:type:`PyFloatObject`. Esta función siempre finaliza con éxito." #: ../Doc/c-api/float.rst:36 msgid "" diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index 88db434861..11b4607a60 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-16 21:14+0200\n" +"PO-Revision-Date: 2021-08-02 01:45+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" +"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 3.0\n" #: ../Doc/c-api/gcsupport.rst:6 msgid "Supporting Cyclic Garbage Collection" @@ -132,32 +133,40 @@ msgid "" "Returns non-zero if the object implements the garbage collector protocol, " "otherwise returns 0." msgstr "" +"Retorna un valor distinto de cero si el objeto implementa el protocolo del " +"recolector de basura; de lo contrario, retorna 0." #: ../Doc/c-api/gcsupport.rst:69 msgid "" "The object cannot be tracked by the garbage collector if this function " "returns 0." msgstr "" +"El recolector de basura no puede rastrear el objeto si esta función retorna " +"0." #: ../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 "" +"Retorna 1 si el tipo de objeto de *op* implementa el protocolo GC y el " +"recolector de basura está rastreando *op* y 0 en caso contrario." #: ../Doc/c-api/gcsupport.rst:77 msgid "This is analogous to the Python function :func:`gc.is_tracked`." -msgstr "" +msgstr "Esto es análogo a la función de Python :func:`gc.is_tracked`." #: ../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 "" +"Retorna 1 si el tipo de objeto de *op* implementa el protocolo GC y *op* ya " +"ha sido finalizado por el recolector de basura y 0 en caso contrario." #: ../Doc/c-api/gcsupport.rst:87 msgid "This is analogous to the Python function :func:`gc.is_finalized`." -msgstr "" +msgstr "Esto es análogo a la función de Python :func:`gc.is_finalized`." #: ../Doc/c-api/gcsupport.rst:91 msgid "" diff --git a/c-api/gen.po b/c-api/gen.po index de92de3c42..2d01391fc4 100644 --- a/c-api/gen.po +++ b/c-api/gen.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 15:39+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 20:11+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" +"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 3.0\n" #: ../Doc/c-api/gen.rst:6 msgid "Generator Objects" @@ -46,21 +47,20 @@ msgid "The type object corresponding to generator objects." msgstr "El objeto tipo correspondiente a los objetos generadores." #: ../Doc/c-api/gen.rst:25 -#, 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``." +"Retorna verdadero si *ob* es un objeto generador; *ob* no debe ser ``NULL``. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/gen.rst:31 -#, fuzzy msgid "" "Return true if *ob*'s type is :c:type:`PyGen_Type`; *ob* must not be " "``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si el tipo de *ob* es :c:type:`PyGen_Type`; *ob* no debe " -"ser ``NULL``." +"ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/gen.rst:37 msgid "" diff --git a/c-api/init.po b/c-api/init.po index 13e6ca23f9..e6ad476e70 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-25 00:27+0200\n" +"PO-Revision-Date: 2021-08-02 02:04+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" +"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 3.0\n" #: ../Doc/c-api/init.rst:8 msgid "Initialization, Finalization, and Threads" @@ -1404,28 +1405,29 @@ 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 :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 " -"miembro de datos públicos es :c:type:`PyInterpreterState \\*`:attr:`interp`, " -"que apunta al estado del intérprete de este hilo." +"miembro de datos públicos es :attr:`interp` (:c:type:`PyInterpreterState " +"*`), que apunta al estado del intérprete de este hilo." #: ../Doc/c-api/init.rst:845 msgid "Deprecated function which does nothing." -msgstr "" +msgstr "Función deprecada que no hace nada." #: ../Doc/c-api/init.rst:847 msgid "" "In Python 3.6 and older, this function created the GIL if it didn't exist." msgstr "" +"En Python 3.6 y versiones anteriores, esta función creaba el GIL si no " +"existía." #: ../Doc/c-api/init.rst:849 msgid "The function now does nothing." -msgstr "" +msgstr "La función ahora no hace nada." #: ../Doc/c-api/init.rst:852 msgid "" @@ -1755,6 +1757,8 @@ msgid "" "This function now calls the :c:member:`PyThreadState.on_delete` callback. " "Previously, that happened in :c:func:`PyThreadState_Delete`." msgstr "" +"Esta función ahora llama a la retrollamada :c:member:`PyThreadState." +"on_delete`. Anteriormente, eso sucedía en :c:func:`PyThreadState_Delete`." #: ../Doc/c-api/init.rst:1062 msgid "" @@ -1767,59 +1771,64 @@ msgstr "" "llamada previa a :c:func:`PyThreadState_Clear`." #: ../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`." +"Destruye un objeto de estado de hilo y suelta el bloqueo del intérprete " +"global. Como :c:func:`PyThreadState_Delete`, no es necesario mantener el " +"bloqueo del intérprete global. El estado del hilo debe haberse restablecido " +"con una llamada anterior a :c:func:`PyThreadState_Clear`." #: ../Doc/c-api/init.rst:1077 msgid "Get the current frame of the Python thread state *tstate*." -msgstr "" +msgstr "Obtiene el marco actual del estado del hilo de Python *tstate*." #: ../Doc/c-api/init.rst:1079 msgid "" "Return a strong reference. Return ``NULL`` if no frame is currently " "executing." msgstr "" +"Retorna una referencia sólida. Retorna ``NULL`` si no se está ejecutando " +"ningún marco." #: ../Doc/c-api/init.rst:1082 msgid "See also :c:func:`PyEval_GetFrame`." -msgstr "" +msgstr "Vea también :c:func:`PyEval_GetFrame`." #: ../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 "" +msgstr "*tstate* no debe ser ``NULL``." #: ../Doc/c-api/init.rst:1091 msgid "" "Get the unique thread state identifier of the Python thread state *tstate*." msgstr "" +"Obtiene el identificador de estado de subproceso único del estado del hilo " +"de Python *tstate*." #: ../Doc/c-api/init.rst:1100 msgid "Get the interpreter of the Python thread state *tstate*." -msgstr "" +msgstr "Obtiene el intérprete del estado del hilo de Python *tstate*." #: ../Doc/c-api/init.rst:1109 -#, fuzzy msgid "Get the current interpreter." -msgstr "Retorna el objeto de estado del intérprete principal." +msgstr "Obtiene el intérprete actual." #: ../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 "" +"Emite un error fatal si no hay un estado actual del hilo de Python o no hay " +"un intérprete actual. No puede retornar NULL." #: ../Doc/c-api/init.rst:1114 ../Doc/c-api/init.rst:1124 msgid "The caller must hold the GIL." -msgstr "" +msgstr "La persona que llama debe retener el GIL." #: ../Doc/c-api/init.rst:1121 msgid "" @@ -1850,29 +1859,32 @@ msgstr "" #: ../Doc/c-api/init.rst:1142 msgid "Type of a frame evaluation function." -msgstr "" +msgstr "Tipo de función de evaluación de marcos." #: ../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 "" +"El parámetro *throwflag* es usado por el método de generadores ``throw()``: " +"si no es cero, maneja la excepción actual." #: ../Doc/c-api/init.rst:1147 msgid "The function now takes a *tstate* parameter." -msgstr "" +msgstr "La función ahora recibe un parámetro *tstate*." #: ../Doc/c-api/init.rst:1152 msgid "Get the frame evaluation function." -msgstr "" +msgstr "Obtiene la función de evaluación de marcos." #: ../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 "" +"Consulte :pep:`523` \"Adición de una API de evaluación de marcos a CPython\"." #: ../Doc/c-api/init.rst:1160 msgid "Set the frame evaluation function." -msgstr "" +msgstr "Configura la función de evaluación del marco." #: ../Doc/c-api/init.rst:1169 msgid "" @@ -1918,7 +1930,6 @@ msgstr "" "long`." #: ../Doc/c-api/init.rst:1192 -#, fuzzy msgid "" "Acquire the global interpreter lock and set the current thread state to " "*tstate*, which must not be ``NULL``. The lock must have been created " @@ -1927,7 +1938,7 @@ msgstr "" "Adquiere el bloqueo global del intérprete y establece el estado actual del " "hilo en *tstate*, que no debe ser ``NULL``. El bloqueo debe haber sido " "creado anteriormente. Si este hilo ya tiene el bloqueo, se produce un " -"*deadlock*." +"deadlock." #: ../Doc/c-api/init.rst:1203 ../Doc/c-api/init.rst:1241 msgid "" @@ -2306,6 +2317,9 @@ msgid "" "Otherwise, the function *func* can be scheduled to be called from the wrong " "interpreter." msgstr "" +"Para llamar a esta función en un subinterprete, quien llama debe mantener el " +"GIL. De lo contrario, la función *func* se puede programar para que se llame " +"desde el intérprete incorrecto." #: ../Doc/c-api/init.rst:1422 msgid "" @@ -2330,6 +2344,10 @@ msgid "" "from the main interpreter. Each subinterpreter now has its own list of " "scheduled calls." msgstr "" +"Si esta función se llama en un subinterprete, la función *func* ahora está " +"programada para ser llamada desde el subinterprete, en lugar de ser llamada " +"desde el intérprete principal. Cada subinterprete ahora tiene su propia " +"lista de llamadas programadas." #: ../Doc/c-api/init.rst:1440 msgid "Profiling and Tracing" @@ -2552,7 +2570,7 @@ msgstr "" #: ../Doc/c-api/init.rst:1557 ../Doc/c-api/init.rst:1569 msgid "The caller must hold the :term:`GIL`." -msgstr "" +msgstr "La persona que llama debe mantener el :term:`GIL`." #: ../Doc/c-api/init.rst:1562 msgid "" @@ -2625,7 +2643,6 @@ msgid "Thread Local Storage Support" msgstr "Soporte de almacenamiento local de hilo" #: ../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 " @@ -2638,8 +2655,8 @@ msgstr "" "almacenamiento local de hilos (TLS) que envuelve la implementación de TLS " "nativa subyacente para admitir la API de almacenamiento local de hilos de " "nivel Python (:class:`threading.local`). Las API de nivel CPython C son " -"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." +"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:1625 msgid "" @@ -2659,7 +2676,6 @@ msgstr "" "hilos." #: ../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 " @@ -2667,10 +2683,9 @@ msgid "" "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 " -"mismo. Si los valores :c:type:`void\\*` son :c:type:`PyObject\\*`, estas " -"funciones tampoco realizan operaciones de conteo de referencias (*refcount*) " -"en ellos." +"de los valores :c:type:`void*`. Debe asignarlos y desasignarlos usted mismo. " +"Si los valores :c:type:`void*` son :c:type:`PyObject*`, estas funciones " +"tampoco realizan operaciones de conteo de referencias en ellos." #: ../Doc/c-api/init.rst:1640 msgid "Thread Specific Storage (TSS) API" @@ -2816,24 +2831,22 @@ msgstr "" "la misma llave; llamarla en una llave ya destruida es un *no-op*." #: ../Doc/c-api/init.rst:1730 -#, fuzzy msgid "" "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." 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\\*`." +"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:1737 -#, fuzzy msgid "" "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 "" -"Retorna el valor :c:type:`void\\*` asociado con una clave TSS en el hilo " +"Retorna el valor :c:type:`void*` asociado con una clave TSS en el hilo " "actual. Esto retorna ``NULL`` si no hay ningún valor asociado con la clave " "en el hilo actual." diff --git a/c-api/init_config.po b/c-api/init_config.po index e3b46ea62f..52cf8ae539 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-23 12:35+0200\n" +"PO-Revision-Date: 2021-08-02 01:43+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: \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 3.0\n" #: ../Doc/c-api/init_config.rst:7 msgid "Python Initialization Configuration" @@ -152,9 +153,8 @@ msgid ":c:func:`Py_RunMain`" msgstr ":c:func:`Py_RunMain`" #: ../Doc/c-api/init_config.rst:46 -#, fuzzy msgid ":c:func:`Py_GetArgcArgv`" -msgstr ":c:func:`PyConfig_SetArgv`" +msgstr ":c:func:`Py_GetArgcArgv`" #: ../Doc/c-api/init_config.rst:48 msgid "" @@ -743,6 +743,9 @@ msgid "" "time by ``--with-platlibdir``, overrideable by the ``PYTHONPLATLIBDIR`` " "environment variable." msgstr "" +":data:`sys.platlibdir`: nombre del directorio de la biblioteca de la " +"plataforma, establecido en el momento de la configuración por ``--with-" +"platlibdir``, anulable por la variable de entorno ``PYTHONPLATLIBDIR``." #: ../Doc/c-api/init_config.rst:450 msgid "" @@ -794,6 +797,8 @@ msgstr "" #: ../Doc/c-api/init_config.rst:478 msgid "If non-zero, enable the :ref:`Python Development Mode `." msgstr "" +"Si es distinto de cero, habilita :ref:`Modo de desarrollo de Python " +"`." #: ../Doc/c-api/init_config.rst:482 msgid "If non-zero, dump all objects which are still alive at exit." @@ -802,7 +807,7 @@ msgstr "" #: ../Doc/c-api/init_config.rst:484 msgid "``Py_TRACE_REFS`` macro must be defined in build." -msgstr "" +msgstr "El macro ``Py_TRACE_REFS`` debe ser definido en la construcción." #: ../Doc/c-api/init_config.rst:488 msgid ":data:`sys.exec_prefix`." @@ -1115,15 +1120,16 @@ msgstr ":data:`sys._xoptions`." #: ../Doc/c-api/init_config.rst:700 msgid "Enable PEG parser? Default: 1." -msgstr "" +msgstr "Habilitar parser PEG? Por defecto: 1." #: ../Doc/c-api/init_config.rst:702 msgid "Set to 0 by :option:`-X oldparser <-X>` and :envvar:`PYTHONOLDPARSER`." msgstr "" +"Establecido en 0 por :option:`-X oldparser <-X>` y :envvar:`PYTHONOLDPARSER`." #: ../Doc/c-api/init_config.rst:704 msgid "See also :pep:`617`." -msgstr "" +msgstr "Vea también :pep:`617`." #: ../Doc/c-api/init_config.rst:708 msgid "" @@ -1146,7 +1152,7 @@ msgstr "" #: ../Doc/c-api/init_config.rst:718 msgid "The ``show_alloc_count`` field has been removed." -msgstr "" +msgstr "El campo ``show_alloc_count`` fue removido." #: ../Doc/c-api/init_config.rst:722 msgid "Initialization with PyConfig" @@ -1278,9 +1284,8 @@ msgid ":c:member:`PyConfig.home`" msgstr ":c:member:`PyConfig.home`" #: ../Doc/c-api/init_config.rst:896 -#, fuzzy msgid ":c:member:`PyConfig.platlibdir`" -msgstr ":c:member:`~PyConfig.isolated`" +msgstr ":c:member:`PyConfig.platlibdir`" #: ../Doc/c-api/init_config.rst:897 msgid ":c:member:`PyConfig.pathconfig_warnings`" @@ -1523,11 +1528,13 @@ msgstr "" #: ../Doc/c-api/init_config.rst:989 msgid "Py_GetArgcArgv()" -msgstr "" +msgstr "Py_GetArgcArgv()" #: ../Doc/c-api/init_config.rst:993 msgid "Get the original command line arguments, before Python modified them." msgstr "" +"Obtiene los argumentos originales de la línea de comandos, antes de que " +"Python los modificara." #: ../Doc/c-api/init_config.rst:997 msgid "Multi-Phase Initialization Private Provisional API" @@ -1622,6 +1629,8 @@ msgid "" ":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " "subprocesses and fork." msgstr "" +":c:member:`PyConfig._isolated_interpreter`: si no es cero, no permite hilos, " +"subprocesos y bifurcaciones." #: ../Doc/c-api/init_config.rst:1030 msgid "" diff --git a/c-api/intro.po b/c-api/intro.po index 8cae2e5a89..5e83374ff5 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-18 14:17+0200\n" +"PO-Revision-Date: 2021-08-02 01:28+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" +"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 3.0\n" #: ../Doc/c-api/intro.rst:8 msgid "Introduction" @@ -235,6 +236,11 @@ msgid "" "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 a la que no se pueda acceder por " +"diseño. Por ejemplo, en la cláusula ``default:`` en una declaración " +"``switch`` para la cual todos los valores posibles están cubiertos en " +"declaraciones ``case``. Use esto en lugares donde podría tener la tentación " +"de poner una llamada ``assert(0)`` o ``abort()``." #: ../Doc/c-api/intro.rst:115 msgid "" @@ -242,12 +248,18 @@ msgid "" "avoids a warning about unreachable code. For example, the macro is " "implemented with ``__builtin_unreachable()`` on GCC in release mode." msgstr "" +"En el modo de lanzamiento, la macro ayuda al compilador a optimizar el " +"código y evita una advertencia sobre el código inalcanzable. Por ejemplo, la " +"macro se implementa con ``__builtin_unreachable()`` en GCC en modo de " +"lanzamiento." #: ../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 "" +"Un uso de ``Py_UNREACHABLE()`` es seguir una llamada a una función que nunca " +"retorna pero que no está declarada :c:macro:`_Py_NO_RETURN`." #: ../Doc/c-api/intro.rst:122 msgid "" @@ -257,6 +269,12 @@ msgid "" "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 "" +"Si una ruta de código es un código muy poco probable pero se puede acceder " +"en casos excepcionales, esta macro no debe utilizarse. Por ejemplo, en " +"condiciones de poca memoria o si una llamada al sistema retorna un valor " +"fuera del rango esperado. En este caso, es mejor informar el error a la " +"persona que llama. Si no se puede informar del error a la persona que llama, " +"se puede utilizar :c:func:`Py_FatalError`." #: ../Doc/c-api/intro.rst:132 msgid "Return the absolute value of ``x``." @@ -358,10 +376,9 @@ msgstr "" #: ../Doc/c-api/intro.rst:227 msgid "Objects, Types and Reference Counts" -msgstr "Objetos, Tipos y Conteos de Referencias" +msgstr "Objetos, tipos y conteos de referencias" #: ../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 " @@ -376,7 +393,7 @@ msgid "" "objects." msgstr "" "La mayoría de las funciones de Python/C API tienen uno o más argumentos, así " -"como un valor de retorno de tipo :c:type:`PyObject\\*`. Este tipo es un " +"como un valor de retorno de tipo :c:type:`PyObject*`. Este tipo es un " "puntero a un tipo de datos opaco que representa un objeto arbitrario de " "Python. Dado que todos los tipos de objetos Python son tratados de la misma " "manera por el lenguaje Python en la mayoría de las situaciones (por ejemplo, " @@ -384,7 +401,7 @@ msgstr "" "estén representados por un solo tipo C. Casi todos los objetos de Python " "viven en el montículo (*heap*): nunca declaras una variable automática o " "estática de tipo :c:type:`PyObject`, solo se pueden declarar variables de " -"puntero de tipo :c:type:`PyObject\\*`. La única excepción son los objetos " +"puntero de tipo :c:type:`PyObject*`. La única excepción son los objetos " "tipo; como nunca deben desasignarse, son típicamente objetos estáticos :c:" "type:`PyTypeObject`." @@ -728,7 +745,6 @@ msgid "Types" msgstr "Tipos" #: ../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:" @@ -740,7 +756,7 @@ msgid "" msgstr "" "Hay algunos otros tipos de datos que juegan un papel importante en la API de " "Python/C; la mayoría son tipos C simples como :c:type:`int`, :c:type:" -"`long`, :c:type:`double` y :c:type:`char\\*`. Algunos tipos de estructura se " +"`long`, :c:type:`double` y :c:type:`char*`. Algunos tipos de estructura se " "usan para describir tablas estáticas que se usan para enumerar las funciones " "exportadas por un módulo o los atributos de datos de un nuevo tipo de " "objeto, y otro se usa para describir el valor de un número complejo. Estos " diff --git a/c-api/iterator.po b/c-api/iterator.po index 2ce3837017..99b644b2ea 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 15:46+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 20:11+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" +"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 3.0\n" #: ../Doc/c-api/iterator.rst:6 msgid "Iterator Objects" @@ -50,11 +51,12 @@ msgstr "" "tipos de secuencia incorporados." #: ../Doc/c-api/iterator.rst:24 -#, 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`." +msgstr "" +"Retorna verdadero si el tipo de *op* es :c:data:`PySeqIter_Type`. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/iterator.rst:30 msgid "" @@ -76,11 +78,12 @@ msgstr "" "func:`iter`." #: ../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`." +msgstr "" +"Retorna verdadero si el tipo de *op* es :c:data:`PyCallIter_Type`. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/iterator.rst:49 msgid "" diff --git a/c-api/list.po b/c-api/list.po index 8b0e8aa0da..0790f22707 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 23:47+0200\n" +"PO-Revision-Date: 2021-08-01 20:11+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" +"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 3.0\n" #: ../Doc/c-api/list.rst:6 msgid "List Objects" @@ -39,22 +40,20 @@ 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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto de lista o una instancia de un subtipo " -"del tipo lista." +"del tipo lista. Esta función siempre finaliza con éxito." #: ../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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto lista, pero no una instancia de un " -"subtipo del tipo lista." +"subtipo del tipo lista. Esta función siempre finaliza con éxito." #: ../Doc/c-api/list.rst:36 msgid "Return a new list of length *len* on success, or ``NULL`` on failure." diff --git a/c-api/long.po b/c-api/long.po index 8d9a232176..01f38422be 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-21 22:18+0200\n" +"PO-Revision-Date: 2021-08-02 01:24+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" +"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 3.0\n" #: ../Doc/c-api/long.rst:6 msgid "Integer Objects" @@ -56,22 +57,20 @@ 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`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyLongObject` o un subtipo " -"de :c:type:`PyLongObject`." +"de :c:type:`PyLongObject`. Esta función siempre finaliza con éxito." #: ../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`. This function always succeeds." msgstr "" "Retorna verdadero si su argumento es un :c:type:`PyLongObject`, pero no un " -"subtipo de :c:type:`PyLongObject`." +"subtipo de :c:type:`PyLongObject`. Esta función siempre finaliza con éxito." #: ../Doc/c-api/long.rst:41 msgid "" @@ -81,7 +80,6 @@ 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 " @@ -89,9 +87,7 @@ msgid "" 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 " -"realidad solo obtiene una referencia al objeto existente. Por lo tanto, " -"debería ser posible cambiar el valor de ``1``. Sospecho que el " -"comportamiento de Python en este caso no está definido. :-)" +"realidad solo obtiene una referencia al objeto existente." #: ../Doc/c-api/long.rst:50 msgid "" @@ -167,6 +163,7 @@ msgstr "" #: ../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." #: ../Doc/c-api/long.rst:103 msgid "" @@ -181,6 +178,8 @@ msgid "" "Convert a sequence of Unicode digits in the string *u* to a Python integer " "value." msgstr "" +"Convierte una secuencia de dígitos Unicode en la cadena de caracteres *u* en " +"un valor entero de Python." #: ../Doc/c-api/long.rst:116 msgid "" @@ -262,15 +261,14 @@ msgstr "" "c:type:`long long`." #: ../Doc/c-api/long.rst:194 -#, fuzzy msgid "" "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:`LONG_MAX` o menor que :const:" -"`LONG_MIN`, establece *\\*overflow * en ``1`` o ``-1``, respectivamente, y " +"Si el valor de *obj* es mayor que :const:`LLONG_MAX` o menor que :const:" +"`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." @@ -410,13 +408,12 @@ msgstr "" "convertirlo en un :c:type:`PyLongObject`." #: ../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 ``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``." +"retorna la reducción de ese valor módulo ``ULLONG_MAX + 1``." #: ../Doc/c-api/long.rst:305 msgid "" diff --git a/c-api/marshal.po b/c-api/marshal.po index 437de6aac4..d506153e52 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 15:52+0200\n" +"PO-Revision-Date: 2021-08-01 20:28+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" +"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 3.0\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -91,15 +92,14 @@ 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 " "for reading. Only a 32-bit value can be read in using this function, " "regardless of the native size of :c:type:`long`." msgstr "" -"Retorna un C :c:type:`long` del flujo de datos en un :c:type:`FILE\\*` " -"abierto para lectura. Solo se puede leer un valor de 32 bits con esta " -"función, independientemente del tamaño nativo de :c:type:`long`." +"Retorna un C :c:type:`long` del flujo de datos en un :c:type:`FILE*` abierto " +"para lectura. Solo se puede leer un valor de 32 bits con esta función, " +"independientemente del tamaño nativo de :c:type:`long`." #: ../Doc/c-api/marshal.rst:50 ../Doc/c-api/marshal.rst:60 msgid "" @@ -110,23 +110,21 @@ 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, " "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\\*` " +"Retorna un C :c:type:`short` desde el flujo de datos en un :c:type:`FILE*` " "abierto para lectura. Solo se puede leer un valor de 16 bits con esta " "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." msgstr "" -"Retorna un objeto Python del flujo de datos en un :c:type:`FILE\\*` abierto " +"Retorna un objeto Python del flujo de datos en un :c:type:`FILE*` abierto " "para lectura." #: ../Doc/c-api/marshal.rst:69 ../Doc/c-api/marshal.rst:83 @@ -139,7 +137,6 @@ 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 " @@ -149,7 +146,7 @@ msgid "" "file. Only use these variant if you are certain that you won't be reading " "anything else from the file." msgstr "" -"Retorna un objeto Python del flujo de datos en un :c:type:`FILE\\*` abierto " +"Retorna un objeto Python del flujo de datos en un :c:type:`FILE*` abierto " "para lectura. A diferencia de :c:func:`PyMarshal_ReadObjectFromFile`, esta " "función asume que no se leerán más objetos del archivo, lo que le permite " "cargar agresivamente los datos del archivo en la memoria para que la " diff --git a/c-api/memory.po b/c-api/memory.po index a2a6e670d3..e3b6a10bdb 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-21 21:14+0200\n" +"PO-Revision-Date: 2021-08-02 01: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" +"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 3.0\n" #: ../Doc/c-api/memory.rst:8 msgid "Memory Management" @@ -199,12 +200,11 @@ 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 " "allocated memory, or ``NULL`` if the request fails." msgstr "" -"Asigna *n* bytes y retorna un puntero de tipo :c:type:`void\\*` a la memoria " +"Asigna *n* bytes y retorna un puntero de tipo :c:type:`void*` a la memoria " "asignada, o ``NULL`` si la solicitud falla." #: ../Doc/c-api/memory.rst:115 @@ -219,14 +219,13 @@ 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 " "the request fails. The memory is initialized to zeros." msgstr "" "Asigna *nelem* elementos cada uno cuyo tamaño en bytes es *elsize* y retorna " -"un puntero de tipo :c:type:`void\\*` a la memoria asignada, o ``NULL`` si la " +"un puntero de tipo :c:type:`void*` a la memoria asignada, o ``NULL`` si la " "solicitud falla. La memoria se inicializa a ceros." #: ../Doc/c-api/memory.rst:126 @@ -399,18 +398,16 @@ 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." 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." +"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 " @@ -418,9 +415,9 @@ msgid "" "event of failure." msgstr "" "Igual que :c:func:`PyMem_Realloc`, pero el bloque de memoria cambia de " -"tamaño a ``(n * sizeof(TYPE))`` bytes. retorna una conversión de puntero a :" -"c:type:`TYPE\\*`. Al regresar, *p* será un puntero a la nueva área de " -"memoria, o ``NULL`` en caso de falla." +"tamaño a ``(n * sizeof(TYPE))`` bytes. Retorna una conversión de puntero a :" +"c:type:`TYPE*`. Al retornar, *p* será un puntero a la nueva área de memoria, " +"o ``NULL`` en caso de falla." #: ../Doc/c-api/memory.rst:247 msgid "" @@ -973,9 +970,8 @@ msgid "allocate an arena of size bytes" msgstr "asignar una arena de bytes de tamaño" #: ../Doc/c-api/memory.rst:519 -#, fuzzy msgid "``void free(void *ctx, void *ptr, size_t size)``" -msgstr "``void* realloc(void *ctx, void *ptr, size_t new_size)``" +msgstr "``void free(void *ctx, void *ptr, size_t size)``" #: ../Doc/c-api/memory.rst:519 msgid "free an arena" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index 997173f787..27cf05868f 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 00:37+0200\n" +"PO-Revision-Date: 2021-08-01 20:28+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" +"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 3.0\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -81,18 +82,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`. 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`." +"Actualmente no está permitido crear subclases de :class:`memoryview`. Esta " +"función siempre tiene éxito." # crashes -> bloquearse #: ../Doc/c-api/memoryview.rst:54 -#, fuzzy msgid "" "Return a pointer to the memoryview's private copy of the exporter's buffer. " "*mview* **must** be a memoryview instance; this macro doesn't check its " @@ -100,8 +100,7 @@ msgid "" msgstr "" "Retorna un puntero a la copia privada de la vista de memoria del búfer del " "exportador. *mview* **debe** ser una instancia de *memoryview*; este macro " -"no verifica su tipo, debe hacerlo usted mismo o correrá el riesgo de " -"bloquearse." +"no verifica su tipo, debe hacerlo usted mismo o correrá el riesgo de fallas." #: ../Doc/c-api/memoryview.rst:60 msgid "" diff --git a/c-api/method.po b/c-api/method.po index 96ab68955f..700f8bd972 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 02:17+0200\n" +"PO-Revision-Date: 2021-08-01 20:26+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" +"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 3.0\n" #: ../Doc/c-api/method.rst:6 msgid "Instance Method Objects" @@ -44,14 +45,14 @@ 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``. 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``." +"data:`PyInstanceMethod_Type`). El parámetro no debe ser ``NULL``. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/method.rst:30 msgid "" @@ -100,13 +101,13 @@ msgstr "" "MethodType``." #: ../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``. 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``." +"`PyMethod_Type`). El parámetro no debe ser ``NULL``. Esta función siempre " +"finaliza con éxito." #: ../Doc/c-api/method.rst:73 msgid "" diff --git a/c-api/module.po b/c-api/module.po index 4892818054..8f38cdf4cf 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-08 00:01+0200\n" +"PO-Revision-Date: 2021-08-02 01:21+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" +"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 3.0\n" #: ../Doc/c-api/module.rst:6 msgid "Module Objects" @@ -35,22 +36,20 @@ msgstr "" "ModuleType``." #: ../Doc/c-api/module.rst:21 -#, 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." +"módulo. Esta función siempre finaliza con éxito." #: ../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`. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto módulo, pero no un subtipo de :c:data:" -"`PyModule_Type`." +"`PyModule_Type`. Esta función siempre finaliza con éxito." #: ../Doc/c-api/module.rst:40 msgid "" @@ -298,6 +297,8 @@ msgid "" "A traversal function to call during GC traversal of the module object, or " "``NULL`` if not needed." msgstr "" +"Una función transversal para llamar durante el recorrido GC del objeto del " +"módulo, o ``NULL`` si no es necesario." #: ../Doc/c-api/module.rst:202 ../Doc/c-api/module.rst:217 #: ../Doc/c-api/module.rst:232 @@ -309,23 +310,33 @@ msgid "" "0 and the module state (as returned by :c:func:`PyModule_GetState`) is " "``NULL``." msgstr "" +"Esta función no se llama si se solicitó el estado del módulo pero aún no se " +"asignó. Este es el caso inmediatamente después de que se crea el módulo y " +"antes de que se ejecute (la función :c:data:`Py_mod_exec`). Más " +"precisamente, esta función no se llama si :c:member:`m_size` es mayor que 0 " +"y el estado del módulo (como lo retorna :c:func:`PyModule_GetState`) es " +"``NULL``." #: ../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 "" +msgstr "Ya no se llama antes de que se asigne el estado del módulo." #: ../Doc/c-api/module.rst:214 msgid "" "A clear function to call during GC clearing of the module object, or " "``NULL`` if not needed." msgstr "" +"Una función clara para llamar durante la limpieza GC del objeto del módulo, " +"o ``NULL`` si no es necesario." #: ../Doc/c-api/module.rst:229 msgid "" "A function to call during deallocation of the module object, or ``NULL`` if " "not needed." msgstr "" +"Una función para llamar durante la desasignación del objeto del módulo, o " +"``NULL`` si no es necesario." #: ../Doc/c-api/module.rst:243 msgid "Single-phase initialization" @@ -681,7 +692,6 @@ msgstr "" "funciones para ayudar a inicializar el estado del módulo:" #: ../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 " @@ -754,6 +764,10 @@ msgid "" "the last component of :c:member:`~PyTypeObject.tp_name` after dot. Return " "``-1`` on error, ``0`` on success." msgstr "" +"Agrega un objeto tipo a *module*. El objeto tipo se finaliza llamando " +"internamente :c:func:`PyType_Ready`. El nombre del objeto tipo se toma del " +"último componente de :c:member:`~PyTypeObject.tp_name` después del punto. " +"Retorna ``-1`` en caso de error, ``0`` en caso de éxito." #: ../Doc/c-api/module.rst:500 msgid "Module lookup" @@ -828,7 +842,7 @@ msgstr "" #: ../Doc/c-api/module.rst:531 ../Doc/c-api/module.rst:542 msgid "The caller must hold the GIL." -msgstr "" +msgstr "La persona que llama debe retener el GIL." #: ../Doc/c-api/module.rst:533 msgid "Return 0 on success or -1 on failure." diff --git a/c-api/reflection.po b/c-api/reflection.po index 681963d62f..06fd762888 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 02:56+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 20:24+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" +"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 3.0\n" #: ../Doc/c-api/reflection.rst:6 msgid "Reflection" @@ -60,32 +61,36 @@ msgstr "" #: ../Doc/c-api/reflection.rst:31 msgid "See also :c:func:`PyThreadState_GetFrame`." -msgstr "" +msgstr "Vea también :c:func:`PyThreadState_GetFrame`." #: ../Doc/c-api/reflection.rst:36 msgid "Get the *frame* next outer frame." -msgstr "" +msgstr "Obtiene el *frame* siguiente marco (*frame*) exterior." #: ../Doc/c-api/reflection.rst:38 msgid "Return a strong reference, or ``NULL`` if *frame* has no outer frame." msgstr "" +"Devuelve una referencia fuerte o ``NULL`` si *frame* no tiene un marco " +"exterior." #: ../Doc/c-api/reflection.rst:40 ../Doc/c-api/reflection.rst:60 msgid "*frame* must not be ``NULL``." -msgstr "" +msgstr "*frame* no debe ser ``NULL``." #: ../Doc/c-api/reflection.rst:47 msgid "Get the *frame* code." -msgstr "" +msgstr "Obtiene el código *frame*." #: ../Doc/c-api/reflection.rst:49 msgid "Return a strong reference." -msgstr "" +msgstr "Retorna una referencia fuerte." #: ../Doc/c-api/reflection.rst:51 msgid "" "*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``." msgstr "" +"*frame* no debe ser ``NULL``. El resultado (código del marco) no puede ser " +"``NULL``." #: ../Doc/c-api/reflection.rst:58 msgid "Return the line number that *frame* is currently executing." diff --git a/c-api/set.po b/c-api/set.po index 328ae0db7f..c02751842e 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-16 18:25+0200\n" +"PO-Revision-Date: 2021-08-01 20:10+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" +"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 3.0\n" #: ../Doc/c-api/set.rst:6 msgid "Set Objects" @@ -96,49 +97,46 @@ 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. " "This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`set` o una instancia de un " -"subtipo." +"subtipo. Esta función siempre finaliza con éxito." #: ../Doc/c-api/set.rst:60 -#, fuzzy msgid "" "Return true if *p* is a :class:`frozenset` object or an instance of a " "subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`frozenset` o una instancia de " -"un subtipo." +"un subtipo. Esta función siempre finaliza con éxito." #: ../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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`set`, un objeto :class:" -"`frozenset`, o una instancia de un subtipo." +"`frozenset`, o una instancia de un subtipo. Esta función siempre finaliza " +"con éxito." #: ../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. 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." +"`frozenset` pero no una instancia de un subtipo. Esta función siempre " +"finaliza con éxito." #: ../Doc/c-api/set.rst:77 -#, fuzzy msgid "" "Return true if *p* is a :class:`frozenset` object but not an instance of a " "subtype. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto :class:`frozenset` pero no una " -"instancia de un subtipo." +"instancia de un subtipo. Esta función siempre finaliza con éxito." #: ../Doc/c-api/set.rst:83 msgid "" diff --git a/c-api/structures.po b/c-api/structures.po index 1f1222b4bb..1f27cffabd 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -6,19 +6,21 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-02 01:55+0200\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: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/c-api/structures.rst:6 msgid "Common Object Structures" @@ -36,7 +38,7 @@ msgstr "" #: ../Doc/c-api/structures.rst:14 msgid "Base object types and macros" -msgstr "" +msgstr "Tipos objeto base y macros" #: ../Doc/c-api/structures.rst:16 msgid "" @@ -126,10 +128,12 @@ msgid "" "Return non-zero if the object *o* type is *type*. Return zero otherwise. " "Equivalent to: ``Py_TYPE(o) == type``." msgstr "" +"Retorna un valor distinto de cero si el objeto *o* tipo es *type*. Retorna " +"cero en caso contrario. Equivalente a: ``Py_TYPE(o) == type``." #: ../Doc/c-api/structures.rst:83 msgid "Set the object *o* type to *type*." -msgstr "" +msgstr "Establece el tipo del objeto *o* a *type*." #: ../Doc/c-api/structures.rst:90 msgid "" @@ -141,7 +145,7 @@ msgstr "" #: ../Doc/c-api/structures.rst:99 msgid "Set the object *o* reference counter to *refcnt*." -msgstr "" +msgstr "Establece el conteo de referencia del objeto *o* a *refcnt*." #: ../Doc/c-api/structures.rst:106 msgid "" @@ -153,7 +157,7 @@ msgstr "" #: ../Doc/c-api/structures.rst:114 msgid "Set the object *o* size to *size*." -msgstr "" +msgstr "Establece el tamaño del objeto *o* a *size*." #: ../Doc/c-api/structures.rst:121 msgid "" @@ -175,10 +179,9 @@ msgstr "" #: ../Doc/c-api/structures.rst:139 msgid "Implementing functions and methods" -msgstr "" +msgstr "Implementando funciones y métodos" #: ../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 " @@ -188,52 +191,51 @@ msgid "" "reference." msgstr "" "Tipo de las funciones usadas para implementar la mayoría de invocables " -"Python en C. Funciones de este tipo toman dos parámetros :c:type:`PyObject" -"\\*` y retorna un valor de ese tipo. Si el valor de retorno es ``NULL``, una " +"Python en C. Funciones de este tipo toman dos parámetros :c:type:`PyObject*` " +"y retorna un valor de ese tipo. Si el valor de retorno es ``NULL``, una " "excepción fue establecida. Si no es ``NULL``, el valor retornado se " "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:150 msgid "The function signature is::" -msgstr "" +msgstr "La firma de la función es::" #: ../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`. The function signature is::" msgstr "" "Tipo de las funciones que se utilizan para implementar invocables Python en " -"C con la firma :const:`METH_FASTCALL`." +"C con la firma :const:`METH_VARARGS | METH_KEYWORDS`. La firma de la función " +"es::" #: ../Doc/c-api/structures.rst:168 -#, fuzzy msgid "" "Type of the functions used to implement Python callables in C with " "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`." +"C con la firma :const:`METH_FASTCALL`. La firma de la función es::" #: ../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`. The function signature is::" msgstr "" "Tipo de las funciones que se utilizan para implementar invocables Python en " -"C con la firma :const:`METH_FASTCALL`." +"C con la firma :const:`METH_FASTCALL | METH_KEYWORDS`. La firma de la " +"función es::" #: ../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`." +"C con la firma :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. La " +"firma de la función es::" #: ../Doc/c-api/structures.rst:204 msgid "" @@ -307,7 +309,6 @@ msgid "points to the contents of the docstring" msgstr "puntos a los contenidos del docstring" #: ../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 " @@ -317,10 +318,10 @@ msgid "" "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 " -"diferentes tipos, pero siempre retornan :c:type:`PyObject\\*`. Si la función " +"diferentes tipos, pero siempre retornan :c:type:`PyObject*`. Si la función " "no es la de :c:type:`PyCFunction`, el compilador requiere una conversión de " "tipo en la tabla de métodos. A pesar de que :c:type:`PyCFunction` define el " -"primer parámetro como :c:type:`PyObject\\*`, es común que la implementación " +"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:229 @@ -335,10 +336,9 @@ msgstr "" #: ../Doc/c-api/structures.rst:233 msgid "There are these calling conventions:" -msgstr "" +msgstr "Existen estas convenciones de llamada:" #: ../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 " @@ -348,7 +348,7 @@ msgid "" "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 " +"type:`PyCFunction`. La función espera dos valores :c:type:`PyObject*`. El " "primero es objeto *self* para los métodos; para las funciones del módulo, " "que es el objeto módulo. El segundo parámetro (a menudo llamado *args*) es " "un objeto tupla que representa todos los argumentos. Este parámetro se " @@ -371,7 +371,6 @@ msgstr "" "`PyArg_ParseTupleAndKeywords`." #: ../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 " @@ -381,16 +380,15 @@ msgid "" msgstr "" "Convención de llamando rápido que soporta sólo argumentos posicionales. Los " "métodos tienen el tipo :c:type:`_PyCFunctionFast`. El primer parámetro es " -"*self*, el segundo parámetro es un arreglo C de valores :c:type:`PyObject" -"\\*` que indican los argumentos y el tercer parámetro es el número de " -"argumentos (la longitud del arreglo)." +"*self*, el segundo parámetro es un arreglo C de valores :c:type:`PyObject*` " +"que indican los argumentos y el tercer parámetro es el número de argumentos " +"(la longitud del arreglo)." #: ../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:269 -#, fuzzy msgid "" "Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " "methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " @@ -401,14 +399,14 @@ msgid "" "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 " +"Extensión de :const:`METH_FASTCALL` que admite también argumentos de palabra " "clave, con los métodos de tipo :c:type:`_PyCFunctionFastWithKeywords`. " -"argumentos de palabra clave se transmiten de la misma manera como en el " -"protocolo vectorcall: hay un adicional cuarta :c:type:`PyObject\\*` " -"parámetro que es una tupla que representa los nombres de los argumentos de " -"palabra clave o posiblemente ``NULL`` si no hay palabras clave. Los valores " -"de los argumentos de palabras clave se almacenan en el arreglo *args*, " -"después de los argumentos posicionales." +"argumentos de palabra clave se transmiten de la misma manera como en el :" +"ref:`vectorcall protocol `: hay un cuarto parámetro :c:type:" +"`PyObject*` adicional que es una tupla que representa los nombres de los " +"argumentos de palabra clave o posiblemente ``NULL`` si no hay palabras " +"clave. Los valores de los argumentos de palabras clave se almacenan en el " +"arreglo *args*, después de los argumentos posicionales." #: ../Doc/c-api/structures.rst:286 msgid "" @@ -416,6 +414,9 @@ msgid "" "class*, that is, the class that contains the method in question. The " "defining class might be a superclass of ``Py_TYPE(self)``." msgstr "" +"Extensión de :const:`METH_FASTCALL | METH_KEYWORDS` que admite la *clase " +"definitoria*, es decir, la clase que contiene el método en cuestión. La " +"clase definitoria podría ser una superclase de ``Py_TYPE(self)``." #: ../Doc/c-api/structures.rst:290 msgid "" @@ -423,6 +424,9 @@ msgid "" "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" +"El método debe ser de tipo :c:type:`PyCMethod`, lo mismo que para " +"``METH_FASTCALL | METH_KEYWORDS`` con el argumento ``defining_clase`` " +"añadido después de ``self``." #: ../Doc/c-api/structures.rst:299 msgid "" @@ -439,7 +443,6 @@ msgstr "" "todos los casos el segundo parámetro será ``NULL``." #: ../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\"`` " @@ -447,11 +450,10 @@ msgid "" "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* :" +"Los métodos con un solo argumento objeto pueden ser listados con el flag :" "const:`METH_O`, en lugar de invocar :c:func:`PyArg_ParseTuple` con un " "argumento ``\"O\"``. Tienen el tipo :c:type:`PyCFunction`, con el parámetro " -"*self*, y un parámetro :c:type:`PyObject\\*` que representa el único " -"argumento." +"*self*, y un parámetro :c:type:`PyObject*` que representa el único argumento." #: ../Doc/c-api/structures.rst:314 msgid "" @@ -519,7 +521,7 @@ msgstr "" #: ../Doc/c-api/structures.rst:356 msgid "Accessing attributes of extension types" -msgstr "" +msgstr "Acceder a atributos de tipos de extensión" #: ../Doc/c-api/structures.rst:360 msgid "" @@ -585,11 +587,11 @@ msgstr "" #: ../Doc/c-api/structures.rst:388 msgid "Macro name" -msgstr "nombre de la macro" +msgstr "Nombre de la macro" #: ../Doc/c-api/structures.rst:388 msgid "C type" -msgstr "tipo C" +msgstr "Tipo C" #: ../Doc/c-api/structures.rst:390 msgid "T_SHORT" @@ -752,6 +754,13 @@ msgid "" "tp_vectorcall_offset` in type objects. These must be defined with " "``T_PYSSIZET`` and ``READONLY``, for example::" msgstr "" +"Los tipos asignados al heap (creados usando :c:func:`PyType_FromSpec` o " +"similar), ``PyMemberDef`` pueden contener definiciones para los miembros " +"especiales ``__dictoffset__``, ``__weaklistoffset__`` y " +"``__vectorcalloffset__``, correspondientes a :c:member:`~PyTypeObject." +"tp_dictoffset`, :c:member:`~PyTypeObject.tp_weaklistoffset` y :c:member:" +"`~PyTypeObject.tp_vectorcall_offset` en objetos de tipo. Estos deben " +"definirse con ``T_PYSSIZET`` y ``READONLY``, por ejemplo::" #: ../Doc/c-api/structures.rst:441 msgid "" @@ -767,7 +776,7 @@ msgstr "nombre" #: ../Doc/c-api/structures.rst:447 msgid "attribute name" -msgstr "Nombre del Atributo" +msgstr "Nombre del atributo" #: ../Doc/c-api/structures.rst:449 msgid "get" @@ -821,13 +830,12 @@ msgstr "" "*setter*" #: ../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``)::" msgstr "" -"La función ``get`` toma un parámetro :c:type:`PyObject\\*` (la instancia) y " -"un puntero de función (el ``closure`` asociado)::" +"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:467 msgid "" @@ -838,14 +846,13 @@ msgstr "" "excepción establecida en caso de error." #: ../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``)::" 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)::" +"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:475 msgid "" diff --git a/c-api/sys.po b/c-api/sys.po index 0168fa8e10..e83f56e9e5 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-21 23:31+0200\n" +"PO-Revision-Date: 2021-08-01 20:08+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" +"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 3.0\n" #: ../Doc/c-api/sys.rst:6 msgid "Operating System Utilities" @@ -664,10 +665,13 @@ msgid "" "automatically the name of the current function, unless the " "``Py_LIMITED_API`` macro is defined." msgstr "" +"La función ``Py_FatalError()`` se reemplaza con una macro que registra " +"automáticamente el nombre de la función actual, a menos que se defina la " +"macro ``Py_LIMITED_API``." #: ../Doc/c-api/sys.rst:395 msgid "Log the function name automatically." -msgstr "" +msgstr "Registra el nombre de la función automáticamente." #: ../Doc/c-api/sys.rst:405 msgid "" diff --git a/c-api/tuple.po b/c-api/tuple.po index e48cee8543..4587214bea 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 21:12+0200\n" +"PO-Revision-Date: 2021-08-01 20:19+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" +"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 3.0\n" #: ../Doc/c-api/tuple.rst:6 msgid "Tuple Objects" @@ -39,22 +40,20 @@ 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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto tupla o una instancia de un subtipo " -"del tipo tupla." +"del tipo tupla. Esta función siempre finaliza con éxito." #: ../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. This function always succeeds." msgstr "" "Retorna verdadero si *p* es un objeto tupla pero no una instancia de un " -"subtipo del tipo tupla." +"subtipo del tipo tupla. Esta función siempre finaliza con éxito." #: ../Doc/c-api/tuple.rst:36 msgid "Return a new tuple object of size *len*, or ``NULL`` on failure." @@ -278,7 +277,6 @@ msgstr "" "cantidad de campos visibles para el lado de Python (si se usa como tupla)" #: ../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:" @@ -287,7 +285,7 @@ msgid "" msgstr "" "Describe un campo de una secuencia de estructura. Como una secuencia de " "estructura se modela como una tupla, todos los campos se escriben como :c:" -"type:`PyObject\\*`. El índice en el arreglo :attr:`fields` de :c:type:" +"type:`PyObject*`. El índice en el arreglo :attr:`fields` de :c:type:" "`PyStructSequence_Desc` determina qué campo de la secuencia de estructura se " "describe." @@ -310,7 +308,7 @@ msgstr "Valor especial para un nombre de campo para dejarlo sin nombre." #: ../Doc/c-api/tuple.rst:184 msgid "The type was changed from ``char *``." -msgstr "" +msgstr "El tipo se cambió de ``char *``." #: ../Doc/c-api/tuple.rst:190 msgid "" diff --git a/c-api/type.po b/c-api/type.po index 44f74a978e..90930a2520 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 22:05+0200\n" +"PO-Revision-Date: 2021-08-02 01: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" +"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 3.0\n" #: ../Doc/c-api/type.rst:6 msgid "Type Objects" @@ -40,25 +41,24 @@ msgstr "" "`type` en la capa Python." #: ../Doc/c-api/type.rst:24 -#, fuzzy msgid "" "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." +"Retorna un valor distinto de cero si el objeto *o* es un objeto tipo, " +"incluidas las instancias de tipos derivados del objeto de tipo estándar. " +"Retorna 0 en todos los demás casos. Esta función siempre finaliza con éxito." #: ../Doc/c-api/type.rst:31 -#, fuzzy msgid "" "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." +"Retorna un valor distinto de cero si el objeto *o* es un objeto tipo, pero " +"no un subtipo del objeto tipo estándar. Retorna 0 en todos los demás casos. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/type.rst:38 msgid "Clear the internal lookup cache. Return the current version tag." @@ -94,14 +94,13 @@ msgstr "" "manual de los atributos o clases base del tipo." #: ../Doc/c-api/type.rst:62 -#, fuzzy msgid "" "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." +"Retorna un valor distinto de cero si el tipo objeto *o* establece la " +"característica *feature*. Las características de tipo se indican mediante " +"flags de un solo bit." #: ../Doc/c-api/type.rst:68 msgid "" @@ -186,12 +185,16 @@ msgid "" "Return the module object associated with the given type when the type was " "created using :c:func:`PyType_FromModuleAndSpec`." msgstr "" +"Retorna el objeto módulo asociado con el tipo dado cuando se creó el tipo " +"usando :c:func:`PyType_FromModuleAndSpec`." #: ../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 "" +"Si no hay ningún módulo asociado con el tipo dado, establece :py:class:" +"`TypeError` y retorna ``NULL``." #: ../Doc/c-api/type.rst:122 msgid "" @@ -202,6 +205,13 @@ msgid "" "module as their superclass. See :c:type:`PyCMethod` to get the class that " "defines the method." msgstr "" +"Esta función se suele utilizar para obtener el módulo en el que se define un " +"método. Tenga en cuenta que en un método de este tipo, es posible que " +"``PyType_GetModule(Py_TYPE(self))`` no retorne el resultado deseado. " +"``Py_TYPE(self)`` puede ser una *subclass* de la clase deseada, y las " +"subclases no están necesariamente definidas en el mismo módulo que su " +"superclase. Consulte :c:type:`PyCMethod` para obtener la clase que define el " +"método." #: ../Doc/c-api/type.rst:133 msgid "" @@ -209,12 +219,17 @@ msgid "" "is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:" "func:`PyType_GetModule`." msgstr "" +"Retorna el estado del objeto de módulo asociado con el tipo dado. Este es un " +"atajo para llamar :c:func:`PyModule_GetState()` en el resultado de :c:func:" +"`PyType_GetModule`." #: ../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 "" +"Si el tipo *type* tiene un módulo asociado pero su estado es ``NULL``, " +"retorna ``NULL`` sin establecer una excepción." #: ../Doc/c-api/type.rst:147 msgid "Creating Heap-Allocated Types" @@ -245,14 +260,14 @@ msgstr "" "los tipos contenidos en él como tipos básicos." #: ../Doc/c-api/type.rst:160 -#, fuzzy msgid "" "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`." +"también es ``NULL``, en su lugar, se utiliza la ranura *Py_tp_base*. Si eso " +"también es ``NULL``, el nuevo tipo se deriva de :class:`object`." #: ../Doc/c-api/type.rst:164 msgid "" @@ -262,15 +277,19 @@ msgid "" "c:func:`PyType_GetModule`. The associated module is not inherited by " "subclasses; it must be specified for each class individually." msgstr "" +"El argumento *module* se puede utilizar para registrar el módulo en el que " +"se define la nueva clase. Debe ser un objeto de módulo o ``NULL``. Si no es " +"``NULL``, el módulo se asocia con el nuevo tipo y luego se puede recuperar " +"con :c:func:`PyType_GetModule`. El módulo asociado no es heredado por " +"subclases; debe especificarse para cada clase individualmente." #: ../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:177 -#, fuzzy msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``." -msgstr "Equivalente a ``PyType_FromSpecWithBases(spec, NULL)``." +msgstr "Equivalente a ``PyType_FromModuleAndSpec(NULL, spec, bases)``." #: ../Doc/c-api/type.rst:183 msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``." @@ -353,13 +372,12 @@ msgstr "" "``Py_sq_length`` para establecer :c:member:`PySequenceMethods.sq_length`" #: ../Doc/c-api/type.rst:231 -#, fuzzy msgid "" "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`:" +"Los siguientes campos no se pueden configurar en absoluto usando :c:type:" +"`PyType_Spec` y :c:type:`PyType_Slot`:" #: ../Doc/c-api/type.rst:234 msgid ":c:member:`~PyTypeObject.tp_dict`" @@ -382,37 +400,40 @@ msgid ":c:member:`~PyTypeObject.tp_weaklist`" msgstr ":c:member:`~PyTypeObject.tp_weaklist`" #: ../Doc/c-api/type.rst:239 -#, fuzzy msgid ":c:member:`~PyTypeObject.tp_vectorcall`" -msgstr ":c:member:`~PyTypeObject.tp_dict`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" #: ../Doc/c-api/type.rst:240 -#, fuzzy msgid "" ":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef " "`)" -msgstr ":c:member:`~PyTypeObject.tp_weaklistoffset`" +msgstr "" +":c:member:`~PyTypeObject.tp_weaklistoffset` (vea :ref:`PyMemberDef " +"`)" #: ../Doc/c-api/type.rst:242 msgid "" ":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef `)" msgstr "" +":c:member:`~PyTypeObject.tp_dictoffset` (vea :ref:`PyMemberDef `)" #: ../Doc/c-api/type.rst:244 msgid "" ":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef " "`)" msgstr "" +":c:member:`~PyTypeObject.tp_vectorcall_offset` (vea :ref:`PyMemberDef " +"`)" #: ../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`:" +"y :c:type:`PyType_Slot` cuando se utiliza la API limitada:" #: ../Doc/c-api/type.rst:250 msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" @@ -423,19 +444,20 @@ msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" #: ../Doc/c-api/type.rst:253 -#, fuzzy msgid "" "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." +"Estableciendo :c:data:`Py_tp_bases` o :c:data:`Py_tp_base` 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:260 msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API." msgstr "" +"Las ranuras en :c:type:`PyBufferProcs` se pueden configurar en la API " +"ilimitada." #: ../Doc/c-api/type.rst:264 msgid "" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 835c57effa..123dcc230c 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-19 00:16+0200\n" +"PO-Revision-Date: 2021-08-01 20:07+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" +"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 3.0\n" #: ../Doc/c-api/typeobj.rst:6 msgid "Type Objects" @@ -581,14 +582,12 @@ msgid "__del__" msgstr "__del__" #: ../Doc/c-api/typeobj.rst:148 -#, fuzzy msgid ":c:member:`~PyTypeObject.tp_vectorcall`" -msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" #: ../Doc/c-api/typeobj.rst:148 -#, fuzzy msgid ":c:type:`vectorcallfunc`" -msgstr ":c:type:`allocfunc`" +msgstr ":c:type:`vectorcallfunc`" #: ../Doc/c-api/typeobj.rst:152 msgid "" @@ -1555,43 +1554,38 @@ msgstr "" "Para evitar punteros colgantes, la forma recomendada de lograr esto es:" #: ../Doc/c-api/typeobj.rst:682 -#, fuzzy msgid "" "An optional offset to a per-instance function that implements calling the " "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`." +"llamada al objeto usando :ref:`vectorcall protocol `, una " +"alternativa más eficiente del simple :c:member:`~PyTypeObject.tp_call`." #: ../Doc/c-api/typeobj.rst:687 -#, fuzzy msgid "" "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." 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 " -"que contenga el desplazamiento en la instancia de un puntero a :c:type:" -"`vectorcallfunc`. La firma es la misma que para :c:func:" -"`_PyObject_Vectorcall`::" +"Este campo solo se usa si se establece el flag :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL`. Si es así, debe ser un entero positivo que " +"contenga el desplazamiento en la instancia de un puntero :c:type:" +"`vectorcallfunc`." #: ../Doc/c-api/typeobj.rst:691 -#, fuzzy msgid "" "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." +"El puntero *vectorcallfunc* puede ser ``NULL``, en cuyo caso la instancia se " +"comporta como si :const:`Py_TPFLAGS_HAVE_VECTORCALL` no estuviera " +"configurado: llamar a la instancia vuelve a :c:member:`~PyTypeObject." "tp_call`." #: ../Doc/c-api/typeobj.rst:695 -#, fuzzy msgid "" "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 " @@ -1601,20 +1595,19 @@ 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``:" +"hacer configurando *tp_call* en :c:func:`PyVectorcall_Call`." #: ../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 :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 " -"el protocolo *vectorcall*. Cuando un usuario establece ``__call__`` en el " -"código Python, solo se actualiza ``tp_call``, posiblemente haciendo que sea " -"inconsistente con la función *vectorcall*." +"No se recomienda para :ref:`tipos de pila ` para implementar el " +"protocolo vectorcall. Cuando un usuario establece :attr:`__call__` en código " +"Python, solo se actualiza *tp_call*, lo que probablemente lo haga " +"inconsistente con la función vectorcall." #: ../Doc/c-api/typeobj.rst:709 msgid "" @@ -1631,6 +1624,8 @@ msgid "" "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 "" +"Antes de la versión 3.8, este slot se llamaba ``tp_print``. En Python 2.x, " +"se usó para imprimir en un archivo. En Python 3.0 a 3.7, no se usó." #: ../Doc/c-api/typeobj.rst:721 msgid "" @@ -1640,6 +1635,11 @@ msgid "" "`PyVectorcall_Call` is explicitly called. This is in particular the case for " "`heap types`_ (including subclasses defined in Python)." msgstr "" +"Este campo siempre se hereda. Sin embargo, el flag :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, entonces la " +"subclase no usará :ref:`vectorcall `, excepto cuando :c:func:" +"`PyVectorcall_Call` se llame explícitamente. Este es en particular el caso " +"de los `heap types`_ (incluidas las subclases definidas en Python)." #: ../Doc/c-api/typeobj.rst:732 msgid "An optional pointer to the get-attribute-string function." @@ -2297,14 +2297,14 @@ msgstr "" "estructura de tipos." #: ../Doc/c-api/typeobj.rst:1158 -#, fuzzy msgid "" "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." +"Este bit se establece cuando la clase implementa :ref:`protocolo vectorcall " +"`. Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset` para " +"obtener más detalles." #: ../Doc/c-api/typeobj.rst:1164 msgid "" @@ -2312,6 +2312,9 @@ msgid "" "tp_call` is also inherited. `Heap types`_ do not inherit " "``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" +"Este bit se hereda para subtipos *static* si :c:member:`~PyTypeObject." +"tp_call` también se hereda. `Heap types`_ no heredan " +"``Py_TPFLAGS_HAVE_VECTORCALL``." #: ../Doc/c-api/typeobj.rst:1173 msgid "" @@ -2426,6 +2429,13 @@ msgid "" "``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 "" +"Los tipos asignados al heap (:const:`Py_TPFLAGS_HEAPTYPE`, como los creados " +"con :c:func:`PyType_FromSpec` y API similares) contienen una referencia a su " +"tipo. Por lo tanto, su función transversal debe visitar :c:func:" +"`Py_TYPE(self) `, o delegar esta responsabilidad llamando a " +"``tp_traverse`` de otro tipo asignado al heap (como una superclase asignada " +"al heap). Si no es así, es posible que el objeto de tipo no se recolecte " +"como basura." #: ../Doc/c-api/typeobj.rst:1240 msgid "" @@ -2433,6 +2443,10 @@ msgid "" "``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." msgstr "" +"Se espera que los tipos asignados al montón visiten ``Py_TYPE(self)`` en " +"``tp_traverse``. En versiones anteriores de Python, debido al `bug 40217 " +"`_, hacer esto puede provocar fallas en " +"las subclases." #: ../Doc/c-api/typeobj.rst:1249 msgid "" @@ -2696,7 +2710,6 @@ msgstr "" "del tipo no podrán participar en ninguna comparación." #: ../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 " @@ -2706,12 +2719,12 @@ msgid "" "`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 " -"del encabezado de la lista de referencia débil (ignorando el encabezado del " -"GC, si está presente); este desplazamiento es utilizado por :c:func:" +"mayor que cero y contiene el desplazamiento en la estructura de instancia " +"del encabezado de la lista de referencia débil (ignorando el encabezado GC, " +"si está presente); este desplazamiento es utilizado por :c:func:" "`PyObject_ClearWeakRefs` y las funciones :c:func:`PyWeakref_\\*`. La " -"estructura de la instancia debe incluir un campo de tipo :c:type:`PyObject" -"\\*` que se inicializa a ``NULL``." +"estructura de la instancia debe incluir un campo de tipo :c:type:`PyObject*` " +"que se inicializa en ``NULL``." #: ../Doc/c-api/typeobj.rst:1392 msgid "" @@ -3246,7 +3259,6 @@ 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: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 " @@ -3254,11 +3266,11 @@ msgid "" "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 " +"El argumento *subtype* es el tipo de objeto que se está creando; los " "argumentos *args* y *kwds* representan argumentos posicionales y de palabras " -"clave de la llamada al tipo. Tenga en cuenta que el subtipo no tiene que ser " -"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)." +"clave de la llamada al tipo. Tenga en cuenta que *subtype* no tiene que ser " +"igual al tipo cuya función :c:member:`~PyTypeObject.tp_new` es llamada; " +"puede ser un subtipo de ese tipo (pero no un tipo no relacionado)." #: ../Doc/c-api/typeobj.rst:1724 msgid "" @@ -3493,15 +3505,18 @@ msgid "" "If ``tp_vectorcall`` is ``NULL``, the default call implementation using :" "attr:`__new__` and :attr:`__init__` is used." msgstr "" +"Función Vectorcall a utilizar para llamadas de este tipo de objeto. En otras " +"palabras, se usa para implementar :ref:`vectorcall ` para ``type." +"__call__``. Si ``tp_vectorcall`` es ``NULL``, se usa la implementación de " +"llamada predeterminada usando :attr:`__new__` y :attr:`__init__`." #: ../Doc/c-api/typeobj.rst:1913 -#, fuzzy msgid "This field is never inherited." -msgstr "Este campo no se hereda." +msgstr "Este campo nunca se hereda." #: ../Doc/c-api/typeobj.rst:1915 msgid "(the field exists since 3.8 but it's only used since 3.9)" -msgstr "" +msgstr "(el campo existe desde 3.8 pero solo se usa desde 3.9)" #: ../Doc/c-api/typeobj.rst:1918 msgid "" diff --git a/c-api/unicode.po b/c-api/unicode.po index ffaf4614db..9527b397ca 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -11,16 +11,17 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 02:25+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 17:43+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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" +"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 3.0\n" #: ../Doc/c-api/unicode.rst:6 msgid "Unicode Objects and Codecs" @@ -48,7 +49,6 @@ 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 " @@ -96,6 +96,9 @@ msgid "" "APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` " "for more information." msgstr "" +"El objeto Unicode \"heredado\" se eliminará en Python 3.12 con APIs " +"obsoletas. Todos los objetos Unicode serán \"canónicos\" desde entonces. " +"Consulte :pep:`623` para obtener más información." #: ../Doc/c-api/unicode.rst:43 msgid "Unicode Type" @@ -167,7 +170,6 @@ msgstr "" "de objetos Unicode:" #: ../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. This function always succeeds." @@ -176,7 +178,6 @@ msgstr "" "un subtipo Unicode." #: ../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. This function always succeeds." @@ -203,7 +204,7 @@ msgstr "" #: ../Doc/c-api/unicode.rst:115 msgid "This API will be removed with :c:func:`PyUnicode_FromUnicode`." -msgstr "" +msgstr "Esta API será removida con :c:func:`PyUnicode_FromUnicode`." #: ../Doc/c-api/unicode.rst:120 msgid "" @@ -235,7 +236,7 @@ msgstr "Retorna los valores de la macro :c:func:`PyUnicode_KIND`." #: ../Doc/c-api/unicode.rst:149 msgid "``PyUnicode_WCHAR_KIND`` is deprecated." -msgstr "" +msgstr "``PyUnicode_WCHAR_KIND`` está deprecada." #: ../Doc/c-api/unicode.rst:154 msgid "" @@ -373,12 +374,17 @@ msgid "" "Return ``1`` if the string is a valid identifier according to the language " "definition, section :ref:`identifiers`. Return ``0`` otherwise." msgstr "" +"Retorna ``1`` si la cadena de caracteres es un identificador válido de " +"acuerdo con la definición del lenguaje, sección :ref:`identifiers`. Retorna " +"``0`` de lo contrario." #: ../Doc/c-api/unicode.rst:258 msgid "" "The function does not call :c:func:`Py_FatalError` anymore if the string is " "not ready." msgstr "" +"La función ya no llama a :c:func:`Py_FatalError` si la cadena de caracteres " +"no está lista." #: ../Doc/c-api/unicode.rst:264 msgid "Unicode Character Properties" @@ -599,7 +605,6 @@ msgstr "" "compartido, es decir, no se permite la modificación de los datos." #: ../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 " @@ -1150,7 +1155,6 @@ msgstr "" "cualquiera de las macros de acceso, como :c:func:`PyUnicode_KIND`." #: ../Doc/c-api/unicode.rst:703 -#, fuzzy msgid "" "Part of the old-style Unicode API, please migrate to using :c:func:" "`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:" @@ -1178,14 +1182,14 @@ msgstr "" "cuando se usara en la mayoría de las funciones de C." #: ../Doc/c-api/unicode.rst:720 ../Doc/c-api/unicode.rst:748 -#, fuzzy msgid "" "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." +"Parte del estilo antiguo de la API Unicode, por favor migrar para usar :c:" +"func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:" +"`PyUnicode_ReadChar` o APIs nuevas similares." #: ../Doc/c-api/unicode.rst:726 msgid "" @@ -1198,13 +1202,12 @@ msgstr "" "valor decimal. Retorna ``NULL`` si ocurre una excepción." #: ../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`." +"Parte del estilo antiguo de la API :c:type:`Py_UNICODE`; por favor migrar " +"para usar :c:func:`Py_UNICODE_TODECIMAL`." #: ../Doc/c-api/unicode.rst:737 msgid "" @@ -1515,7 +1518,7 @@ msgstr "" #: ../Doc/c-api/unicode.rst:957 msgid "wchar_t Support" -msgstr "Soporte wchar_t" +msgstr "soporte wchar_t" #: ../Doc/c-api/unicode.rst:959 msgid ":c:type:`wchar_t` support for platforms which support it:" @@ -1617,7 +1620,6 @@ msgstr "" "incorporado :func:`str`." #: ../Doc/c-api/unicode.rst:1016 -#, fuzzy msgid "" "Setting encoding to ``NULL`` causes the default encoding to be used which is " "UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for " @@ -2307,7 +2309,7 @@ msgstr "" "como ordinales Unicode) o ``None``. Los bytes de datos sin asignar - los que " "causan un :exc:`LookupError`, así como los que se asignan a ``None``, " "``0xFFFE`` o ``'\\ ufffe'``, se tratan como asignaciones indefinidas y " -"causan un error" +"causan un error." #: ../Doc/c-api/unicode.rst:1484 msgid "" @@ -2356,15 +2358,14 @@ 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:1511 -#, fuzzy msgid "" "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 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." +"Traduce una cadena de caracteres aplicando una tabla de mapeo y retornando " +"el objeto Unicode resultante. Retorna ``NULL`` cuando el códec provocó una " +"excepción." #: ../Doc/c-api/unicode.rst:1515 msgid "" @@ -2666,7 +2667,7 @@ msgstr ":const:`Py_True` o :const:`Py_False` para comparaciones exitosas" #: ../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." +":const:`Py_NotImplemented` en caso que se desconozca la combinación de tipos" #: ../Doc/c-api/unicode.rst:1707 msgid "" @@ -2735,7 +2736,7 @@ msgstr "" "`PyUnicode_InternInPlace`, que retorna un nuevo objeto de cadena de " "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" +"con el mismo valor." #~ msgid "Clear the free list. Return the total number of freed items." #~ msgstr "" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index adc09a1e85..f30708f5c5 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-08 00:54+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 17: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" +"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 3.0\n" #: ../Doc/c-api/veryhigh.rst:8 msgid "The Very High Level Layer" @@ -48,7 +49,6 @@ 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:" @@ -214,7 +214,6 @@ 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 " diff --git a/c-api/weakref.po b/c-api/weakref.po index 4ea3a1260a..c701b10cfb 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -11,16 +11,17 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-07 09:39+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-01 17:38+0200\n" +"Last-Translator: Cristián Maureira-Fredes \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" +"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 3.0\n" #: ../Doc/c-api/weakref.rst:6 msgid "Weak Reference Objects" @@ -39,25 +40,27 @@ msgstr "" "como un proxy del objeto original tanto como pueda." #: ../Doc/c-api/weakref.rst:16 -#, 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." +msgstr "" +"Retorna verdadero (true) si *ob* es una referencia o un objeto proxy. Esta " +"función siempre finaliza con éxito." #: ../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." +msgstr "" +"Retorna verdadero (true) si *ob* es un objeto de referencia. Esta función " +"siempre finaliza con éxito." #: ../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." +msgstr "" +"Retorna verdadero (true) si *ob* es un objeto proxy. Esta función siempre " +"finaliza con éxito." #: ../Doc/c-api/weakref.rst:32 -#, fuzzy msgid "" "Return a weak reference object for the object *ob*. This will always return " "a new reference, but is not guaranteed to create a new object; an existing " @@ -79,7 +82,6 @@ msgstr "" "``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:44 -#, fuzzy msgid "" "Return a weak reference proxy object for the object *ob*. This will always " "return a new reference, but is not guaranteed to create a new object; an " diff --git a/dictionaries/c-api_call.txt b/dictionaries/c-api_call.txt new file mode 100644 index 0000000000..ec8fdb7d92 --- /dev/null +++ b/dictionaries/c-api_call.txt @@ -0,0 +1,5 @@ +args +kwargs +arg +obj +variadica diff --git a/dictionaries/c-api_conversion.txt b/dictionaries/c-api_conversion.txt new file mode 100644 index 0000000000..94274de1bb --- /dev/null +++ b/dictionaries/c-api_conversion.txt @@ -0,0 +1 @@ +ValueError diff --git a/dictionaries/c-api_init.txt b/dictionaries/c-api_init.txt new file mode 100644 index 0000000000..c7d0c00978 --- /dev/null +++ b/dictionaries/c-api_init.txt @@ -0,0 +1,2 @@ +pthreads +deadlock diff --git a/dictionaries/c-api_structures.txt b/dictionaries/c-api_structures.txt new file mode 100644 index 0000000000..82c8aa6605 --- /dev/null +++ b/dictionaries/c-api_structures.txt @@ -0,0 +1 @@ +heap From 3d75d4d44df4e3b8fae528a8bc2763c5523053f6 Mon Sep 17 00:00:00 2001 From: Gonzalo Tixilima Date: Mon, 16 Aug 2021 05:54:53 -0500 Subject: [PATCH 46/94] fix powrap branch on pre-commit config (#1337) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f084450d96..0ec9648d0f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/JulienPalard/powrap - rev: master + rev: main hooks: - id: powrap - repo: local From 14ec9441afbbb2a904039842e7aea3ce43c964c2 Mon Sep 17 00:00:00 2001 From: Gonzalo Tixilima Date: Mon, 16 Aug 2021 05:57:17 -0500 Subject: [PATCH 47/94] =?UTF-8?q?Traducci=C3=B3n=20de=20library/stdtypes.p?= =?UTF-8?q?o=20(#1327)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido archivo library/stdtypes.po * Apply suggestions from code review * fix stdtypes.rst:4776 * fix wrapping Co-authored-by: Cristián Maureira-Fredes --- TRANSLATORS | 1 + dictionaries/library_stdtypes.txt | 1 + library/stdtypes.po | 316 +++++++++++++++++++----------- 3 files changed, 206 insertions(+), 112 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 9237f07b89..b354cd2239 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -150,5 +150,6 @@ Adolfo Villalobos (@AdolfoVillalobos) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) Marcos Medrano (@mmmarcos) +Gonzalo Tixilima (@javoweb) Frank Montalvo Ochoa (@fmontalvoo) Diego Cristóbal (@dcristobalh) diff --git a/dictionaries/library_stdtypes.txt b/dictionaries/library_stdtypes.txt index 0219d607e7..e0170a2be1 100644 --- a/dictionaries/library_stdtypes.txt +++ b/dictionaries/library_stdtypes.txt @@ -1,5 +1,6 @@ computacionalmente Cardinalidad +subindicando superconjunto superíndices unaria diff --git a/library/stdtypes.po b/library/stdtypes.po index 03251e6ec0..e6dcb13b08 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-20 19:58+0200\n" +"PO-Revision-Date: 2021-08-09 14:49-0500\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" +"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 3.0\n" #: ../Doc/library/stdtypes.rst:8 msgid "Built-in Types" @@ -343,7 +344,7 @@ msgstr "" "pero en algunos tipos de objetos (Como por ejemplo, las clases) es " "equivalente al operador :keyword:`is`. Los operadores ``<``, ``<=``, ``>`` y " "``>=`` solo están definidos cuando tienen sentido; por ejemplo, si uno de " -"los operadores es un número complejo, la comparación elevará una excepción " +"los operadores es un número complejo, la comparación lanzará una excepción " "de tipo :exc:`TypeError`." #: ../Doc/library/stdtypes.rst:180 @@ -376,7 +377,7 @@ msgid "" "exception." msgstr "" "El comportamiento de los operadores :keyword:`is` e :keyword:`is not` no se " -"puede personalizar; además, nunca elevan una excepción, no importa que dos " +"puede personalizar; además, nunca lanzarán una excepción, no importa que dos " "objetos se comparen." #: ../Doc/library/stdtypes.rst:197 @@ -709,13 +710,12 @@ msgstr "" "con la propiedad ``Nd``)." #: ../Doc/library/stdtypes.rst:355 -#, fuzzy msgid "" "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 " -"se puede consultar una lista completa de los puntos de código con la " +"En https://www.unicode.org/Public/13.0.0/ucd/extracted/DerivedNumericType." +"txt se puede consultar una lista completa de los puntos de código con la " "propiedad ``Nd``." #: ../Doc/library/stdtypes.rst:359 @@ -871,24 +871,22 @@ msgstr "invierte los bits de *x*" msgid "" "Negative shift counts are illegal and cause a :exc:`ValueError` to be raised." msgstr "" -"Los desplazamientos negativos son ilegales y elevan una excepción de tipo :" +"Los desplazamientos negativos son ilegales y lanzarán una excepción de tipo :" "exc:`ValeError`." #: ../Doc/library/stdtypes.rst:437 -#, fuzzy msgid "" "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." +"por ``pow(2, n)``." #: ../Doc/library/stdtypes.rst:440 -#, fuzzy msgid "" "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." +"Un desplazamiento de *n* bits a la derecha es equivalente a efectuar la " +"división de parte entera (floor) por ``pow(2, n)``." #: ../Doc/library/stdtypes.rst:443 msgid "" @@ -952,7 +950,7 @@ msgid "" "raised if the integer is not representable with the given number of bytes." msgstr "" "El número entero se representa usando el número de bits indicados con " -"*length*. Se elevará la excepción :exc:`OverflowError` si no se puede " +"*length*. Se lanzará la excepción :exc:`OverflowError` si no se puede " "representar el valor con ese número de bits." #: ../Doc/library/stdtypes.rst:499 ../Doc/library/stdtypes.rst:531 @@ -980,7 +978,7 @@ msgid "" msgstr "" "El parámetro *signed* determina si se usa el complemento a dos para " "representar los números enteros. Si *signed* es ``False``, y se usa un valor " -"entero negativo, se elevará la excepción :exc:`OverflowError`. El valor por " +"entero negativo, se lanzará la excepción :exc:`OverflowError`. El valor por " "defecto para *signed* es ``False``." #: ../Doc/library/stdtypes.rst:515 @@ -1036,7 +1034,7 @@ msgid "" msgstr "" "Retorna una pareja de números enteros cuya proporción es exactamente igual " "que la del valor en punto flotante original, con un denominador positivo. Si " -"se llama con valores infinitos eleva una excepción de tipo :exc:" +"se llama con valores infinitos lanza una excepción de tipo :exc:" "`OverflowError` y si se llama con *NaN* (*Not A Number*) eleva una excepción " "de tipo :exc:`ValueError`." @@ -1330,7 +1328,7 @@ msgid "" "objects in the Python/C API." msgstr "" "Retorna el siguiente elemento del contenedor. Si no hubiera más elementos, " -"eleva la excepción :exc:`StopIteration`. Este método se corresponde con el " +"lanza la excepción :exc:`StopIteration`. Este método se corresponde con el " "*slot* :c:member:`~PyTypeObject.tp_iternext` de la estructura usada para los " "objetos Python en la API Python/C." @@ -1352,7 +1350,7 @@ msgid "" "`StopIteration`, it must continue to do so on subsequent calls. " "Implementations that do not obey this property are deemed broken." msgstr "" -"Una vez que la ejecución del método :meth:`~iterator.__next__` eleva la " +"Una vez que la ejecución del método :meth:`~iterator.__next__` lanza la " "excepción :exc:`StopIteration`, debe continuar haciéndolo en subsiguientes " "llamadas al método. Si una implementación no cumple esto, se considera rota." @@ -1728,7 +1726,7 @@ msgid "" "without copying any data and with the returned index being relative to the " "start of the sequence rather than the start of the slice." msgstr "" -"El método ``index`` eleva la excepción :exc:`ValueError` si *x* no se " +"El método ``index`` lanza la excepción :exc:`ValueError` si *x* no se " "encuentra en *s*. No todas las implementaciones soportan los parámetros " "opcionales *i* y *j*. Estos parámetros permiten una búsqueda eficiente de " "partes de una secuencia. Usar estos parámetros es más o menos equivalente a " @@ -1943,7 +1941,7 @@ msgstr "" #: ../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 " +"El método :meth:`remove` lanza la excepción :exc:`ValueError` cuando no se " "encuentra *x* en *s*." # side effect ' efecto secundario? @@ -2159,7 +2157,7 @@ msgid "" msgstr "" "Mientras una lista está siendo ordenada, los efectos de intentar " "modificarla, o incluso examinarla, no están definidos. La implementación en " -"C de Python hace que la lista parezca vacía durante la ordenación, y eleva " +"C de Python hace que la lista parezca vacía durante la ordenación, y lanza " "una excepción del tipo :exc:`ValueError` si detecta un cambio en la lista " "durante el proceso de ordenación." @@ -2283,7 +2281,7 @@ msgstr "" "(O bien objetos de tipo :class:`int` o instancias de una clase que " "implemente el método especial ``__index__``). Si el parámetro *step* se " "omite, se asume el valor ``1``. Si se omite el parámetro ``start``, se toma " -"como ``0``. Si se intenta usar ``0`` como valor de ``step``, se eleva una " +"como ``0``. Si se intenta usar ``0`` como valor de ``step``, se lanza una " "excepción de tipo :exc:`ValueError`." #: ../Doc/library/stdtypes.rst:1283 @@ -2324,7 +2322,7 @@ msgid "" msgstr "" "Los rangos que contengan valores mayores que :data:`sys.maxsize` se " "permiten, pero algunas capacidades (como la función :func:`len`) pueden " -"elevar una excepción de tipo :exc:`OverflowError`." +"lanzar una excepción de tipo :exc:`OverflowError`." #: ../Doc/library/stdtypes.rst:1300 msgid "Range examples::" @@ -2738,7 +2736,7 @@ msgstr "" "Retorna una versión codificada en forma de bytes. La codificación por " "defecto es ``'utf-8'``. El parámetro *errors* permite especificar diferentes " "esquemas de gestión de errores. El valor por defecto de *errors* es " -"``'strict'``, que significa que cualquier error en la codificación eleva una " +"``'strict'``, que significa que cualquier error en la codificación lanza una " "excepción de tipo :exc:`UnicodeError`. Otros valores posibles son " "``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, ``'backslashreplace'`` " "y cualquier otro nombre que se haya registrado mediante la función :func:" @@ -2752,6 +2750,10 @@ msgid "" "only used at the first encoding error. Enable the :ref:`Python Development " "Mode `, or use a debug build to check *errors*." msgstr "" +"Por defecto, el argumento *errors* no se verifica para mejor rendimiento, " +"solo se usa con el primer error de codificación encontrado. Se puede " +"habilitar el :ref:`Modo de Desarrollo de Python `, o utilizar una " +"construcción de depuración para verificar *errors*." #: ../Doc/library/stdtypes.rst:1565 msgid "Support for keyword arguments added." @@ -2760,6 +2762,8 @@ msgstr "Añade soporte para el uso de parámetros por nombre." #: ../Doc/library/stdtypes.rst:1568 ../Doc/library/stdtypes.rst:2703 msgid "The *errors* is now checked in development mode and in debug mode." msgstr "" +"El argumento *errors* ahora se verifica en modo de desarrollo y en modo de " +"depuración." #: ../Doc/library/stdtypes.rst:1574 msgid "" @@ -2892,7 +2896,7 @@ msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." msgstr "" -"Como :meth:`~str.find`, pero eleva una excepción de tipo :exc:`ValueError` " +"Como :meth:`~str.find`, pero lanza una excepción de tipo :exc:`ValueError` " "si no se encuentra la cadena a buscar." #: ../Doc/library/stdtypes.rst:1672 @@ -3083,7 +3087,7 @@ msgid "" "elements is the string providing this method." msgstr "" "Retorna una cadena de caracteres formada por la concatenación de las cadenas " -"en el *iterable*. Se eleva una excepción de tipo :exc:`TypeError` si alguno " +"en el *iterable*. Se lanza una excepción de tipo :exc:`TypeError` si alguno " "de los elementos en el *iterable* no es una cadena, incluyendo objetos de " "tipo :class:`bytes`. Se usa como separador entre los elementos la cadena de " "caracteres pasada como parámetro." @@ -3135,6 +3139,9 @@ 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 "" +"Véase :meth:`str.removeprefix` para un método que removerá una única cadena " +"de prefijo en lugar de todas las ocurrencias dentro de un set de caracteres. " +"Por ejemplo::" #: ../Doc/library/stdtypes.rst:1843 msgid "" @@ -3186,6 +3193,9 @@ msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string::" msgstr "" +"Si la cadena de caracteres empieza con la cadena *prefix*, retorna " +"``string[len(prefix):]``. De otra manera, retorna una copia de la cadena " +"original::" #: ../Doc/library/stdtypes.rst:1880 msgid "" @@ -3193,6 +3203,9 @@ msgid "" "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " "string::" msgstr "" +"Si la cadena de caracteres termina con la cadena *suffix*, retorna " +"``string[:-len(suffix)]``. De otra manera, retorna una copia de la cadena " +"original::" #: ../Doc/library/stdtypes.rst:1894 msgid "" @@ -3220,7 +3233,7 @@ msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." msgstr "" -"Como el método :meth:`rfind`, pero eleva la excepción :exc:`ValueError` si " +"Como el método :meth:`rfind`, pero lanza la excepción :exc:`ValueError` si " "no se encuentra la cadena *sub*." #: ../Doc/library/stdtypes.rst:1914 @@ -3283,6 +3296,9 @@ 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 "" +"Véase :meth:`str.removesuffix` para un método que removerá una única cadena " +"de sufijo en lugar de de todas las ocurrencias dentro de un set de " +"caracteres. Por ejemplo::" #: ../Doc/library/stdtypes.rst:1958 msgid "" @@ -3577,7 +3593,7 @@ msgstr "" "siguientes cosas: retornar otro código Unicode o retornar una cadena de " "caracteres, de forma que se usaran uno u otro como reemplazo en la cadena de " "salida; retornar ``None`` para eliminar el carácter en la cadena de salida, " -"o elevar una excepción de tipo :exc:`LookupError`, que hará que el carácter " +"o lanzar 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:2142 @@ -4564,13 +4580,15 @@ msgid "" "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " "data::" msgstr "" +"Si los datos binarios comienzan con la cadena *prefix*, retorna " +"``bytes[len(prefix):]``. De otra manera, retorna una copia de los datos " +"binarios originales::" #: ../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 `." +"El argumento *prefix* puede ser cualquier :term:`objeto tipo binario `." # La traduccion de in place #: ../Doc/library/stdtypes.rst:2651 ../Doc/library/stdtypes.rst:2673 @@ -4596,13 +4614,15 @@ msgid "" "empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " "original binary data::" msgstr "" +"Si los datos binarios terminan con la cadena expresada en *suffix* y el " +"argumento *suffix* no está vacío, retorna ``bytes[:-len(suffix)]``. De otra " +"manera, retorna una copia de los datos binarios originales::" #: ../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 `." +"El argumento *suffix* puede ser cualquier :term:`objeto tipo binario `." # Hay que ver si estas referencias se han traducido #: ../Doc/library/stdtypes.rst:2682 @@ -4619,7 +4639,7 @@ msgstr "" "bytes. La codificación por defecto es ``'utf-8'``. El parámetro *errors* " "puede definir diferentes estrategias de gestión de errores. El valor por " "defecto de *errors* es ``'strict'``, que hace que cualquier error de la " -"decodificación eleva una excepción de tipo :exc:`UnicodeError`. Otros " +"decodificación lanza una excepción de tipo :exc:`UnicodeError`. Otros " "valores posibles son``'ignore'``, ``'replace'`` y cualquier otro nombre " "definido mediante la función :func:`codecs.register_error`, véase la " "sección :ref:`error-handlers`. Para un listado de todos los valores de " @@ -4631,6 +4651,10 @@ msgid "" "only used at the first decoding error. Enable the :ref:`Python Development " "Mode `, or use a debug build to check *errors*." msgstr "" +"Por defecto, el argumento *errors* no se verifica para mejor rendimiento, " +"solo se usa con el primer error de codificación encontrado. Se puede " +"habilitar el :ref:`Modo de Desarrollo de Python `, o utilizar una " +"construcción de depuración para verificar *errors*." #: ../Doc/library/stdtypes.rst:2696 msgid "" @@ -4693,7 +4717,7 @@ msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." msgstr "" -"Como :meth:`~bytes.find`, pero eleva una excepción de tipo :exc:`ValueError` " +"Como :meth:`~bytes.find`, pero lanza una excepción de tipo :exc:`ValueError` " "si no se encuentra la subsecuencia a buscar." #: ../Doc/library/stdtypes.rst:2758 @@ -4707,7 +4731,7 @@ msgid "" msgstr "" "Retorna un objeto de tipo *bytes* o *bytearray* que es la concatenación de " "las secuencias binarias en *iterable*. Si alguno de los objetos de la " -"secuencia no es un :term:`objeto tipo binario ` se eleva " +"secuencia no es un :term:`objeto tipo binario ` se lanza " "la excepción :exc:`TypeError`, incluso si son cadenas de caracteres " "(objetos :class:`str`). El separador entre los distintos elementos es el " "contenido del objeto *bytes* o *bytearray* usando para invocar el método." @@ -4780,7 +4804,7 @@ msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." msgstr "" -"Como el método :meth:`~bytes.rfind`, pero eleva la excepción :exc:" +"Como el método :meth:`~bytes.rfind`, pero lanza la excepción :exc:" "`ValueError` si no se encuentra *sub*." #: ../Doc/library/stdtypes.rst:2837 @@ -4913,6 +4937,11 @@ msgid "" "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 que especifica el conjunto bytes a ser eliminados puede " +"ser cualquier :term:`objeto de tipo binario`. Véase :meth:" +"`~bytes.removeprefix` para un método que removerá una única cadena de " +"prefijo en lugar de de todas las ocurrencias dentro de un set de caracteres. " +"Por ejemplo::" #: ../Doc/library/stdtypes.rst:2947 msgid "" @@ -4968,6 +4997,11 @@ msgid "" "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 "" +"La secuencia binaria que especifica el conjunto bytes a ser eliminados puede " +"ser cualquier :term:`objeto de tipo binario`. Véase :meth:" +"`~bytes.removesuffix` para un método que removerá una única cadena de sufijo " +"en lugar de de todas las ocurrencias dentro de un set de caracteres. Por " +"ejemplo::" #: ../Doc/library/stdtypes.rst:3003 msgid "" @@ -5408,9 +5442,8 @@ 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:3599 -#, python-format msgid ":pep:`461` - Adding % formatting to bytes and bytearray" -msgstr ":pep:`461` - Añadir formateo usando % con bytes y *bytearray*" +msgstr ":pep:`461` - Añadir formato usando % con bytes y *bytearray*" #: ../Doc/library/stdtypes.rst:3606 msgid "Memory Views" @@ -5686,7 +5719,7 @@ msgid "" "multiple times)::" msgstr "" "Después de que se ha llamado a este método, cualquier operación posterior " -"sobre la vista producirá una excepción de tipo :class:`ValueError` (Excepto " +"sobre la vista lanzará una excepción de tipo :class:`ValueError` (Excepto " "por el propio método :meth:`release()`, que puede ser llamado las veces que " "se quiera)::" @@ -5928,27 +5961,30 @@ msgstr "" "conjunto vacío." #: ../Doc/library/stdtypes.rst:4122 -#, fuzzy msgid "Sets can be created by several means:" -msgstr "Las listas se pueden construir de diferentes formas:" +msgstr "Los conjuntos (*sets*) se pueden construir de diferentes formas:" #: ../Doc/library/stdtypes.rst:4124 msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" +"Usando una lista de elementos separados por coma entre corchetes: ``{'jack', " +"'sjoerd'}``" #: ../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]``" +"Usando un *set comprehention*: ``{c for c in 'abracadabra' if c not in 'abc'}" +"``" #: ../Doc/library/stdtypes.rst:4126 msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " "'foo'])``" msgstr "" +"Usando un constructor de tipo: ``set()``, ``set('foobar')``, ``set(['a', " +"'b', 'foo'])``" #: ../Doc/library/stdtypes.rst:4128 msgid "" @@ -6158,7 +6194,7 @@ msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." msgstr "" -"Elimina del conjunto el elemento *elem*. Eleva la excepción :exc:`KeyError` " +"Elimina del conjunto el elemento *elem*. Lanza la excepción :exc:`KeyError` " "si *elem* no estaba incluido en el conjunto." #: ../Doc/library/stdtypes.rst:4259 @@ -6170,7 +6206,7 @@ msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." msgstr "" -"Elimina y retorna un elemento cualquiera del conjunto. Eleva la excepción :" +"Elimina y retorna un elemento cualquiera del conjunto. Lanza la excepción :" "exc:`KeyError` si el conjunto estaba vacío." #: ../Doc/library/stdtypes.rst:4268 @@ -6258,32 +6294,30 @@ msgstr "" "posición, y por una serie de parámetros por nombre, también opcionales." #: ../Doc/library/stdtypes.rst:4320 -#, fuzzy msgid "Dictionaries can be created by several means:" -msgstr "Las listas se pueden construir de diferentes formas:" +msgstr "Los diccionarios 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`." +"Usando una lista separada por comas de pares ``key: value`` entre llaves:" +"``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" #: ../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]``" +"Usando una comprensión de diccionario: ``{}``, ``{x: x ** 2 for x in " +"range(10)}``" #: ../Doc/library/stdtypes.rst:4325 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" msgstr "" +"Usando un constructor de tipo: ``dict()``, ``dict([('foo', 100), ('bar', " +"200)])``, ``dict(foo=100, bar=200)``" #: ../Doc/library/stdtypes.rst:4328 msgid "" @@ -6356,7 +6390,7 @@ msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." msgstr "" -"Retorna el elemento dentro de *d* almacenado bajo la clave *key*. Eleva una " +"Retorna el elemento dentro de *d* almacenado bajo la clave *key*. Lanza una " "excepción de tipo :exc:`KeyError` si la clave *key* no se encuentra en el " "diccionario *d*." @@ -6373,7 +6407,7 @@ msgstr "" "Si una subclase de un diccionario define el método :meth:`__missing__` y " "*key* no está presente, la operación ``d[key]`` llama a este método pasando " "como parámetro el valor de *key*. La operación ``d[key]`` o bien retorna un " -"valor o eleva la excepción que sea retornada por la llamada a " +"valor o lanza la excepción que sea retornada por la llamada a " "``__missing__(key)``. Ninguna otra operación o método llama a :meth:" "`__missing__`. Si el método :meth:`__missing__` no está definido, se eleva :" "exc:`KeyError`. Si se define :meth:`__missing__`, debe ser de forma " @@ -6398,7 +6432,7 @@ msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." msgstr "" -"Elimina ``d[key]`` de *d*. Eleva una excepción :exc:`KeyError` si *key* no " +"Elimina ``d[key]`` de *d*. Lanza una excepción :exc:`KeyError` si *key* no " "está en el mapa." #: ../Doc/library/stdtypes.rst:4410 @@ -6457,7 +6491,7 @@ msgid "" msgstr "" "Retorna el elemento dentro de *d* almacenado bajo la clave *key*, si *key* " "está en el diccionario; si no, retorna *default*. El valor de *default* por " -"defecto es ``None``, por lo que esta función nunca eleva la excepción :exc:" +"defecto es ``None``, por lo que esta función nunca lanza la excepción :exc:" "`KeyError`." #: ../Doc/library/stdtypes.rst:4447 @@ -6484,7 +6518,7 @@ msgid "" msgstr "" "Si *key* está en el diccionario, lo elimina del diccionario y retorna su " "valor; si no está, retorna *default*. Si no se especifica valor para " -"*default* y la clave no se encuentra en el diccionario, se eleva la " +"*default* y la clave no se encuentra en el diccionario, se lanza la " "excepción :exc:`KeyError`." #: ../Doc/library/stdtypes.rst:4463 @@ -6504,7 +6538,7 @@ msgid "" msgstr "" "El método :meth:`popitem` es útil para recorrer y a la vez vaciar un " "diccionario, un proceso usado a menudo en algoritmos de conjuntos. Si el " -"diccionario está vacío, llamar a :meth:`popitem` eleva la excepción :exc:" +"diccionario está vacío, llamar a :meth:`popitem` lanza la excepción :exc:" "`KeyError`." #: ../Doc/library/stdtypes.rst:4470 @@ -6577,6 +6611,9 @@ msgid "" "which must both be dictionaries. The values of *other* take priority when " "*d* and *other* share keys." msgstr "" +"Crea un nuevo diccionario con las claves y valores fusionados de *d* y " +"*other*, por lo cual ambos deben ser diccionarios. Los valores de *other* " +"tienen prioridad cuando *d* y *other* tienen claves compartidas." #: ../Doc/library/stdtypes.rst:4520 msgid "" @@ -6584,6 +6621,10 @@ msgid "" "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 "" +"Actualiza el diccionario *d* con las claves y valores de *other*, el cual " +"podría ser ya sea un a :term:`mapping` o un :term:`iterable` de pares clave/" +"valor. Los valores de *other* tienen prioridad cuando *d* y *other* tienen " +"claves compartidas." #: ../Doc/library/stdtypes.rst:4526 msgid "" @@ -6593,7 +6634,7 @@ msgid "" msgstr "" "Los diccionarios se consideran iguales si y solo si tienen el mismo conjunto " "de parejas ``(key, value)`` (Independiente de su orden). Los intentos de " -"comparar usando los operadores '<', '<=', '>=', '>' elevan una excepción de " +"comparar usando los operadores '<', '<=', '>=', '>' lanzan una excepción de " "tipo :exc:`TypeError`." #: ../Doc/library/stdtypes.rst:4530 @@ -6686,7 +6727,7 @@ msgid "" "a :exc:`RuntimeError` or fail to iterate over all entries." msgstr "" "Iterar sobre un diccionario a la vez que se borran o añaden entradas puede " -"elevar una excepción de tipo :exc:`RuntimeError`, o puede provocar que no se " +"lanzar una excepción de tipo :exc:`RuntimeError`, o puede provocar que no se " "iteren sobre todas las entradas." #: ../Doc/library/stdtypes.rst:4603 @@ -6835,7 +6876,7 @@ msgid "" "context management code to easily detect whether or not an :meth:`__exit__` " "method has actually failed." msgstr "" -"La excepción pasada nunca debe volver a elevarse explícitamente; en vez de " +"La excepción pasada nunca debe volver a lanzarse explícitamente; en vez de " "eso, el método debería retornar un valor falso para indicar que el método ha " "terminado de ejecutarse sin problemas y que no se desea suprimir la " "excepción. Esto permite a los gestores de contexto detectar fácilmente si el " @@ -6888,7 +6929,7 @@ msgstr "" #: ../Doc/library/stdtypes.rst:4737 msgid "Generic Alias Type" -msgstr "" +msgstr "Tipo Alias Genérico" #: ../Doc/library/stdtypes.rst:4743 msgid "" @@ -6896,6 +6937,9 @@ msgid "" "container), such as ``list[int]``. They are intended primarily for :term:" "`type annotations `." msgstr "" +"Los objetos ``GenericAlias`` se crean subindicando una clase (usualmente un " +"contenedor), como ``list[int]``. Están destinados principalmente como :term:" +"`anotaciones de tipo `." #: ../Doc/library/stdtypes.rst:4747 msgid "" @@ -6905,6 +6949,11 @@ msgid "" "of the class instead. The classmethod :meth:`__class_getitem__` should " "return a ``GenericAlias`` object." msgstr "" +"Usualmente, la :ref:`suscripción ` de objetos de contenedores " +"llama al método :meth:`__getitem__` del objeto. Sin embargo, la suscripción " +"de algunas clases de contenedores podrían llamar al método de clase :meth:" +"`__class_getitem__` en su lugar. El método de clase :meth:" +"`__class_getitem__` debe devolver un objeto ``GenericAlias``." #: ../Doc/library/stdtypes.rst:4754 msgid "" @@ -6912,6 +6961,9 @@ msgid "" "precedence over the :meth:`__class_getitem__` defined in the class (see :pep:" "`560` for more details)." msgstr "" +"Si el método :meth:`__getitem__` de la metaclase de la clase está presente, " +"este tendrá prioridad sobre :meth:`__class_getitem__` definido en la clase " +"(véase :pep:`560` para más detalles)." #: ../Doc/library/stdtypes.rst:4758 msgid "" @@ -6919,6 +6971,9 @@ msgid "" "`, implementing *parameterized generics* - a specific instance " "of a generic which provides the types for container elements." msgstr "" +"El objeto ``GenericAlias`` actúa como *proxy* para :term:`tipo genérico " +"`, implementando *parametrized generics* -una instancia " +"específica de genérico que provee tipos para contenedores de elementos." #: ../Doc/library/stdtypes.rst:4762 msgid "" @@ -6926,6 +6981,10 @@ msgid "" "class:`types.GenericAlias` and used for :func:`isinstance` checks. It can " "also be used to create ``GenericAlias`` objects directly." msgstr "" +"El tipo expuesto por el usuario para el objeto ``GenericAlias`` puede ser " +"accedido desde :class:`types.GenericAlias` y usado por chequeos :func:" +"`isinstance`. También puede ser usado para crear objetos ``GenericAlias`` " +"directamente." #: ../Doc/library/stdtypes.rst:4768 msgid "" @@ -6933,6 +6992,9 @@ msgid "" "types *X*, *Y*, and more depending on the ``T`` used. For example, a " "function expecting a :class:`list` containing :class:`float` elements::" msgstr "" +"Crea un ``GenericAlias`` representando un tipo ``T`` que contiene elementos " +"de tipos *X*, *Y*, y más dependiendo del tipo ``T`` usado. Por ejemplo, una " +"función que espera una :class:`list` que contiene elementos :class:`float`::" #: ../Doc/library/stdtypes.rst:4776 msgid "" @@ -6941,12 +7003,18 @@ msgid "" "the value type. In this example, the function expects a ``dict`` with keys " "of type :class:`str` and values of type :class:`int`::" msgstr "" +"Otro ejemplo para el :term:`mapping` de objetos, usando un :class:`dict`, el " +"cual es un tipo genérico que espera dos parámetros de tipo que representan " +"el tipo de la clave y el tipo del valor. En este ejemplo, la función espera " +"un ``dict`` con claves de tipo :class:`str` y valores de tipo :class:`int`::" #: ../Doc/library/stdtypes.rst:4784 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" msgstr "" +"Las funciones integradas :func:`isinstance` y :func:`issubclass` no aceptan " +"tipos ``GenericAlias`` como segundo argumento::" #: ../Doc/library/stdtypes.rst:4792 msgid "" @@ -6956,24 +7024,35 @@ msgid "" "their type. For example, the following code is discouraged, but will run " "without errors::" msgstr "" +"Python en tiempo de ejecución no hace cumplir las :term:`anotaciones de tipo " +"`. Esto se extiende para tipos genéricos y sus parámetros. " +"Cuando se crea un objeto desde un ``GenericAlias``, los elementos del " +"contenedor no se verifican con su tipo. Por ejemplo, el siguiente código no " +"es recomendado en lo absoluto, pero correrá sin errores::" #: ../Doc/library/stdtypes.rst:4802 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" msgstr "" +"Además, los tipos de los parámetros de tipos genéricos se borran durante la " +"creación de objetos::" #: ../Doc/library/stdtypes.rst:4813 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" msgstr "" +"Llamando a :func:`repr` o :func:`str` en un genérico se muestra el tipo " +"parametrizado::" #: ../Doc/library/stdtypes.rst:4821 msgid "" "The :meth:`__getitem__` method of generics will raise an exception to " "disallow mistakes like ``dict[str][str]``::" msgstr "" +"El método :meth:`__getitem__` de tipos genéricos lanzarán una excepción para " +"rechazar los errores como ``dict[str][str]``::" #: ../Doc/library/stdtypes.rst:4829 msgid "" @@ -6982,203 +7061,216 @@ msgid "" "items in the ``GenericAlias`` object's :attr:`__args__ `. ::" msgstr "" +"Sin embargo, estas expresiones son válidas cuando se usa :ref:`variables de " +"tipo `. El índice debe tener tantos elementos como los elementos " +"de variable de tipo que hayan en los :attr:`__args__ `. :: del objeto ``GenericAlias``::" #: ../Doc/library/stdtypes.rst:4840 msgid "Standard Generic Collections" -msgstr "" +msgstr "Colecciones de Genéricos Estándar" #: ../Doc/library/stdtypes.rst:4842 msgid "These standard library collections support parameterized generics." msgstr "" +"Esta librería de colecciones estándar soporta genéricos parametrizados." #: ../Doc/library/stdtypes.rst:4844 msgid ":class:`tuple`" -msgstr "" +msgstr ":class:`tuple`" #: ../Doc/library/stdtypes.rst:4845 msgid ":class:`list`" -msgstr "" +msgstr ":class:`list`" #: ../Doc/library/stdtypes.rst:4846 msgid ":class:`dict`" -msgstr "" +msgstr ":class:`dict`" #: ../Doc/library/stdtypes.rst:4847 msgid ":class:`set`" -msgstr "" +msgstr ":class:`set`" #: ../Doc/library/stdtypes.rst:4848 msgid ":class:`frozenset`" -msgstr "" +msgstr ":class:`frozenset`" #: ../Doc/library/stdtypes.rst:4849 msgid ":class:`type`" -msgstr "" +msgstr ":class:`type`" #: ../Doc/library/stdtypes.rst:4850 msgid ":class:`collections.deque`" -msgstr "" +msgstr ":class:`collections.deque`" #: ../Doc/library/stdtypes.rst:4851 msgid ":class:`collections.defaultdict`" -msgstr "" +msgstr ":class:`collections.defaultdict`" #: ../Doc/library/stdtypes.rst:4852 msgid ":class:`collections.OrderedDict`" -msgstr "" +msgstr ":class:`collections.OrderedDict`" #: ../Doc/library/stdtypes.rst:4853 msgid ":class:`collections.Counter`" -msgstr "" +msgstr ":class:`collections.Counter`" #: ../Doc/library/stdtypes.rst:4854 msgid ":class:`collections.ChainMap`" -msgstr "" +msgstr ":class:`collections.ChainMap`" #: ../Doc/library/stdtypes.rst:4855 msgid ":class:`collections.abc.Awaitable`" -msgstr "" +msgstr ":class:`collections.abc.Awaitable`" #: ../Doc/library/stdtypes.rst:4856 msgid ":class:`collections.abc.Coroutine`" -msgstr "" +msgstr ":class:`collections.abc.Coroutine`" #: ../Doc/library/stdtypes.rst:4857 msgid ":class:`collections.abc.AsyncIterable`" -msgstr "" +msgstr ":class:`collections.abc.AsyncIterable`" #: ../Doc/library/stdtypes.rst:4858 msgid ":class:`collections.abc.AsyncIterator`" -msgstr "" +msgstr ":class:`collections.abc.AsyncIterator`" #: ../Doc/library/stdtypes.rst:4859 msgid ":class:`collections.abc.AsyncGenerator`" -msgstr "" +msgstr ":class:`collections.abc.AsyncGenerator`" #: ../Doc/library/stdtypes.rst:4860 msgid ":class:`collections.abc.Iterable`" -msgstr "" +msgstr ":class:`collections.abc.Iterable`" #: ../Doc/library/stdtypes.rst:4861 msgid ":class:`collections.abc.Iterator`" -msgstr "" +msgstr ":class:`collections.abc.Iterator`" #: ../Doc/library/stdtypes.rst:4862 msgid ":class:`collections.abc.Generator`" -msgstr "" +msgstr ":class:`collections.abc.Generator`" #: ../Doc/library/stdtypes.rst:4863 msgid ":class:`collections.abc.Reversible`" -msgstr "" +msgstr ":class:`collections.abc.Reversible`" #: ../Doc/library/stdtypes.rst:4864 msgid ":class:`collections.abc.Container`" -msgstr "" +msgstr ":class:`collections.abc.Container`" #: ../Doc/library/stdtypes.rst:4865 msgid ":class:`collections.abc.Collection`" -msgstr "" +msgstr ":class:`collections.abc.Collection`" #: ../Doc/library/stdtypes.rst:4866 msgid ":class:`collections.abc.Callable`" -msgstr "" +msgstr ":class:`collections.abc.Callable`" #: ../Doc/library/stdtypes.rst:4867 msgid ":class:`collections.abc.Set`" -msgstr "" +msgstr ":class:`collections.abc.Set`" #: ../Doc/library/stdtypes.rst:4868 msgid ":class:`collections.abc.MutableSet`" -msgstr "" +msgstr ":class:`collections.abc.MutableSet`" #: ../Doc/library/stdtypes.rst:4869 msgid ":class:`collections.abc.Mapping`" -msgstr "" +msgstr ":class:`collections.abc.Mapping`" #: ../Doc/library/stdtypes.rst:4870 msgid ":class:`collections.abc.MutableMapping`" -msgstr "" +msgstr ":class:`collections.abc.MutableMapping`" #: ../Doc/library/stdtypes.rst:4871 msgid ":class:`collections.abc.Sequence`" -msgstr "" +msgstr ":class:`collections.abc.Sequence`" #: ../Doc/library/stdtypes.rst:4872 msgid ":class:`collections.abc.MutableSequence`" -msgstr "" +msgstr ":class:`collections.abc.MutableSequence`" #: ../Doc/library/stdtypes.rst:4873 msgid ":class:`collections.abc.ByteString`" -msgstr "" +msgstr ":class:`collections.abc.ByteString`" #: ../Doc/library/stdtypes.rst:4874 msgid ":class:`collections.abc.MappingView`" -msgstr "" +msgstr ":class:`collections.abc.MappingView`" #: ../Doc/library/stdtypes.rst:4875 msgid ":class:`collections.abc.KeysView`" -msgstr "" +msgstr ":class:`collections.abc.KeysView`" #: ../Doc/library/stdtypes.rst:4876 msgid ":class:`collections.abc.ItemsView`" -msgstr "" +msgstr ":class:`collections.abc.ItemsView`" #: ../Doc/library/stdtypes.rst:4877 msgid ":class:`collections.abc.ValuesView`" -msgstr "" +msgstr ":class:`collections.abc.ValuesView`" #: ../Doc/library/stdtypes.rst:4878 msgid ":class:`contextlib.AbstractContextManager`" -msgstr "" +msgstr ":class:`contextlib.AbstractContextManager`" #: ../Doc/library/stdtypes.rst:4879 msgid ":class:`contextlib.AbstractAsyncContextManager`" -msgstr "" +msgstr ":class:`contextlib.AbstractAsyncContextManager`" #: ../Doc/library/stdtypes.rst:4880 msgid ":ref:`re.Pattern `" -msgstr "" +msgstr ":ref:`re.Pattern `" #: ../Doc/library/stdtypes.rst:4881 msgid ":ref:`re.Match `" -msgstr "" +msgstr ":ref:`re.Match `" #: ../Doc/library/stdtypes.rst:4885 -#, fuzzy msgid "Special Attributes of Generic Alias" -msgstr "Atributos especiales" +msgstr "Atributos especiales de Alias Genérico" #: ../Doc/library/stdtypes.rst:4887 msgid "All parameterized generics implement special read-only attributes." msgstr "" +"Todos los genéricos parametrizados implementan atributos especiales de solo " +"lectura." #: ../Doc/library/stdtypes.rst:4891 msgid "This attribute points at the non-parameterized generic class::" -msgstr "" +msgstr "Este atributo apunta a la clase genérica no parametrizada::" #: ../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 "" +"Este atributo es un :class:`tuple` (posiblemente de longitud 1) de tipos " +"genéricos pasados al método original :meth:`__class_getitem__` de un " +"contenedor genérico::" #: ../Doc/library/stdtypes.rst:4909 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" msgstr "" +"Este atributo es una tupla (posiblemente vacía) computada perezosamente con " +"las variables de tipo únicas encontradas en ``__args__``::" #: ../Doc/library/stdtypes.rst:4921 msgid ":pep:`585` -- \"Type Hinting Generics In Standard Collections\"" msgstr "" +":pep:`585` -- \"Sugerencias de tipo genéricas en las Colecciones Estándar\"" #: ../Doc/library/stdtypes.rst:4922 msgid ":meth:`__class_getitem__` -- Used to implement parameterized generics." msgstr "" +":meth:`__class_getitem__` -- Usado para implementar genéricos parametrizados." #: ../Doc/library/stdtypes.rst:4923 msgid ":ref:`generics` -- Generics in the :mod:`typing` module." -msgstr "" +msgstr ":ref:`generics` -- Genéricos en el módulo :mod:`typing`." #: ../Doc/library/stdtypes.rst:4931 msgid "Other Built-in Types" @@ -7329,7 +7421,7 @@ msgstr "" "soportan asignación de atributos arbitrarios. Sin embargo, como los " "atributos de los métodos se almacenan en la función subyacente (``meth." "__func__``), definir cualquier atributo en métodos ligados está " -"desaconsejado. Intentar asignar un atributo a un método produce que se eleve " +"desaconsejado. Intentar asignar un atributo a un método produce que se lance " "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::" @@ -7554,7 +7646,6 @@ msgstr "" "`~class.__mro__`." #: ../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. The list is " @@ -7562,7 +7653,8 @@ msgid "" 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::" +"referencias que todavía estén vivas. La lista está en orden de definición. " +"Por ejemplo::" #: ../Doc/library/stdtypes.rst:5207 msgid "Footnotes" From 2d853f99fe1fe2513a399cb62884d18fb7f2ba52 Mon Sep 17 00:00:00 2001 From: Rodriguez Juan <73370773+Juerodriguez@users.noreply.github.com> Date: Mon, 16 Aug 2021 08:37:49 -0300 Subject: [PATCH 48/94] Traduccion de whatsnew/2.7 al 31% (#1219) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- dictionaries/whatsnew_2.7.txt | 10 +++ whatsnew/2.7.po | 131 ++++++++++++++++++++++++++++++++-- 2 files changed, 135 insertions(+), 6 deletions(-) diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index 16b22a95f7..a997fb3ebc 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -3,6 +3,13 @@ Kuchling subsistemas syslogging Travis +Hatch +Belchenko +George +Meador +Inge +Löwis +Martin amk warnings simplefilter @@ -11,3 +18,6 @@ values items Oliphant reinsertándola +suncc +Sakkis +Lingard \ No newline at end of file diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 5e6ab30f33..d39fba028a 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-12-16 18:23-0300\n" +"PO-Revision-Date: 2021-03-23 18:50-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1070,12 +1070,21 @@ msgid "" "code is being used by checking :data:`sys.float_repr_style`, which will be " "``short`` if the new code is in use and ``legacy`` if it isn't." msgstr "" +"La biblioteca de redondeo responsable de esta mejora funciona en Windows y " +"en plataformas Unix utilizando los compiladores gcc, icc o suncc. Puede " +"haber un pequeño número de plataformas donde no se puede garantizar el " +"correcto funcionamiento de este código, por lo que el código no se utiliza " +"en dichos sistemas. Puede averiguar qué código se está utilizando marcando :" +"data:`sys.float_repr_style`, que será ``short`` si el nuevo código está en " +"uso y ``legacy`` si no lo está." #: ../Doc/whatsnew/2.7.rst:757 msgid "" "Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa." "c` library; :issue:`7117`." msgstr "" +"Implementado por Eric Smith y Mark Dickinson, utilizando la biblioteca de " +"David Gay's :file:`dtoa.c`; :issue:`7117`." #: ../Doc/whatsnew/2.7.rst:760 msgid "" @@ -1086,22 +1095,32 @@ msgid "" "2.7 now approximates more closely. For example, Python 2.6 computed the " "following::" msgstr "" +"Las conversiones de enteros largos y enteros normales a punto flotante ahora " +"redondean de forma diferente, devolviendo el número de punto flotante más " +"cercano al número. Esto no importa para los enteros pequeños que se pueden " +"convertir exactamente, pero para los números grandes que inevitablemente " +"perderán precisión, Python 2.7 ahora se aproxima más de cerca. Por ejemplo, " +"Python 2.6 calculó lo siguiente::" #: ../Doc/whatsnew/2.7.rst:773 msgid "" "Python 2.7's floating-point result is larger, but much closer to the true " "value::" msgstr "" +"El resultado de punto flotante de Python 2.7 es mayor, pero mucho más cerca " +"del valor verdadero::" #: ../Doc/whatsnew/2.7.rst:782 msgid "(Implemented by Mark Dickinson; :issue:`3166`.)" -msgstr "" +msgstr "(Implementado por Mark Dickinson; :issue:`3166`.)" #: ../Doc/whatsnew/2.7.rst:784 msgid "" "Integer division is also more accurate in its rounding behaviours. (Also " "implemented by Mark Dickinson; :issue:`1811`.)" msgstr "" +"La división de enteros también es más precisa en sus comportamientos de " +"redondeo. (También implementado por Mark Dickinson; :issue:`1811`.)" #: ../Doc/whatsnew/2.7.rst:787 msgid "" @@ -1109,6 +1128,9 @@ msgid "" "no longer ever attempt to call a :meth:`__coerce__` method on complex " "objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" msgstr "" +"Se ha eliminado la coerción implícita para números complejos; el intérprete " +"ya no intentará llamar a un método :meth:`__coerce__` en objetos complejos. " +"(Eliminado por Meador Inge y Mark Dickinson; :issue:`5211`.)" #: ../Doc/whatsnew/2.7.rst:791 #, python-format @@ -1117,6 +1139,9 @@ msgid "" "replacement fields. This makes using :meth:`str.format` more closely " "resemble using ``%s`` formatting::" msgstr "" +"El método :meth:`str.format` ahora admite la numeración automática de los " +"campos de reemplazo. Esto hace que el uso de :meth:`str.format` se parezca " +"más al uso del formato ``%s``::" #: ../Doc/whatsnew/2.7.rst:800 msgid "" @@ -1127,6 +1152,13 @@ msgid "" "fields or none of them -- but you can mix auto-numbering and named fields, " "as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" msgstr "" +"La numeración automática toma los campos de izquierda a derecha, por lo que " +"el primer especificador ``{...}`` usará el primer argumento a :meth:`str." +"format`, el siguiente especificador usará el siguiente argumento, y así " +"sucesivamente. No puede mezclar la numeración automática y la numeración " +"explícita -- o numeran todos los campos especificados o ninguno de ellos -- " +"pero puede mezclar la numeración automática y los campos con nombre, como en " +"el segundo ejemplo anterior. (Contribuido por Eric Smith; :issue:`5237`.)" #: ../Doc/whatsnew/2.7.rst:807 msgid "" @@ -1136,6 +1168,12 @@ msgid "" "width and alignment is applied to the whole of the resulting ``1.5+3j`` " "output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" msgstr "" +"Los números complejos ahora admiten correctamente el uso con :func:`format` " +"y, por defecto, están alineados a la derecha. Especificar una precisión o " +"separación de comas se aplica a las partes reales e imaginarias del número, " +"pero un ancho de campo y una alineación especificados se aplica a la " +"totalidad de la salida ''1.5+3j'' resultante. (Contribuido por Eric Smith; :" +"issue:`1588` y :issue:`7988`.)" #: ../Doc/whatsnew/2.7.rst:814 msgid "" @@ -1143,6 +1181,9 @@ msgid "" "characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " "Smith; :issue:`3382`.)" msgstr "" +"El código de formato 'F' ahora siempre da formato a su salida utilizando " +"caracteres en mayúsculas, por lo que ahora producirá 'INF' y 'NAN'. " +"(Contribuido por Eric Smith; :issue:`3382`.)" #: ../Doc/whatsnew/2.7.rst:818 msgid "" @@ -1155,16 +1196,28 @@ msgid "" "alignment or precision, presumably you're expecting the formatting to be " "applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" msgstr "" +"Un cambio de bajo nivel: el método :meth:`object.__format__` ahora " +"desencadena un :exc:`PendingDeprecationWarning` si se pasa una cadena de " +"formato, porque el método :meth:`__format__` para :class:`object` convierte " +"el objeto en una representación de cadena y da formato a eso. " +"Anteriormente, el método aplicaba silenciosamente la cadena de formato a la " +"representación de cadena, pero eso podía ocultar errores en el código de " +"Python. Si proporciona información de formato, como una alineación o una " +"precisión, presumiblemente espera que el formato se aplique de alguna manera " +"específica del objeto. (Arreglado por Eric Smith; :issue:`7994`.)" #: ../Doc/whatsnew/2.7.rst:828 msgid "" "The :func:`int` and :func:`long` types gained a ``bit_length`` method that " "returns the number of bits necessary to represent its argument in binary::" msgstr "" +"Los tipos :func:`int` y :func:`long` obtuvieron un método ``bit_length`` que " +"devuelve el número de bits necesarios para representar su argumento en " +"binario::" #: ../Doc/whatsnew/2.7.rst:843 msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" -msgstr "" +msgstr "(Contribuido por Fredrik Johansson y Victor Stinner; :issue:`3439`.)" #: ../Doc/whatsnew/2.7.rst:845 msgid "" @@ -1173,6 +1226,11 @@ msgid "" "could possibly break certain :keyword:`!import` statements that were only " "working by accident. (Fixed by Meador Inge; :issue:`7902`.)" msgstr "" +"La instrucción :keyword:`import` ya no intentará una importación absoluta si " +"se produce un error en una importación relativa (por ejemplo, ``from .os " +"import sep``). Esto corrige un error, pero posiblemente podría romper " +"ciertas instrucciones :keyword:`!import` que solo funcionaban por " +"accidente. (Arreglado por Meador Inge; :issue:`7902`.)" #: ../Doc/whatsnew/2.7.rst:851 msgid "" @@ -1180,6 +1238,9 @@ msgid "" "override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :" "issue:`1583863`.)" msgstr "" +"Ahora es posible que una subclase del tipo integrado :class:`unicode` " +"reemplace el método :meth:`__unicode__`. (Implementado por Victor Stinner; :" +"issue:`1583863`.)" #: ../Doc/whatsnew/2.7.rst:855 msgid "" @@ -1187,6 +1248,9 @@ msgid "" "accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:" "`4759`.)" msgstr "" +"El método :meth:`~bytearray.translate` del tipo :class:`bytearray` ahora " +"acepta ``None`` como su primer argumento. (Arreglado por Georg Brandl; :" +"issue:`4759`.)" #: ../Doc/whatsnew/2.7.rst:861 msgid "" @@ -1195,6 +1259,10 @@ msgid "" "their :attr:`__func__` attribute. (Contributed by Amaury Forgeot d'Arc, " "after a suggestion by George Sakkis; :issue:`5982`.)" msgstr "" +"Cuando se usa ``@classmethod`` y ``@staticmethod`` para envolver métodos " +"como clase o métodos estáticos, el objeto decorador ahora expone la función " +"decoradora como su atributo :attr:`__func__`. (Contribuido por Amaury " +"Forgeot d'Arc, después de una sugerencia de George Sakkis; :issue:`5982`.)" #: ../Doc/whatsnew/2.7.rst:867 ../Doc/whatsnew/2.7.rst:2462 msgid "" @@ -1202,6 +1270,10 @@ msgid "" "an unset attribute would not raise :exc:`AttributeError` as you would " "expect. Fixed by Benjamin Peterson; :issue:`7604`.)" msgstr "" +"Cuando se estableció un conjunto restringido de atributos mediante " +"``__slots__``, eliminar un atributo desarmado no llamaría :exc:" +"`AttributeError` como cabría esperar. Corregido por Benjamin Peterson; :" +"issue:`7604`.)" #: ../Doc/whatsnew/2.7.rst:871 msgid "" @@ -1210,6 +1282,11 @@ msgid "" "contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:" "`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" msgstr "" +"Ahora se admiten dos nuevas codificaciones: \"cp720\", que se utiliza " +"principalmente para texto árabe; y \"cp858\", una variante de CP 850 que " +"añade el símbolo del euro. (CP720 contribuido por Alexander Belchenko y " +"Amaury Forgeot d'Arc en :issue:`1616979`; CP858 contribuido por Tim Hatch " +"en :issue:`8016`.)" #: ../Doc/whatsnew/2.7.rst:877 msgid "" @@ -1219,6 +1296,12 @@ msgid "" "forbids writing to read-only file objects instead of trusting the C library " "to catch and report the error (fixed by Stefan Krah; :issue:`5677`)." msgstr "" +"El objeto :class:`file` ahora establecerá el atributo :attr:`filename` en la " +"excepción :exc:`IOError` al intentar abrir un directorio en plataformas " +"POSIX (señalada por Jan Kaliszewski; :issue:`4764`), y ahora comprueba " +"explícitamente y prohíbe escribir en objetos de archivo de solo lectura en " +"lugar de confiar en la biblioteca C para detectar e informar del error " +"(arreglado por Stefan Krah; :issue:`5677`)." #: ../Doc/whatsnew/2.7.rst:884 msgid "" @@ -1227,6 +1310,10 @@ msgid "" "convention. Additionally, it no longer requires that the code end in a " "newline." msgstr "" +"El tokenizador de Python ahora traduce las terminaciones de línea por sí " +"mismo, por lo que la función integrada :func:`compile` ahora acepta código " +"mediante cualquier convención de fin de línea. Además, ya no requiere que " +"el código finalice en una nueva línea." #: ../Doc/whatsnew/2.7.rst:889 msgid "" @@ -1235,6 +1322,11 @@ msgid "" "mode, Python 2.7 will now warn about this odd usage. (Noted by James " "Lingard; :issue:`7362`.)" msgstr "" +"Los paréntesis adicionales en las definiciones de función son ilegales en " +"Python 3.x, lo que significa que se obtiene un error de sintaxis de ``def " +"f((x)): pass``. En el modo de advertencia Python3, Python 2.7 ahora " +"advertirá sobre este uso no común. (Anotado por James Lingard; :" +"issue:'7362'.)" #: ../Doc/whatsnew/2.7.rst:894 msgid "" @@ -1242,6 +1334,9 @@ msgid "" "style classes were always weak-referenceable. (Fixed by Antoine Pitrou; :" "issue:`8268`.)" msgstr "" +"Ahora es posible crear referencias débiles a objetos de clase de estilo " +"antiguo. Las clases de estilo nuevo siempre eran de referencia débil. " +"(Corregido por Antoine Pitrou; :issue:`8268`.)" #: ../Doc/whatsnew/2.7.rst:898 msgid "" @@ -1249,10 +1344,12 @@ msgid "" "only cleared if no one else is holding a reference to the dictionary (:issue:" "`7140`)." msgstr "" +"Cuando se recicla un objeto de módulo, el diccionario del módulo ahora solo " +"se borra si nadie más tiene una referencia al diccionario (:issue:`7140`)." #: ../Doc/whatsnew/2.7.rst:907 msgid "Interpreter Changes" -msgstr "" +msgstr "Cambios en el intérprete" #: ../Doc/whatsnew/2.7.rst:909 msgid "" @@ -1261,6 +1358,11 @@ msgid "" "equivalent to those used with the :option:`-W` switch, separated by commas. " "(Contributed by Brian Curtin; :issue:`7301`.)" msgstr "" +"Una nueva variable de entorno, :envvar:`PYTHONWARNINGS`, permite controlar " +"las advertencias. Debe establecerse en una cadena que contenga la " +"configuración de advertencia, equivalente a las utilizadas con el " +"modificador :option:`-W`, separado por comas. (Contribuido por Brian " +"Curtin; :issue:`7301`.)" #: ../Doc/whatsnew/2.7.rst:915 msgid "" @@ -1269,14 +1371,18 @@ msgid "" "exact syntax for setting an environment variable varies across operating " "systems and shells.)" msgstr "" +"Por ejemplo, la siguiente configuración imprimirá advertencias cada vez que " +"se produzcan, pero convertirá las advertencias del módulo :mod:`Cookie` en " +"un error. (La sintaxis exacta para establecer una variable de entorno varía " +"entre sistemas operativos y vaciados.)" #: ../Doc/whatsnew/2.7.rst:928 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/2.7.rst:930 msgid "Several performance enhancements have been added:" -msgstr "" +msgstr "Se han añadido varias mejoras de rendimiento:" #: ../Doc/whatsnew/2.7.rst:932 msgid "" @@ -1284,6 +1390,9 @@ msgid "" "statements, looking up the :meth:`__enter__` and :meth:`__exit__` methods. " "(Contributed by Benjamin Peterson.)" msgstr "" +"Se agregó un nuevo código de operación para realizar la configuración " +"inicial de las instrucciones :keyword:`with`, buscando los métodos :meth:" +"`__enter__` y :meth:`__exit__`. (Contribución de Benjamin Peterson.)" #: ../Doc/whatsnew/2.7.rst:936 #, python-format @@ -1298,6 +1407,16 @@ msgid "" "objects in the oldest generation. (Suggested by Martin von Löwis and " "implemented by Antoine Pitrou; :issue:`4074`.)" msgstr "" +"El recolector de elementos no utilizados ahora funciona mejor para un patrón " +"de uso común: cuando se asignan muchos objetos sin desasignar ninguno de " +"ellos. Esto anteriormente tomaría tiempo cuadrático para la recolección de " +"elementos no utilizados, pero ahora el número de colecciones de elementos no " +"utilizados completas se reduce a medida que crece el número de objetos en el " +"montón. La nueva lógica solo realiza un paso completo de recolección de " +"elementos no utilizados cuando la generación media se ha recopilado 10 veces " +"y cuando el número de objetos supervivientes de la generación media supera " +"el 10% del número de objetos de la generación más antigua. (Sugerido por " +"Martin von Löwis e implementado por Antoine Pitrou; :issue:`4074`.)" #: ../Doc/whatsnew/2.7.rst:947 msgid "" From 93a0749efb149ec184127190eff4e8c51a78c16b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Salgado=20Banda?= <49181840+josephLSalgado@users.noreply.github.com> Date: Mon, 16 Aug 2021 07:36:05 -0500 Subject: [PATCH 49/94] Traducido parcialmente archivo whatsnew/2.2 (#1226) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Introducción * PEPs 252 y 253 * Apply suggestions from code review Co-authored-by: Cristián Maureira-Fredes --- TRANSLATORS | 1 + dictionaries/whatsnew_2.2.txt | 5 + whatsnew/2.2.po | 286 ++++++++++++++++++++++++++++++++-- 3 files changed, 275 insertions(+), 17 deletions(-) create mode 100644 dictionaries/whatsnew_2.2.txt diff --git a/TRANSLATORS b/TRANSLATORS index b354cd2239..954d58727a 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -149,6 +149,7 @@ Kevin Cajachuán (@Kajachuan) Adolfo Villalobos (@AdolfoVillalobos) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) +José Luis Salgado Banda (@josephLSalgado) Marcos Medrano (@mmmarcos) Gonzalo Tixilima (@javoweb) Frank Montalvo Ochoa (@fmontalvoo) diff --git a/dictionaries/whatsnew_2.2.txt b/dictionaries/whatsnew_2.2.txt new file mode 100644 index 0000000000..66da58123c --- /dev/null +++ b/dictionaries/whatsnew_2.2.txt @@ -0,0 +1,5 @@ +Common +Eiffel +subclasificarse +Corp +dev \ No newline at end of file diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index b836ae76e7..73d8cc19b4 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -1,37 +1,39 @@ # 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. +# 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-04-28 21:33-0500\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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: José Luis Salgado Banda\n" +"Language: es_MX\n" +"X-Generator: Poedit 2.4.3\n" #: ../Doc/whatsnew/2.2.rst:3 msgid "What's New in Python 2.2" -msgstr "" +msgstr "Qué hay de nuevo en Python 2.2" #: ../Doc/whatsnew/2.2.rst:0 msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.2.rst:5 msgid "A.M. Kuchling" -msgstr "" +msgstr "A.M. Kuchling" #: ../Doc/whatsnew/2.2.rst:13 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/whatsnew/2.2.rst:15 msgid "" @@ -39,6 +41,9 @@ msgid "" "14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally " "released on December 21, 2001." msgstr "" +"Este artículo explica las nuevas características en Python 2.2.2, publicado " +"el 14 de octubre de 2002. Python 2.2.2 es una versión de corrección de " +"errores de Python 2.2, lanzada originalmente el 21 de diciembre de 2001." #: ../Doc/whatsnew/2.2.rst:19 msgid "" @@ -47,6 +52,11 @@ msgid "" "of the changes, significant and far-reaching though they may be, are aimed " "at cleaning up irregularities and dark corners of the language design." msgstr "" +"Python 2.2 se puede considerar como la \"versión de limpieza\". Hay algunas " +"características como los generadores e iteradores que son completamente " +"nuevas, pero la mayoría de los cambios, aunque sean significativos y de gran " +"alcance, tienen como objetivo limpiar las irregularidades y los rincones " +"oscuros del diseño del lenguaje." #: ../Doc/whatsnew/2.2.rst:24 msgid "" @@ -58,10 +68,18 @@ msgid "" "you want to understand the complete implementation and design rationale for " "a change, refer to the PEP for a particular new feature." msgstr "" +"Este artículo no procura proporcionar una especificación completa de las " +"nuevas características, pero en su lugar proporciona una descripción general " +"conveniente. Para más detalles, deberías consultar la documentación de " +"Python 2.2, como `Python Library Reference `_ y `Python Reference Manual `_. Si quieres comprender la justificación completa de la " +"implementación y el diseño de un cambio, consultar la PEP para conocer una " +"característica nueva en particular." #: ../Doc/whatsnew/2.2.rst:43 msgid "PEPs 252 and 253: Type and Class Changes" -msgstr "" +msgstr "PEPs 252 y 253: Cambios de tipo y clase" #: ../Doc/whatsnew/2.2.rst:45 msgid "" @@ -72,6 +90,13 @@ msgid "" "and most complicated section of this article, I'll provide an overview of " "the changes and offer some comments." msgstr "" +"Los cambios más grandes y de mayor alcance en Python 2.2 son el modelo de " +"objetos y clases de Python. Los cambios deben ser compatibles con versiones " +"anteriores, por lo que es probable que tu código continuará ejecutándose sin " +"cambios, pero los cambios proporcionan algunas capacidades nuevas " +"increíbles. Antes de comenzar esta, la sección más larga y complicada de " +"este artículo, brindaré una descripción general de los cambios y ofreceré " +"algunos comentarios." #: ../Doc/whatsnew/2.2.rst:52 msgid "" @@ -84,24 +109,40 @@ msgid "" "there's lots of C code that expects a regular Python list and won't accept " "a :class:`UserList` instance." msgstr "" +"Hace mucho tiempo escribí una página web que enumeraba los defectos en el " +"diseño de Python. Una de las fallas más importantes fue que es imposible " +"subclasificar tipos de Python implementados en C. En particular, no es " +"posible subclasificar tipos incorporados, por lo que no se puede solo " +"subclasificar, digamos, listas para agregar un solo método útil para ellos. " +"El módulo :mod:`UserList` proporciona una clase que admite todos los métodos " +"de listas y que puede subclasificarse aún más, pero hay mucho código C que " +"espera una lista normal de Python y no aceptará una instancia :class:" +"`UserList`." #: ../Doc/whatsnew/2.2.rst:61 msgid "" "Python 2.2 fixes this, and in the process adds some exciting new " "capabilities. A brief summary:" msgstr "" +"Python 2.2 corrige esto y, en el proceso, agrega algunas capacidades nuevas " +"interesantes. Un breve resumen:" #: ../Doc/whatsnew/2.2.rst:64 msgid "" "You can subclass built-in types such as lists and even integers, and your " "subclasses should work in every place that requires the original type." msgstr "" +"Puedes subclasificar tipos incorporados como listas e incluso enteros, y tus " +"subclases deberían funcionar en todos los lugares que requieran el tipo " +"original." #: ../Doc/whatsnew/2.2.rst:67 msgid "" "It's now possible to define static and class methods, in addition to the " "instance methods available in previous versions of Python." msgstr "" +"Ahora es posible definir métodos estáticos y de clase, además de los métodos " +"de instancia disponibles en versiones anteriores de Python." #: ../Doc/whatsnew/2.2.rst:70 msgid "" @@ -111,6 +152,12 @@ msgid "" "making the resulting code simpler and faster. As a small side benefit, " "attributes can now have docstrings, too." msgstr "" +"También es posible llamar automáticamente métodos al acceder o configurar un " +"atributo de instancia mediante el uso de un nuevo mecanismo llamado :dfn:" +"`properties`. Muchos usos de :meth:`__getattr__` se pueden reescribir para " +"usar propiedades en su lugar, haciendo que el código resultante sea más " +"simple y rápido. Como un pequeño beneficio secundario, ahora también los " +"atributos pueden tener docstrings." #: ../Doc/whatsnew/2.2.rst:76 msgid "" @@ -118,6 +165,10 @@ msgid "" "set using :dfn:`slots`, making it possible to safeguard against typos and " "perhaps make more optimizations possible in future versions of Python." msgstr "" +"La lista de atributos legales para una instancia se puede limitar a un " +"conjunto particular usando :dfn:`slots`, lo que hace posible protegerse " +"contra errores tipográficos y quizás hacer posibles más optimizaciones en " +"versiones futuras de Python." #: ../Doc/whatsnew/2.2.rst:80 msgid "" @@ -128,6 +179,12 @@ msgid "" "recommended Python for its simplicity, and feel that its simplicity is being " "lost." msgstr "" +"Algunos usuarios han expresado preocupación por todos estos cambios. Claro, " +"dicen, las nuevas características son ordenadas y se prestan a todo tipo de " +"trucos que no eran posibles en versiones anteriores de Python, pero también " +"hacen que el lenguaje sea más complicado. Algunas personas han dicho que " +"siempre han recomendado Python por su simplicidad, y sienten que su " +"simplicidad se está perdiendo." #: ../Doc/whatsnew/2.2.rst:86 msgid "" @@ -139,6 +196,13 @@ msgid "" "only possible from C will now be possible in pure Python, and to my mind " "that's all for the better." msgstr "" +"Personalmente. pienso que no hay que preocuparse. Muchas de las nuevas " +"características son bastante esotéricas, y puedes escribir mucho código de " +"Python sin tener que estar al tanto de ellas. Escribir una clase simple no " +"es más difícil de lo que nunca fue, así que no necesitas molestarte en " +"aprender o enseñarlos a menos que realmente sean necesarios. Algunas tareas " +"muy complicadas que antes solo eran posibles desde C ahora serán posibles en " +"Python puro, y en mi opinión, esto es todo para mejor." #: ../Doc/whatsnew/2.2.rst:93 msgid "" @@ -148,10 +212,15 @@ msgid "" "Links\", for further sources of information about Python 2.2's new object " "model." msgstr "" +"No voy a intentar cubrir todas los casos de las esquinas y los pequeños " +"cambios que fueron necesarios para hacer que las nuevas características " +"funcionen. En su lugar, esta sección pintará solo a grandes rasgos. " +"Consultar la sección :ref:`sect-rellinks`, \"Enlaces relacionados\", para " +"más fuentes de información sobre el nuevo modelo de objetos de Python 2.2." #: ../Doc/whatsnew/2.2.rst:100 msgid "Old and New Classes" -msgstr "" +msgstr "Clases antiguas y nuevas" #: ../Doc/whatsnew/2.2.rst:102 msgid "" @@ -162,6 +231,13 @@ msgid "" "classes. This divergence isn't intended to last forever; eventually old-" "style classes will be dropped, possibly in Python 3.0." msgstr "" +"Primero, debes saber que realmente Python 2.2 tiene dos tipos de clases: " +"clases clásicas o de estilo antiguo y clases de estilo nuevo. El modelo de " +"clase de estilo antiguo exactamente es el mismo que el modelo de clase en " +"versiones anteriores de Python. Todas las nuevas características descritas " +"en esta sección se aplican solo a las clases de estilo nuevo. Esta " +"divergencia no está destinada a durar para siempre; eventualmente las clases " +"de estilo antiguo se eliminarán, posiblemente en Python 3.0." #: ../Doc/whatsnew/2.2.rst:109 msgid "" @@ -172,6 +248,13 @@ msgid "" "types, has also been added so if no built-in type is suitable, you can just " "subclass :class:`object`::" msgstr "" +"Entonces, ¿cómo defines una clase de estilo nuevo? Lo haces subclasificando " +"una clases de estilo nuevo existente. La mayoría de los tipos integrados de " +"Python, como enteros, listas, diccionarios e incluso archivos, ahora son " +"clases de estilo nuevo. También se agregó una clase de estilo nuevo llamada :" +"class:`object`, la clase base para todos los tipos integrados, por lo que si " +"ningún tipo integrado es apropiado, puedes solo subclasificar :class:" +"`object`::" #: ../Doc/whatsnew/2.2.rst:121 msgid "" @@ -181,6 +264,11 @@ msgid "" "pep:`253` for the details --- but it's easier to just subclass :class:" "`object`.)" msgstr "" +"Esto significa que las declaraciones :keyword:`class` que no tienen ninguna " +"clase base siempre son clases clásicas en Python 2.2. (Realmente también " +"puedes cambiar esto configurando una variable de nivel de módulo llamada :" +"attr:`__metaclass__` --- consultar :pep:`253` para más detalles --- pero es " +"más fácil solo subclasificar :class:`object`.)" #: ../Doc/whatsnew/2.2.rst:126 msgid "" @@ -189,6 +277,11 @@ msgid "" "`int`, :func:`float`, and :func:`str`. In 2.2, they aren't functions any " "more, but type objects that behave as factories when called. ::" msgstr "" +"Los objetos de tipo para los tipos integrados están disponibles como " +"incorporados, nombrados mediante un truco inteligente. Python siempre ha " +"tenido funciones incorporadas llamadas :func:`int`, :func:`float` y :func:" +"`str`. En la versión 2.2, ya no son funciones, sino objetos de tipo que se " +"comportan como fábricas cuando se les llaman. ::" #: ../Doc/whatsnew/2.2.rst:136 msgid "" @@ -196,6 +289,9 @@ msgid "" "and :func:`file` have been added. Here's a more interesting example, adding " "a :meth:`lock` method to file objects::" msgstr "" +"Para completar el conjunto de tipos, se agregaron nuevos objetos de tipo " +"como :func:`dict` y :func:`file`. Aquí hay un ejemplo más interesante, " +"agregando un método :meth:`lock` a los objetos de archivo::" #: ../Doc/whatsnew/2.2.rst:146 msgid "" @@ -204,10 +300,15 @@ msgid "" "class couldn't be passed to internal functions that expected a built-in " "file, something which is possible with our new :class:`LockableFile`." msgstr "" +"El módulo ahora obsoleto :mod:`posixfile` contenía una clase que emulaba " +"todos los métodos de un objeto de archivo y también agregaba un método :meth:" +"`lock`, pero esta clase no podía pasarse a funciones internas que esperaban " +"un archivo incorporado, algo que es posible con nuestra nueva clase :class:" +"`LockableFile`." #: ../Doc/whatsnew/2.2.rst:153 msgid "Descriptors" -msgstr "" +msgstr "Descriptores" #: ../Doc/whatsnew/2.2.rst:155 msgid "" @@ -220,6 +321,14 @@ msgid "" "inheritance or an arbitrary :meth:`__getattr__` hook were in use this could " "still be inaccurate." msgstr "" +"En versiones anteriores de Python, no había una forma consistente de " +"descubrir qué atributos y métodos eran compatibles con un objeto. Había " +"algunas convenciones informales, como definir atributos :attr:`__members__` " +"y :attr:`__methods__` que eran listas de nombres, pero a menudo el autor de " +"un tipo de extensión o una clase no se molestaría en definirlos. Podrías " +"recurrir a inspeccionar el :attr:`~object.__dict__` de un objeto, pero " +"cuando la herencia de una clase o un gancho arbitrario :meth:`__getattr__` " +"estuvieran en uso, esto podría ser inexacto." #: ../Doc/whatsnew/2.2.rst:163 msgid "" @@ -229,41 +338,54 @@ msgid "" "it's a method or a field. With the descriptor API, static methods and class " "methods become possible, as well as more exotic constructs." msgstr "" +"La única gran idea que subyace al nuevo modelo de clases es que se ha " +"formalizado una API para describir los atributos de un objeto usando :dfn:" +"`descriptors`. Los descriptores especifican el valor de un atributo, " +"indicando si es un método o un campo. Con la API de un descriptor, los " +"métodos estáticos y de clase se vuelven posibles, así como constructos más " +"exóticos." #: ../Doc/whatsnew/2.2.rst:169 msgid "" "Attribute descriptors are objects that live inside class objects, and have a " "few attributes of their own:" msgstr "" +"Los descriptores de atributos son objetos que viven dentro de los objetos de " +"clase y tienen algunos atributos propios:" #: ../Doc/whatsnew/2.2.rst:172 msgid ":attr:`~definition.__name__` is the attribute's name." -msgstr "" +msgstr ":attr:`~definition.__name__` es el nombre del atributo." #: ../Doc/whatsnew/2.2.rst:174 msgid ":attr:`__doc__` is the attribute's docstring." -msgstr "" +msgstr ":attr:`__doc__` es el docstring del atributo." #: ../Doc/whatsnew/2.2.rst:176 msgid "" "``__get__(object)`` is a method that retrieves the attribute value from " "*object*." msgstr "" +"``__get__(object)`` es un método que recupera el valor del atributo de " +"*object*." #: ../Doc/whatsnew/2.2.rst:179 msgid "``__set__(object, value)`` sets the attribute on *object* to *value*." msgstr "" +"``__set__(object, value)`` establece el atributo de *object* en *value*." #: ../Doc/whatsnew/2.2.rst:181 msgid "" "``__delete__(object, value)`` deletes the *value* attribute of *object*." -msgstr "" +msgstr "``__delete__(object, value)`` elimina el atributo *value* de *object*." #: ../Doc/whatsnew/2.2.rst:183 msgid "" "For example, when you write ``obj.x``, the steps that Python actually " "performs are::" msgstr "" +"Por ejemplo, cuando escribes ``obj.x``, los pasos que realmente Python " +"realiza son::" #: ../Doc/whatsnew/2.2.rst:189 msgid "" @@ -276,6 +398,14 @@ msgid "" "methods are passed the class of the object, but not the object itself. " "Static and class methods are defined like this::" msgstr "" +"Para los métodos, :meth:`descriptor.__get__` retorna un objeto temporal que " +"se puede llamar y contiene la instancia y el método que se llamará en él. " +"También esto es el por qué los métodos estáticos y de clase ahora son " +"posibles; tienen descriptores que contienen solo el método o el método y la " +"clase. Como una breve explicación de estos tipos nuevos de métodos, los " +"métodos estáticos no se pasan a la instancia y, por lo tanto, se asemejan a " +"funciones regulares. Los métodos de clase se pasan a la clase del objeto, " +"pero no al objeto en sí. Los métodos estáticos y de clase se definen así::" #: ../Doc/whatsnew/2.2.rst:207 msgid "" @@ -285,6 +415,11 @@ msgid "" "static f``, ``defstatic f()``, or something like that) but no such syntax " "has been defined yet; that's been left for future versions of Python." msgstr "" +"La función :func:`staticmethod` toma la función :func:`f` y la retorna en un " +"descriptor para que pueda almacenarse en el objeto de clase. Puedes esperar " +"que haya una sintaxis especial para crear tales métodos (``def static f``, " +"``defstatic f()`` o algo así) pero aún no se ha definido dicha sintaxis; que " +"se ha dejado para versiones futuras de Python." #: ../Doc/whatsnew/2.2.rst:213 msgid "" @@ -295,6 +430,12 @@ msgid "" "and postconditions for a method. A class that used this feature might be " "defined like this::" msgstr "" +"También se implementan más características nuevas, como ranuras y " +"propiedades, como nuevos tipos de descriptores, y no es difícil escribir una " +"clase de descriptor que haga algo nuevo. Por ejemplo, sería posible escribir " +"una clase de descriptor que hiciera posible escribir condiciones previas al " +"estilo Eiffel y posteriores para un método. Una clase que usó esta " +"característica podría definirse así::" #: ../Doc/whatsnew/2.2.rst:235 msgid "" @@ -305,10 +446,17 @@ msgid "" "the ZODB or whatever, but most users will just write code on top of the " "resulting libraries and ignore the implementation details." msgstr "" +"Toma en cuenta que una persona que usa la nueva función :func:`eiffelmethod` " +"no tiene que entender nada sobre descriptores. Esta es la razón por la que " +"creo que las nuevas características no incrementan la complejidad básica del " +"lenguaje. Habrá algunos asistentes que necesitarán conocerlo para escribir :" +"func:`eiffelmethod` o la ZODB o lo que sea, pero la mayoría de los usuarios " +"solo escribirán código sobre las bibliotecas resultantes e ignorarán los " +"detalles de implementación." #: ../Doc/whatsnew/2.2.rst:244 msgid "Multiple Inheritance: The Diamond Rule" -msgstr "" +msgstr "Herencia múltiple: la regla del diamante" #: ../Doc/whatsnew/2.2.rst:246 msgid "" @@ -316,6 +464,9 @@ msgid "" "rules under which names are resolved. Consider this set of classes (diagram " "taken from :pep:`253` by Guido van Rossum)::" msgstr "" +"La herencia múltiple también se ha hecho más útil al cambiar las reglas bajo " +"las cuales se resuelven los nombres. Considera este conjunto de clases " +"(diagrama tomado de :pep:`253` de Guido van Rossum)::" #: ../Doc/whatsnew/2.2.rst:264 msgid "" @@ -327,6 +478,14 @@ msgid "" "`save` method is saving some internal state specific to :class:`C`, not " "calling it will result in that state never getting saved." msgstr "" +"La regla de búsqueda para clases clásicas es simple pero no muy inteligente; " +"se buscan las clases base primero en profundidad, yendo de izquierda a " +"derecha. Una referencia a :meth:`D.save` buscará las clases :class:`D`, :" +"class:`B` y luego :class:`A`, donde :meth:`save` se encontraría y " +"retornaría. :meth:`C.save` nunca se encontraría en absoluto. Esto es malo, " +"porque si el método :meth:`save` de :class:`C` está guardando algún estado " +"interno específico de :class:`C`, no llamarlo resultará en que este estado " +"nunca se guardará." #: ../Doc/whatsnew/2.2.rst:272 msgid "" @@ -336,6 +495,11 @@ msgid "" "cases, but produces more useful results for really complicated inheritance " "graphs.)" msgstr "" +"Las clases de estilo nuevo siguen un algoritmo diferente que es más " +"complicado de explicar, pero hace lo correcto en esta situación. (Toma en " +"cuenta que Python 2.3 cambia este algoritmo a uno que produce los mismos " +"resultados en la mayoría de los casos, pero produce resultados más útiles " +"para gráficos de herencia realmente complicados.)" #: ../Doc/whatsnew/2.2.rst:277 msgid "" @@ -344,6 +508,10 @@ msgid "" "list of visited classes is [:class:`D`, :class:`B`, :class:`A`, :class:`C`, :" "class:`A`]." msgstr "" +"Enumera todas las clases base, siguiendo la regla de búsqueda clásica e " +"incluye una clase varias veces si se visita repetidamente. En el ejemplo " +"anterior, la lista de clases visitadas es [:class:`D`, :class:`B`, :class:" +"`A`, :class:`C`, :class:`A`]." #: ../Doc/whatsnew/2.2.rst:282 msgid "" @@ -352,6 +520,10 @@ msgid "" "list becomes [:class:`D`, :class:`B`, :class:`C`, :class:`A`] after dropping " "duplicates." msgstr "" +"Escanea la lista en busca de clases duplicadas. Si encuentra alguna, elimina " +"todas menos una, dejando la *última* en la lista. En el ejemplo anterior, la " +"lista se convierte en [:class:`D`, :class:`B`, :class:`C`, :class:`A`] " +"después de eliminar las duplicadas." #: ../Doc/whatsnew/2.2.rst:287 msgid "" @@ -364,6 +536,15 @@ msgid "" "will be used in methods to call a method in the superclass; for example, :" "class:`D`'s :meth:`save` method would look like this::" msgstr "" +"Siguiendo esta regla, refiriéndose a :meth:`D.save` retornará :meth:`C." +"save`, el cual es el comportamiento que buscamos. Esta regla de búsqueda es " +"la misma que sigue Common Lisp. Una nueva función incorporada, :func:" +"`super`, proporciona una forma de acceder a las superclases de una clase sin " +"tener que volver a implementar el algoritmo de Python. La forma más " +"utilizada será ``super(class, obj)``, la cual retorna un objeto de " +"superclase vinculado. Esta forma se usará en métodos para llamar a un método " +"en la superclase; por ejemplo, el método :meth:`save` de :class:`D` se vería " +"así::" #: ../Doc/whatsnew/2.2.rst:303 msgid "" @@ -371,10 +552,13 @@ msgid "" "``super(class)`` or ``super(class1, class2)``, but this probably won't often " "be useful." msgstr "" +"También :func:`super` puede retornar objetos de superclase no vinculados " +"cuando se llama como ``super(class)`` o ``super(class1, class2)``, pero " +"probablemente esto no sea útil a menudo." #: ../Doc/whatsnew/2.2.rst:309 msgid "Attribute Access" -msgstr "" +msgstr "Acceso a atributos" #: ../Doc/whatsnew/2.2.rst:311 msgid "" @@ -384,6 +568,12 @@ msgid "" "attribute access such as ``obj.parent`` into a method call such as ``obj." "get_parent``. Python 2.2 adds some new ways of controlling attribute access." msgstr "" +"Un buen número de clases sofisticadas de Python definen ganchos para el " +"acceso de atributos usando :meth:`__getattr__`; más comúnmente, esto se hace " +"por conveniencia, para hacer que el código sea más legible al mapear " +"automáticamente un acceso de atributo como ``obj.parent`` en una llamada de " +"método como ``obj.get_parent``. Python 2.2 agrega algunas formas nuevas de " +"controlar el acceso de atributos." #: ../Doc/whatsnew/2.2.rst:317 msgid "" @@ -392,6 +582,10 @@ msgid "" "attempt is made to access ``obj.foo`` and no attribute named ``foo`` is " "found in the instance's dictionary." msgstr "" +"Primero, ``__getattr__(attr_name)`` aún es compatible con las clases de " +"nuevo estilo, y nada al respecto ha cambiado. Como antes, se llamará cuando " +"se intente acceder a ``obj.foo`` y no se encuentre ningún atributo llamado " +"``foo`` en el diccionario de la instancia." #: ../Doc/whatsnew/2.2.rst:322 msgid "" @@ -401,6 +595,11 @@ msgid "" "accessed, while the old :meth:`__getattr__` is only called if ``foo`` isn't " "found in the instance's dictionary." msgstr "" +"Las clases de nuevo estilo también admiten un nuevo método, " +"``__getattribute__(attr_name)``. La diferencia entre los dos métodos es que :" +"meth:`__getattribute__` *siempre* se llama cada vez que se accede a " +"cualquier atributo, mientras que el antiguo :meth:`__getattr__` se llama " +"solo si no se encuentra ``foo`` en el diccionario de la instancia." #: ../Doc/whatsnew/2.2.rst:328 msgid "" @@ -414,6 +613,16 @@ msgid "" "calling a function on every attribute access results in a sizable " "performance loss." msgstr "" +"Sin embargo, el soporte de Python 2.2 para :dfn:`properties` será a menudo " +"una forma más simple de atrapar referencias de atributos. Escribir un " +"método :meth:`__getattr__` es complicado porque para evitar la recursividad " +"no puedes usar accesos regulares a atributos dentro de ellos, y en su lugar " +"tienes que jugar con el contenido de :attr:`~object.__dict__`. Los métodos :" +"meth:`__getattr__` también terminan siendo llamados por Python cuando busca " +"otros métodos como :meth:`__repr__` o :meth:`__coerce__`, por lo que se " +"tienen que escribirse teniendo esto en cuenta. Finalmente, llamar una " +"función en cada acceso de atributo resulta en una pérdida de rendimiento " +"considerable." #: ../Doc/whatsnew/2.2.rst:337 msgid "" @@ -422,6 +631,10 @@ msgid "" "want to define a :attr:`size` attribute that's computed, but also settable, " "you could write::" msgstr "" +":class:`property` es un nuevo tipo integrado que empaqueta tres funciones " +"obtienen, establecen o eliminan un atributo y una docstring. Por ejemplo, si " +"quieres definir un atributo :attr:`size` que se calcula, pero que también se " +"puede configurar, puedes escribir::" #: ../Doc/whatsnew/2.2.rst:357 msgid "" @@ -432,6 +645,12 @@ msgid "" "the only ones which have to perform the work of calling a function, so " "references to other attributes run at their usual speed." msgstr "" +"Eso es ciertamente más claro y fácil de escribir que un par de métodos :meth:" +"`__getattr__`/:meth:`__setattr__` que verifican el atributo :attr:`size` y " +"lo manejan especialmente mientras recuperan todos los demás atributos :attr:" +"`~object.__dict__` de la instancia. Los accesos a :attr:`size` también son " +"los únicos que tienen que realizar el trabajo de llamar a una función, por " +"lo que las referencias a otros atributos se ejecutan a su velocidad habitual." #: ../Doc/whatsnew/2.2.rst:364 msgid "" @@ -443,16 +662,26 @@ msgid "" "`~object.__slots__` to limit the legal attributes to a particular set of " "names. An example will make this clear::" msgstr "" +"Finalmente, es posible restringir la lista de atributos que se pueden " +"referenciar en un objeto usando el nuevo atributo de clase :attr:`~object." +"__slots__`. Los objetos de Python por lo general son muy dinámicos; en " +"cualquier momento es posible definir un nuevo atributo en una instancia " +"haciendo simplemente ``obj.new_attr=1``. Una clase de estilo nuevo puede " +"definir un atributo de clase llamado :attr:`~object.__slots__` para limitar " +"los atributos legales a un conjunto particular de nombres. Un ejemplo hará " +"esto claro::" #: ../Doc/whatsnew/2.2.rst:385 msgid "" "Note how you get an :exc:`AttributeError` on the attempt to assign to an " "attribute not listed in :attr:`~object.__slots__`." msgstr "" +"Toma en cuenta cómo obtienes un :exc:`AttributeError` en el intento de " +"asignar a un atributo que no aparece en :attr:`~object.__slots__`." #: ../Doc/whatsnew/2.2.rst:392 msgid "Related Links" -msgstr "" +msgstr "Enlaces relacionados" #: ../Doc/whatsnew/2.2.rst:394 msgid "" @@ -461,6 +690,10 @@ msgid "" "been simplified or ignored. Where should you go to get a more complete " "picture?" msgstr "" +"Esta sección solo ha sido una descripción rápida de las nuevas " +"características, brindando una explicación suficiente para comenzar a " +"programar, pero muchos detalles se han simplificado o ignorado. ¿Dónde " +"deberías ir para obtener una imagen más completa?" #: ../Doc/whatsnew/2.2.rst:398 msgid "" @@ -470,6 +703,11 @@ msgid "" "it goes into much more detail about the new features while still remaining " "quite easy to read." msgstr "" +"https://docs.python.org/dev/howto/descriptor.html es un extenso tutorial de " +"introducción a las características del descriptor, escrito por Guido van " +"Rossum. Si mi descripción te despertó el apetito, lee este tutorial a " +"continuación, porque entra en mucho más detalle sobre las nuevas " +"características sin dejar de ser bastante fácil de leer." #: ../Doc/whatsnew/2.2.rst:403 msgid "" @@ -482,6 +720,15 @@ msgid "" "explode. Both PEPs were written and implemented by Guido van Rossum, with " "substantial assistance from the rest of the Zope Corp. team." msgstr "" +"A continuación, hay dos PEPs relevantes, :pep:`252` y :pep:`253`. :pep:`252` " +"se titula \"Hacer que los tipos se parezcan más a las clases\", y cubre la " +"API del descriptor. :pep:`253` se titula \"Subtipado de tipos incorporados" +"\", y describe los cambios de los objetos de tipo que hacen posible el " +"subtipo de objetos incorporados. :pep:`253` es la PEP más complicada de las " +"dos, y en algunos puntos las explicaciones necesarias de tipos y meta-tipos " +"pueden causar que tu cabeza explote. Ambas PEPs se escribieron e " +"implementaron por Guido van Rossum con la asistencia sustancial del resto " +"del equipo de Zope Corp." #: ../Doc/whatsnew/2.2.rst:412 msgid "" @@ -490,6 +737,11 @@ msgid "" "should only resort to it after all other avenues have been exhausted, " "including posting a question to python-list or python-dev." msgstr "" +"Finalmente, está la máxima autoridad: el código fuente. La mayoría de la " +"maquinaria para el manejo de tipos está en :file:`Objects/typeobject.c`, " +"pero solo debes recurrir a él después de que se hayan agotado todas las " +"demás vías, incluida la publicación de una pregunta en python-list o python-" +"dev." #: ../Doc/whatsnew/2.2.rst:421 msgid "PEP 234: Iterators" From 366f4ecd33c812a062f03fa2cc2668e735355dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 16 Aug 2021 15:36:56 +0200 Subject: [PATCH 50/94] Agregando palabras faltantes build (#1340) --- dictionaries/whatsnew_2.7.txt | 3 ++- dictionaries/whatsnew_3.3.txt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index a997fb3ebc..9a015e6b20 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -20,4 +20,5 @@ Oliphant reinsertándola suncc Sakkis -Lingard \ No newline at end of file +Lingard +Kaliszewski diff --git a/dictionaries/whatsnew_3.3.txt b/dictionaries/whatsnew_3.3.txt index e434259e7f..efd66c8414 100644 --- a/dictionaries/whatsnew_3.3.txt +++ b/dictionaries/whatsnew_3.3.txt @@ -133,3 +133,4 @@ utils wide xff Øyvind +Jędrzejewski From 58dcb81f3632c5d221b74b698ab01166f2e29035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 16 Aug 2021 15:37:14 +0200 Subject: [PATCH 51/94] =?UTF-8?q?Traducci=C3=B3n=20parcial=20whatsnew/2.3?= =?UTF-8?q?=20(#1339)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/whatsnew_2.3.txt | 41 +++++++ whatsnew/2.3.po | 200 +++++++++++++++++++++++++++++++--- 2 files changed, 223 insertions(+), 18 deletions(-) create mode 100644 dictionaries/whatsnew_2.3.txt diff --git a/dictionaries/whatsnew_2.3.txt b/dictionaries/whatsnew_2.3.txt new file mode 100644 index 0000000000..2116c7051e --- /dev/null +++ b/dictionaries/whatsnew_2.3.txt @@ -0,0 +1,41 @@ +Age +Bauer +Brunning +Chermside +Chris +Dalke +Daniels +Detlef +Drake +Francesco +Fraser +Gerber +Hans +Hindle +Hudson +Hurd +Jansen +Jeff +Jr +Kelly +Lalo +Lambert +Lannert +Löwis +Martin +Martins +Neal +Netzer +Niemeyer +Norwitz +Nowak +Reifschneider +Ricciardi +Richie +Roman +Simon +Suzi +Tishler +Travis +frame +ports diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index c72bead719..bdd2425c3a 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -1,39 +1,43 @@ # 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. +# 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-04-17 07:53-0500\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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.2.1\n" #: ../Doc/whatsnew/2.3.rst:3 msgid "What's New in Python 2.3" -msgstr "" +msgstr "Qué hay de nuevo en Python 2.3" #: ../Doc/whatsnew/2.3.rst:0 msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.3.rst:5 msgid "A.M. Kuchling" -msgstr "" +msgstr "A.M. Kuchling" #: ../Doc/whatsnew/2.3.rst:11 msgid "" "This article explains the new features in Python 2.3. Python 2.3 was " "released on July 29, 2003." msgstr "" +"Este artículo explica las nuevas características de Python 2.3. Python 2.3 " +"se publicó el 29 de julio de 2003." #: ../Doc/whatsnew/2.3.rst:14 msgid "" @@ -46,6 +50,16 @@ msgid "" "and :func:`enumerate`. The :keyword:`in` operator can now be used for " "substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)." msgstr "" +"Los temas principales de Python 2.3 son el pulido de algunas de las " +"características añadidas en la 2.2, la adición de varias mejoras pequeñas " +"pero útiles al núcleo del lenguaje y la ampliación de la biblioteca " +"estándar. El nuevo modelo de objetos introducido en la versión anterior se " +"ha beneficiado de 18 meses de correcciones de errores y de esfuerzos de " +"optimización que han mejorado el rendimiento de las clases de nuevo estilo. " +"Se han añadido algunas funciones incorporadas, como :func:`sum` y :func:" +"`enumerate`. El operador :keyword:`in` puede utilizarse ahora para " +"búsquedas de subcadenas (por ejemplo, ``\"ab\" en \"abc\"`` retorna :const:" +"`True`)." #: ../Doc/whatsnew/2.3.rst:23 msgid "" @@ -56,6 +70,13 @@ msgid "" "processing command-line options, using BerkeleyDB databases... the list of " "new and enhanced modules is lengthy." msgstr "" +"Algunas de las nuevas características de la biblioteca son los tipos de " +"datos booleanos, de conjunto, de montón y de fecha/hora, la posibilidad de " +"importar módulos desde archivos con formato ZIP, el soporte de metadatos " +"para el tan esperado catálogo de Python, una versión actualizada de IDLE y " +"módulos para registrar mensajes, envolver texto, analizar archivos CSV, " +"procesar opciones de línea de comandos, utilizar bases de datos " +"BerkeleyDB... la lista de módulos nuevos y mejorados es larga." #: ../Doc/whatsnew/2.3.rst:30 msgid "" @@ -66,10 +87,17 @@ msgid "" "complete implementation and design rationale, refer to the PEP for a " "particular new feature." msgstr "" +"Este artículo no pretende proporcionar una especificación completa de las " +"nuevas características, sino que proporciona una visión general " +"conveniente. Para obtener todos los detalles, debes consultar la " +"documentación de Python 2.3, como la Referencia de la Biblioteca de Python y " +"el Manual de Referencia de Python. Si quieres entender la implementación " +"completa y los fundamentos del diseño, consulta el PEP de una nueva " +"característica en particular." #: ../Doc/whatsnew/2.3.rst:41 msgid "PEP 218: A Standard Set Datatype" -msgstr "" +msgstr "PEP 218: A Standard Set Datatype" #: ../Doc/whatsnew/2.3.rst:43 msgid "" @@ -80,10 +108,17 @@ msgid "" "dictionary keys. Sets are built on top of dictionaries, so the elements " "within a set must be hashable." msgstr "" +"El nuevo módulo :mod:`sets` contiene una implementación de un tipo de datos " +"de conjuntos. La clase :class:`Set` es para conjuntos mutables, conjuntos a " +"los que se les pueden añadir y eliminar miembros. La clase :class:" +"`ImmutableSet` es para los conjuntos que no pueden ser modificados, y las " +"instancias de :class:`ImmutableSet` pueden por lo tanto ser utilizadas como " +"claves de diccionario. Los conjuntos se construyen sobre diccionarios, por " +"lo que los elementos de un conjunto deben ser hashables." #: ../Doc/whatsnew/2.3.rst:50 msgid "Here's a simple example::" -msgstr "" +msgstr "Aquí hay un ejemplo simple::" #: ../Doc/whatsnew/2.3.rst:66 msgid "" @@ -92,6 +127,11 @@ msgid "" "operators ``&`` and ``|``. Mutable sets also have in-place versions of these " "methods, :meth:`union_update` and :meth:`intersection_update`. ::" msgstr "" +"La unión y la intersección de los conjuntos pueden calcularse con los " +"métodos :meth:`union` y :meth:`intersection`; una notación alternativa " +"utiliza los operadores bitácora ``&`` y ``|``. Los conjuntos mutables " +"también tienen versiones in situ de estos métodos, :meth:`union_update` y :" +"meth:`intersection_update`. ::" #: ../Doc/whatsnew/2.3.rst:86 msgid "" @@ -102,16 +142,24 @@ msgid "" "notation (``^``), and an in-place version with the ungainly name :meth:" "`symmetric_difference_update`. ::" msgstr "" +"También es posible tomar la diferencia simétrica de dos conjuntos. Este es " +"el conjunto de todos los elementos de la unión que no están en la " +"intersección. Otra forma de decirlo es que la diferencia simétrica contiene " +"todos los elementos que están exactamente en un conjunto. De nuevo, existe " +"una notación alternativa (``^``), y una versión in-place con el poco " +"agraciado nombre :meth:`symmetric_difference_update`. ::" #: ../Doc/whatsnew/2.3.rst:100 msgid "" "There are also :meth:`issubset` and :meth:`issuperset` methods for checking " "whether one set is a subset or superset of another::" msgstr "" +"También hay métodos :meth:`issubset` y :meth:`issuperset` para comprobar si " +"un conjunto es subconjunto o superconjunto de otro::" #: ../Doc/whatsnew/2.3.rst:117 msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr "" +msgstr ":pep:`218` - Adding a Built-In Set Object Type" #: ../Doc/whatsnew/2.3.rst:117 msgid "" @@ -1772,7 +1820,7 @@ msgstr "" #: ../Doc/whatsnew/2.3.rst:1639 msgid "(Contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger.)" #: ../Doc/whatsnew/2.3.rst:1641 msgid "" @@ -1780,6 +1828,10 @@ msgid "" "in a particular encoding by providing an optional encoding argument to the :" "meth:`toxml` and :meth:`toprettyxml` methods of DOM nodes." msgstr "" +"La implementación de DOM en :mod:`xml.dom.minidom` puede ahora generar la " +"salida XML en una codificación particular proporcionando un argumento de " +"codificación opcional a los métodos :meth:`toxml` y :meth:`toprettyxml` de " +"los nodos DOM." #: ../Doc/whatsnew/2.3.rst:1645 msgid "" @@ -1825,7 +1877,7 @@ msgstr "" #: ../Doc/whatsnew/2.3.rst:1679 msgid "Date/Time Type" -msgstr "" +msgstr "Tipo de fecha/hora" #: ../Doc/whatsnew/2.3.rst:1681 msgid "" @@ -2039,11 +2091,12 @@ msgstr "" #: ../Doc/whatsnew/2.3.rst:1876 msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la API de construcción y C" #: ../Doc/whatsnew/2.3.rst:1878 msgid "Changes to Python's build process and to the C API include:" msgstr "" +"Los cambios en el proceso de build de Python y en la API de C incluyen:" #: ../Doc/whatsnew/2.3.rst:1880 msgid "" @@ -2133,10 +2186,17 @@ msgid "" "the desired effect. For more detail, read the API reference documentation " "or the source." msgstr "" +"Si asigna dinámicamente objetos de tipo en su extensión, debe tener en " +"cuenta un cambio en las reglas relacionadas con los atributos :attr:" +"`__module__` y :attr:`~definition.__name__`. En resumen, querrá asegurarse " +"de que el diccionario del tipo contiene una clave ``'__module__``; hacer que " +"el nombre del módulo sea la parte del nombre del tipo que va hasta el punto " +"final ya no tendrá el efecto deseado. Para más detalles, lea la " +"documentación de referencia de la API o el código fuente." #: ../Doc/whatsnew/2.3.rst:1938 msgid "Port-Specific Changes" -msgstr "" +msgstr "Cambios específicos en los ports" #: ../Doc/whatsnew/2.3.rst:1940 msgid "" @@ -2149,6 +2209,16 @@ msgid "" "compiler, also gained support for case-sensitive import semantics as part of " "the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)" msgstr "" +"El soporte para una adaptación al sistema OS/2 de IBM utilizando el entorno " +"de ejecución EMX se ha incorporado al árbol principal de fuentes de Python. " +"EMX es una capa de emulación POSIX sobre las APIs del sistema OS/2. El " +"puerto de Python para EMX intenta soportar todas las capacidades tipo POSIX " +"expuestas por el tiempo de ejecución de EMX, y en su mayoría lo consigue; :" +"func:`fork` y :func:`fcntl` están restringidas por las limitaciones de la " +"capa de emulación subyacente. El puerto estándar de OS/2, que utiliza el " +"compilador Visual Age de IBM, también obtuvo soporte para la semántica de " +"importación sensible a mayúsculas y minúsculas como parte de la integración " +"del puerto EMX en CVS. (Contribución de Andrew MacIntyre)." #: ../Doc/whatsnew/2.3.rst:1949 msgid "" @@ -2157,6 +2227,11 @@ msgid "" "single routine is missing on the current OS version. Instead calling the " "missing routine will raise an exception. (Contributed by Jack Jansen.)" msgstr "" +"En MacOS, la mayoría de los módulos de la caja de herramientas se han " +"debilitado para mejorar la compatibilidad con versiones anteriores. Esto " +"significa que los módulos ya no fallarán al cargarse si falta una rutina en " +"la versión actual del sistema operativo. En su lugar, llamar a la rutina que " +"falta lanzará una excepción. (Contribución de Jack Jansen.)" #: ../Doc/whatsnew/2.3.rst:1954 msgid "" @@ -2164,16 +2239,21 @@ msgid "" "source distribution, were updated for 2.3. (Contributed by Sean " "Reifschneider.)" msgstr "" +"Los archivos de especificaciones RPM, que se encuentran en el directorio :" +"file:`Misc/RPM/` en la distribución de fuentes de Python, fueron " +"actualizados para 2.3. (Contribución de Sean Reifschneider)." #: ../Doc/whatsnew/2.3.rst:1957 msgid "" "Other new platforms now supported by Python include AtheOS (http://www." "atheos.cx/), GNU/Hurd, and OpenVMS." msgstr "" +"Otras plataformas nuevas que ahora soporta Python son AtheOS (http://www." +"atheos.cx/), GNU/Hurd y OpenVMS." #: ../Doc/whatsnew/2.3.rst:1966 msgid "Other Changes and Fixes" -msgstr "" +msgstr "Otros cambios y correcciones" #: ../Doc/whatsnew/2.3.rst:1968 msgid "" @@ -2182,10 +2262,15 @@ msgid "" "there were 523 patches applied and 514 bugs fixed between Python 2.2 and " "2.3. Both figures are likely to be underestimates." msgstr "" +"Como es habitual, hay un montón de otras mejoras y correcciones de errores " +"repartidas por el árbol de fuentes. Una búsqueda en los registros de " +"cambios de CVS revela que se aplicaron 523 parches y se corrigieron 514 " +"errores entre Python 2.2 y 2.3. Es probable que ambas cifras estén " +"subestimadas." #: ../Doc/whatsnew/2.3.rst:1973 msgid "Some of the more notable changes are:" -msgstr "" +msgstr "Algunos de los cambios más notables son:" #: ../Doc/whatsnew/2.3.rst:1975 msgid "" @@ -2195,6 +2280,12 @@ msgid "" "environment variable can be set before running the Python interpreter, or it " "can be set by the Python program as part of its execution." msgstr "" +"Si se establece la variable de entorno :envvar:`PYTHONINSPECT`, el " +"intérprete de Python entrará en el prompt interactivo después de ejecutar un " +"programa Python, como si Python hubiera sido invocado con la opción :option:" +"`-i`. La variable de entorno se puede establecer antes de ejecutar el " +"intérprete de Python, o puede ser establecida por el programa de Python como " +"parte de su ejecución." #: ../Doc/whatsnew/2.3.rst:1981 msgid "" @@ -2204,12 +2295,19 @@ msgid "" "example, the option '``-uall,-bsddb``' could be used to enable the use of " "all resources except ``bsddb``." msgstr "" +"El script :file:`regrtest.py` ahora proporciona una forma de permitir " +"\"todos los recursos excepto *foo*\". Un nombre de recurso pasado a la " +"opción :option:`!-u` puede ahora llevar un prefijo (``'-'``) para significar " +"\"eliminar este recurso\". Por ejemplo, la opción ``-uall,-bsddb`` podría " +"utilizarse para habilitar el uso de todos los recursos excepto ``bsddb``." #: ../Doc/whatsnew/2.3.rst:1987 msgid "" "The tools used to build the documentation now work under Cygwin as well as " "Unix." msgstr "" +"Las herramientas utilizadas para construir la documentación ahora funcionan " +"tanto en Cygwin como en Unix." #: ../Doc/whatsnew/2.3.rst:1990 msgid "" @@ -2221,12 +2319,22 @@ msgid "" "to determine when to call the trace function, removing the need for " "``SET_LINENO`` entirely." msgstr "" +"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this " +"opcode was needed to produce line numbers in tracebacks and support trace " +"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " +"tracebacks have been computed using a different mechanism that works with " +"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " +"to determine when to call the trace function, removing the need for " +"``SET_LINENO`` entirely." #: ../Doc/whatsnew/2.3.rst:1998 msgid "" "It would be difficult to detect any resulting difference from Python code, " "apart from a slight speed up when Python is run without :option:`-O`." msgstr "" +"Sería difícil detectar cualquier diferencia resultante del código Python, " +"aparte de un ligero aumento de velocidad cuando se ejecuta Python sin :" +"option:`-O`." #: ../Doc/whatsnew/2.3.rst:2001 msgid "" @@ -2235,6 +2343,10 @@ msgid "" "added effect of making the code work as desired under \"python -O\" in " "earlier versions of Python." msgstr "" +"Las extensiones en C que acceden al campo :attr:`f_lineno` de los objetos " +"frame deben llamar en su lugar a ``PyCode_Addr2Line(f->f_code, f-" +">f_lasti)``. Esto tendrá el efecto añadido de hacer que el código funcione " +"como se desea bajo \"python -O\" en versiones anteriores de Python." #: ../Doc/whatsnew/2.3.rst:2006 msgid "" @@ -2243,28 +2355,39 @@ msgid "" "executed next. A ``jump`` command has been added to the :mod:`pdb` debugger " "taking advantage of this new feature. (Implemented by Richie Hindle.)" msgstr "" +"Una nueva característica ingeniosa es que las funciones de rastreo pueden " +"ahora asignar al atributo :attr:`f_lineno` de los objetos marco, cambiando " +"la línea que se ejecutará a continuación. Se ha añadido un comando ``jump`` " +"al depurador :mod:`pdb` aprovechando esta nueva característica. " +"(Implementado por Richie Hindle)." #: ../Doc/whatsnew/2.3.rst:2015 msgid "Porting to Python 2.3" -msgstr "" +msgstr "Adaptación a Python 2.3" #: ../Doc/whatsnew/2.3.rst:2017 msgid "" "This section lists previously described changes that may require changes to " "your code:" msgstr "" +"Esta sección enumera los cambios descritos anteriormente que pueden requerir " +"cambios en su código:" #: ../Doc/whatsnew/2.3.rst:2020 msgid "" ":keyword:`yield` is now always a keyword; if it's used as a variable name in " "your code, a different name must be chosen." msgstr "" +":keyword:`yield` es ahora siempre una palabra clave; si se utiliza como " +"nombre de variable en su código, debe elegirse un nombre diferente." #: ../Doc/whatsnew/2.3.rst:2023 msgid "" "For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " "character long." msgstr "" +"Para las cadenas *X* y *Y*, ``X en Y`` ahora funciona si *X* tiene más de un " +"carácter." #: ../Doc/whatsnew/2.3.rst:2026 msgid "" @@ -2272,6 +2395,9 @@ msgid "" "raising an :exc:`OverflowError` when a string or floating-point number is " "too large to fit into an integer." msgstr "" +"El constructor de tipo :func:`int` ahora retornará un entero largo en lugar " +"de lanzar un :exc:`OverflowError` cuando una cadena o un número de punto " +"flotante es demasiado grande para caber en un entero." #: ../Doc/whatsnew/2.3.rst:2030 msgid "" @@ -2279,6 +2405,10 @@ msgid "" "the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the " "top of the file. See section :ref:`section-encodings` for more information." msgstr "" +"Si tiene cadenas Unicode que contienen caracteres de 8 bits, debe declarar " +"la codificación del archivo (UTF-8, Latin-1, o la que sea) añadiendo un " +"comentario al principio del archivo. Consulte la sección :ref:`section-" +"encodings` para más información." #: ../Doc/whatsnew/2.3.rst:2034 msgid "" @@ -2287,6 +2417,10 @@ msgid "" "Python equivalent, if one exists, or wrapped with a :class:`_tkinter." "Tcl_Obj` object if no Python equivalent exists." msgstr "" +"La llamada a métodos Tcl a través de :mod:`_tkinter` ya no retorna sólo " +"cadenas. En su lugar, si Tcl retorna otros objetos, éstos se convierten a su " +"equivalente en Python, si existe, o se envuelven con un objeto :class:" +"`_tkinter.Tcl_Obj` si no hay equivalente en Python." #: ../Doc/whatsnew/2.3.rst:2039 msgid "" @@ -2294,6 +2428,10 @@ msgid "" "`FutureWarning`. Currently they're stored as 32-bit numbers and result in a " "negative value, but in Python 2.4 they'll become positive long integers." msgstr "" +"Los octales largos y hexadecimales grandes como ``0xffffff`` ahora activan " +"un :exc:`FutureWarning`. Actualmente se almacenan como números de 32 bits y " +"resultan en un valor negativo, pero en Python 2.4 se convertirán en enteros " +"largos positivos." #: ../Doc/whatsnew/2.3.rst:2043 msgid "" @@ -2304,10 +2442,18 @@ msgid "" "bits set and clear the desired upper bits. For example, to clear just the " "top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." msgstr "" +"Hay algunas formas de arreglar esta advertencia. Si realmente necesitas un " +"número positivo, simplemente añade una ``L`` al final del literal. Si está " +"tratando de obtener un entero de 32 bits con los bits inferiores " +"establecidos y ha utilizado previamente una expresión como ``~(1 << 31)``, " +"probablemente sea más claro comenzar con todos los bits establecidos y " +"borrar los bits superiores deseados. Por ejemplo, para borrar sólo el bit " +"superior (el 31), podrías escribir ``0xffffffL &~(1L<<31)``." #: ../Doc/whatsnew/2.3.rst:2050 msgid "You can no longer disable assertions by assigning to ``__debug__``." msgstr "" +"Ya no se pueden desactivar las aserciones asignándolas a ``__debug__``." #: ../Doc/whatsnew/2.3.rst:2052 msgid "" @@ -2317,22 +2463,32 @@ msgid "" "new :func:`get_distutil_options` function in your :file:`setup.py` and only " "uses the new keywords with a version of the Distutils that supports them::" msgstr "" +"La función Distutils :func:`setup` ha ganado varios argumentos de palabra " +"clave nuevos como *depends*. Las versiones antiguas de Distutils abortan si " +"se les pasan palabras clave desconocidas. Una solución es comprobar la " +"presencia de la nueva función :func:`get_distutil_options` en su :file:" +"`setup.py` y sólo utilizar las nuevas palabras clave con una versión de las " +"Distutils que las soporte::" #: ../Doc/whatsnew/2.3.rst:2065 msgid "" "Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " "warning." msgstr "" +"El uso de ``None`` como nombre de variable ahora resultará en una " +"advertencia :exc:`SyntaxWarning`." #: ../Doc/whatsnew/2.3.rst:2068 msgid "" "Names of extension types defined by the modules included with Python now " "contain the module and a ``'.'`` in front of the type name." msgstr "" +"Los nombres de los tipos de extensión definidos por los módulos incluidos en " +"Python contienen ahora el módulo y un ``.'`` delante del nombre del tipo." #: ../Doc/whatsnew/2.3.rst:2077 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.3.rst:2079 msgid "" @@ -2345,3 +2501,11 @@ msgid "" "Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " "Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." msgstr "" +"El autor desea agradecer a las siguientes personas por ofrecer sugerencias, " +"correcciones y asistencia en los diversos borradores de este artículo:Jeff " +"Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, Scott " +"David Daniels, Fred L. Drake, Jr, David Fraser, Kelly Gerber, Raymond " +"Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von Löwis, " +"Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal Norwitz, " +"Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil Schemenauer, " +"Roman Suzi, Jason Tishler, Just van Rossum." From ea9fa0014b521878f89ee376637e45cbedf15b27 Mon Sep 17 00:00:00 2001 From: Gonzalo Tixilima Date: Mon, 16 Aug 2021 08:38:44 -0500 Subject: [PATCH 52/94] =?UTF-8?q?Traducci=C3=B3n=20del=20archivo=20library?= =?UTF-8?q?/typing.po=20(#1331)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido archivo library/typing.po * avance traducción typing.po --- dictionaries/library_typing.txt | 2 + library/typing.po | 280 ++++++++++++++++++++++++-------- 2 files changed, 213 insertions(+), 69 deletions(-) create mode 100644 dictionaries/library_typing.txt diff --git a/dictionaries/library_typing.txt b/dictionaries/library_typing.txt new file mode 100644 index 0000000000..99a9846a66 --- /dev/null +++ b/dictionaries/library_typing.txt @@ -0,0 +1,2 @@ +variádico +variádicos diff --git a/library/typing.po b/library/typing.po index a84fbdcb91..d4ded70950 100644 --- a/library/typing.po +++ b/library/typing.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-15 10:28+0200\n" +"PO-Revision-Date: 2021-08-15 20:17-0500\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 3.0\n" #: ../Doc/library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" @@ -78,7 +79,6 @@ msgid "Type aliases" msgstr "Alias de tipo" #: ../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::" @@ -372,7 +372,6 @@ msgstr "" "compatible con todos los tipos." #: ../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 :data:`Any` and assign it to any variable::" @@ -392,7 +391,7 @@ msgstr "" "tipo :data:`Any` a un tipo más preciso. Por ejemplo, el Validador estático " "de tipos no reportó ningún error cuando se asignó ``a`` a ``s``, aún cuando " "se declaró ``s`` como de tipo :class:`str` y recibió un valor :class:`int` " -"en tiempo de ejecución." +"en tiempo de ejecución!" #: ../Doc/library/typing.rst:354 msgid "" @@ -459,7 +458,6 @@ msgstr "" # Frase ultracompleja, necesitar una revisión fuerte #: ../Doc/library/typing.rst:408 -#, fuzzy msgid "" "This requirement previously also applied to abstract base classes, such as :" "class:`~collections.abc.Iterable`. The problem with this approach is that a " @@ -468,11 +466,11 @@ msgid "" "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 " -"una clase debía de ser marcada explícitamente para proporcionar tal " -"funcionalidad, lo que resulta poco *pythónico* (idiomático) y poco ajustado " -"a lo que uno normalmente haría en un código Python tipado dinámicamente. Por " -"ejemplo, esto sí se ajusta al :pep:`484`::" +"(ABC), tales como :class:`~collections.abc.Iterable`. El problema con esta " +"estrategia es que una clase debía de ser marcada explícitamente para " +"proporcionar tal funcionalidad, lo que resulta poco *pythónico* (idiomático) " +"y poco ajustado a lo que uno normalmente haría en un código Python tipado " +"dinámicamente. Por ejemplo, esto sí se ajusta al :pep:`484`::" #: ../Doc/library/typing.rst:421 msgid "" @@ -500,12 +498,11 @@ msgstr "" #: ../Doc/library/typing.rst:442 msgid "Module contents" -msgstr "" +msgstr "Contenido del módulo" #: ../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:" +msgstr "El módulo define las siguientes clases, funciones y decoradores." #: ../Doc/library/typing.rst:448 msgid "" @@ -514,6 +511,11 @@ msgid "" "variables inside ``[]``. These types became redundant in Python 3.9 when the " "corresponding pre-existing classes were enhanced to support ``[]``." msgstr "" +"Este módulo define algunos tipos que son subclases de clases que ya existen " +"en la librería estándar, y que además extienden :class:`Generic` para " +"soportar variables de tipo dentro de ``[]``. Estos tipos se vuelven " +"redundantes en Python 3.9 ya que las clases correspondientes fueron " +"mejoradas para soportar ``[]``." #: ../Doc/library/typing.rst:454 msgid "" @@ -522,6 +524,10 @@ msgid "" "checkers will flag the deprecated types when the checked program targets " "Python 3.9 or newer." msgstr "" +"Los tipos redundantes están descontinuados con Python 3.9 pero el intérprete " +"no mostrará ninguna advertencia. Se espera que los verificadores de tipo " +"marquen estos tipos como obsoletos cuando el programa a verificar apunte a " +"Python 3.9 o superior." #: ../Doc/library/typing.rst:459 msgid "" @@ -529,19 +535,23 @@ msgid "" "first Python version released 5 years after the release of Python 3.9.0. See " "details in :pep:`585`—*Type Hinting Generics In Standard Collections*." msgstr "" +"Los tipos obsoletos serán removidos del módulo :class:`Generic` en la " +"primera versión de Python que sea lanzada 5 años después del lanzamiento de " +"Python 3.9.0. Véase los detalles en :pep:`585` -- *Sugerencias de tipo " +"genéricas en las Colecciones Estándar*." #: ../Doc/library/typing.rst:465 msgid "Special typing primitives" -msgstr "" +msgstr "Primitivos especiales de tipado" #: ../Doc/library/typing.rst:468 -#, fuzzy msgid "Special types" -msgstr "Tipo Optional." +msgstr "Tipos especiales" #: ../Doc/library/typing.rst:470 msgid "These can be used as types in annotations and do not support ``[]``." msgstr "" +"Estos pueden ser usados como tipos en anotaciones y no soportan ``[]``." #: ../Doc/library/typing.rst:474 msgid "Special type indicating an unconstrained type." @@ -565,13 +575,15 @@ msgstr "" #: ../Doc/library/typing.rst:493 msgid "Special forms" -msgstr "" +msgstr "Formas especiales" #: ../Doc/library/typing.rst:495 msgid "" "These can be used as types in annotations using ``[]``, each having a unique " "syntax." msgstr "" +"Estas se pueden usar como anotaciones de tipo usando ``[]``, cada cual tiene " +"una sintaxis única." #: ../Doc/library/typing.rst:499 msgid "" @@ -609,6 +621,8 @@ msgid "" ":class:`builtins.tuple ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`builtins.tuple ` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:517 msgid "Union type; ``Union[X, Y]`` means either X or Y." @@ -724,6 +738,8 @@ msgid "" ":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Callable` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:592 msgid "" @@ -780,6 +796,8 @@ msgid "" ":class:`builtins.type ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`builtins.type ` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:638 msgid "" @@ -809,6 +827,11 @@ msgid "" "now raise a :exc:`TypeError` exception during equality comparisons if one of " "their parameters are not :term:`immutable`." msgstr "" +"``Literal`` ahora elimina los parámetros duplicados. La comparación de " +"igualdad entre objetos ``Literal`` ya no dependen del orden de los " +"parámetros. Los objetos ``Literal`` ahora lanzarán una excepción :exc:" +"`TypeError` durante la comparación de igualdad si uno de sus parámetros no " +"son :term:`immutable`." #: ../Doc/library/typing.rst:666 msgid "Special type construct to mark class variables." @@ -878,6 +901,21 @@ msgid "" "mypy or Pyre, which can safely ignore ``x``) together with runtime access to " "``x`` within a specific application." msgstr "" +"Un tipo introducido en :pep:`593` (``Anotaciones flexibles de función y " +"variable``), para decorar tipos existentes con metadatos específicos del " +"contexto (posiblemente múltiples partes del mismo, ya que ``Annotated`` es " +"variádico). En concreto, un tipo ``T`` puede ser anotado con el metadato " +"``x`` a través del *typehint* ``Annotated[T,x]``. Estos metadatos se pueden " +"utilizar para el análisis estático o en tiempo de ejecución. Si una librería " +"(o herramienta) encuentra un *typehint* ``Annotated[T,x]`` y no encuentra " +"una lógica especial para el metadato ``x``, este debería ignorarlo o " +"simplemente tratar el tipo como ``T``. A diferencia de la funcionalidad " +"``no_type_check``, que actualmente existe en el módulo ``typing``, que " +"deshabilita completamente la comprobación de anotaciones de tipo en una " +"función o clase, el tipo ``Annotated`` permite tanto la comprobación de " +"tipos estático de ``T`` (por ejemplo, *mypy* o *Pyre*, el cuál ignoraría " +"``x`` de forma segura) en conjunto con el acceso a ``x`` en tiempo de " +"ejecución dentro de una aplicación específica." #: ../Doc/library/typing.rst:725 msgid "" @@ -887,6 +925,11 @@ msgid "" "scan through the annotations to determine if they are of interest (e.g., " "using ``isinstance()``)." msgstr "" +"En última instancia, la responsabilidad de cómo interpretar las anotaciones " +"(si es que la hay) es de la herramienta o librería que encuentra el tipo " +"``Annotated``. Una herramienta o librería que encuentra un tipo " +"``Annotated`` puede escanear las anotaciones para determinar si son de " +"interés. (por ejemplo, usando ``isinstance()``)." #: ../Doc/library/typing.rst:731 msgid "" @@ -894,6 +937,9 @@ msgid "" "unknown annotation it should just ignore it and treat annotated type as the " "underlying type." msgstr "" +"Cuando una herramienta o librería no soporta anotaciones o encuentra una " +"anotación desconocida, simplemente debe ignorarla o tratar la anotación como " +"el tipo subyacente." #: ../Doc/library/typing.rst:735 msgid "" @@ -901,6 +947,8 @@ msgid "" "is allowed to have several annotations on one type and how to merge those " "annotations." msgstr "" +"Depende de la herramienta que consume las anotaciones decidir si el cliente " +"puede tener varias anotaciones en un tipo y cómo combinar esas anotaciones." #: ../Doc/library/typing.rst:739 msgid "" @@ -909,62 +957,78 @@ msgid "" "those annotations are in charge of dealing with potential duplicates. For " "example, if you are doing value range analysis you might allow this::" msgstr "" +"Dado que el tipo ``Annotated`` permite colocar varias anotaciones del mismo " +"(o diferente) tipo(s) en cualquier nodo, las herramientas o librerías que " +"consumen dichas anotaciones están a cargo de ocuparse de potenciales " +"duplicados. Por ejemplo, si se está realizando un análisis de rango, esto se " +"debería permitir::" #: ../Doc/library/typing.rst:748 msgid "" "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " "the extra annotations at runtime." msgstr "" +"Pasar ``include_extras=True`` a :func:`get_type_hints` permite acceder a las " +"anotaciones extra en tiempo de ejecución." #: ../Doc/library/typing.rst:751 msgid "The details of the syntax:" -msgstr "" +msgstr "Los detalles de la sintaxis:" #: ../Doc/library/typing.rst:753 msgid "The first argument to ``Annotated`` must be a valid type" -msgstr "" +msgstr "El primer argumento en ``Annotated`` debe ser un tipo válido" #: ../Doc/library/typing.rst:755 msgid "" "Multiple type annotations are supported (``Annotated`` supports variadic " "arguments)::" msgstr "" +"Se permiten varias anotaciones de tipo (``Annotated`` admite argumentos " +"variádicos)::" #: ../Doc/library/typing.rst:760 msgid "" "``Annotated`` must be called with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" +"``Annotated`` debe ser llamado con al menos dos argumentos " +"(``Annotated[int]`` no es válido)" #: ../Doc/library/typing.rst:763 msgid "" "The order of the annotations is preserved and matters for equality checks::" msgstr "" +"Se mantiene el orden de las anotaciones y se toma en cuenta para chequeos de " +"igualdad::" #: ../Doc/library/typing.rst:770 msgid "" "Nested ``Annotated`` types are flattened, with metadata ordered starting " "with the innermost annotation::" msgstr "" +"Los tipos ``Annotated`` anidados son aplanados con los metadatos ordenados " +"empezando por la anotación más interna::" #: ../Doc/library/typing.rst:777 msgid "Duplicated annotations are not removed::" -msgstr "" +msgstr "Anotaciones duplicadas no son removidas::" #: ../Doc/library/typing.rst:783 msgid "``Annotated`` can be used with nested and generic aliases::" -msgstr "" +msgstr "``Anotated`` puede ser usado con alias anidados y genéricos::" #: ../Doc/library/typing.rst:794 -#, fuzzy msgid "Building generic types" -msgstr "Tipos genéricos definidos por el usuario" +msgstr "Tipos de construcción de genéricos" #: ../Doc/library/typing.rst:796 msgid "" "These are not used in annotations. They are building blocks for creating " "generic types." msgstr "" +"Estos no son utilizados en anotaciones. Son utilizados como bloques para " +"crear tipos genéricos." #: ../Doc/library/typing.rst:800 msgid "Abstract base class for generic types." @@ -992,9 +1056,7 @@ msgstr "Variable de tipo." 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 " @@ -1003,9 +1065,9 @@ msgid "" 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::" +"como para definición de funciones genéricas. Véase :class:`Generic` para más " +"información sobre tipos genéricos. Las funciones genéricas funcionan de la " +"siguiente manera::" #: ../Doc/library/typing.rst:844 msgid "" @@ -1099,7 +1161,6 @@ msgstr "" "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 " @@ -1109,9 +1170,9 @@ msgid "" 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::" +"que no es un protocolo. Esto permite una comprobación estructural simple, " +"muy semejante a \"one trick ponies\" en :mod:`collections.abc` con :class:" +"`Iterable`. Por ejemplo::" #: ../Doc/library/typing.rst:925 msgid "" @@ -1122,16 +1183,24 @@ msgid "" "__float__`` method exists only to raise a :class:`TypeError` with a more " "informative message." msgstr "" +":func:`runtime_checkable` comprobará únicamente la presencia de los métodos " +"requeridos, no sus firmas de tipo! Por ejemplo, :class:`builtins.complex " +"` implementa :func:`__float__`, por lo cual pasaría la " +"comprobación :func:`issubclass` contra :class:`SupportsFloat`. Sin embargo, " +"el método ``complex.__float__`` existe únicamente para lanzar un :class:" +"`TypeError` con un mensaje más informativo." #: ../Doc/library/typing.rst:934 msgid "Other special directives" -msgstr "" +msgstr "Otras directivas especiales" #: ../Doc/library/typing.rst:936 msgid "" "These are not used in annotations. They are building blocks for declaring " "types." msgstr "" +"Estos no son utilizados en anotaciones. Son utilizados como bloques para " +"crear tipos genéricos." #: ../Doc/library/typing.rst:940 msgid "Typed version of :func:`collections.namedtuple`." @@ -1196,18 +1265,16 @@ msgstr "" "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." +"Se remueve 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. " @@ -1222,10 +1289,11 @@ msgid "" "Special construct to add type hints to a dictionary. At runtime it is a " "plain :class:`dict`." msgstr "" +"Es una construcción especial para añadir indicadores de tipo a un " +"diccionario. En tiempo de ejecución es un :class:`dict` simple." # 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 " @@ -1235,7 +1303,7 @@ 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::" +"en tiempo de ejecución y solo es aplicada por validadores de tipo. Uso::" #: ../Doc/library/typing.rst:1029 msgid "" @@ -1280,11 +1348,11 @@ msgstr "" #: ../Doc/library/typing.rst:1055 msgid "Generic concrete collections" -msgstr "" +msgstr "Colecciones genéricas concretas" #: ../Doc/library/typing.rst:1058 msgid "Corresponding to built-in types" -msgstr "" +msgstr "Correspondientes a tipos integrados" #: ../Doc/library/typing.rst:1062 msgid "" @@ -1305,6 +1373,8 @@ msgid "" ":class:`builtins.dict ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`builtins.dict ` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1077 msgid "" @@ -1325,6 +1395,8 @@ msgid "" ":class:`builtins.list ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`builtins.list ` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1098 msgid "" @@ -1341,6 +1413,8 @@ msgid "" ":class:`builtins.set ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`builtins.set ` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1108 msgid "A generic version of :class:`builtins.frozenset `." @@ -1351,14 +1425,16 @@ msgid "" ":class:`builtins.frozenset ` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`builtins.frozenset ` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1114 msgid ":data:`Tuple` is a special form." -msgstr "" +msgstr ":data:`Tuple` es una forma especial." #: ../Doc/library/typing.rst:1117 msgid "Corresponding to types in :mod:`collections`" -msgstr "" +msgstr "Correspondiente a tipos en :mod:`collections`" #: ../Doc/library/typing.rst:1121 msgid "A generic version of :class:`collections.defaultdict`." @@ -1369,6 +1445,8 @@ msgid "" ":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.defaultdict` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1131 msgid "A generic version of :class:`collections.OrderedDict`." @@ -1379,6 +1457,8 @@ msgid "" ":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.OrderedDict` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1141 msgid "A generic version of :class:`collections.ChainMap`." @@ -1389,6 +1469,8 @@ msgid "" ":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`collections.ChainMap` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1152 msgid "A generic version of :class:`collections.Counter`." @@ -1399,6 +1481,8 @@ msgid "" ":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`collections.Counter` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1163 msgid "A generic version of :class:`collections.deque`." @@ -1409,13 +1493,14 @@ msgid "" ":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`collections.deque` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../Doc/library/typing.rst:1173 msgid "Other concrete types" -msgstr "" +msgstr "Otros tipos concretos" #: ../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 " @@ -1423,10 +1508,10 @@ msgid "" 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`." +"streams*) como los usados por la función :func:`open`. Estos tipos también " +"están en el *namespace* ``typing.io``." #: ../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 " @@ -1437,13 +1522,16 @@ 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]``." +"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, o ``Match[bytes]``. " +"Estos tipos también están en el *namespace* ``typing.re``." #: ../Doc/library/typing.rst:1194 msgid "" "Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" "pep:`585` and :ref:`types-genericalias`." msgstr "" +"Las clases ``Pattern`` y ``Match`` de :mod:`re` ahora soportan ``[]``. " +"Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1200 msgid "" @@ -1464,13 +1552,12 @@ msgstr "" "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." +msgstr "Clase base abstracta para tipos genéricos" #: ../Doc/library/typing.rst:1216 msgid "Corresponding to collections in :mod:`collections.abc`" -msgstr "" +msgstr "Correspondientes a las colecciones en :mod:`collections.abc`" #: ../Doc/library/typing.rst:1220 msgid "A generic version of :class:`collections.abc.Set`." @@ -1481,19 +1568,20 @@ msgid "" ":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." msgstr "" +":class:`collections.abc.Set` ahora soporta ``[]``. Véase :pep:`585` y :ref:" +"`types-genericalias`." #: ../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`." +"class:`memoryview` de secuencias de bytes." #: ../Doc/library/typing.rst:1233 msgid "" @@ -1508,6 +1596,8 @@ msgid "" ":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.ByteString` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1242 msgid "A generic version of :class:`collections.abc.Collection`" @@ -1518,6 +1608,8 @@ msgid "" ":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Collection` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1252 msgid "A generic version of :class:`collections.abc.Container`." @@ -1528,6 +1620,8 @@ msgid "" ":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Container` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1260 msgid "A generic version of :class:`collections.abc.ItemsView`." @@ -1538,6 +1632,8 @@ msgid "" ":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.ItemsView` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1268 msgid "A generic version of :class:`collections.abc.KeysView`." @@ -1548,6 +1644,8 @@ msgid "" ":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.KeysView` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1276 msgid "" @@ -1562,6 +1660,8 @@ msgid "" ":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Mapping` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1288 msgid "A generic version of :class:`collections.abc.MappingView`." @@ -1572,6 +1672,8 @@ msgid "" ":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MappingView` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1296 msgid "A generic version of :class:`collections.abc.MutableMapping`." @@ -1582,6 +1684,8 @@ msgid "" ":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableMapping` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1304 msgid "A generic version of :class:`collections.abc.MutableSequence`." @@ -1592,6 +1696,8 @@ msgid "" ":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableSequence` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1312 msgid "A generic version of :class:`collections.abc.MutableSet`." @@ -1602,6 +1708,8 @@ msgid "" ":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableSet` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1320 msgid "A generic version of :class:`collections.abc.Sequence`." @@ -1612,6 +1720,8 @@ msgid "" ":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Sequence` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1328 msgid "A generic version of :class:`collections.abc.ValuesView`." @@ -1622,10 +1732,12 @@ msgid "" ":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.ValuesView` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1335 msgid "Corresponding to other types in :mod:`collections.abc`" -msgstr "" +msgstr "Correspondiente a otros tipos en :mod:`collections.abc`" #: ../Doc/library/typing.rst:1339 msgid "A generic version of :class:`collections.abc.Iterable`." @@ -1636,6 +1748,8 @@ msgid "" ":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Iterable` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1347 msgid "A generic version of :class:`collections.abc.Iterator`." @@ -1646,6 +1760,8 @@ msgid "" ":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Iterator` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1355 msgid "" @@ -1686,6 +1802,8 @@ msgid "" ":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Generator` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1390 msgid "An alias to :class:`collections.abc.Hashable`" @@ -1700,6 +1818,8 @@ msgid "" ":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Reversible` ahora soporta ``[]``. Véase :pep:`585` " +"y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1402 msgid "An alias to :class:`collections.abc.Sized`" @@ -1707,7 +1827,7 @@ msgstr "Un alias de :class:`collections.abc.Sized`" #: ../Doc/library/typing.rst:1405 msgid "Asynchronous programming" -msgstr "" +msgstr "Programación asíncrona" #: ../Doc/library/typing.rst:1409 msgid "" @@ -1724,6 +1844,8 @@ msgid "" ":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Coroutine` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1428 msgid "" @@ -1764,6 +1886,8 @@ msgid "" ":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsycGenerator` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1465 msgid "A generic version of :class:`collections.abc.AsyncIterable`." @@ -1774,6 +1898,8 @@ msgid "" ":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsyncIterable` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1475 msgid "A generic version of :class:`collections.abc.AsyncIterator`." @@ -1784,6 +1910,8 @@ msgid "" ":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsyncIterator` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1485 msgid "A generic version of :class:`collections.abc.Awaitable`." @@ -1794,10 +1922,12 @@ msgid "" ":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Awaitable` ahora soporta ``[]``. Véase :pep:`585` y :" +"ref:`types-genericalias`." #: ../Doc/library/typing.rst:1495 msgid "Context manager types" -msgstr "" +msgstr "Tipos del administrador de contextos" #: ../Doc/library/typing.rst:1499 msgid "A generic version of :class:`contextlib.AbstractContextManager`." @@ -1808,6 +1938,8 @@ msgid "" ":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:" "`585` and :ref:`types-genericalias`." msgstr "" +":class:`contextlib.AbstractContextManager` ahora soporta ``[]``. Véase :pep:" +"`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1510 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." @@ -1819,14 +1951,16 @@ msgid "" ":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :" "pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`contextlib.AbstractAsyncContextManager` ahora soporta ``[]``. Véase :" +"pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:1520 msgid "Protocols" -msgstr "" +msgstr "Protocolos" #: ../Doc/library/typing.rst:1522 msgid "These protocols are decorated with :func:`runtime_checkable`." -msgstr "" +msgstr "Estos protocolos se decoran con :func:`runtime_checkable`." #: ../Doc/library/typing.rst:1526 msgid "" @@ -1865,9 +1999,8 @@ msgstr "" "retornado." #: ../Doc/library/typing.rst:1557 -#, fuzzy msgid "Functions and decorators" -msgstr "Clases, funciones y decoradores" +msgstr "Funciones y decoradores" #: ../Doc/library/typing.rst:1561 msgid "Cast a value to a type." @@ -1989,7 +2122,7 @@ msgstr "" #: ../Doc/library/typing.rst:1657 msgid "Introspection helpers" -msgstr "" +msgstr "Ayudas de introspección" #: ../Doc/library/typing.rst:1661 msgid "" @@ -2022,10 +2155,13 @@ msgid "" "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example::" msgstr "" +"La función reemplaza todos los ``Annotated[T, ...]`` con ``T`` de manera " +"recursiva, a menos que ``include_extras`` se defina como ``True`` ( véase :" +"class:`Annotated` para más información). Por ejemplo::" #: ../Doc/library/typing.rst:1685 msgid "Added ``include_extras`` parameter as part of :pep:`593`." -msgstr "" +msgstr "Se agregan los parámetros ``include_extras`` como parte de :pep:`593`." # special forms se refiere a tipado exclusivo de typing (no el nativo como str # o int): Union, Optional ... @@ -2036,7 +2172,6 @@ msgstr "" "de tipado." #: ../Doc/library/typing.rst:1693 -#, fuzzy 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:" @@ -2048,11 +2183,14 @@ msgid "" 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::" +"clase integrada o una clase de :mod:`collections`, se normaliza a su clase " +"original. Si ``X`` es una :class:`Union` o :class:`Literal` contenidos en " +"otro tipo genérico, el orden de ``(Y, Z, ...)`` podría ser distinto al orden " +"de los argumentos originales ``[Y, Z, ...]`` debido al cacheo de tipos. Los " +"objetos no soportados retornan ``None`` y ``()`` correspondientemente. " +"Ejemplos::" #: ../Doc/library/typing.rst:1712 -#, fuzzy msgid "" "A class used for internal typing representation of string forward " "references. For example, ``list[\"SomeClass\"]`` is implicitly transformed " @@ -2067,7 +2205,7 @@ msgstr "" #: ../Doc/library/typing.rst:1720 msgid "Constant" -msgstr "" +msgstr "Constantes" #: ../Doc/library/typing.rst:1724 msgid "" @@ -2079,7 +2217,6 @@ msgstr "" "Uso::" #: ../Doc/library/typing.rst:1733 -#, fuzzy msgid "" "The first type annotation must be enclosed in quotes, making it a \"forward " "reference\", to hide the ``expensive_mod`` reference from the interpreter " @@ -2099,6 +2236,11 @@ msgid "" "stored as strings in ``__annotations__``, This makes it unnecessary to use " "quotes around the annotation. (see :pep:`563`)." msgstr "" +"Si ``from __future__ import annotations`` es usado en Python 3.7 o " +"posterior, las anotaciones no son evaluadas en tiempo de definición de " +"funciones. En cambio, son guardadas como cadenas de caracteres en " +"``__annotations__``, esto hace innecesario usar comillas alrededor de la " +"anotación. (véase :pep:`563`)." #~ msgid "" #~ "A simple typed namespace. At runtime it is equivalent to a plain :class:" From 455e9593a2d9831c86ca75ae7f7684e1d9f7ec30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Mon, 16 Aug 2021 15:29:29 +0100 Subject: [PATCH 53/94] =?UTF-8?q?Traducci=C3=B3n=20whatsnew/2.1=20(#1267)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * whatsnew 2.1 * Arreglado errores pospell y powrap Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes --- dictionaries/whatsnew_2.1.txt | 38 ++ whatsnew/2.1.po | 888 ++++++++++++++++++++++++++-------- 2 files changed, 726 insertions(+), 200 deletions(-) create mode 100644 dictionaries/whatsnew_2.1.txt diff --git a/dictionaries/whatsnew_2.1.txt b/dictionaries/whatsnew_2.1.txt new file mode 100644 index 0000000000..7a3609d924 --- /dev/null +++ b/dictionaries/whatsnew_2.1.txt @@ -0,0 +1,38 @@ +Allie +Ascher +Aycock +Billy +Dietmar +Edwards +Epler +Gellekum +Goodger +Graeme +Hudson +Hylton +Jeff +Jeremy +Majewski +Makefiles +Marangozov +Middleton +Moshe +Ping +Prescod +Purcell +Pythoneers +Reformulación +Reifschneider +Tishler +Unixware +Wolfson +Wouters +Yee +Zadka +autodetectando +dev +frame +llamable +makefiles +Pythonistas +memoización diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index 36d0ccce05..9cbd4605bf 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -6,49 +6,62 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-07 09:59+0100\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: Claudia Millan \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/whatsnew/2.1.rst:3 msgid "What's New in Python 2.1" -msgstr "" +msgstr "Novedades de Python 2.1" #: ../Doc/whatsnew/2.1.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.1.rst:5 msgid "A.M. Kuchling" -msgstr "" +msgstr "A.M. Kuchling" #: ../Doc/whatsnew/2.1.rst:13 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/whatsnew/2.1.rst:15 msgid "" -"This article explains the new features in Python 2.1. While there aren't as " +"This article explains the new features in Python 2.1While there aren't as " "many changes in 2.1 as there were in Python 2.0, there are still some " -"pleasant surprises in store. 2.1 is the first release to be steered through " +"pleasant surprises in store2.1 is the first release to be steered through " "the use of Python Enhancement Proposals, or PEPs, so most of the sizable " "changes have accompanying PEPs that provide more complete documentation and " -"a design rationale for the change. This article doesn't attempt to document " +"a design rationale for the changeThis article doesn't attempt to document " "the new features completely, but simply provides an overview of the new " "features for Python programmers. Refer to the Python 2.1 documentation, or " "to the specific PEP, for more details about any new feature that " "particularly interests you." msgstr "" +"Este artículo explica las nuevas características de Python 2.1. Aunque no " +"hay tantos cambios en 2.1 como en Python 2.0, todavía hay algunas sorpresas " +"agradables. La versión 2.1 es la primera que se dirige mediante el uso de " +"Propuestas de Mejora de Python, o PEPs, por lo que la mayoría de los cambios " +"importantes tienen PEPs adjuntos que proporcionan una documentación más " +"completa y una justificación de diseño para el cambio. Este artículo no " +"intenta documentar las nuevas características por completo, sino que " +"simplemente proporciona una visión general de las nuevas características " +"para los programadores de Python. Consulta la documentación de Python 2.1, o " +"el PEP específico, para obtener más detalles sobre cualquier nueva " +"característica que te interese particularmente." #: ../Doc/whatsnew/2.1.rst:25 msgid "" @@ -57,53 +70,83 @@ msgid "" "the first release to come out at this faster pace, with the first alpha " "appearing in January, 3 months after the final version of 2.0 was released." msgstr "" +"Un objetivo reciente del equipo de desarrollo de Python ha sido acelerar el " +"ritmo de las nuevas versiones, con una nueva versión cada 6 a 9 meses. La " +"versión 2.1 es la primera que sale a este ritmo más rápido, con la primera " +"alfa que apareció en enero, 3 meses después de que se publicara la versión " +"final de la 2.0." #: ../Doc/whatsnew/2.1.rst:30 msgid "The final release of Python 2.1 was made on April 17, 2001." -msgstr "" +msgstr "La versión final de Python 2.1 se realizó el 17 de abril de 2001." #: ../Doc/whatsnew/2.1.rst:36 msgid "PEP 227: Nested Scopes" -msgstr "" +msgstr "PEP 227: Ámbitos anidados" #: ../Doc/whatsnew/2.1.rst:38 msgid "" -"The largest change in Python 2.1 is to Python's scoping rules. In Python " -"2.0, at any given time there are at most three namespaces used to look up " -"variable names: local, module-level, and the built-in namespace. This often " -"surprised people because it didn't match their intuitive expectations. For " +"The largest change in Python 2.1 is to Python's scoping rulesIn Python 2.0, " +"at any given time there are at most three namespaces used to look up " +"variable names: local, module-level, and the built-in namespaceThis often " +"surprised people because it didn't match their intuitive expectationsFor " "example, a nested recursive function definition doesn't work::" msgstr "" +"El mayor cambio en Python 2.1 es el de las reglas de alcance de Python. En " +"Python 2.0, en cualquier momento hay como máximo tres espacios de nombres " +"utilizados para buscar nombres de variables: local, a nivel de módulo y el " +"espacio de nombres incorporado. Esto a menudo sorprendía a la gente porque " +"no coincidía con sus expectativas intuitivas. Por ejemplo, una definición de " +"función recursiva anidada no funciona::" #: ../Doc/whatsnew/2.1.rst:51 msgid "" "The function :func:`g` will always raise a :exc:`NameError` exception, " "because the binding of the name ``g`` isn't in either its local namespace or " -"in the module-level namespace. This isn't much of a problem in practice " -"(how often do you recursively define interior functions like this?), but " -"this also made using the :keyword:`lambda` expression clumsier, and this was " -"a problem in practice. In code which uses :keyword:`lambda` you can often " -"find local variables being copied by passing them as the default values of " +"in the module-level namespaceThis isn't much of a problem in practice (how " +"often do you recursively define interior functions like this?), but this " +"also made using the :keyword:`lambda` expression clumsier, and this was a " +"problem in practice. In code which uses :keyword:`lambda` you can often find " +"local variables being copied by passing them as the default values of " "arguments. ::" msgstr "" +"La función :func:`g` siempre lanzará una excepción :exc:`NameError`, porque " +"el enlace del nombre ``g`` no está ni en su espacio de nombres local ni en " +"el espacio de nombres a nivel de módulo. Esto no es un gran problema en la " +"práctica (¿con qué frecuencia se definen recursivamente funciones interiores " +"como ésta?), pero esto también hacía más torpe el uso de la expresión :" +"keyword:`lambda`, y esto era un problema en la práctica. En el código que " +"utiliza :keyword:`lambda` a menudo se pueden encontrar variables locales que " +"se copian al pasarlas como valores por defecto de los argumentos. ::" #: ../Doc/whatsnew/2.1.rst:65 msgid "" "The readability of Python code written in a strongly functional style " "suffers greatly as a result." msgstr "" +"La legibilidad del código Python escrito en un estilo fuertemente funcional " +"sufre mucho como resultado." #: ../Doc/whatsnew/2.1.rst:68 msgid "" "The most significant change to Python 2.1 is that static scoping has been " -"added to the language to fix this problem. As a first effect, the " -"``name=name`` default argument is now unnecessary in the above example. Put " +"added to the language to fix this problemAs a first effect, the " +"``name=name`` default argument is now unnecessary in the above examplePut " "simply, when a given variable name is not assigned a value within a function " "(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" "`import` statements), references to the variable will be looked up in the " -"local namespace of the enclosing scope. A more detailed explanation of the " +"local namespace of the enclosing scopeA more detailed explanation of the " "rules, and a dissection of the implementation, can be found in the PEP." msgstr "" +"El cambio más significativo de Python 2.1 es que se ha añadido al lenguaje " +"el ámbito estático para solucionar este problema. Como primer efecto, el " +"argumento por defecto ``name=name`` es ahora innecesario en el ejemplo " +"anterior. En pocas palabras, cuando a un nombre de variable dado no se le " +"asigna un valor dentro de una función (mediante una asignación, o las " +"sentencias :keyword:`def`, :keyword:`class`, o :keyword:`import`), las " +"referencias a la variable se buscarán en el espacio de nombres local del " +"ámbito que la rodea. Puede encontrar una explicación más detallada de las " +"reglas y una disección de la implementación en el PEP." #: ../Doc/whatsnew/2.1.rst:77 msgid "" @@ -113,26 +156,46 @@ msgid "" "rather unlikely though, since such code would have been pretty confusing to " "read in the first place." msgstr "" +"Este cambio puede causar algunos problemas de compatibilidad para el código " +"en el que el mismo nombre de variable se utiliza tanto a nivel de módulo " +"como de variable local dentro de una función que contiene otras definiciones " +"de función. Sin embargo, esto parece bastante improbable, ya que dicho " +"código habría sido bastante confuso de leer en primer lugar." #: ../Doc/whatsnew/2.1.rst:83 msgid "" "One side effect of the change is that the ``from module import *`` and " "``exec`` statements have been made illegal inside a function scope under " -"certain conditions. The Python reference manual has said all along that " -"``from module import *`` is only legal at the top level of a module, but the " -"CPython interpreter has never enforced this before. As part of the " +"certain conditionsThe Python reference manual has said all along that ``from " +"module import *`` is only legal at the top level of a module, but the " +"CPython interpreter has never enforced this beforeAs part of the " "implementation of nested scopes, the compiler which turns Python source into " "bytecodes has to generate different code to access variables in a containing " -"scope. ``from module import *`` and ``exec`` make it impossible for the " +"scope``from module import *`` and ``exec`` make it impossible for the " "compiler to figure this out, because they add names to the local namespace " "that are unknowable at compile time. Therefore, if a function contains " "function definitions or :keyword:`lambda` expressions with free variables, " "the compiler will flag this by raising a :exc:`SyntaxError` exception." msgstr "" +"Un efecto secundario del cambio es que las sentencias ``from module import " +"*`` y ``exec`` se han hecho ilegales dentro del ámbito de una función bajo " +"ciertas condiciones. El manual de referencia de Python ha dicho todo el " +"tiempo que ``from module import *`` sólo es legal en el nivel superior de un " +"módulo, pero el intérprete de CPython nunca ha aplicado esto antes. Como " +"parte de la implementación de los ámbitos anidados, el compilador que " +"convierte el código fuente de Python en bytecodes tiene que generar un " +"código diferente para acceder a las variables de un ámbito contenedor. Los " +"códigos ``from module import *`` y ``exec`` hacen que el compilador no pueda " +"averiguar esto, porque añaden nombres al espacio de nombres local que son " +"desconocidos en tiempo de compilación. Por lo tanto, si una función contiene " +"definiciones de funciones o expresiones :keyword:`lambda` con variables " +"libres, el compilador lo señalará lanzando una excepción :exc:`SyntaxError`." #: ../Doc/whatsnew/2.1.rst:96 msgid "To make the preceding explanation a bit clearer, here's an example::" msgstr "" +"Para que la explicación anterior quede un poco más clara, he aquí un " +"ejemplo::" #: ../Doc/whatsnew/2.1.rst:105 msgid "" @@ -140,6 +203,9 @@ msgid "" "would define a new local variable named ``x`` whose value should be accessed " "by :func:`g`." msgstr "" +"La línea 4 que contiene la sentencia ``exec`` es un error de sintaxis, ya " +"que ``exec`` definiría una nueva variable local llamada ``x`` cuyo valor " +"debería ser accedido por :func:`g`." #: ../Doc/whatsnew/2.1.rst:109 msgid "" @@ -147,67 +213,94 @@ msgid "" "most Python code (and when it is used, it's often a sign of a poor design " "anyway)." msgstr "" +"Esto no debería ser una gran limitación, ya que ``exec`` rara vez se utiliza " +"en la mayoría del código de Python (y cuando se utiliza, a menudo es un " +"signo de un mal diseño de todos modos)." #: ../Doc/whatsnew/2.1.rst:113 msgid "" "Compatibility concerns have led to nested scopes being introduced gradually; " "in Python 2.1, they aren't enabled by default, but can be turned on within a " -"module by using a future statement as described in :pep:`236`. (See the " +"module by using a future statement as described in :pep:`236`(See the " "following section for further discussion of :pep:`236`.) In Python 2.2, " "nested scopes will become the default and there will be no way to turn them " "off, but users will have had all of 2.1's lifetime to fix any breakage " "resulting from their introduction." msgstr "" +"Los problemas de compatibilidad han llevado a que los ámbitos anidados se " +"introduzcan gradualmente; en Python 2.1, no están habilitados por defecto, " +"pero pueden activarse dentro de un módulo utilizando una sentencia future " +"como se describe en :pep:`236`. (En Python 2.2, los ámbitos anidados se " +"convertirán en el valor por defecto y no habrá forma de desactivarlos, pero " +"los usuarios habrán tenido toda la vida de la versión 2.1 para arreglar " +"cualquier rotura resultante de su introducción." #: ../Doc/whatsnew/2.1.rst:123 msgid ":pep:`227` - Statically Nested Scopes" -msgstr "" +msgstr ":pep:`227` - Ámbitos anidados estáticamente" #: ../Doc/whatsnew/2.1.rst:124 msgid "Written and implemented by Jeremy Hylton." -msgstr "" +msgstr "Escrito e implementado por Jeremy Hylton." #: ../Doc/whatsnew/2.1.rst:130 msgid "PEP 236: __future__ Directives" -msgstr "" +msgstr "PEP 236: Directivas __future__" #: ../Doc/whatsnew/2.1.rst:132 msgid "" "The reaction to nested scopes was widespread concern about the dangers of " "breaking code with the 2.1 release, and it was strong enough to make the " -"Pythoneers take a more conservative approach. This approach consists of " +"Pythoneers take a more conservative approachThis approach consists of " "introducing a convention for enabling optional functionality in release N " "that will become compulsory in release N+1." msgstr "" +"La reacción a los ámbitos anidados fue una preocupación generalizada sobre " +"los peligros de romper el código con la versión 2.1, y fue lo " +"suficientemente fuerte como para que los Pythonistas adoptaran un enfoque " +"más conservador. Este enfoque consiste en introducir una convención para " +"habilitar una funcionalidad opcional en la versión N que se convertirá en " +"obligatoria en la versión N+1." #: ../Doc/whatsnew/2.1.rst:138 msgid "" "The syntax uses a ``from...import`` statement using the reserved module " -"name :mod:`__future__`. Nested scopes can be enabled by the following " +"name :mod:`__future__`Nested scopes can be enabled by the following " "statement::" msgstr "" +"La sintaxis utiliza una sentencia ``from...import`` utilizando el nombre de " +"módulo reservado :mod:`__future__`. Los ámbitos anidados pueden habilitarse " +"mediante la siguiente sentencia::" #: ../Doc/whatsnew/2.1.rst:143 msgid "" "While it looks like a normal :keyword:`import` statement, it's not; there " "are strict rules on where such a future statement can be put. They can only " "be at the top of a module, and must precede any Python code or regular :" -"keyword:`!import` statements. This is because such statements can affect " -"how the Python bytecode compiler parses code and generates bytecode, so they " +"keyword:`!import` statementsThis is because such statements can affect how " +"the Python bytecode compiler parses code and generates bytecode, so they " "must precede any statement that will result in bytecodes being produced." msgstr "" +"Aunque parece una sentencia :keyword:`import` normal, no lo es; hay reglas " +"estrictas sobre dónde se puede poner una sentencia future. Sólo pueden estar " +"en la parte superior de un módulo, y deben preceder a cualquier código " +"Python o a las sentencias :keyword:`!import` normales. Esto se debe a que " +"tales declaraciones pueden afectar a la forma en que el compilador de código " +"de bytes de Python analiza el código y genera el código de bytes, por lo que " +"deben preceder a cualquier declaración que dé lugar a la producción de " +"códigos de bytes." #: ../Doc/whatsnew/2.1.rst:153 msgid ":pep:`236` - Back to the :mod:`__future__`" -msgstr "" +msgstr ":pep:`236` - De vuelta al :mod:`__future__`" #: ../Doc/whatsnew/2.1.rst:154 msgid "Written by Tim Peters, and primarily implemented by Jeremy Hylton." -msgstr "" +msgstr "Escrito por Tim Peters, y ejecutado principalmente por Jeremy Hylton." #: ../Doc/whatsnew/2.1.rst:160 msgid "PEP 207: Rich Comparisons" -msgstr "" +msgstr "PEP 207: Comparaciones Enriquecidas" #: ../Doc/whatsnew/2.1.rst:162 msgid "" @@ -216,223 +309,306 @@ msgid "" "implement a :meth:`__cmp__` method that was given two instances of a class, " "and could only return 0 if they were equal or +1 or -1 if they weren't; the " "method couldn't raise an exception or return anything other than a Boolean " -"value. Users of Numeric Python often found this model too weak and " +"valueUsers of Numeric Python often found this model too weak and " "restrictive, because in the number-crunching programs that numeric Python is " "used for, it would be more useful to be able to perform elementwise " "comparisons of two matrices, returning a matrix containing the results of a " -"given comparison for each element. If the two matrices are of different " -"sizes, then the compare has to be able to raise an exception to signal the " -"error." -msgstr "" +"given comparison for each elementIf the two matrices are of different sizes, " +"then the compare has to be able to raise an exception to signal the error." +msgstr "" +"En versiones anteriores, el soporte de Python para implementar comparaciones " +"en clases definidas por el usuario y tipos de extensión era bastante simple. " +"Las clases podían implementar un método :meth:`__cmp__` al que se le daban " +"dos instancias de una clase, y sólo podía retornar 0 si eran iguales o +1 o " +"-1 si no lo eran; el método no podía lanzar una excepción ni retornar nada " +"más que un valor booleano. Los usuarios de Python Numérico a menudo " +"encontraban este modelo demasiado débil y restrictivo, porque en los " +"programas de cálculo de números para los que se utiliza Numeric Python, " +"sería más útil poder realizar comparaciones por elementos de dos matrices, " +"retornando una matriz que contenga los resultados de una comparación dada " +"para cada elemento. Si las dos matrices son de diferente tamaño, entonces el " +"comparador tiene que ser capaz de lanzar una excepción para señalar el error." #: ../Doc/whatsnew/2.1.rst:174 msgid "" "In Python 2.1, rich comparisons were added in order to support this need. " "Python classes can now individually overload each of the ``<``, ``<=``, " -"``>``, ``>=``, ``==``, and ``!=`` operations. The new magic method names " -"are:" +"``>``, ``>=``, ``==``, and ``!=`` operationsThe new magic method names are:" msgstr "" +"En Python 2.1, se añadieron comparaciones enriquecidas para dar soporte a " +"esta necesidad. Las clases de Python pueden ahora sobrecargar " +"individualmente cada una de las operaciones ``<``, ``<=``, ``>`, ``>=``, " +"``==`` y ``!=``. Los nuevos nombres de métodos mágicos son:" #: ../Doc/whatsnew/2.1.rst:179 msgid "Operation" -msgstr "" +msgstr "Operación" #: ../Doc/whatsnew/2.1.rst:179 msgid "Method name" -msgstr "" +msgstr "Nombre del método" #: ../Doc/whatsnew/2.1.rst:181 msgid "``<``" -msgstr "" +msgstr "``<``" #: ../Doc/whatsnew/2.1.rst:181 msgid ":meth:`__lt__`" -msgstr "" +msgstr ":meth:`__lt__`" #: ../Doc/whatsnew/2.1.rst:183 msgid "``<=``" -msgstr "" +msgstr "``<=``" #: ../Doc/whatsnew/2.1.rst:183 msgid ":meth:`__le__`" -msgstr "" +msgstr ":meth:`__le__`" #: ../Doc/whatsnew/2.1.rst:185 msgid "``>``" -msgstr "" +msgstr "``>``" #: ../Doc/whatsnew/2.1.rst:185 msgid ":meth:`__gt__`" -msgstr "" +msgstr ":meth:`__gt__`" #: ../Doc/whatsnew/2.1.rst:187 msgid "``>=``" -msgstr "" +msgstr "``>=``" #: ../Doc/whatsnew/2.1.rst:187 msgid ":meth:`__ge__`" -msgstr "" +msgstr ":meth:`__ge__`" #: ../Doc/whatsnew/2.1.rst:189 msgid "``==``" -msgstr "" +msgstr "``==``" #: ../Doc/whatsnew/2.1.rst:189 msgid ":meth:`__eq__`" -msgstr "" +msgstr ":meth:`__eq__`" #: ../Doc/whatsnew/2.1.rst:191 msgid "``!=``" -msgstr "" +msgstr "``!=``" #: ../Doc/whatsnew/2.1.rst:191 msgid ":meth:`__ne__`" -msgstr "" +msgstr ":meth:`__ne__`" #: ../Doc/whatsnew/2.1.rst:194 msgid "" "(The magic methods are named after the corresponding Fortran operators ``.LT." -"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar " -"with these names and will find them easy to remember.)" +"``. ``.LE.``, &cNumeric programmers are almost certainly quite familiar with " +"these names and will find them easy to remember.)" msgstr "" +"(Los métodos mágicos se denominan como los correspondientes operadores de " +"Fortran ``.LT.``. ``.LE.``, &c. Los programadores numéricos están casi " +"seguramente bastante familiarizados con estos nombres y los encontrarán " +"fáciles de recordar.)" #: ../Doc/whatsnew/2.1.rst:198 msgid "" "Each of these magic methods is of the form ``method(self, other)``, where " "``self`` will be the object on the left-hand side of the operator, while " -"``other`` will be the object on the right-hand side. For example, the " +"``other`` will be the object on the right-hand sideFor example, the " "expression ``A < B`` will cause ``A.__lt__(B)`` to be called." msgstr "" +"Cada uno de estos métodos mágicos tiene la forma ``method(self, other)``, " +"donde ``self`` será el objeto que se encuentre en el lado izquierdo del " +"operador, mientras que ``other`` será el objeto que se encuentre en el lado " +"derecho. Por ejemplo, la expresión ``A < B`` hará que se llame a ``A." +"__lt__(B)``." #: ../Doc/whatsnew/2.1.rst:203 msgid "" "Each of these magic methods can return anything at all: a Boolean, a matrix, " -"a list, or any other Python object. Alternatively they can raise an " -"exception if the comparison is impossible, inconsistent, or otherwise " -"meaningless." +"a list, or any other Python objectAlternatively they can raise an exception " +"if the comparison is impossible, inconsistent, or otherwise meaningless." msgstr "" +"Cada uno de estos métodos mágicos puede retornar cualquier cosa: un " +"booleano, una matriz, una lista o cualquier otro objeto de Python. También " +"pueden lanzar una excepción si la comparación es imposible, inconsistente o " +"no tiene sentido." #: ../Doc/whatsnew/2.1.rst:207 msgid "" "The built-in ``cmp(A,B)`` function can use the rich comparison machinery, " "and now accepts an optional argument specifying which comparison operation " "to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, ``\">" -"\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the optional " +"\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``If called without the optional " "third argument, :func:`cmp` will only return -1, 0, or +1 as in previous " "versions of Python; otherwise it will call the appropriate method and can " "return any Python object." msgstr "" +"La función incorporada ``cmp(A,B)`` puede utilizar la comparación " +"enriquecida, y ahora acepta un argumento opcional que especifica la " +"operación de comparación a utilizar; esto se da como una de las cadenas ``\"<" +"\"``, ``\"<=\"``, ``\">\"``, ``\">=\"``, ``\"==\"``, o ``\"!=\"``. Si se " +"llama sin el tercer argumento opcional, :func:`cmp` sólo retornará -1, 0 o " +"+1 como en versiones anteriores de Python; en caso contrario, llamará al " +"método apropiado y puede retornar cualquier objeto de Python." #: ../Doc/whatsnew/2.1.rst:214 msgid "" "There are also corresponding changes of interest to C programmers; there's a " "new slot ``tp_richcmp`` in type objects and an API for performing a given " -"rich comparison. I won't cover the C API here, but will refer you to :pep:" +"rich comparisonI won't cover the C API here, but will refer you to :pep:" "`207`, or to 2.1's C API documentation, for the full list of related " "functions." msgstr "" +"También hay cambios correspondientes de interés para los programadores de C; " +"hay una nueva ranura ``tp_richcmp`` en los objetos de tipo y una API para " +"realizar una comparación rica determinada. No cubrirá la API de C aquí, sino " +"que le remitiré a :pep:`207`, o a la documentación de la API de C de 2.1, " +"para la lista completa de funciones relacionadas." #: ../Doc/whatsnew/2.1.rst:223 msgid ":pep:`207` - Rich Comparisons" -msgstr "" +msgstr ":pep:`207` - Comparaciones enriquecidas" #: ../Doc/whatsnew/2.1.rst:223 msgid "" "Written by Guido van Rossum, heavily based on earlier work by David Ascher, " "and implemented by Guido van Rossum." msgstr "" +"Escrito por Guido van Rossum, basado en gran medida en un trabajo anterior " +"de David Ascher, e implementado por Guido van Rossum." #: ../Doc/whatsnew/2.1.rst:230 msgid "PEP 230: Warning Framework" -msgstr "" +msgstr "PEP 230: Marco de advertencia" #: ../Doc/whatsnew/2.1.rst:232 msgid "" "Over its 10 years of existence, Python has accumulated a certain number of " -"obsolete modules and features along the way. It's difficult to know when a " +"obsolete modules and features along the wayIt's difficult to know when a " "feature is safe to remove, since there's no way of knowing how much code " -"uses it --- perhaps no programs depend on the feature, or perhaps many do. " -"To enable removing old features in a more structured way, a warning " -"framework was added. When the Python developers want to get rid of a " -"feature, it will first trigger a warning in the next version of Python. The " -"following Python version can then drop the feature, and users will have had " -"a full release cycle to remove uses of the old feature." -msgstr "" +"uses it --- perhaps no programs depend on the feature, or perhaps many doTo " +"enable removing old features in a more structured way, a warning framework " +"was added. When the Python developers want to get rid of a feature, it will " +"first trigger a warning in the next version of PythonThe following Python " +"version can then drop the feature, and users will have had a full release " +"cycle to remove uses of the old feature." +msgstr "" +"A lo largo de sus 10 años de existencia, Python ha acumulado un cierto " +"número de módulos y características obsoletas en el camino. Es difícil saber " +"cuándo es seguro eliminar una característica, ya que no hay manera de saber " +"cuánto código la utiliza --- tal vez ningún programa depende de la " +"característica, o tal vez muchos lo hacen. Para permitir la eliminación de " +"características antiguas de una manera más estructurada, se añadió un marco " +"de advertencia. Cuando los desarrolladores de Python quieran deshacerse de " +"una característica, primero se activará una advertencia en la siguiente " +"versión de Python. La siguiente versión de Python puede entonces eliminar la " +"característica, y los usuarios habrán tenido un ciclo de lanzamiento " +"completo para eliminar los usos de la antigua característica." #: ../Doc/whatsnew/2.1.rst:242 msgid "" -"Python 2.1 adds the warning framework to be used in this scheme. It adds a :" +"Python 2.1 adds the warning framework to be used in this schemeIt adds a :" "mod:`warnings` module that provide functions to issue warnings, and to " "filter out warnings that you don't want to be displayed. Third-party modules " "can also use this framework to deprecate old features that they no longer " "wish to support." msgstr "" +"Python 2.1 añade el marco de trabajo de las advertencias para ser utilizado " +"en este esquema. Añade un módulo :mod:`warnings` que proporciona funciones " +"para emitir advertencias, y para filtrar las advertencias que no se quieren " +"mostrar. Los módulos de terceros también pueden utilizar este marco de " +"trabajo para dejar de lado funciones antiguas que ya no desean soportar." #: ../Doc/whatsnew/2.1.rst:248 msgid "" "For example, in Python 2.1 the :mod:`regex` module is deprecated, so " "importing it causes a warning to be printed::" msgstr "" +"Por ejemplo, en Python 2.1 el módulo :mod:`regex` está obsoleto, por lo que " +"al importarlo se imprime una advertencia::" #: ../Doc/whatsnew/2.1.rst:256 msgid "Warnings can be issued by calling the :func:`warnings.warn` function::" msgstr "" +"Las advertencias se pueden emitir llamando a la función :func:`warnings." +"warn`::" #: ../Doc/whatsnew/2.1.rst:260 msgid "" "The first parameter is the warning message; an additional optional " "parameters can be used to specify a particular warning category." msgstr "" +"El primer parámetro es el mensaje de advertencia; se pueden utilizar otros " +"parámetros opcionales para especificar una categoría de advertencia concreta." #: ../Doc/whatsnew/2.1.rst:263 msgid "" "Filters can be added to disable certain warnings; a regular expression " "pattern can be applied to the message or to the module name in order to " -"suppress a warning. For example, you may have a program that uses the :mod:" +"suppress a warningFor example, you may have a program that uses the :mod:" "`regex` module and not want to spare the time to convert it to use the :mod:" -"`re` module right now. The warning can be suppressed by calling ::" +"`re` module right nowThe warning can be suppressed by calling ::" msgstr "" +"Se pueden añadir filtros para desactivar ciertas advertencias; se puede " +"aplicar un patrón de expresión regular al mensaje o al nombre del módulo " +"para suprimir una advertencia. Por ejemplo, puede tener un programa que " +"utilice el módulo :mod:`regex` y no querer dedicar tiempo a convertirlo para " +"que utilice el módulo :mod:`re` en este momento. La advertencia puede " +"suprimirse llamando a ::" #: ../Doc/whatsnew/2.1.rst:275 msgid "" "This adds a filter that will apply only to warnings of the class :class:" "`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a " "regular expression to only match the message about the :mod:`regex` module " -"being deprecated, and will cause such warnings to be ignored. Warnings can " +"being deprecated, and will cause such warnings to be ignoredWarnings can " "also be printed only once, printed every time the offending code is " "executed, or turned into exceptions that will cause the program to stop " "(unless the exceptions are caught in the usual way, of course)." msgstr "" +"Esto añade un filtro que se aplicará sólo a las advertencias de la clase :" +"class:`DeprecationWarning` lanzadas en el módulo :mod:`__main__`, y aplica " +"una expresión regular para que sólo coincida con el mensaje sobre el módulo :" +"mod:`regex` que está obsoleto, y hará que tales advertencias sean ignoradas. " +"Las advertencias también pueden imprimirse sólo una vez, imprimirse cada vez " +"que se ejecute el código infractor, o convertirse en excepciones que harán " +"que el programa se detenga (a menos que las excepciones se atrapen de la " +"forma habitual, por supuesto)." #: ../Doc/whatsnew/2.1.rst:283 msgid "" "Functions were also added to Python's C API for issuing warnings; refer to " "PEP 230 or to Python's API documentation for the details." msgstr "" +"También se agregaron funciones a la API de C de Python para emitir " +"advertencias; consulte el PEP 230 o la documentación de la API de Python " +"para conocer los detalles." #: ../Doc/whatsnew/2.1.rst:293 msgid ":pep:`5` - Guidelines for Language Evolution" -msgstr "" +msgstr ":pep:`5` - Directrices para la evolución del lenguaje" #: ../Doc/whatsnew/2.1.rst:290 msgid "" "Written by Paul Prescod, to specify procedures to be followed when removing " -"old features from Python. The policy described in this PEP hasn't been " +"old features from PythonThe policy described in this PEP hasn't been " "officially adopted, but the eventual policy probably won't be too different " "from Prescod's proposal." msgstr "" +"Escrito por Paul Prescod, para especificar los procedimientos a seguir " +"cuando se eliminan características antiguas de PythonLa política descrita en " +"este PEP no ha sido adoptada oficialmente, pero la política final " +"probablemente no será muy diferente de la propuesta de Prescod." #: ../Doc/whatsnew/2.1.rst:295 msgid ":pep:`230` - Warning Framework" -msgstr "" +msgstr ":pep:`230` - Marco de advertencia" #: ../Doc/whatsnew/2.1.rst:296 msgid "Written and implemented by Guido van Rossum." -msgstr "" +msgstr "Escrito y ejecutado por Guido van Rossum." #: ../Doc/whatsnew/2.1.rst:302 msgid "PEP 229: New Build System" -msgstr "" +msgstr "PEP 229: Sistema de construcción nuevo" #: ../Doc/whatsnew/2.1.rst:304 msgid "" @@ -443,27 +619,48 @@ msgid "" "notably Linux, Python installations often don't contain all useful modules " "they could." msgstr "" +"Al compilar Python, el usuario tenía que entrar y editar el archivo :file:" +"`Modules/Setup` para habilitar varios módulos adicionales; el conjunto por " +"defecto es relativamente pequeño y se limita a los módulos que se compilan " +"en la mayoría de las plataformas Unix. Esto significa que en plataformas " +"Unix con muchas más características, sobre todo Linux, las instalaciones de " +"Python no suelen contener todos los módulos útiles que podrían." #: ../Doc/whatsnew/2.1.rst:310 msgid "" "Python 2.0 added the Distutils, a set of modules for distributing and " -"installing extensions. In Python 2.1, the Distutils are used to compile " -"much of the standard library of extension modules, autodetecting which ones " -"are supported on the current machine. It's hoped that this will make Python " +"installing extensionsIn Python 2.1, the Distutils are used to compile much " +"of the standard library of extension modules, autodetecting which ones are " +"supported on the current machineIt's hoped that this will make Python " "installations easier and more featureful." msgstr "" +"Python 2.0 añadió los Distutils, un conjunto de módulos para distribuir e " +"instalar extensiones. En Python 2.1, los Distutils se utilizan para compilar " +"gran parte de la biblioteca estándar de módulos de extensión, autodetectando " +"cuáles son compatibles con la máquina actual Se espera que esto haga que las " +"instalaciones de Python sean más fáciles y tengan más funciones." #: ../Doc/whatsnew/2.1.rst:316 msgid "" "Instead of having to edit the :file:`Modules/Setup` file in order to enable " "modules, a :file:`setup.py` script in the top directory of the Python source " "distribution is run at build time, and attempts to discover which modules " -"can be enabled by examining the modules and header files on the system. If " -"a module is configured in :file:`Modules/Setup`, the :file:`setup.py` script " +"can be enabled by examining the modules and header files on the systemIf a " +"module is configured in :file:`Modules/Setup`, the :file:`setup.py` script " "won't attempt to compile that module and will defer to the :file:`Modules/" -"Setup` file's contents. This provides a way to specific any strange command-" +"Setup` file's contentsThis provides a way to specific any strange command-" "line flags or libraries that are required for a specific platform." msgstr "" +"En lugar de tener que editar el archivo :file:`Modules/Setup` para habilitar " +"los módulos, un script :file:`setup.py` en el directorio superior de la " +"distribución de fuentes de Python se ejecuta en el momento de la " +"compilación, e intenta descubrir qué módulos pueden ser habilitados " +"examinando los módulos y archivos de cabecera en el sistema. Si un módulo " +"está configurado en :file:`Modules/Setup`, el script :file:`setup.py` no " +"intentará compilar ese módulo y se remitirá al contenido del archivo :file:" +"`Modules/Setup`. Esto proporciona una manera de especificar cualquier flag " +"de línea de comandos extraña o bibliotecas que se requieren para una " +"plataforma específica." #: ../Doc/whatsnew/2.1.rst:325 msgid "" @@ -471,36 +668,51 @@ msgid "" "restructured things so Python now uses a single makefile that isn't " "recursive, instead of makefiles in the top directory and in each of the :" "file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " -"subdirectories. This makes building Python faster and also makes hacking " -"the Makefiles clearer and simpler." +"subdirectoriesThis makes building Python faster and also makes hacking the " +"Makefiles clearer and simpler." msgstr "" +"En otro cambio de gran alcance en el mecanismo de construcción, Neil " +"Schemenauer reestructuró las cosas para que Python ahora utilice un único " +"makefile que no es recursivo, en lugar de makefiles en el directorio " +"superior y en cada uno de los subdirectorios :file:`Python/`, :file:`Parser/" +"`, :file:`Objects/`, y :file:`Modules/`. Esto hace que la construcción de " +"Python sea más rápida y también hace que el hackeo de los Makefiles sea más " +"claro y sencillo." #: ../Doc/whatsnew/2.1.rst:335 msgid ":pep:`229` - Using Distutils to Build Python" -msgstr "" +msgstr ":pep:`229` - Uso de Distutils para construir Python" #: ../Doc/whatsnew/2.1.rst:336 ../Doc/whatsnew/2.1.rst:571 msgid "Written and implemented by A.M. Kuchling." -msgstr "" +msgstr "Escrito y ejecutado por A.M. Kuchling." #: ../Doc/whatsnew/2.1.rst:342 msgid "PEP 205: Weak References" -msgstr "" +msgstr "PEP 205: Referencias débiles" #: ../Doc/whatsnew/2.1.rst:344 msgid "" "Weak references, available through the :mod:`weakref` module, are a minor " "but useful new data type in the Python programmer's toolbox." msgstr "" +"Las referencias débiles, disponibles a través del módulo :mod:`weakref`, son " +"un nuevo tipo de datos menor pero útil en la caja de herramientas del " +"programador de Python." #: ../Doc/whatsnew/2.1.rst:347 msgid "" "Storing a reference to an object (say, in a dictionary or a list) has the " -"side effect of keeping that object alive forever. There are a few specific " +"side effect of keeping that object alive foreverThere are a few specific " "cases where this behaviour is undesirable, object caches being the most " "common one, and another being circular references in data structures such as " "trees." msgstr "" +"Almacenar una referencia a un objeto (por ejemplo, en un diccionario o una " +"lista) tiene el efecto secundario de mantener ese objeto vivo para siempre. " +"Hay algunos casos específicos en los que este comportamiento es indeseable, " +"siendo las cachés de objetos el más común, y otro son las referencias " +"circulares en estructuras de datos como los árboles." #: ../Doc/whatsnew/2.1.rst:352 msgid "" @@ -508,6 +720,9 @@ msgid "" "another function ``f(x)`` by storing the function's argument and its result " "in a dictionary::" msgstr "" +"Por ejemplo, considere una función de memoización que almacena en caché los " +"resultados de otra función ``f(x)`` almacenando el argumento de la función y " +"su resultado en un diccionario::" #: ../Doc/whatsnew/2.1.rst:368 msgid "" @@ -517,24 +732,40 @@ msgid "" "This isn't very noticeable for integers, but if :func:`f` returns an object, " "or a data structure that takes up a lot of memory, this can be a problem." msgstr "" +"Esta versión funciona para cosas simples como los enteros, pero tiene un " +"efecto secundario; el diccionario ``_cache`` mantiene una referencia a los " +"valores retornados, por lo que nunca serán desocupados hasta que el proceso " +"de Python salga y se limpie. Esto no es muy notable para los enteros, pero " +"si :func:`f` retorna un objeto, o una estructura de datos que ocupa mucha " +"memoria, esto puede ser un problema." #: ../Doc/whatsnew/2.1.rst:374 msgid "" "Weak references provide a way to implement a cache that won't keep objects " -"alive beyond their time. If an object is only accessible through weak " +"alive beyond their timeIf an object is only accessible through weak " "references, the object will be deallocated and the weak references will now " -"indicate that the object it referred to no longer exists. A weak reference " -"to an object *obj* is created by calling ``wr = weakref.ref(obj)``. The " -"object being referred to is returned by calling the weak reference as if it " -"were a function: ``wr()``. It will return the referenced object, or " -"``None`` if the object no longer exists." -msgstr "" +"indicate that the object it referred to no longer existsA weak reference to " +"an object *obj* is created by calling ``wr = weakref.ref(obj)``The object " +"being referred to is returned by calling the weak reference as if it were a " +"function: ``wr()``It will return the referenced object, or ``None`` if the " +"object no longer exists." +msgstr "" +"Las referencias débiles proporcionan una forma de implementar una caché que " +"no mantendrá los objetos vivos más allá de su tiempo. Si un objeto sólo es " +"accesible a través de referencias débiles, el objeto será desasignado y las " +"referencias débiles indicarán ahora que el objeto al que se refería ya no " +"existe. Una referencia débil a un objeto *obj* se crea llamando ``wr = " +"weakref.ref(obj)``El objeto al que se hace referencia se retorna llamando a " +"la referencia débil como si fuera una función: ``wr()`` retornará el objeto " +"referenciado, o ``None`` si el objeto ya no existe." #: ../Doc/whatsnew/2.1.rst:382 msgid "" "This makes it possible to write a :func:`memoize` function whose cache " "doesn't keep objects alive, by storing weak references in the cache. ::" msgstr "" +"Esto hace posible escribir una función :func:`memoize` cuya caché no " +"mantenga objetos vivos, almacenando referencias débiles en la caché. ::" #: ../Doc/whatsnew/2.1.rst:400 msgid "" @@ -542,42 +773,62 @@ msgid "" "like weak references --- an object referenced only by proxy objects is " "deallocated -- but instead of requiring an explicit call to retrieve the " "object, the proxy transparently forwards all operations to the object as " -"long as the object still exists. If the object is deallocated, attempting " -"to use a proxy will cause a :exc:`weakref.ReferenceError` exception to be " +"long as the object still existsIf the object is deallocated, attempting to " +"use a proxy will cause a :exc:`weakref.ReferenceError` exception to be " "raised. ::" msgstr "" +"El módulo :mod:`weakref` también permite crear objetos proxy que se " +"comportan como referencias débiles --- un objeto referenciado sólo por " +"objetos proxy es desasignado - pero en lugar de requerir una llamada " +"explícita para recuperar el objeto, el proxy reenvía de forma transparente " +"todas las operaciones al objeto mientras éste siga existiendo. Si el objeto " +"es desocupado, el intento de usar un proxy causará una excepción :exc:" +"`weakref.ReferenceError`. ::" #: ../Doc/whatsnew/2.1.rst:416 msgid ":pep:`205` - Weak References" -msgstr "" +msgstr ":pep:`205` - Referencias débiles" #: ../Doc/whatsnew/2.1.rst:417 msgid "Written and implemented by Fred L. Drake, Jr." -msgstr "" +msgstr "Escrito e implementado por Fred L. Drake, Jr." #: ../Doc/whatsnew/2.1.rst:423 msgid "PEP 232: Function Attributes" -msgstr "" +msgstr "PEP 232: Atributos de la función" #: ../Doc/whatsnew/2.1.rst:425 msgid "" "In Python 2.1, functions can now have arbitrary information attached to " "them. People were often using docstrings to hold information about functions " "and methods, because the ``__doc__`` attribute was the only way of attaching " -"any information to a function. For example, in the Zope Web application " +"any information to a functionFor example, in the Zope Web application " "server, functions are marked as safe for public access by having a " "docstring, and in John Aycock's SPARK parsing framework, docstrings hold " -"parts of the BNF grammar to be parsed. This overloading is unfortunate, " -"since docstrings are really intended to hold a function's documentation; for " +"parts of the BNF grammar to be parsedThis overloading is unfortunate, since " +"docstrings are really intended to hold a function's documentation; for " "example, it means you can't properly document functions intended for private " "use in Zope." msgstr "" +"En Python 2.1, las funciones ahora pueden tener información arbitraria " +"adjunta a ellas. La gente solía utilizar docstrings para mantener la " +"información sobre las funciones y los métodos, porque el atributo " +"``__doc__`` era la única manera de adjuntar cualquier información a una " +"función. Por ejemplo, en el servidor de aplicaciones web Zope, las funciones " +"se marcan como seguras para el acceso público teniendo un docstring, y en el " +"marco de análisis SPARK de John Aycock, los docstrings contienen partes de " +"la gramática BNF para ser analizada. Esta sobrecarga es desafortunada, ya " +"que los docstrings están realmente pensados para contener la documentación " +"de una función; por ejemplo, significa que no puedes documentar " +"adecuadamente las funciones destinadas al uso privado en Zope." #: ../Doc/whatsnew/2.1.rst:435 msgid "" "Arbitrary attributes can now be set and retrieved on functions using the " "regular Python syntax::" msgstr "" +"Ahora se pueden establecer y recuperar atributos arbitrarios en las " +"funciones utilizando la sintaxis normal de Python::" #: ../Doc/whatsnew/2.1.rst:444 msgid "" @@ -588,18 +839,27 @@ msgid "" "dictionary; you *can't* be tricky and set it to a :class:`UserDict` " "instance, or any other random object that behaves like a mapping." msgstr "" +"Se puede acceder al diccionario que contiene los atributos como :attr:" +"`~objeto.__dict__` de la función. A diferencia del atributo :attr:`~objeto." +"__dict__` de las instancias de clase, en las funciones se puede asignar un " +"nuevo diccionario a :attr:`~objeto.__dict__`, aunque el nuevo valor está " +"restringido a un diccionario normal de Python; no se puede ser complicado y " +"establecerlo como una instancia de :class:`UserDict`, o cualquier otro " +"objeto aleatorio que se comporte como un mapeo." #: ../Doc/whatsnew/2.1.rst:454 msgid ":pep:`232` - Function Attributes" -msgstr "" +msgstr ":pep:`232` - Atributos de la función" #: ../Doc/whatsnew/2.1.rst:455 msgid "Written and implemented by Barry Warsaw." -msgstr "" +msgstr "Escrito y ejecutado por Barry Warsaw." #: ../Doc/whatsnew/2.1.rst:461 msgid "PEP 235: Importing Modules on Case-Insensitive Platforms" msgstr "" +"PEP 235: Importación de módulos en plataformas que no distinguen entre " +"mayúsculas y minúsculas" #: ../Doc/whatsnew/2.1.rst:463 msgid "" @@ -608,20 +868,33 @@ msgid "" "distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do " "store the file's name in its original case (they're case-preserving, too)." msgstr "" +"Algunos sistemas operativos tienen sistemas de archivos que no distinguen " +"entre mayúsculas y minúsculas, siendo MacOS y Windows los principales " +"ejemplos; en estos sistemas, es imposible distinguir los nombres de archivo " +"``FILE.PY`` y ``file.py``, aunque almacenan el nombre del archivo en su caso " +"original (también preservan las mayúsculas)." #: ../Doc/whatsnew/2.1.rst:468 msgid "" "In Python 2.1, the :keyword:`import` statement will work to simulate case-" -"sensitivity on case-insensitive platforms. Python will now search for the " +"sensitivity on case-insensitive platformsPython will now search for the " "first case-sensitive match by default, raising an :exc:`ImportError` if no " "such file is found, so ``import file`` will not import a module named ``FILE." "PY``. Case-insensitive matching can be requested by setting the :envvar:" "`PYTHONCASEOK` environment variable before starting the Python interpreter." msgstr "" +"En Python 2.1, la sentencia :keyword:`import` funcionará para simular la " +"distinción entre mayúsculas y minúsculas en plataformas que no las " +"distinguen. Python buscará ahora la primera coincidencia entre mayúsculas y " +"minúsculas por defecto, lanzando un :exc:`ImportError` si no se encuentra " +"dicho fichero, por lo que ``import file`` no importará un módulo llamado " +"``FILE.PY``. La coincidencia insensible a mayúsculas y minúsculas puede " +"solicitarse estableciendo la variable de entorno :envvar:`PYTHONCASEOK` " +"antes de iniciar el intérprete de Python." #: ../Doc/whatsnew/2.1.rst:479 msgid "PEP 217: Interactive Display Hook" -msgstr "" +msgstr "PEP 217: Gancho de pantalla interactivo" #: ../Doc/whatsnew/2.1.rst:481 msgid "" @@ -631,25 +904,34 @@ msgid "" "be called instead of :func:`repr`. For example, you can set it to a special " "pretty-printing function::" msgstr "" +"Cuando se utiliza el intérprete de Python de forma interactiva, la salida de " +"los comandos se muestra utilizando la función incorporada :func:`repr`. En " +"Python 2.1, la variable :func:`sys.displayhook` puede establecerse a un " +"objeto invocable que será llamado en lugar de :func:`repr`. Por ejemplo, " +"puede establecerla a una función especial de impresión bonita::" #: ../Doc/whatsnew/2.1.rst:502 msgid ":pep:`217` - Display Hook for Interactive Use" -msgstr "" +msgstr ":pep:`217` - Gancho de visualización para uso interactivo" #: ../Doc/whatsnew/2.1.rst:503 msgid "Written and implemented by Moshe Zadka." -msgstr "" +msgstr "Escrito y ejecutado por Moshe Zadka." #: ../Doc/whatsnew/2.1.rst:509 msgid "PEP 208: New Coercion Model" -msgstr "" +msgstr "PEP 208: Nuevo modelo de coerción" #: ../Doc/whatsnew/2.1.rst:511 msgid "" -"How numeric coercion is done at the C level was significantly modified. " -"This will only affect the authors of C extensions to Python, allowing them " -"more flexibility in writing extension types that support numeric operations." +"How numeric coercion is done at the C level was significantly modifiedThis " +"will only affect the authors of C extensions to Python, allowing them more " +"flexibility in writing extension types that support numeric operations." msgstr "" +"Se ha modificado significativamente la forma en que se realiza la coerción " +"numérica a nivel de C. Esto sólo afectará a los autores de las extensiones " +"de C a Python, permitiéndoles más flexibilidad a la hora de escribir tipos " +"de extensión que soporten operaciones numéricas." #: ../Doc/whatsnew/2.1.rst:515 msgid "" @@ -663,166 +945,260 @@ msgid "" "``Py_NotImplemented`` singleton value. The numeric functions of the other " "type will then be tried, and perhaps they can handle the operation; if the " "other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will " -"be raised. Numeric methods written in Python can also return " +"be raisedNumeric methods written in Python can also return " "``Py_NotImplemented``, causing the interpreter to act as if the method did " "not exist (perhaps raising a :exc:`TypeError`, perhaps trying another " "object's numeric methods)." msgstr "" +"Los tipos de extensión pueden ahora establecer el indicador de tipo " +"``Py_TPFLAGS_CHECKTYPES`` en su estructura ``PyTypeObject`` para indicar que " +"soportan el nuevo modelo de coerción. En tales tipos de extensión, las " +"funciones numéricas de ranura ya no pueden asumir que se les pasarán dos " +"argumentos del mismo tipo; en su lugar, se les pueden pasar dos argumentos " +"de tipos diferentes, y entonces pueden realizar su propia coerción interna. " +"Si a la función de ranura se le pasa un tipo que no puede manejar, puede " +"indicar el fallo retornando una referencia al valor singleton " +"``Py_NotImplemented``. Las funciones numéricas del otro tipo serán entonces " +"probadas, y quizás puedan manejar la operación; si el otro tipo también " +"retorna ``Py_NotImplemented``, entonces se levantará un :exc:`TypeError`Los " +"métodos numéricos escritos en Python también pueden retornar " +"``Py_NotImplemented``, haciendo que el intérprete actúe como si el método no " +"existiera (tal vez lanzando un :exc:`TypeError`, tal vez probando los " +"métodos numéricos de otro objeto)." #: ../Doc/whatsnew/2.1.rst:534 msgid ":pep:`208` - Reworking the Coercion Model" -msgstr "" +msgstr ":pep:`208` - Reformulación del modelo de coerción" #: ../Doc/whatsnew/2.1.rst:533 msgid "" "Written and implemented by Neil Schemenauer, heavily based upon earlier work " -"by Marc-André Lemburg. Read this to understand the fine points of how " -"numeric operations will now be processed at the C level." +"by Marc-André LemburgRead this to understand the fine points of how numeric " +"operations will now be processed at the C level." msgstr "" +"Escrito e implementado por Neil Schemenauer, basado en gran medida en el " +"trabajo anterior de Marc-André Lemburg. Léalo para entender los puntos finos " +"de cómo las operaciones numéricas serán ahora procesadas en el nivel C." #: ../Doc/whatsnew/2.1.rst:541 msgid "PEP 241: Metadata in Python Packages" -msgstr "" +msgstr "PEP 241: Metadatos en paquetes de Python" #: ../Doc/whatsnew/2.1.rst:543 msgid "" "A common complaint from Python users is that there's no single catalog of " -"all the Python modules in existence. T. Middleton's Vaults of Parnassus at " +"all the Python modules in existenceT. Middleton's Vaults of Parnassus at " "http://www.vex.net/parnassus/ are the largest catalog of Python modules, but " "registering software at the Vaults is optional, and many people don't bother." msgstr "" +"Una queja común de los usuarios de Python es que no hay un catálogo único de " +"todos los módulos de Python existentes. Las Bóvedas de Parnaso de T. " +"Middleton en http://www.vex.net/parnassus/ son el mayor catálogo de módulos " +"de Python, pero registrar el software en las Bóvedas es opcional, y mucha " +"gente no se molesta." #: ../Doc/whatsnew/2.1.rst:548 msgid "" "As a first small step toward fixing the problem, Python software packaged " "using the Distutils :command:`sdist` command will include a file named :file:" "`PKG-INFO` containing information about the package such as its name, " -"version, and author (metadata, in cataloguing terminology). :pep:`241` " +"version, and author (metadata, in cataloguing terminology):pep:`241` " "contains the full list of fields that can be present in the :file:`PKG-INFO` " -"file. As people began to package their software using Python 2.1, more and " +"fileAs people began to package their software using Python 2.1, more and " "more packages will include metadata, making it possible to build automated " -"cataloguing systems and experiment with them. With the result experience, " +"cataloguing systems and experiment with themWith the result experience, " "perhaps it'll be possible to design a really good catalog and then build " "support for it into Python 2.2. For example, the Distutils :command:`sdist` " "and :command:`bdist_\\*` commands could support an ``upload`` option that " "would automatically upload your package to a catalog server." msgstr "" +"Como primer pequeño paso para solucionar el problema, el software de Python " +"empaquetado con el comando :command:`sdist` de Distutils incluirá un archivo " +"llamado :file:`PKG-INFO` que contiene información sobre el paquete, como su " +"nombre, versión y autor (metadatos, en terminología de catalogación). :pep:" +"`241` contiene la lista completa de campos que pueden estar presentes en el " +"archivo :file:`PKG-INFO`A medida que la gente empiece a empaquetar su " +"software usando Python 2.1, más y más paquetes incluirán metadatos, haciendo " +"posible construir sistemas de catalogación automatizados y experimentar con " +"ellosCon la experiencia resultante, tal vez sea posible diseñar un catálogo " +"realmente bueno y luego construir soporte para él en Python 2.2. Por " +"ejemplo, los comandos Distutils :command:`sdist` y :command:`bdist_\\*` " +"podrían soportar una opción ``upload`` que subiera automáticamente tu " +"paquete a un servidor de catálogos." #: ../Doc/whatsnew/2.1.rst:561 msgid "" "You can start creating packages containing :file:`PKG-INFO` even if you're " "not using Python 2.1, since a new release of the Distutils will be made for " -"users of earlier Python versions. Version 1.0.2 of the Distutils includes " -"the changes described in :pep:`241`, as well as various bugfixes and " -"enhancements. It will be available from the Distutils SIG at https://www." +"users of earlier Python versionsVersion 1.0.2 of the Distutils includes the " +"changes described in :pep:`241`, as well as various bugfixes and " +"enhancementsIt will be available from the Distutils SIG at https://www." "python.org/community/sigs/current/distutils-sig/." msgstr "" +"Puedes empezar a crear paquetes que contengan :file:`PKG-INFO` incluso si no " +"estás usando Python 2.1, ya que se hará una nueva versión de las Distutils " +"para los usuarios de versiones anteriores de PythonLa versión 1.0.2 de las " +"Distutils incluye los cambios descritos en :pep:`241`, así como varias " +"correcciones de errores y mejoras. Estará disponible en el SIG de Distutils " +"en https://www.python.org/community/sigs/current/distutils-sig/." #: ../Doc/whatsnew/2.1.rst:571 msgid ":pep:`241` - Metadata for Python Software Packages" -msgstr "" +msgstr ":pep:`241` - Metadatos para paquetes de software de Python" #: ../Doc/whatsnew/2.1.rst:574 msgid ":pep:`243` - Module Repository Upload Mechanism" -msgstr "" +msgstr ":pep:`243` - Mecanismo de carga del repositorio de módulos" #: ../Doc/whatsnew/2.1.rst:574 msgid "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." msgstr "" +"Escrito por Sean Reifschneider, este borrador de PEP describe un mecanismo " +"propuesto para subir paquetes de Python a un servidor central." #: ../Doc/whatsnew/2.1.rst:581 msgid "New and Improved Modules" -msgstr "" +msgstr "Módulos nuevos y mejorados" #: ../Doc/whatsnew/2.1.rst:583 msgid "" "Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for " "getting information about live Python code, and :mod:`pydoc.py`, a module " -"for interactively converting docstrings to HTML or text. As a bonus, :file:" +"for interactively converting docstrings to HTML or textAs a bonus, :file:" "`Tools/scripts/pydoc`, which is now automatically installed, uses :mod:" "`pydoc.py` to display documentation given a Python module, package, or class " -"name. For example, ``pydoc xml.dom`` displays the following::" +"nameFor example, ``pydoc xml.dom`` displays the following::" msgstr "" +"Ka-Ping Yee ha contribuido con dos nuevos módulos: :mod:`inspect.py`, un " +"módulo para obtener información sobre código Python en vivo, y :mod:`pydoc." +"py`, un módulo para convertir interactivamente docstrings a HTML o texto. " +"Además, :file:`Tools/scripts/pydoc`, que se instala automáticamente, " +"utiliza :mod:`pydoc.py` para mostrar la documentación de un módulo, paquete " +"o clase de Python. Por ejemplo, ``pydoc xml.dom`` muestra lo siguiente::" #: ../Doc/whatsnew/2.1.rst:605 msgid "" -":file:`pydoc` also includes a Tk-based interactive help browser. :file:" +":file:`pydoc` also includes a Tk-based interactive help browser :file:" "`pydoc` quickly becomes addictive; try it out!" msgstr "" +":file:`pydoc` también incluye un navegador de ayuda interactiva basado en " +"Tk. :file:`pydoc` se vuelve rápidamente adictivo; ¡pruébalo!" #: ../Doc/whatsnew/2.1.rst:608 msgid "" "Two different modules for unit testing were added to the standard library. " "The :mod:`doctest` module, contributed by Tim Peters, provides a testing " "framework based on running embedded examples in docstrings and comparing the " -"results against the expected output. PyUnit, contributed by Steve Purcell, " -"is a unit testing framework inspired by JUnit, which was in turn an " -"adaptation of Kent Beck's Smalltalk testing framework. See http://pyunit." -"sourceforge.net/ for more information about PyUnit." -msgstr "" +"results against the expected outputPyUnit, contributed by Steve Purcell, is " +"a unit testing framework inspired by JUnit, which was in turn an adaptation " +"of Kent Beck's Smalltalk testing frameworkSee http://pyunit.sourceforge.net/ " +"for more information about PyUnit." +msgstr "" +"Se han añadido a la biblioteca estándar dos módulos diferentes para realizar " +"pruebas unitarias. El módulo :mod:`doctest`, aportado por Tim Peters, " +"proporciona un marco de pruebas basado en la ejecución de ejemplos " +"incrustados en docstrings y la comparación de los resultados con la salida " +"esperadaPyUnit, contribuido por Steve Purcell, es un marco de pruebas " +"unitarias inspirado en JUnit, que a su vez fue una adaptación del marco de " +"pruebas Smalltalk de Kent BeckConsulte http://pyunit.sourceforge.net/ para " +"obtener más información sobre PyUnit." #: ../Doc/whatsnew/2.1.rst:616 msgid "" "The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which " "compares two sequences and computes the changes required to transform one " -"sequence into the other. For example, this module can be used to write a " -"tool similar to the Unix :program:`diff` program, and in fact the sample " -"program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a " -"script." +"sequence into the otherFor example, this module can be used to write a tool " +"similar to the Unix :program:`diff` program, and in fact the sample program :" +"file:`Tools/scripts/ndiff.py` demonstrates how to write such a script." msgstr "" +"El módulo :mod:`difflib` contiene una clase, :class:`SequenceMatcher`, que " +"compara dos secuencias y calcula los cambios necesarios para transformar una " +"secuencia en la otra. Por ejemplo, este módulo puede utilizarse para " +"escribir una herramienta similar al programa :program:`diff` de Unix, y de " +"hecho el programa de ejemplo :file:`Tools/scripts/ndiff.py` demuestra cómo " +"escribir un script de este tipo." #: ../Doc/whatsnew/2.1.rst:622 msgid "" ":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of " -"SYSV curses, was contributed by Thomas Gellekum. The panel library provides " +"SYSV curses, was contributed by Thomas GellekumThe panel library provides " "windows with the additional feature of depth. Windows can be moved higher or " "lower in the depth ordering, and the panel library figures out where panels " "overlap and which sections are visible." msgstr "" +":mod:`curses.panel`, una envoltura para la biblioteca de paneles, parte de " +"ncurses y de curses SYSV, fue contribuida por Thomas Gellekum. La biblioteca " +"de paneles proporciona ventanas con la característica adicional de la " +"profundidad. Las ventanas pueden ser movidas más arriba o más abajo en el " +"ordenamiento de la profundidad, y la librería de paneles calcula dónde se " +"superponen los paneles y qué secciones son visibles." #: ../Doc/whatsnew/2.1.rst:628 msgid "" "The PyXML package has gone through a few releases since Python 2.0, and " -"Python 2.1 includes an updated version of the :mod:`xml` package. Some of " -"the noteworthy changes include support for Expat 1.2 and later versions, the " +"Python 2.1 includes an updated version of the :mod:`xml` packageSome of the " +"noteworthy changes include support for Expat 1.2 and later versions, the " "ability for Expat parsers to handle files in any encoding supported by " "Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module." msgstr "" +"El paquete PyXML ha pasado por varias versiones desde Python 2.0, y Python " +"2.1 incluye una versión actualizada del paquete :mod:`xml`. Algunos de los " +"cambios notables incluyen soporte para Expat 1.2 y versiones posteriores, la " +"capacidad de los analizadores Expat para manejar archivos en cualquier " +"codificación soportada por Python, y varias correcciones de errores para " +"SAX, DOM, y el módulo :mod:`minidom`." #: ../Doc/whatsnew/2.1.rst:634 msgid "" "Ping also contributed another hook for handling uncaught exceptions. :func:" -"`sys.excepthook` can be set to a callable object. When an exception isn't " +"`sys.excepthook` can be set to a callable objectWhen an exception isn't " "caught by any :keyword:`try`...\\ :keyword:`except` blocks, the exception " "will be passed to :func:`sys.excepthook`, which can then do whatever it " -"likes. At the Ninth Python Conference, Ping demonstrated an application for " +"likesAt the Ninth Python Conference, Ping demonstrated an application for " "this hook: printing an extended traceback that not only lists the stack " "frames, but also lists the function arguments and the local variables for " "each frame." msgstr "" +"Ping también contribuyó con otro gancho para el manejo de excepciones no " +"capturadas. :func:`sys.excepthook` puede ser establecido a un objeto " +"llamable. Cuando una excepción no es capturada por ningún bloque :keyword:" +"`try`...`except`, la excepción será pasada a :func:`sys.excepthook`, que " +"puede entonces hacer lo que quiera. En la Novena Conferencia de Python, Ping " +"demostró una aplicación para este gancho: imprimir un rastreo extendido que " +"no sólo lista los marcos de la pila, sino que también lista los argumentos " +"de la función y las variables locales para cada marco." #: ../Doc/whatsnew/2.1.rst:642 msgid "" "Various functions in the :mod:`time` module, such as :func:`asctime` and :" "func:`localtime`, require a floating point argument containing the time in " -"seconds since the epoch. The most common use of these functions is to work " +"seconds since the epochThe most common use of these functions is to work " "with the current time, so the floating point argument has been made " -"optional; when a value isn't provided, the current time will be used. For " +"optional; when a value isn't provided, the current time will be usedFor " "example, log file entries usually need a string containing the current time; " "in Python 2.1, ``time.asctime()`` can be used, instead of the lengthier " "``time.asctime(time.localtime(time.time()))`` that was previously required." msgstr "" +"Varias funciones del módulo :mod:`time`, como :func:`asctime` y :func:" +"`localtime`, requieren un argumento de punto flotante que contiene el tiempo " +"en segundos desde la época. El uso más común de estas funciones es trabajar " +"con la hora actual, por lo que el argumento de punto flotante se ha hecho " +"opcional; cuando no se proporciona un valor, se utilizará la hora actual. " +"Por ejemplo, las entradas de archivos de registro suelen necesitar una " +"cadena que contenga la hora actual; en Python 2.1, se puede utilizar ``time." +"asctime()``, en lugar del más largo ``time.asctime(time.localtime(time." +"time()))`` que se requería anteriormente." #: ../Doc/whatsnew/2.1.rst:651 msgid "This change was proposed and implemented by Thomas Wouters." -msgstr "" +msgstr "Este cambio fue propuesto y aplicado por Thomas Wouters." #: ../Doc/whatsnew/2.1.rst:653 msgid "" "The :mod:`ftplib` module now defaults to retrieving files in passive mode, " -"because passive mode is more likely to work from behind a firewall. This " +"because passive mode is more likely to work from behind a firewallThis " "request came from the Debian bug tracking system, since other Debian " "packages use :mod:`ftplib` to retrieve files and then don't work from behind " "a firewall. It's deemed unlikely that this will cause problems for anyone, " @@ -830,19 +1206,34 @@ msgid "" "passive mode is unsuitable for your application or network setup, call " "``set_pasv(0)`` on FTP objects to disable passive mode." msgstr "" +"El módulo :mod:`ftplib` ahora recupera por defecto los ficheros en modo " +"pasivo, porque es más probable que el modo pasivo funcione desde detrás de " +"un cortafuegos. Esta petición vino del sistema de seguimiento de errores de " +"Debian, ya que otros paquetes de Debian utilizan :mod:`ftplib` para " +"recuperar archivos y entonces no funcionan desde detrás de un cortafuegos. " +"Se considera poco probable que esto cause problemas a nadie, porque Netscape " +"utiliza por defecto el modo pasivo y poca gente se queja, pero si el modo " +"pasivo no es adecuado para su aplicación o configuración de red, llame a " +"``set_pasv(0)`` en los objetos FTP para desactivar el modo pasivo." #: ../Doc/whatsnew/2.1.rst:662 msgid "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." msgstr "" +"Se ha añadido soporte para el acceso a sockets sin procesar en el módulo :" +"mod:`socket`, aportado por Grant Edwards." #: ../Doc/whatsnew/2.1.rst:665 msgid "" "The :mod:`pstats` module now contains a simple interactive statistics " "browser for displaying timing profiles for Python programs, invoked when the " -"module is run as a script. Contributed by Eric S. Raymond." +"module is run as a scriptContributed by Eric S. Raymond." msgstr "" +"El módulo :mod:`pstats` contiene ahora un sencillo navegador de estadísticas " +"interactivo para mostrar los perfiles de tiempo de los programas de Python, " +"invocado cuando el módulo se ejecuta como un script. Contribuido por Eric S. " +"Raymond." #: ../Doc/whatsnew/2.1.rst:669 msgid "" @@ -850,39 +1241,59 @@ msgid "" "been added to return a given frame object from the current call stack. :func:" "`sys._getframe` returns the frame at the top of the call stack; if the " "optional integer argument *depth* is supplied, the function returns the " -"frame that is *depth* calls below the top of the stack. For example, ``sys." +"frame that is *depth* calls below the top of the stackFor example, ``sys." "_getframe(1)`` returns the caller's frame object." msgstr "" +"Se ha añadido una nueva función dependiente de la implementación, ``sys." +"_getframe([depth])``, para retornar un objeto marco dado de la pila de " +"llamadas actual. :func:``sys._getframe`` retorna el marco en la parte " +"superior de la pila de llamadas; si se proporciona el argumento entero " +"opcional *depth*, la función retorna el marco que está *depth* llama por " +"debajo de la parte superior de la pila. Por ejemplo, ``sys._getframe(1)`` " +"retorna el objeto frame de la llamada." #: ../Doc/whatsnew/2.1.rst:676 msgid "" "This function is only present in CPython, not in Jython or the .NET " -"implementation. Use it for debugging, and resist the temptation to put it " -"into production code." +"implementationUse it for debugging, and resist the temptation to put it into " +"production code." msgstr "" +"Esta función sólo está presente en CPython, no en Jython ni en la " +"implementación de .NET. Utilízala para depurar, y resiste la tentación de " +"ponerla en el código de producción." #: ../Doc/whatsnew/2.1.rst:684 msgid "Other Changes and Fixes" -msgstr "" +msgstr "Otros cambios y correcciones" #: ../Doc/whatsnew/2.1.rst:686 msgid "" "There were relatively few smaller changes made in Python 2.1 due to the " -"shorter release cycle. A search through the CVS change logs turns up 117 " +"shorter release cycleA search through the CVS change logs turns up 117 " "patches applied, and 136 bugs fixed; both figures are likely to be " -"underestimates. Some of the more notable changes are:" +"underestimatesSome of the more notable changes are:" msgstr "" +"En Python 2.1 se hicieron relativamente pocos cambios pequeños debido al " +"ciclo de publicación más corto. Una búsqueda en los registros de cambios de " +"CVS muestra 117 parches aplicados y 136 errores corregidos; es probable que " +"ambas cifras estén subestimadas. Algunos de los cambios más notables son:" #: ../Doc/whatsnew/2.1.rst:691 msgid "" "A specialized object allocator is now optionally available, that should be " -"faster than the system :func:`malloc` and have less memory overhead. The " +"faster than the system :func:`malloc` and have less memory overheadThe " "allocator uses C's :func:`malloc` function to get large pools of memory, and " -"then fulfills smaller memory requests from these pools. It can be enabled " -"by providing the :option:`!--with-pymalloc` option to the :program:" -"`configure` script; see :file:`Objects/obmalloc.c` for the implementation " -"details." -msgstr "" +"then fulfills smaller memory requests from these poolsIt can be enabled by " +"providing the :option:`!--with-pymalloc` option to the :program:`configure` " +"script; see :file:`Objects/obmalloc.c` for the implementation details." +msgstr "" +"Ahora está disponible opcionalmente un asignador de objetos especializado, " +"que debería ser más rápido que el sistema :func:`malloc` y tener menos " +"sobrecarga de memoria. El asignador utiliza la función :func:`malloc` de C " +"para obtener grandes reservas de memoria, y luego satisface las peticiones " +"de memoria más pequeñas de estas reservas. Puede activarse proporcionando la " +"opción :option:`!--with-pymalloc` al script :program:`configure`; véase :" +"file:`Objects/obmalloc.c` para los detalles de la implementación." #: ../Doc/whatsnew/2.1.rst:698 msgid "" @@ -891,40 +1302,69 @@ msgid "" "at runtime. There are a bunch of memory allocation functions in Python's C " "API that have previously been just aliases for the C library's :func:" "`malloc` and :func:`free`, meaning that if you accidentally called " -"mismatched functions, the error wouldn't be noticeable. When the object " +"mismatched functions, the error wouldn't be noticeableWhen the object " "allocator is enabled, these functions aren't aliases of :func:`malloc` and :" "func:`free` any more, and calling the wrong function to free memory will get " -"you a core dump. For example, if memory was allocated using :func:" -"`PyMem_New`, it has to be freed using :func:`PyMem_Del`, not :func:`free`. " -"A few modules included with Python fell afoul of this and had to be fixed; " -"doubtless there are more third-party modules that will have the same problem." -msgstr "" +"you a core dumpFor example, if memory was allocated using :func:`PyMem_New`, " +"it has to be freed using :func:`PyMem_Del`, not :func:`free`A few modules " +"included with Python fell afoul of this and had to be fixed; doubtless there " +"are more third-party modules that will have the same problem." +msgstr "" +"Los autores de los módulos de extensión de C deberían probar su código con " +"el asignador de objetos activado, porque algún código incorrecto puede " +"romperse, causando volcados del núcleo en tiempo de ejecución. Hay un montón " +"de funciones de asignación de memoria en la API de C de Python que " +"anteriormente eran sólo alias de :func:`malloc` y :func:`free` de la " +"biblioteca de C, lo que significa que si accidentalmente llamabas a " +"funciones que no coincidían, el error no se notaba. Cuando el asignador de " +"objetos está habilitado, estas funciones ya no son alias de :func:`malloc` " +"y :func:`free`, y llamar a la función incorrecta para liberar memoria te " +"hará un volcado del núcleo. Por ejemplo, si la memoria fue asignada usando :" +"func:`PyMem_New`, tiene que ser liberada usando :func:`PyMem_Del`, no :func:" +"`free`. Unos cuantos módulos incluidos en Python han caído en la trampa y " +"han tenido que ser corregidos; sin duda hay más módulos de terceros que " +"tendrán el mismo problema." #: ../Doc/whatsnew/2.1.rst:711 msgid "The object allocator was contributed by Vladimir Marangozov." -msgstr "" +msgstr "El asignador de objetos fue aportado por Vladimir Marangozov." #: ../Doc/whatsnew/2.1.rst:713 msgid "" "The speed of line-oriented file I/O has been improved because people often " "complain about its lack of speed, and because it's often been used as a " -"naïve benchmark. The :meth:`readline` method of file objects has therefore " -"been rewritten to be much faster. The exact amount of the speedup will vary " +"naïve benchmarkThe :meth:`readline` method of file objects has therefore " +"been rewritten to be much fasterThe exact amount of the speedup will vary " "from platform to platform depending on how slow the C library's :func:`getc` " "was, but is around 66%, and potentially much faster on some particular " "operating systems. Tim Peters did much of the benchmarking and coding for " "this change, motivated by a discussion in comp.lang.python." msgstr "" +"La velocidad de la E/S de archivos orientada a líneas se ha mejorado porque " +"la gente suele quejarse de su falta de velocidad, y porque a menudo se ha " +"utilizado como referencia ingenua. El método :meth:`readline` de los objetos " +"de archivo ha sido reescrito para ser mucho más rápido. La cantidad exacta " +"de la aceleración variará de una plataforma a otra dependiendo de la " +"lentitud del método :func:`getc` de la biblioteca C, pero es alrededor del " +"66%, y potencialmente mucho más rápido en algunos sistemas operativos " +"concretos. Tim Peters hizo gran parte de la evaluación comparativa y la " +"codificación de este cambio, motivado por una discusión en comp.lang.python." #: ../Doc/whatsnew/2.1.rst:722 msgid "" "A new module and method for file objects was also added, contributed by Jeff " "Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:" -"`xrange` built-in. :func:`xreadlines` returns an opaque sequence object " -"that only supports being iterated over, reading a line on every iteration " -"but not reading the entire file into memory as the existing :meth:" -"`readlines` method does. You'd use it like this::" -msgstr "" +"`xrange` built-in:func:`xreadlines` returns an opaque sequence object that " +"only supports being iterated over, reading a line on every iteration but not " +"reading the entire file into memory as the existing :meth:`readlines` method " +"does. You'd use it like this::" +msgstr "" +"También se ha añadido un nuevo módulo y método para objetos de archivo, " +"aportado por Jeff Epler. El nuevo método, :meth:`xreadlines`, es similar al " +"ya existente :func:`xrange` incorporado. :func:`xreadlines` retorna un " +"objeto de secuencia opaco que sólo admite ser iterado, leyendo una línea en " +"cada iteración pero no leyendo todo el archivo en memoria como hace el " +"método :meth:`readlines` existente. Se usaría así::" #: ../Doc/whatsnew/2.1.rst:733 msgid "" @@ -932,6 +1372,9 @@ msgid "" "for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" "January/." msgstr "" +"Para una discusión más completa de los cambios en la línea de E/S, véase el " +"resumen de python-dev del 1 al 15 de enero de 2001 en https://mail.python." +"org/pipermail/python-dev/2001-January/." #: ../Doc/whatsnew/2.1.rst:736 msgid "" @@ -939,20 +1382,34 @@ msgid "" "destructively iterating through the contents of a dictionary; this can be " "faster for large dictionaries because there's no need to construct a list " "containing all the keys or values. ``D.popitem()`` removes a random ``(key, " -"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This " -"was implemented mostly by Tim Peters and Guido van Rossum, after a " -"suggestion and preliminary patch by Moshe Zadka." -msgstr "" +"value)`` pair from the dictionary ``D`` and returns it as a 2-tupleThis was " +"implemented mostly by Tim Peters and Guido van Rossum, after a suggestion " +"and preliminary patch by Moshe Zadka." +msgstr "" +"Se ha añadido un nuevo método, :meth:`popitem`, a los diccionarios para " +"permitir la iteración destructiva a través del contenido de un diccionario; " +"esto puede ser más rápido para diccionarios grandes porque no hay necesidad " +"de construir una lista que contenga todas las claves o valores. ``D." +"popitem()`` elimina un par aleatorio ``(key, value)`` del diccionario ``D`` " +"y lo retorna como una 2-tupla. Esto fue implementado principalmente por Tim " +"Peters y Guido van Rossum, después de una sugerencia y un parche preliminar " +"de Moshe Zadka." #: ../Doc/whatsnew/2.1.rst:744 msgid "" "Modules can now control which names are imported when ``from module import " "*`` is used, by defining an ``__all__`` attribute containing a list of names " -"that will be imported. One common complaint is that if the module imports " +"that will be importedOne common complaint is that if the module imports " "other modules such as :mod:`sys` or :mod:`string`, ``from module import *`` " -"will add them to the importing module's namespace. To fix this, simply list " +"will add them to the importing module's namespaceTo fix this, simply list " "the public names in ``__all__``::" msgstr "" +"Ahora los módulos pueden controlar qué nombres se importan cuando se utiliza " +"``from module import *``, definiendo un atributo ``__all__`` que contiene " +"una lista de nombres que se importarán. Una queja común es que si el módulo " +"importa otros módulos como :mod:`sys` o :mod:`string`, ``from module import " +"*`` los añadirá al espacio de nombres del módulo importador. Para arreglar " +"esto, simplemente liste los nombres públicos en ``__all__``:" #: ../Doc/whatsnew/2.1.rst:754 msgid "" @@ -960,16 +1417,25 @@ msgid "" "Wolfson, but after some python-dev discussion, a weaker final version was " "checked in." msgstr "" +"Una versión más estricta de este parche fue primero sugerida e implementada " +"por Ben Wolfson, pero después de algunas discusiones de python-dev, una " +"versión final más débil fue revisada." #: ../Doc/whatsnew/2.1.rst:758 msgid "" "Applying :func:`repr` to strings previously used octal escapes for non-" -"printable characters; for example, a newline was ``'\\012'``. This was a " +"printable characters; for example, a newline was ``'\\012'``This was a " "vestigial trace of Python's C ancestry, but today octal is of very little " -"practical use. Ka-Ping Yee suggested using hex escapes instead of octal " -"ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " +"practical useKa-Ping Yee suggested using hex escapes instead of octal ones, " +"and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " "characters, and implemented this new formatting." msgstr "" +"Al aplicar :func:`repr` a las cadenas, antes se utilizaban escapes octales " +"para los caracteres no imprimibles; por ejemplo, una nueva línea era " +"``'012'``Esto era un vestigio de la ascendencia de Python en C, pero hoy en " +"día el octal tiene muy poco uso prácticoKa-Ping Yee sugirió usar escapes " +"hexadecimales en lugar de octales, y usar los escapes ``n``, ``t``, ``r`` " +"para los caracteres apropiados, e implementó este nuevo formato." #: ../Doc/whatsnew/2.1.rst:765 msgid "" @@ -977,20 +1443,31 @@ msgid "" "the filename and line number of the error, a pleasant side effect of the " "compiler reorganization done by Jeremy Hylton." msgstr "" +"Los errores de sintaxis detectados en tiempo de compilación pueden ahora " +"lanzar excepciones que contienen el nombre del archivo y el número de línea " +"del error, un agradable efecto secundario de la reorganización del " +"compilador realizada por Jeremy Hylton." #: ../Doc/whatsnew/2.1.rst:769 msgid "" "C extensions which import other modules have been changed to use :func:" "`PyImport_ImportModule`, which means that they will use any import hooks " -"that have been installed. This is also encouraged for third-party " -"extensions that need to import some other module from C code." +"that have been installedThis is also encouraged for third-party extensions " +"that need to import some other module from C code." msgstr "" +"Las extensiones C que importan otros módulos han sido cambiadas para usar :" +"func:`PyImport_ImportModule`, lo que significa que usarán cualquier gancho " +"de importación que haya sido instalado. Esto también se fomenta para las " +"extensiones de terceros que necesitan importar algún otro módulo desde el " +"código C." #: ../Doc/whatsnew/2.1.rst:774 msgid "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." msgstr "" +"El tamaño de la base de datos de caracteres Unicode se redujo en otros 340K " +"gracias a Fredrik Lundh." #: ../Doc/whatsnew/2.1.rst:777 msgid "" @@ -998,6 +1475,9 @@ msgid "" "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " "Allie)." msgstr "" +"Se han aportado algunos puertos nuevos: MacOS X (por Steven Majewski), " +"Cygwin (por Jason Tishler); RISCOS (por Dietmar Schwertberger); Unixware 7 " +"(por Billy G. Allie)." #: ../Doc/whatsnew/2.1.rst:781 msgid "" @@ -1005,10 +1485,14 @@ msgid "" "edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs " "for the full details if you want them." msgstr "" +"Y hay la lista habitual de correcciones de errores menores, fugas de memoria " +"menores, ediciones de docstrings, y otros ajustes, demasiado largos para que " +"valga la pena detallarlos; vea los registros de CVS para los detalles " +"completos si los quiere." #: ../Doc/whatsnew/2.1.rst:789 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.1.rst:791 msgid "" @@ -1017,3 +1501,7 @@ msgid "" "Michael Hudson, Marc-André Lemburg, Fredrik Lundh, Neil Schemenauer, Thomas " "Wouters." msgstr "" +"El autor desea agradecer a las siguientes personas sus sugerencias sobre " +"varios borradores de este artículo: Graeme Cross, David Goodger, Jay Graves, " +"Michael Hudson, Marc-André Lemburg, Fredrik Lundh, Neil Schemenauer, Thomas " +"Wouters." From 9c63c5277f2fa3bfc821437170c575fcc0aa2241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 16 Aug 2021 19:33:45 +0200 Subject: [PATCH 54/94] =?UTF-8?q?Quitando=20=C3=BAltimos=20fuzzy=20y=20aju?= =?UTF-8?q?stando=20traducci=C3=B3n=20c-api=20(#1338)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Quitando últimos fuzzy y ajustando traducción * Update c-api/bool.po * powrap c-api/bool * Update c-api/object.po Co-authored-by: Carlos A. Crespo --- c-api/bool.po | 12 +++++++----- c-api/buffer.po | 4 ++-- c-api/bytearray.po | 4 ++-- c-api/cell.po | 11 ++++++----- c-api/code.po | 12 +++++++----- c-api/codec.po | 2 +- c-api/contextvars.po | 13 +++---------- c-api/coro.po | 10 +++++----- c-api/datetime.po | 8 ++++---- c-api/function.po | 9 +++++---- c-api/iter.po | 12 +++++++----- c-api/mapping.po | 4 ++-- c-api/memoryview.po | 2 +- c-api/number.po | 2 +- c-api/objbuffer.po | 2 +- c-api/object.po | 19 +++++++++---------- c-api/sequence.po | 2 +- c-api/slice.po | 9 +++++---- 18 files changed, 69 insertions(+), 68 deletions(-) diff --git a/c-api/bool.po b/c-api/bool.po index ee74136864..0a4a21270c 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 03:05+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 13:03+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" +"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 3.0\n" #: ../Doc/c-api/bool.rst:6 msgid "Boolean Objects" @@ -38,11 +39,12 @@ msgstr "" "Sin embargo, los siguientes macros están disponibles." #: ../Doc/c-api/bool.rst:16 -#, 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`." +msgstr "" +"Retorna verdadero si *o* es de tipo :c:data:`PyBool_Type`. Esta función " +"siempre finaliza con éxito." #: ../Doc/c-api/bool.rst:22 msgid "" diff --git a/c-api/buffer.po b/c-api/buffer.po index 342dbb7bd1..88f7904d19 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -770,7 +770,7 @@ msgid "" msgstr "" "Retorna ``1`` si *obj* admite la interfaz de búfer; de lo contrario, ``0`` " "cuando se retorna ``1``, no garantiza que :c:func:`PyObject_GetBuffer` tenga " -"éxito. Esta función siempre tiene éxito." +"éxito. Esta función siempre finaliza con éxito." #: ../Doc/c-api/buffer.rst:439 msgid "" @@ -844,7 +844,7 @@ msgstr "" "Retorna ``1`` si la memoria definida por *view* es de estilo C (*order* es " "``'C'``) o de estilo Fortran (*order* es ``'F'``) :term:`contiguous` o uno " "cualquiera (*order* es ``'A'``). Retorna ``0`` de lo contrario. Esta función " -"siempre tiene éxito." +"siempre finaliza con éxito." #: ../Doc/c-api/buffer.rst:482 msgid "" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index ae05557c6a..ba18285871 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -52,7 +52,7 @@ msgid "" 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. Esta función siempre " -"tiene éxito." +"finaliza con éxito." #: ../Doc/c-api/bytearray.rst:33 msgid "" @@ -61,7 +61,7 @@ msgid "" 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. Esta función siempre " -"tiene éxito." +"finaliza con éxito." #: ../Doc/c-api/bytearray.rst:38 msgid "Direct API functions" diff --git a/c-api/cell.po b/c-api/cell.po index 4ab9f94951..b06c45799a 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 16:47+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 13:03+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" +"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 3.0\n" #: ../Doc/c-api/cell.rst:6 msgid "Cell Objects" @@ -55,12 +56,12 @@ msgid "The type object corresponding to cell objects." msgstr "El objeto tipo correspondiente a los objetos celda." #: ../Doc/c-api/cell.rst:30 -#, 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``." +"Retorna verdadero si *ob* es un objeto de celda; *ob* no debe ser ``NULL``. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/cell.rst:36 msgid "" diff --git a/c-api/code.po b/c-api/code.po index 42ca1bb7d1..9dfff10ded 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 15:55+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 13:04+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" +"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 3.0\n" #: ../Doc/c-api/code.rst:8 msgid "Code Objects" @@ -52,11 +53,12 @@ msgstr "" "Python :class:`code`." #: ../Doc/c-api/code.rst:30 -#, 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`." +msgstr "" +"Retorna verdadero si *co* es un objeto :class:`code`. Esta función siempre " +"finaliza con éxito." #: ../Doc/c-api/code.rst:34 msgid "Return the number of free variables in *co*." diff --git a/c-api/codec.po b/c-api/codec.po index c04d25f992..95a8066e2f 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -45,7 +45,7 @@ msgid "" "the given *encoding*. This function always succeeds." msgstr "" "Retorna ``1`` o ``0`` dependiendo de si hay un códec registrado para el " -"*encoding* dado. Esta función siempre tiene éxito." +"*encoding* dado. Esta función siempre finaliza con éxito." #: ../Doc/c-api/codec.rst:20 msgid "Generic codec based encoding API." diff --git a/c-api/contextvars.po b/c-api/contextvars.po index ea2531bdcd..dbf6e4bd1d 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -87,7 +87,7 @@ msgid "" "``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *o* es de tipo :c:data:`PyContext_Type`. *o* no debe " -"ser ``NULL``. Esta función siempre tiene éxito." +"ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/contextvars.rst:67 msgid "" @@ -95,7 +95,7 @@ msgid "" "``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *o* es de tipo :c:data:`PyContextVar_Type`. *o* no debe " -"ser ``NULL``. Esta función siempre tiene éxito." +"ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/contextvars.rst:72 msgid "" @@ -103,7 +103,7 @@ msgid "" "``NULL``. This function always succeeds." msgstr "" "Retorna verdadero si *o* es de tipo :c:data:`PyContextToken_Type`. *o* no " -"debe ser ``NULL``. Esta función siempre tiene éxito." +"debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/contextvars.rst:76 msgid "Context object management functions:" @@ -219,10 +219,3 @@ 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/coro.po b/c-api/coro.po index 13bcd4468d..4d2a1c9d97 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 03:22+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 13:04+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" +"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 3.0\n" #: ../Doc/c-api/coro.rst:6 msgid "Coroutine Objects" @@ -42,13 +43,12 @@ 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``. This function always succeeds." msgstr "" "Retorna verdadero si el tipo de *ob* es :c:type:`PyCoro_Type`; *ob* no debe " -"ser ``NULL``." +"ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/coro.rst:32 msgid "" diff --git a/c-api/datetime.po b/c-api/datetime.po index 7a1357c715..c5d5e6afd0 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -69,7 +69,7 @@ msgid "" msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateType` o un " "subtipo de :c:data:`PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:37 msgid "" @@ -87,7 +87,7 @@ msgid "" 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``. " -"Esta función siempre tiene éxito." +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:50 msgid "" @@ -123,7 +123,7 @@ msgid "" msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DeltaType` o un " "subtipo de :c:data:`PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:76 msgid "" @@ -141,7 +141,7 @@ msgid "" msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TZInfoType` o un " "subtipo de :c:data:`PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:89 msgid "" diff --git a/c-api/function.po b/c-api/function.po index ade513e099..87be2fd9f9 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 16:22+0200\n" +"PO-Revision-Date: 2021-08-16 13:04+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" +"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 3.0\n" #: ../Doc/c-api/function.rst:6 msgid "Function Objects" @@ -44,14 +45,14 @@ 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``. 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``." +"`PyFunction_Type`). El parámetro no debe ser ``NULL``. Esta función siempre " +"finaliza con éxito." #: ../Doc/c-api/function.rst:34 msgid "" diff --git a/c-api/iter.po b/c-api/iter.po index 46463103a5..bf2db8cb9a 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 03:18+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 13:04+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" +"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 3.0\n" #: ../Doc/c-api/iter.rst:6 msgid "Iterator Protocol" @@ -30,11 +31,12 @@ 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 -#, 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." +msgstr "" +"Retorna verdadero si el objeto *o* admite el protocolo iterador. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/iter.rst:18 msgid "" diff --git a/c-api/mapping.po b/c-api/mapping.po index 264b5676e3..874d0f1840 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -45,7 +45,7 @@ msgstr "" "rebanado (*slicing*), y ``0`` de lo contrario. Tenga en cuenta que retorna " "``1`` para las clases de Python con un método :meth:`__getitem__` ya que, en " "general, es imposible determinar qué tipo de claves admite. Esta función " -"siempre tiene éxito." +"siempre finaliza con éxito." #: ../Doc/c-api/mapping.rst:25 msgid "" @@ -104,7 +104,7 @@ msgid "" msgstr "" "Retorna ``1`` si el objeto de mapeo tiene la clave *key* y ``0`` de lo " "contrario. Esto es equivalente a la expresión de Python ``key in o``. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." #: ../Doc/c-api/mapping.rst:63 msgid "" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index 27cf05868f..5064cd7ada 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -89,7 +89,7 @@ msgid "" msgstr "" "Retorna verdadero si el objeto *obj* es un objeto de vista de memoria. " "Actualmente no está permitido crear subclases de :class:`memoryview`. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." # crashes -> bloquearse #: ../Doc/c-api/memoryview.rst:54 diff --git a/c-api/number.po b/c-api/number.po index 9644477f2e..6b29cd5fe1 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -32,7 +32,7 @@ msgid "" "otherwise. This function always succeeds." msgstr "" "Retorna ``1`` si el objeto *o* proporciona protocolos numéricos, y falso en " -"caso contrario. Esta función siempre tiene éxito." +"caso contrario. Esta función siempre finaliza con éxito." #: ../Doc/c-api/number.rst:14 msgid "Returns ``1`` if *o* is an index integer." diff --git a/c-api/objbuffer.po b/c-api/objbuffer.po index 4d7cca2b1f..0b3ba86747 100644 --- a/c-api/objbuffer.po +++ b/c-api/objbuffer.po @@ -86,7 +86,7 @@ msgid "" "Otherwise returns ``0``. This function always succeeds." msgstr "" "Retorna ``1`` si *o* admite la interfaz de búfer legible de segmento único. " -"De lo contrario, retorna ``0``. Esta función siempre tiene éxito." +"De lo contrario, retorna ``0``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/objbuffer.rst:44 msgid "" diff --git a/c-api/object.po b/c-api/object.po index a32f642da5..2472631219 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-07 22:35+0200\n" +"PO-Revision-Date: 2021-08-16 13: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" +"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 3.0\n" #: ../Doc/c-api/object.rst:6 msgid "Object Protocol" @@ -429,7 +430,6 @@ msgstr "" "de error, retorna ``-1``." #: ../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 " @@ -439,14 +439,13 @@ msgid "" ">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 " +"Cuando *o* no es ``NULL``, retorna un tipo de objeto correspondiente al tipo " +"de objeto del objeto *o*. En caso de falla, lanza :exc:`SystemError` y " "retorna ``NULL``. Esto es equivalente a la expresión de Python ``type(o)``. " -"Esta función incrementa el conteo de referencia del valor de retorno. " -"Realmente no hay ninguna razón para usar esta función en lugar de la " -"expresión común ``o- ob_type``, que retorna un puntero de tipo :c:type:" -"`PyTypeObject\\*`, excepto cuando se necesita el recuento de referencia " -"incrementado." +"Esta función incrementa el recuento de referencia del valor de retorno. " +"Realmente no hay razón para usar esta función en lugar de la expresión común " +"``o->ob_type``, que retorna un puntero de tipo :c:type:`PyTypeObject*`, " +"excepto cuando se necesita el recuento de referencias incrementado." #: ../Doc/c-api/object.rst:300 msgid "" diff --git a/c-api/sequence.po b/c-api/sequence.po index 4f5816ffe1..76b8ba74bb 100644 --- a/c-api/sequence.po +++ b/c-api/sequence.po @@ -38,7 +38,7 @@ msgstr "" "caso contrario. Tenga en cuenta que retorna ``1`` para las clases de Python " "con un método :meth:`__getitem__` a menos que sean: subclases :class:`dict` " "ya que en general es imposible determinar qué tipo de claves admite. Esta " -"función siempre tiene éxito." +"función siempre finaliza con éxito." #: ../Doc/c-api/sequence.rst:23 msgid "" diff --git a/c-api/slice.po b/c-api/slice.po index 69110b5e39..86670a17de 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 22:38+0200\n" +"PO-Revision-Date: 2021-08-16 13: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" +"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 3.0\n" #: ../Doc/c-api/slice.rst:6 msgid "Slice Objects" @@ -34,12 +35,12 @@ msgstr "" "en la capa de Python." #: ../Doc/c-api/slice.rst:17 -#, 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``." +"Retorna verdadero si *ob* es un objeto rebanada; *ob* no debe ser ``NULL``. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/slice.rst:23 msgid "" From ab8c6165c69149ecb5ef2f11b8639b10aa4080d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Mon, 16 Aug 2021 19:51:13 +0100 Subject: [PATCH 55/94] =?UTF-8?q?Traducci=C3=B3n=20whatsnew/2.0=20(#1241)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * first commit of the 2.0 whatsnew translation * more advances * before changing to another translation * Finalizando whatsnew/2.0 Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes --- dictionaries/whatsnew_2.0.txt | 72 +++ whatsnew/2.0.po | 933 ++++++++++++++++++++++++++++++++-- 2 files changed, 959 insertions(+), 46 deletions(-) create mode 100644 dictionaries/whatsnew_2.0.txt diff --git a/dictionaries/whatsnew_2.0.txt b/dictionaries/whatsnew_2.0.txt new file mode 100644 index 0000000000..ccd36d3f9f --- /dev/null +++ b/dictionaries/whatsnew_2.0.txt @@ -0,0 +1,72 @@ +Andrich +April +Bill +Bolen +Bosch +Elementwise +Enhancement +Fools +Fulton +Funk +Gallew +Garshol +Gregg +Guidelines +Hauser +Integration +Itanium +Iteration +Kamp +Kelsey +Labs +Lockstep +Marius +Markovitch +Maruch +Mick +Montanaro +Moshe +Mullender +Objectwise +Oliver +Operators +Polzin +Proposal +Purpose +Rushing +Russ +Sam +Schmidt +Schneider +Secret +Sjoerd +Skip +Tiedemann +Tismer +Tobias +Toby +Trent +Tutt +Waldman +Ward +Yakov +Zadka +codificándola +crucialmente +discrepantes +dyld +front +hacks +ifdefs +infórmelo +manejadora +patches +pipelining +recompiladas +rpm +sdist +subelemento +suffix +trashcan +wininst +xmlproc diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 5feff6078f..7d2715dfa1 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -6,35 +6,37 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-05 09:24+0100\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: Claudia Millan \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/whatsnew/2.0.rst:3 msgid "What's New in Python 2.0" -msgstr "" +msgstr "Novedades de Python 2.0" #: ../Doc/whatsnew/2.0.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.0.rst:5 msgid "A.M. Kuchling and Moshe Zadka" -msgstr "" +msgstr "A.M. Kuchling y Moshe Zadka" #: ../Doc/whatsnew/2.0.rst:13 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/whatsnew/2.0.rst:15 msgid "" @@ -43,6 +45,10 @@ msgid "" "useful changes, and points out a few incompatible changes that may require " "rewriting code." msgstr "" +"El 16 de octubre de 2000 se publicó una nueva versión de Python, la 2.0. " +"Este artículo cubre las emocionantes nuevas características de la 2.0, " +"destaca algunos otros cambios útiles y señala algunos cambios incompatibles " +"que pueden requerir reescribir el código." #: ../Doc/whatsnew/2.0.rst:20 msgid "" @@ -55,10 +61,20 @@ msgid "" "for PythonLabs are now getting paid to spend their days fixing bugs, and " "also due to the improved communication resulting from moving to SourceForge." msgstr "" +"El desarrollo de Python nunca se detiene por completo entre versiones, y " +"siempre se presenta un flujo constante de correcciones de errores y mejoras. " +"Una gran cantidad de correcciones menores, algunas optimizaciones, " +"docstrings adicionales y mejores mensajes de error fueron incluidos en la " +"versión 2.0; sería imposible enumerarlos todos, pero son ciertamente " +"significativos. Consulte los registros CVS disponibles públicamente si desea " +"ver la lista completa. Este progreso se debe a que los cinco desarrolladores " +"que trabajan para PythonLabs reciben ahora una remuneración por pasar sus " +"días arreglando errores, y también a la mejora de la comunicación resultante " +"del traslado a SourceForge." #: ../Doc/whatsnew/2.0.rst:33 msgid "What About Python 1.6?" -msgstr "" +msgstr "¿Qué pasa con Python 1.6?" #: ../Doc/whatsnew/2.0.rst:35 msgid "" @@ -71,22 +87,39 @@ msgid "" "received a few fixes to ensure that it's forward-compatible with Python " "2.0. 1.6 is therefore part of Python's evolution, and not a side branch." msgstr "" +"Python 1.6 puede considerarse como la versión de Python de las Obligaciones " +"Contractuales. Después de que el equipo principal de desarrollo dejara el " +"CNRI en mayo de 2000, el CNRI pidió que se creara una versión 1.6 que " +"contuviera todo el trabajo sobre Python que se había realizado en el CNRI. " +"Por lo tanto, Python 1.6 representa el estado del árbol CVS en mayo de 2000, " +"siendo la novedad más importante el soporte de Unicode. El desarrollo " +"continuó después de mayo, por supuesto, así que el árbol 1.6 recibió algunas " +"correcciones para asegurar que es compatible con Python 2.0. 1.Por lo tanto, " +"la 6 es parte de la evolución de Python, y no una rama lateral." #: ../Doc/whatsnew/2.0.rst:44 msgid "" -"So, should you take much interest in Python 1.6? Probably not. The " -"1.6final and 2.0beta1 releases were made on the same day (September 5, " -"2000), the plan being to finalize Python 2.0 within a month or so. If you " -"have applications to maintain, there seems little point in breaking things " -"by moving to 1.6, fixing them, and then having another round of breakage " -"within a month by moving to 2.0; you're better off just going straight to " -"2.0. Most of the really interesting features described in this document are " -"only in 2.0, because a lot of work was done between May and September." -msgstr "" +"So, should you take much interest in Python 1.6? Probably not. The 1.6final " +"and 2.0beta1 releases were made on the same day (September 5, 2000), the " +"plan being to finalize Python 2.0 within a month or so. If you have " +"applications to maintain, there seems little point in breaking things by " +"moving to 1.6, fixing them, and then having another round of breakage within " +"a month by moving to 2.0; you're better off just going straight to 2.0. Most " +"of the really interesting features described in this document are only in " +"2.0, because a lot of work was done between May and September." +msgstr "" +"Entonces, ¿deberías interesarte mucho por Python 1.6? Probablemente no. Las " +"versiones 1.6final y 2.0beta1 se publicaron el mismo día (5 de septiembre de " +"2000), y el plan es finalizar Python 2.0 en un mes más o menos. Si tienes " +"aplicaciones que mantener, no parece que tenga mucho sentido romper cosas al " +"pasar a la 1.6, arreglarlas, y luego tener otra ronda de roturas dentro de " +"un mes al pasar a la 2.0; es mejor pasar directamente a la 2.0. La mayoría " +"de las características realmente interesantes descritas en este documento " +"sólo están en la 2.0, porque se hizo mucho trabajo entre mayo y septiembre." #: ../Doc/whatsnew/2.0.rst:57 msgid "New Development Process" -msgstr "" +msgstr "Nuevo proceso de desarrollo" #: ../Doc/whatsnew/2.0.rst:59 msgid "" @@ -98,6 +131,14 @@ msgid "" "available from Python's project page, located at https://sourceforge.net/" "projects/python/." msgstr "" +"El cambio más importante en Python 2.0 puede que no sea en el código en " +"absoluto, sino en la forma de desarrollar Python: en mayo de 2000 los " +"desarrolladores de Python comenzaron a utilizar las herramientas puestas a " +"disposición por SourceForge para almacenar el código fuente, rastrear los " +"informes de errores y gestionar la cola de envíos de parches. Para informar " +"de errores o enviar parches para Python 2.0, utilice las herramientas de " +"seguimiento de errores y gestión de parches disponibles en la página del " +"proyecto Python, situada en https://sourceforge.net/projects/python/." #: ../Doc/whatsnew/2.0.rst:66 msgid "" @@ -118,6 +159,25 @@ msgid "" "access, probably that task would have been viewed as \"nice, but not worth " "the time and effort needed\" and it would never have gotten done." msgstr "" +"El más importante de los servicios alojados ahora en SourceForge es el árbol " +"CVS de Python, el repositorio de versiones controladas que contiene el " +"código fuente de Python. Anteriormente, había unas 7 personas que tenían " +"acceso de escritura al árbol CVS, y todos los parches tenían que ser " +"inspeccionados y comprobados por una de las personas de esta corta lista. " +"Obviamente, esto no era muy escalable. Al trasladar el árbol CVS a " +"SourceForge, fue posible conceder acceso de escritura a más personas; en " +"septiembre de 2000 había 27 personas que podían revisar los cambios, un " +"aumento de cuatro veces. Esto hace posible cambios a gran escala que no se " +"intentarían si tuvieran que pasar por el pequeño grupo de desarrolladores " +"del núcleo. Por ejemplo, un día a Peter Schneider-Kamp se le ocurrió dejar " +"de lado la compatibilidad con K&R C y convertir el código fuente de Python a " +"ANSI C. Después de obtener la aprobación en la lista de correo de python-" +"dev, se lanzó a una ráfaga de revisiones que duró aproximadamente una " +"semana, otros desarrolladores se unieron para ayudar, y el trabajo estaba " +"hecho. Si sólo hubiera habido 5 personas con acceso de escritura, " +"probablemente esa tarea habría sido considerada como \"agradable, pero no " +"vale la pena el tiempo y el esfuerzo necesarios\" y nunca se habría " +"realizado." #: ../Doc/whatsnew/2.0.rst:83 msgid "" @@ -133,12 +193,25 @@ msgid "" "notification e-mail messages that are completely unhelpful, so Ka-Ping Yee " "wrote an HTML screen-scraper that sends more useful messages." msgstr "" +"El cambio al uso de los servicios de SourceForge ha dado lugar a un notable " +"aumento de la velocidad de desarrollo. Ahora los parches se envían, se " +"comentan, son revisados por otras personas además del remitente original, y " +"van de un lado a otro hasta que se considera que el parche merece ser " +"revisado. Los errores se rastrean en una ubicación central y se pueden " +"asignar a una persona específica para que los corrija, y podemos contar el " +"número de errores abiertos para medir el progreso. Esto no ha tenido un " +"coste: los desarrolladores tienen ahora más correo electrónico con el que " +"lidiar, más listas de correo que seguir, y se han tenido que escribir " +"herramientas especiales para el nuevo entorno. Por ejemplo, SourceForge " +"envía por defecto mensajes de correo electrónico de notificación de parches " +"y errores que son completamente inútiles, por lo que Ka-Ping Yee escribió un " +"raspador de pantalla HTML que envía mensajes más útiles." #: ../Doc/whatsnew/2.0.rst:95 msgid "" "The ease of adding code caused a few initial growing pains, such as code was " "checked in before it was ready or without getting clear agreement from the " -"developer group. The approval process that has emerged is somewhat similar " +"developer group. The approval process that has emerged is somewhat similar " "to that used by the Apache group. Developers can vote +1, +0, -0, or -1 on a " "patch; +1 and -1 denote acceptance or rejection, while +0 and -0 mean the " "developer is mostly indifferent to the change, though with a slight positive " @@ -148,6 +221,19 @@ msgid "" "can still ignore the result of a vote, and approve or reject a change even " "if the community disagrees with him." msgstr "" +"La facilidad para añadir código provocó algunos problemas iniciales de " +"crecimiento, como el hecho de que el código se registrara antes de estar " +"listo o sin obtener un acuerdo claro del grupo de desarrolladores. El " +"proceso de aprobación que ha surgido es algo similar al utilizado por el " +"grupo Apache. Los desarrolladores pueden votar +1, +0, -0 o -1 sobre un " +"parche; +1 y -1 denotan aceptación o rechazo, mientras que +0 y -0 " +"significan que el desarrollador es mayormente indiferente al cambio, aunque " +"con un ligero sesgo positivo o negativo. El cambio más significativo con " +"respecto al modelo de Apache es que la votación es esencialmente consultiva, " +"lo que permite a Guido van Rossum, que tiene el estatus de Dictador " +"Benevolente Vitalicio, saber cuál es la opinión general. Puede seguir " +"ignorando el resultado de una votación y aprobar o rechazar un cambio aunque " +"la comunidad no esté de acuerdo con él." #: ../Doc/whatsnew/2.0.rst:106 msgid "" @@ -162,6 +248,17 @@ msgid "" "accepting or rejecting the proposal. Quoting from the introduction to :pep:" "`1`, \"PEP Purpose and Guidelines\":" msgstr "" +"Producir un parche real es el último paso en la adición de una nueva " +"característica, y suele ser fácil en comparación con la tarea anterior de " +"llegar a un buen diseño. Las discusiones sobre nuevas funcionalidades a " +"menudo pueden explotar en largos hilos de la lista de correo, haciendo que " +"la discusión sea difícil de seguir, y nadie puede leer todos los mensajes en " +"python-dev. Por lo tanto, se ha establecido un proceso relativamente formal " +"para escribir Propuestas de Mejora de Python (PEPs), siguiendo el modelo del " +"proceso RFC de Internet. Las PEP son borradores de documentos que describen " +"una nueva característica propuesta, y se revisan continuamente hasta que la " +"comunidad llega a un consenso, aceptando o rechazando la propuesta. Cita de " +"la introducción de :pep:`1`, \"PEP Purpose and Guidelines\":" #: ../Doc/whatsnew/2.0.rst:120 msgid "" @@ -170,6 +267,11 @@ msgid "" "for Python. The PEP should provide a concise technical specification of the " "feature and a rationale for the feature." msgstr "" +"PEP son las siglas de Python Enhancement Proposal. Un PEP es un documento de " +"diseño que proporciona información a la comunidad de Python, o que describe " +"una nueva característica para Python. El PEP debe proporcionar una " +"especificación técnica concisa de la característica y una justificación de " +"la misma." #: ../Doc/whatsnew/2.0.rst:125 msgid "" @@ -178,6 +280,11 @@ msgid "" "decisions that have gone into Python. The PEP author is responsible for " "building consensus within the community and documenting dissenting opinions." msgstr "" +"Pretendemos que los PEPs sean los mecanismos principales para proponer " +"nuevas características, para recoger las opiniones de la comunidad sobre un " +"tema y para documentar las decisiones de diseño que se han tomado en Python. " +"El autor del PEP es responsable de crear consenso dentro de la comunidad y " +"de documentar las opiniones discrepantes." #: ../Doc/whatsnew/2.0.rst:130 msgid "" @@ -188,10 +295,16 @@ msgid "" "September 2000, there are 25 PEPS, ranging from :pep:`201`, \"Lockstep " "Iteration\", to PEP 225, \"Elementwise/Objectwise Operators\"." msgstr "" +"Lee el resto de :pep:`1` para conocer los detalles del proceso editorial, el " +"estilo y el formato de los PEP. Los PEP se mantienen en el árbol CVS de " +"Python en SourceForge, aunque no forman parte de la distribución de Python " +"2.0, y también están disponibles en formato HTML en https://www.python.org/" +"dev/peps/. En septiembre de 2000, había 25 PEPS, desde :pep:`201`, " +"\"Lockstep Iteration\", hasta PEP 225, \"Elementwise/Objectwise Operators\"." #: ../Doc/whatsnew/2.0.rst:141 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: ../Doc/whatsnew/2.0.rst:143 msgid "" @@ -200,6 +313,10 @@ msgid "" "instead of the 8-bit number used by ASCII, meaning that 65,536 distinct " "characters can be supported." msgstr "" +"La mayor novedad de Python 2.0 es un nuevo tipo de datos fundamental: Las " +"cadenas Unicode. Unicode utiliza números de 16 bits para representar los " +"caracteres en lugar de los 8 bits utilizados por ASCII, lo que significa que " +"se pueden admitir 65.536 caracteres distintos." #: ../Doc/whatsnew/2.0.rst:148 msgid "" @@ -210,6 +327,13 @@ msgid "" "was written up as :pep:`100`, \"Python Unicode Integration\". This article " "will simply cover the most significant points about the Unicode interfaces." msgstr "" +"La interfaz final para el soporte de Unicode se alcanzó a través de " +"innumerables discusiones, a menudo tormentosas, en la lista de correo de " +"python-dev, y fue implementada en su mayor parte por Marc-André Lemburg, " +"basándose en una implementación del tipo de cadena Unicode de Fredrik Lundh. " +"Una explicación detallada de la interfaz fue escrita como :pep:`100`, " +"\"Python Unicode Integration\". Este artículo se limitará a cubrir los " +"puntos más significativos de las interfaces Unicode." #: ../Doc/whatsnew/2.0.rst:155 msgid "" @@ -219,6 +343,12 @@ msgid "" "The existing ``\\xHHHH`` escape sequence can also be used, and octal escapes " "can be used for characters up to U+01FF, which is represented by ``\\777``." msgstr "" +"En el código fuente de Python, las cadenas Unicode se escriben como ``u " +"\"cadena\"``. Los caracteres Unicode arbitrarios pueden escribirse " +"utilizando una nueva secuencia de escape, ``uHHHH``, donde *HHHH* es un " +"número hexadecimal de 4 dígitos desde 0000 hasta FFFF. También se puede " +"utilizar la secuencia de escape existente ``xHHHH``, y se pueden utilizar " +"escapes octales para caracteres hasta U+01FF, que se representa con ``777``." #: ../Doc/whatsnew/2.0.rst:161 msgid "" @@ -233,30 +363,50 @@ msgid "" "installation by calling the ``sys.setdefaultencoding(encoding)`` function in " "a customized version of :file:`site.py`." msgstr "" +"Las cadenas Unicode, al igual que las cadenas normales, son un tipo de " +"secuencia inmutable. Pueden ser indexadas y cortadas, pero no modificadas en " +"su lugar. Las cadenas Unicode tienen un método ``encode( [encoding] )`` que " +"retorna una cadena de 8 bits en la codificación deseada. Las codificaciones " +"son nombradas por cadenas, como ``'ascii'``, ``'utf-8'``, ``'iso-8859-1'``, " +"o lo que sea. Se define una API de códecs para implementar y registrar " +"nuevas codificaciones que luego están disponibles en todo el programa " +"Python. Si no se especifica una codificación, la codificación por defecto " +"suele ser ASCII de 7 bits, aunque puede cambiarse para tu instalación de " +"Python llamando a la función ``sys.setdefaultencoding(encoding)`` en una " +"versión personalizada de :file:`site.py`." #: ../Doc/whatsnew/2.0.rst:172 msgid "" "Combining 8-bit and Unicode strings always coerces to Unicode, using the " "default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``." msgstr "" +"La combinación de cadenas de 8 bits y Unicode siempre fuerza conversión a " +"Unicode, utilizando la codificación ASCII por defecto; el resultado de ``'a' " +"+ u'bc'`` es ``u'abc'``." #: ../Doc/whatsnew/2.0.rst:175 msgid "" "New built-in functions have been added, and existing built-ins modified to " "support Unicode:" msgstr "" +"Se han añadido nuevas funciones incorporadas y se han modificado las " +"existentes para que sean compatibles con Unicode:" #: ../Doc/whatsnew/2.0.rst:178 msgid "" "``unichr(ch)`` returns a Unicode string 1 character long, containing the " "character *ch*." msgstr "" +"``unichr(ch)`` retorna una cadena Unicode de 1 carácter, que contiene el " +"carácter *ch*." #: ../Doc/whatsnew/2.0.rst:181 msgid "" "``ord(u)``, where *u* is a 1-character regular or Unicode string, returns " "the number of the character as an integer." msgstr "" +"``ord(u)``, donde *u* es una cadena regular o Unicode de 1 carácter, retorna " +"el número del carácter como un entero." #: ../Doc/whatsnew/2.0.rst:184 msgid "" @@ -268,6 +418,14 @@ msgid "" "errors to be silently ignored and ``'replace'`` uses U+FFFD, the official " "replacement character, in case of any problems." msgstr "" +"``unicode(string [, encoding] [, errors] )`` crea una cadena Unicode a " +"partir de una cadena de 8 bits. ``encoding`` es una cadena que nombra la " +"codificación a utilizar. El parámetro ``errors`` especifica el tratamiento " +"de los caracteres que no son válidos para la codificación actual; pasar " +"``'strict`` como valor hace que se lance una excepción en cualquier error de " +"codificación, mientras que ``'ignore`` hace que los errores se ignoren " +"silenciosamente y ``'replace`` utiliza U+FFFD, el carácter oficial de " +"reemplazo, en caso de cualquier problema." #: ../Doc/whatsnew/2.0.rst:192 msgid "" @@ -277,6 +435,12 @@ msgid "" "built-ins; if you find a built-in function that accepts strings but doesn't " "accept Unicode strings at all, please report it as a bug.)" msgstr "" +"La sentencia ``exec``, y varias funciones integradas como ``eval()``, " +"``getattr()``, y ``setattr()`` también aceptarán cadenas Unicode así como " +"cadenas regulares. (Es posible que en el proceso de corrección de esto se " +"hayan pasado por alto algunas funciones incorporadas; si encuentra una " +"función incorporada que acepte cadenas pero que no acepte cadenas Unicode en " +"absoluto, por favor, infórmelo como un error)" #: ../Doc/whatsnew/2.0.rst:198 msgid "" @@ -286,6 +450,12 @@ msgid "" "it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', " "meaning that U+0660 is an Arabic number." msgstr "" +"Un nuevo módulo, :mod:`unicodedata`, proporciona una interfaz para las " +"propiedades de los caracteres Unicode. Por ejemplo, ``unicodedata." +"category(u'A')`` retorna la cadena de 2 caracteres 'Lu', la 'L' denota que " +"es una letra, y la 'u' significa que es mayúscula. ``unicodedata." +"bidirectional(u'\\u0660')`` retorna 'AN', lo que significa que U+0660 es un " +"número árabe." #: ../Doc/whatsnew/2.0.rst:204 msgid "" @@ -294,6 +464,11 @@ msgid "" "most often use the ``codecs.lookup(encoding)`` function, which returns a 4-" "element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``." msgstr "" +"El módulo :mod:`codecs` contiene funciones para buscar codificaciones " +"existentes y registrar otras nuevas. A menos que quiera implementar una " +"nueva codificación, lo más habitual es que utilice la función ``codecs." +"lookup(encoding)``, que retorna una tupla de 4 elementos: ``(encode_func, " +"decode_func, stream_reader, stream_writer)``." #: ../Doc/whatsnew/2.0.rst:209 msgid "" @@ -303,6 +478,10 @@ msgid "" "encoding, and *length* tells you how much of the Unicode string was " "converted." msgstr "" +"*encode_func* es una función que toma una cadena Unicode, y retorna una 2-" +"tupla ``(string, length)``. *string* es una cadena de 8 bits que contiene " +"una porción (tal vez toda) de la cadena Unicode convertida a la codificación " +"dada, y *longitud* indica la cantidad de cadena Unicode convertida." #: ../Doc/whatsnew/2.0.rst:214 msgid "" @@ -311,6 +490,10 @@ msgid "" "Unicode string *ustring* and the integer *length* telling how much of the 8-" "bit string was consumed." msgstr "" +"*decode_func* es lo opuesto a *encode_func*, tomando una cadena de 8 bits y " +"retornando una 2-tupla ``(ustring, length)``, que consiste en la cadena " +"Unicode resultante *ustring* y el entero *length* que dice cuánto de la " +"cadena de 8 bits se consumió." #: ../Doc/whatsnew/2.0.rst:219 msgid "" @@ -319,6 +502,10 @@ msgid "" "meth:`readline`, and :meth:`readlines` methods. These methods will all " "translate from the given encoding and return Unicode strings." msgstr "" +"*stream_reader* es una clase que soporta la decodificación de la entrada de " +"un flujo. *stream_reader(file_obj)* retorna un objeto que soporta los " +"métodos :meth:`read`, :meth:`readline` y :meth:`readlines`. Todos estos " +"métodos traducirán desde la codificación dada y retornarán cadenas Unicode." #: ../Doc/whatsnew/2.0.rst:224 msgid "" @@ -327,16 +514,22 @@ msgid "" "`write` and :meth:`writelines` methods. These methods expect Unicode " "strings, translating them to the given encoding on output." msgstr "" +"*stream_writer*, de forma similar, es una clase que soporta la codificación " +"de la salida a un flujo. *stream_writer(file_obj)* retorna un objeto que " +"soporta los métodos :meth:`write` y :meth:`writelines`. Estos métodos " +"esperan cadenas Unicode, traduciéndolas a la codificación dada en la salida." #: ../Doc/whatsnew/2.0.rst:229 msgid "" "For example, the following code writes a Unicode string into a file, " "encoding it as UTF-8::" msgstr "" +"Por ejemplo, el siguiente código escribe una cadena Unicode en un archivo, " +"codificándola como UTF-8::" #: ../Doc/whatsnew/2.0.rst:243 msgid "The following code would then read UTF-8 input from the file::" -msgstr "" +msgstr "El siguiente código leería la entrada UTF-8 del archivo::" #: ../Doc/whatsnew/2.0.rst:249 msgid "" @@ -344,6 +537,9 @@ msgid "" "module, which has a new underlying implementation called SRE written by " "Fredrik Lundh of Secret Labs AB." msgstr "" +"Las expresiones regulares compatibles con Unicode están disponibles a través " +"del módulo :mod:`re`, que tiene una nueva implementación subyacente llamada " +"SRE escrita por Fredrik Lundh de Secret Labs AB." #: ../Doc/whatsnew/2.0.rst:253 msgid "" @@ -353,10 +549,16 @@ msgid "" "future version of Python may drop support for 8-bit strings and provide only " "Unicode strings." msgstr "" +"Se ha añadido una opción de línea de comandos ``-U`` que hace que el " +"compilador de Python interprete todos los literales de cadena como literales " +"de cadena Unicode. Esta opción está pensada para ser utilizada en las " +"pruebas y para asegurar el futuro de su código Python, ya que alguna versión " +"futura de Python puede dejar de soportar cadenas de 8 bits y proporcionar " +"sólo cadenas Unicode." #: ../Doc/whatsnew/2.0.rst:262 msgid "List Comprehensions" -msgstr "" +msgstr "Comprensión de listas" #: ../Doc/whatsnew/2.0.rst:264 msgid "" @@ -367,6 +569,12 @@ msgid "" "might want to pull out all the strings containing a given substring, or " "strip off trailing whitespace from each line." msgstr "" +"Las listas son un tipo de datos muy útil en Python, y muchos programas " +"manipulan una lista en algún momento. Dos operaciones comunes en las listas " +"son hacer un bucle sobre ellas, y escoger los elementos que cumplen un " +"cierto criterio, o aplicar alguna función a cada elemento. Por ejemplo, dada " +"una lista de cadenas, podrías querer sacar todas las cadenas que contengan " +"una determinada subcadena, o quitar los espacios en blanco de cada línea." #: ../Doc/whatsnew/2.0.rst:271 msgid "" @@ -379,6 +587,14 @@ msgid "" "paragraph, finding all the strings in the list containing a given " "substring. You could write the following to do it::" msgstr "" +"Las funciones :func:`map` y :func:`filter` existentes pueden usarse para " +"este propósito, pero requieren una función como uno de sus argumentos. Esto " +"está bien si hay una función incorporada que se puede pasar directamente, " +"pero si no la hay, hay que crear una pequeña función para hacer el trabajo " +"requerido, y las reglas de ámbito de Python hacen que el resultado sea feo " +"si la pequeña función necesita información adicional. Tomemos el primer " +"ejemplo del párrafo anterior, encontrar todas las cadenas de la lista que " +"contienen una subcadena dada. Podrías escribir lo siguiente para hacerlo::" #: ../Doc/whatsnew/2.0.rst:286 msgid "" @@ -386,10 +602,14 @@ msgid "" "anonymous function created by the :keyword:`lambda` expression knows what " "substring is being searched for. List comprehensions make this cleaner::" msgstr "" +"Debido a las reglas de ámbito de Python, se utiliza un argumento por defecto " +"para que la función anónima creada por la expresión :keyword:`lambda` sepa " +"qué subcadena se está buscando. Las comprensiones de lista hacen esto más " +"limpio::" #: ../Doc/whatsnew/2.0.rst:292 msgid "List comprehensions have the form::" -msgstr "" +msgstr "Las comprensiones de listas tienen la forma::" #: ../Doc/whatsnew/2.0.rst:299 msgid "" @@ -401,12 +621,21 @@ msgid "" "keyword:`!if` clause is optional; if present, *expression* is only evaluated " "and added to the result if *condition* is true." msgstr "" +"Las cláusulas :keyword:`!for`...\\ :keyword:`!in` contienen las secuencias a " +"iterar. Las secuencias no tienen por qué tener la misma longitud, ya que no " +"se itera sobre ellas en paralelo, sino de izquierda a derecha; esto se " +"explica más claramente en los párrafos siguientes. Los elementos de la lista " +"generada serán los valores sucesivos de la *expresión*. La cláusula final :" +"keyword:`!if` es opcional; si está presente, la *expresión* sólo se evalúa y " +"se añade al resultado si la *condición* es verdadera." #: ../Doc/whatsnew/2.0.rst:307 msgid "" "To make the semantics very clear, a list comprehension is equivalent to the " "following Python code::" msgstr "" +"Para dejar muy clara la semántica, una comprensión de lista equivale al " +"siguiente código de Python::" #: ../Doc/whatsnew/2.0.rst:319 msgid "" @@ -415,6 +644,10 @@ msgid "" "all the sequences. If you have two lists of length 3, the output list is 9 " "elements long::" msgstr "" +"Esto significa que cuando hay múltiples cláusulas :keyword:`!for`...\\ :" +"keyword:`!in`, la lista resultante será igual al producto de las longitudes " +"de todas las secuencias. Si tiene dos listas de longitud 3, la lista de " +"salida tendrá 9 elementos::" #: ../Doc/whatsnew/2.0.rst:330 msgid "" @@ -422,6 +655,10 @@ msgid "" "creating a tuple, it must be surrounded with parentheses. The first list " "comprehension below is a syntax error, while the second one is correct::" msgstr "" +"Para evitar introducir una ambigüedad en la gramática de Python, si " +"*expresión* está creando una tupla, debe estar rodeada de paréntesis. La " +"primera comprensión de la lista a continuación es un error de sintaxis, " +"mientras que la segunda es correcta::" #: ../Doc/whatsnew/2.0.rst:339 msgid "" @@ -431,10 +668,16 @@ msgid "" "comprehension patch, which was then discussed for a seemingly endless time " "on the python-dev mailing list and kept up-to-date by Skip Montanaro." msgstr "" +"La idea de las comprensiones de listas procede originalmente del lenguaje de " +"programación funcional Haskell (https://www.haskell.org). Greg Ewing fue el " +"que más abogó por añadirlas a Python y escribió el parche inicial de " +"comprensión de listas, que luego se discutió durante un tiempo aparentemente " +"interminable en la lista de correo de python-dev y se mantuvo actualizada " +"por Skip Montanaro." #: ../Doc/whatsnew/2.0.rst:349 msgid "Augmented Assignment" -msgstr "" +msgstr "Asignación aumentada" #: ../Doc/whatsnew/2.0.rst:351 msgid "" @@ -444,6 +687,11 @@ msgid "" "value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a " "= a + 2``." msgstr "" +"Los operadores de asignación aumentados, otra característica largamente " +"solicitada, han sido añadidos a Python 2.0. Los operadores de asignación " +"aumentados incluyen ``+=``, ``-=``, ``*=``, etc. Por ejemplo, la sentencia " +"``a += 2`` incrementa el valor de la variable ``a`` en 2, lo que equivale a " +"la sentencia algo más larga ``a = a + 2``." #: ../Doc/whatsnew/2.0.rst:356 msgid "" @@ -454,6 +702,12 @@ msgid "" "following :class:`Number` class stores a number and supports using += to " "create a new instance with an incremented value." msgstr "" +"La lista completa de operadores de asignación soportados es ``+=``, ``-=``, " +"``*=``, ``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, y ``<=``. " +"Las clases de Python pueden anular los operadores de asignación aumentados " +"definiendo métodos llamados :meth:`__iadd__`, :meth:`__isub__`, etc. Por " +"ejemplo, la siguiente clase :class:`Number` almacena un número y soporta el " +"uso de += para crear una nueva instancia con un valor incrementado." #: ../Doc/whatsnew/2.0.rst:377 msgid "" @@ -462,6 +716,10 @@ msgid "" "value; this return value is bound as the new value of the variable on the " "left-hand side." msgstr "" +"El método especial :meth:`__iadd__` es llamado con el valor del incremento, " +"y debe retornar una nueva instancia con un valor adecuadamente modificado; " +"este valor de retorno se vincula como el nuevo valor de la variable del lado " +"izquierdo." #: ../Doc/whatsnew/2.0.rst:381 msgid "" @@ -470,10 +728,14 @@ msgid "" "Perl, and PHP also support them. The augmented assignment patch was " "implemented by Thomas Wouters." msgstr "" +"Los operadores de asignación aumentada se introdujeron por primera vez en el " +"lenguaje de programación C, y la mayoría de los lenguajes derivados de C, " +"como :program:`awk`, C++, Java, Perl y PHP también los soportan. El parche " +"de asignación aumentada fue implementado por Thomas Wouters." #: ../Doc/whatsnew/2.0.rst:390 msgid "String Methods" -msgstr "" +msgstr "Métodos de cadena de caracteres" #: ../Doc/whatsnew/2.0.rst:392 msgid "" @@ -485,6 +747,13 @@ msgid "" "takes 3 string arguments, that means eight possible permutations, and " "correspondingly complicated code." msgstr "" +"Hasta ahora, la funcionalidad de manipulación de cadenas de caracteres " +"estaba en el módulo :mod:`string`, que normalmente era un front-end para el " +"módulo :mod:`strop` escrito en C. La adición de Unicode supuso una " +"dificultad para el módulo :mod:`strop`, porque todas las funciones tendrían " +"que ser reescritas para aceptar cadenas de 8 bits o Unicode. Para funciones " +"como :func:`string.replace`, que toma 3 argumentos de cadena, eso significa " +"ocho posibles permutaciones, y el correspondiente código complicado." #: ../Doc/whatsnew/2.0.rst:400 msgid "" @@ -492,6 +761,9 @@ msgid "" "manipulation functionality available through methods on both 8-bit strings " "and Unicode strings. ::" msgstr "" +"En cambio, Python 2.0 traslada el problema al tipo de cadena de caracteres, " +"haciendo que la funcionalidad de manipulación de cadenas esté disponible a " +"través de métodos tanto en cadenas de 8 bits como en cadenas Unicode. ::" #: ../Doc/whatsnew/2.0.rst:411 msgid "" @@ -500,12 +772,18 @@ msgid "" "methods return new strings, and do not modify the string on which they " "operate." msgstr "" +"Una cosa que no ha cambiado, a pesar de una notable broma de April Fools, es " +"que las cadenas de Python son inmutables. Así, los métodos de cadenas " +"retornan cadenas nuevas, y no modifican la cadena sobre la que operan." #: ../Doc/whatsnew/2.0.rst:415 msgid "" "The old :mod:`string` module is still around for backwards compatibility, " "but it mostly acts as a front-end to the new string methods." msgstr "" +"El antiguo módulo :mod:`string` sigue existiendo por compatibilidad con el " +"pasado, pero actúa principalmente como un front-end para los nuevos métodos " +"de cadena de caracteres." #: ../Doc/whatsnew/2.0.rst:418 msgid "" @@ -514,6 +792,10 @@ msgid "" "`endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " "``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." msgstr "" +"Dos métodos que no tienen paralelo en las versiones anteriores a la 2.0, " +"aunque existieron en JPython durante bastante tiempo, son :meth:`startswith` " +"y :meth:`endswith`. ``s.startswith(t)`` es equivalente a ``s[:len(t)] == " +"t``, mientras que ``s.endswith(t)`` es equivalente a ``s[-len(t):] == t``." #: ../Doc/whatsnew/2.0.rst:423 msgid "" @@ -523,10 +805,15 @@ msgid "" "module, with the arguments reversed. In other words, ``s.join(seq)`` is " "equivalent to the old ``string.join(seq, s)``." msgstr "" +"Otro método que merece una mención especial es :meth:`join`. El método :meth:" +"`join` de una cadena recibe un parámetro, una secuencia de cadenas, y es " +"equivalente a la función :func:`string.join` del antiguo módulo :mod:" +"`string`, con los argumentos invertidos. En otras palabras, ``s.join(seq)`` " +"es equivalente a la antigua ``string.join(seq, s)``." #: ../Doc/whatsnew/2.0.rst:433 msgid "Garbage Collection of Cycles" -msgstr "" +msgstr "Recogida de basura de los ciclos" #: ../Doc/whatsnew/2.0.rst:435 msgid "" @@ -537,6 +824,13 @@ msgid "" "no longer accessible, since you need to have a reference to an object to " "access it, and if the count is zero, no references exist any longer." msgstr "" +"La implementación en C de Python utiliza el conteo de referencias para " +"implementar la recolección de basura. Cada objeto de Python mantiene un " +"recuento del número de referencias que apuntan a sí mismo, y ajusta el " +"recuento a medida que se crean o destruyen referencias. Una vez que el " +"recuento de referencias llega a cero, el objeto deja de ser accesible, ya " +"que es necesario tener una referencia a un objeto para acceder a él, y si el " +"recuento es cero, ya no existen referencias." #: ../Doc/whatsnew/2.0.rst:442 msgid "" @@ -547,12 +841,21 @@ msgid "" "doesn't realise that objects are no longer accessible, resulting in a memory " "leak. This happens when there are cycles of references." msgstr "" +"El conteo de referencias tiene algunas propiedades agradables: es fácil de " +"entender e implementar, y la implementación resultante es portable, bastante " +"rápida, y reacciona bien con otras bibliotecas que implementan sus propios " +"esquemas de manejo de memoria. El mayor problema del conteo de referencias " +"es que a veces no se da cuenta de que los objetos ya no son accesibles, lo " +"que provoca una fuga de memoria. Esto ocurre cuando hay ciclos de " +"referencias." #: ../Doc/whatsnew/2.0.rst:449 msgid "" "Consider the simplest possible cycle, a class instance which has a " "reference to itself::" msgstr "" +"Consideremos el ciclo más simple posible, una instancia de clase que tiene " +"una referencia a sí misma::" #: ../Doc/whatsnew/2.0.rst:455 msgid "" @@ -560,6 +863,9 @@ msgid "" "``instance`` is 2; one reference is from the variable named ``'instance'``, " "and the other is from the ``myself`` attribute of the instance." msgstr "" +"Después de ejecutar las dos líneas de código anteriores, la cuenta de " +"referencias de ``instance`` es 2; una referencia es de la variable llamada " +"``'instance``, y la otra es del atributo ``myself`` de la instancia." #: ../Doc/whatsnew/2.0.rst:459 msgid "" @@ -570,6 +876,13 @@ msgid "" "objects can participate in a cycle if they have references to each other, " "causing all of the objects to be leaked." msgstr "" +"Si la siguiente línea de código es ``del instance``, ¿qué ocurre? La cuenta " +"de referencias de ``instance`` se reduce en 1, por lo que tiene una cuenta " +"de referencias de 1; la referencia en el atributo ``myself`` sigue " +"existiendo. Sin embargo, la instancia ya no es accesible a través del código " +"de Python, y podría ser eliminada. Varios objetos pueden participar en un " +"ciclo si tienen referencias entre sí, haciendo que todos los objetos se " +"filtren." #: ../Doc/whatsnew/2.0.rst:466 msgid "" @@ -579,6 +892,11 @@ msgid "" "collection, obtain debugging statistics, and tuning the collector's " "parameters." msgstr "" +"Python 2.0 soluciona este problema ejecutando periódicamente un algoritmo de " +"detección de ciclos que busca los ciclos inaccesibles y borra los objetos " +"implicados. Un nuevo módulo :mod:`gc` proporciona funciones para realizar " +"una recolección de basura, obtener estadísticas de depuración y afinar los " +"parámetros del recolector." #: ../Doc/whatsnew/2.0.rst:471 msgid "" @@ -593,6 +911,17 @@ msgid "" "buggy, by specifying the :option:`!--without-cycle-gc` switch when running " "the :program:`configure` script." msgstr "" +"Ejecutar el algoritmo de detección de ciclos lleva algo de tiempo, y por lo " +"tanto resultará en una sobrecarga adicional. Se espera que después de que " +"hayamos adquirido experiencia con la recogida de ciclos al utilizar la " +"versión 2.0, Python 2.1 sea capaz de minimizar la sobrecarga con un " +"cuidadoso ajuste. Todavía no es obvio cuánto rendimiento se pierde, porque " +"la evaluación comparativa de esto es difícil y depende crucialmente de la " +"frecuencia con la que el programa crea y destruye objetos. La detección de " +"ciclos puede ser desactivada cuando Python es compilado, si no puede " +"permitirse ni siquiera una pequeña penalización de velocidad o sospecha que " +"la recolección de ciclos es un error, especificando la opción :option:`!--" +"without-cycle-gc` cuando se ejecuta el script :program:`configure`." #: ../Doc/whatsnew/2.0.rst:482 msgid "" @@ -606,10 +935,20 @@ msgid "" "threads titled \"Reference cycle collection for Python\" and \"Finalization " "again\"." msgstr "" +"Varias personas abordaron este problema y contribuyeron a una solución. Una " +"primera implementación del enfoque de detección de ciclos fue escrita por " +"Toby Kelsey. El algoritmo actual fue sugerido por Eric Tiedemann durante una " +"visita al CNRI, y Guido van Rossum y Neil Schemenauer escribieron dos " +"implementaciones diferentes, que posteriormente fueron integradas por Neil. " +"Muchas otras personas ofrecieron sugerencias a lo largo del camino; los " +"archivos de marzo de 2000 de la lista de correo python-dev contienen la " +"mayor parte de la discusión relevante, especialmente en los hilos titulados " +"\"Colección de ciclos de referencia para Python\" y \"Finalización de nuevo" +"\"." #: ../Doc/whatsnew/2.0.rst:495 msgid "Other Core Changes" -msgstr "" +msgstr "Otros cambios en el núcleo" #: ../Doc/whatsnew/2.0.rst:497 msgid "" @@ -617,10 +956,13 @@ msgid "" "functions. None of the changes are very far-reaching, but they're handy " "conveniences." msgstr "" +"Se han realizado varios cambios menores en la sintaxis y las funciones " +"incorporadas de Python. Ninguno de los cambios es de gran alcance, pero son " +"conveniencias prácticas." #: ../Doc/whatsnew/2.0.rst:502 msgid "Minor Language Changes" -msgstr "" +msgstr "Cambios menores del lenguaje" #: ../Doc/whatsnew/2.0.rst:504 msgid "" @@ -633,6 +975,15 @@ msgid "" "and clearer way to achieve the same effect. This syntax is symmetrical with " "the syntax for defining functions::" msgstr "" +"Una nueva sintaxis hace más conveniente llamar a una función dada con una " +"tupla de argumentos y/o un diccionario de argumentos de palabras clave. En " +"Python 1.5 y anteriores, se utilizaba la función incorporada :func:`apply`: " +"``apply(f, args, kw)`` llama a la función :func:`f` con la tupla de " +"argumentos *args* y los argumentos de palabras clave en el diccionario " +"*kw*. :func:`apply` es lo mismo en 2.0, pero gracias a un parche de Greg " +"Ewing, ``f(*args, **kw)`` es una forma más corta y clara de conseguir el " +"mismo efecto. Esta sintaxis es simétrica con la sintaxis para definir " +"funciones::" #: ../Doc/whatsnew/2.0.rst:518 msgid "" @@ -644,6 +995,13 @@ msgid "" "``sys.stdout`` and then restore the old value. For sending output to " "standard error, it's much easier to write this::" msgstr "" +"La sentencia ``print`` puede ahora tener su salida dirigida a un objeto tipo " +"archivo siguiendo a ``print`` con ``>> archivo``, similar al operador de " +"redirección en los shells de Unix. Antes había que utilizar el método :meth:" +"`write` del objeto tipo archivo, que carece de la comodidad y simplicidad de " +"``print``, o bien asignar un nuevo valor a ``sys.stdout`` y luego restaurar " +"el valor anterior. Para enviar la salida al error estándar, es mucho más " +"fácil escribir esto::" #: ../Doc/whatsnew/2.0.rst:528 msgid "" @@ -651,6 +1009,9 @@ msgid "" "module as name`` or ``from module import name as othername``. The patch was " "submitted by Thomas Wouters." msgstr "" +"Ahora se puede cambiar el nombre de los módulos al importarlos, utilizando " +"la sintaxis ``import module as name`` o ``from module import name as " +"othername``. El parche fue enviado por Thomas Wouters." #: ../Doc/whatsnew/2.0.rst:532 #, python-format @@ -661,6 +1022,12 @@ msgid "" "which inserts the :func:`str` of its argument. For example, ``'%r %s' % " "('abc', 'abc')`` returns a string containing ``'abc' abc``." msgstr "" +"Un nuevo estilo de formato está disponible cuando se utiliza el operador ``" +"%``; '%r' insertará el :func:`repr` de su argumento. Esto también se añadió " +"por consideraciones de simetría, esta vez por simetría con el estilo de " +"formato existente '%s', que inserta el :func:`str` de su argumento. Por " +"ejemplo, ``'%r %s' % ('abc', 'abc')`` retorna una cadena que contiene " +"``'abc' abc``." #: ../Doc/whatsnew/2.0.rst:538 msgid "" @@ -674,6 +1041,16 @@ msgid "" "built-in objects written in C can define what :keyword:`!in` means for them " "via a new slot in the sequence protocol." msgstr "" +"Anteriormente no había forma de implementar una clase que sobrepasara el " +"operador incorporado de Python :keyword:`in` e implementara una versión " +"personalizada.``obj in seq`` retorna verdadero si *obj* está presente en la " +"secuencia *seq*; Python lo calcula simplemente probando cada índice de la " +"secuencia hasta que se encuentra *obj* o se encuentra un :exc:`IndexError`. " +"Moshe Zadka ha contribuido con un parche que añade un método mágico :meth:" +"`__contains__` para proporcionar una implementación personalizada para :" +"keyword:`!in`. Además, los nuevos objetos incorporados escritos en C pueden " +"definir lo que :keyword:`!in` significa para ellos a través de una nueva " +"ranura en el protocolo de secuencia." #: ../Doc/whatsnew/2.0.rst:547 msgid "" @@ -684,6 +1061,13 @@ msgid "" "and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a " "useful result instead. For example, after this code::" msgstr "" +"Las versiones anteriores de Python utilizaban un algoritmo recursivo para " +"borrar objetos. Las estructuras de datos muy anidadas podían hacer que el " +"intérprete llenara la pila de C y se bloqueara; Christian Tismer reescribió " +"la lógica de borrado para solucionar este problema. En una nota relacionada, " +"la comparación de objetos recursivos se repite infinitamente y se bloquea; " +"Jeremy Hylton reescribió el código para que no se bloquee, produciendo un " +"resultado útil. Por ejemplo, después de este código::" #: ../Doc/whatsnew/2.0.rst:559 msgid "" @@ -696,6 +1080,15 @@ msgid "" "even if a user-defined :meth:`__cmp__` method encountered an error, since " "the resulting exception would simply be silently swallowed." msgstr "" +"La comparación ``a==b`` retorna verdadero, porque las dos estructuras de " +"datos recursivas son isomorfas. Véase el hilo \"trashcan and PR#7\" en los " +"archivos de abril de 2000 de la lista de correo de python-dev para la " +"discusión que condujo a esta implementación, y algunos enlaces relevantes " +"útiles. Tenga en cuenta que las comparaciones ahora también pueden generar " +"excepciones. En versiones anteriores de Python, una operación de comparación " +"como ``cmp(a,b)`` siempre producía una respuesta, incluso si un método :meth:" +"`__cmp__` definido por el usuario encontraba un error, ya que la excepción " +"resultante simplemente se tragaba en silencio." #: ../Doc/whatsnew/2.0.rst:571 msgid "" @@ -706,6 +1099,12 @@ msgid "" "supports Windows CE; see the Python CE page at http://pythonce.sourceforge." "net/ for more information." msgstr "" +"Se ha trabajado en portar Python a Windows de 64 bits en el procesador " +"Itanium, principalmente por Trent Mick de ActiveState. (Confusamente, ``sys." +"platform`` sigue siendo ``'win32`` en Win64 porque parece que para facilitar " +"la portabilidad, MS Visual C++ trata el código como de 32 bits en Itanium) " +"PythonWin también es compatible con Windows CE; vea la página de Python CE " +"en http://pythonce.sourceforge.net/ para más información." #: ../Doc/whatsnew/2.0.rst:577 msgid "" @@ -714,6 +1113,10 @@ msgid "" "suffix=.x\". Consult the README in the Python source distribution for more " "instructions." msgstr "" +"Otra plataforma nueva es Darwin/MacOS X; el soporte inicial para ella está " +"en Python 2.0. La carga dinámica funciona, si se especifica \"configure --" +"with-dyld --with-suffix=.x\". Consulte el README de la distribución de " +"fuentes de Python para obtener más instrucciones." #: ../Doc/whatsnew/2.0.rst:581 msgid "" @@ -726,6 +1129,15 @@ msgid "" "exc:`NameError`, so any existing code that expects :exc:`NameError` to be " "raised should still work. ::" msgstr "" +"Se ha intentado aliviar uno de los defectos de Python, la a menudo confusa " +"excepción :exc:`NameError` cuando el código hace referencia a una variable " +"local antes de que se le haya asignado un valor. Por ejemplo, el siguiente " +"código lanza una excepción en la sentencia ``print`` tanto en 1.5.2 como en " +"2.0; en 1.5.2 se lanza una excepción :exc:`NameError`, mientras que en 2.0 " +"se lanza una nueva excepción :exc:`UnboundLocalError`. :exc:" +"`UnboundLocalError` es una subclase de :exc:`NameError`, así que cualquier " +"código existente que espere que se lance :exc:`NameError` debería seguir " +"funcionando. ::" #: ../Doc/whatsnew/2.0.rst:595 msgid "" @@ -733,10 +1145,13 @@ msgid "" "introduced. They're both subclasses of :exc:`SyntaxError`, and are raised " "when Python code is found to be improperly indented." msgstr "" +"Se han introducido dos nuevas excepciones, :exc:`TabError` y :exc:" +"`IndentationError`. Ambas son subclases de :exc:`SyntaxError`, y se lanzan " +"cuando el código Python se encuentra con una sangría incorrecta." #: ../Doc/whatsnew/2.0.rst:601 msgid "Changes to Built-in Functions" -msgstr "" +msgstr "Cambios en las funciones incorporadas" #: ../Doc/whatsnew/2.0.rst:603 msgid "" @@ -747,6 +1162,13 @@ msgid "" "``None`` if the sequences aren't all of the same length, while :func:`zip` " "truncates the returned list to the length of the shortest argument sequence." msgstr "" +"Se ha añadido un nuevo built-in, ``zip(seq1, seq2, ...)``. :func:`zip` " +"retorna una lista de tuplas donde cada tupla contiene el i-ésimo elemento de " +"cada una de las secuencias del argumento. La diferencia entre :func:`zip` y " +"``map(None, seq1, seq2)`` es que :func:`map` rellena las secuencias con " +"``None`` si las secuencias no tienen la misma longitud, mientras que :func:" +"`zip` trunca la lista retornada a la longitud de la secuencia argumental más " +"corta." #: ../Doc/whatsnew/2.0.rst:610 msgid "" @@ -756,6 +1178,11 @@ msgid "" "`TypeError` exception with the message \"can't convert non-string with " "explicit base\"." msgstr "" +"Las funciones :func:`int` y :func:`long` aceptan ahora un parámetro \"base\" " +"opcional cuando el primer argumento es una cadena. `int('123', 10)`` retorna " +"123, mientras que ``int('123', 16)`` retorna 291. ``int(123, 16)`` lanza una " +"excepción :exc:`TypeError` con el mensaje \"no se puede convertir una cadena " +"con base explícita\"." #: ../Doc/whatsnew/2.0.rst:616 msgid "" @@ -765,6 +1192,12 @@ msgid "" "version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string such " "as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." msgstr "" +"Se ha añadido al módulo :mod:`sys` una nueva variable que contiene " +"información más detallada sobre la versión. ``sys.version_info`` es una " +"tupla ``(major, minor, micro, level, serial)`` Por ejemplo, en una " +"hipotética 2.0.1beta1, ``sys.version_info`` sería ``(2, 0, 1, 'beta', 1)``. " +"*level* es una cadena como ``\"alpha\"``, ``\"beta\"``, o ``\"final\"`` para " +"una versión final." #: ../Doc/whatsnew/2.0.rst:622 msgid "" @@ -774,11 +1207,17 @@ msgid "" "`get` would do, and also inserts it into the dictionary as the value for " "*key*. Thus, the following lines of code::" msgstr "" +"Los diccionarios tienen un nuevo y extraño método, ``setdefault(key, " +"default)``, que se comporta de forma similar al método :meth:`get` " +"existente. Sin embargo, si falta la clave, :meth:`setdefault` retorna el " +"valor de *default* como haría :meth:`get`, y también lo inserta en el " +"diccionario como valor de *key*. Así, las siguientes líneas de código::" #: ../Doc/whatsnew/2.0.rst:633 msgid "" "can be reduced to a single ``return dict.setdefault(key, [])`` statement." msgstr "" +"puede reducirse a una única sentencia ``return dict.setdefault(key, [])``." #: ../Doc/whatsnew/2.0.rst:635 msgid "" @@ -790,10 +1229,18 @@ msgid "" "1000, and a rough maximum value for a given platform can be found by running " "a new script, :file:`Misc/find_recursionlimit.py`." msgstr "" +"El intérprete establece una profundidad de recursión máxima para atrapar la " +"recursión desbocada antes de llenar la pila de C y causar un volcado del " +"núcleo o GPF. Anteriormente este límite se fijaba cuando se compilaba " +"Python, pero en la versión 2.0 la profundidad máxima de recursión puede " +"leerse y modificarse usando :func:`sys.getrecursionlimit` y :func:`sys." +"setrecursionlimit`. El valor por defecto es 1000, y se puede encontrar un " +"valor máximo aproximado para una plataforma determinada ejecutando un nuevo " +"script, :file:`Misc/find_recursionlimit.py`." #: ../Doc/whatsnew/2.0.rst:647 msgid "Porting to 2.0" -msgstr "" +msgstr "Adaptación a la versión 2.0" #: ../Doc/whatsnew/2.0.rst:649 msgid "" @@ -804,6 +1251,13 @@ msgid "" "always be avoided. This section lists the changes in Python 2.0 that may " "cause old Python code to break." msgstr "" +"Las nuevas versiones de Python se esfuerzan por ser compatibles con las " +"anteriores, y el historial ha sido bastante bueno. Sin embargo, algunos " +"cambios se consideran lo suficientemente útiles, normalmente porque corrigen " +"decisiones de diseño iniciales que resultaron ser activamente erróneas, que " +"no siempre se puede evitar romper la compatibilidad hacia atrás. Esta " +"sección enumera los cambios en Python 2.0 que pueden hacer que el código " +"Python antiguo se rompa." #: ../Doc/whatsnew/2.0.rst:656 msgid "" @@ -817,6 +1271,16 @@ msgid "" "to simply add an extra set of parentheses to pass both values as a tuple: " "``L.append( (1,2) )``." msgstr "" +"El cambio que probablemente romperá la mayor parte del código es el " +"endurecimiento de los argumentos aceptados por algunos métodos. Algunos " +"métodos tomaban múltiples argumentos y los trataban como una tupla, " +"particularmente varios métodos de lista como :meth:`append` y :meth:" +"`insert`. En versiones anteriores de Python, si ``L`` es una lista, ``L." +"append( 1,2 )`` añade la tupla ``(1,2)`` a la lista. En Python 2.0 esto " +"provoca una excepción :exc:`TypeError` con el mensaje 'append requiere " +"exactamente 1 argumento; se han dado 2'. La solución es simplemente añadir " +"un conjunto extra de paréntesis para pasar ambos valores como una tupla: " +"``L.append( (1,2) )``." #: ../Doc/whatsnew/2.0.rst:665 msgid "" @@ -829,6 +1293,15 @@ msgid "" "preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; " "this isn't recommended." msgstr "" +"Las versiones anteriores de estos métodos eran más indulgentes porque " +"utilizaban una antigua función de la interfaz C de Python para analizar sus " +"argumentos; la versión 2.0 los moderniza para utilizar :func:" +"`PyArg_ParseTuple`, la función actual de análisis de argumentos, que " +"proporciona mensajes de error más útiles y trata las llamadas con múltiples " +"argumentos como errores. Si es absolutamente necesario usar la versión 2.0 " +"pero no puedes arreglar tu código, puedes editar :file:`Objects/listobject." +"c` y definir el símbolo del preprocesador ``NO_STRICT_LIST_APPEND`` para " +"preservar el antiguo comportamiento; esto no es recomendable." #: ../Doc/whatsnew/2.0.rst:673 msgid "" @@ -844,6 +1317,17 @@ msgid "" "argument form is simply marked as deprecated; it *will* be tightened up " "again in a future Python version." msgstr "" +"Algunas de las funciones del módulo :mod:`socket` siguen siendo indulgentes " +"en este sentido. Por ejemplo, :func:`socket.connect( ('hostname', 25) )` es " +"la forma correcta, pasando una tupla que representa una dirección IP, pero :" +"func:`socket.connect( 'hostname', 25 )` también funciona. :func:`socket." +"connect_ex` y :func:`socket.bind` son igualmente fáciles de usar. 2.0alpha1 " +"endureció estas funciones, pero como la documentación utilizaba la forma " +"errónea de argumentos múltiples, mucha gente escribió código que se rompería " +"con la comprobación más estricta. GvR se echó atrás en los cambios ante la " +"reacción del público, así que para el módulo :mod:`socket`, la documentación " +"se arregló y la forma de argumento múltiple simplemente se marcó como " +"obsoleta; se *reforzará* de nuevo en una futura versión de Python." #: ../Doc/whatsnew/2.0.rst:684 msgid "" @@ -852,6 +1336,10 @@ msgid "" "the lowest 8 bits of the result, so ``\\x123456`` was equivalent to ``" "\\x56``." msgstr "" +"El escape ``\\x`` en los literales de cadena ahora toma exactamente 2 " +"dígitos hexadecimales. Antes consumía todos los dígitos hexadecimales que " +"seguían a la 'x' y tomaba los 8 bits más bajos del resultado, por lo que ``" +"\\x123456`` era equivalente a ``\\x56``." #: ../Doc/whatsnew/2.0.rst:688 msgid "" @@ -861,6 +1349,11 @@ msgid "" "error message was just the missing attribute name ``eggs``, and code written " "to take advantage of this fact will break in 2.0." msgstr "" +"Las excepciones :exc:`AttributeError` y :exc:`NameError` tienen un mensaje " +"de error más amigable, cuyo texto será algo así como ``'Spam' instance has " +"no attribute 'eggs'`` o ``name 'eggs' is not defined``. Anteriormente, el " +"mensaje de error era simplemente la falta del nombre del atributo ``eggs``, " +"y el código escrito para aprovechar este hecho se romperá en la versión 2.0." #: ../Doc/whatsnew/2.0.rst:694 #, python-format @@ -879,6 +1372,21 @@ msgid "" "``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " "2L**64`` will produce the string ``18446744073709551616``." msgstr "" +"Se ha trabajado para que los enteros y los enteros largos sean un poco más " +"intercambiables. En la versión 1.5.2, se añadió soporte para archivos " +"grandes en Solaris, para permitir la lectura de archivos de más de 2 GiB; " +"esto hizo que el método :meth:`tell` de los objetos de archivo retornara un " +"entero largo en lugar de un entero normal. Algunos códigos restaban dos " +"desplazamientos de archivos e intentaban utilizar el resultado para " +"multiplicar una secuencia o cortar una cadena, pero esto generaba un :exc:" +"`TypeError`. En la versión 2.0, los enteros largos pueden utilizarse para " +"multiplicar o cortar una secuencia, y se comportarán como se espera " +"intuitivamente; ``3L * 'abc'`` produce 'abcabcabc', y ``(0,1,2,3)[2L:4L]`` " +"produce (2,3). Los enteros largos también pueden utilizarse en varios " +"contextos en los que antes sólo se aceptaban enteros, como en el método :" +"meth:`seek` de los objetos de archivo, y en los formatos soportados por el " +"operador ``%`` (``%d``, ``%i``, ``%x``, etc.). Por ejemplo, ``\"%d\" % " +"2L**64`` producirá la cadena ``18446744073709551616``." #: ../Doc/whatsnew/2.0.rst:708 msgid "" @@ -890,6 +1398,13 @@ msgid "" "which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose " "the final digit." msgstr "" +"El cambio más sutil de los enteros largos es que el :func:`str` de un entero " +"largo ya no tiene un carácter 'L' al final, aunque :func:`repr` todavía lo " +"incluye. La 'L' molestaba a muchas personas que querían imprimir enteros " +"largos con el mismo aspecto que los enteros normales, ya que tenían que " +"esforzarse por cortar el carácter. Esto ya no es un problema en 2.0, pero el " +"código que hace ``str(longval)[:-1]`` y asume que la 'L' está ahí, ahora " +"perderá el dígito final." #: ../Doc/whatsnew/2.0.rst:716 #, python-format @@ -902,6 +1417,14 @@ msgid "" "in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is " "``'8.1'``." msgstr "" +"Tomar el :func:`repr` de un flotador utiliza ahora una precisión de formato " +"diferente a la de :func:`str`. :func:`repr` utiliza la cadena de formato ``" +"%.17g`` para el :func:`sprintf` de C, mientras que :func:`str` utiliza ``" +"%.12g`` como antes. El efecto es que :func:`repr` puede mostrar " +"ocasionalmente más decimales que :func:`str`, para ciertos números. Por " +"ejemplo, el número 8,1 no puede representarse exactamente en binario, por lo " +"que ``repr(8,1)`` es ``'8,09999999999996'``, mientras que str(8,1) es " +"``'8,1'``." #: ../Doc/whatsnew/2.0.rst:724 msgid "" @@ -911,10 +1434,15 @@ msgid "" "exceptions was translated from Python to a built-in C module, written by " "Barry Warsaw and Fredrik Lundh." msgstr "" +"La opción de línea de comandos ``-X``, que convertía todas las excepciones " +"estándar en cadenas en lugar de clases, ha sido eliminada; las excepciones " +"estándar serán ahora siempre clases. El módulo :mod:`exceptions` que " +"contiene las excepciones estándar ha sido traducido de Python a un módulo C " +"integrado, escrito por Barry Warsaw y Fredrik Lundh." #: ../Doc/whatsnew/2.0.rst:740 msgid "Extending/Embedding Changes" -msgstr "" +msgstr "Extensión/Incorporación de cambios" #: ../Doc/whatsnew/2.0.rst:742 msgid "" @@ -923,6 +1451,10 @@ msgid "" "larger application. If you aren't dealing with Python's C API, you can " "safely skip this section." msgstr "" +"Algunos de los cambios están bajo la cubierta, y sólo serán evidentes para " +"la gente que escribe módulos de extensión de C o que incrusta un intérprete " +"de Python en una aplicación más grande. Si no estás tratando con la API de C " +"de Python, puedes saltarte esta sección." #: ../Doc/whatsnew/2.0.rst:747 msgid "" @@ -932,6 +1464,12 @@ msgid "" "built for Python 1.5.x due to how Windows DLLs work, so Python will raise an " "exception and the import will fail." msgstr "" +"El número de versión de la API C de Python se incrementó, por lo que las " +"extensiones C compiladas para 1.5.2 deben ser recompiladas para que " +"funcionen con 2.0. En Windows, no es posible que Python 2.0 importe una " +"extensión de terceros construida para Python 1.5.x debido a cómo funcionan " +"las DLL de Windows, por lo que Python lanzará una excepción y la importación " +"fallará." #: ../Doc/whatsnew/2.0.rst:753 msgid "" @@ -941,6 +1479,12 @@ msgid "" "remember to write code such as ``if type(obj) == myExtensionClass``, but can " "use the more natural ``if isinstance(obj, myExtensionClass)``." msgstr "" +"Los usuarios del módulo ExtensionClass de Jim Fulton estarán encantados de " +"saber que se han añadido ganchos para que las ExtensionClasses sean ahora " +"compatibles con :func:`isinstance` y :func:`issubclass`. Esto significa que " +"ya no tiene que recordar escribir código como ``if type(obj) == " +"myExtensionClass``, sino que puede utilizar el más natural ``if " +"isinstance(obj, myExtensionClass)``." #: ../Doc/whatsnew/2.0.rst:759 msgid "" @@ -952,6 +1496,14 @@ msgid "" "Include/ directory that held various portability hacks; they've been merged " "into a single file, :file:`Include/pyport.h`." msgstr "" +"El archivo :file:`Python/importdl.c`, que era una masa de #ifdefs para " +"soportar la carga dinámica en muchas plataformas diferentes, fue limpiado y " +"reorganizado por Greg Stein. :file:`importdl.c` es ahora bastante pequeño, y " +"el código específico de la plataforma se ha movido a un montón de archivos :" +"file:`Python/dynload_\\*.c`. Otra limpieza: también había una serie de " +"archivos :file:`my\\*.h` en el directorio Include/ que contenían varios " +"hacks de portabilidad; se han fusionado en un único archivo, :file:`Include/" +"pyport.h`." #: ../Doc/whatsnew/2.0.rst:767 msgid "" @@ -962,6 +1514,13 @@ msgid "" "discussions during which the interface was hammered out, see the Web " "archives of the 'patches' and 'python-dev' lists at python.org." msgstr "" +"Se ha completado la tan esperada reestructuración de malloc de Vladimir " +"Marangozov, para facilitar que el intérprete de Python utilice un asignador " +"personalizado en lugar del estándar de C :func:`malloc`. Para la " +"documentación, lea los comentarios en :file:`Include/pymem.h` y :file:" +"`Include/objimpl.h`. Para ver las largas discusiones durante las cuales se " +"elaboró la interfaz, consulte los archivos web de las listas 'patches' y " +"'python-dev' en python.org." #: ../Doc/whatsnew/2.0.rst:774 msgid "" @@ -970,6 +1529,10 @@ msgid "" "Macintosh. Threading support using the user-space GNU ``pth`` library was " "also contributed." msgstr "" +"Las versiones recientes del entorno de desarrollo GUSI para MacOS soportan " +"hilos POSIX. Por lo tanto, el soporte de hilos POSIX de Python ahora " +"funciona en Macintosh. También se ha contribuido al soporte de hilos " +"utilizando la biblioteca GNU ``pth`` del espacio de usuario." #: ../Doc/whatsnew/2.0.rst:779 msgid "" @@ -980,6 +1543,13 @@ msgid "" "as an unthreaded version; with the 2.0 changes, the difference is only 10%. " "These improvements were contributed by Yakov Markovitch." msgstr "" +"También se ha mejorado el soporte de hilos en Windows. Windows soporta " +"bloqueos de hilos que utilizan objetos del núcleo sólo en caso de " +"contención; en el caso común cuando no hay contención, utilizan funciones " +"más simples que son un orden de magnitud más rápido. Una versión con hilos " +"de Python 1.5.2 en NT es dos veces más lenta que una versión sin hilos; con " +"los cambios de la 2.0, la diferencia es sólo del 10%. Estas mejoras fueron " +"aportadas por Yakov Markovitch." #: ../Doc/whatsnew/2.0.rst:786 msgid "" @@ -987,6 +1557,9 @@ msgid "" "requires an ANSI C compiler, and can no longer be done using a compiler that " "only supports K&R C." msgstr "" +"El código fuente de Python 2.0 ahora sólo utiliza prototipos ANSI C, por lo " +"que la compilación de Python ahora requiere un compilador ANSI C, y ya no " +"puede hacerse utilizando un compilador que sólo soporte K&R C." #: ../Doc/whatsnew/2.0.rst:790 msgid "" @@ -996,6 +1569,12 @@ msgid "" "who are generating Python code would run into this limit. A patch by " "Charles G. Waldman raises the limit from ``2^16`` to ``2^{32}``." msgstr "" +"Anteriormente, la máquina virtual de Python utilizaba números de 16 bits en " +"su bytecode, lo que limitaba el tamaño de los archivos fuente. En " +"particular, esto afectaba al tamaño máximo de las listas literales y los " +"diccionarios en el código fuente de Python; ocasionalmente, las personas que " +"generan código Python se encontraban con este límite. Un parche de Charles " +"G. Waldman eleva el límite de ``2^16`` a ``2^{32}``." #: ../Doc/whatsnew/2.0.rst:796 msgid "" @@ -1007,16 +1586,26 @@ msgid "" "third argument for the value to be assigned to the name. This third " "argument is, respectively, a Python object, a C long, or a C string." msgstr "" +"Se han añadido tres nuevas funciones para añadir constantes al diccionario " +"de un módulo en el momento de la inicialización: :func:" +"`PyModule_AddObject`, :func:`PyModule_AddIntConstant`, y :func:" +"`PyModule_AddStringConstant`. Cada una de estas funciones toma un objeto de " +"módulo, una cadena C terminada en cero que contiene el nombre a añadir, y un " +"tercer argumento para el valor a asignar al nombre. Este tercer argumento " +"es, respectivamente, un objeto Python, un C long o una cadena C." #: ../Doc/whatsnew/2.0.rst:804 msgid "" "A wrapper API was added for Unix-style signal handlers. :func:`PyOS_getsig` " "gets a signal handler and :func:`PyOS_setsig` will set a new handler." msgstr "" +"Se ha añadido una API envolvente para los manejadores de señales de estilo " +"Unix. :func:`PyOS_getsig` obtiene un manejador de señales y :func:" +"`PyOS_setsig` establecerá un nuevo manejador." #: ../Doc/whatsnew/2.0.rst:811 msgid "Distutils: Making Modules Easy to Install" -msgstr "" +msgstr "Distutils: Facilitando la instalación de módulos" #: ../Doc/whatsnew/2.0.rst:813 msgid "" @@ -1029,6 +1618,15 @@ msgid "" "different extension packages, which made administering a Python installation " "something of a chore." msgstr "" +"Antes de Python 2.0, la instalación de módulos era un asunto tedioso -- no " +"había forma de averiguar automáticamente dónde se instalaba Python, o qué " +"opciones del compilador se debían usar para los módulos de extensión. Los " +"autores de software tenían que pasar por un arduo ritual de edición de " +"Makefiles y archivos de configuración, que sólo funcionaban realmente en " +"Unix y dejaban sin soporte a Windows y MacOS. Los usuarios de Python se " +"enfrentaban a instrucciones de instalación muy diferentes que variaban entre " +"los distintos paquetes de extensión, lo que hacía que la administración de " +"una instalación de Python fuera una tarea ardua." #: ../Doc/whatsnew/2.0.rst:821 msgid "" @@ -1045,6 +1643,19 @@ msgid "" "separating the build from the install, building or installing in non-default " "directories, and more." msgstr "" +"El SIG de utilidades de distribución, liderado por Greg Ward, ha creado las " +"Distutils, un sistema para facilitar la instalación de paquetes. Forman el " +"paquete :mod:`distutils`, una nueva parte de la biblioteca estándar de " +"Python. En el mejor de los casos, la instalación de un módulo de Python " +"desde el código fuente requerirá los mismos pasos: primero simplemente hay " +"que desempaquetar el archivo tar o zip, y ejecutar \"``python setup.py " +"install``. La plataforma será detectada automáticamente, el compilador será " +"reconocido, los módulos de extensión C serán compilados, y la distribución " +"será instalada en el directorio apropiado. Los argumentos opcionales de la " +"línea de comandos proporcionan más control sobre el proceso de instalación, " +"el paquete distutils ofrece muchos lugares para anular los valores " +"predeterminados - separando la construcción de la instalación, construyendo " +"o instalando en directorios no predeterminados, y más." #: ../Doc/whatsnew/2.0.rst:833 msgid "" @@ -1052,18 +1663,25 @@ msgid "" "For the simple case, when the software contains only .py files, a minimal :" "file:`setup.py` can be just a few lines long::" msgstr "" +"Para usar las Distutils, necesitas escribir un script :file:`setup.py`. Para " +"el caso simple, cuando el software contiene sólo archivos .py, un :file:" +"`setup.py` mínimo puede tener sólo unas pocas líneas::" #: ../Doc/whatsnew/2.0.rst:841 msgid "" "The :file:`setup.py` file isn't much more complicated if the software " "consists of a few packages::" msgstr "" +"El archivo :file:`setup.py` no es mucho más complicado si el software consta " +"de unos pocos paquetes::" #: ../Doc/whatsnew/2.0.rst:848 msgid "" "A C extension can be the most complicated case; here's an example taken from " "the PyXML package::" msgstr "" +"Una extensión en C puede ser el caso más complicado; he aquí un ejemplo " +"tomado del paquete PyXML::" #: ../Doc/whatsnew/2.0.rst:864 msgid "" @@ -1076,16 +1694,26 @@ msgid "" "distribution formats such as Debian packages and Solaris :file:`.pkg` files " "are in various stages of development." msgstr "" +"Las Distutils también pueden encargarse de crear distribuciones fuente y " +"binarias. El comando \"sdist\", ejecutado por \"``python setup.py sdist``, " +"construye una distribución fuente como :file:`foo-1.0.tar.gz`. Añadir nuevos " +"comandos no es difícil, ya se han aportado los comandos \"bdist_rpm\" y " +"\"bdist_wininst\" para crear una distribución RPM y un instalador de Windows " +"para el software, respectivamente. Los comandos para crear otros formatos de " +"distribución, como los paquetes de Debian y los archivos :file:`.pkg` de " +"Solaris, se encuentran en diversas etapas de desarrollo." #: ../Doc/whatsnew/2.0.rst:873 msgid "" "All this is documented in a new manual, *Distributing Python Modules*, that " "joins the basic set of Python documentation." msgstr "" +"Todo esto está documentado en un nuevo manual, *Distribución de módulos de " +"Python*, que se une al conjunto básico de documentación de Python." #: ../Doc/whatsnew/2.0.rst:880 msgid "XML Modules" -msgstr "" +msgstr "Módulos XML" #: ../Doc/whatsnew/2.0.rst:882 msgid "" @@ -1101,10 +1729,22 @@ msgid "" "documentation or the source code for complete details. The Python XML SIG is " "also working on improved documentation." msgstr "" +"La versión 1.5.2 de Python incluía un sencillo analizador XML en forma de " +"módulo :mod:`xmllib`, aportado por Sjoerd Mullender. Desde el lanzamiento de " +"la versión 1.5.2, se han generalizado dos interfaces diferentes para el " +"procesamiento de XML: SAX2 (versión 2 de la API Simple para XML) proporciona " +"una interfaz basada en eventos con algunas similitudes con :mod:`xmllib`, y " +"el DOM (Modelo de Objetos de Documento) proporciona una interfaz basada en " +"un árbol, transformando un documento XML en un árbol de nodos que puede ser " +"atravesado y modificado. Python 2.0 incluye una interfaz SAX2 y una interfaz " +"DOM reducida como parte del paquete :mod:`xml`. Aquí daremos una breve " +"descripción de estas nuevas interfaces; consulte la documentación de Python " +"o el código fuente para obtener detalles completos. El SIG XML de Python " +"también está trabajando en la mejora de la documentación." #: ../Doc/whatsnew/2.0.rst:896 msgid "SAX2 Support" -msgstr "" +msgstr "Soporte de SAX2" #: ../Doc/whatsnew/2.0.rst:898 msgid "" @@ -1116,6 +1756,13 @@ msgid "" "by the parser, the :meth:`characters` method is called for every chunk of " "character data, and so forth." msgstr "" +"SAX define una interfaz basada en eventos para analizar XML. Para usar SAX, " +"debes escribir una clase manejadora de SAX. Las clases manejadoras heredan " +"de varias clases proporcionadas por SAX, y sobrescriben varios métodos que " +"luego serán llamados por el analizador XML. Por ejemplo, los métodos :meth:" +"`startElement` y :meth:`endElement` son llamados para cada etiqueta inicial " +"y final encontrada por el analizador, el método :meth:`characters` es " +"llamado para cada trozo de datos de caracteres, etc." #: ../Doc/whatsnew/2.0.rst:906 msgid "" @@ -1125,6 +1772,11 @@ msgid "" "class can get very complicated if you're trying to modify the document " "structure in some elaborate way." msgstr "" +"La ventaja del enfoque basado en eventos es que todo el documento no tiene " +"que residir en la memoria en un momento dado, lo cual es importante si estás " +"procesando documentos realmente enormes. Sin embargo, escribir la clase " +"manejadora de SAX puede ser muy complicado si se intenta modificar la " +"estructura del documento de alguna manera elaborada." #: ../Doc/whatsnew/2.0.rst:912 msgid "" @@ -1132,16 +1784,21 @@ msgid "" "message for every starting and ending tag, and then parses the file :file:" "`hamlet.xml` using it::" msgstr "" +"Por ejemplo, este pequeño programa de ejemplo define un manejador que " +"imprime un mensaje para cada etiqueta inicial y final, y luego analiza el " +"archivo :file:`hamlet.xml` usándolo::" #: ../Doc/whatsnew/2.0.rst:935 msgid "" "For more information, consult the Python documentation, or the XML HOWTO at " "http://pyxml.sourceforge.net/topics/howto/xml-howto.html." msgstr "" +"Para más información, consulte la documentación de Python o el XML HOWTO en " +"http://pyxml.sourceforge.net/topics/howto/xml-howto.html." #: ../Doc/whatsnew/2.0.rst:940 msgid "DOM Support" -msgstr "" +msgstr "Soporte DOM" #: ../Doc/whatsnew/2.0.rst:942 msgid "" @@ -1154,6 +1811,15 @@ msgid "" "element and attribute values, insert and delete nodes, and convert the tree " "back into XML." msgstr "" +"El Modelo de Objetos del Documento es una representación basada en un árbol " +"para un documento XML. Una instancia de :class:`Document` de nivel superior " +"es la raíz del árbol, y tiene un único hijo que es la instancia de :class:" +"`Element` de nivel superior. Este :class:`Element` tiene nodos hijos que " +"representan los datos de los caracteres y cualquier subelemento, que puede " +"tener otros hijos propios, y así sucesivamente. Utilizando el DOM puedes " +"recorrer el árbol resultante como quieras, acceder a los valores de los " +"elementos y atributos, insertar y eliminar nodos y volver a convertir el " +"árbol en XML." #: ../Doc/whatsnew/2.0.rst:950 msgid "" @@ -1164,6 +1830,12 @@ msgid "" "producing XML output than simply writing ````...\\ ```` to a " "file." msgstr "" +"El DOM es útil para modificar documentos XML, porque se puede crear un árbol " +"DOM, modificarlo añadiendo nuevos nodos o reordenando subárboles, y luego " +"producir un nuevo documento XML como salida. También se puede construir un " +"árbol DOM manualmente y convertirlo en XML, lo que puede ser una forma más " +"flexible de producir una salida XML que simplemente escribir ````...\\ " +"```` un archivo." #: ../Doc/whatsnew/2.0.rst:956 msgid "" @@ -1172,6 +1844,10 @@ msgid "" "support for XML namespaces. The :func:`parse` and :func:`parseString` " "convenience functions are provided for generating a DOM tree::" msgstr "" +"La implementación del DOM incluida en Python se encuentra en el módulo :mod:" +"`xml.dom.minidom`. Es una implementación ligera del DOM de nivel 1 con " +"soporte para espacios de nombres XML. Las funciones :func:`parse` y :func:" +"`parseString` se proporcionan para generar un árbol DOM::" #: ../Doc/whatsnew/2.0.rst:964 msgid "" @@ -1184,10 +1860,20 @@ msgid "" "class:`Document` instances have a method to find all child elements with a " "given tag name. Continuing from the previous 2-line example::" msgstr "" +"``doc`` es una instancia de :class:`Document`. El :class:`Document`, al " +"igual que el resto de clases del DOM como el :class:`Element` y el :class:" +"`Text`, es una subclase de la clase base :class:`Node`. Por lo tanto, todos " +"los nodos de un árbol DOM soportan ciertos métodos comunes, como :meth:" +"`toxml` que retorna una cadena que contiene la representación XML del nodo y " +"sus hijos. Cada clase también tiene métodos especiales propios; por ejemplo, " +"las instancias :class:`Element` y :class:`Document` tienen un método para " +"encontrar todos los elementos hijos con un nombre de etiqueta dado. " +"Continuando con el ejemplo anterior de 2 líneas::" #: ../Doc/whatsnew/2.0.rst:977 msgid "For the *Hamlet* XML file, the above few lines output::" msgstr "" +"Para el archivo XML *Hamlet*, las líneas anteriores dan como resultado::" #: ../Doc/whatsnew/2.0.rst:982 msgid "" @@ -1195,16 +1881,21 @@ msgid "" "and its children can be easily modified by deleting, adding, or removing " "nodes::" msgstr "" +"El elemento raíz del documento está disponible como ``doc.documentElement``, " +"y sus hijos pueden modificarse fácilmente borrando, añadiendo o eliminando " +"nodos::" #: ../Doc/whatsnew/2.0.rst:997 msgid "" "Again, I will refer you to the Python documentation for a complete listing " "of the different :class:`Node` classes and their various methods." msgstr "" +"Una vez más, te remito a la documentación de Python para obtener una lista " +"completa de las diferentes clases :class:`Node` y sus diversos métodos." #: ../Doc/whatsnew/2.0.rst:1002 msgid "Relationship to PyXML" -msgstr "" +msgstr "Relación con PyXML" #: ../Doc/whatsnew/2.0.rst:1004 msgid "" @@ -1215,6 +1906,12 @@ msgid "" "written programs that used PyXML, you're probably wondering about its " "compatibility with the 2.0 :mod:`xml` package." msgstr "" +"El Grupo de Interés Especial XML lleva un tiempo trabajando en código Python " +"relacionado con XML. Su distribución de código, llamada PyXML, está " +"disponible en las páginas web del SIG en https://www.python.org/community/" +"sigs/current/xml-sig. La distribución de PyXML también utiliza el nombre de " +"paquete ``xml``. Si has escrito programas que utilizan PyXML, probablemente " +"te preguntes sobre su compatibilidad con el paquete 2.0 :mod:`xml`." #: ../Doc/whatsnew/2.0.rst:1010 msgid "" @@ -1227,22 +1924,32 @@ msgid "" "a strict superset of the standard package, adding a bunch of additional " "features. Some of the additional features in PyXML include:" msgstr "" +"La respuesta es que el paquete :mod:`xml` de Python 2.0 no es compatible con " +"PyXML, pero puede hacerse compatible instalando una versión reciente de " +"PyXML. Muchas aplicaciones pueden arreglárselas con el soporte XML que se " +"incluye en Python 2.0, pero las aplicaciones más complicadas requerirán que " +"se instale el paquete PyXML completo. Cuando se instala, las versiones 0.6.0 " +"o superiores de PyXML sustituyen al paquete :mod:`xml` que se entrega con " +"Python, y son un estricto superconjunto del paquete estándar, añadiendo un " +"montón de características adicionales. Algunas de las características " +"adicionales de PyXML incluyen:" #: ../Doc/whatsnew/2.0.rst:1019 msgid "4DOM, a full DOM implementation from FourThought, Inc." -msgstr "" +msgstr "4DOM, una implementación completa de DOM de FourThought, Inc." #: ../Doc/whatsnew/2.0.rst:1021 msgid "The xmlproc validating parser, written by Lars Marius Garshol." -msgstr "" +msgstr "El parser de validación xmlproc, escrito por Lars Marius Garshol." #: ../Doc/whatsnew/2.0.rst:1023 msgid "The :mod:`sgmlop` parser accelerator module, written by Fredrik Lundh." msgstr "" +"El módulo acelerador del parser :mod:`sgmlop`, escrito por Fredrik Lundh." #: ../Doc/whatsnew/2.0.rst:1029 msgid "Module changes" -msgstr "" +msgstr "Cambios en los módulos" #: ../Doc/whatsnew/2.0.rst:1031 msgid "" @@ -1253,6 +1960,12 @@ msgid "" "and :mod:`nntplib`. Consult the CVS logs for the exact patch-by-patch " "details." msgstr "" +"Se han realizado muchas mejoras y correcciones de errores en la extensa " +"biblioteca estándar de Python; algunos de los módulos afectados son :mod:" +"`readline`, :mod:`ConfigParser`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :" +"mod:`readline`, :mod:`xmllib`, :mod:`aifc`, :mod:`chunk, wave`, :mod:" +"`random`, :mod:`shelve`, y :mod:`nntplib`. Consulte los registros de CVS " +"para conocer los detalles exactos parche por parche." #: ../Doc/whatsnew/2.0.rst:1037 msgid "" @@ -1265,6 +1978,14 @@ msgid "" "mod:`urllib` modules were also changed to support ``https://`` URLs, though " "no one has implemented FTP or SMTP over SSL." msgstr "" +"Brian Gallew ha contribuido al soporte de OpenSSL para el módulo :mod:" +"`socket`. OpenSSL es una implementación de Secure Socket Layer, que encripta " +"los datos que se envían a través de un socket. Al compilar Python, puedes " +"editar :file:`Modules/Setup` para incluir el soporte de SSL, que añade una " +"función adicional al módulo :mod:`socket`: ``socket.ssl(socket, keyfile, " +"certfile)``, que toma un objeto socket y retorna un socket SSL. Los módulos :" +"mod:`httplib` y :mod:`urllib` también han sido modificados para soportar " +"URLs ``https://``, aunque nadie ha implementado FTP o SMTP sobre SSL." #: ../Doc/whatsnew/2.0.rst:1046 msgid "" @@ -1273,6 +1994,11 @@ msgid "" "provided, though using HTTP/1.1 features such as pipelining will require " "rewriting code to use a different set of interfaces." msgstr "" +"El módulo :mod:`httplib` ha sido reescrito por Greg Stein para soportar " +"HTTP/1.1. Se proporciona compatibilidad con la versión 1.5 de :mod:" +"`httplib`, aunque el uso de las características de HTTP/1.1, como el " +"pipelining, requerirá reescribir el código para utilizar un conjunto " +"diferente de interfaces." #: ../Doc/whatsnew/2.0.rst:1051 msgid "" @@ -1282,6 +2008,12 @@ msgid "" "contributed an optimization which makes operations like ``create_line`` and " "``create_polygon`` much faster, especially when using lots of coordinates." msgstr "" +"El módulo :mod:`Tkinter` soporta ahora la versión 8.1, 8.2 o 8.3 de Tcl/Tk, " +"y se ha eliminado el soporte para las versiones 7.x más antiguas. El módulo " +"Tkinter ahora soporta la visualización de cadenas Unicode en los widgets Tk. " +"Además, Fredrik Lundh ha contribuido con una optimización que hace que " +"operaciones como ``create_line`` y ``create_polygon`` sean mucho más " +"rápidas, especialmente cuando se utilizan muchas coordenadas." #: ../Doc/whatsnew/2.0.rst:1057 msgid "" @@ -1292,6 +2024,13 @@ msgid "" "operating systems that only have BSD curses, but there don't seem to be any " "currently maintained OSes that fall into this category." msgstr "" +"El módulo :mod:`curses` ha sido ampliado en gran medida, a partir de la " +"versión mejorada de Oliver Andrich, para proporcionar muchas funciones " +"adicionales de los curses ncurses y SYSV, como el color, el soporte de " +"conjuntos de caracteres alternativos, los pads y el soporte de ratón. Esto " +"significa que el módulo ya no es compatible con los sistemas operativos que " +"sólo tienen curses BSD, pero no parece haber ningún sistema operativo " +"actualmente mantenido que caiga en esta categoría." #: ../Doc/whatsnew/2.0.rst:1064 msgid "" @@ -1301,10 +2040,16 @@ msgid "" "by Fredrik Lundh and partially funded by Hewlett Packard, supports matching " "against both 8-bit strings and Unicode strings." msgstr "" +"Como se mencionó en la discusión anterior sobre el soporte Unicode de la " +"2.0, la implementación subyacente de las expresiones regulares " +"proporcionadas por el módulo :mod:`re` ha sido cambiada. SRE, un nuevo motor " +"de expresiones regulares escrito por Fredrik Lundh y parcialmente financiado " +"por Hewlett Packard, soporta la comparación con cadenas de 8 bits y cadenas " +"Unicode." #: ../Doc/whatsnew/2.0.rst:1074 msgid "New modules" -msgstr "" +msgstr "Nuevos módulos" #: ../Doc/whatsnew/2.0.rst:1076 msgid "" @@ -1312,6 +2057,9 @@ msgid "" "descriptions; consult the 2.0 documentation for the details of a particular " "module." msgstr "" +"Se han añadido varios módulos nuevos. Nos limitaremos a enumerarlos con " +"breves descripciones; consulte la documentación de la versión 2.0 para " +"conocer los detalles de un módulo concreto." #: ../Doc/whatsnew/2.0.rst:1080 msgid "" @@ -1321,12 +2069,19 @@ msgid "" "and calling :func:`atexit.register` with the function to be called on exit. " "(Contributed by Skip Montanaro.)" msgstr "" +":mod:`atexit`: Para registrar las funciones que serán llamadas antes de que " +"el intérprete de Python salga. El código que actualmente establece ``sys." +"exitfunc`` directamente debe cambiarse para usar el módulo :mod:`atexit` en " +"su lugar, importando :mod:`atexit` y llamando a :func:`atexit.register` con " +"la función a llamar al salir. (Contribución de Skip Montanaro)" #: ../Doc/whatsnew/2.0.rst:1086 msgid "" ":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: Added as part of the " "new Unicode support." msgstr "" +":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: Añadidos como parte " +"del nuevo soporte de Unicode." #: ../Doc/whatsnew/2.0.rst:1089 msgid "" @@ -1334,6 +2089,9 @@ msgid "" "`dircmp` modules, which have now become deprecated. (Contributed by Gordon " "MacMillan and Moshe Zadka.)" msgstr "" +":mod:`filecmp`: Sustituye a los antiguos módulos :mod:`cmp`, :mod:`cmpcache` " +"y :mod:`dircmp`, que han quedado obsoletos. (Contribución de Gordon " +"MacMillan y Moshe Zadka)" #: ../Doc/whatsnew/2.0.rst:1093 msgid "" @@ -1343,6 +2101,11 @@ msgid "" "separate contributions by Martin von Löwis, Peter Funk, and James " "Henstridge.)" msgstr "" +":mod:`gettext`: Este módulo proporciona soporte de internacionalización " +"(I18N) y localización (L10N) para los programas de Python, proporcionando " +"una interfaz a la biblioteca de catálogo de mensajes GNU gettext. (Integrado " +"por Barry Warsaw, a partir de contribuciones separadas de Martin von Löwis, " +"Peter Funk y James Henstridge)" #: ../Doc/whatsnew/2.0.rst:1098 msgid "" @@ -1350,6 +2113,9 @@ msgid "" "twin to the existing :mod:`sunaudiodev` module. (Contributed by Peter Bosch, " "with fixes by Jeremy Hylton.)" msgstr "" +":mod:`linuxaudiodev`: Soporte para el dispositivo :file:`/dev/audio` en " +"Linux, un gemelo del módulo existente :mod:`sunaudiodev`. (Contribuido por " +"Peter Bosch, con correcciones de Jeremy Hylton)" #: ../Doc/whatsnew/2.0.rst:1102 msgid "" @@ -1360,12 +2126,20 @@ msgid "" "the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by A." "M. Kuchling.)" msgstr "" +":mod:`mmap`: Una interfaz para archivos mapeados en memoria tanto en Windows " +"como en Unix. El contenido de un fichero puede ser mapeado directamente en " +"memoria, en cuyo momento se comporta como una cadena mutable, por lo que su " +"contenido puede ser leído y modificado. Incluso pueden pasarse a funciones " +"que esperan cadenas ordinarias, como el módulo :mod:`re`. (Contribución de " +"Sam Rushing, con algunas extensiones de A.M. Kuchling)" #: ../Doc/whatsnew/2.0.rst:1108 msgid "" ":mod:`pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " "Prescod.)" msgstr "" +":mod:`pyexpat`: Una interfaz para el analizador XML de Expat. (Contribuido " +"por Paul Prescod.)" #: ../Doc/whatsnew/2.0.rst:1111 msgid "" @@ -1375,18 +2149,28 @@ msgid "" "rules from it, and can then answer questions about the fetchability of a " "given URL. (Contributed by Skip Montanaro.)" msgstr "" +":mod:`robotparser`: Analiza un archivo :file:`robots.txt`, que se utiliza " +"para escribir arañas web que evitan amablemente ciertas áreas de un sitio " +"web. El analizador acepta el contenido de un archivo :file:`robots.txt`, " +"construye un conjunto de reglas a partir de él y puede responder a preguntas " +"sobre la capacidad de búsqueda de una URL determinada. (Contribución de Skip " +"Montanaro)" #: ../Doc/whatsnew/2.0.rst:1117 msgid "" ":mod:`tabnanny`: A module/script to check Python source code for ambiguous " "indentation. (Contributed by Tim Peters.)" msgstr "" +":mod:`tabnanny`: Un módulo/script para comprobar el código fuente de Python " +"en busca de sangrías ambiguas. (Contribuido por Tim Peters.)" #: ../Doc/whatsnew/2.0.rst:1120 msgid "" ":mod:`UserString`: A base class useful for deriving objects that behave like " "strings." msgstr "" +":mod:`UserString`: Una clase base útil para derivar objetos que se comportan " +"como cadenas." #: ../Doc/whatsnew/2.0.rst:1123 msgid "" @@ -1399,6 +2183,15 @@ msgid "" "file:`Tools/idle/BrowserControl.py`, and adapted for the standard library by " "Fred.)" msgstr "" +":mod:`webbrowser`: Un módulo que proporciona una forma independiente de la " +"plataforma para lanzar un navegador web en una URL específica. Para cada " +"plataforma, se prueban varios navegadores en un orden específico. El usuario " +"puede modificar el navegador que se lanza estableciendo la variable de " +"entorno *BROWSER*. (Originalmente inspirado por el parche de Eric S. Raymond " +"a :mod:`urllib` que añadía una funcionalidad similar, pero el módulo final " +"proviene de un código originalmente implementado por Fred Drake como :file:" +"`Tools/idle/BrowserControl.py`, y adaptado para la biblioteca estándar por " +"Fred)" #: ../Doc/whatsnew/2.0.rst:1132 msgid "" @@ -1407,6 +2200,11 @@ msgid "" "now been added to the core distribution, and enhanced to support Unicode. :" "mod:`_winreg` was written by Bill Tutt and Mark Hammond." msgstr "" +":mod:`_winreg`: Una interfaz para el registro de Windows. :mod:`_winreg` es " +"una adaptación de las funciones que han formado parte de PythonWin desde " +"1995, pero ahora se ha añadido a la distribución principal, y se ha mejorado " +"para soportar Unicode. :mod:`_winreg` fue escrito por Bill Tutt y Mark " +"Hammond." #: ../Doc/whatsnew/2.0.rst:1137 msgid "" @@ -1415,6 +2213,11 @@ msgid "" "on Unix, not to be confused with :program:`gzip`\\ -format files (which are " "supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)" msgstr "" +":mod:`zipfile`: Un módulo para leer y escribir archivos con formato ZIP. Se " +"trata de archivos producidos por :program:`PKZIP` en DOS/Windows o :program:" +"`zip` en Unix, que no deben confundirse con los archivos con formato :" +"program:`gzip` (que son compatibles con el módulo :mod:`gzip`) (Contribución " +"de James C. Ahlstrom.)" #: ../Doc/whatsnew/2.0.rst:1142 msgid "" @@ -1423,10 +2226,14 @@ msgid "" "(Implemented by Greg Stein, with much discussion on python-dev along the " "way.)" msgstr "" +":mod:`imputil`: Un módulo que proporciona una forma más sencilla de escribir " +"ganchos de importación personalizados, en comparación con el módulo :mod:" +"`ihooks` existente. (Implementado por Greg Stein, con mucha discusión en " +"python-dev a lo largo del camino)" #: ../Doc/whatsnew/2.0.rst:1150 msgid "IDLE Improvements" -msgstr "" +msgstr "Mejoras en IDLE" #: ../Doc/whatsnew/2.0.rst:1152 msgid "" @@ -1434,58 +2241,76 @@ msgid "" "Python 2.0 includes IDLE 0.6, which adds a number of new features and " "improvements. A partial list:" msgstr "" +"IDLE es el IDE oficial de Python multiplataforma, escrito con Tkinter. " +"Python 2.0 incluye IDLE 0.6, que añade una serie de nuevas características y " +"mejoras. Una lista parcial:" #: ../Doc/whatsnew/2.0.rst:1156 msgid "" "UI improvements and optimizations, especially in the area of syntax " "highlighting and auto-indentation." msgstr "" +"Mejoras y optimizaciones de la interfaz de usuario, especialmente en el área " +"de resaltado de sintaxis y auto-indentación." #: ../Doc/whatsnew/2.0.rst:1159 msgid "" "The class browser now shows more information, such as the top level " "functions in a module." msgstr "" +"El navegador de clases muestra ahora más información, como las funciones de " +"nivel superior de un módulo." #: ../Doc/whatsnew/2.0.rst:1162 msgid "" "Tab width is now a user settable option. When opening an existing Python " "file, IDLE automatically detects the indentation conventions, and adapts." msgstr "" +"El ancho del tabulador es ahora una opción configurable por el usuario. Al " +"abrir un archivo Python existente, IDLE detecta automáticamente las " +"convenciones de sangría y se adapta." #: ../Doc/whatsnew/2.0.rst:1165 msgid "" "There is now support for calling browsers on various platforms, used to open " "the Python documentation in a browser." msgstr "" +"Ahora hay soporte para llamar a los navegadores en varias plataformas, " +"utilizado para abrir la documentación de Python en un navegador." #: ../Doc/whatsnew/2.0.rst:1168 msgid "" "IDLE now has a command line, which is largely similar to the vanilla Python " "interpreter." msgstr "" +"IDLE ahora tiene una línea de comandos, que es en gran medida similar al " +"intérprete de Python vainilla." #: ../Doc/whatsnew/2.0.rst:1171 msgid "Call tips were added in many places." -msgstr "" +msgstr "Se añadieron consejos de llamada en muchos lugares." #: ../Doc/whatsnew/2.0.rst:1173 msgid "IDLE can now be installed as a package." -msgstr "" +msgstr "Ahora IDLE puede instalarse como un paquete." #: ../Doc/whatsnew/2.0.rst:1175 msgid "In the editor window, there is now a line/column bar at the bottom." msgstr "" +"En la ventana del editor, ahora hay una barra de líneas/columnas en la parte " +"inferior." #: ../Doc/whatsnew/2.0.rst:1177 msgid "" "Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module (:" "kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." msgstr "" +"Tres nuevos comandos de teclado: Comprobar módulo (:kbd:`Alt-F5`), Importar " +"módulo (:kbd:`F5`) y Ejecutar script (:kbd:`Ctrl-F5`)." #: ../Doc/whatsnew/2.0.rst:1184 msgid "Deleted and Deprecated Modules" -msgstr "" +msgstr "Módulos eliminados y obsoletos" #: ../Doc/whatsnew/2.0.rst:1186 msgid "" @@ -1494,6 +2319,10 @@ msgid "" "it was for a platform-independent windowing toolkit that's no longer " "developed." msgstr "" +"Se han eliminado algunos módulos porque son obsoletos, o porque ahora hay " +"mejores formas de hacer lo mismo. El módulo :mod:`stdwin` ha desaparecido; " +"era para un conjunto de herramientas de ventanas independientes de la " +"plataforma que ya no se desarrolla." #: ../Doc/whatsnew/2.0.rst:1190 msgid "" @@ -1504,10 +2333,17 @@ msgid "" "file:`lib-old`, you can simply add that directory to ``sys.path`` to get " "them back, but you're encouraged to update any code that uses these modules." msgstr "" +"Varios módulos han sido trasladados al subdirectorio :file:`lib-old`: :mod:" +"`cmp`, :mod:`cmpcache`, :mod:`dircmp`, :mod:`dump`, :mod:`find`, :mod:" +"`grep`, :mod:`packmail`, :mod:`poly`, :mod:`util`, :mod:`whatsound`, :mod:" +"`zmod`. Si tiene código que depende de un módulo que ha sido movido a :file:" +"`lib-old`, puede simplemente añadir ese directorio a ``sys.path`` para " +"recuperarlo, pero se recomienda actualizar cualquier código que utilice " +"estos módulos." #: ../Doc/whatsnew/2.0.rst:1199 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.0.rst:1201 msgid "" @@ -1517,3 +2353,8 @@ msgid "" "Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil " "Schemenauer, and Russ Schmidt." msgstr "" +"Los autores desean agradecer a las siguientes personas sus sugerencias sobre " +"varios borradores de este artículo: David Bolen, Mark Hammond, Gregg Hauser, " +"Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, Skip Montanaro, " +"Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil Schemenauer y " +"Russ Schmidt." From 1b215da602ac822a47e9cf6bb3f01a6afd21eeae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Mon, 16 Aug 2021 20:41:50 +0100 Subject: [PATCH 56/94] first translation 2.2 (#1268) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * first translation 22 * Finalizando traducción whatsnew/2.2 * Update whatsnew/2.2.po * powrap Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes --- dictionaries/whatsnew_2.2.txt | 60 +++- whatsnew/2.2.po | 622 ++++++++++++++++++++++++++++++++-- 2 files changed, 651 insertions(+), 31 deletions(-) diff --git a/dictionaries/whatsnew_2.2.txt b/dictionaries/whatsnew_2.2.txt index 66da58123c..948f4e3e15 100644 --- a/dictionaries/whatsnew_2.2.txt +++ b/dictionaries/whatsnew_2.2.txt @@ -1,5 +1,61 @@ +An +Baxter +Bolen +Bremmer +Briggs +Carel Common +Corp +Donnell +Edward Eiffel +Fellinger +Gerhard +Hagino +Hansen +Hetland +Häring +Icon +Itamar +Jens +Joonas +Jun +Keith +Labs +Language +Lauder +Magnus +Mathewson +Michel +Moore +Overview +Paalasma +Pelletier +Piers +Programming +Quade +Reinhardt +Romberg +Shtull +Solutions +Stephen +Stolk +Tom +Trauring +Ward +What +Wise +descomentarlos +desocuparlos +dev +generización +hackeando +ichiro +itojun +memberst +must +ndiff +of +reanudables subclasificarse -Corp -dev \ No newline at end of file +uu diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index 73d8cc19b4..53d3b97ff1 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2021-04-28 21:33-0500\n" +"PO-Revision-Date: 2021-08-07 10:12+0100\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: José Luis Salgado Banda\n" -"Language: es_MX\n" -"X-Generator: Poedit 2.4.3\n" +"Last-Translator: Claudia Millan \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/whatsnew/2.2.rst:3 msgid "What's New in Python 2.2" @@ -745,7 +745,7 @@ msgstr "" #: ../Doc/whatsnew/2.2.rst:421 msgid "PEP 234: Iterators" -msgstr "" +msgstr "PEP 234: Iteradores" #: ../Doc/whatsnew/2.2.rst:423 msgid "" @@ -753,12 +753,18 @@ msgid "" "and Python levels. Objects can define how they can be looped over by " "callers." msgstr "" +"Otra adición significativa a la versión 2.2 es una interfaz de iteración " +"tanto a nivel de C como de Python. Los objetos pueden definir cómo pueden " +"ser iterados por quienes los llaman." #: ../Doc/whatsnew/2.2.rst:426 msgid "" "In Python versions up to 2.1, the usual way to make ``for item in obj`` work " "is to define a :meth:`__getitem__` method that looks something like this::" msgstr "" +"En las versiones de Python hasta la 2.1, la forma habitual de hacer que " +"funcione ``for item in obj`` es definir un método :meth:`__getitem__` que se " +"parezca a esto::" #: ../Doc/whatsnew/2.2.rst:432 msgid "" @@ -772,6 +778,16 @@ msgid "" "`__getitem__` method doesn't mean that using ``file[5]`` to randomly access " "the sixth element will work, though it really should." msgstr "" +":meth:`__getitem__` se utiliza más adecuadamente para definir una operación " +"de indexación en un objeto, de modo que se puede escribir ``obj[5]`` para " +"recuperar el sexto elemento. Es un poco engañoso cuando se utiliza esto " +"sólo para soportar bucles :keyword:`for`. Considere algún objeto tipo " +"archivo que quiera ser revisado en bucle; el parámetro *index* no tiene " +"sentido, ya que la clase probablemente asume que se hará una serie de " +"llamadas a :meth:`__getitem__` con *index* incrementándose en uno cada vez. " +"En otras palabras, la presencia del método :meth:`__getitem__` no significa " +"que el uso de ``file[5]`` para acceder al azar al sexto elemento vaya a " +"funcionar, aunque realmente debería hacerlo." #: ../Doc/whatsnew/2.2.rst:442 msgid "" @@ -783,6 +799,14 @@ msgid "" "``iter(C, sentinel)`` returns an iterator that will invoke the callable " "object *C* until it returns *sentinel* to signal that the iterator is done." msgstr "" +"En Python 2.2, la iteración puede implementarse por separado, y los métodos :" +"meth:`__getitem__` pueden limitarse a las clases que realmente soportan el " +"acceso aleatorio. La idea básica de los iteradores es simple. Una nueva " +"función incorporada, ``iter(obj)`` o ``iter(C, sentinel)``, se utiliza para " +"obtener un iterador. ``iter(obj)`` retorna un iterador para el objeto *obj*, " +"mientras que ``iter(C, sentinel)`` retorna un iterador que invocará al " +"objeto invocable *C* hasta que retorne *sentinel* para señalar que el " +"iterador ha terminado." #: ../Doc/whatsnew/2.2.rst:450 msgid "" @@ -794,6 +818,14 @@ msgid "" "extension types that want to behave as iterators can define a :c:member:" "`~PyTypeObject.tp_iternext` function." msgstr "" +"Las clases de Python pueden definir un método :meth:`__iter__`, que debe " +"crear y retornar un nuevo iterador para el objeto; si el objeto es su propio " +"iterador, este método puede simplemente retornar ``self``. En particular, " +"los iteradores suelen ser sus propios iteradores. Los tipos de extensión " +"implementados en C pueden implementar una función :c:member:`~PyTypeObject." +"tp_iter` para retornar un iterador, y los tipos de extensión que quieran " +"comportarse como iteradores pueden definir una función :c:member:" +"`~PyTypeObject.tp_iternext`." #: ../Doc/whatsnew/2.2.rst:457 msgid "" @@ -802,6 +834,10 @@ msgid "" "When there are no more values to be returned, calling :meth:`next` should " "raise the :exc:`StopIteration` exception. ::" msgstr "" +"Entonces, después de todo esto, ¿qué hacen realmente los iteradores? Tienen " +"un método obligatorio, :meth:`next`, que no toma argumentos y retorna el " +"siguiente valor. Cuando no hay más valores que retornar, la llamada a :meth:" +"`next` debería lanzar la excepción :exc:`StopIteration`. ::" #: ../Doc/whatsnew/2.2.rst:478 msgid "" @@ -814,6 +850,14 @@ msgid "" "changed to use the iterator protocol. This means you can do things like " "this::" msgstr "" +"En 2.2, la sentencia :keyword:`for` de Python ya no espera una secuencia; " +"espera algo para lo que :func:`iter` retornará un iterador. Por " +"compatibilidad y comodidad, se construye automáticamente un iterador para " +"las secuencias que no implementan :meth:`__iter__` o una ranura :c:member:" +"`~PyTypeObject.tp_iter`, por lo que ``for i in [1,2,3]`` seguirá " +"funcionando. Dondequiera que el intérprete de Python haga un bucle sobre " +"una secuencia, se ha cambiado para utilizar el protocolo de los iteradores. " +"Esto significa que puedes hacer cosas como esta::" #: ../Doc/whatsnew/2.2.rst:492 msgid "" @@ -821,6 +865,9 @@ msgid "" "func:`iter` on a dictionary will return an iterator which loops over its " "keys::" msgstr "" +"Se ha añadido soporte de iteradores a algunos de los tipos básicos de " +"Python. Llamar a :func:`iter` sobre un diccionario retornará un iterador " +"que hace un bucle sobre sus claves::" #: ../Doc/whatsnew/2.2.rst:512 msgid "" @@ -830,6 +877,12 @@ msgid "" "iterator. In a minor related change, the :keyword:`in` operator now works on " "dictionaries, so ``key in dict`` is now equivalent to ``dict.has_key(key)``." msgstr "" +"Este es el comportamiento por defecto. Si quieres iterar sobre claves, " +"valores o pares clave/valor, puedes llamar explícitamente a los métodos :" +"meth:`iterkeys`, :meth:`itervalues` o :meth:`iteritems` para obtener un " +"iterador apropiado. En un cambio menor relacionado, el operador :keyword:" +"`in` ahora funciona en los diccionarios, por lo que ``key in dict`` es ahora " +"equivalente a ``dict.has_key(key)``." #: ../Doc/whatsnew/2.2.rst:518 msgid "" @@ -837,6 +890,9 @@ msgid "" "until there are no more lines in the file. This means you can now read each " "line of a file using code like this::" msgstr "" +"Los archivos también proporcionan un iterador, que llama al método :meth:" +"`readline` hasta que no hay más líneas en el archivo. Esto significa que " +"ahora puede leer cada línea de un archivo utilizando un código como este::" #: ../Doc/whatsnew/2.2.rst:526 msgid "" @@ -845,26 +901,34 @@ msgid "" "object could provide such additional capabilities, but the iterator protocol " "only requires a :meth:`next` method." msgstr "" +"Tenga en cuenta que sólo puede avanzar en un iterador; no hay forma de " +"obtener el elemento anterior, reiniciar el iterador o hacer una copia del " +"mismo. Un objeto iterador podría proporcionar estas capacidades adicionales, " +"pero el protocolo iterador sólo requiere un método :meth:`next`." #: ../Doc/whatsnew/2.2.rst:535 msgid ":pep:`234` - Iterators" -msgstr "" +msgstr ":pep:`234` - Iteradores" #: ../Doc/whatsnew/2.2.rst:535 msgid "" "Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly " "by GvR and Tim Peters." msgstr "" +"Escrito por Ka-Ping Yee y GvR; implementado por el equipo de Python Labs, " +"principalmente por GvR y Tim Peters." #: ../Doc/whatsnew/2.2.rst:542 msgid "PEP 255: Simple Generators" -msgstr "" +msgstr "PEP 255: Generadores simples" #: ../Doc/whatsnew/2.2.rst:544 msgid "" "Generators are another new feature, one that interacts with the introduction " "of iterators." msgstr "" +"Los generadores son otra novedad que interactúa con la introducción de los " +"iteradores." #: ../Doc/whatsnew/2.2.rst:547 msgid "" @@ -878,10 +942,20 @@ msgid "" "This is what generators provide; they can be thought of as resumable " "functions." msgstr "" +"Sin duda estás familiarizado con cómo funcionan las llamadas a funciones en " +"Python o C. Cuando llamas a una función, ésta obtiene un espacio de nombres " +"privado donde se crean sus variables locales. Cuando la función llega a una " +"declaración :keyword:`return`, las variables locales se destruyen y el valor " +"resultante se retorna a quien la llamó. Una llamada posterior a la misma " +"función obtendrá un nuevo conjunto de variables locales. Pero, ¿qué pasaría " +"si las variables locales no se tiraran al salir de una función? ¿Qué pasaría " +"si pudieras reanudar la función donde la dejaste? Esto es lo que " +"proporcionan los generadores; se puede pensar en ellos como funciones " +"reanudables." #: ../Doc/whatsnew/2.2.rst:556 msgid "Here's the simplest example of a generator function::" -msgstr "" +msgstr "Este es el ejemplo más sencillo de una función generadora::" #: ../Doc/whatsnew/2.2.rst:562 msgid "" @@ -893,6 +967,15 @@ msgid "" "import generators`` statement near the top of the module's source code. In " "Python 2.3 this statement will become unnecessary." msgstr "" +"Se ha introducido una nueva palabra clave, :keyword:`yield`, para los " +"generadores. Cualquier función que contenga una declaración :keyword:`!" +"yield` es una función generadora; esto es detectado por el compilador de " +"código de bits de Python que compila la función especialmente como " +"resultado. Debido a la introducción de una nueva palabra clave, los " +"generadores deben ser explícitamente habilitados en un módulo incluyendo una " +"declaración ``from __future__ import generators`` cerca de la parte superior " +"del código fuente del módulo. En Python 2.3 esta declaración será " +"innecesaria." #: ../Doc/whatsnew/2.2.rst:570 msgid "" @@ -909,16 +992,31 @@ msgid "" "`try`...\\ :keyword:`finally` statement; read :pep:`255` for a full " "explanation of the interaction between :keyword:`!yield` and exceptions.)" msgstr "" +"Cuando se llama a una función generadora, ésta no retorna un único valor, " +"sino que retorna un objeto generador que soporta el protocolo de los " +"iteradores. Al ejecutar la sentencia :keyword:`yield`, el generador retorna " +"el valor de ``i``, de forma similar a una sentencia :keyword:`return`. La " +"gran diferencia entre :keyword:`!yield` y una sentencia :keyword:`!return` " +"es que al llegar a una sentencia :keyword:`!yield` se suspende el estado de " +"ejecución del generador y se conservan las variables locales. En la " +"siguiente llamada al método ``next()`` del generador, la función se " +"reanudará la ejecución inmediatamente después de la sentencia :keyword:`!" +"yield`. (Por razones complicadas, la sentencia :keyword:`!yield` no está " +"permitida dentro del bloque :keyword:`!try` de una sentencia :keyword:" +"`try`...`\\ :keyword:`finally`; lea :pep:`255` para una explicación completa " +"de la interacción entre :keyword:`!yield` y las excepciones)" #: ../Doc/whatsnew/2.2.rst:583 msgid "Here's a sample usage of the :func:`generate_ints` generator::" -msgstr "" +msgstr "Este es un ejemplo de uso del generador :func:`generate_ints`::" #: ../Doc/whatsnew/2.2.rst:600 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." msgstr "" +"También podrías escribir ``for i in generate_ints(5)``, o ``a,b,c = " +"generate_ints(3)``." #: ../Doc/whatsnew/2.2.rst:603 msgid "" @@ -930,6 +1028,13 @@ msgid "" "indicated by raising :exc:`StopIteration` manually, or by just letting the " "flow of execution fall off the bottom of the function." msgstr "" +"Dentro de una función generadora, la sentencia :keyword:`return` sólo puede " +"usarse sin un valor, y señala el final de la procesión de valores; después " +"el generador no puede retornar más valores. :keyword:`!return` con un valor, " +"como ``return 5``, es un error de sintaxis dentro de una función " +"generadora. El final de los resultados del generador también puede " +"indicarse levantando manualmente :exc:`StopIteration`, o simplemente dejando " +"que el flujo de ejecución caiga en el fondo de la función." #: ../Doc/whatsnew/2.2.rst:611 msgid "" @@ -943,6 +1048,15 @@ msgid "" "The simplest one implements an in-order traversal of a tree using generators " "recursively. ::" msgstr "" +"Puedes conseguir el efecto de los generadores manualmente escribiendo tu " +"propia clase y almacenando todas las variables locales del generador como " +"variables de instancia. Por ejemplo, la lución de una lista de enteros " +"podría hacerse estableciendo ``self.count`` a 0, y haciendo que el método :" +"meth:`next` incremente ``self.count`` y lo retorne. Sin embargo, para un " +"generador medianamente complicado, escribir la clase correspondiente sería " +"mucho más complicado. :file:`Lib/test/test_generators.py` contiene varios " +"ejemplos más interesantes. El más sencillo implementa un recorrido en orden " +"de un árbol utilizando generadores de forma recursiva ::" #: ../Doc/whatsnew/2.2.rst:629 msgid "" @@ -952,6 +1066,11 @@ msgid "" "knight to every square of an $NxN$ chessboard without visiting any square " "twice)." msgstr "" +"Otros dos ejemplos en :file:`Lib/test/test_generators.py` producen " +"soluciones para el problema de las N reinas (colocar $N$ reinas en un " +"tablero de ajedrez $NxN$ de forma que ninguna reina amenace a otra) y el " +"recorrido del caballero (una ruta que lleva a un caballo a cada casilla de " +"un tablero de ajedrez $NxN$ sin visitar ninguna casilla dos veces)." #: ../Doc/whatsnew/2.2.rst:634 msgid "" @@ -962,6 +1081,12 @@ msgid "" "\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " "this looks like::" msgstr "" +"La idea de los generadores proviene de otros lenguajes de programación, " +"especialmente de Icon (https://www.cs.arizona.edu/icon/), donde la idea de " +"los generadores es fundamental. En Icon, cada expresión y llamada a una " +"función se comporta como un generador. Un ejemplo de \"*An Overview of the " +"Icon Programming Language*\" en https://www.cs.arizona.edu/icon/docs/ipd266." +"htm da una idea de cómo es esto::" #: ../Doc/whatsnew/2.2.rst:644 msgid "" @@ -971,6 +1096,12 @@ msgid "" "Icon retries it with the second value of 23. 23 is greater than 5, so the " "comparison now succeeds, and the code prints the value 23 to the screen." msgstr "" +"En Icon la función :func:`find` retorna los índices en los que se encuentra " +"la subcadena \"o\": 3, 23, 33. En la sentencia :keyword:`if`, a ``i`` se le " +"asigna primero un valor de 3, pero 3 es menor que 5, por lo que la " +"comparación falla, e Icon la reintenta con el segundo valor de 23. 23 es " +"mayor que 5, por lo que la comparación ahora tiene éxito, y el código " +"imprime el valor 23 en la pantalla." #: ../Doc/whatsnew/2.2.rst:650 msgid "" @@ -982,10 +1113,18 @@ msgid "" "represented as a concrete object (the iterator) that can be passed around to " "other functions or stored in a data structure." msgstr "" +"Python no va tan lejos como Icon en la adopción de generadores como concepto " +"central. Los generadores se consideran una nueva parte del núcleo del " +"lenguaje Python, pero aprenderlos o utilizarlos no es obligatorio; si no " +"resuelven ningún problema que tengas, siéntete libre de ignorarlos. Una " +"característica novedosa de la interfaz de Python en comparación con la de " +"Icon es que el estado de un generador se representa como un objeto concreto " +"(el iterador) que puede pasarse a otras funciones o almacenarse en una " +"estructura de datos." #: ../Doc/whatsnew/2.2.rst:662 msgid ":pep:`255` - Simple Generators" -msgstr "" +msgstr ":pep:`255` - Generadores simples" #: ../Doc/whatsnew/2.2.rst:662 msgid "" @@ -993,10 +1132,13 @@ msgid "" "mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " "Labs crew." msgstr "" +"Escrito por Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implementado " +"principalmente por Neil Schemenauer y Tim Peters, con otras correcciones del " +"equipo de Python Labs." #: ../Doc/whatsnew/2.2.rst:669 msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "" +msgstr "PEP 237: Unificación de enteros largos y enteros" #: ../Doc/whatsnew/2.2.rst:671 msgid "" @@ -1010,6 +1152,16 @@ msgid "" "be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` " "exception with the message 'slice index must be int'." msgstr "" +"En versiones recientes, la distinción entre enteros regulares, que son " +"valores de 32 bits en la mayoría de las máquinas, y enteros largos, que " +"pueden tener un tamaño arbitrario, se estaba convirtiendo en una molestia. " +"Por ejemplo, en las plataformas que soportan archivos de más de ``2**32`` " +"bytes, el método :meth:`tell` de los objetos archivo tiene que retornar un " +"entero largo. Sin embargo, había varias partes de Python que esperaban " +"números enteros simples y que daban un error si se proporcionaba un número " +"entero largo en su lugar. Por ejemplo, en Python 1.5, sólo podían usarse " +"enteros normales como índice de corte, y ``'abc'[1L:]`` lanzaba una " +"excepción :exc:`TypeError` con el mensaje 'slice index must be int'." #: ../Doc/whatsnew/2.2.rst:681 msgid "" @@ -1021,6 +1173,13 @@ msgid "" "to raise an :exc:`OverflowError` will now return a long integer as their " "result. For example::" msgstr "" +"Python 2.2 cambiará los valores de enteros cortos a enteros largos según sea " +"necesario. El sufijo 'L' ya no es necesario para indicar un literal entero " +"largo, ya que ahora el compilador elegirá el tipo apropiado. (El uso del " +"sufijo 'L' se desaconsejará en futuras versiones 2.x de Python, provocando " +"una advertencia en Python 2.4, y probablemente se eliminará en Python 3.0) " +"Muchas operaciones que solían lanzar un :exc:`OverflowError` ahora " +"retornarán un entero largo como resultado. Por ejemplo::" #: ../Doc/whatsnew/2.2.rst:694 msgid "" @@ -1028,20 +1187,25 @@ msgid "" "You can still distinguish them with the :func:`type` built-in function, but " "that's rarely needed." msgstr "" +"En la mayoría de los casos, los enteros y los enteros largos se tratarán " +"ahora de forma idéntica. Todavía se pueden distinguir con la función " +"incorporada :func:`type`, pero rara vez se necesita." #: ../Doc/whatsnew/2.2.rst:702 msgid ":pep:`237` - Unifying Long Integers and Integers" -msgstr "" +msgstr ":pep:`237` - Unificación de enteros largos y enteros" #: ../Doc/whatsnew/2.2.rst:702 msgid "" "Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido " "van Rossum." msgstr "" +"Escrito por Moshe Zadka y Guido van Rossum. Implementado principalmente por " +"Guido van Rossum." #: ../Doc/whatsnew/2.2.rst:709 msgid "PEP 238: Changing the Division Operator" -msgstr "" +msgstr "PEP 238: Cambio del operador de división" #: ../Doc/whatsnew/2.2.rst:711 msgid "" @@ -1055,6 +1219,16 @@ msgid "" "the two operands and because Python is dynamically typed, it can be " "difficult to determine the possible types of the operands." msgstr "" +"El cambio más controvertido de Python 2.2 anuncia el inicio de un esfuerzo " +"por arreglar un viejo defecto de diseño que ha estado en Python desde el " +"principio. Actualmente, el operador de división de Python, ``/``, se " +"comporta como el operador de división de C cuando se le presentan dos " +"argumentos enteros: retorna un resultado entero que se trunca cuando hay una " +"parte fraccionaria. Por ejemplo, ``3/2`` es 1, no 1,5, y ``(-1)/2`` es -1, " +"no -0,5. Esto significa que los resultados de la división pueden variar " +"inesperadamente dependiendo del tipo de los dos operandos y, como Python " +"está tipado dinámicamente, puede ser difícil determinar los posibles tipos " +"de los operandos." #: ../Doc/whatsnew/2.2.rst:721 msgid "" @@ -1065,6 +1239,13 @@ msgid "" "either side here and will stick to describing what's implemented in 2.2. " "Read :pep:`238` for a summary of arguments and counter-arguments.)" msgstr "" +"(La controversia se centra en si esto es *realmente* un defecto de diseño, y " +"si vale la pena romper el código existente para arreglarlo. Ha provocado " +"interminables discusiones en python-dev, y en julio de 2001 estalló una " +"tormenta de publicaciones ácidamente sarcásticas en :newsgroup:`comp.lang." +"python`. No argumentaré aquí a favor de ninguno de los dos bandos y me " +"limitaré a describir lo que se ha implementado en la 2.2. Lea :pep:`238` " +"para un resumen de los argumentos y contra-argumentos)" #: ../Doc/whatsnew/2.2.rst:728 msgid "" @@ -1072,6 +1253,9 @@ msgid "" "Python 2.2 begins the transition, but the switch won't be complete until " "Python 3.0." msgstr "" +"Debido a que este cambio podría romper el código, se está introduciendo de " +"forma muy gradual. Python 2.2 comienza la transición, pero el cambio no será " +"completo hasta Python 3.0." #: ../Doc/whatsnew/2.2.rst:732 msgid "" @@ -1084,10 +1268,20 @@ msgid "" "operands are integers, and returns the result of true division when one of " "the operands is a floating-point number." msgstr "" +"En primer lugar, tomaré prestada alguna terminología de :pep:`238`. La " +"\"división verdadera\" es la división con la que la mayoría de los no " +"programadores están familiarizados: 3/2 es 1,5, 1/4 es 0,25, y así " +"sucesivamente. La \"división por el piso\" es lo que hace actualmente el " +"operador ``/`` de Python cuando se le dan operandos enteros; el resultado es " +"el piso del valor retornado por la división verdadera. La \"división clásica" +"\" es el comportamiento mixto actual de ``/``; retorna el resultado de la " +"división por el suelo cuando los operandos son enteros, y retorna el " +"resultado de la división verdadera cuando uno de los operandos es un número " +"de punto flotante." #: ../Doc/whatsnew/2.2.rst:740 msgid "Here are the changes 2.2 introduces:" -msgstr "" +msgstr "Estos son los cambios que introduce la versión 2.2:" #: ../Doc/whatsnew/2.2.rst:742 msgid "" @@ -1096,12 +1290,18 @@ msgid "" "no matter what the types of its operands are, so ``1 // 2`` is 0 and " "``1.0 // 2.0`` is also 0.0." msgstr "" +"Un nuevo operador, ``//``, es el operador de división por el suelo. (Sí, ya " +"sabemos que se parece al símbolo de comentario de C++.) ``//`` *siempre* " +"realiza la división por el suelo sin importar los tipos de sus operandos, " +"así que ``1 // 2`` es 0 y ``1.0 // 2.0`` también es 0.0." #: ../Doc/whatsnew/2.2.rst:747 msgid "" "``//`` is always available in Python 2.2; you don't need to enable it using " "a ``__future__`` statement." msgstr "" +"``//` está siempre disponible en Python 2.2; no es necesario habilitarlo " +"mediante una sentencia ``__future__``." #: ../Doc/whatsnew/2.2.rst:750 msgid "" @@ -1110,6 +1310,11 @@ msgid "" "is 0.5. Without the ``__future__`` statement, ``/`` still means classic " "division. The default meaning of ``/`` will not change until Python 3.0." msgstr "" +"Al incluir una declaración ``from __future__ import division`` en un módulo, " +"el operador ``/`` se cambiará para retornar el resultado de la división " +"verdadera, por lo que ``1/2`` es 0,5. Sin la declaración ``__future__``, ``/" +"`` sigue significando la división clásica. El significado por defecto de ``/" +"`` no cambiará hasta Python 3.0." #: ../Doc/whatsnew/2.2.rst:755 msgid "" @@ -1118,6 +1323,10 @@ msgid "" "there are also slots in the :c:type:`PyNumberMethods` structure so extension " "types can define the two operators." msgstr "" +"Las clases pueden definir métodos llamados :meth:`__truediv__` y :meth:" +"`__floordiv__` para sobrecargar los dos operadores de división. En el nivel " +"C, también hay ranuras en la estructura :c:type:`PyNumberMethods` para que " +"los tipos de extensión puedan definir los dos operadores." #: ../Doc/whatsnew/2.2.rst:760 msgid "" @@ -1128,20 +1337,29 @@ msgid "" "and fix it. By default, Python 2.2 will simply perform classic division " "without a warning; the warning will be turned on by default in Python 2.3." msgstr "" +"Python 2.2 admite algunos argumentos de línea de comandos para comprobar si " +"el código funcionará con la semántica de división modificada. Ejecutar " +"python con :option:`!-Q warn` hará que se emita una advertencia cada vez que " +"se aplique la división a dos enteros. Puedes usar esto para encontrar el " +"código que está afectado por el cambio y arreglarlo. Por defecto, Python " +"2.2 simplemente realizará la división clásica sin una advertencia; la " +"advertencia se activará por defecto en Python 2.3." #: ../Doc/whatsnew/2.2.rst:770 msgid ":pep:`238` - Changing the Division Operator" -msgstr "" +msgstr ":pep:`238` - Cambio del operador de división" #: ../Doc/whatsnew/2.2.rst:771 msgid "" "Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van " "Rossum.." msgstr "" +"Escrito por Moshe Zadka y Guido van Rossum. Implementado por Guido van " +"Rossum.." #: ../Doc/whatsnew/2.2.rst:777 msgid "Unicode Changes" -msgstr "" +msgstr "Cambios en Unicode" #: ../Doc/whatsnew/2.2.rst:779 msgid "" @@ -1152,6 +1370,13 @@ msgid "" "script. (It's also possible to specify :option:`!--disable-unicode` to " "completely disable Unicode support.)" msgstr "" +"El soporte de Unicode de Python se ha mejorado un poco en la versión 2.2. " +"Las cadenas Unicode se almacenan normalmente como UCS-2, como enteros sin " +"signo de 16 bits. Python 2.2 también puede ser compilado para usar UCS-4, " +"enteros sin signo de 32 bits, como su codificación interna suministrando :" +"option:`!--enable-unicode=ucs4` al script de configuración. (También es " +"posible especificar :option:`!--disable-unicode` para desactivar " +"completamente el soporte de Unicode)" #: ../Doc/whatsnew/2.2.rst:786 msgid "" @@ -1163,6 +1388,14 @@ msgid "" "exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode " "characters\"; consult it for further details." msgstr "" +"Cuando se compila para usar UCS-4 (un \"Python amplio\"), el intérprete " +"puede manejar de forma nativa caracteres Unicode desde U+000000 hasta U" +"+110000, por lo que el rango de valores legales para la función :func:" +"`unichr` se expande en consecuencia. Utilizando un intérprete compilado " +"para usar UCS-2 (un \"Python estrecho\"), los valores mayores de 65535 " +"seguirán provocando que :func:`unichr` lance una excepción :exc:" +"`ValueError`. Todo esto se describe en :pep:`261`, \"Soporte para caracteres " +"Unicode 'anchos'\"; consúltelo para más detalles." #: ../Doc/whatsnew/2.2.rst:794 msgid "" @@ -1174,6 +1407,13 @@ msgid "" "specified encoding and decodes it, returning whatever is returned by the " "codec." msgstr "" +"Otro cambio es más sencillo de explicar. Desde su introducción, las cadenas " +"Unicode han soportado un método :meth:`encode` para convertir la cadena a " +"una codificación seleccionada como UTF-8 o Latin-1. Un método simétrico " +"``decode([*encoding*])`` ha sido añadido a las cadenas de 8 bits (aunque no " +"a las cadenas Unicode) en 2.2. :meth:`decode` asume que la cadena está en la " +"codificación especificada y la decodifica, retornando lo que sea retornado " +"por el códec." #: ../Doc/whatsnew/2.2.rst:801 msgid "" @@ -1181,12 +1421,18 @@ msgid "" "related to Unicode. For example, codecs have been added for uu-encoding, " "MIME's base64 encoding, and compression with the :mod:`zlib` module::" msgstr "" +"Gracias a esta nueva función, se han añadido códecs para tareas no " +"relacionadas directamente con Unicode. Por ejemplo, se han añadido códecs " +"para la codificación uu, la codificación base64 de MIME y la compresión con " +"el módulo :mod:`zlib`::" #: ../Doc/whatsnew/2.2.rst:822 msgid "" "To convert a class instance to Unicode, a :meth:`__unicode__` method can be " "defined by a class, analogous to :meth:`__str__`." msgstr "" +"Para convertir una instancia de clase a Unicode, se puede definir un método :" +"meth:`__unicode__` por clase, análogo a :meth:`__str__`." #: ../Doc/whatsnew/2.2.rst:825 msgid "" @@ -1194,18 +1440,21 @@ msgid "" "Marc-André Lemburg. The changes to support using UCS-4 internally were " "implemented by Fredrik Lundh and Martin von Löwis." msgstr "" +":meth:`encode`, :meth:`decode`, y :meth:`__unicode__` fueron implementados " +"por Marc-André Lemburg. Los cambios para soportar el uso de UCS-4 " +"internamente fueron implementados por Fredrik Lundh y Martin von Löwis." #: ../Doc/whatsnew/2.2.rst:832 msgid ":pep:`261` - Support for 'wide' Unicode characters" -msgstr "" +msgstr ":pep:`261` - Soporte para caracteres Unicode 'anchos'" #: ../Doc/whatsnew/2.2.rst:833 msgid "Written by Paul Prescod." -msgstr "" +msgstr "Escrito por Paul Prescod." #: ../Doc/whatsnew/2.2.rst:839 msgid "PEP 227: Nested Scopes" -msgstr "" +msgstr "PEP 227: Ámbitos anidados" #: ../Doc/whatsnew/2.2.rst:841 msgid "" @@ -1216,6 +1465,13 @@ msgid "" "scopes from my \"What's New in Python 2.1\" document; if you read it when " "2.1 came out, you can skip the rest of this section." msgstr "" +"En Python 2.1, los ámbitos anidados estáticamente se añadieron como una " +"característica opcional, que se activaba mediante una directiva ``from " +"__future__ import nested_scopes``. En 2.2 los ámbitos anidados ya no " +"necesitan ser habilitados especialmente, y ahora están siempre presentes. " +"El resto de esta sección es una copia de la descripción de los ámbitos " +"anidados de mi documento \"What's New in Python 2.1\"; si lo leíste cuando " +"salió la 2.1, puedes saltarte el resto de esta sección." #: ../Doc/whatsnew/2.2.rst:848 msgid "" @@ -1226,6 +1482,12 @@ msgid "" "their intuitive expectations. For example, a nested recursive function " "definition doesn't work::" msgstr "" +"El mayor cambio introducido en Python 2.1, y completado en 2.2, es el de las " +"reglas de alcance de Python. En Python 2.0, en cualquier momento hay como " +"máximo tres espacios de nombres utilizados para buscar nombres de variables: " +"local, a nivel de módulo y el espacio de nombres incorporado. Esto a menudo " +"sorprendía a la gente porque no coincidía con sus expectativas intuitivas. " +"Por ejemplo, una definición de función recursiva anidada no funciona::" #: ../Doc/whatsnew/2.2.rst:862 msgid "" @@ -1238,12 +1500,22 @@ msgid "" "find local variables being copied by passing them as the default values of " "arguments. ::" msgstr "" +"La función :func:`g` siempre lanzará una excepción :exc:`NameError`, porque " +"el enlace del nombre ``g`` no está ni en su espacio de nombres local ni en " +"el espacio de nombres a nivel de módulo. Esto no es un gran problema en la " +"práctica (¿con qué frecuencia se definen recursivamente funciones interiores " +"como ésta?), pero esto también hacía más torpe el uso de la expresión :" +"keyword:`lambda`, y esto era un problema en la práctica. En el código que " +"utiliza :keyword:`!lambda` a menudo se pueden encontrar variables locales " +"que se copian al pasarlas como valores por defecto de los argumentos. ::" #: ../Doc/whatsnew/2.2.rst:876 msgid "" "The readability of Python code written in a strongly functional style " "suffers greatly as a result." msgstr "" +"La legibilidad del código Python escrito en un estilo fuertemente funcional " +"sufre mucho como resultado." #: ../Doc/whatsnew/2.2.rst:879 msgid "" @@ -1256,6 +1528,15 @@ msgid "" "local namespace of the enclosing scope. A more detailed explanation of the " "rules, and a dissection of the implementation, can be found in the PEP." msgstr "" +"El cambio más significativo de Python 2.2 es que se ha añadido al lenguaje " +"el ámbito estático para solucionar este problema. Como primer efecto, el " +"argumento por defecto ``name=name`` es ahora innecesario en el ejemplo " +"anterior. En pocas palabras, cuando a un nombre de variable dado no se le " +"asigna un valor dentro de una función (mediante una asignación, o las " +"sentencias :keyword:`def`, :keyword:`class`, o :keyword:`import`), las " +"referencias a la variable se buscarán en el espacio de nombres local del " +"ámbito que la rodea. Puede encontrar una explicación más detallada de las " +"reglas y una disección de la implementación en el PEP." #: ../Doc/whatsnew/2.2.rst:888 msgid "" @@ -1265,6 +1546,11 @@ msgid "" "rather unlikely though, since such code would have been pretty confusing to " "read in the first place." msgstr "" +"Este cambio puede causar algunos problemas de compatibilidad para el código " +"en el que el mismo nombre de variable se utiliza tanto a nivel de módulo " +"como de variable local dentro de una función que contiene otras definiciones " +"de función. Sin embargo, esto parece bastante improbable, ya que dicho " +"código habría sido bastante confuso de leer en primer lugar." #: ../Doc/whatsnew/2.2.rst:894 msgid "" @@ -1281,10 +1567,25 @@ msgid "" "function definitions or :keyword:`lambda` expressions with free variables, " "the compiler will flag this by raising a :exc:`SyntaxError` exception." msgstr "" +"Un efecto secundario del cambio es que las sentencias ``from module import " +"*`` y ``exec`` se han hecho ilegales dentro del ámbito de una función bajo " +"ciertas condiciones. El manual de referencia de Python ha dicho todo el " +"tiempo que ``from module import *`` sólo es legal en el nivel superior de un " +"módulo, pero el intérprete de CPython nunca ha aplicado esto antes. Como " +"parte de la implementación de los ámbitos anidados, el compilador que " +"convierte el código fuente de Python en bytecodes tiene que generar un " +"código diferente para acceder a las variables de un ámbito contenedor. Los " +"códigos ``from module import *`` y ``exec`` hacen que el compilador no pueda " +"averiguar esto, porque añaden nombres al espacio de nombres local que son " +"desconocidos en tiempo de compilación. Por lo tanto, si una función contiene " +"definiciones de funciones o expresiones :keyword:`lambda` con variables " +"libres, el compilador lo señalará lanzando una excepción :exc:`SyntaxError`." #: ../Doc/whatsnew/2.2.rst:907 msgid "To make the preceding explanation a bit clearer, here's an example::" msgstr "" +"Para que la explicación anterior quede un poco más clara, he aquí un " +"ejemplo::" #: ../Doc/whatsnew/2.2.rst:916 msgid "" @@ -1292,6 +1593,9 @@ msgid "" "would define a new local variable named ``x`` whose value should be accessed " "by :func:`g`." msgstr "" +"La línea 4 que contiene la sentencia ``exec`` es un error de sintaxis, ya " +"que ``exec`` definiría una nueva variable local llamada ``x`` cuyo valor " +"debería ser accedido por :func:`g`." #: ../Doc/whatsnew/2.2.rst:920 msgid "" @@ -1299,18 +1603,21 @@ msgid "" "most Python code (and when it is used, it's often a sign of a poor design " "anyway)." msgstr "" +"Esto no debería ser una gran limitación, ya que ``exec`` rara vez se utiliza " +"en la mayoría del código de Python (y cuando se utiliza, a menudo es un " +"signo de un mal diseño de todos modos)." #: ../Doc/whatsnew/2.2.rst:927 msgid ":pep:`227` - Statically Nested Scopes" -msgstr "" +msgstr ":pep:`227` - Ámbitos anidados estáticamente" #: ../Doc/whatsnew/2.2.rst:928 msgid "Written and implemented by Jeremy Hylton." -msgstr "" +msgstr "Escrito e implementado por Jeremy Hylton." #: ../Doc/whatsnew/2.2.rst:934 msgid "New and Improved Modules" -msgstr "" +msgstr "Módulos nuevos y mejorados" #: ../Doc/whatsnew/2.2.rst:936 msgid "" @@ -1320,6 +1627,12 @@ msgid "" "example, the following snippet retrieves a list of RSS channels from the " "O'Reilly Network, and then lists the recent headlines for one channel::" msgstr "" +"El módulo :mod:`xmlrpclib` fue aportado a la biblioteca estándar por Fredrik " +"Lundh, proporcionando soporte para escribir clientes XML-RPC. XML-RPC es un " +"sencillo protocolo de llamada a procedimientos remotos construido sobre HTTP " +"y XML. Por ejemplo, el siguiente fragmento recupera una lista de canales RSS " +"de la red O'Reilly y, a continuación, muestra los titulares recientes de un " +"canal::" #: ../Doc/whatsnew/2.2.rst:959 msgid "" @@ -1327,12 +1640,17 @@ msgid "" "XML-RPC servers. See http://xmlrpc.scripting.com/ for more information " "about XML-RPC." msgstr "" +"El módulo :mod:`SimpleXMLRPCServer` facilita la creación de servidores XML-" +"RPC sencillos. Consulte http://xmlrpc.scripting.com/ para obtener más " +"información sobre XML-RPC." #: ../Doc/whatsnew/2.2.rst:962 msgid "" "The new :mod:`hmac` module implements the HMAC algorithm described by :rfc:" "`2104`. (Contributed by Gerhard Häring.)" msgstr "" +"El nuevo módulo :mod:`hmac` implementa el algoritmo HMAC descrito por :rfc:" +"`2104`. (Contribución de Gerhard Häring)" #: ../Doc/whatsnew/2.2.rst:965 msgid "" @@ -1343,6 +1661,12 @@ msgid "" "mod:`os` module, and :func:`localtime`, :func:`gmtime`, and :func:`strptime` " "in the :mod:`time` module." msgstr "" +"Varias funciones que originalmente retornaban tuplas largas ahora retornan " +"pseudo-secuencias que siguen comportándose como tuplas pero que también " +"tienen atributos mnemónicos como memberst_mtime o :attr:`tm_year`. Las " +"funciones mejoradas incluyen :func:`stat`, :func:`fstat`, :func:`statvfs` y :" +"func:`fstatvfs` en el módulo :mod:`os`, y :func:`localtime`, :func:`gmtime` " +"y :func:`strptime` en el módulo :mod:`time`." #: ../Doc/whatsnew/2.2.rst:972 msgid "" @@ -1351,10 +1675,14 @@ msgid "" "now this can be written more clearly as ``file_size = os.stat(filename)." "st_size``." msgstr "" +"Por ejemplo, para obtener el tamaño de un archivo utilizando las antiguas " +"tuplas, se terminaba escribiendo algo como ``tamaño_de_archivo = os." +"stat(nombre_de_archivo)[stat.ST_SIZE]``, pero ahora se puede escribir más " +"claramente como ``tamaño_de_archivo = os.stat(nombre_de_archivo).st_size``." #: ../Doc/whatsnew/2.2.rst:976 msgid "The original patch for this feature was contributed by Nick Mathewson." -msgstr "" +msgstr "El parche original para esta función fue aportado por Nick Mathewson." #: ../Doc/whatsnew/2.2.rst:978 msgid "" @@ -1362,6 +1690,9 @@ msgid "" "output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim " "Peters.)" msgstr "" +"El perfilador de Python ha sido ampliamente revisado y se han corregido " +"varios errores en su salida. (Contribución de Fred L. Drake, Jr. y Tim " +"Peters)" #: ../Doc/whatsnew/2.2.rst:981 msgid "" @@ -1369,6 +1700,9 @@ msgid "" "option:`!--enable-ipv6` option to Python's configure script. (Contributed " "by Jun-ichiro \"itojun\" Hagino.)" msgstr "" +"El módulo :mod:`socket` puede ser compilado para soportar IPv6; especifica " +"la opción :option:`!--enable-ipv6` al script configure de Python. " +"(Contribución de Jun-ichiro \"itojun\" Hagino)" #: ../Doc/whatsnew/2.2.rst:985 msgid "" @@ -1377,6 +1711,11 @@ msgid "" "for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is " "returned in Python's long integer type. (Contributed by Tim Peters.)" msgstr "" +"Se han añadido dos nuevos caracteres de formato al módulo :mod:`struct` para " +"enteros de 64 bits en plataformas que soportan el tipo C :c:type:`long " +"long`. ``q`` es para un entero de 64 bits con signo, y ``Q`` es para uno " +"sin signo. El valor se retorna en el tipo entero largo de Python. " +"(Contribuido por Tim Peters.)" #: ../Doc/whatsnew/2.2.rst:990 msgid "" @@ -1388,6 +1727,12 @@ msgid "" "their help text. (Contributed by Guido van Rossum, using Ka-Ping Yee's :mod:" "`pydoc` module.)" msgstr "" +"En el modo interactivo del intérprete, hay una nueva función incorporada :" +"func:`help` que utiliza el módulo :mod:`pydoc` introducido en Python 2.1 " +"para proporcionar ayuda interactiva. :func:`help` sin ningún argumento te " +"sitúa en una utilidad de ayuda online, donde puedes introducir los nombres " +"de las funciones, clases o módulos para leer su texto de ayuda. (Contribuido " +"por Guido van Rossum, usando el módulo :mod:`pydoc` de Ka-Ping Yee)" #: ../Doc/whatsnew/2.2.rst:998 msgid "" @@ -1399,6 +1744,14 @@ msgid "" "the non-overlapping matches in a given string. (SRE is maintained by " "Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)" msgstr "" +"Se han realizado varias correcciones de errores y mejoras de rendimiento en " +"el motor SRE subyacente al módulo :mod:`re`. Por ejemplo, las funciones :" +"func:`re.sub` y :func:`re.split` han sido reescritas en C. Otro parche " +"contribuido acelera ciertos rangos de caracteres Unicode por un factor de " +"dos, y un nuevo método :meth:`finditer` que retorna un iterador sobre todas " +"las coincidencias no superpuestas en una cadena dada. (El mantenimiento de " +"SRE corre a cargo de Fredrik Lundh. El parche BIGCHARSET fue aportado por " +"Martin von Löwis)" #: ../Doc/whatsnew/2.2.rst:1006 msgid "" @@ -1407,6 +1760,11 @@ msgid "" "program and the mail transport agent being handed a message. :mod:`smtplib` " "also supports SMTP authentication. (Contributed by Gerhard Häring.)" msgstr "" +"El módulo :mod:`smtplib` soporta ahora :rfc:`2487`, \"Secure SMTP over TLS" +"\", por lo que ahora es posible cifrar el tráfico SMTP entre un programa " +"Python y el agente de transporte de correo que recibe un mensaje. :mod:" +"`smtplib` también soporta la autenticación SMTP. (Contribución de Gerhard " +"Häring)" #: ../Doc/whatsnew/2.2.rst:1011 msgid "" @@ -1415,6 +1773,9 @@ msgid "" "SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel " "Pelletier.)" msgstr "" +"El módulo :mod:`imaplib`, mantenido por Piers Lauder, tiene soporte para " +"varias extensiones nuevas: la extensión NAMESPACE definida en :rfc:`2342`, " +"SORT, GETACL y SETACL. (Contribución de Anthony Baxter y Michel Pelletier)" #: ../Doc/whatsnew/2.2.rst:1015 msgid "" @@ -1424,6 +1785,12 @@ msgid "" "added for parsing and generating e-mail messages. (Contributed by Barry " "Warsaw, and arising out of his work on Mailman.)" msgstr "" +"El módulo :mod:`rfc822` que analiza las direcciones de correo electrónico " +"cumple ahora con :rfc:`2822`, una actualización de :rfc:`822`. (El nombre " +"del módulo *no* se va a cambiar a ``rfc2822``.) También se ha añadido un " +"nuevo paquete, :mod:`email`, para analizar y generar mensajes de correo " +"electrónico. (Contribuido por Barry Warsaw, y surgido de su trabajo en " +"Mailman)" #: ../Doc/whatsnew/2.2.rst:1021 msgid "" @@ -1435,6 +1802,13 @@ msgid "" "contributed by David Goodger, from ndiff.py code by Tim Peters who then did " "the generatorization.)" msgstr "" +"El módulo :mod:`difflib` contiene ahora una nueva clase :class:`Differ` para " +"producir listas legibles por humanos de cambios (un \"delta\") entre dos " +"secuencias de líneas de texto. También hay dos funciones generadoras, :func:" +"`ndiff` y :func:`restore`, que retornan respectivamente un delta de dos " +"secuencias, o una de las secuencias originales de un delta. (Trabajo de " +"gruñido contribuido por David Goodger, a partir del código ndiff.py de Tim " +"Peters que luego hizo la generización)" #: ../Doc/whatsnew/2.2.rst:1028 msgid "" @@ -1447,6 +1821,15 @@ msgid "" "fixed to use :const:`ascii_letters` instead. (Reported by an unknown person; " "fixed by Fred L. Drake, Jr.)" msgstr "" +"Se han añadido las nuevas constantes :const:`ascii_letters`, :const:" +"`ascii_lowercase` y :const:`ascii_uppercase` al módulo :mod:`string`. Había " +"varios módulos en la biblioteca estándar que utilizaban :const:`string." +"letters` para referirse a los rangos A-Za-z, pero esa suposición es " +"incorrecta cuando se utilizan locales, porque :const:`string.letters` varía " +"dependiendo del conjunto de caracteres legales definidos por el local " +"actual. Los módulos con errores se han corregido para que utilicen :const:" +"`ascii_letters` en su lugar. (Informado por una persona desconocida; " +"corregido por Fred L. Drake, Jr.)" #: ../Doc/whatsnew/2.2.rst:1037 msgid "" @@ -1454,6 +1837,10 @@ msgid "" "databases by the addition of a :class:`MimeTypes` class, which takes a list " "of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" msgstr "" +"El módulo :mod:`mimetypes` facilita ahora el uso de bases de datos de tipos " +"MIME alternativos mediante la adición de una clase :class:`MimeTypes`, que " +"toma una lista de nombres de archivo para ser analizados. (Contribución de " +"Fred L. Drake, Jr.)" #: ../Doc/whatsnew/2.2.rst:1041 msgid "" @@ -1461,10 +1848,13 @@ msgid "" "scheduling an activity to happen at some future time. (Contributed by " "Itamar Shtull-Trauring.)" msgstr "" +"Se ha añadido una clase :class:`Timer` al módulo :mod:`threading` que " +"permite programar una actividad para que ocurra en algún momento futuro. " +"(Contribución de Itamar Shtull-Trauring)" #: ../Doc/whatsnew/2.2.rst:1049 msgid "Interpreter Changes and Fixes" -msgstr "" +msgstr "Cambios y correcciones en el intérprete" #: ../Doc/whatsnew/2.2.rst:1051 msgid "" @@ -1474,6 +1864,11 @@ msgid "" "write Python code, none of the changes described here will affect you very " "much." msgstr "" +"Algunos de los cambios sólo afectan a la gente que trata con el intérprete " +"de Python a nivel de C porque están escribiendo módulos de extensión de " +"Python, incrustando el intérprete, o simplemente hackeando el propio " +"intérprete. Si sólo escribes código Python, ninguno de los cambios descritos " +"aquí te afectará mucho." #: ../Doc/whatsnew/2.2.rst:1056 msgid "" @@ -1486,6 +1881,15 @@ msgid "" "exist, and have simply been changed to use the new C-level interface. " "(Contributed by Fred L. Drake, Jr.)" msgstr "" +"Las funciones de perfilado y rastreo pueden implementarse ahora en C, que " +"puede operar a velocidades mucho mayores que las funciones basadas en Python " +"y debería reducir la sobrecarga de perfilado y rastreo. Esto será de " +"interés para los autores de entornos de desarrollo para Python. Se han " +"añadido dos nuevas funciones en C a la API de Python, :c:func:" +"`PyEval_SetProfile` y :c:func:`PyEval_SetTrace`. Las funciones :func:`sys." +"setprofile` y :func:`sys.settrace` existentes siguen existiendo, y " +"simplemente se han cambiado para utilizar la nueva interfaz de nivel C. " +"(Contribución de Fred L. Drake, Jr.)" #: ../Doc/whatsnew/2.2.rst:1065 msgid "" @@ -1497,6 +1901,13 @@ msgid "" "looping over all the thread states for a given interpreter. (Contributed by " "David Beazley.)" msgstr "" +"Se ha añadido otra API de bajo nivel, principalmente de interés para los " +"implementadores de depuradores y herramientas de desarrollo de Python. :c:" +"func:`PyInterpreterState_Head` y :c:func:`PyInterpreterState_Next` permiten " +"al usuario recorrer todos los objetos intérpretes existentes; :c:func:" +"`PyInterpreterState_ThreadHead` y :c:func:`PyThreadState_Next` permiten " +"recorrer todos los estados de los hilos de un intérprete dado. " +"(Contribución de David Beazley)" #: ../Doc/whatsnew/2.2.rst:1072 msgid "" @@ -1508,41 +1919,57 @@ msgid "" "collection, so updating them for 2.2 should be considered fairly high " "priority." msgstr "" +"La interfaz a nivel de C para el recolector de basura ha sido cambiada para " +"facilitar la escritura de tipos de extensión que soporten la recolección de " +"basura y para depurar los malos usos de las funciones. Varias funciones " +"tienen una semántica ligeramente diferente, por lo que hubo que cambiar el " +"nombre de un montón de funciones. Las extensiones que utilizan la antigua " +"API seguirán compilando pero *no* participarán en la recolección de basura, " +"por lo que actualizarlas para la 2.2 debería considerarse de alta prioridad." #: ../Doc/whatsnew/2.2.rst:1079 msgid "" "To upgrade an extension module to the new API, perform the following steps:" msgstr "" +"Para actualizar un módulo de extensión a la nueva API, realice los " +"siguientes pasos:" #: ../Doc/whatsnew/2.2.rst:1081 msgid "Rename :c:func:`Py_TPFLAGS_GC` to :c:func:`PyTPFLAGS_HAVE_GC`." msgstr "" +"Cambia el nombre de :c:func:`Py_TPFLAGS_GC` a :c:func:`PyTPFLAGS_HAVE_GC`." #: ../Doc/whatsnew/2.2.rst:1084 msgid "" "Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate" msgstr "" +"Utilice :c:func:`PyObject_GC_New` o :c:func:`PyObject_GC_NewVar` para asignar" #: ../Doc/whatsnew/2.2.rst:1084 msgid "objects, and :c:func:`PyObject_GC_Del` to deallocate them." -msgstr "" +msgstr "objetos, y :c:func:`PyObject_GC_Del` para desocuparlos." #: ../Doc/whatsnew/2.2.rst:1087 msgid "Rename :c:func:`PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and" msgstr "" +"Cambiar el nombre de :c:func:`PyObject_GC_Init` a :c:func:" +"`PyObject_GC_Track` y" #: ../Doc/whatsnew/2.2.rst:1087 msgid ":c:func:`PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." -msgstr "" +msgstr ":c:func:`PyObject_GC_Fini` a :c:func:`PyObject_GC_UnTrack`." #: ../Doc/whatsnew/2.2.rst:1089 msgid "Remove :c:func:`PyGC_HEAD_SIZE` from object size calculations." msgstr "" +"Eliminar :c:func:`PyGC_HEAD_SIZE` del cálculo del tamaño de los objetos." #: ../Doc/whatsnew/2.2.rst:1091 msgid "" "Remove calls to :c:func:`PyObject_AS_GC` and :c:func:`PyObject_FROM_GC`." msgstr "" +"Eliminar las llamadas a :c:func:`PyObject_AS_GC` y :c:func:" +"`PyObject_FROM_GC`." #: ../Doc/whatsnew/2.2.rst:1093 msgid "" @@ -1555,6 +1982,15 @@ msgid "" "converts them to the specified new encoding. (Contributed by M.-A. Lemburg, " "and used for the MBCS support on Windows described in the following section.)" msgstr "" +"Se ha añadido una nueva secuencia de formato ``et`` a :c:func:" +"`PyArg_ParseTuple`; ``et`` toma tanto un parámetro como un nombre de " +"codificación, y convierte el parámetro a la codificación dada si el " +"parámetro resulta ser una cadena Unicode, o lo deja solo si es una cadena de " +"8 bits, asumiendo que ya está en la codificación deseada. Esto difiere del " +"carácter de formato ``es``, que asume que las cadenas de 8 bits están en la " +"codificación ASCII por defecto de Python y las convierte a la nueva " +"codificación especificada. (Contribuido por M.-A. Lemburg, y utilizado para " +"el soporte de MBCS en Windows descrito en la siguiente sección)" #: ../Doc/whatsnew/2.2.rst:1102 msgid "" @@ -1564,6 +2000,12 @@ msgid "" "expected, and a set of pointers to :c:type:`PyObject\\*` variables that will " "be filled in with argument values." msgstr "" +"Se ha añadido una función de análisis de argumentos diferente, :c:func:" +"`PyArg_UnpackTuple`, que es más sencilla y presumiblemente más rápida. En " +"lugar de especificar una cadena de formato, la persona que llama simplemente " +"da el número mínimo y máximo de argumentos esperados, y un conjunto de " +"punteros a variables :c:type:`PyObject\\*` que se rellenarán con los valores " +"de los argumentos." #: ../Doc/whatsnew/2.2.rst:1108 msgid "" @@ -1574,6 +2016,13 @@ msgid "" "`METH_VARARGS`. Also, the old :const:`METH_OLDARGS` style of writing C " "methods is now officially deprecated." msgstr "" +"Dos nuevos indicadores :const:`METH_NOARGS` y :const:`METH_O` están " +"disponibles en las tablas de definición de métodos para simplificar la " +"implementación de métodos sin argumentos o con un único argumento no tipado. " +"Llamar a estos métodos es más eficiente que llamar a un método " +"correspondiente que utilice :const:`METH_VARARGS`. Además, el antiguo " +"estilo :const:`METH_OLDARGS` de escribir métodos en C está oficialmente en " +"desuso." #: ../Doc/whatsnew/2.2.rst:1114 msgid "" @@ -1584,6 +2033,13 @@ msgid "" "the Python versions check the bounds of the buffer used to protect against " "buffer overruns. (Contributed by M.-A. Lemburg.)" msgstr "" +"Se han añadido dos nuevas funciones de envoltura, :c:func:`PyOS_snprintf` y :" +"c:func:`PyOS_vsnprintf` para proporcionar implementaciones multiplataforma " +"para las relativamente nuevas APIs de la biblioteca C :c:func:`snprintf` y :" +"c:func:`vsnprintf`. A diferencia de las funciones estándar :c:func:`sprintf` " +"y :c:func:`vsprintf`, las versiones de Python comprueban los límites del " +"búfer utilizado para protegerse de los desbordamientos del mismo. " +"(Contribución de M.-A. Lemburg.)" #: ../Doc/whatsnew/2.2.rst:1121 msgid "" @@ -1592,10 +2048,14 @@ msgid "" "can simply be discarded when porting code from earlier versions to Python " "2.2." msgstr "" +"La función :c:func:`_PyTuple_Resize` ha perdido un parámetro que no se " +"utilizaba, por lo que ahora toma 2 parámetros en lugar de 3. El tercer " +"argumento nunca se utilizaba, y puede descartarse simplemente al portar el " +"código de versiones anteriores a Python 2.2." #: ../Doc/whatsnew/2.2.rst:1129 msgid "Other Changes and Fixes" -msgstr "" +msgstr "Otros cambios y correcciones" #: ../Doc/whatsnew/2.2.rst:1131 msgid "" @@ -1605,10 +2065,16 @@ msgid "" "2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches " "and fixed 82 bugs. These figures are likely to be underestimates." msgstr "" +"Como es habitual, hubo un montón de otras mejoras y correcciones de errores " +"repartidas por todo el árbol de fuentes. Una búsqueda en los registros de " +"cambios de CVS revela que se aplicaron 527 parches y se corrigieron 683 " +"errores entre Python 2.1 y 2.2; en 2.2.1 se aplicaron 139 parches y se " +"corrigieron 143 errores; en 2.2.2 se aplicaron 106 parches y se corrigieron " +"82 errores. Es probable que estas cifras estén subestimadas." #: ../Doc/whatsnew/2.2.rst:1137 msgid "Some of the more notable changes are:" -msgstr "" +msgstr "Algunos de los cambios más notables son:" #: ../Doc/whatsnew/2.2.rst:1139 msgid "" @@ -1616,6 +2082,9 @@ msgid "" "kept in the main Python CVS tree, and many changes have been made to support " "MacOS X." msgstr "" +"El código del puerto MacOS para Python, mantenido por Jack Jansen, se " +"mantiene ahora en el árbol CVS principal de Python, y se han realizado " +"muchos cambios para soportar MacOS X." #: ../Doc/whatsnew/2.2.rst:1142 msgid "" @@ -1630,6 +2099,16 @@ msgid "" "application, porting the MacPython IDE, possibly using Python as a standard " "OSA scripting language and much more.\"" msgstr "" +"El cambio más significativo es la capacidad de construir Python como un " +"marco de trabajo, que se activa proporcionando la opción :option:`!--enable-" +"framework` al script de configuración cuando se compila Python. Según Jack " +"Jansen, \"Esto instala una instalación autónoma de Python más el \"pegamento" +"\" del framework de OS X en :file:`/Library/Frameworks/Python.framework` (o " +"en otra ubicación de su elección). Por ahora hay poco beneficio inmediato " +"añadido a esto (en realidad, existe la desventaja de que tienes que cambiar " +"tu PATH para poder encontrar Python), pero es la base para crear una " +"aplicación Python completa, portar el IDE de MacPython, posiblemente usar " +"Python como un lenguaje de scripting estándar de OSA y mucho más.\"" #: ../Doc/whatsnew/2.2.rst:1153 msgid "" @@ -1638,6 +2117,11 @@ msgid "" "been left commented out in :file:`setup.py`. People who want to experiment " "with these modules can uncomment them manually." msgstr "" +"La mayoría de los módulos de la caja de herramientas de MacPython, que " +"interactúan con las APIs de MacOS como ventanas, QuickTime, scripts, etc. " +"han sido portados a OS X, pero se han dejado comentados en :file:`setup." +"py`. Las personas que quieran experimentar con estos módulos pueden " +"descomentarlos manualmente." #: ../Doc/whatsnew/2.2.rst:1176 msgid "" @@ -1645,6 +2129,9 @@ msgid "" "cause a :exc:`TypeError` exception to be raised, with the message " "\"*function* takes no keyword arguments\"." msgstr "" +"Los argumentos de palabras clave pasados a funciones incorporadas que no los " +"aceptan ahora provocan una excepción :exc:`TypeError`, con el mensaje " +"\"*function* no acepta argumentos de palabras clave\"." #: ../Doc/whatsnew/2.2.rst:1180 msgid "" @@ -1653,6 +2140,11 @@ msgid "" "The :exc:`ReferenceError` exception has therefore moved from the :mod:" "`weakref` module to become a built-in exception." msgstr "" +"Las referencias débiles, añadidas en Python 2.1 como un módulo de extensión, " +"son ahora parte del núcleo porque se utilizan en la implementación de clases " +"de nuevo estilo. Por lo tanto, la excepción :exc:`ReferenceError` se ha " +"movido del módulo :mod:`weakref` para convertirse en una excepción " +"incorporada." #: ../Doc/whatsnew/2.2.rst:1185 msgid "" @@ -1660,6 +2152,9 @@ msgid "" "automatically removes obsolete ``__future__`` statements from Python source " "code." msgstr "" +"Un nuevo script, :file:`Tools/scripts/cleanfuture.py` de Tim Peters, elimina " +"automáticamente las sentencias ``__future__`` obsoletas del código fuente de " +"Python." #: ../Doc/whatsnew/2.2.rst:1189 msgid "" @@ -1669,6 +2164,11 @@ msgid "" "other development environments. This is described in :pep:`264`. " "(Contributed by Michael Hudson.)" msgstr "" +"Se ha añadido un argumento adicional *flags* a la función incorporada :func:" +"`compile`, por lo que el comportamiento de las sentencias ``__future__`` " +"puede ahora observarse correctamente en shells simulados, como los " +"presentados por IDLE y otros entornos de desarrollo. Esto se describe en :" +"pep:`264`. (Contribución de Michael Hudson)" #: ../Doc/whatsnew/2.2.rst:1195 msgid "" @@ -1679,6 +2179,13 @@ msgid "" "BSD license, same as it always was. The license changes were also applied " "to the Python 2.0.1 and 2.1.1 releases." msgstr "" +"La nueva licencia introducida con Python 1.6 no era compatible con la GPL. " +"Esto se ha solucionado con algunos cambios textuales menores en la licencia " +"2.2, de modo que ahora es legal volver a incrustar Python dentro de un " +"programa con licencia GPL. Tenga en cuenta que Python en sí mismo no es " +"GPL, sino que está bajo una licencia que es esencialmente equivalente a la " +"licencia BSD, igual que siempre. Los cambios en la licencia también se " +"aplicaron a las versiones 2.0.1 y 2.1.1 de Python." #: ../Doc/whatsnew/2.2.rst:1202 msgid "" @@ -1690,17 +2197,29 @@ msgid "" "was contributed by Mark Hammond with assistance from Marc-André Lemburg. " "Unix support was added by Martin von Löwis.)" msgstr "" +"Cuando se presenta un nombre de archivo Unicode en Windows, Python ahora lo " +"convertirá en una cadena codificada en MBCS, como la que utilizan las APIs " +"de archivos de Microsoft. Como las APIs de archivos utilizan explícitamente " +"MBCS, la elección de Python de ASCII como codificación por defecto resulta " +"ser una molestia. En Unix, se utiliza el juego de caracteres de la " +"localización si ``locale.nl_langinfo(CODESET)`` está disponible. (El " +"soporte de Windows fue contribuido por Mark Hammond con la ayuda de Marc-" +"André Lemburg. El soporte para Unix fue añadido por Martin von Löwis)" #: ../Doc/whatsnew/2.2.rst:1210 msgid "" "Large file support is now enabled on Windows. (Contributed by Tim Peters.)" msgstr "" +"La compatibilidad con archivos de gran tamaño ya está activada en Windows. " +"(Contribución de Tim Peters.)" #: ../Doc/whatsnew/2.2.rst:1212 msgid "" "The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` " "file, if you have one. (Contributed by Mike Romberg.)" msgstr "" +"El script :file:`Tools/scripts/ftpmirror.py` ahora analiza un archivo :file:" +"`.netrc`, si tiene uno. (Contribución de Mike Romberg)" #: ../Doc/whatsnew/2.2.rst:1215 msgid "" @@ -1713,6 +2232,15 @@ msgid "" "attributes are also being deprecated. At the C level, the fourth argument " "to the :c:func:`PyRange_New` function, ``repeat``, has also been deprecated." msgstr "" +"Algunas características del objeto retornado por la función :func:`xrange` " +"están ahora obsoletas, y provocan advertencias cuando se accede a ellas; " +"desaparecerán en Python 2.3. Los objetos :class:`xrange` intentaban fingir " +"que eran tipos de secuencia completos soportando el troceado, la " +"multiplicación de secuencias y el operador :keyword:`in`, pero estas " +"características se utilizaban raramente y, por lo tanto, tenían errores. El " +"método :meth:`tolist` y los atributos :attr:`start`, :attr:`stop` y :attr:" +"`step` también han quedado obsoletos. A nivel de C, el cuarto argumento de " +"la función :c:func:`PyRange_New`, ``repeat``, también ha quedado obsoleto." #: ../Doc/whatsnew/2.2.rst:1224 msgid "" @@ -1723,6 +2251,12 @@ msgid "" "case that dumped core, Tim Peters fixing the bug, Michael finding another " "case, and round and round it went." msgstr "" +"Hubo un montón de parches para la implementación del diccionario, sobre todo " +"para arreglar posibles vertidos del núcleo si un diccionario contiene " +"objetos que cambian furtivamente su valor hash, o mutan el diccionario que " +"contienen. Durante un tiempo python-dev cayó en un suave ritmo de Michael " +"Hudson encontrando un caso que volcaba el núcleo, Tim Peters corrigiendo el " +"error, Michael encontrando otro caso, y así sucesivamente." #: ../Doc/whatsnew/2.2.rst:1231 msgid "" @@ -1730,6 +2264,9 @@ msgid "" "patches contributed by Stephen Hansen, though the result isn't fully " "functional yet. (But this *is* progress...)" msgstr "" +"En Windows, Python puede ahora compilarse con Borland C gracias a una serie " +"de parches aportados por Stephen Hansen, aunque el resultado aún no es " +"totalmente funcional. (Pero esto *es* un progreso...)" #: ../Doc/whatsnew/2.2.rst:1235 msgid "" @@ -1738,6 +2275,10 @@ msgid "" "installers used Wise 5.0a, which was beginning to show its age. (Packaged " "up by Tim Peters.)" msgstr "" +"Otra mejora de Windows: Wise Solutions ofreció generosamente a PythonLabs el " +"uso de su sistema InstallerMaster 8.1. Los anteriores instaladores de " +"PythonLabs para Windows utilizaban Wise 5.0a, que estaba empezando a mostrar " +"su edad. (Empaquetado por Tim Peters)" #: ../Doc/whatsnew/2.2.rst:1239 msgid "" @@ -1748,6 +2289,12 @@ msgid "" "such scripts, in case they're also usable as modules. (Implemented by David " "Bolen.)" msgstr "" +"Los archivos que terminan en ``.pyw`` pueden importarse ahora en Windows. ``." +"pyw`` es algo exclusivo de Windows, que se utiliza para indicar que un " +"script debe ejecutarse utilizando PYTHONW.EXE en lugar de PYTHON.EXE para " +"evitar que aparezca una consola DOS para mostrar la salida. Este parche " +"hace posible la importación de tales scripts, en caso de que también se " +"puedan utilizar como módulos. (Implementado por David Bolen)" #: ../Doc/whatsnew/2.2.rst:1245 msgid "" @@ -1756,6 +2303,10 @@ msgid "" "`dlopen` using the :func:`sys.getdlopenflags` and :func:`sys.setdlopenflags` " "functions. (Contributed by Bram Stolk.)" msgstr "" +"En las plataformas en las que Python utiliza la función C :c:func:`dlopen` " +"para cargar módulos de extensión, ahora es posible establecer las banderas " +"utilizadas por :c:func:`dlopen` utilizando las funciones :func:`sys." +"getdlopenflags` y :func:`sys.setdlopenflags`. (Contribución de Bram Stolk.)" #: ../Doc/whatsnew/2.2.rst:1250 msgid "" @@ -1765,10 +2316,15 @@ msgid "" "result varies unpredictably depending on the platform. A call such as " "``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception." msgstr "" +"La función incorporada :func:`pow` ya no admite 3 argumentos cuando se " +"suministran números de punto flotante. ``pow(x, y, z)`` retorna ``(x**y) % " +"z``, pero esto nunca es útil para números de punto flotante, y el resultado " +"final varía de forma impredecible dependiendo de la plataforma. Una llamada " +"como ``pow(2.0, 8.0, 7.0)`` lanzará ahora una excepción :exc:`TypeError`." #: ../Doc/whatsnew/2.2.rst:1260 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.2.rst:1262 msgid "" @@ -1781,3 +2337,11 @@ msgid "" "Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van " "Rossum, Greg Ward, Edward Welbourne." msgstr "" +"El autor desea agradecer a las siguientes personas sus sugerencias, " +"correcciones y ayuda en varios borradores de este artículo: Fred Bremmer, " +"Keith Briggs, Andrew Dalke, Fred L. Drake, Jr, Carel Fellinger, David " +"Goodger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack Jansen, Marc-" +"André Lemburg, Martin von Löwis, Fredrik Lundh, Michael McLay, Nick " +"Mathewson, Paul Moore, Gustavo Niemeyer, Don O'Donnell, Joonas Paalasma, Tim " +"Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van Rossum, Greg " +"Ward, Edward Welbourne." From c7064e949eaf53e9069cb3bfbf6c10dfdd72f62d Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 17 Aug 2021 17:26:48 +0800 Subject: [PATCH 57/94] Traduce entradas en library/shutil.po (#1344) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Este commit incluye la traudcción de las entradas faltantes en shutil, además de arreglar las entradas que estaban marcadas como fuzzy, y corregir un par de errores pequeños de traducción. Signed-off-by: Rodrigo Tobar --- library/shutil.po | 68 ++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/library/shutil.po b/library/shutil.po index 1be3cec0f2..08b5d9f158 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\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" +"PO-Revision-Date: 2021-08-17 10:12+0800\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.4.2\n" #: ../Doc/library/shutil.rst:2 msgid ":mod:`shutil` --- High-level file operations" @@ -163,7 +164,7 @@ msgid "" "the file more efficiently. See :ref:`shutil-platform-dependent-efficient-" "copy-operations` section." msgstr "" -"Los llamadas al sistema de copia rápida específicos de la plataforma se " +"Las llamadas a sistema de copia rápida específicas de la plataforma se " "pueden usar internamente para copiar el archivo de manera más eficiente. " "Véase la sección :ref:`shutil-platform-dependent-efficient-copy-operations`." @@ -301,7 +302,6 @@ 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 :term:`path-like objects ` or strings. If *dst* " @@ -309,9 +309,10 @@ msgid "" "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 " -"archivo será copiado en *dst* usando el nombre de archivo base de *src*. " -"Retorna la ruta del archivo recién creado." +"ser :term:`objetos tipo ruta ` o cadenas de caracteres " +"(*strings*). Si *dst* especifica un directorio, el archivo será copiado en " +"*dst* usando el nombre de archivo base de *src*. Retorna la ruta del archivo " +"recién creado." #: ../Doc/library/shutil.rst:165 msgid "" @@ -639,7 +640,6 @@ 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 *dst* if :func:`os." @@ -680,9 +680,9 @@ msgid "Added the *copy_function* keyword argument." msgstr "Se agregó el argumento de keyword *copy_function*." #: ../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*." +msgstr "" +"Acepta un :term:`objeto tipo ruta ` como *src* y *dst*." #: ../Doc/library/shutil.rst:379 msgid "" @@ -797,7 +797,6 @@ msgid "Platform-dependent efficient copy operations" msgstr "Operaciones de copia eficientes dependientes de la plataforma" #: ../Doc/library/shutil.rst:446 -#, fuzzy msgid "" "Starting from Python 3.8, all functions involving a file copy (:func:" "`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, and :func:" @@ -808,16 +807,16 @@ msgid "" 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 :" -"func:`move`) puede usar llamadas al sistema \"copia rápida\" para poder " -"copiar el archivo de forma más eficiente (véase :issue:`33671`). \"copia " -"rápida\" significa que la operación de copia ocurre dentro del núcleo, " -"evitando el uso de búferes de espacio de usuario en Python como en \"``outfd." -"write(infd.read())``\"." +"func:`move`) puede usar llamadas a sistema de \"copia rápida\" específicas a " +"cada plataforma para poder copiar el archivo de forma más eficiente (véase :" +"issue:`33671`). \"copia rápida\" significa que la operación de copia ocurre " +"dentro del núcleo, evitando el uso de búferes en espacio de usuario en " +"Python como en \"``outfd.write(infd.read())``\"." #: ../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 " +"En macOS, se usa `fcopyfile`_ para copiar el contenido del archivo (pero no " "los metadatos)." #: ../Doc/library/shutil.rst:456 @@ -928,27 +927,27 @@ msgstr "" "módulo :mod:`bz2` está disponible), o \"xztar\" (si el módulo :mod:`lzma`)." #: ../Doc/library/shutil.rst:573 -#, fuzzy msgid "" "*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." +"*root_dir* es un directorio que será el directorio raíz del archivo, todas " +"las rutas en el archivo serán relativas a él; por ejemplo, típicamente nos " +"cambiaremos de directorio (*chdir*) a *root_dir* antes de crear el archivo." #: ../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. " "*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." +"*base_dir* es el directorio desde donde iniciamos el archivado; i.e, " +"*base_dir* será el prefijo común para todos los archivos y directorios en el " +"archivo. *base_dir* debe ser dado de forma relativa a *root_dir*. En :ref:" +"`shutil-archiving-example-with-basedir` se ve un ejemplo de cómo usar " +"*base_dir* y *root_dir* juntos." #: ../Doc/library/shutil.rst:583 msgid "*root_dir* and *base_dir* both default to the current directory." @@ -1018,7 +1017,7 @@ msgstr "*zip*: archivo ZIP (si el módulo :mod:`zlib` está disponible)." 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 " +"*tar*: archivo tar sin comprimir. Utiliza el formato pax POSIX.1-2001 para " "archivos nuevos." #: ../Doc/library/shutil.rst:612 ../Doc/library/shutil.rst:695 @@ -1213,9 +1212,8 @@ msgid "The resulting archive contains:" msgstr "El archivo resultante contiene:" #: ../Doc/library/shutil.rst:736 -#, fuzzy msgid "Archiving example with *base_dir*" -msgstr "Ejemplo de archivado" +msgstr "Ejemplo de archivado con *base_dir*" #: ../Doc/library/shutil.rst:738 msgid "" @@ -1223,16 +1221,21 @@ msgid "" "show how to use :func:`make_archive`, but this time with the usage of " "*base_dir*. We now have the following directory structure:" msgstr "" +"En este ejemplo, similar al `de arriba `_, " +"mostramos cómo usar :func:`make_archive`, pero esta vez utilizando " +"*base_dir*. Ahora tenemos la siguiente estructura de directorios:" #: ../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 "" +"En el archivo final, :file:`please_add.txt` debería estar incluido, pero :" +"file:`do_not_add.txt` no. Por lo tanto usamos lo siguiente::" #: ../Doc/library/shutil.rst:766 msgid "Listing the files in the resulting archive gives us:" -msgstr "" +msgstr "Listando los archivos en el archivo resultante nos da:" #: ../Doc/library/shutil.rst:776 msgid "Querying the size of the output terminal" @@ -1258,7 +1261,7 @@ msgid "" "terminal connected to :data:`sys.__stdout__` is queried by invoking :func:" "`os.get_terminal_size`." msgstr "" -"Cuando `COLUMNS`` o ``LINES`` no está definido, como suele ocurrir, la " +"Cuando ``COLUMNS`` o ``LINES`` no está definido, como suele ocurrir, la " "terminal conectada a :data:`sys.__stdout__` se consulta invocando :func:`os." "get_terminal_size`." @@ -1283,10 +1286,9 @@ msgstr "" "terminal_size`." #: ../Doc/library/shutil.rst:798 -#, fuzzy msgid "" "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`_." +"Ver también: *The Single UNIX Specification*, Versión 2, `Other Environment " +"Variables`_." From 4bde92ef5d3e16626dce794f594479fc73638a1f Mon Sep 17 00:00:00 2001 From: rtobar Date: Thu, 19 Aug 2021 06:25:33 +0800 Subject: [PATCH 58/94] Traduce entradas faltantes en library/math.po (#1342) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduce entradas faltantes en library/math.po * Aplica cambios sugeridos durante la revisión * Arregla traducción faltante Signed-off-by: Rodrigo Tobar --- library/math.po | 73 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 24 deletions(-) diff --git a/library/math.po b/library/math.po index 1916581752..642c5e9c57 100644 --- a/library/math.po +++ b/library/math.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-17 19:44+0200\n" +"PO-Revision-Date: 2021-08-18 09:42+0800\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" +"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.2\n" #: ../Doc/library/math.rst:2 msgid ":mod:`math` --- Mathematical functions" @@ -136,7 +137,7 @@ msgstr "" #: ../Doc/library/math.rst:74 msgid "Accepting floats with integral values (like ``5.0``) is deprecated." -msgstr "" +msgstr "Aceptar flotantes con valores integrales (como ``5.0``) está obsoleto." #: ../Doc/library/math.rst:80 msgid "" @@ -234,15 +235,19 @@ msgid "" "zero, then the returned value is ``0``. ``gcd()`` without arguments returns " "``0``." msgstr "" +"Retorna el máximo común divisor de los argumentos enteros. Si cualquiera de " +"los argumentos no es cero, entonces el valor retornado es el entero positivo " +"más grande que divide a todos los argumentos. Si todos los argumentos son " +"cero, entonces el valor retornado es ``0``. ``gcd()`` sin argumentos retorna " +"``0``." #: ../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." +"Agregado soporte para un número arbitrario de argumentos. Anteriormente sólo " +"se soportaba dos argumentos." #: ../Doc/library/math.rst:146 msgid "" @@ -360,6 +365,11 @@ msgid "" "zero, then the returned value is ``0``. ``lcm()`` without arguments returns " "``1``." msgstr "" +"Retorna el mínimo común múltiplo de los argumentos enteros. Si todos los " +"argumentos no son cero, entonces el valor retornado es el entero positivo " +"más pequeño que es un múltiplo de todos los argumentos. Si cualquiera de los " +"argumentos es cero, entonces el valor retornado es ``0``. ``lcm()`` sin " +"argumentos retorna ``1``." #: ../Doc/library/math.rst:222 msgid "" @@ -380,34 +390,35 @@ msgstr "" #: ../Doc/library/math.rst:234 msgid "Return the next floating-point value after *x* towards *y*." msgstr "" +"Retorna el siguiente valor flotante después de *x* en la dirección de *y*." #: ../Doc/library/math.rst:236 msgid "If *x* is equal to *y*, return *y*." -msgstr "" +msgstr "Si *x* es igual a *y*, retorna *y*." #: ../Doc/library/math.rst:238 msgid "Examples:" -msgstr "" +msgstr "Ejemplos:" #: ../Doc/library/math.rst:240 msgid "``math.nextafter(x, math.inf)`` goes up: towards positive infinity." -msgstr "" +msgstr "``math.nextafter(x, math.inf)`` va hacia el infinito positivo." #: ../Doc/library/math.rst:241 msgid "``math.nextafter(x, -math.inf)`` goes down: towards minus infinity." -msgstr "" +msgstr "``math.nextafter(x, -math.inf)`` va hacia el infinito negativo." #: ../Doc/library/math.rst:242 msgid "``math.nextafter(x, 0.0)`` goes towards zero." -msgstr "" +msgstr "``math.nextafter(x, 0.0)`` va hacia cero." #: ../Doc/library/math.rst:243 msgid "``math.nextafter(x, math.copysign(math.inf, x))`` goes away from zero." -msgstr "" +msgstr "``math.nextafter(x, math.copysign(math.inf, x))`` se aleja de cero." #: ../Doc/library/math.rst:245 msgid "See also :func:`math.ulp`." -msgstr "" +msgstr "Ver también :func:`math.ulp`." #: ../Doc/library/math.rst:251 msgid "" @@ -502,19 +513,19 @@ msgstr "" #: ../Doc/library/math.rst:307 msgid "Return the value of the least significant bit of the float *x*:" -msgstr "" +msgstr "Retorna el valor del bit menos significativo del flotante *x*:" #: ../Doc/library/math.rst:309 msgid "If *x* is a NaN (not a number), return *x*." -msgstr "" +msgstr "Si *x* es un NaN (*not a number*), retorna *x*." #: ../Doc/library/math.rst:310 msgid "If *x* is negative, return ``ulp(-x)``." -msgstr "" +msgstr "Si *x* es negativo, retorna ``ulp(-x)``." #: ../Doc/library/math.rst:311 msgid "If *x* is a positive infinity, return *x*." -msgstr "" +msgstr "Si *x* es un infinito positivo, retorna *x*." #: ../Doc/library/math.rst:312 msgid "" @@ -522,6 +533,9 @@ msgid "" "representable float (smaller than the minimum positive *normalized* float, :" "data:`sys.float_info.min `)." msgstr "" +"Si *x* es igual a cero, retorna el flotante representable *desnormalizado* " +"positivo más pequeño (menor que el flotante *normalizado* positivo mínimo, :" +"data:`sys.float_info.min `)." #: ../Doc/library/math.rst:315 msgid "" @@ -529,6 +543,9 @@ msgid "" "value of the least significant bit of *x*, such that the first float smaller " "than *x* is ``x - ulp(x)``." msgstr "" +"Si *x* es igual al flotante representable positivo más pequeño, retorna el " +"bit menos significativo de *x*, de tal manera que el primer flotante menor " +"que *x* es ``x - ulp(x)``." #: ../Doc/library/math.rst:318 msgid "" @@ -536,16 +553,21 @@ msgid "" "significant bit of *x*, such that the first float bigger than *x* is ``x + " "ulp(x)``." msgstr "" +"De lo contrario (*x* es un número finito positivo), retorna el valor del bit " +"menos significativo de *x* , de tal forma que el primer flotante mayor a *x* " +"es ``x + ulp(x)``." #: ../Doc/library/math.rst:322 msgid "ULP stands for \"Unit in the Last Place\"." -msgstr "" +msgstr "ULP significa *Unit in the Last Place* (unidad en el último lugar)." #: ../Doc/library/math.rst:324 msgid "" "See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." msgstr "" +"Ver también :func:`math.nextafter` y :data:`sys.float_info.epsilon `." #: ../Doc/library/math.rst:330 msgid "" @@ -680,25 +702,28 @@ msgid "Trigonometric functions" msgstr "Funciones trigonométricas" #: ../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." +msgstr "" +"Retorna el arcocoseno de *x*, en radianes. El resultado está entre ``0`` y " +"``pi``." #: ../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." +msgstr "" +"Retorna el arcoseno de *x*, en radianes. El resultado está entre ``-pi/2`` y " +"``pi/2``." #: ../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." +msgstr "" +"Retorna la arcotangente de *x*, en radianes. El resultado está entre ``-" +"pi/2`` y ``pi/2``." #: ../Doc/library/math.rst:444 msgid "" From 4167db987479777f63cfd2f43ec4766f8bae860a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Salgado=20Banda?= <49181840+josephLSalgado@users.noreply.github.com> Date: Thu, 19 Aug 2021 03:36:13 -0500 Subject: [PATCH 59/94] Traducido archivo whatsnew/3.5 (#1126) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido archivo whatsnew/3.5 * Nuevas características (1 de 2) * Cambiada la traducción a pasiva refleja * Nuevas características (2 de 2) * Otros cambios en el lenguaje y nuevos módulos * Módulos mejorados (1 de 5) * Actualizado dictionaries/whatsnew_3.5 * Corregidas las referencias de términos inconsistentes * Módulos mejorados (2 de 5) * Actualizado dictionaries/whatsnew_3.5 * Módulos mejorados (3 de 5) * Módulos mejorados (4 de 5) * Módulos mejorados (5 de 5) * Otros cambios a nivel de módulo - Cambios en la compilación y la API de C * Obsoleto - Cambios notables en Python 3.5.4 * adding words to dictionary * Cambiando devolver -> retornar Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes --- dictionaries/whatsnew_3.5.txt | 140 +++ whatsnew/3.5.po | 1653 +++++++++++++++++++++++++++++---- 2 files changed, 1608 insertions(+), 185 deletions(-) create mode 100644 dictionaries/whatsnew_3.5.txt diff --git a/dictionaries/whatsnew_3.5.txt b/dictionaries/whatsnew_3.5.txt new file mode 100644 index 0000000000..176908e00a --- /dev/null +++ b/dictionaries/whatsnew_3.5.txt @@ -0,0 +1,140 @@ +Joiner +Oberkirch +Welbourne +Landau +scandir +Paugh +Sionneau +Korenberg +Girdhar +select +Sinclair +sometype +autoconsistente +Creation +pregeneradas +Abhilash +Akira +Akshit +Alexey +Aneche +Angelico +Arnon +Baiter +Barker +Benno +Brecht +Cauet +Cepl +Chappell +Chaput +Chris +Christopher +Claude +Claudiu +Collins +Davis +Demian +Devin +Dmitry +Draoui +Eriksson +Ezio +Gavin +Gaynor +Geert +Gindi +Glenn +Håkan +Heaney +Hoyt +infijos +Itanium +Jansen +JoinableQueue +Fabrice +Furman +Jeanpierre +Jessica +Jiryu +Johannes +Jones +Joshua +Jukka +Julian +Kachayev +Kazakh +Kazakov +Khurana +Kluyver +Kok +Kumaran +Kushal +launcher +Lehtosalo +Leon +Leslie +Li +Lövdahl +Łukasz +Maciej +Markus +Martin +Matej +Mayank +Melotti +Michel +Milan +Moody +Moore +morsel +Murray +Natali +Nathaniel +Navarrete +Nikolaus +OberKirch +Oberkirch +Panter +Paroz +paul +Petr +proactor +Rafik +Raj +Rath +reconectará +redirigirlo +refactorizaron +reintentan +reintento +Robert +Roberts +Rosenberg +Samwyse +Senthil +Shahaf +SilentGhost +sondeos +sustituibilidad +StopIteration +Szulik +Tajik +Tarek +Tripathi +Vajrasky +Vignali +Viktorin +Vincent +Vogt +Ward +Ware +Wei +Welborn +Wilson +Wouters +Wu +Yaari +Yann +Zachary +Ziadé diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index db5240657b..418710d1f4 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -6,7 +6,6 @@ # 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" @@ -18,19 +17,22 @@ msgstr "" "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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: José Luis Salgado Banda\n" +"Language: es_MX\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/3.5.rst:3 msgid "What's New In Python 3.5" -msgstr "" +msgstr "Qué hay de nuevo en Python 3.5" #: ../Doc/whatsnew/3.5.rst msgid "Editors" -msgstr "" +msgstr "Editores" #: ../Doc/whatsnew/3.5.rst:5 msgid "Elvis Pranskevichus , Yury Selivanov " -msgstr "" +msgstr "Elvis Pranskevichus , Yury Selivanov " #: ../Doc/whatsnew/3.5.rst:47 msgid "" @@ -38,70 +40,88 @@ msgid "" "Python 3.5 was released on September 13, 2015.  See the `changelog `_ for a full list of changes." msgstr "" +"Este artículo explica las nuevas características de Python 3.5, en " +"comparación con 3.4. Python 3.5 se publicó el 13 de septiembre de 2015. " +"Consultar el `registro de cambios `_ para una lista completa de cambios." #: ../Doc/whatsnew/3.5.rst:54 msgid ":pep:`478` - Python 3.5 Release Schedule" -msgstr "" +msgstr ":pep:`478` - Python 3.5 Calendario de lanzamiento de Python 3.5" #: ../Doc/whatsnew/3.5.rst:58 msgid "Summary -- Release highlights" -msgstr "" +msgstr "Resumen -- Aspectos destacados de la versión" #: ../Doc/whatsnew/3.5.rst:60 msgid "New syntax features:" -msgstr "" +msgstr "Nuevas características de sintaxis:" #: ../Doc/whatsnew/3.5.rst:62 msgid "" ":ref:`PEP 492 `, coroutines with async and await syntax." msgstr "" +":ref:`PEP 492 `, corrutinas con sintaxis async y await." #: ../Doc/whatsnew/3.5.rst:63 msgid "" ":ref:`PEP 465 `, a new matrix multiplication operator: ``a " "@ b``." msgstr "" +":ref:`PEP 465 `, un nuevo operador de multiplicación de " +"matrices: ``a @ b``." #: ../Doc/whatsnew/3.5.rst:64 msgid "" ":ref:`PEP 448 `, additional unpacking generalizations." msgstr "" +":ref:`PEP 448 `, generalizaciones de desembalaje " +"adicionales." #: ../Doc/whatsnew/3.5.rst:67 msgid "New library modules:" -msgstr "" +msgstr "Nuevos módulos:" #: ../Doc/whatsnew/3.5.rst:69 msgid ":mod:`typing`: :ref:`PEP 484 -- Type Hints `." msgstr "" +":mod:`typing`: :ref:`PEP 484 -- Indicador de tipos `." #: ../Doc/whatsnew/3.5.rst:70 msgid "" ":mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support " "`." msgstr "" +":mod:`zipapp`: :ref:`PEP 441 Mejora de soporte de la aplicación Python ZIP " +"`." #: ../Doc/whatsnew/3.5.rst:74 msgid "New built-in features:" -msgstr "" +msgstr "Nuevas características integradas:" #: ../Doc/whatsnew/3.5.rst:76 msgid "" "``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` -- " "Adding ``%`` formatting to bytes and bytearray." msgstr "" +"``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` -- " +"Agrega formato ``%`` a bytes y bytearray." #: ../Doc/whatsnew/3.5.rst:79 msgid "" "New :meth:`bytes.hex`, :meth:`bytearray.hex` and :meth:`memoryview.hex` " "methods. (Contributed by Arnon Yaari in :issue:`9951`.)" msgstr "" +"Nuevos métodos :meth:`bytes.hex`, :meth:`bytearray.hex` y :meth:`memoryview." +"hex`. (Contribución de Arnon Yaari en :issue:`9951`.)" #: ../Doc/whatsnew/3.5.rst:82 msgid "" ":class:`memoryview` now supports tuple indexing (including multi-" "dimensional). (Contributed by Antoine Pitrou in :issue:`23632`.)" msgstr "" +":class:`memoryview` ahora admite la indexación de tuplas (incluida la " +"multidimensional). (Contribución de Antoine Pitrou en :issue:`23632`.)" #: ../Doc/whatsnew/3.5.rst:85 msgid "" @@ -109,16 +129,22 @@ msgid "" "being iterated by ``yield from`` expressions. (Contributed by Benno Leslie " "and Yury Selivanov in :issue:`24450`.)" msgstr "" +"Los generadores tienen un nuevo atributo ``gi_yieldfrom``, el cual retorna " +"el objeto que está siendo iterado por expresiones ``yield from``. " +"(Contribución de Benno Leslie y Yury Selivanov en :issue:`24450`.)" #: ../Doc/whatsnew/3.5.rst:89 msgid "" "A new :exc:`RecursionError` exception is now raised when maximum recursion " "depth is reached. (Contributed by Georg Brandl in :issue:`19235`.)" msgstr "" +"Ahora se genera una nueva excepción :exc:`RecursionError` cuando se alcanza " +"la profundidad máxima de recursividad. (Contribución de Georg Brandl en :" +"issue:`19235`.)" #: ../Doc/whatsnew/3.5.rst:94 msgid "CPython implementation improvements:" -msgstr "" +msgstr "Mejoras en la implementación de CPython:" #: ../Doc/whatsnew/3.5.rst:96 msgid "" @@ -127,6 +153,11 @@ msgid "" "handler, instead of the ``strict`` error handler. (Contributed by Victor " "Stinner in :issue:`19977`.)" msgstr "" +"Cuando la configuración regional ``LC_TYPE`` es la configuración regional " +"POSIX (configuración regional ``C``), ahora :py:data:`sys.stdin` y :py:data:" +"`sys.stdout` usan el controlador de errores ``surrogateescape``, en lugar " +"del controlador de errores ``strict``. (Contribución de Victor Stinner en :" +"issue:`19977`.)" #: ../Doc/whatsnew/3.5.rst:101 msgid "" @@ -134,6 +165,10 @@ msgid "" "scheme that includes the optimization level explicitly in ``.pyc`` name. " "(See :ref:`PEP 488 overview `.)" msgstr "" +"Los archivos ``.pyo`` ya no se utilizan y han sido reemplazados por un " +"esquema más flexible que incluye el nivel de optimización explícitamente en " +"el nombre ``.pyc``. (Consultar la :ref:`PEP 488 descripción general " +"`.)" #: ../Doc/whatsnew/3.5.rst:105 msgid "" @@ -141,50 +176,66 @@ msgid "" "which is similar to how Python modules are loaded. (See :ref:`PEP 489 " "overview `.)" msgstr "" +"Ahora los módulos integrados y de extensión son inicializados en un proceso " +"de múltiples fases, que es similar a cómo los módulos de Python son " +"cargados. (Consultar :ref:`PEP 489 descripción general `.)" #: ../Doc/whatsnew/3.5.rst:110 msgid "Significant improvements in the standard library:" -msgstr "" +msgstr "Mejoras significativas en la biblioteca estándar:" #: ../Doc/whatsnew/3.5.rst:112 msgid "" ":class:`collections.OrderedDict` is now :ref:`implemented in C `, which makes it 4 to 100 times faster." msgstr "" +":class:`collections.OrderedDict` ahora está :ref:`implementado en C " +"`, que lo hace de 4 a 100 veces más rápido." #: ../Doc/whatsnew/3.5.rst:116 msgid "" "The :mod:`ssl` module gained :ref:`support for Memory BIO `, which decouples SSL protocol handling from network IO." msgstr "" +"El módulo :mod:`ssl` adquirió :ref:`soporte para la memoria BIO `, que desacopla el manejo del protocolo SSL de la red de E/S." #: ../Doc/whatsnew/3.5.rst:120 msgid "" "The new :func:`os.scandir` function provides a :ref:`better and " "significantly faster way ` of directory traversal." msgstr "" +"La nueva función :func:`os.scandir` proporciona una :ref:`forma mejor y " +"significativamente más rápida ` de recorrido de directorio." #: ../Doc/whatsnew/3.5.rst:124 msgid "" ":func:`functools.lru_cache` has been mostly :ref:`reimplemented in C " "`, yielding much better performance." msgstr "" +":func:`functools.lru_cache` ha sido principalmente :ref:`reimplementado en C " +"`, produciendo un rendimiento mucho mejor." #: ../Doc/whatsnew/3.5.rst:128 msgid "" "The new :func:`subprocess.run` function provides a :ref:`streamlined way to " "run subprocesses `." msgstr "" +"La nueva función :func:`subprocess.run` proporciona una :ref:`forma " +"simplificada de ejecutar subprocesos `." #: ../Doc/whatsnew/3.5.rst:131 msgid "" "The :mod:`traceback` module has been significantly :ref:`enhanced ` for improved performance and developer convenience." msgstr "" +"El módulo :mod:`traceback` se ha :ref:`mejorado ` " +"significativamente para mejorar el rendimiento y la conveniencia del " +"desarrollador." #: ../Doc/whatsnew/3.5.rst:136 msgid "Security improvements:" -msgstr "" +msgstr "Mejoras de seguridad:" #: ../Doc/whatsnew/3.5.rst:138 msgid "" @@ -192,28 +243,39 @@ msgid "" "enabled by instantiating a :class:`ssl.SSLContext` manually. (See :issue:" "`22638` for more details; this change was backported to CPython 3.4 and 2.7.)" msgstr "" +"Ahora SSLv3 está deshabilitado en toda la biblioteca estándar. Aún se puede " +"habilitar creando una instancia de :class:`ssl.SSLContext` manualmente. " +"(Consultar :issue:`22638` para más detalles; este cambio fue respaldado a " +"CPython 3.4 y 2.7.)" #: ../Doc/whatsnew/3.5.rst:143 msgid "" "HTTP cookie parsing is now stricter, in order to protect against potential " "injection attacks. (Contributed by Antoine Pitrou in :issue:`22796`.)" msgstr "" +"Ahora el análisis de cookies HTTP es más estricto, con el fin de proteger " +"contra posibles ataques de entrada. (Contribución de Antoine Pitrou en :" +"issue:`22796`.)" #: ../Doc/whatsnew/3.5.rst:148 msgid "Windows improvements:" -msgstr "" +msgstr "Mejoras de Windows:" #: ../Doc/whatsnew/3.5.rst:150 msgid "" "A new installer for Windows has replaced the old MSI. See :ref:`using-on-" "windows` for more information." msgstr "" +"Un nuevo instalador para Windows ha reemplazado al antiguo MSI. Consultar :" +"ref:`using-on-windows` para más información." #: ../Doc/whatsnew/3.5.rst:153 msgid "" "Windows builds now use Microsoft Visual C++ 14.0, and extension modules " "should use the same." msgstr "" +"Ahora las compilaciones de Windows usan Microsoft Visual C++ 14.0, y los " +"módulos de extensión deberían utilizar lo mismo." #: ../Doc/whatsnew/3.5.rst:157 msgid "" @@ -221,14 +283,18 @@ msgid "" "many other smaller improvements, CPython optimizations, deprecations, and " "potential porting issues." msgstr "" +"Por favor sigue leyendo para obtener una lista completa de los cambios que " +"se enfrentan los usuarios, incluidas muchas otras mejoras menores, " +"optimizaciones de CPython, deprecaciones y posibles problemas de " +"portabilidad." #: ../Doc/whatsnew/3.5.rst:163 msgid "New Features" -msgstr "" +msgstr "Nuevas características" #: ../Doc/whatsnew/3.5.rst:168 msgid "PEP 492 - Coroutines with async and await syntax" -msgstr "" +msgstr "PEP 492 - Corrutinas con sintaxis async y await" #: ../Doc/whatsnew/3.5.rst:170 msgid "" @@ -238,11 +304,18 @@ msgid "" "iterable>`, and :term:`asynchronous context managers `." msgstr "" +":pep:`492` mejora enormemente el soporte para la programación asíncrona en " +"Python al agregar :term:`objetos aguardables `, :term:`funciones " +"corrutina `, :term:`iteración asincrónica `, y :term:`gestores asincrónicos de contexto `." #: ../Doc/whatsnew/3.5.rst:176 msgid "" "Coroutine functions are declared using the new :keyword:`async def` syntax::" msgstr "" +"Las funciones corrutina se declaran usando la nueva sintaxis :keyword:`async " +"def`::" #: ../Doc/whatsnew/3.5.rst:181 msgid "" @@ -251,38 +324,53 @@ msgid "" "can be *awaited*, as long as it implements the :term:`awaitable` protocol by " "defining the :meth:`__await__` method." msgstr "" +"Dentro de una función corrutina, la nueva expresión :keyword:`await` puede " +"ser usada para suspender la ejecución de la corrutina hasta que el resultado " +"esté disponible. Cualquier objeto puede ser *awaited*, siempre que " +"implemente el protocolo :term:`awaitable` al definir el método :meth:" +"`__await__`." #: ../Doc/whatsnew/3.5.rst:186 msgid "" "PEP 492 also adds :keyword:`async for` statement for convenient iteration " "over asynchronous iterables." msgstr "" +"PEP 492 también agrega la declaración :keyword:`async for` para una " +"iteración conveniente sobre iterables asincrónicas." #: ../Doc/whatsnew/3.5.rst:189 msgid "An example of a rudimentary HTTP client written using the new syntax::" msgstr "" +"Un ejemplo de un cliente rudimentario HTTP escrito con la nueva sintaxis::" #: ../Doc/whatsnew/3.5.rst:215 msgid "" "Similarly to asynchronous iteration, there is a new syntax for asynchronous " "context managers. The following script::" msgstr "" +"De manera similar a la iteración asincrónica, hay una nueva sintaxis para " +"los gestores asincrónicos de contexto. El siguiente script::" #: ../Doc/whatsnew/3.5.rst:235 msgid "will output::" -msgstr "" +msgstr "saldrá::" #: ../Doc/whatsnew/3.5.rst:244 msgid "" "Note that both :keyword:`async for` and :keyword:`async with` can only be " "used inside a coroutine function declared with :keyword:`async def`." msgstr "" +"Ten en cuenta que tanto :keyword:`async for` como :keyword:`async with` " +"solamente pueden ser utilizadas dentro de una función corrutina declarada " +"con :keyword:`async def`." #: ../Doc/whatsnew/3.5.rst:247 msgid "" "Coroutine functions are intended to be run inside a compatible event loop, " "such as the :ref:`asyncio loop `." msgstr "" +"Las funciones corrutina están destinadas para ser ejecutadas dentro de un " +"bucle de eventos compatible, como :ref:`asyncio loop `." #: ../Doc/whatsnew/3.5.rst:253 msgid "" @@ -290,22 +378,28 @@ msgid "" "`asynchronous iterators `. Returning an :term:" "`awaitable` object will result in a :exc:`PendingDeprecationWarning`." msgstr "" +"A partir de CPython 3.5.2, ``__aiter__`` puede retornar directamente :term:" +"`iteradores asincrónicos `. Retornar un objeto :term:" +"`awaitable` resultará en :exc:`PendingDeprecationWarning`." #: ../Doc/whatsnew/3.5.rst:259 msgid "See more details in the :ref:`async-iterators` documentation section." msgstr "" +"Consultar más detalles en la sección de la documentación :ref:`async-" +"iterators`." #: ../Doc/whatsnew/3.5.rst:265 msgid ":pep:`492` -- Coroutines with async and await syntax" -msgstr "" +msgstr ":pep:`492` -- Corrutinas con sintaxis async y await" #: ../Doc/whatsnew/3.5.rst:266 msgid "PEP written and implemented by Yury Selivanov." -msgstr "" +msgstr "PEP escrito e implementado por Yury Selivanov." #: ../Doc/whatsnew/3.5.rst:272 msgid "PEP 465 - A dedicated infix operator for matrix multiplication" msgstr "" +"PEP 465 - Un operador infijo dedicado para la multiplicación de matrices" #: ../Doc/whatsnew/3.5.rst:274 msgid "" @@ -316,6 +410,13 @@ msgid "" "multiplication. The semantics of these methods is similar to that of " "methods defining other infix arithmetic operators." msgstr "" +":pep:`465` agrega el operador infijo ``@`` para la multiplicación de " +"matrices. Actualmente, ningún tipo de Python incorporado implementa el nuevo " +"operador, sin embargo, puede ser implementado al definir :meth:" +"`__matmul__`, :meth:`__rmatmul__`, y :meth:`__imatmul__` para la " +"multiplicación de matrices regulares, reflejadas e in situ. La semántica de " +"estos métodos es similar a la de los métodos que definen otros operadores " +"infijos aritméticos." #: ../Doc/whatsnew/3.5.rst:281 msgid "" @@ -323,26 +424,31 @@ msgid "" "mathematics, science, engineering, and the addition of ``@`` allows writing " "cleaner code::" msgstr "" +"La multiplicación de matrices es una operación notablemente común en muchos " +"campos de las matemáticas, la ciencia, la ingeniería, y la adición de ``@`` " +"permite escribir código más limpio::" #: ../Doc/whatsnew/3.5.rst:287 msgid "instead of::" -msgstr "" +msgstr "en lugar de::" #: ../Doc/whatsnew/3.5.rst:292 msgid "NumPy 1.10 has support for the new operator::" -msgstr "" +msgstr "NumPy 1.10 tiene soporte para el nuevo operador::" #: ../Doc/whatsnew/3.5.rst:312 msgid ":pep:`465` -- A dedicated infix operator for matrix multiplication" msgstr "" +":pep:`465` -- Un operador infijo dedicado para la multiplicación de matrices" #: ../Doc/whatsnew/3.5.rst:313 msgid "PEP written by Nathaniel J. Smith; implemented by Benjamin Peterson." msgstr "" +"PEP escrito por Nathaniel J. Smith; implementado por Benjamin Peterson." #: ../Doc/whatsnew/3.5.rst:319 msgid "PEP 448 - Additional Unpacking Generalizations" -msgstr "" +msgstr "PEP 448 - Generalizaciones de desembalaje adicionales" #: ../Doc/whatsnew/3.5.rst:321 msgid "" @@ -350,32 +456,43 @@ msgid "" "and ``**`` dictionary unpacking operator. It is now possible to use an " "arbitrary number of unpackings in :ref:`function calls `::" msgstr "" +":pep:`448` extiende los usos permitidos del operador de desembalaje iterable " +"``*`` y del operador de desembalaje del diccionario ``**``. Ahora es posible " +"utilizar un número arbitrario de desembalajes en :ref:`llamadas a funciones " +"`::" #: ../Doc/whatsnew/3.5.rst:335 msgid "" "Similarly, tuple, list, set, and dictionary displays allow multiple " "unpackings (see :ref:`exprlists` and :ref:`dict`)::" msgstr "" +"De manera similar, las pantallas de tupla, lista, conjunto y diccionario " +"permiten desembalajes múltiples (consultar :ref:`exprlists` and :ref:" +"`dict`)::" #: ../Doc/whatsnew/3.5.rst:353 msgid ":pep:`448` -- Additional Unpacking Generalizations" -msgstr "" +msgstr ":pep:`448` -- Generalizaciones de desembalaje adicionales" #: ../Doc/whatsnew/3.5.rst:353 msgid "" "PEP written by Joshua Landau; implemented by Neil Girdhar, Thomas Wouters, " "and Joshua Landau." msgstr "" +"PEP escrito por Joshua Landau; implementado por Neil Girdhar, Thomas Wouters " +"y Joshua Landau." #: ../Doc/whatsnew/3.5.rst:360 msgid "PEP 461 - percent formatting support for bytes and bytearray" -msgstr "" +msgstr "PEP 461 - soporte de formateo porcentual para bytes y bytearray" #: ../Doc/whatsnew/3.5.rst:362 msgid "" ":pep:`461` adds support for the ``%`` :ref:`interpolation operator ` to :class:`bytes` and :class:`bytearray`." msgstr "" +":pep:`461` agrega soporte para el :ref:`operador de interpolación ` ``%`` a :class:`bytes` y :class:`bytearray`." #: ../Doc/whatsnew/3.5.rst:366 msgid "" @@ -386,16 +503,25 @@ msgid "" "dealing with wire format protocols, which are often a mixture of binary and " "ASCII compatible text." msgstr "" +"Si bien la interpolación generalmente se considera una operación de cadena " +"de caracteres, hay casos donde la interpolación en ``bytes`` o " +"``bytearrays`` tiene sentido y el trabajo necesario para compensar esta " +"funcionalidad faltante resta valor a la legibilidad general del código. Este " +"problema es particularmente importante cuando se trata con protocolos de " +"formato de cable, que a menudo son una mezcla de texto compatible binario y " +"ASCII." #: ../Doc/whatsnew/3.5.rst:373 ../Doc/whatsnew/3.5.rst:1848 msgid "Examples::" -msgstr "" +msgstr "Ejemplos::" #: ../Doc/whatsnew/3.5.rst:381 msgid "" "Unicode is not allowed for ``%b``, but it is accepted by ``%a`` (equivalent " "of ``repr(obj).encode('ascii', 'backslashreplace')``)::" msgstr "" +"Unicode no está permitido para ``%b``, pero es aceptado por ``%a`` " +"(equivalente a ``repr(obj).encode('ascii', 'backslashreplace')``)::" #: ../Doc/whatsnew/3.5.rst:392 #, python-format @@ -403,27 +529,35 @@ msgid "" "Note that ``%s`` and ``%r`` conversion types, although supported, should " "only be used in codebases that need compatibility with Python 2." msgstr "" +"Ten en cuenta que los tipos de conversión ``%s`` y ``%r``, aunque son " +"compatibles, solo deben usarse en bases de código que necesiten " +"compatibilidad con Python 2." #: ../Doc/whatsnew/3.5.rst:398 #, python-format msgid ":pep:`461` -- Adding % formatting to bytes and bytearray" -msgstr "" +msgstr ":pep:`461` -- Agrega formato ``%`` a bytes y bytearray" #: ../Doc/whatsnew/3.5.rst:398 msgid "" "PEP written by Ethan Furman; implemented by Neil Schemenauer and Ethan " "Furman." msgstr "" +"PEP escrito por Ethan Furman; implementado por Neil Schemenauer y Ethan " +"Furman." #: ../Doc/whatsnew/3.5.rst:405 msgid "PEP 484 - Type Hints" -msgstr "" +msgstr "PEP 484 - Indicador de tipos" #: ../Doc/whatsnew/3.5.rst:407 msgid "" "Function annotation syntax has been a Python feature since version 3.0 (:pep:" "`3107`), however the semantics of annotations has been left undefined." msgstr "" +"La sintaxis de anotaciones de funciones ha sido una característica de Python " +"desde la versión 3.0 (:pep:`3107`), sin embargo, la semántica de anotaciones " +"se ha dejado indefinida." #: ../Doc/whatsnew/3.5.rst:410 msgid "" @@ -432,6 +566,11 @@ msgid "" "evident that it would be beneficial for Python users, if the standard " "library included the base definitions and tools for type annotations." msgstr "" +"La experiencia ha mostrado que la mayoría de los usos de las anotaciones de " +"funciones eran para proporcionar el indicador de tipos para los parámetros " +"de función y los valores de retorno. Se hizo evidente que sería beneficioso " +"para los usuarios de Python, si la biblioteca estándar incluyera las " +"definiciones y las herramientas base para las anotaciones de tipo." #: ../Doc/whatsnew/3.5.rst:415 msgid "" @@ -439,12 +578,17 @@ msgid "" "provide these standard definitions and tools, along with some conventions " "for situations where annotations are not available." msgstr "" +":pep:`484` introduce un :term:`módulo provisional ` para " +"proporcionar estas definiciones y herramientas estándar, junto con algunas " +"convenciones para situaciones en la que las anotaciones no están disponibles." #: ../Doc/whatsnew/3.5.rst:419 msgid "" "For example, here is a simple function whose argument and return type are " "declared in the annotations::" msgstr "" +"Por ejemplo, aquí hay una función simple cuyo argumento y tipo de retorno se " +"declaran en las anotaciones::" #: ../Doc/whatsnew/3.5.rst:425 msgid "" @@ -454,6 +598,12 @@ msgid "" "g. `mypy `_) will be used for on-demand source code " "analysis." msgstr "" +"Si bien estas anotaciones están disponibles en tiempo de ejecución a través " +"del atributo habitual :attr:`__annotations__`, *no se realiza ninguna " +"verificación de tipos automática en tiempo de ejecución*. En su lugar, se " +"asume que se utilizará un verificador de tipos fuera de línea independiente " +"(p. ej. `mypy `_) para el análisis de código fuente " +"bajo demanda." #: ../Doc/whatsnew/3.5.rst:431 msgid "" @@ -461,33 +611,40 @@ msgid "" "class:`~typing.Any` which is consistent with (i.e. assignable to and from) " "all types." msgstr "" +"El sistema de tipos admite uniones, tipos genéricos y un tipo especial " +"llamado :class:`~typing.Any` el cual es consistente con (esto es asignable " +"desde y hacia) todos los tipos." #: ../Doc/whatsnew/3.5.rst:437 msgid ":mod:`typing` module documentation" -msgstr "" +msgstr ":mod:`typing` documentación del módulo" #: ../Doc/whatsnew/3.5.rst:439 msgid ":pep:`484` -- Type Hints" -msgstr "" +msgstr ":pep:`484` -- Indicador de tipos" #: ../Doc/whatsnew/3.5.rst:439 msgid "" "PEP written by Guido van Rossum, Jukka Lehtosalo, and Łukasz Langa; " "implemented by Guido van Rossum." msgstr "" +"PEP escrito por Guido van Rossum, Jukka Lehtosalo y Łukasz Langa; " +"implementado por Guido van Rossum." #: ../Doc/whatsnew/3.5.rst:441 msgid ":pep:`483` -- The Theory of Type Hints" -msgstr "" +msgstr ":pep:`483` -- La teoría del indicador de tipos" #: ../Doc/whatsnew/3.5.rst:442 msgid "PEP written by Guido van Rossum" -msgstr "" +msgstr "PEP escrito por Guido van Rossum" #: ../Doc/whatsnew/3.5.rst:448 msgid "" "PEP 471 - os.scandir() function -- a better and faster directory iterator" msgstr "" +"PEP 471 - Función os.scandir() -- un iterador de directorio mejor y más " +"rápido" #: ../Doc/whatsnew/3.5.rst:450 msgid "" @@ -498,6 +655,12 @@ msgid "" "reducing the number of calls to :func:`os.stat` required to walk a directory " "tree." msgstr "" +":pep:`471` agrega una nueva función de iteración de directorio, :func:`os." +"scandir`, a la biblioteca estándar. Adicionalmente, ahora :func:`os.walk` se " +"implementa utilizando ``scandir``, lo que lo hace de 3 a 5 veces más rápido " +"en sistemas POSIX y de 7 a 20 veces más rápido en sistemas Windows. Esto se " +"logra en gran medida al reducir enormemente el número de llamadas necesarias " +"de :func:`os.stat` para recorrer un árbol de directorios." #: ../Doc/whatsnew/3.5.rst:457 msgid "" @@ -505,6 +668,9 @@ msgid "" "list of file names, which improves memory efficiency when iterating over " "very large directories." msgstr "" +"También ``scandir`` retorna un iterador, en lugar de retornar una lista de " +"nombres de archivos, lo que mejora la eficiencia de la memoria cuando se " +"itera sobre directorios muy grandes." #: ../Doc/whatsnew/3.5.rst:461 msgid "" @@ -513,20 +679,27 @@ msgid "" "with ``'.'``. The :meth:`entry.is_file() ` call will " "generally not make an additional system call::" msgstr "" +"El siguiente ejemplo presenta un uso simple de :func:`os.scandir` para " +"mostrar todos los archivos (excluyendo directorios) en el *path* dado que no " +"comienzan con ``'.'``. La llamada a :meth:`entry.is_file() ` generalmente no hará una llamada adicional al sistema::" #: ../Doc/whatsnew/3.5.rst:472 msgid "" ":pep:`471` -- os.scandir() function -- a better and faster directory iterator" msgstr "" +":pep:`471` -- Función os.scandir() -- un iterador de directorio mejor y más " +"rápido" #: ../Doc/whatsnew/3.5.rst:473 msgid "" "PEP written and implemented by Ben Hoyt with the help of Victor Stinner." msgstr "" +"PEP escrito e implementado por Ben Hoyt con la ayuda de Victor Stinner." #: ../Doc/whatsnew/3.5.rst:479 msgid "PEP 475: Retry system calls failing with EINTR" -msgstr "" +msgstr "PEP 475: Reintentar las llamadas al sistema que fallan con EINTR" #: ../Doc/whatsnew/3.5.rst:481 msgid "" @@ -535,16 +708,23 @@ msgid "" "would raise :exc:`InterruptedError` in such cases. This meant that, when " "writing a Python application, the developer had two choices:" msgstr "" +"Se retorna un código de error :py:data:`errno.EINTR` siempre que una llamada " +"al sistema, que está esperando E/S, es interrumpida por una señal. " +"Anteriormente, Python generaría :exc:`InterruptedError` en tales casos. Esto " +"significaba que, al escribir una aplicación en Python, el desarrollador " +"tenía dos opciones:" #: ../Doc/whatsnew/3.5.rst:486 msgid "Ignore the ``InterruptedError``." -msgstr "" +msgstr "Ignorar el ``InterruptedError``." #: ../Doc/whatsnew/3.5.rst:487 msgid "" "Handle the ``InterruptedError`` and attempt to restart the interrupted " "system call at every call site." msgstr "" +"Manejar el ``InterruptedError`` y probar reiniciar la llamada interrumpida " +"al sistema en cada sitio de llamada." #: ../Doc/whatsnew/3.5.rst:490 msgid "" @@ -552,10 +732,13 @@ msgid "" "adds a large amount of boilerplate that makes the code nearly unreadable. " "Compare::" msgstr "" +"La primera opción hace que una aplicación falle intermitentemente. La " +"segunda opción agrega una gran cantidad de código repetitivo que hace que el " +"código sea casi ilegible. Compara::" #: ../Doc/whatsnew/3.5.rst:496 msgid "and::" -msgstr "" +msgstr "y::" #: ../Doc/whatsnew/3.5.rst:505 msgid "" @@ -565,20 +748,28 @@ msgid "" "standard library, more robust. Note that the system call is only retried if " "the signal handler does not raise an exception." msgstr "" +":pep:`475` implementa el reintento automático de las llamadas al sistema en " +"``EINTR``. Esto elimina la carga de lidiar con ``EINTR`` o la excepción :exc:" +"`InterruptedError` en el código de usuario en la mayoría de las situaciones " +"y hace que los programas de Python, incluida la biblioteca estándar, sean " +"más robustos. Ten en cuenta que la llamada al sistema sólo se reintenta si " +"el gestor de señales no lanza una excepción." #: ../Doc/whatsnew/3.5.rst:512 msgid "" "Below is a list of functions which are now retried when interrupted by a " "signal:" msgstr "" +"A continuación se muestra una lista de funciones que ahora se reintentan " +"cuando son interrumpidas por una señal:" #: ../Doc/whatsnew/3.5.rst:515 msgid ":func:`open` and :func:`io.open`;" -msgstr "" +msgstr ":func:`open` y :func:`io.open`;" #: ../Doc/whatsnew/3.5.rst:517 msgid "functions of the :mod:`faulthandler` module;" -msgstr "" +msgstr "funciones del módulo :mod:`faulthandler`;" #: ../Doc/whatsnew/3.5.rst:519 msgid "" @@ -591,6 +782,14 @@ msgid "" "wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" "`~os.write`, :func:`~os.writev`;" msgstr "" +"funciones del módulo :mod:`os`: :func:`~os.fchdir`, :func:`~os.fchmod`, :" +"func:`~os.fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os." +"fstatvfs`, :func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :" +"func:`~os.mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os." +"posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :" +"func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os." +"wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" +"`~os.write`, :func:`~os.writev`;" #: ../Doc/whatsnew/3.5.rst:529 msgid "" @@ -598,6 +797,9 @@ msgid "" "`~errno.EINTR` errors; the syscall is not retried (see the PEP for the " "rationale);" msgstr "" +"casos especiales: ahora :func:`os.close` y :func:`os.dup2` ignoran errores :" +"py:data:`~errno.EINTR`; no se reintenta la llamada al sistema (consultar la " +"PEP para la justificación);" #: ../Doc/whatsnew/3.5.rst:533 msgid "" @@ -605,6 +807,10 @@ msgid "" "`epoll.poll() `, :func:`kqueue.control() `, :func:`poll.poll() `, :func:`~select.select`;" msgstr "" +"funciones del módulo :mod:`select`: :func:`devpoll.poll() `, :func:`epoll.poll() `, :func:`kqueue.control() " +"`, :func:`poll.poll() `, :func:" +"`~select.select`;" #: ../Doc/whatsnew/3.5.rst:538 msgid "" @@ -614,28 +820,35 @@ msgid "" "socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket." "sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" msgstr "" +"métodos de la clase :class:`~socket.socket`: :meth:`~socket.socket.accept`, :" +"meth:`~socket.socket.connect` (excepto para sockets sin bloqueo), :meth:" +"`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket." +"socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket." +"sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" #: ../Doc/whatsnew/3.5.rst:545 msgid ":func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;" -msgstr "" +msgstr ":func:`signal.sigtimedwait` y :func:`signal.sigwaitinfo`;" #: ../Doc/whatsnew/3.5.rst:547 msgid ":func:`time.sleep`." -msgstr "" +msgstr ":func:`time.sleep`." #: ../Doc/whatsnew/3.5.rst:552 msgid ":pep:`475` -- Retry system calls failing with EINTR" -msgstr "" +msgstr ":pep:`475` -- Reintentar las llamadas al sistema que fallan con EINTR" #: ../Doc/whatsnew/3.5.rst:552 msgid "" "PEP and implementation written by Charles-François Natali and Victor " "Stinner, with the help of Antoine Pitrou (the French connection)." msgstr "" +"PEP e implementación escrita por Charles-François Natali y Victor Stinner, " +"con la ayuda de Antoine Pitrou (la conexión francesa)." #: ../Doc/whatsnew/3.5.rst:559 msgid "PEP 479: Change StopIteration handling inside generators" -msgstr "" +msgstr "PEP 479: Cambiar el gestor de StopIteration dentro de generadores" #: ../Doc/whatsnew/3.5.rst:561 msgid "" @@ -645,6 +858,11 @@ msgid "" "function was interpreted as the end of the iteration by the loop construct " "driving the generator." msgstr "" +"La interacción de los generadores y :exc:`StopIteration` en las versiones de " +"Python 3.4 y anteriores a veces fue sorprendente y podría ocultar bugs " +"oscuros. Anteriormente, el ``StopIteration`` lanzado accidentalmente dentro " +"de una función de generadores se interpretó como el final de la iteración " +"por la construcción de bucle que impulsa el generador." #: ../Doc/whatsnew/3.5.rst:567 msgid "" @@ -656,12 +874,22 @@ msgid "" "generator to terminate silently. This is particularly pernicious in " "combination with the ``yield from`` construct." msgstr "" +":pep:`479` cambia el comportamiento de los generadores: cuando se lanza una " +"excepción ``StopIteration`` dentro de un generador, se reemplaza con una " +"excepción :exc:`RuntimeError` antes de que salga del marco del generador. El " +"objetivo principal de este cambio es facilitar la depuración en la situación " +"en la que una llamada desprotegida a la función :func:`next` lanza una " +"excepción ``StopIteration`` y hace que la iteración controlada por el " +"generador termine silenciosamente. Esto es particularmente pernicioso en " +"combinación con la construcción ``yield from``." #: ../Doc/whatsnew/3.5.rst:575 msgid "" "This is a backwards incompatible change, so to enable the new behavior, a :" "term:`__future__` import is necessary::" msgstr "" +"Este es un cambio incompatible hacia atrás, así que para habilitar el nuevo " +"comportamiento, es necesario importar :term:`__future__`::" #: ../Doc/whatsnew/3.5.rst:595 msgid "" @@ -669,20 +897,25 @@ msgid "" "raised whenever a :exc:`StopIteration` exception is raised inside a " "generator." msgstr "" +"Si no se importa ``__future__``, se lanzará la excepción :exc:" +"`PendingDeprecationWarning` siempre que se lance una excepción :exc:" +"`StopIteration` dentro de un generador." #: ../Doc/whatsnew/3.5.rst:601 msgid ":pep:`479` -- Change StopIteration handling inside generators" -msgstr "" +msgstr ":pep:`479` -- Cambiar el gestor de StopIteration dentro de generadores" #: ../Doc/whatsnew/3.5.rst:601 msgid "" "PEP written by Chris Angelico and Guido van Rossum. Implemented by Chris " "Angelico, Yury Selivanov and Nick Coghlan." msgstr "" +"PEP escrito por Chris Angelico y Guido van Rossum. Implementado por Chris " +"Angelico, Yury Selivanov y Nick Coghlan." #: ../Doc/whatsnew/3.5.rst:608 msgid "PEP 485: A function for testing approximate equality" -msgstr "" +msgstr "PEP 485: Una función para probar la igualdad aproximada" #: ../Doc/whatsnew/3.5.rst:610 msgid "" @@ -693,25 +926,37 @@ msgid "" "the maximum allowed difference between ``isclose`` arguments, relative to " "the larger absolute value::" msgstr "" +":pep:`485` agrega las funciones :func:`math.isclose` y :func:`cmath.isclose` " +"que indican si dos valores son aproximadamente iguales o \"cercanos\" entre " +"sí. Si dos valores se consideran cercanos o no, se determina conforme con " +"las tolerancias absolutas y relativas dadas. La tolerancia relativa es la " +"diferencia máxima permitida entre los argumentos ``isclose``, en relación " +"con el valor absoluto mayor::" #: ../Doc/whatsnew/3.5.rst:625 msgid "" "It is also possible to compare two values using absolute tolerance, which " "must be a non-negative value::" msgstr "" +"También es posible comparar dos valores usando una tolerancia absoluta, que " +"debe ser un valor no negativo::" #: ../Doc/whatsnew/3.5.rst:639 msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" +msgstr ":pep:`485` -- Una función para probar la igualdad aproximada" #: ../Doc/whatsnew/3.5.rst:639 msgid "" "PEP written by Christopher Barker; implemented by Chris Barker and Tal Einat." msgstr "" +"PEP escrito por Christopher Barker; implementado por Chris Barker y Tal " +"Einat." #: ../Doc/whatsnew/3.5.rst:646 msgid "PEP 486: Make the Python Launcher aware of virtual environments" msgstr "" +"PEP 486: Hacer que el launcher de Python sea consciente de los entornos " +"virtuales" #: ../Doc/whatsnew/3.5.rst:648 msgid "" @@ -720,18 +965,24 @@ msgid "" "``VIRTUAL_ENV`` environment variable is set, the interpreter in the virtual " "environment will be used." msgstr "" +":pep:`486` hace que el launcher de Windows (consultar :pep:`397`) sea " +"consciente de un entorno virtual activo. Cuando se usa el intérprete " +"predeterminado y se establece la variable de entorno ``VIRTUAL_ENV`` está " +"configurado, se utilizará el intérprete en el entorno virtual." #: ../Doc/whatsnew/3.5.rst:655 msgid ":pep:`486` -- Make the Python Launcher aware of virtual environments" msgstr "" +":pep:`486` -- Hacer que el launcher de Python sea consciente de los entornos " +"virtuales" #: ../Doc/whatsnew/3.5.rst:656 msgid "PEP written and implemented by Paul Moore." -msgstr "" +msgstr "PEP escrito e implementado por Paul Moore." #: ../Doc/whatsnew/3.5.rst:662 msgid "PEP 488: Elimination of PYO files" -msgstr "" +msgstr "PEP 488: Eliminación de archivos PYO" #: ../Doc/whatsnew/3.5.rst:664 msgid "" @@ -745,24 +996,37 @@ msgid "" "`importlib.util.cache_from_source` has an updated API to help with this " "change." msgstr "" +":pep:`488` elimina el concepto de archivos ``.pyo``. Esto significa que los " +"archivos ``.pyc`` representan tanto bytecode optimizado y sin optimizar. " +"Para evitar la necesidad de regenerar constantemente archivos bytecode, " +"ahora los archivos ``.pyc`` tienen una etiqueta opcional ``opt-`` en su " +"nombre cuando se optimiza el bytecode. Esto tiene el efecto secundario de " +"que no habrá más conflictos de nombres de archivos de bytecode cuando se " +"ejecuta bajo :option:`-O` o :option:`-OO`. Por consiguiente, ahora los " +"archivos bytecode generados a partir de :option:`-O` y :option:`-OO` pueden " +"existir simultáneamente. :func:`importlib.util.cache_from_source` tiene una " +"API actualizada para ayudar con este cambio." #: ../Doc/whatsnew/3.5.rst:676 msgid ":pep:`488` -- Elimination of PYO files" -msgstr "" +msgstr ":pep:`488` -- Eliminación de archivos PYO" #: ../Doc/whatsnew/3.5.rst:677 msgid "PEP written and implemented by Brett Cannon." -msgstr "" +msgstr "PEP escrito e implementado por Brett Cannon." #: ../Doc/whatsnew/3.5.rst:683 msgid "PEP 489: Multi-phase extension module initialization" -msgstr "" +msgstr "PEP 489: Inicialización del módulo de extensión multifase" #: ../Doc/whatsnew/3.5.rst:685 msgid "" ":pep:`489` updates extension module initialization to take advantage of the " "two step module loading mechanism introduced by :pep:`451` in Python 3.4." msgstr "" +":pep:`489` actualiza la inicialización del módulo de extensión para " +"aprovechar el mecanismo de carga del módulo de dos pasos introducido por :" +"pep:`451` en Python 3.4." #: ../Doc/whatsnew/3.5.rst:688 msgid "" @@ -771,24 +1035,33 @@ msgid "" "modules, including the ability to use any valid identifier as a module name, " "rather than being restricted to ASCII." msgstr "" +"Este cambio acerca la semántica de importación de los módulos de extensión " +"que optan por usar el mecanismo nuevo a la de los módulos fuente y de " +"bytecode de Python, incluida la capacidad de utilizar cualquier " +"identificador válido como un nombre de módulo, en lugar de estar restringido " +"a ASCII." #: ../Doc/whatsnew/3.5.rst:696 msgid ":pep:`489` -- Multi-phase extension module initialization" -msgstr "" +msgstr ":pep:`489` -- Inicialización del módulo de extensión multifase" #: ../Doc/whatsnew/3.5.rst:696 msgid "" "PEP written by Petr Viktorin, Stefan Behnel, and Nick Coghlan; implemented " "by Petr Viktorin." msgstr "" +"PEP escrito por Petr Viktorin, Stefan Behnel y Nick Coghlan; implementado " +"por Petr Viktorin." #: ../Doc/whatsnew/3.5.rst:701 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios en el lenguaje" #: ../Doc/whatsnew/3.5.rst:703 msgid "Some smaller changes made to the core Python language are:" msgstr "" +"Algunos cambios más pequeños que se hicieron en el lenguaje central de " +"Python son:" #: ../Doc/whatsnew/3.5.rst:705 msgid "" @@ -796,12 +1069,17 @@ msgid "" "error handlers now work with decoding and translating. (Contributed by " "Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)" msgstr "" +"Se agregaron los gestores de error ``\"namereplace\"``. Ahora los gestores " +"de error ``\"backslashreplace\"`` funcionan con decodificación y traducción. " +"(Contribución de Serhiy Storchaka en :issue:`19676` y :issue:`22286`.)" #: ../Doc/whatsnew/3.5.rst:709 msgid "" "The :option:`-b` option now affects comparisons of :class:`bytes` with :" "class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" msgstr "" +"Ahora la opción :option:`-b` afecta comparaciones de :class:`bytes` con :" +"class:`int`. (Contribución de Serhiy Storchaka en :issue:`23681`.)" #: ../Doc/whatsnew/3.5.rst:712 msgid "" @@ -809,6 +1087,9 @@ msgid "" "encodings>`. (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:" "`22681`.)" msgstr "" +"Nuevos :ref:`códecs ` Kazakh ``kz1048`` y Tajik " +"``koi8_t``. (Contribución de Serhiy Storchaka en :issue:`22682` y :issue:" +"`22681`.)" #: ../Doc/whatsnew/3.5.rst:715 msgid "" @@ -816,20 +1097,25 @@ msgid "" "`collections.namedtuple` docstrings. (Contributed by Berker Peksag in :issue:" "`24064`.)" msgstr "" +"Ahora las docstrings de propiedad se pueden escribir. Esto es especialmente " +"útil para las docstrings :func:`collections.namedtuple`. (Contribución de " +"Berker Peksag en :issue:`24064`.)" #: ../Doc/whatsnew/3.5.rst:719 msgid "" "Circular imports involving relative imports are now supported. (Contributed " "by Brett Cannon and Antoine Pitrou in :issue:`17636`.)" msgstr "" +"Ahora se admiten las importaciones circulares que involucran importaciones " +"relativas. (Contribución de Brett Cannon y Antoine Pitrou en :issue:`17636`.)" #: ../Doc/whatsnew/3.5.rst:724 msgid "New Modules" -msgstr "" +msgstr "Nuevos módulos" #: ../Doc/whatsnew/3.5.rst:727 msgid "typing" -msgstr "" +msgstr "typing" #: ../Doc/whatsnew/3.5.rst:729 msgid "" @@ -837,10 +1123,14 @@ msgid "" "standard definitions and tools for function type annotations. See :ref:`Type " "Hints ` for more information." msgstr "" +"El módulo nuevo :term:`provisional ` :mod:`typing` " +"proporciona definiciones y herramientas estándar para anotaciones de tipos " +"de funciones. Consultar :ref:`Indicador de tipos ` para " +"más información." #: ../Doc/whatsnew/3.5.rst:736 msgid "zipapp" -msgstr "" +msgstr "zipapp" #: ../Doc/whatsnew/3.5.rst:738 msgid "" @@ -849,6 +1139,11 @@ msgid "" "were introduced in Python 2.6 in :issue:`1739468`, but which were not well " "publicized, either at the time or since." msgstr "" +"El módulo nuevo :mod:`zipapp` (especificado en :pep:`441`) proporciona una " +"API y una herramienta de línea de comandos para crear aplicaciones Python " +"Zip ejecutables, las cuales se introdujeron en la versión de Python 2.6 en :" +"issue:`1739468`, pero no se publicitaron bien, ni en ese momento ni desde " +"entonces." #: ../Doc/whatsnew/3.5.rst:743 msgid "" @@ -856,24 +1151,29 @@ msgid "" "the files, including a ``__main__.py`` file, into a directory ``myapp`` and " "running:" msgstr "" +"Con el módulo nuevo, empaquetar tu aplicación es tan simple como colocar " +"todos los archivos, incluido un archivo ``__main__.py`` en un directorio " +"``myapp`` y ejecutar:" #: ../Doc/whatsnew/3.5.rst:752 msgid "" "The module implementation has been contributed by Paul Moore in :issue:" "`23491`." msgstr "" +"La implementación del módulo ha sido contribución de Paul Moore en :issue:" +"`23491`." #: ../Doc/whatsnew/3.5.rst:757 msgid ":pep:`441` -- Improving Python ZIP Application Support" -msgstr "" +msgstr ":pep:`441` -- Mejora de soporte de la aplicación Python ZIP" #: ../Doc/whatsnew/3.5.rst:761 msgid "Improved Modules" -msgstr "" +msgstr "Módulos mejorados" #: ../Doc/whatsnew/3.5.rst:764 msgid "argparse" -msgstr "" +msgstr "argparse" #: ../Doc/whatsnew/3.5.rst:766 msgid "" @@ -882,10 +1182,14 @@ msgid "" "`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven " "Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" msgstr "" +"Ahora la clase :class:`~argparse.ArgumentParser` permite deshabilitar el :" +"ref:`uso abreviado ` de opciones largas al establecer :ref:" +"`allow_abbrev` en ``False``. (Contribución de Jonathan Paugh, Steven " +"Bethard, paul j3 y Daniel Eriksson en :issue:`14910`.)" #: ../Doc/whatsnew/3.5.rst:773 msgid "asyncio" -msgstr "" +msgstr "asyncio" #: ../Doc/whatsnew/3.5.rst:775 msgid "" @@ -893,10 +1197,13 @@ msgid "" "all changes introduced in Python 3.5 have also been backported to Python 3.4." "x." msgstr "" +"Ya que el módulo :mod:`asyncio` es :term:`provisional `, " +"todos los cambios que se introdujeron en Python 3.5 también se han " +"actualizado en Python 3.4.x." #: ../Doc/whatsnew/3.5.rst:778 msgid "Notable changes in the :mod:`asyncio` module since Python 3.4.0:" -msgstr "" +msgstr "Cambios notables en el módulo :mod:`asyncio` desde Python 3.4.0:" #: ../Doc/whatsnew/3.5.rst:780 msgid "" @@ -904,18 +1211,26 @@ msgid "" "meth:`loop.get_debug() ` methods. (Contributed by " "Victor Stinner.)" msgstr "" +"Nuevas API de depuración: métodos :meth:`loop.set_debug() ` y :meth:`loop.get_debug() `. " +"(Contribución de Victor Stinner.)" #: ../Doc/whatsnew/3.5.rst:784 msgid "" "The proactor event loop now supports SSL. (Contributed by Antoine Pitrou and " "Victor Stinner in :issue:`22560`.)" msgstr "" +"Ahora el ciclo de eventos proactor es compatible con SSL. (Contribución de " +"Antoine Pitrou y Victor Stinner en :issue:`22560`.)" #: ../Doc/whatsnew/3.5.rst:787 msgid "" "A new :meth:`loop.is_closed() ` method to check if " "the event loop is closed. (Contributed by Victor Stinner in :issue:`21326`.)" msgstr "" +"Un nuevo método :meth:`loop.is_closed() ` para " +"comprobar si el ciclo de eventos está cerrado. (Contribución de Victor " +"Stinner en :issue:`21326`.)" #: ../Doc/whatsnew/3.5.rst:791 msgid "" @@ -925,6 +1240,12 @@ msgid "" "coroutines into tasks, such as :func:`asyncio.wait`, :func:`asyncio.gather`, " "etc. (Contributed by Victor Stinner.)" msgstr "" +"Un nuevo método :meth:`loop.create_task() ` para " +"crear y programar convenientemente una nueva clase :class:`~asyncio.Task` " +"para una corrutina. El método ``create_task`` también se usa para todas las " +"funciones asyncio que contengan corrutinas en tareas, tales como :func:" +"`asyncio.wait`, :func:`asyncio.gather`, etc. (Contribución de Victor " +"Stinner.)" #: ../Doc/whatsnew/3.5.rst:798 msgid "" @@ -932,12 +1253,18 @@ msgid "" "get_write_buffer_limits>` method to inquire for *high-* and *low-* water " "limits of the flow control. (Contributed by Victor Stinner.)" msgstr "" +"Un nuevo método :meth:`transport.get_write_buffer_limits() ` para consultar los límites *high-* " +"(superior) y *low-* (inferior) del control de flujo. (Contribución de Victor " +"Stinner.)" #: ../Doc/whatsnew/3.5.rst:803 msgid "" "The :func:`~asyncio.async` function is deprecated in favor of :func:" "`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" msgstr "" +"La función :func:`~asyncio.async` está obsoleta en favor de la función :func:" +"`~asyncio.ensure_future`. (Contribución de Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:807 msgid "" @@ -946,22 +1273,32 @@ msgid "" "customize the task factory that :meth:`loop.create_task() ` method uses. (Contributed by Yury Selivanov.)" msgstr "" +"Nuevos métodos :meth:`loop.set_task_factory() ` y :meth:`loop.get_task_factory() ` para personalizar la fábrica de tareas que el método :" +"meth:`loop.create_task() ` usa. (Contribución de " +"Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:814 msgid "" "New :meth:`Queue.join() ` and :meth:`Queue.task_done() " "` queue methods. (Contributed by Victor Stinner.)" msgstr "" +"Nuevos métodos de cola :meth:`Queue.join() ` y :meth:" +"`Queue.task_done() `. (Contribución de Victor " +"Stinner.)" #: ../Doc/whatsnew/3.5.rst:818 msgid "" "The ``JoinableQueue`` class was removed, in favor of the :class:`asyncio." "Queue` class. (Contributed by Victor Stinner.)" msgstr "" +"Se eliminó la clase ``JoinableQueue``, en favor de la clase :class:`asyncio." +"Queue`. (Contribución de Victor Stinner.)" #: ../Doc/whatsnew/3.5.rst:822 msgid "Updates in 3.5.1:" -msgstr "" +msgstr "Actualizaciones en 3.5.1:" #: ../Doc/whatsnew/3.5.rst:824 msgid "" @@ -970,12 +1307,19 @@ msgid "" "now accept all kinds of :term:`awaitable objects `. (Contributed " "by Yury Selivanov.)" msgstr "" +"La función :func:`~asyncio.ensure_future` y todas las funciones que la " +"utilizan, como el método :meth:`loop.run_until_complete() `, ahora acepta todo tipo de :term:`objetos aguardables " +"`. (Contribución de Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:829 msgid "" "New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " "to event loops from other threads. (Contributed by Vincent Michel.)" msgstr "" +"Nueva función :func:`~asyncio.run_coroutine_threadsafe` para enviar " +"corrutinas a bucles de eventos de otros hilos. (Contribución de Vincent " +"Michel.)" #: ../Doc/whatsnew/3.5.rst:833 msgid "" @@ -983,16 +1327,21 @@ msgid "" "to check if the transport is closing or closed. (Contributed by Yury " "Selivanov.)" msgstr "" +"Nuevo método :meth:`Transport.is_closing() ` para comprobar si el transporte se está cerrando o ya está " +"cerrado. (Contribución de Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:837 msgid "" "The :meth:`loop.create_server() ` method can now " "accept a list of hosts. (Contributed by Yann Sionneau.)" msgstr "" +"Ahora el método :meth:`loop.create_server() ` " +"puede aceptar una lista de hosts. (Contribución de Yann Sionneau.)" #: ../Doc/whatsnew/3.5.rst:841 msgid "Updates in 3.5.2:" -msgstr "" +msgstr "Actualizaciones en 3.5.2:" #: ../Doc/whatsnew/3.5.rst:843 msgid "" @@ -1002,6 +1351,11 @@ msgid "" "faster :class:`asyncio.Future` implementation. (Contributed by Yury " "Selivanov.)" msgstr "" +"Nuevo método :meth:`loop.create_future() ` para " +"crear objetos Future. Esto permite implementaciones alternativas de bucles " +"de eventos, como `uvloop `_, para " +"proporcionar una implementación más rápida de :class:`asyncio.Future`. " +"(Contribución de Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:850 msgid "" @@ -1009,6 +1363,9 @@ msgid "" "get_exception_handler>` method to get the current exception handler. " "(Contributed by Yury Selivanov.)" msgstr "" +"Nuevo método :meth:`loop.get_exception_handler() ` para obtener el gestor de excepciones actual. " +"(Contribución de Yury Selivanov.)" #: ../Doc/whatsnew/3.5.rst:854 msgid "" @@ -1016,6 +1373,9 @@ msgid "" "to read data from the stream until a separator bytes sequence appears. " "(Contributed by Mark Korenberg.)" msgstr "" +"Nuevo método :meth:`StreamReader.readuntil() ` para leer datos de la secuencia hasta que aparezca una secuencia " +"de separador de bytes. (Contribución de Mark Korenberg.)" #: ../Doc/whatsnew/3.5.rst:859 msgid "" @@ -1024,6 +1384,10 @@ msgid "" "optimized to avoid calling the system ``getaddrinfo`` function if the " "address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" +"Se optimizaron los métodos :meth:`loop.create_connection() ` y :meth:`loop.create_server() ` para evitar llamar al sistema la función ``getaddrinfo`` si " +"la dirección ya está resuelta. (Contribución de A. Jesse Jiryu Davis.)" #: ../Doc/whatsnew/3.5.rst:865 msgid "" @@ -1031,10 +1395,13 @@ msgid "" "longer requires the *address* to be resolved prior to the call. (Contributed " "by A. Jesse Jiryu Davis.)" msgstr "" +"El método :meth:`loop.sock_connect(sock, address) ` ya no requiere *address* para que se resuelva antes de la " +"llamada. (Contribución de A. Jesse Jiryu Davis.)" #: ../Doc/whatsnew/3.5.rst:871 msgid "bz2" -msgstr "" +msgstr "bz2" #: ../Doc/whatsnew/3.5.rst:873 msgid "" @@ -1042,30 +1409,39 @@ msgid "" "method now accepts an optional *max_length* argument to limit the maximum " "size of decompressed data. (Contributed by Nikolaus Rath in :issue:`15955`.)" msgstr "" +"Ahora el método :meth:`BZ2Decompressor.decompress ` acepta un argumento opcional *max_length* para limitar el " +"tamaño máximo de datos descomprimidos. (Contribución de Nikolaus Rath en :" +"issue:`15955`.)" #: ../Doc/whatsnew/3.5.rst:879 msgid "cgi" -msgstr "" +msgstr "cgi" #: ../Doc/whatsnew/3.5.rst:881 msgid "" "The :class:`~cgi.FieldStorage` class now supports the :term:`context " "manager` protocol. (Contributed by Berker Peksag in :issue:`20289`.)" msgstr "" +"Ahora la clase :class:`~cgi.FieldStorage` admite el protocolo :term:`context " +"manager`. (Contribución de Berker Peksag en :issue:`20289`.)" #: ../Doc/whatsnew/3.5.rst:886 msgid "cmath" -msgstr "" +msgstr "cmath" #: ../Doc/whatsnew/3.5.rst:888 msgid "" "A new function :func:`~cmath.isclose` provides a way to test for approximate " "equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" msgstr "" +"Una nueva función :func:`~cmath.isclose` proporciona una forma de probar la " +"igualdad aproximada. (Contribución de Chris Barker y Tal Einat en :issue:" +"`24270`.)" #: ../Doc/whatsnew/3.5.rst:893 msgid "code" -msgstr "" +msgstr "code" #: ../Doc/whatsnew/3.5.rst:895 msgid "" @@ -1074,10 +1450,14 @@ msgid "" "traceback, just like the interactive interpreter. (Contributed by Claudiu " "Popa in :issue:`17442`.)" msgstr "" +"Ahora el método :func:`InteractiveInterpreter.showtraceback() ` imprime el rastreo encadenado " +"completo, al igual que el interprete interactivo. (Contribución de Claudiu " +"Popa en :issue:`17442`.)" #: ../Doc/whatsnew/3.5.rst:901 msgid "collections" -msgstr "" +msgstr "collections" #: ../Doc/whatsnew/3.5.rst:905 msgid "" @@ -1085,6 +1465,9 @@ msgid "" "makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:" "`16991`.)" msgstr "" +"Ahora la clase :class:`~collections.OrderedDict` está implementada en C, lo " +"que la hace de 4 a 100 veces más rápida. (Contribución de Eric Snow en :" +"issue:`16991`.)" #: ../Doc/whatsnew/3.5.rst:908 msgid "" @@ -1093,6 +1476,10 @@ msgid "" "values() ` views now support :func:" "`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" msgstr "" +":meth:`OrderedDict.items() `, :meth:" +"`OrderedDict.keys() `, :meth:`OrderedDict." +"values() ` ahora soportan la iteración :func:" +"`reversed`. (Contribución de Serhiy Storchaka en :issue:`19505`.)" #: ../Doc/whatsnew/3.5.rst:914 msgid "" @@ -1103,15 +1490,23 @@ msgid "" "substitutability for lists. (Contributed by Raymond Hettinger in :issue:" "`23704`.)" msgstr "" +"Ahora la clase :class:`~collections.deque` define :meth:`~collections.deque." +"index`, :meth:`~collections.deque.insert` y :meth:`~collections.deque.copy`, " +"y soporta los operadores ``+`` y ``*``. Esto permite que las deques sean " +"reconocidas como :class:`~collections.abc.MutableSequence` y mejora su " +"sustituibilidad por listas. (Contribución de Raymond Hettinger en :issue:" +"`23704`.)" #: ../Doc/whatsnew/3.5.rst:921 msgid "" "Docstrings produced by :func:`~collections.namedtuple` can now be updated::" msgstr "" +"Ahora las docstrings producidas por :func:`~collections.namedtuple` se " +"pueden actualizar::" #: ../Doc/whatsnew/3.5.rst:928 msgid "(Contributed by Berker Peksag in :issue:`24064`.)" -msgstr "" +msgstr "(Contribución de Berker Peksag en :issue:`24064`.)" #: ../Doc/whatsnew/3.5.rst:930 msgid "" @@ -1121,10 +1516,15 @@ msgid "" "match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik " "in :issue:`22189`.)" msgstr "" +"Ahora la clase :class:`~collections.UserString` implementa los métodos :meth:" +"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." +"format_map`, :meth:`~str.isprintable` y :meth:`~str.maketrans` para que " +"coincidan con los métodos correspondientes de :class:`str`. (Contribución de " +"Joe Jevnik en :issue:`22189`.)" #: ../Doc/whatsnew/3.5.rst:938 msgid "collections.abc" -msgstr "" +msgstr "collections.abc" #: ../Doc/whatsnew/3.5.rst:940 msgid "" @@ -1133,12 +1533,18 @@ msgid "" "class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :" "issue:`23086`.)" msgstr "" +"Ahora el método :meth:`Sequence.index() ` " +"acepta los argumentos *start* y *stop* para que coincidan con los métodos " +"correspondientes de :class:`tuple`, :class:`list`, etc. (Contribución de " +"Devin Jeanpierre en :issue:`23086`.)" #: ../Doc/whatsnew/3.5.rst:945 msgid "" "A new :class:`~collections.abc.Generator` abstract base class. (Contributed " "by Stefan Behnel in :issue:`24018`.)" msgstr "" +"Una nueva clase de base abstracta :class:`~collections.abc.Generator`. " +"(Contribución de Stefan Behnel en :issue:`24018`.)" #: ../Doc/whatsnew/3.5.rst:948 msgid "" @@ -1147,16 +1553,23 @@ msgid "" "`~collections.abc.AsyncIterable` abstract base classes. (Contributed by Yury " "Selivanov in :issue:`24184`.)" msgstr "" +"Nuevas clases de base abstracta :class:`~collections.abc.Awaitable`, :class:" +"`~collections.abc.Coroutine`, :class:`~collections.abc.AsyncIterator` y :" +"class:`~collections.abc.AsyncIterable`. (Contribución de Yury Selivanov en :" +"issue:`24184`.)" #: ../Doc/whatsnew/3.5.rst:953 msgid "" "For earlier Python versions, a backport of the new ABCs is available in an " "external `PyPI package `_." msgstr "" +"Para versiones anteriores de Python, un backport del nuevo ABC está " +"disponible en un `paquete PyPI `_ " +"externo." #: ../Doc/whatsnew/3.5.rst:958 msgid "compileall" -msgstr "" +msgstr "compileall" #: ../Doc/whatsnew/3.5.rst:960 msgid "" @@ -1165,12 +1578,19 @@ msgid "" "`~compileall.compile_dir` function has a corresponding ``workers`` " "parameter. (Contributed by Claudiu Popa in :issue:`16104`.)" msgstr "" +"Una nueva opción :mod:`compileall`, :samp:`-j {N}`, permite ejecutar *N* " +"workers simultáneamente para realizar la compilación de bytecode en " +"paralelo. La función :func:`~compileall.compile_dir` tiene un parámetro " +"``workers`` correspondiente. (Contribución de Claudiu Popa en :issue:" +"`16104`.)" #: ../Doc/whatsnew/3.5.rst:965 msgid "" "Another new option, ``-r``, allows controlling the maximum recursion level " "for subdirectories. (Contributed by Claudiu Popa in :issue:`19628`.)" msgstr "" +"Otra nueva opción, ``-r``, permite controlar el nivel máximo de recursividad " +"de los subdirectorios. (Contribución de Claudiu Popa en :issue:`19628`.)" #: ../Doc/whatsnew/3.5.rst:968 msgid "" @@ -1181,10 +1601,16 @@ msgid "" "integer value indicating the level of output suppression. (Contributed by " "Thomas Kluyver in :issue:`21338`.)" msgstr "" +"Ahora la opción de línea de comando ``-q`` se puede especificar más de una " +"vez, en cuyo caso todas las salidas, incluyendo errores, se suprimirán. " +"Ahora el parámetro ``quiet`` correspondiente en :func:`~compileall." +"compile_dir`, :func:`~compileall.compile_file` y :func:`~compileall." +"compile_path` puede aceptar un valor entero que indica el nivel de supresión " +"de salida. (Contribución de Thomas Kluyver en :issue:`21338`.)" #: ../Doc/whatsnew/3.5.rst:977 msgid "concurrent.futures" -msgstr "" +msgstr "concurrent.futures" #: ../Doc/whatsnew/3.5.rst:979 msgid "" @@ -1193,6 +1619,10 @@ msgid "" "performance when :meth:`~concurrent.futures.ProcessPoolExecutor` is used. " "(Contributed by Dan O'Reilly in :issue:`11271`.)" msgstr "" +"Ahora el método :meth:`Executor.map() ` " +"acepta un argumento *chunksize* para permitir el procesamiento por lotes de " +"tareas para mejorar el desempeño cuando se usa :meth:`~concurrent.futures." +"ProcessPoolExecutor`. (Contribución de Dan O'Reilly en :issue:`11271`.)" #: ../Doc/whatsnew/3.5.rst:984 msgid "" @@ -1200,10 +1630,13 @@ msgid "" "constructor is optional now. The default value is 5 times the number of " "CPUs. (Contributed by Claudiu Popa in :issue:`21527`.)" msgstr "" +"Ahora el número de workers en el constructor :class:`~concurrent.futures." +"ThreadPoolExecutor` es opcional. El valor predeterminado es 5 veces el " +"número de CPUs. (Contribución de Claudiu Popa en :issue:`21527`.)" #: ../Doc/whatsnew/3.5.rst:990 msgid "configparser" -msgstr "" +msgstr "configparser" #: ../Doc/whatsnew/3.5.rst:992 msgid "" @@ -1213,18 +1646,23 @@ msgid "" "``ConfigParser`` subclasses. Converters defined in a parser instance are " "inherited by its section proxies." msgstr "" +"Ahora :mod:`configparser` proporciona una forma de personalizar la " +"conversión de valores al especificar un diccionario de convertidores en el " +"constructor :class:`~configparser.ConfigParser` o al definirlos como métodos " +"en las subclases ``ConfigParser``. Los convertidores definidos en una " +"instancia de analizador se heredan por sus proxies de sección." #: ../Doc/whatsnew/3.5.rst:998 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/whatsnew/3.5.rst:1016 msgid "(Contributed by Łukasz Langa in :issue:`18159`.)" -msgstr "" +msgstr "(Contribución de Łukasz Langa en :issue:`18159`.)" #: ../Doc/whatsnew/3.5.rst:1020 msgid "contextlib" -msgstr "" +msgstr "contextlib" #: ../Doc/whatsnew/3.5.rst:1022 msgid "" @@ -1233,24 +1671,31 @@ msgid "" "to handle inflexible APIs that write their output to :data:`sys.stderr` and " "don't provide any options to redirect it::" msgstr "" +"El nuevo :term:`context manager` :func:`~contextlib.redirect_stderr` " +"(similar a :func:`~contextlib.redirect_stdout`) facilita que los scripts de " +"utilidad manejen APIs inflexibles que escriben su salida a :data:`sys." +"stderr` y no proporcionen ninguna opción para redirigirlo::" #: ../Doc/whatsnew/3.5.rst:1035 msgid "(Contributed by Berker Peksag in :issue:`22389`.)" -msgstr "" +msgstr "(Contribución de Berker Peksag en :issue:`22389`.)" #: ../Doc/whatsnew/3.5.rst:1039 msgid "csv" -msgstr "" +msgstr "csv" #: ../Doc/whatsnew/3.5.rst:1041 msgid "" "The :meth:`~csv.csvwriter.writerow` method now supports arbitrary iterables, " "not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)" msgstr "" +"Ahora el método :meth:`~csv.csvwriter.writerow` admite iterables " +"arbitrarios, no sólo secuencias. (Contribución de Serhiy Storchaka en :issue:" +"`23171`.)" #: ../Doc/whatsnew/3.5.rst:1046 msgid "curses" -msgstr "" +msgstr "curses" #: ../Doc/whatsnew/3.5.rst:1048 msgid "" @@ -1259,10 +1704,14 @@ msgid "" "detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:" "`4254`.)" msgstr "" +"La nueva función :func:`~curses.update_lines_cols` actualiza las variables " +"de entorno :envvar:`LINES` y :envvar:`COLS`. Esto es útil para detectar el " +"cambio de tamaño manual de la pantalla. (Contribución de Arnon Yaari en :" +"issue:`4254`.)" #: ../Doc/whatsnew/3.5.rst:1054 msgid "dbm" -msgstr "" +msgstr "dbm" #: ../Doc/whatsnew/3.5.rst:1056 msgid "" @@ -1270,10 +1719,13 @@ msgid "" "flag has the value ``\"n\"``. (Contributed by Claudiu Popa in :issue:" "`18039`.)" msgstr "" +":func:`dumb.open ` siempre crea una nueva base de datos " +"cuando la bandera tiene el valor ``\"n\"``. (Contribución de Claudiu Popa " +"en :issue:`18039`.)" #: ../Doc/whatsnew/3.5.rst:1061 msgid "difflib" -msgstr "" +msgstr "difflib" #: ../Doc/whatsnew/3.5.rst:1063 msgid "" @@ -1283,6 +1735,11 @@ msgid "" "\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:" "`2052`.)" msgstr "" +"Ahora el juego de caracteres de los documentos HTML generado por :meth:" +"`HtmlDiff.make_file() ` se puede personalizar " +"usando un nuevo argumento de solo palabras clave *charset*. El juego de " +"caracteres predeterminado del documento HTML cambió de ``\"ISO-8859-1\"`` a " +"``\"utf-8\"``. (Contribución de Berker Peksag en :issue:`2052`.)" #: ../Doc/whatsnew/3.5.rst:1070 msgid "" @@ -1290,10 +1747,13 @@ msgid "" "strings. This fixes a regression from Python 2. (Contributed by Terry J. " "Reedy and Greg Ward in :issue:`17445`.)" msgstr "" +"Ahora la función :func:`~difflib.diff_bytes` puede comparar listas de bytes " +"de cadenas de caracteres. Esto arregla una regresión de Python 2. " +"(Contribución de Terry J. Reedy y Greg Ward en :issue:`17445`.)" #: ../Doc/whatsnew/3.5.rst:1076 msgid "distutils" -msgstr "" +msgstr "distutils" #: ../Doc/whatsnew/3.5.rst:1078 msgid "" @@ -1301,6 +1761,9 @@ msgid "" "enable parallel building of extension modules. (Contributed by Antoine " "Pitrou in :issue:`5309`.)" msgstr "" +"Ahora los comandos ``build`` y ``build_ext`` aceptan una opción ``-j`` para " +"habilitar la construcción paralela de módulos de extensión. (Contribución de " +"Antoine Pitrou en :issue:`5309`.)" #: ../Doc/whatsnew/3.5.rst:1082 msgid "" @@ -1308,10 +1771,13 @@ msgid "" "enabled by passing ``xztar`` as an argument to ``bdist --format``. " "(Contributed by Serhiy Storchaka in :issue:`16314`.)" msgstr "" +"Ahora el módulo :mod:`distutils` admite la compresión ``xz`` y se puede " +"habilitar pasando ``xztar`` como un argumento a ``bdist --format``. " +"(Contribución de Serhiy Storchaka en :issue:`16314`.)" #: ../Doc/whatsnew/3.5.rst:1088 msgid "doctest" -msgstr "" +msgstr "doctest" #: ../Doc/whatsnew/3.5.rst:1090 msgid "" @@ -1319,10 +1785,13 @@ msgid "" "TestSuite` if *module* contains no docstrings, instead of raising :exc:" "`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)" msgstr "" +"La función :func:`~doctest.DocTestSuite` retorna una clase :class:`unittest." +"TestSuite` vacía si *module* no contiene docstrings, en lugar de lanzar :exc:" +"`ValueError`. (Contribución de Glenn Jones en :issue:`15916`.)" #: ../Doc/whatsnew/3.5.rst:1096 msgid "email" -msgstr "" +msgstr "email" #: ../Doc/whatsnew/3.5.rst:1098 msgid "" @@ -1332,6 +1801,12 @@ msgid "" "default is ``True`` for :attr:`~email.policy.compat32` and ``False`` for all " "other policies. (Contributed by Milan Oberkirch in :issue:`20098`.)" msgstr "" +"Una nueva opción de directiva :attr:`Policy.mangle_from_ ` controla si las líneas que empiecen o no con ``\"From " +"\"`` en los cuerpos del correo electrónico tienen el prefijo de un caracter " +"``\">\"`` por generadores. El valor predeterminado es ``True`` para :attr:" +"`~email.policy.compat32` y ``False`` para todas las demás directivas. " +"(Contribución de Milan Oberkirch en :issue:`20098`.)" #: ../Doc/whatsnew/3.5.rst:1104 msgid "" @@ -1340,6 +1815,10 @@ msgid "" "for the :mailheader:`Content-Disposition` header. (Contributed by Abhilash " "Raj in :issue:`21083`.)" msgstr "" +"Un nuevo método :meth:`Message.get_content_disposition() ` proporciona fácil acceso a un valor " +"canónico para el encabezado :mailheader:`Content-Disposition`. (Contribución " +"de Abhilash Raj en :issue:`21083`.)" #: ../Doc/whatsnew/3.5.rst:1110 msgid "" @@ -1350,6 +1829,13 @@ msgid "" "`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in :issue:" "`24211`.)" msgstr "" +"Una nueva opción de directiva :attr:`EmailPolicy.utf8 ` se puede configurar en ``True`` para codificar los " +"encabezados de correo electrónico usando el juego de caracteres UTF-8 en " +"lugar de utilizar palabras codificadas. Esto permite formatear ``Messages`` " +"de acuerdo a :rfc:`6532` y usarlos con un servidor SMTP que admita la " +"extensión :rfc:`6531` ``SMTPUTF8``. (Contribución de R. David Murray en :" +"issue:`24211`.)" #: ../Doc/whatsnew/3.5.rst:1117 msgid "" @@ -1357,24 +1843,30 @@ msgid "" "accepts a :class:`charset.Charset ` instance. " "(Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)" msgstr "" +"Ahora el constructor :class:`mime.text.MIMEText ` " +"admite una instancia de :class:`charset.Charset `. " +"(Contribución de Claude Paroz y Berker Peksag en :issue:`16324`.)" #: ../Doc/whatsnew/3.5.rst:1123 msgid "enum" -msgstr "" +msgstr "enum" #: ../Doc/whatsnew/3.5.rst:1125 msgid "" "The :class:`~enum.Enum` callable has a new parameter *start* to specify the " "initial number of enum values if only *names* are provided::" msgstr "" +"La clase invocable :class:`~enum.Enum` tiene un nuevo parámetro *start* para " +"especificar el número inicial de los valores de enumeración si solo se " +"proporcionan *names*::" #: ../Doc/whatsnew/3.5.rst:1134 msgid "(Contributed by Ethan Furman in :issue:`21706`.)" -msgstr "" +msgstr "(Contribución de Ethan Furman en :issue:`21706`.)" #: ../Doc/whatsnew/3.5.rst:1138 msgid "faulthandler" -msgstr "" +msgstr "faulthandler" #: ../Doc/whatsnew/3.5.rst:1140 msgid "" @@ -1383,10 +1875,14 @@ msgid "" "dump_traceback_later` functions now accept file descriptors in addition to " "file-like objects. (Contributed by Wei Wu in :issue:`23566`.)" msgstr "" +"Ahora las funciones :func:`~faulthandler.enable`, :func:`~faulthandler." +"register`, :func:`~faulthandler.dump_traceback` y :func:`~faulthandler." +"dump_traceback_later` aceptan descriptores de archivo además de objetos " +"similares a archivos. (Contribución de Wei Wu en :issue:`23566`.)" #: ../Doc/whatsnew/3.5.rst:1148 msgid "functools" -msgstr "" +msgstr "functools" #: ../Doc/whatsnew/3.5.rst:1152 msgid "" @@ -1394,10 +1890,13 @@ msgid "" "making it significantly faster. (Contributed by Matt Joiner, Alexey " "Kachayev, and Serhiy Storchaka in :issue:`14373`.)" msgstr "" +"Ahora la mayoría de la maquinaria de :func:`~functools.lru_cache` se " +"implementa en C, lo que la hace significativamente más rápida. (Contribución " +"de Matt Joiner, Alexey Kachayev y Serhiy Storchaka en :issue:`14373`.)" #: ../Doc/whatsnew/3.5.rst:1158 msgid "glob" -msgstr "" +msgstr "glob" #: ../Doc/whatsnew/3.5.rst:1160 msgid "" @@ -1405,10 +1904,13 @@ msgid "" "recursive search in subdirectories, using the ``\"**\"`` pattern. " "(Contributed by Serhiy Storchaka in :issue:`13968`.)" msgstr "" +"Ahora las funciones :func:`~glob.iglob` y :func:`~glob.glob` admiten " +"búsquedas recursivas en subdirectorios usando el patrón ``\"**\"``. " +"(Contribución de Serhiy Storchaka en :issue:`13968`.)" #: ../Doc/whatsnew/3.5.rst:1166 msgid "gzip" -msgstr "" +msgstr "gzip" #: ../Doc/whatsnew/3.5.rst:1168 msgid "" @@ -1416,10 +1918,13 @@ msgid "" "\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in :issue:" "`19222`.)" msgstr "" +"Ahora el argumento *mode* del constructor de :class:`~gzip.GzipFile` acepta " +"``\"x\"`` para solicitar la creación exclusiva. (Contribución de Tim Heaney " +"en :issue:`19222`.)" #: ../Doc/whatsnew/3.5.rst:1174 msgid "heapq" -msgstr "" +msgstr "heapq" #: ../Doc/whatsnew/3.5.rst:1176 msgid "" @@ -1428,14 +1933,18 @@ msgid "" "optional *reverse* keyword argument can be used to reverse element " "comparison::" msgstr "" +"Ahora la comparación de elementos en :func:`~heapq.merge` se puede " +"personalizar pasando una :term:`key function` en un nuevo argumento de " +"palabra clave opcional *key*, y un nuevo argumento de palabra clave opcional " +"*reverse* se puede usar para revertir la comparación de elementos::" #: ../Doc/whatsnew/3.5.rst:1189 msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger en :issue:`13742`.)" #: ../Doc/whatsnew/3.5.rst:1193 msgid "http" -msgstr "" +msgstr "http" #: ../Doc/whatsnew/3.5.rst:1195 msgid "" @@ -1443,10 +1952,13 @@ msgid "" "status codes, reason phrases and long descriptions written in English. " "(Contributed by Demian Brecht in :issue:`21793`.)" msgstr "" +"Una nueva enumeración :class:`HTTPStatus ` que define un " +"conjunto de códigos de estado HTTP, frases de motivo y descripciones largas " +"escritas en inglés. (Contribución de Demian Brecht en :issue:`21793`.)" #: ../Doc/whatsnew/3.5.rst:1201 msgid "http.client" -msgstr "" +msgstr "http.client" #: ../Doc/whatsnew/3.5.rst:1203 msgid "" @@ -1457,14 +1969,20 @@ msgid "" "raised, the client socket is now closed automatically, and will reconnect on " "the next request::" msgstr "" +"Ahora :meth:`HTTPConnection.getresponse() ` lanza una excepción :exc:`~http.client.RemoteDisconnected` " +"cuando una conexión de servidor remoto se cierra inesperadamente. Además, si " +"se lanza una excepción :exc:`ConnectionError` (del cual " +"``RemoteDisconnected`` es una subclase), ahora el socket del cliente se " +"cierra automáticamente y se reconectará en la siguiente solicitud::" #: ../Doc/whatsnew/3.5.rst:1219 msgid "(Contributed by Martin Panter in :issue:`3566`.)" -msgstr "" +msgstr "(Contribución de Martin Panter en :issue:`3566`.)" #: ../Doc/whatsnew/3.5.rst:1223 msgid "idlelib and IDLE" -msgstr "" +msgstr "idlelib e IDLE" #: ../Doc/whatsnew/3.5.rst:1225 msgid "" @@ -1474,10 +1992,16 @@ msgid "" "well as changes made in future 3.5.x releases. This file is also available " "from the IDLE :menuselection:`Help --> About IDLE` dialog." msgstr "" +"Desde que idlelib implementa el shell y el editor IDLE y no se destina para " +"ser importado por otros programas, obtiene mejoras con cada versión. " +"Consultar :file:`Lib/idlelib/NEWS.txt` para una lista acumulativa de cambios " +"desde la 3.4.0, así como los cambios realizados en futuras versiones 3.5.x. " +"Este archivo también está disponible en IDLE :menuselection:`Help --> About " +"IDLE`." #: ../Doc/whatsnew/3.5.rst:1233 msgid "imaplib" -msgstr "" +msgstr "imaplib" #: ../Doc/whatsnew/3.5.rst:1235 msgid "" @@ -1486,6 +2010,10 @@ msgid "" "command will be called automatically at the end of the block. (Contributed " "by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)" msgstr "" +"Ahora la clase :class:`~imaplib.IMAP4` admite el protocolo :term:`context " +"manager`. Cuando se utiliza en una declaración :keyword:`with`, el comando " +"IMAP4 ``LOGOUT`` se llamará automáticamente al final del bloque. " +"(Contribución de Tarek Ziadé y Serhiy Storchaka en :issue:`4972`.)" #: ../Doc/whatsnew/3.5.rst:1240 msgid "" @@ -1496,6 +2024,12 @@ msgid "" "enabled. (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik " "in :issue:`21800`.)" msgstr "" +"Ahora el módulo :mod:`imaplib` admite :rfc:`5161` (extensión ENABLE) y :rfc:" +"`6855` (soporte UTF-8) a través del método :meth:`IMAP4.enable() `. Un nuevo atributo :attr:`IMAP4.utf8_enabled ` rastrea si el soporte con :rfc:`6855` está habilitado o no. " +"(Contribución de Milan Oberkirch, R. David Murray y Maciej Szulik en :issue:" +"`21800`.)" #: ../Doc/whatsnew/3.5.rst:1247 msgid "" @@ -1503,10 +2037,13 @@ msgid "" "usernames and passwords using UTF-8, as recommended by the RFCs. " "(Contributed by Milan Oberkirch in :issue:`21800`.)" msgstr "" +"Ahora el módulo :mod:`imaplib` codifica automáticamente nombres de usuario y " +"contraseñas de cadenas de caracteres no ASCII usando UTF-8, como recomiendan " +"las RFCs. (Contribución de Milan Oberkirch en :issue:`21800`.)" #: ../Doc/whatsnew/3.5.rst:1253 msgid "imghdr" -msgstr "" +msgstr "imghdr" #: ../Doc/whatsnew/3.5.rst:1255 msgid "" @@ -1515,10 +2052,14 @@ msgid "" "issue:`20295`), and the `WebP `_ format " "(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" msgstr "" +"Ahora la función :func:`~imghdr.what` reconoce el formato `OpenEXR `_ (contribución de Martin Vignali y Claudiu Popa en :issue:" +"`20295`) y el formato `WebP `_ " +"(contribución de Fabrice Aneche y Claudiu Popa en :issue:`20197`.)" #: ../Doc/whatsnew/3.5.rst:1263 msgid "importlib" -msgstr "" +msgstr "importlib" #: ../Doc/whatsnew/3.5.rst:1265 msgid "" @@ -1526,6 +2067,9 @@ msgid "" "lazy loading of modules in applications where startup time is important. " "(Contributed by Brett Cannon in :issue:`17621`.)" msgstr "" +"La clase :class:`util.LazyLoader ` permite la " +"carga lenta de módulos en aplicaciones donde el tiempo de inicio es " +"importante. (Contribución de Brett Cannon en :issue:`17621`.)" #: ../Doc/whatsnew/3.5.rst:1269 msgid "" @@ -1535,6 +2079,11 @@ msgid "" "``exec(code, module.__dict__)``. (Contributed by Brett Cannon in :issue:" "`21156`.)" msgstr "" +"Ahora el método es :func:`abc.InspectLoader.source_to_code() ` es un método estático. Esto hace más fácil la " +"inicialización de un objeto de módulo con código compilado a partir de una " +"cadena de caracteres ejecutando ``exec(code, module.__dict__)``. " +"(Contribución de Brett Cannon en :issue:`21156`.)" #: ../Doc/whatsnew/3.5.rst:1275 msgid "" @@ -1544,10 +2093,16 @@ msgid "" "will set the various import-controlled attributes based on the passed-in " "spec object. (Contributed by Brett Cannon in :issue:`20383`.)" msgstr "" +"Ahora la nueva función :func:`util.module_from_spec() ` es la forma preferida para crear un nuevo módulo. A " +"diferencia de crear directamente una instancia :class:`types.ModuleType`, " +"esta nueva función configurará varios atributos controlados por importación " +"basados en el objeto de especificación pasado. (Contribución de Brett Cannon " +"en :issue:`20383`.)" #: ../Doc/whatsnew/3.5.rst:1283 msgid "inspect" -msgstr "" +msgstr "inspect" #: ../Doc/whatsnew/3.5.rst:1285 msgid "" @@ -1555,6 +2110,9 @@ msgid "" "are now picklable and hashable. (Contributed by Yury Selivanov in :issue:" "`20726` and :issue:`20334`.)" msgstr "" +"Ahora las clases :class:`~inspect.Signature` y :class:`~inspect.Parameter` " +"se pueden seleccionar y manipular. (Contribución de Yury Selivanov en :issue:" +"`20726` y :issue:`20334`.)" #: ../Doc/whatsnew/3.5.rst:1289 msgid "" @@ -1562,10 +2120,13 @@ msgid "" "apply_defaults>` method provides a way to set default values for missing " "arguments::" msgstr "" +"Un nuevo método :meth:`BoundArguments.apply_defaults() ` proporciona una forma de establecer valores " +"predeterminados para los argumentos faltantes::" #: ../Doc/whatsnew/3.5.rst:1299 msgid "(Contributed by Yury Selivanov in :issue:`24190`.)" -msgstr "" +msgstr "(Contribución de Yury Selivanov en :issue:`24190`.)" #: ../Doc/whatsnew/3.5.rst:1301 msgid "" @@ -1573,6 +2134,9 @@ msgid "" "from_callable>` makes subclassing of :class:`~inspect.Signature` easier. " "(Contributed by Yury Selivanov and Eric Snow in :issue:`17373`.)" msgstr "" +"Un nuevo método de clase :meth:`Signature.from_callable() ` facilita la subclasificación de :class:`~inspect.Signature`. " +"(Contribución de Yury Selivanov y Eric Snow en :issue:`17373`.)" #: ../Doc/whatsnew/3.5.rst:1306 msgid "" @@ -1581,6 +2145,10 @@ msgid "" "following of ``__wrapped__`` links. (Contributed by Yury Selivanov in :issue:" "`20691`.)" msgstr "" +"Ahora la función :func:`~inspect.signature` acepta un argumento de palabra " +"clave opcional *follow_wrapped*, el cual, cuando se establece en ``False``, " +"deshabilita el seguimiento automático de enlaces ``__wrapped__``. " +"(Contribución de Yury Selivanov en :issue:`20691`.)" #: ../Doc/whatsnew/3.5.rst:1311 msgid "" @@ -1591,6 +2159,12 @@ msgid "" "`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in :issue:" "`24017` and :issue:`24400`.)" msgstr "" +"Se ha agregado un conjunto de nuevas funciones para inspeccionar :term:" +"`funciones corrutina ` y :term:`objetos corrutina " +"`: :func:`~inspect.iscoroutine`, :func:`~inspect." +"iscoroutinefunction`, :func:`~inspect.isawaitable`, :func:`~inspect." +"getcoroutinelocals` y :func:`~inspect.getcoroutinestate`. (Contribución de " +"Yury Selivanov en :issue:`24017` y :issue:`24400`.)" #: ../Doc/whatsnew/3.5.rst:1319 msgid "" @@ -1598,10 +2172,14 @@ msgid "" "getouterframes`, and :func:`~inspect.getinnerframes` functions now return a " "list of named tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)" msgstr "" +"Ahora las funciones :func:`~inspect.stack`, :func:`~inspect.trace`, :func:" +"`~inspect.getouterframes` y :func:`~inspect.getinnerframes` retornan una " +"lista de tuplas con nombre. (Contribución de Daniel Shahaf en :issue:" +"`16808`.)" #: ../Doc/whatsnew/3.5.rst:1326 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/whatsnew/3.5.rst:1328 msgid "" @@ -1611,10 +2189,15 @@ msgid "" "RawIOBase.readinto>` methods. (Contributed by Nikolaus Rath in :issue:" "`20578`.)" msgstr "" +"Un nuevo método :meth:`BufferedIOBase.readinto1() `, que usa como mucho una llamada al flujo sin procesar subyacente " +"de los métodos :meth:`RawIOBase.read() ` o :meth:" +"`RawIOBase.readinto() `. (Contribución de Nikolaus " +"Rath en :issue:`20578`.)" #: ../Doc/whatsnew/3.5.rst:1336 msgid "ipaddress" -msgstr "" +msgstr "ipaddress" #: ../Doc/whatsnew/3.5.rst:1338 msgid "" @@ -1622,10 +2205,13 @@ msgid "" "classes now accept an ``(address, netmask)`` tuple argument, so as to easily " "construct network objects from existing addresses::" msgstr "" +"Ahora las clases :class:`~ipaddress.IPv4Network` y :class:`~ipaddress." +"IPv6Network` aceptan un argumento de tupla ``(address, netmask)``, para " +"construir fácilmente objetos de red a partir de direcciones existentes::" #: ../Doc/whatsnew/3.5.rst:1348 msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" -msgstr "" +msgstr "(Contribución de Peter Moody y Antoine Pitrou en :issue:`16531`.)" #: ../Doc/whatsnew/3.5.rst:1350 msgid "" @@ -1633,14 +2219,17 @@ msgid "" "class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " "returns the name of the reverse DNS PTR record::" msgstr "" +"Un nuevo atributo :attr:`~ipaddress.IPv4Network.reverse_pointer` para las " +"clases :class:`~ipaddress.IPv4Network` y :class:`~ipaddress.IPv6Network` " +"retorna el nombre del registro DNS PTR inverso::" #: ../Doc/whatsnew/3.5.rst:1362 msgid "(Contributed by Leon Weber in :issue:`20480`.)" -msgstr "" +msgstr "(Contribución de Leon Weber en :issue:`20480`.)" #: ../Doc/whatsnew/3.5.rst:1366 msgid "json" -msgstr "" +msgstr "json" #: ../Doc/whatsnew/3.5.rst:1368 msgid "" @@ -1649,6 +2238,10 @@ msgid "" "to sort the keys alphabetically. (Contributed by Berker Peksag in :issue:" "`21650`.)" msgstr "" +"Ahora la interfaz de la línea de comandos :mod:`json.tool` conserva el orden " +"de los nombres en los objetos JSON pasados en la entrada. La nueva opción " +"``--sort-keys`` se puede usar para ordenar los nombres alfabéticamente. " +"(Contribución de Berker Peksag en :issue:`21650`.)" #: ../Doc/whatsnew/3.5.rst:1373 msgid "" @@ -1656,10 +2249,13 @@ msgid "" "`ValueError` to provide better context information about the error. " "(Contributed by Serhiy Storchaka in :issue:`19361`.)" msgstr "" +"Ahora el decodificador JSON lanza :exc:`~json.JSONDecodeError` en lugar de :" +"exc:`ValueError` para proporcionar una mejor información de contexto sobre " +"el error. (Contribución de Serhiy Storchaka en :issue:`19361`.)" #: ../Doc/whatsnew/3.5.rst:1379 msgid "linecache" -msgstr "" +msgstr "linecache" #: ../Doc/whatsnew/3.5.rst:1381 msgid "" @@ -1669,10 +2265,16 @@ msgid "" "actually needed, without having to carry the module globals around " "indefinitely. (Contributed by Robert Collins in :issue:`17911`.)" msgstr "" +"Una nueva función :func:`~linecache.lazycache` se puede usar para capturar " +"información sobre un módulo no basado en archivos para permitir obtener sus " +"líneas más tarde a través de :func:`~linecache.getline`. Esto evita hacer E/" +"S hasta que una línea sea realmente necesaria, sin tener que llevar los " +"módulos globales indefinidamente. (Contribución de Robert Collins en :issue:" +"`17911`.)" #: ../Doc/whatsnew/3.5.rst:1389 msgid "locale" -msgstr "" +msgstr "locale" #: ../Doc/whatsnew/3.5.rst:1391 msgid "" @@ -1680,14 +2282,17 @@ msgid "" "into a normalized number string, taking the ``LC_NUMERIC`` settings into " "account::" msgstr "" +"Una nueva función :func:`~locale.delocalize` se puede usar para convertir " +"una cadena de caracteres en una cadena numérica normalizada, teniendo la " +"configuración ``LC_NUMERIC`` en cuenta::" #: ../Doc/whatsnew/3.5.rst:1404 msgid "(Contributed by Cédric Krier in :issue:`13918`.)" -msgstr "" +msgstr "(Contribución de Cédric Krier en :issue:`13918`.)" #: ../Doc/whatsnew/3.5.rst:1408 msgid "logging" -msgstr "" +msgstr "logging" #: ../Doc/whatsnew/3.5.rst:1410 msgid "" @@ -1696,10 +2301,15 @@ msgid "" "`~logging.Logger.debug`, etc.), now accept exception instances as an " "*exc_info* argument, in addition to boolean values and exception tuples::" msgstr "" +"Ahora todos los métodos del módulo logging (:class:`~logging.Logger` :meth:" +"`~logging.Logger.log`, :meth:`~logging.Logger.exception`, :meth:`~logging." +"Logger.critical`, :meth:`~logging.Logger.debug`, etc.), aceptan instancias " +"de excepción como un argumento *exc_info*, además de valores booleanos y " +"tuplas de excepción::" #: ../Doc/whatsnew/3.5.rst:1423 msgid "(Contributed by Yury Selivanov in :issue:`20537`.)" -msgstr "" +msgstr "(Contribución de Yury Selivanov en :issue:`20537`.)" #: ../Doc/whatsnew/3.5.rst:1425 msgid "" @@ -1708,6 +2318,10 @@ msgid "" "settings used in an HTTP connection. (Contributed by Alex Gaynor in :issue:" "`22788`.)" msgstr "" +"Ahora la clase :class:`handlers.HTTPHandler ` " +"acepta una instancia opcional :class:`ssl.SSLContext` para establecer la " +"configuración SSL usada en una conexión HTTP. (Contribución de Alex Gaynor " +"en :issue:`22788`.)" #: ../Doc/whatsnew/3.5.rst:1430 msgid "" @@ -1716,10 +2330,14 @@ msgid "" "``True``, will pass messages to handlers taking handler levels into account. " "(Contributed by Vinay Sajip.)" msgstr "" +"Ahora la clase :class:`handlers.QueueListener ` toma un argumento de palabra clave *respect_handler_level*, " +"el cual, si se establece en ``True``, pasará mensajes a gestores teniendo en " +"cuenta los gestores de niveles. (Contribución de Vinay Sajip.)" #: ../Doc/whatsnew/3.5.rst:1437 msgid "lzma" -msgstr "" +msgstr "lzma" #: ../Doc/whatsnew/3.5.rst:1439 msgid "" @@ -1727,10 +2345,14 @@ msgid "" "method now accepts an optional *max_length* argument to limit the maximum " "size of decompressed data. (Contributed by Martin Panter in :issue:`15955`.)" msgstr "" +"Ahora el método :meth:`LZMADecompressor.decompress() ` acepta un argumento opcional *max_length* para limitar el " +"tamaño máximo de datos descomprimidos. (Contribución de Martin Panter en :" +"issue:`15955`.)" #: ../Doc/whatsnew/3.5.rst:1446 msgid "math" -msgstr "" +msgstr "math" #: ../Doc/whatsnew/3.5.rst:1448 msgid "" @@ -1738,12 +2360,17 @@ msgid "" "inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in :issue:" "`23185`.)" msgstr "" +"Se agregaron dos nuevas contantes en el módulo :mod:`math`: :data:`~math." +"inf` y :data:`~math.nan`. (Contribución de Mark Dickinson en :issue:`23185`.)" #: ../Doc/whatsnew/3.5.rst:1451 msgid "" "A new function :func:`~math.isclose` provides a way to test for approximate " "equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" msgstr "" +"Una nueva función :func:`~math.isclose` proporciona una forma de comprobar " +"la igualdad aproximada. (Contribución de Chris Barker y Tal Einat en :issue:" +"`24270`.)" #: ../Doc/whatsnew/3.5.rst:1454 msgid "" @@ -1751,10 +2378,13 @@ msgid "" "function is now deprecated. (Contributed by Mark Dickinson and Serhiy " "Storchaka in :issue:`22486`.)" msgstr "" +"Se agregó una nueva función :func:`~math.gcd`. Ahora la función :func:" +"`fractions.gcd` está obsoleta. (Contribución de Mark Dickinson y Serhiy " +"Storchaka en :issue:`22486`.)" #: ../Doc/whatsnew/3.5.rst:1460 msgid "multiprocessing" -msgstr "" +msgstr "multiprocessing" #: ../Doc/whatsnew/3.5.rst:1462 msgid "" @@ -1762,10 +2392,13 @@ msgid "" "synchronized>` objects now support the :term:`context manager` protocol. " "(Contributed by Charles-François Natali in :issue:`21565`.)" msgstr "" +"Ahora los objetos :func:`sharedctypes.synchronized() ` admiten el protocolo :term:`context manager`. " +"(Contribución de Charles-François Natali en :issue:`21565`.)" #: ../Doc/whatsnew/3.5.rst:1468 msgid "operator" -msgstr "" +msgstr "operator" #: ../Doc/whatsnew/3.5.rst:1470 msgid "" @@ -1773,6 +2406,9 @@ msgid "" "`~operator.methodcaller` objects now support pickling. (Contributed by Josh " "Rosenberg and Serhiy Storchaka in :issue:`22955`.)" msgstr "" +"Ahora los objetos :func:`~operator.attrgetter`, :func:`~operator.itemgetter` " +"y :func:`~operator.methodcaller` admiten pickling. (Contribución de Josh " +"Rosenberg y Serhiy Storchaka en :issue:`22955`.)" #: ../Doc/whatsnew/3.5.rst:1474 msgid "" @@ -1780,10 +2416,13 @@ msgid "" "perform matrix multiplication. (Contributed by Benjamin Peterson in :issue:" "`21176`.)" msgstr "" +"Las nuevas funciones :func:`~operator.matmul` y :func:`~operator.imatmul` " +"para realizar multiplicación de matrices. (Contribución de Benjamin Peterson " +"en :issue:`21176`.)" #: ../Doc/whatsnew/3.5.rst:1480 msgid "os" -msgstr "" +msgstr "os" #: ../Doc/whatsnew/3.5.rst:1482 msgid "" @@ -1794,6 +2433,13 @@ msgid "" "significantly improve performance. (Contributed by Ben Hoyt with the help " "of Victor Stinner in :issue:`22524`.)" msgstr "" +"Se agregó la nueva función :func:`~os.scandir` que retorna un iterador de :" +"class:`~os.DirEntry`. Si es posible, :func:`~os.scandir` extrae los " +"atributos del archivo mientras escanea un directorio, eliminando la " +"necesidad de realizar llamadas posteriores al sistema para determinar el " +"tipo de archivo o los atributos, lo que puede mejorar significativamente el " +"rendimiento. (Contribución de Ben Hoyt con la ayuda de Victor Stinner en :" +"issue:`22524`.)" #: ../Doc/whatsnew/3.5.rst:1489 msgid "" @@ -1803,6 +2449,11 @@ msgid "" "returned by ``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in :" "issue:`21719`.)" msgstr "" +"En Windows, ahora un nuevo atributo :attr:`stat_result.st_file_attributes " +"` está disponible. Corresponde al miembro " +"``dwFileAttributes`` de la estructura ``BY_HANDLE_FILE_INFORMATION`` " +"retornado por ``GetFileInformationByHandle()``. (Contribución de Ben Hoyt " +"en :issue:`21719`.)" #: ../Doc/whatsnew/3.5.rst:1495 msgid "" @@ -1811,6 +2462,12 @@ msgid "" "the need to use ``/dev/urandom`` and avoiding failures due to potential file " "descriptor exhaustion. (Contributed by Victor Stinner in :issue:`22181`.)" msgstr "" +"Ahora la función :func:`~os.urandom` usa la llamada al sistema " +"``getrandom()`` en Linux 3.17 o versiones más recientes, y ``getentropy()`` " +"en OpenBSD 5.6 y versiones más recientes, eliminando la necesidad de " +"utilizar ``/dev/urandom`` y evitando fallas debido al posible agotamiento " +"del descriptor de archivo. (Contribución de Victor Stinner en :issue:" +"`22181`.)" #: ../Doc/whatsnew/3.5.rst:1500 msgid "" @@ -1818,12 +2475,17 @@ msgid "" "getting and setting a file descriptor's blocking mode (:data:`~os." "O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" msgstr "" +"Las nuevas funciones :func:`~os.get_blocking` y :func:`~os.set_blocking` " +"permiten obtener y establecer un modo de bloqueo del descriptor (:data:`~os." +"O_NONBLOCK`.) (Contribución de Victor Stinner en :issue:`22054`.)" #: ../Doc/whatsnew/3.5.rst:1504 msgid "" "The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now " "supported on Windows. (Contributed by Steve Dower in :issue:`23668`.)" msgstr "" +"Ahora las funciones :func:`~os.truncate` y :func:`~os.ftruncate` se admiten " +"en Windows. (Contribución de Steve Dower en :issue:`23668`.)" #: ../Doc/whatsnew/3.5.rst:1507 msgid "" @@ -1831,14 +2493,17 @@ msgid "" "common sub-path of each passed pathname. Unlike the :func:`os.path." "commonprefix` function, it always returns a valid path::" msgstr "" +"Hay una nueva función :func:`os.path.commonpath` que retorna la sub-ruta " +"común más larga de cada nombre de ruta pasado. A diferencia de la función :" +"func:`os.path.commonprefix`, siempre retorna una ruta válida::" #: ../Doc/whatsnew/3.5.rst:1518 msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)" -msgstr "" +msgstr "(Contribución de Rafik Draoui y Serhiy Storchaka en :issue:`10395`.)" #: ../Doc/whatsnew/3.5.rst:1522 msgid "pathlib" -msgstr "" +msgstr "pathlib" #: ../Doc/whatsnew/3.5.rst:1524 msgid "" @@ -1846,10 +2511,14 @@ msgid "" "to check whether the path points to the same file as another path, which can " "be either another :class:`~pathlib.Path` object, or a string::" msgstr "" +"El nuevo método :meth:`Path.samefile() ` se puede " +"usar para verificar si la ruta apunta al mismo archivo que otra ruta, el " +"cual puede ser otro objeto :class:`~pathlib.Path` o una cadena de " +"caracteres::" #: ../Doc/whatsnew/3.5.rst:1534 msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)" -msgstr "" +msgstr "(Contribución de Vajrasky Kok y Antoine Pitrou en :issue:`19775`.)" #: ../Doc/whatsnew/3.5.rst:1536 msgid "" @@ -1857,6 +2526,10 @@ msgid "" "optional *exist_ok* argument to match ``mkdir -p`` and :func:`os.makedirs` " "functionality. (Contributed by Berker Peksag in :issue:`21539`.)" msgstr "" +"Ahora el método :meth:`Path.mkdir() ` acepta un nuevo " +"argumento opcional *exist_ok* para que coincida con la funcionalidad ``mkdir " +"-p`` y :func:`os.makedirs`. (Contribución de Berker Peksag en :issue:" +"`21539`.)" #: ../Doc/whatsnew/3.5.rst:1540 msgid "" @@ -1864,6 +2537,9 @@ msgid "" "expand ``~`` and ``~user`` prefixes. (Contributed by Serhiy Storchaka and " "Claudiu Popa in :issue:`19776`.)" msgstr "" +"Hay un nuevo método :meth:`Path.expanduser() ` para " +"expandir los prefijos ``~`` y ``~user``. (Contribución de Serhiy Storchaka y " +"Claudiu Popa en :issue:`19776`.)" #: ../Doc/whatsnew/3.5.rst:1544 msgid "" @@ -1872,6 +2548,10 @@ msgid "" "directory. (Contributed by Victor Salgado and Mayank Tripathi in :issue:" "`19777`.)" msgstr "" +"Una nueva clase de método :meth:`Path.home() ` se puede " +"usar para obtener una instancia :class:`~pathlib.Path` que representa el " +"directorio de inicio del usuario. (Contribución de Victor Salgado y Mayank " +"Tripathi en :issue:`19777`.)" #: ../Doc/whatsnew/3.5.rst:1549 msgid "" @@ -1880,20 +2560,27 @@ msgid "" "Path.write_bytes>`, :meth:`Path.read_bytes() ` " "methods to simplify read/write operations on files." msgstr "" +"Los nuevos métodos :meth:`Path.write_text() `, :" +"meth:`Path.read_text() `, :meth:`Path.write_bytes() " +"`, :meth:`Path.read_bytes() ` para simplificar la lectura/escritura de operaciones en los " +"archivos." #: ../Doc/whatsnew/3.5.rst:1555 msgid "" "The following code snippet will create or rewrite existing file ``~/" "spam42``::" msgstr "" +"El siguiente fragmento de código creará o reescribirá el archivo existente " +"``~/spam42``::" #: ../Doc/whatsnew/3.5.rst:1563 msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" -msgstr "" +msgstr "(Contribución de Christopher Welborn en :issue:`20218`.)" #: ../Doc/whatsnew/3.5.rst:1567 msgid "pickle" -msgstr "" +msgstr "pickle" #: ../Doc/whatsnew/3.5.rst:1569 msgid "" @@ -1902,10 +2589,15 @@ msgid "" "version 4. Protocol version 4 already supports these cases. (Contributed by " "Serhiy Storchaka in :issue:`23611`.)" msgstr "" +"Ahora los objetos anidados, como los métodos independientes o las clases " +"anidadas, se pueden serializar con pickle usando :ref:`protocolos pickle " +"` anteriores al protocolo de la versión 4. El protocolo de " +"la versión 4 ya admite estos casos. (Contribución de Serhiy Storchaka en :" +"issue:`23611`.)" #: ../Doc/whatsnew/3.5.rst:1576 msgid "poplib" -msgstr "" +msgstr "poplib" #: ../Doc/whatsnew/3.5.rst:1578 msgid "" @@ -1913,26 +2605,33 @@ msgid "" "(Internationalized Email) support, if a POP server supports it. (Contributed " "by Milan OberKirch in :issue:`21804`.)" msgstr "" +"Un nuevo comando :meth:`POP3.utf8() ` habilita el soporte " +"(correo electrónico internacionalizado) :rfc:`6856`, si un servidor POP lo " +"admite. (Contribución de Milan OberKirch en :issue:`21804`.)" #: ../Doc/whatsnew/3.5.rst:1584 msgid "re" -msgstr "" +msgstr "re" #: ../Doc/whatsnew/3.5.rst:1586 msgid "" "References and conditional references to groups with fixed length are now " "allowed in lookbehind assertions::" msgstr "" +"Ahora las referencias y referencias condicionales a grupos con longitud fija " +"se permiten en afirmaciones retrospectivas::" #: ../Doc/whatsnew/3.5.rst:1596 msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)" -msgstr "" +msgstr "(Contribución de Serhiy Storchaka en :issue:`9179`.)" #: ../Doc/whatsnew/3.5.rst:1598 msgid "" "The number of capturing groups in regular expressions is no longer limited " "to 100. (Contributed by Serhiy Storchaka in :issue:`22437`.)" msgstr "" +"El número de captura de grupos en expresiones regulares ya no se limita a " +"100. (Contribución de Serhiy Storchaka en :issue:`22437`.)" #: ../Doc/whatsnew/3.5.rst:1601 msgid "" @@ -1940,6 +2639,9 @@ msgid "" "groups with empty strings instead of raising an exception. (Contributed by " "Serhiy Storchaka in :issue:`1519638`.)" msgstr "" +"Ahora las funciones :func:`~re.sub` y :func:`~re.subn` reemplazan grupos que " +"no coinciden con cadenas de caracteres vacías en lugar de lanzar una " +"excepción. (Contribución de Serhiy Storchaka en :issue:`1519638`.)" #: ../Doc/whatsnew/3.5.rst:1605 msgid "" @@ -1948,14 +2650,18 @@ msgid "" "lineno`, and :attr:`~re.error.colno`, that provide better context " "information about the error::" msgstr "" +"Las excepciones :class:`re.error` tienen nuevos atributos, :attr:`~re.error." +"msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error." +"lineno` y :attr:`~re.error.colno`, que proporcionan una mejor información de " +"contexto sobre el error::" #: ../Doc/whatsnew/3.5.rst:1619 msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)" -msgstr "" +msgstr "(Contribución de Serhiy Storchaka en :issue:`22578`.)" #: ../Doc/whatsnew/3.5.rst:1623 msgid "readline" -msgstr "" +msgstr "readline" #: ../Doc/whatsnew/3.5.rst:1625 msgid "" @@ -1963,20 +2669,26 @@ msgid "" "the specified number of trailing elements in history to the given file. " "(Contributed by Bruno Cauet in :issue:`22940`.)" msgstr "" +"Una nueva función :func:`~readline.append_history_file` se puede usar para " +"adjuntar el número especificado de los elementos finales en el historial al " +"archivo dado. (Contribución de Bruno Cauet en :issue:`22940`.)" #: ../Doc/whatsnew/3.5.rst:1631 msgid "selectors" -msgstr "" +msgstr "selectors" #: ../Doc/whatsnew/3.5.rst:1633 msgid "" "The new :class:`~selectors.DevpollSelector` supports efficient ``/dev/poll`` " "polling on Solaris. (Contributed by Giampaolo Rodola' in :issue:`18931`.)" msgstr "" +"La nueva clase :class:`~selectors.DevpollSelector` admite sondeos eficientes " +"``/dev/poll`` en Solaris. (Contribución de Giampaolo Rodola' en :issue:" +"`18931`.)" #: ../Doc/whatsnew/3.5.rst:1639 msgid "shutil" -msgstr "" +msgstr "shutil" #: ../Doc/whatsnew/3.5.rst:1641 msgid "" @@ -1985,22 +2697,32 @@ msgid "" "of the default :func:`~shutil.copy2` if there is a need to ignore file " "metadata when moving. (Contributed by Claudiu Popa in :issue:`19840`.)" msgstr "" +"Ahora la función :func:`~shutil.move` acepta un argumento *copy_function*, " +"permitiendo, por ejemplo, que se use la función :func:`~shutil.copy` en " +"lugar de la predeterminada :func:`~shutil.copy2` si es necesario ignorar " +"metadatos de archivo al moverlo. (Contribución de Claudiu Popa en :issue:" +"`19840`.)" #: ../Doc/whatsnew/3.5.rst:1647 msgid "" "The :func:`~shutil.make_archive` function now supports the *xztar* format. " "(Contributed by Serhiy Storchaka in :issue:`5411`.)" msgstr "" +"Ahora la función :func:`~shutil.make_archive` admite el formato *xztar*. " +"(Contribución de Serhiy Storchaka en :issue:`5411`.)" #: ../Doc/whatsnew/3.5.rst:1652 msgid "signal" -msgstr "" +msgstr "signal" #: ../Doc/whatsnew/3.5.rst:1654 msgid "" "On Windows, the :func:`~signal.set_wakeup_fd` function now also supports " "socket handles. (Contributed by Victor Stinner in :issue:`22018`.)" msgstr "" +"En Windows, ahora la función :func:`~signal.set_wakeup_fd` también admite " +"identificadores de socket. (Contribución de Victor Stinner en :issue:" +"`22018`.)" #: ../Doc/whatsnew/3.5.rst:1657 msgid "" @@ -2009,10 +2731,14 @@ msgid "" "debugging, instead of integer \"magic numbers\". (Contributed by Giampaolo " "Rodola' in :issue:`21076`.)" msgstr "" +"Varias constantes ``SIG*`` en el módulo :mod:`signal` se convirtieron en :" +"mod:`Enums `. Esto permite que los nombres significativos se impriman " +"durante la depuración en lugar de \"números mágicos\" enteros. (Contribución " +"de Giampaolo Rodola' en :issue:`21076`.)" #: ../Doc/whatsnew/3.5.rst:1664 msgid "smtpd" -msgstr "" +msgstr "smtpd" #: ../Doc/whatsnew/3.5.rst:1666 msgid "" @@ -2026,6 +2752,16 @@ msgid "" "method must be prepared to accept keyword arguments. (Contributed by Maciej " "Szulik in :issue:`19662`.)" msgstr "" +"Ahora las clases :class:`~smtpd.SMTPServer` y :class:`~smtpd.SMTPChannel` " +"aceptan un argumento de palabra clave *decode_data* para determinar si la " +"porción ``DATA`` de la transacción SMTP se decodifica usando el códec ``" +"\"utf-8\"`` o en su lugar se proporciona al método :meth:`SMTPServer." +"process_message() ` como un byte de cadena " +"de caracteres. El valor predeterminado es ``True`` por razones de " +"compatibilidad con versiones anteriores, pero se cambiará a ``False`` en " +"Python 3.6. Si *decode_data* se establece en ``False``, el método " +"``process_message`` se debe preparar para aceptar argumentos de palabra " +"clave. (Contribución de Maciej Szulik en :issue:`19662`.)" #: ../Doc/whatsnew/3.5.rst:1677 msgid "" @@ -2036,6 +2772,12 @@ msgid "" "the *mail_options* keyword. (Contributed by Milan Oberkirch and R. David " "Murray in :issue:`21795`.)" msgstr "" +"Ahora la clase :class:`~smtpd.SMTPServer` anuncia la extensión ``8BITMIME`` " +"(:rfc:`6152`) si *decode_data* se establece como ``True``. Si el cliente " +"especifica ``BODY=8BITMIME`` en el comando ``MAIL``, se pasa al método :meth:" +"`SMTPServer.process_message() ` a través " +"de la palabra clave *mail_options*. (Contribución de Milan Oberkirch y R. " +"David Murray en :issue:`21795`.)" #: ../Doc/whatsnew/3.5.rst:1684 msgid "" @@ -2047,6 +2789,13 @@ msgid "" "method to correctly handle the ``SMTPUTF8`` data. (Contributed by Milan " "Oberkirch in :issue:`21725`.)" msgstr "" +"Ahora la clase :class:`~smtpd.SMTPServer` también admite la extensión " +"``SMTPUTF8`` (:rfc:`6531`: correo electrónico internacionalizado). Si el " +"cliente especificó ``SMTPUTF8 BODY=8BITMIME`` en el comando ``MAIL``, se " +"pasan al método :meth:`SMTPServer.process_message() ` a través de la palabra clave *mail_options*. Es " +"responsabilidad del método ``process_message`` manejar correctamente los " +"datos ``SMTPUTF8``. (Contribución de Milan Oberkirch en :issue:`21725`.)" #: ../Doc/whatsnew/3.5.rst:1692 msgid "" @@ -2054,10 +2803,14 @@ msgid "" "addresses in the :class:`~smtpd.SMTPServer` constructor, and have it " "successfully connect. (Contributed by Milan Oberkirch in :issue:`14758`.)" msgstr "" +"Ahora es posible proporcionar, directamente o mediante resolución de " +"nombres, direcciones IPv6 en el constructor :class:`~smtpd.SMTPServer`, y " +"hacer que se conecte correctamente. (Contribución de Milan Oberkirch en :" +"issue:`14758`.)" #: ../Doc/whatsnew/3.5.rst:1698 msgid "smtplib" -msgstr "" +msgstr "smtplib" #: ../Doc/whatsnew/3.5.rst:1700 msgid "" @@ -2065,6 +2818,9 @@ msgid "" "way to implement custom authentication mechanisms. (Contributed by Milan " "Oberkirch in :issue:`15014`.)" msgstr "" +"Un nuevo método :meth:`SMTP.auth() ` proporciona una " +"forma conveniente de implementar mecanismos de autenticación personalizados. " +"(Contribución de Milan Oberkirch en :issue:`15014`.)" #: ../Doc/whatsnew/3.5.rst:1704 msgid "" @@ -2073,6 +2829,10 @@ msgid "" "messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:" "`16914`.)" msgstr "" +"Ahora el método :meth:`SMTP.set_debuglevel() ` " +"acepta un nivel de depuración adicional (2), el cual habilita las marcas de " +"tiempo en los mensajes de depuración. (Contribución de Gavin Chappell y " +"Maciej Szulik en :issue:`16914`.)" #: ../Doc/whatsnew/3.5.rst:1708 msgid "" @@ -2081,10 +2841,14 @@ msgid "" "(SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray in :issue:" "`22027`.)" msgstr "" +"Ahora los métodos :meth:`SMTP.sendmail() ` y :meth:" +"`SMTP.send_message() ` admiten :rfc:`6531` " +"(SMTPUTF8). (Contribución de Milan Oberkirch y R. David Murray en :issue:" +"`22027`.)" #: ../Doc/whatsnew/3.5.rst:1715 msgid "sndhdr" -msgstr "" +msgstr "sndhdr" #: ../Doc/whatsnew/3.5.rst:1717 msgid "" @@ -2092,16 +2856,21 @@ msgid "" "a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:" "`18615`.)" msgstr "" +"Ahora las funciones :func:`~sndhdr.what` y :func:`~sndhdr.whathdr` retornan " +"una :func:`~collections.namedtuple`. (Contribución de Claudiu Popa en :issue:" +"`18615`.)" #: ../Doc/whatsnew/3.5.rst:1723 msgid "socket" -msgstr "" +msgstr "socket" #: ../Doc/whatsnew/3.5.rst:1725 msgid "" "Functions with timeouts now use a monotonic clock, instead of a system " "clock. (Contributed by Victor Stinner in :issue:`22043`.)" msgstr "" +"Ahora las funciones con tiempo de espera usan un reloj monótono en lugar de " +"un reloj del sistema. (Contribución de Victor Stinner en :issue:`22043`.)" #: ../Doc/whatsnew/3.5.rst:1728 msgid "" @@ -2111,6 +2880,12 @@ msgid "" "faster than when using plain :meth:`socket.send() `. " "(Contributed by Giampaolo Rodola' in :issue:`17552`.)" msgstr "" +"Un nuevo método :meth:`socket.sendfile() ` permite " +"enviar un archivo a través de un socket usando la función de alto " +"rendimiento :func:`os.sendfile` en UNIX, lo que hace que las cargas sean de " +"2 a 3 veces más rápido que cuando se usa el método simple :meth:`socket." +"send() `. (Contribución de Giampaolo Rodola' en :issue:" +"`17552`.)" #: ../Doc/whatsnew/3.5.rst:1734 msgid "" @@ -2119,6 +2894,10 @@ msgid "" "timeout is now the maximum total duration to send all data. (Contributed by " "Victor Stinner in :issue:`23853`.)" msgstr "" +"El método :meth:`socket.sendall() ` ya no reinicia el " +"tiempo de espera del socket cada vez que se reciben o se envían bytes. Ahora " +"el tiempo de espera del socket es la duración total máxima para enviar todos " +"los datos. (Contribución de Victor Stinner en :issue:`23853`.)" #: ../Doc/whatsnew/3.5.rst:1739 msgid "" @@ -2127,18 +2906,22 @@ msgid "" "SOMAXCONN>` or to ``128``, whichever is less. (Contributed by Charles-" "François Natali in :issue:`21455`.)" msgstr "" +"Ahora el argumento *backlog* del método :meth:`socket.listen() ` es opcional. De forma predeterminada, se establece en :data:" +"`SOMAXCONN ` o en ``128``, lo que sea menor. (Contribución " +"de Charles-François Natali en :issue:`21455`.)" #: ../Doc/whatsnew/3.5.rst:1746 msgid "ssl" -msgstr "" +msgstr "ssl" #: ../Doc/whatsnew/3.5.rst:1751 msgid "Memory BIO Support" -msgstr "" +msgstr "Soporte de memoria BIO" #: ../Doc/whatsnew/3.5.rst:1753 msgid "(Contributed by Geert Jansen in :issue:`21965`.)" -msgstr "" +msgstr "(Contribución de Geert Jansen en :issue:`21965`.)" #: ../Doc/whatsnew/3.5.rst:1755 msgid "" @@ -2149,6 +2932,13 @@ msgid "" "instead provides a memory buffer interface. The new :class:`~ssl.MemoryBIO` " "class can be used to pass data between Python and an SSL protocol instance." msgstr "" +"Se ha agregado la nueva clase :class:`~ssl.SSLObject` para proporcionar " +"soporte del protocolo SSL para los casos en que las capacidades de E/S de " +"red de :class:`~ssl.SSLSocket` no son necesarias o no son óptimas. " +"``SSLObject`` representa una instancia del protocolo SSL pero no implementa " +"ningún método de E/S de red y, en su lugar, proporciona una interfaz de " +"búfer de memoria. La nueva clase :class:`~ssl.MemoryBIO` se puede usar para " +"pasar datos entre Python y una instancia del protocolo SSL." #: ../Doc/whatsnew/3.5.rst:1762 msgid "" @@ -2156,20 +2946,25 @@ msgid "" "implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness " "model (\"select/poll\") is inefficient." msgstr "" +"El soporte de la memoria BIO SSL está destinado principalmente para ser " +"usado en frameworks que implementan E/S asíncronas para las cuales el modelo " +"de preparación (\"select/poll\") de :class:`~ssl.SSLSocket` es ineficiente." #: ../Doc/whatsnew/3.5.rst:1766 msgid "" "A new :meth:`SSLContext.wrap_bio() ` method can be " "used to create a new ``SSLObject`` instance." msgstr "" +"Un nuevo método :meth:`SSLContext.wrap_bio() ` se " +"puede usar para crear una nueva instancia ``SSLObject``." #: ../Doc/whatsnew/3.5.rst:1771 msgid "Application-Layer Protocol Negotiation Support" -msgstr "" +msgstr "Soporte de negociación de protocolo de capa de aplicación" #: ../Doc/whatsnew/3.5.rst:1773 msgid "(Contributed by Benjamin Peterson in :issue:`20188`.)" -msgstr "" +msgstr "(Contribución de Benjamin Peterson en :issue:`20188`.)" #: ../Doc/whatsnew/3.5.rst:1775 msgid "" @@ -2177,6 +2972,9 @@ msgid "" "*Application-Layer Protocol Negotiation* TLS extension as described in :rfc:" "`7301`." msgstr "" +"Donde está presente el soporte de OpenSSL, ahora el módulo :mod:`ssl` " +"implementa la extensión TLS *Application-Layer Protocol Negotiation* como se " +"describe en :rfc:`7301`." #: ../Doc/whatsnew/3.5.rst:1779 msgid "" @@ -2184,6 +2982,9 @@ msgid "" "set_alpn_protocols>` can be used to specify which protocols a socket should " "advertise during the TLS handshake." msgstr "" +"El nuevo método :meth:`SSLContext.set_alpn_protocols() ` se puede usar para especificar qué protocolos deben " +"anunciar un socket durante el protocolo de enlace TLS." #: ../Doc/whatsnew/3.5.rst:1783 msgid "" @@ -2192,10 +2993,14 @@ msgid "" "TLS handshake. The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support " "is present." msgstr "" +"El nuevo método :meth:`SSLSocket.selected_alpn_protocol() ` retorna el protocolo que se seleccionó durante el " +"protocolo de enlace TLS. La bandera :data:`~ssl.HAS_ALPN` indica si el " +"soporte ALPN está presente." #: ../Doc/whatsnew/3.5.rst:1790 msgid "Other Changes" -msgstr "" +msgstr "Otros cambios" #: ../Doc/whatsnew/3.5.rst:1792 msgid "" @@ -2203,6 +3008,9 @@ msgid "" "query the actual protocol version in use. (Contributed by Antoine Pitrou in :" "issue:`20421`.)" msgstr "" +"Hay un nuevo método :meth:`SSLSocket.version() ` para " +"consultar la versión actual del protocolo en uso. (Contribución de Antoine " +"Pitrou en :issue:`20421`.)" #: ../Doc/whatsnew/3.5.rst:1796 msgid "" @@ -2210,6 +3018,9 @@ msgid "" "sendfile() ` method. (Contributed by Giampaolo " "Rodola' in :issue:`17552`.)" msgstr "" +"Ahora la clase :class:`~ssl.SSLSocket` implementa un método :meth:`SSLSocket." +"sendfile() `. (Contribución de Giampaolo Rodola' en :" +"issue:`17552`.)" #: ../Doc/whatsnew/3.5.rst:1800 msgid "" @@ -2218,6 +3029,10 @@ msgid "" "a non-blocking socket if the operation would block. Previously, it would " "return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" +"Ahora el método :meth:`SSLSocket.send() ` lanza la " +"excepción :exc:`ssl.SSLWantReadError` o :exc:`ssl.SSLWantWriteError` en un " +"socket sin bloqueo si la operación se bloquearía. Anteriormente, retornaría " +"``0``. (Contribución de Nikolaus Rath en :issue:`20951`.)" #: ../Doc/whatsnew/3.5.rst:1805 msgid "" @@ -2225,6 +3040,10 @@ msgid "" "as UTC and not as local time, per :rfc:`5280`. Additionally, the return " "value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" msgstr "" +"Ahora la función :func:`~ssl.cert_time_to_seconds` interpreta la hora de " +"entrada como UTC y no como hora local, por :rfc:`5280`. Además, el valor de " +"retorno siempre es un :class:`int`. (Contribución de Akira Li en :issue:" +"`19940`.)" #: ../Doc/whatsnew/3.5.rst:1809 msgid "" @@ -2233,6 +3052,11 @@ msgid "" "return the list of ciphers sent by the client during the handshake. " "(Contributed by Benjamin Peterson in :issue:`23186`.)" msgstr "" +"Los nuevos métodos :meth:`SSLObject.shared_ciphers() ` y :meth:`SSLSocket.shared_ciphers() ` retornan la lista de cifrados enviados por el cliente " +"durante el protocolo de enlace. (Contribución de Benjamin Peterson en :issue:" +"`23186`.)" #: ../Doc/whatsnew/3.5.rst:1814 msgid "" @@ -2244,16 +3068,25 @@ msgid "" "maximum total duration of the method. (Contributed by Victor Stinner in :" "issue:`23853`.)" msgstr "" +"Los métodos :meth:`SSLSocket.do_handshake() `, :" +"meth:`SSLSocket.read() `, :meth:`SSLSocket.shutdown() " +"` y :meth:`SSLSocket.write() ` " +"de la clase :class:`~ssl.SSLSocket` ya no reinician el tiempo de espera del " +"socket cada vez que se reciben o se envían bytes. Ahora el tiempo de espera " +"del socket es la duración total máxima del método. (Contribución de Victor " +"Stinner en :issue:`23853`.)" #: ../Doc/whatsnew/3.5.rst:1822 msgid "" "The :func:`~ssl.match_hostname` function now supports matching of IP " "addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)" msgstr "" +"Ahora la función :func:`~ssl.match_hostname` admite la coincidencia de " +"direcciones IP. (Contribución de Antoine Pitrou en :issue:`23239`.)" #: ../Doc/whatsnew/3.5.rst:1827 msgid "sqlite3" -msgstr "" +msgstr "sqlite3" #: ../Doc/whatsnew/3.5.rst:1829 msgid "" @@ -2262,10 +3095,14 @@ msgid "" "Claudiu Popa in :issue:`10203`; by Lucas Sinclair, Jessica McKellar, and " "Serhiy Storchaka in :issue:`13583`.)" msgstr "" +"Ahora la clase :class:`~sqlite3.Row` admite totalmente el protocolo de " +"secuencia, en particular la iteración :func:`reversed` y la indexación " +"segmentada. (Contribución de Claudiu Popa en :issue:`10203`; de Lucas " +"Sinclair, Jessica McKellar, y Serhiy Storchaka en :issue:`13583`.)" #: ../Doc/whatsnew/3.5.rst:1838 msgid "subprocess" -msgstr "" +msgstr "subprocess" #: ../Doc/whatsnew/3.5.rst:1840 msgid "" @@ -2276,10 +3113,16 @@ msgid "" "does not need to maintain compatibility with earlier Python versions. " "(Contributed by Thomas Kluyver in :issue:`23342`.)" msgstr "" +"Se agregó la nueva función :func:`~subprocess.run`. Ejecuta el comando " +"especificado y retorna un objeto :class:`~subprocess.CompletedProcess`, el " +"cual describe un proceso terminado. La nueva API es más consistente y es el " +"enfoque recomendado para invocar subprocesos en código Python que no " +"necesita mantener la compatibilidad con versiones anteriores de Python. " +"(Contribución de Thomas Kluyver en :issue:`23342`.)" #: ../Doc/whatsnew/3.5.rst:1864 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/whatsnew/3.5.rst:1866 msgid "" @@ -2290,6 +3133,13 @@ msgid "" "functions are :term:`provisional `, and are intended for " "debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" msgstr "" +"Una nueva función :func:`~sys.set_coroutine_wrapper` permite configurar un " +"enlace global que será llamado siempre que un :term:`objeto corrutina " +"` sea creado por una función :keyword:`async def`. Una función " +"correspondiente :func:`~sys.get_coroutine_wrapper` se puede usar para " +"obtener un contenedor configurado actualmente. Ambas funciones son :term:" +"`provisionales ` y se destinan solo para propósitos de " +"depuración. (Contribución de Yury Selivanov en :issue:`24017`.)" #: ../Doc/whatsnew/3.5.rst:1874 msgid "" @@ -2297,10 +3147,13 @@ msgid "" "interpreter is :term:`shutting down `. (Contributed by " "Antoine Pitrou in :issue:`22696`.)" msgstr "" +"Una nueva función :func:`~sys.is_finalizing` se puede usar para verificar si " +"el intérprete de Python se está :term:`apagando `. " +"(Contribución de Antoine Pitrou en :issue:`22696`.)" #: ../Doc/whatsnew/3.5.rst:1880 msgid "sysconfig" -msgstr "" +msgstr "sysconfig" #: ../Doc/whatsnew/3.5.rst:1882 msgid "" @@ -2308,10 +3161,13 @@ msgid "" "components of the Python version. (Contributed by Paul Moore in :issue:" "`23437`.)" msgstr "" +"Ahora el nombre del directorio de los scripts del usuario en Windows incluye " +"los dos primeros componentes de la versión de Python. (Contribución de Paul " +"Moore en :issue:`23437`.)" #: ../Doc/whatsnew/3.5.rst:1888 msgid "tarfile" -msgstr "" +msgstr "tarfile" #: ../Doc/whatsnew/3.5.rst:1890 msgid "" @@ -2319,6 +3175,9 @@ msgid "" "\"`` to request exclusive creation. (Contributed by Berker Peksag in :issue:" "`21717`.)" msgstr "" +"Ahora el argumento *mode* de la función :func:`~tarfile.open` acepta ``\"x" +"\"`` para solicitar una creación exclusiva. (Contribución de Berker Peksag " +"en :issue:`21717`.)" #: ../Doc/whatsnew/3.5.rst:1893 msgid "" @@ -2330,6 +3189,14 @@ msgid "" "prior to 3.5), they will be owned by the named user and group in the " "tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)" msgstr "" +"Ahora los métodos :meth:`TarFile.extractall() ` " +"y :meth:`TarFile.extract() ` toman un argumento de " +"palabra clave *numeric_owner*. Si se establece como ``True``, los archivos y " +"directorios extraídos serán propiedad de los números ``uid`` y ``gid`` del " +"archivo tar. Si se establece como ``False`` (el valor predeterminado y el " +"comportamiento en versiones anteriores a la 3.5), serán propiedad del " +"usuario y el grupo nombrados en el archivo tar. (Contribución de Michael " +"Vogt y Eric Smith en :issue:`23193`.)" #: ../Doc/whatsnew/3.5.rst:1901 msgid "" @@ -2338,10 +3205,14 @@ msgid "" "by :meth:`TarFile.getmembers() `. (Contributed " "by Serhiy Storchaka in :issue:`21549`.)" msgstr "" +"Ahora :meth:`TarFile.list() ` acepta un argumento de " +"palabra clave opcional *members* que se puede establecer en un subconjunto " +"de la lista retornada por :meth:`TarFile.getmembers() `. (Contribución de Serhiy Storchaka en :issue:`21549`.)" #: ../Doc/whatsnew/3.5.rst:1908 msgid "threading" -msgstr "" +msgstr "threading" #: ../Doc/whatsnew/3.5.rst:1910 msgid "" @@ -2349,20 +3220,26 @@ msgid "" "acquire() ` methods now use a monotonic clock for " "timeout management. (Contributed by Victor Stinner in :issue:`22043`.)" msgstr "" +"Ahora los métodos :meth:`Lock.acquire() ` y :meth:" +"`RLock.acquire() ` usan un reloj monótono para la " +"administración del tiempo de espera. (Contribución de Victor Stinner en :" +"issue:`22043`.)" #: ../Doc/whatsnew/3.5.rst:1917 msgid "time" -msgstr "" +msgstr "time" #: ../Doc/whatsnew/3.5.rst:1919 msgid "" "The :func:`~time.monotonic` function is now always available. (Contributed " "by Victor Stinner in :issue:`22043`.)" msgstr "" +"Ahora la función :func:`~time.monotonic` siempre está disponible. " +"(Contribución de Victor Stinner en :issue:`22043`.)" #: ../Doc/whatsnew/3.5.rst:1924 msgid "timeit" -msgstr "" +msgstr "timeit" #: ../Doc/whatsnew/3.5.rst:1926 msgid "" @@ -2370,6 +3247,10 @@ msgid "" "specify the time unit for the timer output. Supported options are ``usec``, " "``msec``, or ``sec``. (Contributed by Julian Gindi in :issue:`18983`.)" msgstr "" +"Una nueva opción de línea de comando ``-u`` o :samp:`--unit={U}` se puede " +"usar para especificar la unidad de tiempo para la salida del temporizador. " +"Las opciones que se admiten son ``usec``, ``msec`` o ``sec``. (Contribución " +"de Julian Gindi en :issue:`18983`.)" #: ../Doc/whatsnew/3.5.rst:1930 msgid "" @@ -2377,10 +3258,13 @@ msgid "" "specifying the namespace in which the code will be running. (Contributed by " "Ben Roberts in :issue:`2527`.)" msgstr "" +"La función :func:`~timeit.timeit` tiene un nuevo parámetro *globals* para " +"especificar el espacio de nombres donde el código se ejecutará. " +"(Contribución de Ben Roberts en :issue:`2527`.)" #: ../Doc/whatsnew/3.5.rst:1936 msgid "tkinter" -msgstr "" +msgstr "tkinter" #: ../Doc/whatsnew/3.5.rst:1938 msgid "" @@ -2389,10 +3273,14 @@ msgid "" "module which makes no permanent changes to environment variables. " "(Contributed by Zachary Ware in :issue:`20035`.)" msgstr "" +"El módulo :mod:`tkinter._fix` que se usaba para configurar el entorno Tcl/Tk " +"en Windows se reemplazó por una función privada en el módulo :mod:`_tkinter` " +"que no hace cambios permanentes en las variables de entorno. (Contribución " +"de Zachary Ware en :issue:`20035`.)" #: ../Doc/whatsnew/3.5.rst:1947 msgid "traceback" -msgstr "" +msgstr "traceback" #: ../Doc/whatsnew/3.5.rst:1949 msgid "" @@ -2400,6 +3288,9 @@ msgid "" "to conveniently traverse frame and traceback objects. (Contributed by Robert " "Collins in :issue:`17911`.)" msgstr "" +"Las nuevas funciones :func:`~traceback.walk_stack` y :func:`~traceback." +"walk_tb` atraviesan convenientemente objetos de marco y rastreo. " +"(Contribución de Robert Collins en :issue:`17911`.)" #: ../Doc/whatsnew/3.5.rst:1953 msgid "" @@ -2407,6 +3298,9 @@ msgid "" "`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. " "(Contributed by Robert Collins in :issue:`17911`.)" msgstr "" +"Nuevas clases ligeras: :class:`~traceback.TracebackException`, :class:" +"`~traceback.StackSummary` y :class:`~traceback.FrameSummary`. (Contribución " +"de Robert Collins en :issue:`17911`.)" #: ../Doc/whatsnew/3.5.rst:1957 msgid "" @@ -2414,10 +3308,13 @@ msgid "" "functions now support negative values for the *limit* argument. (Contributed " "by Dmitry Kazakov in :issue:`22619`.)" msgstr "" +"Ahora las funciones :func:`~traceback.print_tb` y :func:`~traceback." +"print_stack` admiten valores negativos para el argumento *limit*. " +"(Contribución de Dmitry Kazakov en :issue:`22619`.)" #: ../Doc/whatsnew/3.5.rst:1963 msgid "types" -msgstr "" +msgstr "types" #: ../Doc/whatsnew/3.5.rst:1965 msgid "" @@ -2426,6 +3323,10 @@ msgid "" "Generator>` objects into :term:`awaitables `. (Contributed by " "Yury Selivanov in :issue:`24017`.)" msgstr "" +"Una nueva función :func:`~types.coroutine` para transformar un :term:" +"`iterador generador ` y objetos :class:`generator-like " +"` en :term:`aguardables `. " +"(Contribución de Yury Selivanov en :issue:`24017`.)" #: ../Doc/whatsnew/3.5.rst:1971 msgid "" @@ -2433,20 +3334,25 @@ msgid "" "`coroutine` objects created by :keyword:`async def` functions. (Contributed " "by Yury Selivanov in :issue:`24400`.)" msgstr "" +"Un nuevo tipo llamado :class:`~types.CoroutineType`, el cual se usa para " +"objetos :term:`coroutine` creados por funciones :keyword:`async def`. " +"(Contribución de Yury Selivanov en :issue:`24400`.)" #: ../Doc/whatsnew/3.5.rst:1977 msgid "unicodedata" -msgstr "" +msgstr "unicodedata" #: ../Doc/whatsnew/3.5.rst:1979 msgid "" "The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." msgstr "" +"Ahora el módulo :mod:`unicodedata` usa datos de `Unicode 8.0.0 `_." #: ../Doc/whatsnew/3.5.rst:1984 msgid "unittest" -msgstr "" +msgstr "unittest" #: ../Doc/whatsnew/3.5.rst:1986 msgid "" @@ -2458,6 +3364,13 @@ msgid "" "pattern. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" "`16662`.)" msgstr "" +"Ahora el método :meth:`TestLoader.loadTestsFromModule() ` acepta un solo argumento de palabra clave *pattern* " +"que se pasa a ``load_tests`` como el tercer argumento. Ahora los paquetes " +"encontrados se verifican en busca de ``load_tests`` independientemente de si " +"su ruta coincide con *pattern*, porque es imposible que el nombre de un " +"paquete coincida con el modelo predeterminado. (Contribución de Robert " +"Collins y Barry A. Warsaw en :issue:`16662`.)" #: ../Doc/whatsnew/3.5.rst:1993 msgid "" @@ -2465,20 +3378,25 @@ msgid "" "` attribute of the :class:`~unittest.TestLoader` " "instance. (Contributed by Robert Collins in :issue:`19746`.)" msgstr "" +"Ahora los errores de descubrimiento de unittest se exponen en el atributo :" +"data:`TestLoader.errors ` de la instancia :class:" +"`~unittest.TestLoader`. (Contribución de Robert Collins en :issue:`19746`.)" #: ../Doc/whatsnew/3.5.rst:1998 msgid "" "A new command line option ``--locals`` to show local variables in " "tracebacks. (Contributed by Robert Collins in :issue:`22936`.)" msgstr "" +"Una nueva opción de línea de comando ``--locals`` muestra variables locales " +"en rastreo. (Contribución de Robert Collins en :issue:`22936`.)" #: ../Doc/whatsnew/3.5.rst:2003 msgid "unittest.mock" -msgstr "" +msgstr "unittest.mock" #: ../Doc/whatsnew/3.5.rst:2005 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" -msgstr "" +msgstr "La clase :class:`~unittest.mock.Mock` tiene las siguientes mejoras:" #: ../Doc/whatsnew/3.5.rst:2007 msgid "" @@ -2486,6 +3404,10 @@ msgid "" "objects to raise :exc:`AttributeError` on attribute names starting with ``" "\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" msgstr "" +"El constructor de la clase tiene un nuevo parámetro *unsafe*, que hace que " +"los objetos simulados lancen :exc:`AttributeError` en los nombres de " +"atributo que comienzan con ``\"assert\"``. (Contribución de Kushal Das en :" +"issue:`21238`.)" #: ../Doc/whatsnew/3.5.rst:2012 msgid "" @@ -2493,6 +3415,9 @@ msgid "" "assert_not_called>` method to check if the mock object was called. " "(Contributed by Kushal Das in :issue:`21262`.)" msgstr "" +"Un nuevo método :meth:`Mock.assert_not_called() ` para verificar si se llamó el objeto simulado. " +"(Contribución de Kushal Das en :issue:`21262`.)" #: ../Doc/whatsnew/3.5.rst:2016 msgid "" @@ -2501,6 +3426,10 @@ msgid "" "(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :" "issue:`23581` and :issue:`23568`.)" msgstr "" +"Ahora la clase :class:`~unittest.mock.MagicMock` admite los operadores :meth:" +"`__truediv__`, :meth:`__divmod__` y :meth:`__matmul__`. (Contribución de " +"Johannes Baiter en :issue:`20968` y de Håkan Lövdahl en :issue:`23581` y :" +"issue:`23568`.)" #: ../Doc/whatsnew/3.5.rst:2021 msgid "" @@ -2508,10 +3437,13 @@ msgid "" "`~unittest.mock.patch` function when patching builtin names. (Contributed by " "Kushal Das in :issue:`17660`.)" msgstr "" +"Ya no es necesario pasar explícitamente ``create=True`` a la función :func:" +"`~unittest.mock.patch` cuando se parchean los nombres incorporados. " +"(Contribución de Kushal Das en :issue:`17660`.)" #: ../Doc/whatsnew/3.5.rst:2027 msgid "urllib" -msgstr "" +msgstr "urllib" #: ../Doc/whatsnew/3.5.rst:2029 msgid "" @@ -2523,6 +3455,14 @@ msgid "" "a ``401`` if the ``Authorization`` header is not sent. (Contributed by Matej " "Cepl in :issue:`19494` and Akshit Khurana in :issue:`7159`.)" msgstr "" +"Una nueva clase :class:`request.HTTPPasswordMgrWithPriorAuth ` permite que se administren las credenciales " +"de autenticación básica HTTP para eliminar el manejo innecesario de " +"respuestas ``401`` o enviar credenciales incondicionalmente en la primera " +"solicitud para comunicarse con los servidores que retornen una respuesta " +"``404`` en lugar de un ``401`` si el encabezado ``Authorization`` no se " +"envía. (Contribución de Matej Cepl en :issue:`19494` y de Akshit Khurana en :" +"issue:`7159`.)" #: ../Doc/whatsnew/3.5.rst:2038 msgid "" @@ -2530,6 +3470,10 @@ msgid "" "urlencode>` function provides a way to control the encoding of query parts " "if needed. (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)" msgstr "" +"Un nuevo argumento *quote_via* para la función :func:`parse.urlencode() " +"` proporciona una forma de controlar la codificación " +"de las partes de la consulta si es necesario. (Contribución de Samwyse y " +"Arnon Yaari en :issue:`13866`.)" #: ../Doc/whatsnew/3.5.rst:2043 msgid "" @@ -2537,6 +3481,9 @@ msgid "" "class:`ssl.SSLContext` object as a *context* argument, which will be used " "for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)" msgstr "" +"La función :func:`request.urlopen() ` acepta un " +"objeto :class:`ssl.SSLContext` como un argumento *context*, el cual se usará " +"para la conexión HTTPS. (Contribución de Alex Gaynor en :issue:`22366`.)" #: ../Doc/whatsnew/3.5.rst:2047 msgid "" @@ -2545,10 +3492,14 @@ msgid "" "`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil Kumaran " "in :issue:`22118`.)" msgstr "" +"Se actualizó :func:`parse.urljoin() ` para usar la " +"semántica :rfc:`3986` para la resolución de URL relativas, en lugar de :rfc:" +"`1808` y :rfc:`2396`. (Contribución de Demian Brecht y Senthil Kumaran en :" +"issue:`22118`.)" #: ../Doc/whatsnew/3.5.rst:2054 msgid "wsgiref" -msgstr "" +msgstr "wsgiref" #: ../Doc/whatsnew/3.5.rst:2056 msgid "" @@ -2556,10 +3507,13 @@ msgid "" "Headers>` class constructor is now optional. (Contributed by Pablo Torres " "Navarrete and SilentGhost in :issue:`5800`.)" msgstr "" +"Ahora el argumento *headers* del constructor de la clase :class:`headers." +"Headers ` es opcional. (Contribución de Pablo " +"Torres Navarrete y SilentGhost en :issue:`5800`.)" #: ../Doc/whatsnew/3.5.rst:2062 msgid "xmlrpc" -msgstr "" +msgstr "xmlrpc" #: ../Doc/whatsnew/3.5.rst:2064 msgid "" @@ -2567,6 +3521,9 @@ msgid "" "supports the :term:`context manager` protocol. (Contributed by Claudiu Popa " "in :issue:`20627`.)" msgstr "" +"Ahora la clase :class:`client.ServerProxy ` " +"admite el protocolo :term:`context manager`. (Contribución de Claudiu Popa " +"en :issue:`20627`.)" #: ../Doc/whatsnew/3.5.rst:2068 msgid "" @@ -2574,10 +3531,13 @@ msgid "" "accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex " "Gaynor in :issue:`22960`.)" msgstr "" +"Ahora el constructor de :class:`client.ServerProxy ` acepta una instancia opcional :class:`ssl.SSLContext`. " +"(Contribución de Alex Gaynor en :issue:`22960`.)" #: ../Doc/whatsnew/3.5.rst:2074 msgid "xml.sax" -msgstr "" +msgstr "xml.sax" #: ../Doc/whatsnew/3.5.rst:2076 msgid "" @@ -2585,22 +3545,29 @@ msgid "" "InputSource ` object. (Contributed by Serhiy " "Storchaka in :issue:`2175`.)" msgstr "" +"Ahora los analizadores SAX admiten un flujo de caracteres del objeto :class:" +"`xmlreader.InputSource `. (Contribución de " +"Serhiy Storchaka en :issue:`2175`.)" #: ../Doc/whatsnew/3.5.rst:2080 msgid "" ":func:`~xml.sax.parseString` now accepts a :class:`str` instance. " "(Contributed by Serhiy Storchaka in :issue:`10590`.)" msgstr "" +"Ahora :func:`~xml.sax.parseString` acepta una instancia :class:`str`. " +"(Contribución de Serhiy Storchaka en :issue:`10590`.)" #: ../Doc/whatsnew/3.5.rst:2085 msgid "zipfile" -msgstr "" +msgstr "zipfile" #: ../Doc/whatsnew/3.5.rst:2087 msgid "" "ZIP output can now be written to unseekable streams. (Contributed by Serhiy " "Storchaka in :issue:`23252`.)" msgstr "" +"Ahora la salida ZIP se puede escribir en flujos inescrutables. (Contribución " +"de Serhiy Storchaka en :issue:`23252`.)" #: ../Doc/whatsnew/3.5.rst:2090 msgid "" @@ -2608,10 +3575,13 @@ msgid "" "now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy " "Storchaka in :issue:`21717`.)" msgstr "" +"Ahora el argumento *mode* del método :meth:`ZipFile.open() ` acepta ``\"x\"`` para solicitar una creación exclusiva. (Contribución " +"de Serhiy Storchaka en :issue:`21717`.)" #: ../Doc/whatsnew/3.5.rst:2096 msgid "Other module-level changes" -msgstr "" +msgstr "Otros cambios a nivel de módulo" #: ../Doc/whatsnew/3.5.rst:2098 msgid "" @@ -2620,10 +3590,14 @@ msgid "" "objects `. (Contributed by Serhiy Storchaka in :issue:" "`23001`.)" msgstr "" +"Ahora muchas funciones en los módulos :mod:`mmap`, :mod:`ossaudiodev`, :mod:" +"`socket`, :mod:`ssl` y :mod:`codecs` aceptan :term:`objetos de tipo bytes " +"` que se pueden escribir. (Contribución de Serhiy " +"Storchaka en :issue:`23001`.)" #: ../Doc/whatsnew/3.5.rst:2105 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/3.5.rst:2107 msgid "" @@ -2633,6 +3607,11 @@ msgid "" "``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " "(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)" msgstr "" +"La función :func:`os.walk` se aceleró de 3 a 5 veces en los sistemas POSIX y " +"de 7 a 20 veces en Windows. Esto se hizo usando la nueva función :func:`os." +"scandir`, el cual expone la información del archivo de las llamadas al " +"sistema ``readdir`` o ``FindFirstFile``/``FindNextFile``. (Contribución de " +"Ben Hoyt con ayuda de Victor Stinner en :issue:`23605`.)" #: ../Doc/whatsnew/3.5.rst:2113 msgid "" @@ -2641,6 +3620,10 @@ msgid "" "to allocate memory for these objects. (Contributed by Victor Stinner in :" "issue:`21233`.)" msgstr "" +"La construcción de ``bytes(int)`` (llenado con cero bytes) es más rápida y " +"usa menos memoria para objetos grandes. Se usa ``calloc()`` en lugar de " +"``malloc()`` para asignar memoria para estos objetos. (Contribución de " +"Victor Stinner en :issue:`21233`.)" #: ../Doc/whatsnew/3.5.rst:2118 msgid "" @@ -2652,12 +3635,22 @@ msgid "" "by Antoine Pitrou, Michel Albert, and Markus in :issue:`21486`, :issue:" "`21487`, :issue:`20826`, :issue:`23266`.)" msgstr "" +"Algunas operaciones en :mod:`ipaddress` :class:`~ipaddress.IPv4Network` y :" +"class:`~ipaddress.IPv6Network` se aceleraron masivamente, tal como :meth:" +"`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :" +"func:`~ipaddress.summarize_address_range`, :func:`~ipaddress." +"collapse_addresses`. La velocidad puede variar de 3 a 15 veces. " +"(Contribución de Antoine Pitrou, Michel Albert y Markus en :issue:`21486`, :" +"issue:`21487`, :issue:`20826`, :issue:`23266`.)" #: ../Doc/whatsnew/3.5.rst:2126 msgid "" "Pickling of :mod:`ipaddress` objects was optimized to produce significantly " "smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)" msgstr "" +"Se optimizó pickling de objetos :mod:`ipaddress` para producir una salida " +"significativamente menor. (Contribución de Serhiy Storchaka en :issue:" +"`23133`.)" #: ../Doc/whatsnew/3.5.rst:2129 #, python-format @@ -2666,6 +3659,9 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :" "issue:`22003`.)" msgstr "" +"Ahora muchas operaciones en :class:`io.BytesIO` son de 50% a 100% más " +"rápidas. (Contribución de Serhiy Storchaka en :issue:`15381` y de David " +"Wilson en :issue:`22003`.)" #: ../Doc/whatsnew/3.5.rst:2133 msgid "" @@ -2674,12 +3670,18 @@ msgid "" "best cases. (Contributed by Serhiy Storchaka in :issue:`20416` and :issue:" "`23344`.)" msgstr "" +"Ahora la función :func:`marshal.dumps` es más rápida: 65--85% en las " +"versiones 3 y 4, 20--25% en las versiones 0 a 2 con datos típicos, y hasta 5 " +"veces en el mejor de los casos. (Contribución de Serhiy Storchaka en :issue:" +"`20416` y :issue:`23344`.)" #: ../Doc/whatsnew/3.5.rst:2138 msgid "" "The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy " "Storchaka in :issue:`15027`.)" msgstr "" +"Ahora el codificador UTF-32 es de 3 a 7 veces más rápido. (Contribución de " +"Serhiy Storchaka en :issue:`15027`.)" #: ../Doc/whatsnew/3.5.rst:2141 #, python-format @@ -2687,6 +3689,8 @@ msgid "" "Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " "Storchaka in :issue:`19380`.)" msgstr "" +"Ahora las expresiones regulares se analizan hasta un 10% más rápido. " +"(Contribución de Serhiy Storchaka en :issue:`19380`.)" #: ../Doc/whatsnew/3.5.rst:2144 msgid "" @@ -2694,6 +3698,9 @@ msgid "" "``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed " "by Naoki Inada in :issue:`23206`.)" msgstr "" +"Se optimizó la función :func:`json.dumps` para ejecutarse con " +"``ensure_ascii=False`` tan rápido como con ``ensure_ascii=True``. " +"(Contribución de Naoki Inada en :issue:`23206`.)" #: ../Doc/whatsnew/3.5.rst:2148 msgid "" @@ -2702,6 +3709,9 @@ msgid "" "class:`type` as its metaclass. (Contributed Georg Brandl by in :issue:" "`22540`.)" msgstr "" +"Las funciones :c:func:`PyObject_IsInstance` y :c:func:`PyObject_IsSubclass` " +"se aceleraron en el caso común de que el segundo argumento tenga :class:" +"`type` como su metaclase. (Contribución de Georg Brandl en :issue:`22540`.)" #: ../Doc/whatsnew/3.5.rst:2153 msgid "" @@ -2709,6 +3719,9 @@ msgid "" "improvement in some benchmarks. (Contributed by Antoine Pitrou in :issue:" "`22847`.)" msgstr "" +"Se mejoró ligeramente el almacenamiento en caché del método, lo que arrojó " +"una mejora del rendimiento de hasta un 5% en algunos puntos de referencia. " +"(Contribución de Antoine Pitrou en :issue:`22847`.)" #: ../Doc/whatsnew/3.5.rst:2157 #, python-format @@ -2716,6 +3729,9 @@ msgid "" "Objects from the :mod:`random` module now use 50% less memory on 64-bit " "builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" msgstr "" +"Ahora los objetos del módulo :mod:`random` usan un 50% menos de memoria en " +"compilaciones de 64 bits. (Contribución de Serhiy Storchaka en :issue:" +"`23488`.)" #: ../Doc/whatsnew/3.5.rst:2160 #, python-format @@ -2723,6 +3739,8 @@ msgid "" "The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " "Jevnik in :issue:`23910`.)" msgstr "" +"Las llamadas getter de :func:`property` son hasta un 25% más rápidas. " +"(Contribución de Joe Jevnik en :issue:`23910`.)" #: ../Doc/whatsnew/3.5.rst:2163 #, python-format @@ -2730,6 +3748,8 @@ msgid "" "Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " "(Contributed by Stefan Behnel in :issue:`22464`.)" msgstr "" +"Ahora la instanciación de :class:`fractions.Fraction` es hasta un 30% más " +"rápida. (Contribución de Stefan Behnel en :issue:`22464`.)" #: ../Doc/whatsnew/3.5.rst:2166 msgid "" @@ -2738,46 +3758,50 @@ msgid "" "significantly faster for searching 1-character substrings. (Contributed by " "Serhiy Storchaka in :issue:`23573`.)" msgstr "" +"Ahora los métodos de cadena de caracteres :meth:`~str.find`, :meth:`~str." +"rfind`, :meth:`~str.split`, :meth:`~str.partition` y el operador :keyword:" +"`in` son significativamente más rápidos para buscar subcadenas de 1 " +"carácter. (Contribución de Serhiy Storchaka en :issue:`23573`.)" #: ../Doc/whatsnew/3.5.rst:2173 msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la compilación y la API de C" #: ../Doc/whatsnew/3.5.rst:2175 msgid "New ``calloc`` functions were added:" -msgstr "" +msgstr "Se agregaron las nuevas funciones ``calloc``:" #: ../Doc/whatsnew/3.5.rst:2177 msgid ":c:func:`PyMem_RawCalloc`," -msgstr "" +msgstr ":c:func:`PyMem_RawCalloc`," #: ../Doc/whatsnew/3.5.rst:2178 msgid ":c:func:`PyMem_Calloc`," -msgstr "" +msgstr ":c:func:`PyMem_Calloc`," #: ../Doc/whatsnew/3.5.rst:2179 msgid ":c:func:`PyObject_Calloc`." -msgstr "" +msgstr ":c:func:`PyObject_Calloc`." #: ../Doc/whatsnew/3.5.rst:2181 msgid "(Contributed by Victor Stinner in :issue:`21233`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`21233`.)" #: ../Doc/whatsnew/3.5.rst:2183 msgid "New encoding/decoding helper functions:" -msgstr "" +msgstr "Nuevas funciones auxiliares de codificación/decodificación:" #: ../Doc/whatsnew/3.5.rst:2185 msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``)," -msgstr "" +msgstr ":c:func:`Py_DecodeLocale` (reemplazó ``_Py_char2wchar()``)," #: ../Doc/whatsnew/3.5.rst:2186 msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)." -msgstr "" +msgstr ":c:func:`Py_EncodeLocale` (reemplazó ``_Py_wchar2char()``)." #: ../Doc/whatsnew/3.5.rst:2188 msgid "(Contributed by Victor Stinner in :issue:`18395`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`18395`.)" #: ../Doc/whatsnew/3.5.rst:2190 msgid "" @@ -2785,6 +3809,9 @@ msgid "" "encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in :" "issue:`19676`.)" msgstr "" +"Una nueva función :c:func:`PyCodec_NameReplaceErrors` para reemplazar el " +"error de codificación unicode con ``\\N{...}`` escapes. (Contribución de " +"Serhiy Storchaka en :issue:`19676`.)" #: ../Doc/whatsnew/3.5.rst:2194 msgid "" @@ -2792,12 +3819,17 @@ msgid "" "but accepts a ``va_list`` argument. (Contributed by Antoine Pitrou in :issue:" "`18711`.)" msgstr "" +"Una nueva función :c:func:`PyErr_FormatV` similar a :c:func:`PyErr_Format`, " +"pero acepta un argumento ``va_list``. (Contribución de Antoine Pitrou en :" +"issue:`18711`.)" #: ../Doc/whatsnew/3.5.rst:2198 msgid "" "A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl " "in :issue:`19235`.)" msgstr "" +"Una nueva excepción :c:data:`PyExc_RecursionError`. (Contribución de Georg " +"Brandl en :issue:`19235`.)" #: ../Doc/whatsnew/3.5.rst:2201 msgid "" @@ -2806,6 +3838,10 @@ msgid "" "phase extension module initialization. (Contributed by Petr Viktorin in :" "issue:`24268`.)" msgstr "" +"Se introdujeron las nuevas funciones :c:func:`PyModule_FromDefAndSpec`, :c:" +"func:`PyModule_FromDefAndSpec2` y :c:func:`PyModule_ExecDef` por :pep:`489` " +"-- inicialización del módulo de extensión multifase. (Contribución de Petr " +"Viktorin en :issue:`24268`.)" #: ../Doc/whatsnew/3.5.rst:2206 msgid "" @@ -2814,17 +3850,26 @@ msgid "" "(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465` " "for details.)" msgstr "" +"Nuevas funciones :c:func:`PyNumber_MatrixMultiply` y :c:func:" +"`PyNumber_InPlaceMatrixMultiply` para realizar la multiplicación de " +"matrices. (Contribución de Benjamin Peterson en :issue:`21176`. Consultar " +"también :pep:`465` para más detalles.)" #: ../Doc/whatsnew/3.5.rst:2212 msgid "" "The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI." msgstr "" +"Ahora el espacio :c:member:`PyTypeObject.tp_finalize` es parte de la ABI " +"estable." #: ../Doc/whatsnew/3.5.rst:2214 msgid "" "Windows builds now require Microsoft Visual C++ 14.0, which is available as " "part of `Visual Studio 2015 `_." msgstr "" +"Ahora las compilaciones de Windows requieren Microsoft Visual C++ 14.0, que " +"está disponible como parte de `Visual Studio 2015 `_." #: ../Doc/whatsnew/3.5.rst:2217 msgid "" @@ -2833,24 +3878,34 @@ msgid "" "without it, although if the tag is present and mismatched, the extension " "won't be loaded):" msgstr "" +"Ahora los módulos de extensión incluyen una etiqueta de información de la " +"plataforma en su nombre de archivo en algunas plataformas (la etiqueta es " +"opcional y CPython importará las extensiones sin ella, aunque si la etiqueta " +"está presente y no coincide, no se cargará la extensión):" #: ../Doc/whatsnew/3.5.rst:2222 msgid "" "On Linux, extension module filenames end with ``.cpython-m-" "-.pyd``:" msgstr "" +"En Linux, los nombres de archivo del módulo de extensión termina con ``." +"cpython-m--.pyd``:" #: ../Doc/whatsnew/3.5.rst:2225 ../Doc/whatsnew/3.5.rst:2242 msgid "" "```` is the major number of the Python version; for Python 3.5 this " "is ``3``." msgstr "" +"```` es el número principal de la versión de Python; para Python 3.5 " +"este es ``3``." #: ../Doc/whatsnew/3.5.rst:2228 ../Doc/whatsnew/3.5.rst:2245 msgid "" "```` is the minor number of the Python version; for Python 3.5 this " "is ``5``." msgstr "" +"```` es el número menor de la versión de Python; para Python 3.5 este " +"es ``5``." #: ../Doc/whatsnew/3.5.rst:2231 msgid "" @@ -2858,6 +3913,9 @@ msgid "" "built to run on. It's most commonly either ``i386`` for 32-bit Intel " "platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms." msgstr "" +"```` es la arquitectura de hardware para la que se construyó " +"el módulo de extensión. Es más común ``i386`` para plataformas Intel de 32 " +"bits o ``x86_64`` para plataformas Intel (y AMD) de 64 bits." #: ../Doc/whatsnew/3.5.rst:2235 msgid "" @@ -2865,12 +3923,17 @@ msgid "" "32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and " "```` will be ``x86_64``)." msgstr "" +"```` siempre es ``linux-gnu``, excepto para las extensiones que se " +"crearon para comunicarse con la ABI de 32 bits en plataformas de 64 bits, en " +"cuyo caso es ``linux-gnu32`` (y ```` será ``x86_64``)." #: ../Doc/whatsnew/3.5.rst:2239 msgid "" "On Windows, extension module filenames end with ``.cp-" ".pyd``:" msgstr "" +"En Windows, los nombres de archivo del módulo de extensión termina con " +"``.cp-.pyd``:" #: ../Doc/whatsnew/3.5.rst:2248 msgid "" @@ -2878,31 +3941,40 @@ msgid "" "``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows " "Itanium 64, and ``win_arm`` for Windows on ARM." msgstr "" +"```` es la plataforma para la que se construyó el módulo de " +"extensión, ya sea ``win32`` para Win32, ``win_amd64`` para Win64, " +"``win_ia64`` para Windows Itanium 64 y ``win_arm`` para Windows con ARM." #: ../Doc/whatsnew/3.5.rst:2252 msgid "" "If built in debug mode, ```` will be ``_d``, otherwise it will be " "blank." msgstr "" +"Si está integrado en el modo de depuración, ```` será ``_d``, de lo " +"contrario estará en blanco." #: ../Doc/whatsnew/3.5.rst:2255 msgid "" "On OS X platforms, extension module filenames now end with ``-darwin.so``." msgstr "" +"En plataformas OS X, ahora los nombres de archivo del módulo de extensión " +"terminan con ``-darwin.so``." #: ../Doc/whatsnew/3.5.rst:2257 msgid "" "On all other platforms, extension module filenames are the same as they were " "with Python 3.4." msgstr "" +"En todas las demás plataformas, los nombres de archivo del módulo de " +"extensión son los mismos que en Python 3.4." #: ../Doc/whatsnew/3.5.rst:2262 msgid "Deprecated" -msgstr "" +msgstr "Obsoleto" #: ../Doc/whatsnew/3.5.rst:2265 msgid "New Keywords" -msgstr "" +msgstr "Nuevas palabras clave" #: ../Doc/whatsnew/3.5.rst:2267 msgid "" @@ -2910,10 +3982,13 @@ msgid "" "function or module names. Introduced by :pep:`492` in Python 3.5, they will " "become proper keywords in Python 3.7." msgstr "" +"No se recomienda usarse ``async`` y ``await`` como nombres de variable, " +"clase, función o módulo. Se introdujo por :pep:`492` en Python 3.5, se " +"convertirán en palabras clave adecuadas en Python 3.7." #: ../Doc/whatsnew/3.5.rst:2273 msgid "Deprecated Python Behavior" -msgstr "" +msgstr "Comportamiento obsoleto de Python" #: ../Doc/whatsnew/3.5.rst:2275 msgid "" @@ -2923,32 +3998,44 @@ msgid "" "`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " "handling inside generators ` for details." msgstr "" +"Al lanzar la excepción :exc:`StopIteration` dentro de un generador ahora se " +"generará un :exc:`PendingDeprecationWarning` silencioso, el cual se " +"convertirá en una advertencia de deprecación no silenciosa en Python 3.6 y " +"activará un :exc:`RuntimeError` en Python 3.7. Consultar :ref:`PEP 479: " +"Cambiar el gestor de StopIteration dentro de generadores ` " +"para más detalles." #: ../Doc/whatsnew/3.5.rst:2283 msgid "Unsupported Operating Systems" -msgstr "" +msgstr "Sistemas operativos no compatibles" #: ../Doc/whatsnew/3.5.rst:2285 msgid "" "Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython " "3.5 is no longer officially supported on this OS." msgstr "" +"Windows XP ya no es compatible con Microsoft, por lo tanto, según :PEP:`11`, " +"CPython 3.5 oficialmente ya no es compatible con este sistema operativo." #: ../Doc/whatsnew/3.5.rst:2290 msgid "Deprecated Python modules, functions and methods" -msgstr "" +msgstr "Módulos, funciones y métodos obsoletos de Python" #: ../Doc/whatsnew/3.5.rst:2292 msgid "" "The :mod:`formatter` module has now graduated to full deprecation and is " "still slated for removal in Python 3.6." msgstr "" +"Ahora el módulo :mod:`formatter` se ha graduado a su deprecación completa y " +"aún está programada para su eliminación en Python 3.6." #: ../Doc/whatsnew/3.5.rst:2295 msgid "" "The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio." "ensure_future`." msgstr "" +"La función :func:`asyncio.async` es obsoleta en favor de :func:`~asyncio." +"ensure_future`." #: ../Doc/whatsnew/3.5.rst:2298 msgid "" @@ -2958,6 +4045,12 @@ msgid "" "is ``True``, but this default is deprecated. Specify the *decode_data* " "keyword with an appropriate value to avoid the deprecation warning." msgstr "" +"En el pasado, el módulo :mod:`smtpd` siempre ha decodificado la porción DATA " +"de los mensajes de correo electrónico usando el códec ``utf-8``. Ahora esto " +"se puede controlar con la nueva palabra clave *decode_data* en :class:" +"`~smtpd.SMTPServer`. El valor predeterminado es ``True``, pero éste está " +"obsoleto. Especificar la palabra clave *decode_data* con un valor apropiado " +"para evitar la advertencia de deprecación." #: ../Doc/whatsnew/3.5.rst:2304 msgid "" @@ -2968,6 +4061,12 @@ msgid "" "*LegalChars* parameter of :meth:`~http.cookies.Morsel.set` is deprecated, " "and is now ignored." msgstr "" +"Está obsoleto asignar valores directamente en :attr:`~http.cookies.Morsel." +"key`, :attr:`~http.cookies.Morsel.value` y :attr:`~http.cookies.Morsel." +"coded_value` en los objetos de :class:`http.cookies.Morsel`. Usar en su " +"lugar el método :meth:`~http.cookies.Morsel.set`. Además, el parámetro no " +"documentado *LegalChars* de :meth:`~http.cookies.Morsel.set` está obsoleto y " +"ahora se ignora." #: ../Doc/whatsnew/3.5.rst:2311 msgid "" @@ -2975,6 +4074,10 @@ msgid "" "`~string.Formatter.format` method of the :class:`string.Formatter` class has " "been deprecated. (Contributed by Serhiy Storchaka in :issue:`23671`.)" msgstr "" +"Pasar una cadena de caracteres de formato como argumento de palabra clave " +"*format_string* al método :meth:`~string.Formatter.format` de la clase :" +"class:`string.Formatter` se ha quedado obsoleto. (Contribución de Serhiy " +"Storchaka en :issue:`23671`.)" #: ../Doc/whatsnew/3.5.rst:2316 msgid "" @@ -2983,6 +4086,11 @@ msgid "" "describing themselves, so the functionality is left to a package. " "(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" msgstr "" +"Ahora las funciones :func:`platform.dist` y :func:`platform." +"linux_distribution` están obsoletas. Las distribuciones de Linux usan " +"demasiadas formas diferentes de describirse a sí mismas, así que la " +"funcionalidad se deja a un paquete. (Contribución de Vajrasky Kok y Berker " +"Peksag en :issue:`1322`.)" #: ../Doc/whatsnew/3.5.rst:2321 msgid "" @@ -2991,12 +4099,18 @@ msgid "" "from_callable() ` method instead. " "(Contributed by Yury Selivanov in :issue:`24248`.)" msgstr "" +"Los métodos ``from_function`` y ``from_builtin`` previamente no documentados " +"de :class:`inspect.Signature` están obsoletos. Utilizar en su lugar el nuevo " +"método :meth:`Signature.from_callable() `. " +"(Contribución de Yury Selivanov en :issue:`24248`.)" #: ../Doc/whatsnew/3.5.rst:2326 msgid "" "The :func:`inspect.getargspec` function is deprecated and scheduled to be " "removed in Python 3.6. (See :issue:`20438` for details.)" msgstr "" +"La función :func:`inspect.getargspec` está obsoleta y programada para ser " +"eliminada en Python 3.6. (Consultar :issue:`20438` para más detalles.)" #: ../Doc/whatsnew/3.5.rst:2329 msgid "" @@ -3005,18 +4119,27 @@ msgid "" "favor of the :func:`inspect.signature` API. (Contributed by Yury Selivanov " "in :issue:`20438`.)" msgstr "" +"Las funciones :mod:`inspect` :func:`~inspect.getfullargspec`, :func:" +"`~inspect.getcallargs` y :func:`~inspect.formatargspec` están obsoletas en " +"favor de la API :func:`inspect.signature`. (Contribución de Yury Selivanov " +"en :issue:`20438`.)" #: ../Doc/whatsnew/3.5.rst:2334 msgid "" ":func:`~inspect.getargvalues` and :func:`~inspect.formatargvalues` functions " "were inadvertently marked as deprecated with the release of Python 3.5.0." msgstr "" +"Las funciones :func:`~inspect.getargvalues` y :func:`~inspect." +"formatargvalues` se marcaron inadvertidamente como obsoletas con el " +"lanzamiento de Python 3.5.0." #: ../Doc/whatsnew/3.5.rst:2337 msgid "" "Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now " "deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)" msgstr "" +"Ahora el uso de la bandera :const:`re.LOCALE` con patrones str o :const:`re." +"ASCII` está obsoleto. (Contribución de Serhiy Storchaka en :issue:`22407`.)" #: ../Doc/whatsnew/3.5.rst:2340 msgid "" @@ -3025,6 +4148,10 @@ msgid "" "deprecation warning and will be forbidden in Python 3.6. (Contributed by " "Serhiy Storchaka in :issue:`23622`.)" msgstr "" +"El uso de secuencias especiales no reconocidas que consisten en ``'\\'`` y " +"una letra ASCII en patrones de expresión regular y patrones de reemplazo " +"ahora lanza una advertencia de deprecación y estará prohibido en Python 3.6. " +"(Contribución de Serhiy Storchaka en :issue:`23622`.)" #: ../Doc/whatsnew/3.5.rst:2345 msgid "" @@ -3033,20 +4160,26 @@ msgid "" "ignored. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" "`16662`.)" msgstr "" +"Ahora el argumento predeterminado no documentado y no oficial " +"*use_load_tests* del método :meth:`unittest.TestLoader.loadTestsFromModule` " +"está obsoleto e ignorado. (Contribución de Robert Collins y Barry A. Warsaw " +"en :issue:`16662`.)" #: ../Doc/whatsnew/3.5.rst:2352 msgid "Removed" -msgstr "" +msgstr "Eliminado" #: ../Doc/whatsnew/3.5.rst:2355 msgid "API and Feature Removals" -msgstr "" +msgstr "APIs y características eliminadas" #: ../Doc/whatsnew/3.5.rst:2357 msgid "" "The following obsolete and previously deprecated APIs and features have been " "removed:" msgstr "" +"Se eliminaron las siguientes APIs y características obsoletas y " +"anteriormente obsoletas:" #: ../Doc/whatsnew/3.5.rst:2360 msgid "" @@ -3054,16 +4187,23 @@ msgid "" "email code hasn't been shipped separately from the stdlib for a long time, " "and the ``__version__`` string was not updated in the last few releases." msgstr "" +"Se eliminó el atributo ``__version__`` del paquete de correo electrónico. No " +"se envió el código de correo electrónico por separado de stdlib durante " +"mucho tiempo, y la cadena de caracteres ``__version__`` no se actualizó en " +"las últimas versiones." #: ../Doc/whatsnew/3.5.rst:2364 msgid "" "The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in " "3.4, and has now been removed. (Contributed by Matt Chaput in :issue:`6623`.)" msgstr "" +"La clase interna ``Netrc`` en el módulo :mod:`ftplib` quedó obsoleta en la " +"versión 3.4 y ahora se eliminó. (Contribución de Matt Chaput en :issue:" +"`6623`.)" #: ../Doc/whatsnew/3.5.rst:2368 msgid "The concept of ``.pyo`` files has been removed." -msgstr "" +msgstr "Se eliminó el concepto de los archivos ``.pyo``." #: ../Doc/whatsnew/3.5.rst:2370 msgid "" @@ -3071,36 +4211,46 @@ msgid "" "deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis " "in :issue:`23464`.)" msgstr "" +"La clase JoinableQueue en el módulo provisional :mod:`asyncio` quedó " +"obsoleto en la versión 3.4.4 y ahora se eliminó. (Contribución de A. Jesse " +"Jiryu Davis en :issue:`23464`.)" #: ../Doc/whatsnew/3.5.rst:2376 msgid "Porting to Python 3.5" -msgstr "" +msgstr "Portando a Python 3.5" #: ../Doc/whatsnew/3.5.rst:2378 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" +"Esta sección enumera cambios descritos anteriormente y otras correcciones de " +"errores que pueden requerir cambios en tu código." #: ../Doc/whatsnew/3.5.rst:2383 msgid "Changes in Python behavior" -msgstr "" +msgstr "Cambios en el comportamiento de Python" #: ../Doc/whatsnew/3.5.rst:2385 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" +"Debido a un descuido, erróneamente en anteriores versiones de Python " +"aceptaron la siguiente sintaxis::" #: ../Doc/whatsnew/3.5.rst:2391 msgid "" "Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator " "expressions must be put in parentheses if not a sole argument to a function." msgstr "" +"Ahora Python 3.5 lanza correctamente un :exc:`SyntaxError`, ya que las " +"expresiones generadoras deben ponerse entre paréntesis si no son el único " +"argumento de una función." #: ../Doc/whatsnew/3.5.rst:2396 msgid "Changes in the Python API" -msgstr "" +msgstr "Cambios en la API de Python" #: ../Doc/whatsnew/3.5.rst:2398 msgid "" @@ -3108,6 +4258,9 @@ msgid "" "instead of raising :exc:`InterruptedError` if the Python signal handler does " "not raise an exception." msgstr "" +":pep:`475`: Ahora se reintentan las llamadas al sistema cuando se " +"interrumpen por una señal en lugar de lanzar :exc:`InterruptedError` si el " +"gestor de señales de Python no lanza una excepción." #: ../Doc/whatsnew/3.5.rst:2402 msgid "" @@ -3116,6 +4269,10 @@ msgid "" "obscure and error-prone and has been removed in Python 3.5. See :issue:" "`13936` for full details." msgstr "" +"Antes de Python 3.5, se consideraba falso un objeto :class:`datetime.time` " +"si representaba la medianoche en UTC. Este comportamiento se consideraba " +"oscuro y propenso a errores y se eliminó en Python 3.5. Consultar :issue:" +"`13936` para más detalles." #: ../Doc/whatsnew/3.5.rst:2407 msgid "" @@ -3124,6 +4281,10 @@ msgid "" "if the operation would block. Previously, it would return ``0``. " "(Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" +"Ahora el método :meth:`ssl.SSLSocket.send()` lanza ya sea :exc:`ssl." +"SSLWantReadError` o :exc:`ssl.SSLWantWriteError` en un socket sin bloqueo si " +"la operación se bloqueara. Anteriormente, retornaría ``0``. (Contribución de " +"Nikolaus Rath en :issue:`20951`.)" #: ../Doc/whatsnew/3.5.rst:2412 msgid "" @@ -3133,6 +4294,12 @@ msgid "" "attribute, the qualified name, which is now used for the representation of a " "generator (``repr(gen)``). (Contributed by Victor Stinner in :issue:`21205`.)" msgstr "" +"Ahora el atributo ``__name__`` de los generadores se establece desde el " +"nombre de la función en lugar de establecerse desde el nombre del código. " +"Usar ``gen.gi_code.co_name`` para recuperar el nombre del código. También " +"los generadores tienen un nuevo atributo ``__qualname__``, el nombre " +"calificado, el cual se utiliza ahora para la representación de un generador " +"(``repr(gen)``). (Contribución de Victor Stinner en :issue:`21205`.)" #: ../Doc/whatsnew/3.5.rst:2419 msgid "" @@ -3143,6 +4310,12 @@ msgid "" "HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :" "issue:`21047`.)" msgstr "" +"Se eliminaron el argumento y modo obsoleto \"strict\" de :class:`~html." +"parser.HTMLParser`, :meth:`HTMLParser.error` y la excepción :exc:" +"`HTMLParserError`. (Contribución de Ezio Melotti en :issue:`15114`.) Ahora " +"el argumento *convert_charrefs* de :class:`~html.parser.HTMLParser` es " +"``True`` como valor predeterminado. (Contribución de Berker Peksag en :issue:" +"`21047`.)" #: ../Doc/whatsnew/3.5.rst:2425 msgid "" @@ -3152,6 +4325,11 @@ msgid "" "\"a :term:`bytes-like object` is required, not 'sometype'\". (Contributed by " "Ezio Melotti in :issue:`16518`.)" msgstr "" +"Aunque no es parte formalmente de la API, vale la pena señalar con fines de " +"portabilidad (es decir: pruebas de reparación) que ahora los mensajes de " +"error que anteriormente tenían el formato \"'sometype' no es compatible con " +"el protocolo búfer\" son del formato \"se requiere :term:`bytes-like " +"object`, no 'sometype'\". (Contribución de Ezio Melotti en :issue:`16518`.)" #: ../Doc/whatsnew/3.5.rst:2431 msgid "" @@ -3161,6 +4339,11 @@ msgid "" "caching ``None`` in :data:`sys.path_importer_cache`, which is different than " "the typical case (:issue:`22834`)." msgstr "" +"Si el directorio actual se establece en un directorio que ya no existe " +"entonces ya no se lanzará :exc:`FileNotFoundError` y en su lugar :meth:" +"`~importlib.machinery.FileFinder.find_spec` retornará ``None`` **sin** " +"almacenamiento en caché ``None`` en :data:`sys.path_importer_cache`, el cual " +"es diferente al caso típico (:issue:`22834`)." #: ../Doc/whatsnew/3.5.rst:2437 msgid "" @@ -3169,6 +4352,11 @@ msgid "" "in :mod:`http.client` and :mod:`http.server` remain available for backwards " "compatibility. (Contributed by Demian Brecht in :issue:`21793`.)" msgstr "" +"El código de estado HTTP y los mensajes de :mod:`http.client` y :mod:`http." +"server` se refactorizaron en una enumeración :class:`~http.HTTPStatus`. Los " +"valores en :mod:`http.client` y :mod:`http.server` permanecen disponibles " +"para compatibilidad con versiones anteriores. (Contribución de Demian Brecht " +"en :issue:`21793`.)" #: ../Doc/whatsnew/3.5.rst:2442 msgid "" @@ -3180,6 +4368,13 @@ msgid "" "Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :" "issue:`23014`.)" msgstr "" +"Cuando un cargador de importación define :meth:`importlib.machinery.Loader." +"exec_module`, ahora se espera que también defina :meth:`~importlib.machinery." +"Loader.create_module` (ahora lanza un :exc:`DeprecationWarning`, será un " +"error en Python 3.6). Si el cargador hereda de :class:`importlib.abc.Loader` " +"entonces no hay nada que hacer, de lo contrario simplemente defina :meth:" +"`~importlib.machinery.Loader.create_module` para retornar ``None``. " +"(Contribución de Brett Cannon en :issue:`23014`.)" #: ../Doc/whatsnew/3.5.rst:2450 msgid "" @@ -3191,6 +4386,14 @@ msgid "" "only match an empty string (such as ``\"\\b\"``) now raise an error. " "(Contributed by Serhiy Storchaka in :issue:`22818`.)" msgstr "" +"La función :func:`re.split` siempre ignoraba las coincidencias de patrones " +"vacías, así que el patrón ``\"x*\"`` funcionaba igual que ``\"x+\"`` y el " +"patrón ``\"\\b\"`` nunca funcionó. Ahora :func:`re.split` lanza una " +"advertencia si el patrón puede coincidir con una cadena de caracteres vacía. " +"Para compatibilidad, usar patrones que nunca coincidan con una cadena vacía " +"(p. ej. ``\"x+\"`` en lugar de ``\"x*\"``). Ahora los patrones que solo " +"pueden coincidir con una cadena vacía (como ``\"\\b\"``) lanzan un error. " +"(Contribución de Serhiy Storchaka en :issue:`22818`.)" #: ../Doc/whatsnew/3.5.rst:2458 msgid "" @@ -3204,6 +4407,15 @@ msgid "" "`~http.cookies.Morsel.set` is deprecated and is now ignored. (Contributed " "by Demian Brecht in :issue:`2211`.)" msgstr "" +"La interfaz similar a diccionarios :class:`http.cookies.Morsel` se ha hecho " +"autoconsistente: ahora la comparación de morsel toma en cuenta :attr:`~http." +"cookies.Morsel.key` y :attr:`~http.cookies.Morsel.value`, ahora :meth:`~http." +"cookies.Morsel.copy` da como resultado en una instancia :class:`~http." +"cookies.Morsel` en lugar de un :class:`dict`, y ahora :meth:`~http.cookies." +"Morsel.update` lanzará una excepción si alguna de las claves del diccionario " +"de actualización no es válida. Además, el parámetro no documentado " +"*LegalChars* de :func:`~http.cookies.Morsel.set` está obsoleto y ahora se " +"ignora. (Contribución de Demian Brecht en :issue:`2211`.)" #: ../Doc/whatsnew/3.5.rst:2468 msgid "" @@ -3218,12 +4430,25 @@ msgid "" "pyo` files from previous versions of Python are invalid regardless of this " "PEP." msgstr "" +":pep:`488` eliminó los archivos ``.pyo`` de Python e introdujo la etiqueta " +"opcional ``opt-`` en los nombres de archivo ``.pyc``. La función :func:" +"`importlib.util.cache_from_source` ganó un parámetro *optimization* para " +"ayudar a controlar la etiqueta ``opt-``. Debido a esto, ahora el parámetro " +"*debug_override* de la función está obsoleto. También los archivos `.pyo` ya " +"no se admiten como un argumento de archivo para el intérprete de Python, y " +"por lo tanto, no tienen ningún propósito cuando se distribuyen por sí mismos " +"(es decir, distribución de código sin fuente). Debido al hecho de que el " +"número mágico para bytecode se cambió en Python 3.5, todos los archivos " +"antiguos `.pyo` de versiones anteriores de Python no son válidos " +"independientemente de este PEP." #: ../Doc/whatsnew/3.5.rst:2479 msgid "" "The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` " "constant on linux 3.6 and greater." msgstr "" +"Ahora el módulo :mod:`socket` exporta la constante :data:`~socket." +"CAN_RAW_FD_FRAMES` en Linux 3.6 y versiones superiores." #: ../Doc/whatsnew/3.5.rst:2482 msgid "" @@ -3231,12 +4456,18 @@ msgid "" "as UTC and not as local time, per :rfc:`5280`. Additionally, the return " "value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" msgstr "" +"Ahora la función :func:`ssl.cert_time_to_seconds` interpreta la hora de " +"entrada como UTC y no como hora local, por :rfc:`5280`. Además, el valor de " +"retorno siempre es un :class:`int`. (Contribución de Akira Li en :issue:" +"`19940`.)" #: ../Doc/whatsnew/3.5.rst:2486 msgid "" "The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones " "in the POT-Creation-Date header." msgstr "" +"Ahora la herramienta ``pygettext.py`` usa el formato estándar +NNNN para " +"zonas horarias en el encabezado POT-Creation-Date." #: ../Doc/whatsnew/3.5.rst:2489 msgid "" @@ -3245,6 +4476,11 @@ msgid "" "(test) program depends on patching the module-level variable to capture the " "debug output, you will need to update it to capture sys.stderr instead." msgstr "" +"Ahora el módulo :mod:`smtplib` usa :data:`sys.stderr` en lugar de la " +"variable anterior de nivel de módulo :data:`stderr` para la salida de " +"depuración. Si tu programa (de prueba) depende de parchear la variable de " +"nivel de mundo para capturar la salida de depuración, necesitarás " +"actualizarlo para capturar sys.stderr en su lugar." #: ../Doc/whatsnew/3.5.rst:2494 msgid "" @@ -3252,6 +4488,10 @@ msgid "" "``True`` when finding the empty string and the indexes are completely out of " "range. (Contributed by Serhiy Storchaka in :issue:`24284`.)" msgstr "" +"Los métodos :meth:`str.startswith` y :meth:`str.endswith` ya no retornan " +"``True`` cuando encuentran la cadena de caracteres vacía y los índices están " +"completamente fuera de rango. (Contribución de Serhiy Storchaka en :issue:" +"`24284`.)" #: ../Doc/whatsnew/3.5.rst:2498 msgid "" @@ -3263,6 +4503,13 @@ msgid "" "module and the :func:`help` function. (Contributed by Serhiy Storchaka in :" "issue:`15582`.)" msgstr "" +"Ahora la función :func:`inspect.getdoc` retorna cadenas de documentación que " +"se heredaron de clases base. Ya no es necesario duplicar las cadenas de " +"documentación si la documentación que se heredó es apropiada. Para suprimir " +"una cadena que se heredó, se debe especificar una cadena vacía (o se puede " +"completar la documentación). Este cambio afecta la salida del módulo :mod:" +"`pydoc` y la función :func:`help`. (Contribución de Serhiy Storchaka en :" +"issue:`15582`.)" #: ../Doc/whatsnew/3.5.rst:2506 msgid "" @@ -3271,10 +4518,14 @@ msgid "" "func:`functools.partial` object or you can create a subclass of :func:" "`functools.partial`. (Contributed by Alexander Belopolsky in :issue:`7830`.)" msgstr "" +"Ahora las llamadas anidadas :func:`functools.partial` se aplanan. Si se " +"confiaba en el comportamiento anterior, ahora se puede agregar un atributo a " +"un objeto :func:`functools.partial` o se puede crear una subclase de :func:" +"`functools.partial`. (Contribución de Alexander Belopolsky en :issue:`7830`.)" #: ../Doc/whatsnew/3.5.rst:2513 msgid "Changes in the C API" -msgstr "" +msgstr "Cambios en la API de C" #: ../Doc/whatsnew/3.5.rst:2515 msgid "" @@ -3283,12 +4534,18 @@ msgid "" "extensions relying on the relevant parts in ``memoryobject.h`` must be " "rebuilt." msgstr "" +"Se eliminó el miembro no documentado :c:member:`~PyMemoryViewObject.format` " +"de la estructura (no pública) :c:type:`PyMemoryViewObject`. Todas las " +"extensiones que se basan en las partes relevantes en ``memoryobject.h`` se " +"debe recompilar." #: ../Doc/whatsnew/3.5.rst:2520 msgid "" "The :c:type:`PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" +"La estructura :c:type:`PyMemAllocator` se renombró a :c:type:" +"`PyMemAllocatorEx` y se agregó un nuevo campo ``calloc``." #: ../Doc/whatsnew/3.5.rst:2523 msgid "" @@ -3297,6 +4554,10 @@ msgid "" "like functions to format the :func:`repr` of the object. (Contributed by " "Serhiy Storchaka in :issue:`22453`.)" msgstr "" +"Se eliminó la macro no documentada :c:macro:`PyObject_REPR` que filtró " +"referencias. Usar el carácter de formato ``%R`` en funciones similares a :c:" +"func:`PyUnicode_FromFormat` para formatear :func:`repr` del objeto. " +"(Contribución de Serhiy Storchaka en :issue:`22453`.)" #: ../Doc/whatsnew/3.5.rst:2528 msgid "" @@ -3305,6 +4566,10 @@ msgid "" "the :attr:`__module__` attribute. This would be an AttributeError in the " "future. (Contributed by Serhiy Storchaka in :issue:`20204`.)" msgstr "" +"Debido a que la falta del atributo :attr:`__module__` rompe pickling y la " +"introspección, ahora se lanza una advertencia de deprecación para los tipos " +"integrados sin el atributo :attr:`__module__`. Este sería un AttributeError " +"en el futuro. (Contribución de Serhiy Storchaka en :issue:`20204`.)" #: ../Doc/whatsnew/3.5.rst:2534 msgid "" @@ -3312,14 +4577,18 @@ msgid "" "type:`PyTypeObject` was replaced with a :c:member:`tp_as_async` slot. Refer " "to :ref:`coro-objects` for new types, structures and functions." msgstr "" +"Como parte de la implementación de :pep:`492`, el espacio ``tp_reserved`` " +"de :c:type:`PyTypeObject` se reemplazó con un espacio :c:member:" +"`tp_as_async`. Consultar :ref:`coro-objects` para nuevos tipos, estructuras " +"y funciones." #: ../Doc/whatsnew/3.5.rst:2541 msgid "Notable changes in Python 3.5.4" -msgstr "" +msgstr "Cambios notables en Python 3.5.4" #: ../Doc/whatsnew/3.5.rst:2544 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Nuevo objetivo de compilación ``make regen-all``" #: ../Doc/whatsnew/3.5.rst:2546 msgid "" @@ -3328,6 +4597,11 @@ msgid "" "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" +"Para simplificar la compilación cruzada y asegurar que CPython se pueda " +"compilar de manera confiable sin requerir que una versión existente de " +"Python ya esté disponible, el sistema de compilación basado en herramientas " +"automáticas ya no intenta volver a compilar implícitamente los archivos " +"generados en función de los tiempos de modificación de los archivos." #: ../Doc/whatsnew/3.5.rst:2551 msgid "" @@ -3335,20 +4609,26 @@ msgid "" "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" +"En su lugar, se agregó un nuevo comando ``make regen-all`` para forzar la " +"regeneración de estos archivos cuando se desee (p. ej. después de que ya se " +"haya creado una versión inicial de Python basada en las versiones " +"pregeneradas). " #: ../Doc/whatsnew/3.5.rst:2555 msgid "" "More selective regeneration targets are also defined - see :source:`Makefile." "pre.in` for details." msgstr "" +"También se definen objetivos de regeneración más selectivos - consultar :" +"source:`Makefile.pre.in` para más detalles." #: ../Doc/whatsnew/3.5.rst:2558 ../Doc/whatsnew/3.5.rst:2571 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`23404`.)" #: ../Doc/whatsnew/3.5.rst:2564 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Eliminación del objetivo de compilación ``make touch``" #: ../Doc/whatsnew/3.5.rst:2566 msgid "" @@ -3356,7 +4636,10 @@ msgid "" "regeneration of generated files by updating their modification times has " "been removed." msgstr "" +"Se eliminó el objetivo de compilación ``make touch`` que anteriormente se " +"usaba para solicitar la regeneración implícita de los archivos generados " +"mediante la actualización de sus tiempos de modificación." #: ../Doc/whatsnew/3.5.rst:2569 msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" +msgstr "Se reemplazó por el nuevo objetivo ``make regen-all``." From 518cdd1bead8ed276d703235c1f217b4d4d9e1ef Mon Sep 17 00:00:00 2001 From: rtobar Date: Thu, 19 Aug 2021 17:11:34 +0800 Subject: [PATCH 60/94] Traduce entradas faltantes en library/signal.po (#1347) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduce entradas faltantes en library/signal.po * Aplica corrección sugerida Signed-off-by: Rodrigo Tobar Co-authored-by: Carlos A. Crespo Co-authored-by: Carlos A. Crespo --- library/signal.po | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/library/signal.po b/library/signal.po index 54a5619fb5..43663e827a 100644 --- a/library/signal.po +++ b/library/signal.po @@ -11,17 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\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" +"PO-Revision-Date: 2021-08-18 10:12+0800\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "X-Generator: Poedit 2.4.2\n" +"Last-Translator: Rodrigo Tobar \n" #: ../Doc/library/signal.rst:2 msgid ":mod:`signal` --- Set handlers for asynchronous events" @@ -197,7 +196,7 @@ msgstr "Señal de temporizador de :manpage:`alarm(2)`." #: ../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 ":ref:`Availability `: Unix." +msgstr ":ref:`Disponibilidad `: Unix." #: ../Doc/library/signal.rst:106 msgid "Interrupt from keyboard (CTRL + BREAK)." @@ -206,7 +205,7 @@ msgstr "Interrumpir desde el teclado (CTRL + BREAK)." #: ../Doc/library/signal.rst:108 ../Doc/library/signal.rst:215 #: ../Doc/library/signal.rst:225 msgid ":ref:`Availability `: Windows." -msgstr ":ref:`Availability `: Windows." +msgstr ":ref:`Disponibilidad `: Windows." #: ../Doc/library/signal.rst:112 msgid "Bus error (bad memory access)." @@ -511,14 +510,19 @@ msgid "" "``None``. The *flags* argument is provided for future extensions; no flag " "values are currently defined." msgstr "" +"Envía la señal *sig* al proceso referido por el descriptor de archivo " +"*pidfd*. Python actualmente no soporta el parámetro *siginfo*; éste debe ser " +"``None``. El argumento *flags* está proveído para extensiones futuras; no " +"hay valores actualmente definidos para *flags*." #: ../Doc/library/signal.rst:361 msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." msgstr "" +"Para más información vea la página de manual :manpage:`pidfd_send_signal(2)`." #: ../Doc/library/signal.rst:363 msgid ":ref:`Availability `: Linux 5.1+" -msgstr "" +msgstr ":ref:`Disponibilidad `: Linux 5.1+" #: ../Doc/library/signal.rst:369 msgid "" From 2bd3f5873d7303baf6f919277b60be36c327faf0 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 19 Aug 2021 09:09:28 -0500 Subject: [PATCH 61/94] Traduccion library/devmode (#1272) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduccion library/devmode * Fix Words/Add Dictionary * Fix Powrap * Fix Powrap/Words * powrap y arreglando texto en inglés * Agregando archivo diccionario Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_devmode.txt | 1 + library/devmode.po | 125 +++++++++++++++++++++++++------ 2 files changed, 105 insertions(+), 21 deletions(-) create mode 100644 dictionaries/library_devmode.txt diff --git a/dictionaries/library_devmode.txt b/dictionaries/library_devmode.txt new file mode 100644 index 0000000000..6258a58f24 --- /dev/null +++ b/dictionaries/library_devmode.txt @@ -0,0 +1 @@ +Bad diff --git a/library/devmode.po b/library/devmode.po index a7ac85c99a..6e74082efa 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -4,23 +4,25 @@ # 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" +"PO-Revision-Date: 2021-08-07 22:10-0500\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: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/devmode.rst:4 msgid "Python Development Mode" -msgstr "" +msgstr "Modo de desarrollo de Python" #: ../Doc/library/devmode.rst:8 msgid "" @@ -29,59 +31,73 @@ msgid "" "the default if the code is correct; new warnings are only emitted when an " "issue is detected." msgstr "" +"El modo de desarrollo de Python introduce comprobaciones adicionales en " +"tiempo de ejecución que son muy costosas para ser activadas por defecto. No " +"debería ser más verboso que el predeterminado si el código es correcto; sólo " +"se emiten nuevas advertencias cuando se detecta un problema." #: ../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 "" +"Puede activarse mediante la opción de línea de comandos :option:`-X dev <-" +"X>` o estableciendo la variable de entorno :envvar:`PYTHONDEVMODE` en ``1``." #: ../Doc/library/devmode.rst:17 msgid "Effects of the Python Development Mode" -msgstr "" +msgstr "Efectos del modo de desarrollo de Python" #: ../Doc/library/devmode.rst:19 msgid "" "Enabling the Python Development Mode is similar to the following command, " "but with additional effects described below::" msgstr "" +"Activar el modo de desarrollo de Python es similar al siguiente comando, " +"pero con efectos adicionales que se describen a continuación::" #: ../Doc/library/devmode.rst:24 msgid "Effects of the Python Development Mode:" -msgstr "" +msgstr "Efectos del modo de desarrollo de Python:" #: ../Doc/library/devmode.rst:26 msgid "" "Add ``default`` :ref:`warning filter `. The " "following warnings are shown:" msgstr "" +"Añadir ``default`` :ref:`filtro de avisos `.Se " +"muestran las siguientes advertencias:" #: ../Doc/library/devmode.rst:29 msgid ":exc:`DeprecationWarning`" -msgstr "" +msgstr ":exc:`DeprecationWarning`" #: ../Doc/library/devmode.rst:30 msgid ":exc:`ImportWarning`" -msgstr "" +msgstr ":exc:`ImportWarning`" #: ../Doc/library/devmode.rst:31 msgid ":exc:`PendingDeprecationWarning`" -msgstr "" +msgstr ":exc:`PendingDeprecationWarning`" #: ../Doc/library/devmode.rst:32 msgid ":exc:`ResourceWarning`" -msgstr "" +msgstr ":exc:`ResourceWarning`" #: ../Doc/library/devmode.rst:34 msgid "" "Normally, the above warnings are filtered by the default :ref:`warning " "filters `." msgstr "" +"Normalmente, los advertencias son filtradas por defecto :ref:`warning " +"filters `." #: ../Doc/library/devmode.rst:37 msgid "" "It behaves as if the :option:`-W default <-W>` command line option is used." msgstr "" +"Se comporta como si se utilizara la opción de línea de comandos :option:`-W " +"default <-W>`." #: ../Doc/library/devmode.rst:39 msgid "" @@ -89,36 +105,43 @@ msgid "" "`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as " "errors." msgstr "" +"Utilice la opción de línea de comandos :option:`-W error <-W>` o establezca " +"la variable de entorno :envvar:`PYTHONWARNINGS` en ``error`` para tratar las " +"advertencias como errores." #: ../Doc/library/devmode.rst:43 msgid "Install debug hooks on memory allocators to check for:" msgstr "" +"Instalar hooks(enganches) de depuración en los asignadores de memoria para " +"comprobar:" #: ../Doc/library/devmode.rst:45 msgid "Buffer underflow" -msgstr "" +msgstr "Desbordamiento del búfer" #: ../Doc/library/devmode.rst:46 msgid "Buffer overflow" -msgstr "" +msgstr "Sobrecarga del búfer" #: ../Doc/library/devmode.rst:47 msgid "Memory allocator API violation" -msgstr "" +msgstr "Violación de la API del asignador de memoria" #: ../Doc/library/devmode.rst:48 msgid "Unsafe usage of the GIL" -msgstr "" +msgstr "Uso inseguro del GIL" #: ../Doc/library/devmode.rst:50 msgid "See the :c:func:`PyMem_SetupDebugHooks` C function." -msgstr "" +msgstr "Ver la función en C :c:func:`PyMem_SetupDebugHooks`." #: ../Doc/library/devmode.rst:52 msgid "" "It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to " "``debug``." msgstr "" +"Se comporta como si la variable de entorno :envvar:`PYTHONMALLOC` estuviera " +"establecida en ``debug``." #: ../Doc/library/devmode.rst:55 msgid "" @@ -126,6 +149,9 @@ msgid "" "memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to " "``default``." msgstr "" +"Para activar el modo de desarrollo de Python sin instalar ganchos de " +"depuración en los asignadores de memoria, establezca la variable de entorno :" +"envvar:`PYTHONMALLOC` a ``default``." #: ../Doc/library/devmode.rst:59 msgid "" @@ -133,6 +159,10 @@ msgid "" "the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " "and :const:`SIGILL` signals to dump the Python traceback on a crash." msgstr "" +"Llama a :func:`faulthandler.enable` al inicio de Python para instalar los " +"handlers(manejadores) de las señales :const:`SIGSEGV`, :const:`SIGFPE`, :" +"const:`SIGABRT`, :const:`SIGBUS` y :const:`SIGILL` para volcar la traza de " +"Python en caso de fallo." #: ../Doc/library/devmode.rst:63 msgid "" @@ -140,18 +170,25 @@ msgid "" "used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " "``1``." msgstr "" +"Se comporta como si se utilizara la opción de línea de comandos :option:`-X " +"faulthandler <-X>` o si la variable de entorno :envvar:`PYTHONFAULTHANDLER` " +"se establece en ``1``." #: ../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 "" +"Habilitar :ref:`asyncio debug mode `. Por ejemplo, :mod:" +"`asyncio` comprueba las corutinas que no fueron esperadas y las registra." #: ../Doc/library/devmode.rst:70 msgid "" "It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " "set to ``1``." msgstr "" +"Se comporta como si la variable de entorno :envvar:`PYTHONASYNCIODEBUG` " +"estuviera establecida en ``1``." #: ../Doc/library/devmode.rst:73 msgid "" @@ -159,6 +196,9 @@ msgid "" "operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes." "decode`." msgstr "" +"Comprueba los argumentos *encoding* y *errors* para las operaciones de " +"codificación y decodificación de cadenas. Ejemplos: :func:`open`, :meth:`str." +"encode` y :meth:`bytes.decode`." #: ../Doc/library/devmode.rst:77 msgid "" @@ -166,16 +206,22 @@ msgid "" "the first encoding/decoding error and the *encoding* argument is sometimes " "ignored for empty strings." msgstr "" +"Por defecto, para un mejor rendimiento, el argumento *errors* sólo se " +"comprueba en el primer error de codificación/decodificación y el argumento " +"*encoding* a veces se ignora para las cadenas vacías." #: ../Doc/library/devmode.rst:81 msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." msgstr "" +"El destructor de :class:`io.IOBase` registra las excepciones ``close()``." #: ../Doc/library/devmode.rst:82 msgid "" "Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " "``True``." msgstr "" +"Establece el atributo :attr:`~sys.flags.dev_mode` de :attr:`sys.flags` a " +"``True``." #: ../Doc/library/devmode.rst:85 msgid "" @@ -187,6 +233,13 @@ msgid "" "buffer overflow error logs the traceback where the memory block was " "allocated." msgstr "" +"El Modo de Desarrollo de Python no habilita el módulo :mod:`tracemalloc` por " +"defecto, porque el costo de la sobrecarga (para el rendimiento y la memoria) " +"sería demasiado grande. Activar el módulo :mod:`tracemalloc` proporciona " +"información adicional sobre el origen de algunos errores. Por ejemplo, :exc:" +"`ResourceWarning` registra la traza donde se asignó el recurso, y un error " +"de desbordamiento de búfer registra la traza donde se asignó el bloque de " +"memoria." #: ../Doc/library/devmode.rst:92 msgid "" @@ -194,49 +247,66 @@ msgid "" "option from removing :keyword:`assert` statements nor from setting :const:" "`__debug__` to ``False``." msgstr "" +"El modo de desarrollo de Python no impide que la opción de línea de " +"comandos :option:`-O` elimine las declaraciones :keyword:`assert` ni que " +"establezca :const:`__debug__` a ``False``." #: ../Doc/library/devmode.rst:96 msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." msgstr "" +"El destructor de :class:`io.IOBase` ahora registra las excepciones " +"``close()``." #: ../Doc/library/devmode.rst:99 msgid "" "The *encoding* and *errors* arguments are now checked for string encoding " "and decoding operations." msgstr "" +"Los argumentos *enconding* y *errors* se comprueban ahora para las " +"operaciones de codificación y descodificación de cadenas." #: ../Doc/library/devmode.rst:105 msgid "ResourceWarning Example" -msgstr "" +msgstr "Ejemplo de ResourceWarning" #: ../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 "" +"Ejemplo de un script que cuenta el número de líneas del archivo de texto " +"especificado en la línea de comandos::" #: ../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 "" +"El script no cierra el archivo explícitamente. Por defecto, Python no emite " +"ninguna advertencia. Ejemplo usando README.txt, que tiene 269 líneas:" #: ../Doc/library/devmode.rst:129 msgid "" "Enabling the Python Development Mode displays a :exc:`ResourceWarning` " "warning:" msgstr "" +"Al activar el modo de desarrollo de Python aparece una advertencia :exc:" +"`ResourceWarning`:" #: ../Doc/library/devmode.rst:139 msgid "" "In addition, enabling :mod:`tracemalloc` shows the line where the file was " "opened:" msgstr "" +"Además, al activar :mod:`tracemalloc` se muestra la línea en la que se abrió " +"el archivo:" #: ../Doc/library/devmode.rst:154 msgid "" "The fix is to close explicitly the file. Example using a context manager::" msgstr "" +"La solución es cerrar explícitamente el archivo. Ejemplo utilizando un " +"gestor de contexto::" #: ../Doc/library/devmode.rst:162 msgid "" @@ -245,24 +315,30 @@ msgid "" "CPython, but it is even worse in PyPy. Closing resources explicitly makes an " "application more deterministic and more reliable." msgstr "" +"No cerrar un recurso explícitamente puede dejar un recurso abierto durante " +"mucho más tiempo del estimado; puede causar graves problemas al salir de " +"Python. Es malo en CPython, pero es aún peor en PyPy. Cerrar los recursos " +"explícitamente hace que una aplicación sea más detallista y más fiable." #: ../Doc/library/devmode.rst:169 msgid "Bad file descriptor error example" -msgstr "" +msgstr "Ejemplo de error de descriptor de archivo incorrecto" #: ../Doc/library/devmode.rst:171 msgid "Script displaying the first line of itself::" -msgstr "" +msgstr "Script que muestra la primera línea de sí mismo::" #: ../Doc/library/devmode.rst:184 msgid "By default, Python does not emit any warning:" -msgstr "" +msgstr "Por defecto, Python no emite ninguna advertencia:" #: ../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 "" +"El modo de desarrollo de Python muestra un :exc:`ResourceWarning` y registra " +"un error \"Bad file descriptor\" cuando termina el objeto archivo:" #: ../Doc/library/devmode.rst:207 msgid "" @@ -272,9 +348,16 @@ msgid "" "worst case scenario, closing it twice can lead to a crash (see :issue:" "`18748` for an example)." msgstr "" +"``os.close(fp.fileno())`` cierra el descriptor de archivo. Cuando el " +"finalizador de objetos de archivo intenta cerrar el descriptor de archivo de " +"nuevo, falla con el error ``Bad file descriptor``. Un descriptor de archivo " +"debe cerrarse sólo una vez. En el peor de los casos, cerrarlo dos veces " +"puede provocar un fallo (ver :issue:`18748` para un ejemplo)." #: ../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 "" +"La solución es eliminar la línea ``os.close(fp.fileno())``, o abrir el " +"archivo con ``closefd=False``." From e3b8ddc52401f7066df2c105aa6d9b5ca937092c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 23 Aug 2021 13:38:10 +0200 Subject: [PATCH 62/94] =?UTF-8?q?Traducci=C3=B3n=20final=20y=20fuzzy=20de?= =?UTF-8?q?=20whatsnew=203.7/3.8=20(#1343)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/whatsnew_3.7.txt | 4 +- dictionaries/whatsnew_3.8.txt | 90 +++++++++++++++++++---------------- whatsnew/3.7.po | 42 +++++++++------- whatsnew/3.8.po | 68 +++++++++++++++----------- 4 files changed, 117 insertions(+), 87 deletions(-) diff --git a/dictionaries/whatsnew_3.7.txt b/dictionaries/whatsnew_3.7.txt index 8f4f9550bf..efe53b5598 100644 --- a/dictionaries/whatsnew_3.7.txt +++ b/dictionaries/whatsnew_3.7.txt @@ -1,7 +1,10 @@ +Goldschmidt +Jin Trusty autocompletar based bmp +factorizado idempotentes issues jessie @@ -14,4 +17,3 @@ switch warn xenial Є -factorizado diff --git a/dictionaries/whatsnew_3.8.txt b/dictionaries/whatsnew_3.8.txt index 40f32a34c1..e47b2375b0 100644 --- a/dictionaries/whatsnew_3.8.txt +++ b/dictionaries/whatsnew_3.8.txt @@ -1,40 +1,3 @@ -ambassador -autodocumentadas -collections -coprimos -cuartiles -Customized -deciles -doctype -dunder -emoji -equiprobables -Eyeballs -Happy -inline -Jupyter -lanzables -libpython -mitigación -missing -multimodales -percentiles -pgen -pickle -pkg -points -program -pycore -pystate -reparse -Settings -subclasifican -twisteroid -unittest -Update -V -wheel -yield Aggarwal Ammar Andrew @@ -57,13 +20,14 @@ Bronson Bussonnier Cannon Carl -Cédric Chapman Cheryl Christian Ci Coombs +Customized Cuthbert +Cédric Davin Demeyer Dickinson @@ -74,11 +38,11 @@ Einat Elizondo Elvis Emily -Éric Eric Ethan Eunice Euresti +Eyeballs Felt Filip Franz @@ -89,13 +53,14 @@ Gerlach Giampaolo Glaser Glasner +Goldschmidt Gregory Grisel Grönholm Guo +Happy Hastings Heblikar -hee Heimes Heissler Hettinger @@ -106,13 +71,16 @@ Janzen Jason Jeroen Jevnik +Jin Joannah Joe +Johnny Jon Jordan -Jörn Josh Juliette +Jupyter +Jörn Keller Krier Kyle @@ -129,6 +97,7 @@ Michele Monsel Morehouse Na +Najera Nanjekye Naoki Neil @@ -137,6 +106,7 @@ Orrù Palivoda Peksag Peterson +Petr Petter Pitrou Potts @@ -144,10 +114,10 @@ Pranskevichus Price Raymond Reedy -Rémi Roach Rodola Rodolà +Rémi Sabella Saimadhav Sajip @@ -157,6 +127,7 @@ Scott Selik Selivanov Serhiy +Settings Shannon Smith Snow @@ -174,7 +145,10 @@ Taskaya Teo Terry Tesler +Update +V Victor +Viktorin Vinay Vladimir Warsaw @@ -185,3 +159,35 @@ Yash Yury Zackery Zhang +ambassador +autodocumentadas +collections +coprimos +cuartiles +deciles +doctype +dunder +emoji +equiprobables +hee +inline +lanzables +libpython +missing +mitigación +multimodales +percentiles +pgen +pickle +pkg +points +program +pycore +pystate +reparse +subclasifican +twisteroid +unittest +wheel +yield +Éric diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 367d1fcd5a..2613ca342b 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-12 05:44-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-16 23:02+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_EC\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 3.0\n" #: ../Doc/whatsnew/3.7.rst:3 msgid "What's New In Python 3.7" @@ -171,9 +172,8 @@ msgid ":ref:`PEP 552 `, deterministic .pycs" msgstr ":ref:`PEP 552 `, determinista *.pycs*" #: ../Doc/whatsnew/3.7.rst:105 -#, fuzzy msgid ":ref:`New Python Development Mode `" -msgstr ":ref:`el nuevo modo de ejecución de desarrollo `" +msgstr ":ref:`El nuevo modo de ejecución de desarrollo `" #: ../Doc/whatsnew/3.7.rst:106 msgid "" @@ -302,9 +302,8 @@ msgstr "" "`__future__`:" #: ../Doc/whatsnew/3.7.rst:174 -#, fuzzy msgid "It will become the default in Python 3.10." -msgstr "Se convertirá en el predeterminado en Python 4.0." +msgstr "Se convertirá en el predeterminado en Python 3.10." #: ../Doc/whatsnew/3.7.rst:178 msgid ":pep:`563` -- Postponed evaluation of annotations" @@ -921,9 +920,8 @@ msgstr "" "Stinner*." #: ../Doc/whatsnew/3.7.rst:483 -#, fuzzy msgid "Python Development Mode (-X dev)" -msgstr "Modo de tiempo de ejecución de desarrollo: -X *dev*" +msgstr "Modo de desarrollo de Python (-X dev)" #: ../Doc/whatsnew/3.7.rst:485 msgid "" @@ -934,6 +932,12 @@ msgid "" "See :ref:`Python Development Mode ` documentation for the full " "description." msgstr "" +"La nueva opción :option:`-X` ``dev`` opción de línea de comando o la nueva " +"variable de entorno :envvar:`PYTHONDEVMODE` se puede usar para habilitar :" +"ref:`Python Development Mode `. Cuando está en modo de desarrollo, " +"Python realiza comprobaciones de tiempo de ejecución adicionales que son " +"demasiado caras para habilitarse de forma predeterminada. Ver :ref:`Python " +"Development Mode ` documentación para la descripción completa." #: ../Doc/whatsnew/3.7.rst:494 msgid "Other Language Changes" @@ -1189,14 +1193,13 @@ msgstr "" "incluyen:" #: ../Doc/whatsnew/3.7.rst:639 -#, fuzzy msgid "" "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`.)" msgstr "" -"La nueva función :term:`provisional ` :func:`asyncio.run` " +"La nueva función :term:`provisional ` :func:`asyncio.run` " "se puede utilizar para ejecutar una corrutina desde código síncrono creando " "y destruyendo automáticamente el bucle de eventos. (Contribuido por *Yury " "Selivanov* en :issue:`32314`.)" @@ -2595,7 +2598,6 @@ msgstr "" "Heimes* en :issue:`31399`.)" #: ../Doc/whatsnew/3.7.rst:1335 -#, fuzzy msgid "" "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 " @@ -2605,8 +2607,8 @@ msgstr "" "La verificación mejorada del nombre de host requiere una implementación " "*libssl* compatible con OpenSSL 1.0.2 o 1.1. En consecuencia, OpenSSL 0.9.8 " "y 1.0.1 ya no son compatibles (consulte :ref:`37-platform-support-removals` " -"para más detalles). El módulo *ssl* es principalmente compatible con " -"LibreSSL 2.7.2 y versiones posteriores." +"para más detalles). El módulo ssl es principalmente compatible con LibreSSL " +"2.7.2 y versiones posteriores." #: ../Doc/whatsnew/3.7.rst:1340 msgid "" @@ -5132,9 +5134,8 @@ msgstr "" "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" +msgstr "Cambios notables en Python 3.7.10" #: ../Doc/whatsnew/3.7.rst:2563 msgid "" @@ -5147,6 +5148,15 @@ msgid "" "For more details, please see their respective documentation. (Contributed by " "Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" msgstr "" +"Las versiones anteriores de Python permitían usar tanto ``;`` como ``&`` " +"como separadores de parámetros de consulta en :func:`urllib.parse.parse_qs` " +"y :func:`urllib.parse.parse_qsl`. Debido a problemas de seguridad y para " +"cumplir con las recomendaciones más recientes del W3C, esto se ha cambiado " +"para permitir solo una clave separadora, con ``&`` como valor " +"predeterminado. Este cambio también afecta a :func:`cgi.parse` y :func:`cgi." +"parse_multipart` ya que utilizan las funciones afectadas internamente. Para " +"obtener más detalles, consulte su documentación respectiva. (Contribuido por " +"Adam Goldschmidt, Senthil Kumaran y Ken Jin en :issue:`42967`.)" #~ msgid "" #~ "The new :option:`-X` ``dev`` command line option or the new :envvar:" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index f85e16721b..47e1165771 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-16 23:07+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_ES\n" "Language-Team: \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 3.0\n" #: ../Doc/whatsnew/3.8.rst:3 msgid "What's New In Python 3.8" @@ -355,7 +356,7 @@ msgstr "" #: ../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" +"los f-strings soportan ``=`` para expresiones autodocumentadas y depuración" #: ../Doc/whatsnew/3.8.rst:256 msgid "" @@ -584,21 +585,19 @@ msgid "(Contributed by Victor Stinner in :issue:`36763`.)" msgstr "(Contribución de Victor Stinner en :issue:`36763`.)" #: ../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" +msgstr "PEP 590: Vectorcall: un protocolo de llamada rápida para CPython" #: ../Doc/whatsnew/3.8.rst:352 -#, fuzzy msgid "" ":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." +":ref:`vectorcall` se agrega a la API de Python/C. Está destinado a " +"formalizar las optimizaciones existentes que ya se realizaron para varias " +"clases. Cualquier tipo estático que implemente un invocable puede utilizar " +"este protocolo." #: ../Doc/whatsnew/3.8.rst:357 msgid "" @@ -613,11 +612,12 @@ msgid "See :pep:`590` for a full description." msgstr "Consultar :pep:`590` para obtener una descripción completa." #: ../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`.)" +msgstr "" +"(Contribución de Jeroen Demeyer, Mark Shannon y Petr Viktorin en :issue:" +"`36974`.)" #: ../Doc/whatsnew/3.8.rst:366 msgid "Pickle protocol 5 with out-of-band data buffers" @@ -1037,7 +1037,6 @@ msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" msgstr "(Contribución de Yury Selivanov en :issue:`37028`.)" #: ../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` and no longer inherits from :" @@ -1045,8 +1044,9 @@ msgid "" "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`.)" +"`BaseException` en lugar de :class:`Exception` y ya no hereda de :class:" +"`concurrent.futures.CancelledError`. (Contribuido por Yury Selivanov en :" +"issue:`32528`.)" #: ../Doc/whatsnew/3.8.rst:653 msgid "" @@ -1410,20 +1410,23 @@ msgstr "" #: ../Doc/whatsnew/3.8.rst:873 msgid "New in 3.8.1:" -msgstr "" +msgstr "Nuevo en 3.8.1:" #: ../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`.)" +msgstr "" +"Agregue la opción para desactivar el parpadeo del cursor. (Contribuido por " +"Zackery Spytz en :issue:`4603`.)" #: ../Doc/whatsnew/3.8.rst:878 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" msgstr "" +"La tecla Escape ahora cierra las ventanas de finalización IDLE. (Contribuido " +"por Johnny Najera en :issue:`38944`.)" #: ../Doc/whatsnew/3.8.rst:881 msgid "The changes above have been backported to 3.7 maintenance releases." @@ -1436,6 +1439,8 @@ msgid "" "Add keywords to module name completion list. (Contributed by Terry J. Reedy " "in :issue:`37765`.)" msgstr "" +"Agrega palabras clave a la lista de finalización del nombre del módulo. " +"(Contribución de Terry J. Reedy en :issue:`37765`.)" #: ../Doc/whatsnew/3.8.rst:887 msgid "inspect" @@ -2986,7 +2991,6 @@ msgstr "" "estado rotas durante mucho tiempo." #: ../Doc/whatsnew/3.8.rst:1701 -#, fuzzy msgid "" "Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." "NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." @@ -2995,12 +2999,12 @@ msgid "" "since they are only used for the ``l*gettext()`` functions. (Contributed by " "Serhiy Storchaka in :issue:`33710`.)" msgstr "" -"La función :func:`~gettext.bind_textdomain_codeset`, los métodos :meth:" -"`~gettext.NullTranslations.output_charset` y :meth:`~gettext." -"NullTranslations.set_output_charset` y el parámetro *codeset* de las " -"funciones :func:`~gettext.translation` y :func:`~gettext.install` están " -"también obsoletos, dado que solo son usados para las funciones " -"``l*gettext()``. (Contribución de Serhiy Storchaka en :issue:`33710`.)" +"Función :func:`~gettext.bind_textdomain_codeset`, métodos :meth:`~gettext." +"NullTranslations.output_charset` y :meth:`~gettext.NullTranslations." +"set_output_charset`, y el parámetro *codeset* de las funciones :func:" +"`~gettext .translation` y :func:`~gettext.install` también están en desuso, " +"ya que solo se usan para las funciones ``l*gettext()``. (Contribución de " +"Serhiy Storchaka en :issue:`33710`.)" #: ../Doc/whatsnew/3.8.rst:1709 msgid "" @@ -3980,9 +3984,8 @@ msgstr "" "Pitrou y Yury Selivanov en :issue:`37228`.)" #: ../Doc/whatsnew/3.8.rst:2239 -#, fuzzy msgid "Notable changes in Python 3.8.8" -msgstr "Cambios notables en Python 3.8.3" +msgstr "Cambios notables en Python 3.8.8" #: ../Doc/whatsnew/3.8.rst:2241 msgid "" @@ -3995,6 +3998,15 @@ msgid "" "For more details, please see their respective documentation. (Contributed by " "Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" msgstr "" +"Las versiones anteriores de Python permitían usar tanto ``;`` como ``&`` " +"como separadores de parámetros de consulta en :func:`urllib.parse.parse_qs` " +"y :func:`urllib.parse.parse_qsl`. Debido a problemas de seguridad y para " +"cumplir con las recomendaciones más recientes del W3C, esto se ha cambiado " +"para permitir solo una clave separadora, con ``&`` como valor " +"predeterminado. Este cambio también afecta a :func:`cgi.parse` y :func:`cgi." +"parse_multipart` ya que utilizan las funciones afectadas internamente. Para " +"obtener más detalles, consulte su documentación respectiva. (Contribuido por " +"Adam Goldschmidt, Senthil Kumaran y Ken Jin en :issue:`42967`.)" #~ msgid "Python 3.8 was released on October 14th, 2019." #~ msgstr "Python 3.8 fue lanzado el 14 de octubre de 2019." From 5188042c2d39dbeef14c6c242aa8295596a0f16f Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 23 Aug 2021 23:10:26 +0800 Subject: [PATCH 63/94] Soluciona problemas intermitentes con pospell (#1357) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Como fue discutido en Telegram, la solución más simple por el momento es usar la misma forma de Oberkirch (en vez de usar OberKirch en algunas entradas), y remover OberKirch del diccionario. Signed-off-by: Rodrigo Tobar --- dictionaries/whatsnew_3.5.txt | 2 -- whatsnew/3.5.po | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/dictionaries/whatsnew_3.5.txt b/dictionaries/whatsnew_3.5.txt index 176908e00a..15d8da4da5 100644 --- a/dictionaries/whatsnew_3.5.txt +++ b/dictionaries/whatsnew_3.5.txt @@ -1,5 +1,4 @@ Joiner -Oberkirch Welbourne Landau scandir @@ -93,7 +92,6 @@ Natali Nathaniel Navarrete Nikolaus -OberKirch Oberkirch Panter Paroz diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 418710d1f4..bdeeb9028a 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -2607,7 +2607,7 @@ msgid "" msgstr "" "Un nuevo comando :meth:`POP3.utf8() ` habilita el soporte " "(correo electrónico internacionalizado) :rfc:`6856`, si un servidor POP lo " -"admite. (Contribución de Milan OberKirch en :issue:`21804`.)" +"admite. (Contribución de Milan Oberkirch en :issue:`21804`.)" #: ../Doc/whatsnew/3.5.rst:1584 msgid "re" From c156ebf63085a3188ae2c438ef862965a33dec50 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 23 Aug 2021 23:39:37 +0800 Subject: [PATCH 64/94] Traduce library/string.po (#1351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit También agrega mi nombre a TRANSLATORS. Signed-off-by: Rodrigo Tobar --- TRANSLATORS | 1 + library/string.po | 71 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 50 insertions(+), 22 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 954d58727a..a7d283d8d7 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -154,3 +154,4 @@ Marcos Medrano (@mmmarcos) Gonzalo Tixilima (@javoweb) Frank Montalvo Ochoa (@fmontalvoo) Diego Cristóbal (@dcristobalh) +Rodrigo Tobar (@rtobar) diff --git a/library/string.po b/library/string.po index dfdd166847..c231e6d84c 100644 --- a/library/string.po +++ b/library/string.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-28 10:58+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-22 00:33+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/string.rst:2 msgid ":mod:`string` --- Common string operations" @@ -669,7 +670,6 @@ 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. " @@ -685,15 +685,14 @@ msgstr "" "La opción ``'#'`` hace que la \"forma alternativa\" se utilice para la " "conversión. La forma alternativa se define de forma diferente para " "diferentes tipos. Esta opción solo es válida para los tipos entero, " -"flotante, complejo y decimal. Para los enteros, cuando se utiliza la salida " -"binaria, octal o hexadecimal, esta opción agrega el respectivo prefijo " -"``'0b'``, ``'0o'`` o ``'0x'`` al valor de salida. Para los tipos *floats*, " -"*complex* y *Decimal*, la forma alternativa hace que el resultado de la " -"conversión siempre contenga un carácter de punto decimal, incluso si no hay " -"dígitos que lo sigan. Normalmente, un carácter de punto decimal aparece en " -"el resultado de estas conversiones solo si un dígito lo sigue. Además, para " -"las conversiones ``'g'`` y ``'G'``, los ceros finales no se eliminan del " -"resultado." +"flotante y complejo. Para los enteros, cuando se utiliza la salida binaria, " +"octal o hexadecimal, esta opción agrega el respectivo prefijo ``'0b'``, " +"``'0o'`` o ``'0x'`` al valor de salida. Para los flotantes y complejos, la " +"forma alternativa hace que el resultado de la conversión siempre contenga un " +"carácter de punto decimal, incluso si no hay dígitos que lo sigan. " +"Normalmente, un carácter de punto decimal aparece en el resultado de estas " +"conversiones sólo si un dígito lo sigue. Además, para las conversiones " +"``'g'`` y ``'G'``, los ceros finales no se eliminan del resultado." #: ../Doc/library/string.rst:399 msgid "" @@ -892,13 +891,12 @@ msgstr "" "formateado." #: ../Doc/library/string.rst:479 -#, fuzzy msgid "" "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:" +"Los tipos de presentación disponibles para valores :class:`float` y :class:" +"`~decimal.Decimal` son:" #: ../Doc/library/string.rst:485 msgid "``'e'``" @@ -915,19 +913,26 @@ msgid "" "Decimal`. If no digits follow the decimal point, the decimal point is also " "removed unless the ``#`` option is used." msgstr "" +"Notación científica. Para una precisión dada ``p``, formatea el número en " +"notación científica con la letra ``e`` separando el coeficiente del " +"exponente. El coeficiente tiene un dígito antes, y ``p`` dígitos después, " +"del punto decimal, para un total de ``p + 1`` dígitos significativos. Cuando " +"se no da una precisión, usa una precisión de ``6`` dígitos después del punto " +"decimal para :class:`float`, y muestra todos los dígitos del coeficiente " +"para :class:`~decimal.Decimal`. Si no hay dígitos después del punto decimal, " +"el punto decimal también es removido a no ser que se use la opción ``#``." #: ../Doc/library/string.rst:497 msgid "``'E'``" msgstr "``'E'``" #: ../Doc/library/string.rst:497 -#, fuzzy msgid "" "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." +"Notación científica. Igual que ``'e'`` excepto que utiliza una 'E' mayúscula " +"como carácter separador." #: ../Doc/library/string.rst:500 msgid "``'f'``" @@ -943,6 +948,13 @@ msgid "" "decimal point, the decimal point is also removed unless the ``#`` option is " "used." msgstr "" +"Notación de punto fijo. Para una precisión dada ``p``, formatea el número " +"como un valor decimal con exactamente ``p`` dígitos siguiendo el punto " +"decimal. Cuando no se da una precisión, usa una precisión de ``6`` dígitos " +"después del punto decimal para :class:`float`, y usa una precisión tan " +"grande como sea necesaria para mostrar todos los dígitos del coeficiente " +"para :class:`~decimal.Decimal`. Si no hay dígitos después del punto decimal, " +"el punto decimal también es removido a no ser que se use la opción ``#``." #: ../Doc/library/string.rst:510 msgid "``'F'``" @@ -961,16 +973,16 @@ msgid "``'g'``" msgstr "``'g'``" #: ../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. 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 " +"Formato general. Para una precisión dada ``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." +"punto fijo o en notación científica, dependiendo de su magnitud. Una " +"precisión de ``0`` es tratada como equivalente a una precisión de ``1``." #: ../Doc/library/string.rst:520 msgid "" @@ -1003,6 +1015,12 @@ msgid "" "place value of the least significant digit is larger than 1, and fixed-point " "notation is used otherwise." msgstr "" +"Si no se da una precisión, usa una precisión de ``6`` dígitos significativos " +"para :class:`float`. Para :class:`~decimal.Decimal` el coeficiente del " +"resultado se construye usando los dígitos del coeficiente del valor; se usa " +"notación científica para valores menores a ``1e-6`` en valor absoluto y " +"valores donde el valor posicional del dígito menos significativo es mayor a " +"1, de otra forma se usa notación de punto fijo." #: ../Doc/library/string.rst:542 msgid "" @@ -1054,6 +1072,10 @@ msgid "" "past the decimal point. The precision used is as large as needed to " "represent the given value faithfully." msgstr "" +"Para :class:`float` esto es lo mismo que ``'g'``, excepto que cuando se usa " +"notación de punto fijo para formatear el resultado, siempre incluye al menos " +"un dígito pasado el punto decimal. La precisión usada es tan larga como sea " +"necesaria para representar el valor dado fielmente." #: ../Doc/library/string.rst:564 msgid "" @@ -1061,12 +1083,17 @@ msgid "" "depending on the value of ``context.capitals`` for the current decimal " "context." msgstr "" +"Para :class:`~decimal.Decimal`, esto es lo mismo que ``'g'`` o ``'G'`` " +"dependiendo del valor de ``context.capitals`` para el contexto decimal " +"actual." #: ../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 "" +"El efecto general es el de igualar la salida de :func:`str` al ser alterada " +"por los otros modificadores de formato." #: ../Doc/library/string.rst:576 msgid "Format examples" From 7b1835755c2c4f0963bf73e5b9d740fa71ae43c7 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 23 Aug 2021 23:45:16 +0800 Subject: [PATCH 65/94] Traduce library/time.po (#1350) Signed-off-by: Rodrigo Tobar --- library/time.po | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/library/time.po b/library/time.po index 0f669e06a4..f955198c89 100644 --- a/library/time.po +++ b/library/time.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-08-21 23:22+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/time.rst:2 msgid ":mod:`time` --- Time access and conversions" @@ -478,7 +479,6 @@ 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 " @@ -488,8 +488,8 @@ 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 " "actualizaciones del reloj del sistema. El punto de referencia del valor " -"retornado no está definido, de modo que solo la diferencia entre los " -"resultados de llamadas consecutivas es válida." +"retornado no está definido, de modo que sólo la diferencia entre los " +"resultados de dos llamadas es válida." #: ../Doc/library/time.rst:277 msgid "The function is now always available and always system-wide." @@ -501,7 +501,6 @@ 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 " @@ -513,8 +512,8 @@ msgstr "" "es decir, un reloj con la resolución más alta disponible para medir una " "corta duración. Incluye el tiempo transcurrido durante el sueño y abarca " "todo el sistema. El punto de referencia del valor retornado no está " -"definido, de modo que solo la diferencia entre los resultados de llamadas " -"consecutivas es válida." +"definido, de modo que sólo la diferencia entre los resultados de dos " +"llamadas es válida." #: ../Doc/library/time.rst:302 msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." @@ -522,7 +521,6 @@ 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 " @@ -533,8 +531,8 @@ 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 " "transcurrido durante el sueño. Es todo el proceso por definición. El punto " -"de referencia del valor retornado no está definido, de modo que solo la " -"diferencia entre los resultados de llamadas consecutivas es válida." +"de referencia del valor retornado no está definido, de modo que sólo la " +"diferencia entre los resultados de dos llamadas es válida." #: ../Doc/library/time.rst:324 msgid "Similar to :func:`process_time` but return time as nanoseconds." @@ -1187,7 +1185,6 @@ 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 " @@ -1198,9 +1195,9 @@ 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 " "transcurrido durante el sueño. Es específico del hilo por definición. El " -"punto de referencia del valor retornado no está definido, de modo que solo " -"la diferencia entre los resultados de llamadas consecutivas en el mismo hilo " -"es válida." +"punto de referencia del valor retornado no está definido, de modo que sólo " +"la diferencia entre los resultados de dos llamadas en el mismo hilo es " +"válida." #: ../Doc/library/time.rst:600 msgid "" @@ -1467,17 +1464,21 @@ msgid "" "`International Atomic Time `_" msgstr "" +"`Tiempo Atómico Internacional `_" #: ../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 "" +"El sistema debe contar con una tabla de segundos intercalares para que éste " +"dé la respuesta correcta. Software PTP o NTP puede mantener una tabla de " +"segundos intercalares." #: ../Doc/library/time.rst:785 -#, fuzzy msgid ":ref:`Availability `: Linux." -msgstr ":ref:`Disponibilidad `: Unix." +msgstr ":ref:`Disponibilidad `: Linux." #: ../Doc/library/time.rst:790 msgid "Thread-specific CPU-time clock." From 41b3629c109874569351827919a78d052558746e Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 24 Aug 2021 02:03:53 +0800 Subject: [PATCH 66/94] Traduce library/multiprocessing.po (#1358) Signed-off-by: Rodrigo Tobar --- library/multiprocessing.po | 83 ++++++++++++++++++++++++-------------- 1 file changed, 52 insertions(+), 31 deletions(-) diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 50d37bb7cf..9a29606f8f 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-28 22:50+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-24 01:37+0800\n" +"Last-Translator: Rodrigo Tobar \n" "Language: es_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.4.2\n" #: ../Doc/library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" @@ -34,7 +35,6 @@ 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` " @@ -44,14 +44,13 @@ msgid "" "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 " -"paquete :mod:`multiprocessing` ofrece concurrencia tanto local como remota, " -"esquivando el término :term:`Global Interpreter Lock` mediante el uso de " -"subprocesos en lugar de hilos (*threads*). Debido a esto, el módulo :mod:" -"`multiprocessing` le permite al programador aprovechar al máximo múltiples " -"procesadores en una máquina determinada. Se ejecuta tanto en Unix como en " -"Windows." +":mod:`multiprocessing` es un paquete que permite crear procesos (*spawning*) " +"utilizando una API similar al módulo :mod:`threading`. El paquete :mod:" +"`multiprocessing` ofrece concurrencia tanto local como remota, esquivando " +"el :term:`Global Interpreter Lock` mediante el uso de subprocesos en lugar " +"de hilos (*threads*). Debido a esto, el módulo :mod:`multiprocessing` le " +"permite al programador aprovechar al máximo múltiples procesadores en una " +"máquina determinada. Se ejecuta tanto en Unix como en Windows." #: ../Doc/library/multiprocessing.rst:23 msgid "" @@ -127,7 +126,6 @@ msgid "*spawn*" msgstr "Generación (*spawn*)" #: ../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 " @@ -139,7 +137,7 @@ msgstr "" "El proceso parental inicia un nuevo proceso de intérprete de Python. El " "proceso hijo solo heredará los recursos necesarios para ejecutar los objetos " "del método :meth:`~Process.run`. En particular, no se heredarán los " -"descriptores de archivo innecesarios y los identificadores del proceso " +"descriptores de archivo innecesarios ni identificadores del proceso " "principal. Iniciar un proceso usando este método es bastante lento en " "comparación con el uso de *fork* o *forkserver*." @@ -1306,13 +1304,15 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:884 msgid "Close the queue: release internal resources." -msgstr "" +msgstr "Cierra la cola: libera recursos internos." #: ../Doc/library/multiprocessing.rst:886 msgid "" "A queue must not be used anymore after it is closed. For example, :meth:" "`get`, :meth:`put` and :meth:`empty` methods must no longer be called." msgstr "" +"Una cola no se debe usar más después de ser cerrada. Por ejemplo los " +"métodos :meth:`get`, :meth:`put` y :meth:`empty` no deben ser llamados." #: ../Doc/library/multiprocessing.rst:894 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." @@ -3285,12 +3285,12 @@ msgstr "" "*func* solo se ejecuta en uno de los trabajadores de piscina." #: ../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." +"Una variante del método :meth:`apply` que retorna un objeto :class:" +"`~multiprocessing.pool.AsyncResult`." #: ../Doc/library/multiprocessing.rst:2180 #: ../Doc/library/multiprocessing.rst:2211 @@ -3355,12 +3355,12 @@ msgstr "" "explícita *chunksize* para una mejor eficiencia." #: ../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." +"Una variante del método :meth:`.map` que retorna un objeto :class:" +"`~multiprocessing.pool.AsyncResult`." #: ../Doc/library/multiprocessing.rst:2225 msgid "A lazier version of :meth:`.map`." @@ -3832,36 +3832,34 @@ msgstr "" "donde *hostname* es una cadena de caracteres y *port* es un número entero." #: ../Doc/library/multiprocessing.rst:2568 -#, fuzzy msgid "" "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 " +"Una dirección ``'AF_UNIX'`` es una cadena que representa un nombre de " "archivo en el sistema de archivos." #: ../Doc/library/multiprocessing.rst:2571 -#, fuzzy msgid "" "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}'`." +"Una dirección ``'AF_PIPE'`` es una cadena de la forma :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: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." 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'``." +"una dirección ``'AF_UNIX'``." #: ../Doc/library/multiprocessing.rst:2583 msgid "Authentication keys" @@ -4006,6 +4004,10 @@ msgid "" "class:`Pool` that supports all the same method calls but uses a pool of " "worker threads rather than worker processes." msgstr "" +"En particular, la función ``Pool`` ofrecida por :mod:`multiprocessing.dummy` " +"retorna un instancia de :class:`ThreadPool`, la cual es un subclase de :" +"class:`Pool` que soporta todas las mismas llamadas, pero usa un *pool* de " +"hebras trabajadoras en vez de procesos trabajadores." #: ../Doc/library/multiprocessing.rst:2674 msgid "" @@ -4016,20 +4018,28 @@ msgid "" "calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." "pool.Pool.terminate` manually." msgstr "" +"Un objeto de *pool* de hebras que controla un *pool* de hebras trabajadoras " +"a las cuales se pueden enviar trabajos. La interfaz de las instancias de :" +"class:`ThreadPool` son totalmente compatibles con las instancias de :class:" +"`Pool`, y sus recursos también deben ser debidamente administrador, ya sea " +"usando el *pool* como un gestor de contexto, o llamando a :meth:" +"`~multiprocessing.pool.Pool.close` y :meth:`~multiprocessing.pool.Pool." +"terminate` manualmente." #: ../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`." +"*processes* es el número de hebras 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 "" +"A diferencia de :class:`Pool`, *maxtasksperchild* and *context* no se pueden " +"entregar." #: ../Doc/library/multiprocessing.rst:2691 msgid "" @@ -4040,6 +4050,12 @@ msgid "" "for representing the status of asynchronous jobs, :class:`AsyncResult`, that " "is not understood by any other libraries." msgstr "" +"Un :class:`ThreadPool` comparte la misma interfaz que :class:`Pool`, la cual " +"está diseñada alrededor de un *pool* de procesos, y precede la introducción " +"del módulo :class:`concurrent.futures`. Como tal, hereda algunas operaciones " +"que no tienen sentido para un *pool* basado en hebras, y tiene su propio " +"tipo para representar el estado de trabajos asíncronos, :class:" +"`AsyncResult`, el cual no es entendido por otras librerías." #: ../Doc/library/multiprocessing.rst:2698 msgid "" @@ -4049,6 +4065,11 @@ msgid "" "instances that are compatible with many other libraries, including :mod:" "`asyncio`." msgstr "" +"Los usuarios deberían por lo general preferir usar :class:`concurrent." +"futures.ThreadPoolExecutor`, el cual tiene una interfaz más simple que fue " +"diseñada alrededor de hebras desde un principio, y que retorna instancias " +"de :class:`concurrent.futures.Future`, las que son compatibles con muchas " +"más librerías, incluyendo :mod:`asyncio`." #: ../Doc/library/multiprocessing.rst:2708 msgid "Programming guidelines" From 73431dc02aab1949e39765a67a11e94ba5d25525 Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 24 Aug 2021 16:22:49 +0800 Subject: [PATCH 67/94] Traduce library/pkgutil.po (#1359) Signed-off-by: Rodrigo Tobar --- dictionaries/library_pkgutil.txt | 1 + library/pkgutil.po | 45 +++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 dictionaries/library_pkgutil.txt diff --git a/dictionaries/library_pkgutil.txt b/dictionaries/library_pkgutil.txt new file mode 100644 index 0000000000..f68b346ae2 --- /dev/null +++ b/dictionaries/library_pkgutil.txt @@ -0,0 +1 @@ +Pyramid diff --git a/library/pkgutil.po b/library/pkgutil.po index b58ddd912b..4ffaeb870e 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -6,19 +6,20 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-08 22:10+0200\n" -"Last-Translator: Andreu Vallbona Plazas \n" +"PO-Revision-Date: 2021-08-24 09:57+0800\n" +"Last-Translator: Rodrigo Tobar \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" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/pkgutil.rst:2 msgid ":mod:`pkgutil` --- Package extension utility" @@ -144,7 +145,6 @@ msgstr "" "mod:`importlib`." #: ../Doc/library/pkgutil.rst:71 -#, fuzzy msgid "" ":term:`Loader ` that wraps Python's \"classic\" import algorithm." msgstr "" @@ -198,7 +198,7 @@ msgid "" "path_hooks` is necessary." msgstr "" "La caché (o parte de ella) puede ser borrada manualmente si el escaneo de :" -"data:`sys.path_hooks` es necesario. " +"data:`sys.path_hooks` es necesario." #: ../Doc/library/pkgutil.rst:111 msgid "Get a :term:`loader` object for *module_or_name*." @@ -370,7 +370,7 @@ msgstr "" #: ../Doc/library/pkgutil.rst:234 msgid "Resolve a name to an object." -msgstr "" +msgstr "Resuelve un nombre a un objeto." #: ../Doc/library/pkgutil.rst:236 msgid "" @@ -378,6 +378,10 @@ msgid "" "issue:`12915`) - and equivalent functionality is also in widely used third-" "party packages such as setuptools, Django and Pyramid." msgstr "" +"Esta funcionalidad es usada en numerosos lugares en la librería estándar " +"(ver :issue:`12915`) - y existe funcionalidad equivalente también en " +"librerías de terceros ampliamente usadas, tales como setuptools, Django y " +"Pyramid." #: ../Doc/library/pkgutil.rst:240 msgid "" @@ -385,14 +389,18 @@ msgid "" "where W is shorthand for a valid Python identifier and dot stands for a " "literal period in these pseudo-regexes:" msgstr "" +"Se espera que *name* sea una cadena de caracteres en uno de los siguientes " +"formatos, donde W representa un identificador de Python válido, y un punto " +"representa literalmente un punto en las siguientes pseudo-expresiones " +"regulares:" #: ../Doc/library/pkgutil.rst:244 msgid "``W(.W)*``" -msgstr "" +msgstr "``W(.W)*``" #: ../Doc/library/pkgutil.rst:245 msgid "``W(.W)*:(W(.W)*)?``" -msgstr "" +msgstr "``W(.W)*:(W(.W)*)?``" #: ../Doc/library/pkgutil.rst:247 msgid "" @@ -403,6 +411,12 @@ msgid "" "inferred by inspection, repeated attempts to import must be done with this " "form." msgstr "" +"La primera forma existe sólo para mantener compatibilidad con versiones " +"anteriores. Asume que parte del nombre con puntos es un paquete, y el resto " +"es un objeto en algún lugar dentro de ese paquete, posiblemente anidado " +"dentro de otros objetos. Dado que el lugar donde el paquete termina y la " +"jerarquía de objetos comienza no puede ser inferida por inspección, con esta " +"forma se debe realizar repetidos intentos de importación." #: ../Doc/library/pkgutil.rst:254 msgid "" @@ -412,23 +426,36 @@ msgid "" "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 "" +"En la segunda forma, el usuario hace claro el punto de división al proveer " +"un signo de dos puntos: el nombre con puntos a la izquierda de los dos " +"puntos es el paquete a ser importado, y el nombre con puntos a la derecha es " +"la jerarquía de nombres dentro de ese paquete. Sólo una importación se " +"necesaria con esta forma. Si termina con dos puntos, entonces se retorna un " +"objeto módulo." #: ../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 "" +"La función retornará un objeto (el cual puede ser un módulo), o lanzará una " +"de las siguientes excepciones:" #: ../Doc/library/pkgutil.rst:263 msgid ":exc:`ValueError` -- if *name* isn't in a recognised format." -msgstr "" +msgstr ":exc:`ValueError` -- si *name* no tiene un formato reconocido." #: ../Doc/library/pkgutil.rst:265 msgid ":exc:`ImportError` -- if an import failed when it shouldn't have." msgstr "" +":exc:`ImportError` -- si una importación falló cuando no lo debería haber " +"hecho." #: ../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 "" +":exc:`AttributeError` -- Si un fallo ocurrió mientras se atravesaba la " +"jerarquía de objetos dentro del paquete importado para obtener el objeto " +"deseado." From dc92c40f71542c5bd7887175d0dffd7d69845cff Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 24 Aug 2021 16:23:42 +0800 Subject: [PATCH 68/94] Traduce library/imaplib.po (#1346) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduce library/imaplib.po * Añade término en diccionario Signed-off-by: Rodrigo Tobar --- dictionaries/library_imaplib.txt | 3 +- library/imaplib.po | 57 +++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/dictionaries/library_imaplib.txt b/dictionaries/library_imaplib.txt index 8ee7b50554..71be0926ae 100644 --- a/dictionaries/library_imaplib.txt +++ b/dictionaries/library_imaplib.txt @@ -1 +1,2 @@ -Gmail \ No newline at end of file +Gmail +Washington diff --git a/library/imaplib.po b/library/imaplib.po index 69df8f6683..b36073dd75 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-15 18:16-0300\n" +"PO-Revision-Date: 2021-08-17 11:21+0800\n" "Last-Translator: \n" "Language: es_AR\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.4.2\n" #: ../Doc/library/imaplib.rst:2 msgid ":mod:`imaplib` --- IMAP4 protocol client" @@ -52,7 +53,6 @@ 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 " @@ -62,10 +62,13 @@ msgid "" "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)." +"Esta clase implementa el protocolo 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). El parámetro opcional " +"*timeout* especifica un timeout en segundos para intentar realizar la " +"conexión. Si timeout no se especifica, o es None, se usa el timeout global " +"por defecto de sockets." #: ../Doc/library/imaplib.rst:42 msgid "" @@ -82,9 +85,8 @@ msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la sentencia :keyword:`with`." #: ../Doc/library/imaplib.rst:55 ../Doc/library/imaplib.rst:122 -#, fuzzy msgid "The optional *timeout* parameter was added." -msgstr "*ssl_context* parámetro agregado." +msgstr "El parámetro opcional *timeout* fue agregado." #: ../Doc/library/imaplib.rst:58 msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" @@ -166,11 +168,13 @@ msgid "" "connection attempt. If timeout is not given or is None, the global default " "socket timeout is used." msgstr "" +"El parámetro opcional *timeout* especifica un timeout en segundos para " +"intentar realizar la conexión. Si timeout no se especifica, o es None, se " +"usa el timeout global por defecto de sockets." #: ../Doc/library/imaplib.rst:107 -#, fuzzy msgid "*ssl_context* parameter was added." -msgstr "*ssl_context* parámetro agregado." +msgstr "El parámetro *ssl_context* fue agregado." #: ../Doc/library/imaplib.rst:110 msgid "" @@ -222,13 +226,12 @@ msgstr "" "incorrecto." #: ../Doc/library/imaplib.rst:146 -#, fuzzy msgid "" "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``]." +"Convierte un número entero en una representación de bytes utilizando " +"caracteres del conjunto [``A`` .. ``P``]." #: ../Doc/library/imaplib.rst:152 msgid "Converts an IMAP4 ``FLAGS`` response to a tuple of individual flags." @@ -283,6 +286,10 @@ msgid "" "the University of Washington's IMAP Information Center can all be found at " "(**Source Code**) https://github.com/uw-imap/imap (**Not Maintained**)." msgstr "" +"Documentos describiendo el protocolo, y fuentes de servidores que lo " +"implementan, del Centro de Información IMAP de la Universidad de Washington, " +"pueden ser encontrados en (**Código Fuente**) https://github.com/uw-imap/" +"imap (**Fuera de mantención**)." #: ../Doc/library/imaplib.rst:185 msgid "IMAP4 Objects" @@ -317,7 +324,6 @@ msgstr "" "encierre la cadena entre paréntesis (por ejemplo: ``r'(\\Deleted)'``)." #: ../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 " @@ -327,8 +333,8 @@ msgid "" msgstr "" "Cada comando retorna una tupla: ``(type, [data, ...])`` donde *type* suele " "ser ``'OK'`` o ``'NO'``, y *data* es el texto de la respuesta del comando o " -"resultados obligatorios del comando. Cada *data* es una cadena de caracteres " -"o una tupla. Si es una tupla, la primera parte es el encabezado de la " +"resultados obligatorios del comando. Cada *data* es un objeto ``bytes`` o " +"una tupla. Si es una tupla, la primera parte es el encabezado de la " "respuesta, y la segunda parte contiene los datos (es decir, el valor " "'literal')." @@ -569,6 +575,15 @@ msgid "" "meth:`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You may override this " "method." msgstr "" +"Abre un socket a *port* y *host*. El parámetro opcional *timeout* especifica " +"un timeout en segundos para intentar realizar la conexión. Si timeout no se " +"especifica, o es None, se usa el timeout global por defecto de sockets. Nota " +"también que si el parámetro *timeout* es cero se lanzará un :class:" +"`ValueError` para evitar crear un socket sin bloqueo. Este método es " +"implícitamente llamado por el constructor :class:`IMAP4`. Los objetos de " +"conexiones establecidas por este método serán usados en los métodos :meth:" +"`IMAP4.read`, :meth:`IMAP4.readline`, :meth:`IMAP4.send`, y :meth:`IMAP4." +"shutdown`. Este método se puede sobreescribir." #: ../Doc/library/imaplib.rst:379 msgid "" @@ -579,9 +594,8 @@ msgstr "" "argumentos ``self``, ``host``, ``port``." #: ../Doc/library/imaplib.rst:381 -#, fuzzy msgid "The *timeout* parameter was added." -msgstr "*ssl_context* parámetro agregado." +msgstr "El parámetro *timeout* fue agregado." #: ../Doc/library/imaplib.rst:386 msgid "" @@ -874,6 +888,11 @@ msgid "" "command performs the same actions as :meth:`imaplib.IMAP4.close`, except " "that no messages are permanently removed from the currently selected mailbox." msgstr "" +":meth:`imaplib.IMAP4.unselect` libera recursos del servidor asociados al " +"buzón de correo seleccionado y devuelve el servidor al estado autenticado. " +"Este comando realiza las mismas acciones que :meth:`imaplib.IMAP4.close`, " +"con la excepción de que ningún mensaje es permanentemente borrado del buzón " +"de correo actualmente seleccionado." #: ../Doc/library/imaplib.rst:597 msgid "" From 1543444e98bb64a06b7c6969cffa5eae08e0edc9 Mon Sep 17 00:00:00 2001 From: Gonzalo Tixilima Date: Tue, 24 Aug 2021 03:25:11 -0500 Subject: [PATCH 69/94] =?UTF-8?q?traducci=C3=B3n=20de=20library/types.po?= =?UTF-8?q?=20(#1356)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/types.po | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/library/types.po b/library/types.po index 927499bc4c..d7a16dce21 100644 --- a/library/types.po +++ b/library/types.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-28 22:07-0500\n" +"PO-Revision-Date: 2021-08-22 19:13-0500\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 3.0\n" #: ../Doc/library/types.rst:2 msgid ":mod:`types` --- Dynamic type creation and names for built-in types" @@ -221,12 +222,16 @@ msgid "" "Raises an :ref:`auditing event ` ``function.__new__`` with " "argument ``code``." msgstr "" +"Lanza un :ref:`auditing event ` ``function.__new__`` con el " +"argumento ``code``." #: ../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 "" +"El evento auditor solo ocurre para la instanciación directa de objetos de " +"código y no se genera para la compilación normal." #: ../Doc/library/types.rst:120 msgid "" @@ -268,14 +273,15 @@ msgstr "" "``flags``." #: ../Doc/library/types.rst:148 -#, fuzzy msgid "" "Note that the audited arguments may not match the names or positions " "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." +"nombres o posiciones requeridos por el inicializador. El evento auditor solo " +"ocurre para la instanciación directa de objetos de código y no se genera " +"para la compilación normal." #: ../Doc/library/types.rst:154 msgid "" @@ -389,6 +395,8 @@ msgid "" "The type of :ref:`parameterized generics ` such as " "``list[int]``." msgstr "" +"El tipo de :ref:`parameterized generics ` como " +"``list[int]``." #: ../Doc/library/types.rst:250 msgid "" @@ -396,10 +404,13 @@ msgid "" "``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of " "length 1) of types which parameterize ``t_origin``::" msgstr "" +"``t_origin`` debería ser una clase genérica no parametrizada, como ``list``, " +"``tuple`` o ``dict``. ``t_args`` debe ser una :class:`tuple` (posiblemente " +"de longitud 1) de tipos que parametriza ``t_origin``::" #: ../Doc/library/types.rst:263 msgid "This type can now be subclassed." -msgstr "" +msgstr "Este tipo ahora puede tener subclases" #: ../Doc/library/types.rst:269 msgid "The type of traceback objects such as found in ``sys.exc_info()[2]``." @@ -483,6 +494,8 @@ msgid "" "Updated to support the new union (``|``) operator from :pep:`584`, which " "simply delegates to the underlying mapping." msgstr "" +"Actualizado para soportar el nuevo operador de unión (``|``) de :pep:`584`, " +"que simplemente delega al mapeo subyacente." #: ../Doc/library/types.rst:320 msgid "" @@ -542,9 +555,9 @@ 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:362 -#, fuzzy msgid "Return a reverse iterator over the keys of the underlying mapping." -msgstr "Retorna una copia superficial de la asignación subyacente." +msgstr "" +"Retorna un iterador inverso sobre las claves de la asignación subyacente." #: ../Doc/library/types.rst:368 msgid "Additional Utility Classes and Functions" @@ -588,6 +601,8 @@ msgid "" "Attribute order in the repr changed from alphabetical to insertion (like " "``dict``)." msgstr "" +"El orden de los atributos en el *repr* cambió de alfabético a orden de " +"inserción (como ``dict``)." #: ../Doc/library/types.rst:406 msgid "Route attribute access on a class to __getattr__." @@ -607,15 +622,14 @@ msgstr "" "clase; esto se hace lanzando AttributeError." #: ../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 :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)." +"virtuales en la clase con el mismo nombre (véase :class:`enum.Enum` para " +"obtener un ejemplo)." #: ../Doc/library/types.rst:420 msgid "Coroutine Utility Functions" From 946c5c11f49e33f754ae8f2b80145bcbf1dd297d Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 24 Aug 2021 23:02:01 +0800 Subject: [PATCH 70/94] Traduce library/bz2.po (#1360) Signed-off-by: Rodrigo Tobar --- library/bz2.po | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/library/bz2.po b/library/bz2.po index 244f87a78f..c08325fa19 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-08-07 10:32+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" +"PO-Revision-Date: 2021-08-24 21:45+0800\n" +"Last-Translator: Rodrigo Tobar \n" "Language: en_GB\n" "Language-Team: English - United Kingdom \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 3.0\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -275,10 +275,15 @@ 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 "" +"El parámetro *buffering* ha sido retirado. Desde Python 3.0 era ignorado y " +"estaba obsoleto. Pasa un objeto archivo abierto para controlar cómo el " +"archivo es abierto." #: ../Doc/library/bz2.rst:141 msgid "The *compresslevel* parameter became keyword-only." msgstr "" +"El parámetro *compresslevel* se convirtió en un argumento sólo por palabra " +"clave." #: ../Doc/library/bz2.rst:145 msgid "Incremental (de)compression" From 48b99b3b0c9b361da9e329b982645dc0bff59529 Mon Sep 17 00:00:00 2001 From: rtobar Date: Fri, 27 Aug 2021 01:16:12 +0800 Subject: [PATCH 71/94] Traduce library/urllib.parse.po (#1362) Signed-off-by: Rodrigo Tobar --- library/urllib.parse.po | 129 +++++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 60 deletions(-) diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 9a479caf2c..318c0665ca 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-12 14:02-0600\n" -"Last-Translator: Marcos Moreno \n" +"PO-Revision-Date: 2021-08-27 00:11+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" @@ -84,7 +85,6 @@ msgstr "" "en una cadena de dirección URL." #: ../Doc/library/urllib.parse.rst:42 -#, 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;" @@ -94,15 +94,15 @@ msgid "" "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 " -"una URL: ``scheme://netloc/path;parameters?query#fragment``. Cada elemento " -"de la tupla es una cadena, posiblemente vacía. Los componentes no se dividen " -"en piezas más pequeñas (por ejemplo, la ubicación de red es una sola cadena) " -"y los caracteres % de escapes no se expanden. Los delimitadores como se " -"muestra anteriormente no forman parte del resultado, excepto una barra " -"diagonal inicial en el componente *path*, que se conserva si está presente. " -"Por ejemplo:" +"Analiza una dirección URL en seis componentes, retornando una :term:`tupla " +"nombrada ` de 6 elementos. Esto corresponde a la estructura " +"general de una URL: ``scheme://netloc/path;parameters?query#fragment``. Cada " +"elemento de la tupla es una cadena, posiblemente vacía. Los componentes no " +"se dividen en piezas más pequeñas (por ejemplo, la ubicación de red es una " +"sola cadena) y los caracteres % de escape no se expanden. Los delimitadores " +"como se muestra anteriormente no forman parte del resultado, excepto una " +"barra diagonal inicial en el componente *path*, que se conserva si está " +"presente. Por ejemplo:" #: ../Doc/library/urllib.parse.rst:63 msgid "" @@ -351,7 +351,7 @@ msgid "" "that support fragments existed." msgstr "" "El fragmento ahora se analiza para todos los esquemas de URL (a menos que " -"*allow_fragment* sea false), de acuerdo con :rfc:`3986`. Anteriormente, " +"*allow_fragment* sea falso), 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:314 @@ -393,8 +393,8 @@ msgid "" msgstr "" "El argumento opcional *keep_blank_values* es un indicador que indica si los " "valores en blanco de las consultas codificadas por porcentaje deben tratarse " -"como cadenas en blanco. Un valor true indica que los espacios en blanco " -"deben conservarse como cadenas en blanco. El valor false predeterminado " +"como cadenas en blanco. Un valor verdadero indica que los espacios en blanco " +"deben conservarse como cadenas en blanco. El valor falso predeterminado " "indica que los valores en blanco deben omitirse y tratarse como si no se " "hubieran incluido." @@ -405,9 +405,9 @@ msgid "" "true, errors raise a :exc:`ValueError` exception." msgstr "" "El argumento opcional *strict_parsing* es una marca que indica qué hacer con " -"los errores de análisis. Si es false (valor predeterminado), los errores se " -"omiten silenciosamente. Si es true, los errores generan una excepción :exc:" -"`ValueError`." +"los errores de análisis. Si es falso (valor predeterminado), los errores se " +"omiten silenciosamente. Si es verdadero, los errores generan una excepción :" +"exc:`ValueError`." #: ../Doc/library/urllib.parse.rst:185 ../Doc/library/urllib.parse.rst:230 msgid "" @@ -434,6 +434,8 @@ msgid "" "The optional argument *separator* is the symbol to use for separating the " "query arguments. It defaults to ``&``." msgstr "" +"El argumento opcional *separator* es el símbolo que se usa para separar los " +"argumentos de la cadena de consulta. El valor por defecto es ``&``." #: ../Doc/library/urllib.parse.rst:196 msgid "" @@ -459,6 +461,10 @@ msgid "" "parameter separator. This has been changed to allow only a single separator " "key, with ``&`` as the default separator." msgstr "" +"Añadido parámetro *separator* con un valor por defecto de ``&``. Versiones " +"de Python anterior a Python 3.9.2 permitían el uso de ``;`` y ``&`` como " +"separadores de la cadena de consulta. Esto ha sido cambiado para aceptar " +"sólo una llave separadora, siendo ``&`` en separador por defecto." #: ../Doc/library/urllib.parse.rst:216 msgid "" @@ -555,15 +561,14 @@ msgstr "" "predeterminado que para :func:`urlparse`." #: ../Doc/library/urllib.parse.rst:348 -#, fuzzy msgid "" "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:" +"Si *url* es una URL absoluta (es decir, comienza con ``//`` o ``scheme://" +"``), el nombre de host y/o esquema de *url* estará presente en el " +"resultado. Por ejemplo:" #: ../Doc/library/urllib.parse.rst:357 msgid "" @@ -575,11 +580,10 @@ msgstr "" "*netloc*." #: ../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`." +"Comportamiento actualizado para coincidir con la semántica definida en :rfc:" +"`3986`." #: ../Doc/library/urllib.parse.rst:368 msgid "" @@ -621,6 +625,10 @@ msgid "" "or ``scheme://host/path``). If *url* is not a wrapped URL, it is returned " "without changes." msgstr "" +"Extrae la url de una URL envuelta (es decir, una cadena de caracteres " +"formateada como ````, ````, " +"``URL:scheme://host/path`` or ``scheme://host/path``). Si *url* no es una " +"URL envuelta, se retorna sin cambios." #: ../Doc/library/urllib.parse.rst:400 msgid "Parsing ASCII Encoded Bytes" @@ -694,8 +702,8 @@ msgid "" msgstr "" "Las aplicaciones que necesitan operar en direcciones URL potencialmente " "citadas incorrectamente que pueden contener datos no ASCII tendrán que " -"realizar su propia descodificación de bytes a caracteres antes de invocar " -"los métodos de análisis de URL." +"realizar su propia decodificación de bytes a caracteres antes de invocar los " +"métodos de análisis de URL." #: ../Doc/library/urllib.parse.rst:432 msgid "" @@ -855,7 +863,7 @@ msgstr "" "está cubierta por las funciones de análisis de URL anteriores." #: ../Doc/library/urllib.parse.rst:539 -#, fuzzy, python-format +#, python-format msgid "" "Replace special characters in *string* using the ``%xx`` escape. Letters, " "digits, and the characters ``'_.-~'`` are never quoted. By default, this " @@ -863,27 +871,25 @@ msgid "" "*safe* parameter specifies additional ASCII characters that should not be " "quoted --- its default value is ``'/'``." msgstr "" -"Reemplace caracteres especiales en *string* con el escape ``%xx``. Las " -"letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. De forma " -"predeterminada, esta función está pensada para citar la sección de ruta de " -"acceso de la dirección URL. El parámetro opcional *safe* especifica " +"Reemplaza caracteres especiales en *string* con la secuencia de escape ``" +"%xx``. Las letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. " +"De forma predeterminada, esta función está pensada para citar la sección de " +"ruta de acceso de la dirección URL. El parámetro opcional *safe* especifica " "caracteres ASCII adicionales que no se deben citar --- su valor " "predeterminado es ``'/'``." #: ../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`." +msgstr "*string* puede ser un objeto :class:`str` o :class:`bytes`." #: ../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 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." +"incluye \"~\" en el conjunto de caracteres reservados." #: ../Doc/library/urllib.parse.rst:551 msgid "" @@ -921,6 +927,11 @@ msgid "" "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 reemplaza espacios con signos más, como se " +"requiere para citar valores de formularios HTML al momento de construir una " +"cadena de consulta que será parte de una URL. Los signos más en la cadena de " +"caracteres original se escapan, a no ser que se incluyan en *safe*. Además " +"el valor de *safe* no es `/` por defecto." #: ../Doc/library/urllib.parse.rst:572 #, python-format @@ -941,16 +952,17 @@ 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:586 -#, fuzzy, python-format +#, python-format msgid "" "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 "" -"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`." +"Reemplaza secuencias de escape ``%xx`` con los caracteres individuales " +"correspondientes. Los parámetros opcionales *encoding* y *errors* " +"especifican cómo descodificar secuencias codificadas porcentualmente a " +"caracteres Unicode, tal como lo acepta el método :meth:`bytes.decode`." #: ../Doc/library/urllib.parse.rst:593 msgid "" @@ -966,19 +978,19 @@ 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:599 -#, fuzzy msgid "" "*string* parameter supports bytes and str objects (previously only str)." -msgstr "El parámetro Query admite bytes y objetos de cadena." +msgstr "" +"El parámetro *string* admite bytes y cadenas de caracteres (anteriormente " +"sólo cadenas de caracteres)." #: ../Doc/library/urllib.parse.rst:607 -#, fuzzy msgid "" "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." +"Como :func:`unquote`, pero también reemplaza los signos más por espacios, " +"como es requerido al decodificar valores de formularios HTML." #: ../Doc/library/urllib.parse.rst:610 msgid "*string* must be a :class:`str`." @@ -989,13 +1001,13 @@ 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:617 -#, fuzzy, python-format +#, python-format msgid "" "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`." +"Reemplaza los escapes ``%xx`` por sus equivalentes de un solo octeto y " +"retorna un objeto :class:`bytes`." #: ../Doc/library/urllib.parse.rst:622 msgid "" @@ -1050,7 +1062,6 @@ msgstr "" "``quote`` y especifique un valor para *safe*." #: ../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 " @@ -1062,11 +1073,11 @@ msgid "" msgstr "" "Cuando se utiliza una secuencia de tuplas de dos elementos como argumento " "*query*, el primer elemento de cada tupla es una clave y el segundo es un " -"valor. El elemento *value* en sí mismo puede ser una secuencia y, en ese " -"caso, si el parámetro opcional *doseq* se evalúa como ``True``, se generan " -"pares individuales ``key=value`` separados por ``'&'`` para cada elemento de " -"la secuencia de valores de la clave. El orden de los parámetros de la " -"cadena codificada coincidirá con el orden de las tuplas de parámetros de la " +"valor. El valor en sí mismo puede ser una secuencia y, en ese caso, si el " +"parámetro opcional *doseq* se evalúa como ``True``, se generan pares " +"individuales ``key=value`` separados por ``'&'`` para cada elemento de la " +"secuencia de valores de la clave. El orden de los parámetros de la cadena " +"codificada coincidirá con el orden de las tuplas de parámetros de la " "secuencia." #: ../Doc/library/urllib.parse.rst:656 @@ -1089,20 +1100,18 @@ msgstr "" "estructuras de datos de Python." #: ../Doc/library/urllib.parse.rst:663 -#, fuzzy msgid "" "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." +"puede utilizar el método :func:`urllib.parse.urlencode` para generar una " +"cadena de consulta para una dirección URL o datos para POST." #: ../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." +msgstr "El parámetro *query* admite bytes y objetos de cadena." #: ../Doc/library/urllib.parse.rst:670 msgid "*quote_via* parameter." From bc2f1d2b97f27a289d73827551ecebaf7c7b2bc8 Mon Sep 17 00:00:00 2001 From: rtobar Date: Fri, 27 Aug 2021 20:04:11 +0800 Subject: [PATCH 72/94] Traduce library/urllib.request.po (#1361) --- dictionaries/library_urllib.request.txt | 1 + library/urllib.request.po | 47 +++++++++++++++---------- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/dictionaries/library_urllib.request.txt b/dictionaries/library_urllib.request.txt index c7bbafbee8..8b2c611760 100644 --- a/dictionaries/library_urllib.request.txt +++ b/dictionaries/library_urllib.request.txt @@ -38,3 +38,4 @@ manejadoras permanently redirect addinfourl +is diff --git a/library/urllib.request.po b/library/urllib.request.po index e14de8612e..02938e78a7 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -6,21 +6,21 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-01-02 15:40+0100\n" -"Last-Translator: Álvaro Mondéjar Rubio \n" +"PO-Revision-Date: 2021-08-26 23:42+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/urllib.request.rst:2 msgid ":mod:`urllib.request` --- Extensible library for opening URLs" @@ -125,6 +125,10 @@ msgid "" "manager` and has the properties *url*, *headers*, and *status*. See :class:" "`urllib.response.addinfourl` for more detail on these properties." msgstr "" +"Esta función siempre retorna un objeto que puede actuar como un :term:" +"`gestor de contexto `, y tiene las propiedades *url*, " +"*headers* y *status*. Véase :class:`urllib.response.addinfourl` para más " +"detalles sobre estas propiedades." #: ../Doc/library/urllib.request.rst:61 msgid "" @@ -389,13 +393,12 @@ msgstr "" "*data* debe ser un objeto que especifique datos adicionales a enviar al " "servidor o ``None`` si no se necesitan tales datos. Actualmente las " "peticiones HTTP son las únicas que usan *data*. Los tipos de objetos " -"soportados incluyen bytes, objectos como archivos e iterables de objetos " -"como bytes. Si no se ha provisto el campo de encabezado ``Content-Length`` " -"ni ``Transfer-Encoding``, :class:`HTTPHandler` establecerá estos encabezados " -"de acuerdo al tipo de *data*. ``Content-Length`` será usado para enviar " -"objetos de bytes, mientras ``Transfer-Encoding: chunked`` como se especifica " -"en :rfc:`7230`, Sección 3.3.1 será usado para enviar archivos y otros " -"iterables." +"soportados incluyen bytes, objetos como archivos e iterables de objetos como " +"bytes. Si no se ha provisto el campo de encabezado ``Content-Length`` ni " +"``Transfer-Encoding``, :class:`HTTPHandler` establecerá estos encabezados de " +"acuerdo al tipo de *data*. ``Content-Length`` será usado para enviar objetos " +"de bytes, mientras ``Transfer-Encoding: chunked`` como se especifica en :rfc:" +"`7230`, Sección 3.3.1 será usado para enviar archivos y otros iterables." #: ../Doc/library/urllib.request.rst:201 msgid "" @@ -2440,38 +2443,44 @@ msgid "" "request` module. The typical response object is a :class:`urllib.response." "addinfourl` instance:" msgstr "" +"El módulo :mod:`urllib.response` define funciones y clases que definen una " +"interfaz mínima *file-like*, incluyendo ``read()`` y ``readline()``. Las " +"funciones definidas en este módulo son usadas internamente por el módulo :" +"mod:`urllib.request`. El objeto de respuesta típico es una instancia de :" +"class:`urllib.response.addinfourl`:" #: ../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" +":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 "" +"Retorna las cabeceras de la respuesta en la forma de una instancia de :class:" +"`~email.message.EmailMessage`." #: ../Doc/library/urllib.request.rst:1598 msgid "Status code returned by server." -msgstr "" +msgstr "Código de estado retornado por el servidor." #: ../Doc/library/urllib.request.rst:1602 msgid "Deprecated in favor of :attr:`~addinfourl.url`." -msgstr "" +msgstr "Obsoleto en favor de :attr:`~addinfourl.url`." #: ../Doc/library/urllib.request.rst:1607 msgid "Deprecated in favor of :attr:`~addinfourl.headers`." -msgstr "" +msgstr "Obsoleto en favor de :attr:`~addinfourl.headers`." #: ../Doc/library/urllib.request.rst:1612 #: ../Doc/library/urllib.request.rst:1617 msgid "Deprecated in favor of :attr:`~addinfourl.status`." -msgstr "" +msgstr "Obsoleto en favor de :attr:`~addinfourl.status`." #~ msgid "" #~ "This function always returns an object which can work as a :term:`context " From 17f7d64f5a52e5a81b8058829f42d41877639548 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 30 Aug 2021 18:37:00 +0800 Subject: [PATCH 73/94] Mejora rendimiento y renderizado en find_in_po (#1364) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Este set de cambios introduce dos mejoras en el script find_in_po. En primer lugar usa multiprocessing para realizar la búsqueda de expresiones regulares en paralelo (buscando en distintos archivos al mismo tiempo). En segundo lugar, después de generar la tabla con los resultados, los resultados de la expresión regular son destacados al momento de ser impresos en el terminal para encontrarlos más fácilmente. Signed-off-by: Rodrigo Tobar --- scripts/find_in_po.py | 48 +++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/scripts/find_in_po.py b/scripts/find_in_po.py index 523ebda427..025f4e6d8a 100755 --- a/scripts/find_in_po.py +++ b/scripts/find_in_po.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 import argparse +import functools from glob import glob +import multiprocessing import os from textwrap import fill @@ -10,26 +12,46 @@ from tabulate import tabulate # fades +REVERSE = '\033[7m' +NORMAL = '\033[m' + +def _get_file_entries(pattern, width, filename): + entries = [] + for entry in (entry for entry in polib.pofile(filename) if entry.msgstr): + match = pattern.search(entry.msgid) + if match: + add_str = entry.msgid + " ·filename: " + filename + "·" + entries.append( + [ + fill(add_str, width=width), + fill(entry.msgstr, width=width), + ] + ) + return entries + def find_in_po(pattern): - table = [] + pattern = regex.compile(pattern) try: _, columns = os.popen("stty size", "r").read().split() available_width = int(columns) // 2 - 3 except: available_width = 80 // 2 - 3 - for file in glob("**/*.po"): - pofile = polib.pofile(file) - for entry in pofile: - if entry.msgstr and regex.search(pattern, entry.msgid): - add_str = entry.msgid + " ·filename: " + file + "·" - table.append( - [ - fill(add_str, width=available_width), - fill(entry.msgstr, width=available_width), - ] - ) - print(tabulate(table, tablefmt="fancy_grid")) + # Find entries in parallel + get_file_entries = functools.partial(_get_file_entries, pattern, available_width) + pool = multiprocessing.Pool() + all_entries = pool.map(get_file_entries, glob("**/*.po")) + table = [entry for file_entries in all_entries for entry in file_entries] + + # Create table and highlight results + table = tabulate(table, tablefmt="fancy_grid") + for line in table.splitlines(): + match = pattern.search(line) + if match: + span = match.span() + line = (line[:span[0]] + REVERSE + line[span[0]:span[1]] + NORMAL + + line[span[1]:]) + print(line) def parse_args(): From ee7c866a8eb4777b15919af6753b75c7923ff107 Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 31 Aug 2021 15:55:03 +0800 Subject: [PATCH 74/94] Traduce library/profile.po (#1363) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Traduce library/profile.po Nótese que "Ghz" no es reconocida como una palabra válida, pero "GHz" sí, incluso si "Ghz" se agrega al diccionario. Esto es probablemente un problema similar al explicado en #1352, por lo que la solución más simple es no usar la forma original de la palabra en la traducción, y em cambio usar "GHz". Signed-off-by: Rodrigo Tobar Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_profile.txt | 7 +++++-- library/profile.po | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/dictionaries/library_profile.txt b/dictionaries/library_profile.txt index c4135b5c48..18bc53bd96 100644 --- a/dictionaries/library_profile.txt +++ b/dictionaries/library_profile.txt @@ -1,5 +1,8 @@ -Ghz sublista lineno filename -Czotter \ No newline at end of file +Czotter +formatearse +profile +stats +vs diff --git a/library/profile.po b/library/profile.po index 204294913e..433ada4d2b 100644 --- a/library/profile.po +++ b/library/profile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-10 22:47-0500\n" -"Last-Translator: Juan Alegría \n" +"PO-Revision-Date: 2021-08-29 09:51+0800\n" +"Last-Translator: Rodrigo Tobar \n" "Language: es_CO\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.4.2\n" #: ../Doc/library/profile.rst:5 msgid "The Python Profilers" @@ -1012,12 +1013,19 @@ msgid "" "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 "" +"Este método retorna una instancia de StatsProfile, la cual contiene un mapeo " +"de nombres de función a instancias de FunctionProfile. Cada instancia de " +"FunctionProfile mantiene información relacionada al perfil de la función, " +"como cuánto demoró la función en ejecutarse, cuantas veces fue llamada, " +"etc..." #: ../Doc/library/profile.rst:535 msgid "" "Added the following dataclasses: StatsProfile, FunctionProfile. Added the " "following function: get_stats_profile." msgstr "" +"Añadidas las siguientes clases de datos: StatsProfile, FunctionProfile. " +"Añadida la siguiente función: get_stats_profile." #: ../Doc/library/profile.rst:542 msgid "What Is Deterministic Profiling?" @@ -1190,7 +1198,7 @@ msgstr "" "directamente y nuevamente bajo el generador de perfiles, midiendo el tiempo " "para ambas. Luego calcula la sobrecarga oculta por evento del generador de " "perfiles y la retorna como flotante. Por ejemplo, en un Intel Core i5 de " -"1.8Ghz con Mac OS X y usando time.process_time() de Python como " +"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:628 From 3ad4acf3df23ba5f7d9d55fda8b0f55b3af90552 Mon Sep 17 00:00:00 2001 From: rtobar Date: Wed, 1 Sep 2021 17:52:13 +0800 Subject: [PATCH 75/94] Traduce library/tracemalloc.po (#1365) --- library/tracemalloc.po | 70 ++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 23 deletions(-) diff --git a/library/tracemalloc.po b/library/tracemalloc.po index 8c1aec2314..95594035b6 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -6,21 +6,21 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-10-03 21:38-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-30 21:01+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/tracemalloc.rst:2 msgid ":mod:`tracemalloc` --- Trace memory allocations" @@ -201,6 +201,7 @@ msgstr "" #: ../Doc/library/tracemalloc.rst:253 msgid "Record the current and peak size of all traced memory blocks" msgstr "" +"Graba los tamaños actual y máximo de todos los bloques de memoria rastreados" #: ../Doc/library/tracemalloc.rst:255 msgid "" @@ -210,6 +211,11 @@ msgid "" "observe the small memory usage after the sum is computed as well as the peak " "memory usage during the computations::" msgstr "" +"El siguiente código calcula dos sumas como ``0 + 1 + 2 + ...`` de forma " +"ineficiente, creando una lista con estos números. Esta lista consume mucha " +"memoria de forma temporal. Podemos usar :func:`get_traced_memory` y :func:" +"`reset_peak` para observar el pequeño uso de memoria después de que la suma " +"es calculada, así como también el uso máximo de memoria durante el cálculo:" #: ../Doc/library/tracemalloc.rst:280 ../Doc/library/tracemalloc.rst:759 msgid "Output::" @@ -226,6 +232,14 @@ msgid "" "we could optimise (by removing the unnecessary call to :class:`list`, and " "writing ``sum(range(...))``)." msgstr "" +"El uso de :func:`reset_peak` asegura que podemos registrar precisamente el " +"uso máximo de memoria durante el cálculo de ``small_sum``, incluso si es " +"mucho menor al máximo total desde la llamada a :func:`start`. Sin la llamada " +"a :func:`reset_peak`, ``second_peak`` seguiría siendo el uso máximo de " +"memoria del cálculo de ``large_sum`` (es decir, igual a ``first_peak``). En " +"este caso ambos máximos son mucho mayores al uso final de memoria, lo que " +"sugiere que podemos optimizar (removiendo la llamada innecesaria a :class:" +"`list`, y escribiendo ``sum(range(...))``)." #: ../Doc/library/tracemalloc.rst:295 msgid "API" @@ -249,7 +263,7 @@ msgid "" "class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is " "not tracing memory allocations or did not trace the allocation of the object." msgstr "" -"Obtén el rastreo de donde el objeto de Python fue asignado. Retorna una " +"Obtiene el rastreo de donde el objeto de Python fue asignado. Retorna una " "instancia :class:`Traceback` o ``None`` si el módulo :mod:`tracemalloc` no " "esta rastreando ninguna asignación de memoria o no rastreó la asignación del " "objeto." @@ -262,7 +276,7 @@ msgstr "" #: ../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." +"Obtiene el número máximo de cuadros guardados en el seguimiento de un rastro." #: ../Doc/library/tracemalloc.rst:321 msgid "" @@ -281,28 +295,25 @@ msgid "" "Get the current size and peak size of memory blocks traced by the :mod:" "`tracemalloc` module as a tuple: ``(current: int, peak: int)``." msgstr "" -"Obtén el tamaño actual y tamaño pico de los bloques de memorias rastreados " +"Obtiene 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: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)``." +"Establece el tamaño máximo de los bloques de memorias rastreados por el " +"módulo :mod:`tracemalloc` al tamaño actual." #: ../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``." +"No realiza ninguna acción si el módulo :mod:`tracemalloc` no está rastreando " +"asignaciones de memoria." #: ../Doc/library/tracemalloc.rst:341 msgid "" @@ -311,19 +322,24 @@ msgid "" "`take_snapshot` before a call to :func:`reset_peak` can be meaningfully " "compared to snapshots taken after the call." msgstr "" +"Esta función sólo modifica el valor guardado para el uso máximo de memoria, " +"y no modifica o borra ningún rastreo, no como :func:`clear_traces`. " +"Capturas tomadas con :func:`take_snapshot` antes de una llamada a :func:" +"`reset_peak` pueden ser comparadas significativamente con capturas hechas " +"después de la llamada." #: ../Doc/library/tracemalloc.rst:346 -#, fuzzy msgid "See also :func:`get_traced_memory`." -msgstr "Mira también la función :func:`stop`." +msgstr "Mira también la función :func:`get_traced_memory`." #: ../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`." 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`." +"Obtiene 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:360 msgid "" @@ -355,6 +371,8 @@ 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 "" +"El número original de cuadros totales que componen el seguimiento observando " +"el atributo :attr:`Traceback.total_nframe`." #: ../Doc/library/tracemalloc.rst:376 msgid "" @@ -395,15 +413,14 @@ msgstr "" "`get_traceback_limit`." #: ../Doc/library/tracemalloc.rst:394 -#, fuzzy msgid "" "Stop tracing Python memory allocations: uninstall hooks on Python memory " "allocators. Also clears all previously collected traces of memory blocks " "allocated by Python." msgstr "" -"Detén el rastreo de las asignaciones de memoria de Python: desinstala los " -"*hooks*. También limpia todos los rastros de memoria recolectados por los " -"bloques de memoria asignados por Python." +"Detiene el rastreo de las asignaciones de memoria de Python: desinstala los " +"*hooks*. También limpia todos los rastros de memoria recolectados acerca de " +"los bloques de memoria asignados por Python." #: ../Doc/library/tracemalloc.rst:398 msgid "" @@ -950,6 +967,11 @@ msgid "" "total_nframe` attribute. That allows to know if a traceback has been " "truncated by the traceback limit." msgstr "" +"Cuando se toma una captura, los seguimientos de los rastreos se limitan a :" +"func:`get_traceback_limit` cuadros. Ver la función :func:`take_snapshot`. " +"El número original de cuadros del seguimiento se guarda en el atributo :attr:" +"`Traceback.total_nframe`. Esto permite saber si un seguimiento fue truncado " +"por el límite de seguimientos." #: ../Doc/library/tracemalloc.rst:726 msgid "" @@ -972,10 +994,12 @@ 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 "" +"Número total de cuadros que componen el seguimiento antes de ser truncado. " +"Este atributo puede ser ``None`` si no hay información disponible." #: ../Doc/library/tracemalloc.rst:738 msgid "The :attr:`Traceback.total_nframe` attribute was added." -msgstr "" +msgstr "El atributo :attr:`Traceback.total_nframe` fue añadido." #: ../Doc/library/tracemalloc.rst:743 msgid "" From 6fdcd83c804e856cfbba38374d83f7ddba93d80a Mon Sep 17 00:00:00 2001 From: Frank Montalvo Ochoa Date: Wed, 1 Sep 2021 13:53:26 -0500 Subject: [PATCH 76/94] Traducido archivo library/random.po (#1348) --- dictionaries/library_random.txt | 2 + library/random.po | 115 +++++++++++++++++++++----------- 2 files changed, 78 insertions(+), 39 deletions(-) create mode 100644 dictionaries/library_random.txt diff --git a/dictionaries/library_random.txt b/dictionaries/library_random.txt new file mode 100644 index 0000000000..45c00254c2 --- /dev/null +++ b/dictionaries/library_random.txt @@ -0,0 +1,2 @@ +multithreading +Downey \ No newline at end of file diff --git a/library/random.po b/library/random.po index 8da4b0c038..3e617acf99 100644 --- a/library/random.po +++ b/library/random.po @@ -8,15 +8,16 @@ msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-24 20:02+0200\n" +"PO-Revision-Date: 2021-08-29 22:55-0500\n" "Last-Translator: \n" "Language: es_ES\n" "Language-Team: \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 3.0\n" #: ../Doc/library/random.rst:2 msgid ":mod:`random` --- Generate pseudo-random numbers" @@ -148,7 +149,6 @@ msgstr "" "largo compatible y con operaciones de actualización comparablemente simples." #: ../Doc/library/random.rst:66 -#, fuzzy msgid "Bookkeeping functions" msgstr "Funciones de contabilidad" @@ -205,6 +205,9 @@ msgid "" "class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :class:" "`bytearray`." msgstr "" +"En el futuro, la *semilla* debe ser de uno de los siguientes tipos: " +"*NoneType*, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, o :" +"class:`bytearray`." #: ../Doc/library/random.rst:96 msgid "" @@ -225,19 +228,20 @@ msgstr "" "al que tenia cuando se llamó a la función :func:`getstate`." #: ../Doc/library/random.rst:108 -#, fuzzy msgid "Functions for bytes" -msgstr "Funciones para enteros" +msgstr "Funciones para los bytes" #: ../Doc/library/random.rst:112 msgid "Generate *n* random bytes." -msgstr "" +msgstr "Genera *n* bytes aleatorios." #: ../Doc/library/random.rst:114 msgid "" "This method should not be used for generating security tokens. Use :func:" "`secrets.token_bytes` instead." msgstr "" +"Este método no debe utilizarse para generar tokens de seguridad. Utilice :" +"func:`secrets.token_bytes` en su lugar." #: ../Doc/library/random.rst:121 msgid "Functions for integers" @@ -282,22 +286,21 @@ msgstr "" "``randrange(a, b+1)``." #: ../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 " +"Retorna un entero de Python no negativo con *k* bits aleatorios. Este método " +"se provee con el generador MersenneTwister y algunos otros generadores " +"pueden también proveerlo como una parte opcional de la API. Cuando está " +"disponible, :meth:`getrandbits` permite a :meth:`randrange` manejar rangos " "arbitrariamente grandes." #: ../Doc/library/random.rst:151 msgid "This method now accepts zero for *k*." -msgstr "" +msgstr "Este método ahora acepta cero para *k*." #: ../Doc/library/random.rst:156 msgid "Functions for sequences" @@ -351,7 +354,6 @@ msgstr "" "Es un :exc:`TypeError` especificar ambas *weights* y *cum_weights*." #: ../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 " @@ -359,9 +361,11 @@ msgid "" "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)." +"Los *weights* o los *cum_weights* pueden utilizar cualquier tipo numérico " +"que interactúe con los valores :class:`float` retornados por :func:`random` " +"(que incluye enteros, flotantes y fracciones pero excluye decimales). El " +"comportamiento es indefinido si algún peso es negativo. Se produce un :exc:" +"`ValueError` si todos los pesos son cero." #: ../Doc/library/random.rst:188 msgid "" @@ -381,12 +385,11 @@ msgstr "" #: ../Doc/library/random.rst:197 msgid "Raises a :exc:`ValueError` if all weights are zero." -msgstr "" +msgstr "Genera un :exc:`ValueError` si todos los pesos son cero." #: ../Doc/library/random.rst:203 -#, fuzzy msgid "Shuffle the sequence *x* in place." -msgstr "Baraja la secuencia *x* en su lugar." +msgstr "Mezcla la secuencia *x* in-situ. " #: ../Doc/library/random.rst:205 msgid "" @@ -402,8 +405,8 @@ msgid "" "To shuffle an immutable sequence and return a new shuffled list, use " "``sample(x, k=len(x))`` instead." msgstr "" -"Para bajar una secuencia inmutable y retornar una nueva lista barajada, " -"utilice ``sample(x, k=len(x))`` en su lugar." +"Para mezclar una secuencia inmutable y retornar una nueva lista mezclada, " +"utilice ``muestra(x, k=len(x))`` en su lugar." #: ../Doc/library/random.rst:211 msgid "" @@ -422,7 +425,7 @@ msgstr "" #: ../Doc/library/random.rst:218 msgid "The optional parameter *random*." -msgstr "" +msgstr "El parámetro opcional *random*." #: ../Doc/library/random.rst:223 msgid "" @@ -464,6 +467,10 @@ msgid "" "counts=[4, 2], k=5)`` is equivalent to ``sample(['red', 'red', 'red', 'red', " "'blue', 'blue'], k=5)``." msgstr "" +"Los elementos repetidos pueden especificarse de uno en uno o con el " +"parámetro opcional *counts*, que es una palabra clave. Por ejemplo, " +"``sample(['red', 'blue'], counts=[4, 2], k=5)`` es equivalente a " +"``sample(['red', 'red', 'red', 'red', 'blue', 'blue'], k=5)``." #: ../Doc/library/random.rst:240 msgid "" @@ -485,7 +492,7 @@ msgstr "" #: ../Doc/library/random.rst:247 msgid "Added the *counts* parameter." -msgstr "" +msgstr "Se añadió el parámetro *counts*." #: ../Doc/library/random.rst:250 msgid "" @@ -494,6 +501,10 @@ msgid "" "`list` or :class:`tuple`, preferably in a deterministic order so that the " "sample is reproducible." msgstr "" +"En el futuro, la *población* debe ser una secuencia. Las instancias de :" +"class:`set` ya no se admiten. El conjunto debe convertirse primero en una :" +"class:`list` o :class:`tuple`, preferiblemente en un orden determinista para " +"que la muestra sea reproducible." #: ../Doc/library/random.rst:260 msgid "Real-valued distributions" @@ -599,6 +610,12 @@ msgid "" "random number generator. 2) Put locks around all calls. 3) Use the slower, " "but thread-safe :func:`normalvariate` function instead." msgstr "" +"Nota sobre el multithreading: Cuando dos hilos llaman a esta función " +"simultáneamente, es posible que reciban el mismo valor de retorno. Esto se " +"puede evitar de tres maneras. 1) Hacer que cada hilo utilice una instancia " +"diferente del generador de números aleatorios. 2) Poner bloqueos alrededor " +"de todas las llamadas. 3) Utilizar la función :func:`normalvariate`, más " +"lenta pero segura para los hilos, en su lugar." #: ../Doc/library/random.rst:333 msgid "" @@ -661,6 +678,9 @@ msgid "" "`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :" "class:`bytearray`." msgstr "" +"En el futuro, la *semilla* debe ser de uno de los siguientes tipos: :class:" +"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, o :" +"class:`bytearray`." #: ../Doc/library/random.rst:378 msgid "" @@ -683,17 +703,16 @@ msgid "Notes on Reproducibility" msgstr "Notas sobre la Reproducibilidad" #: ../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 " "should be reproducible from run to run as long as multiple threads are not " "running." msgstr "" -"A veces es necesario poder reproducir las secuencias dadas por un generador " -"de números pseudoaleatorios. Al volver a usar el valor de una semilla, la " -"misma secuencia debería ser reproducible en cada ejecución siempre que no se " -"ejecuten múltiples subprocesos." +"A veces es útil poder reproducir las secuencias dadas por un generador de " +"números pseudoaleatorios. Al reutilizar un valor de semilla, la misma " +"secuencia debería ser reproducible de una ejecución a otra siempre que no se " +"estén ejecutando múltiples hilos." #: ../Doc/library/random.rst:393 msgid "" @@ -722,9 +741,8 @@ msgstr "" "compatible." #: ../Doc/library/random.rst:405 -#, fuzzy msgid "Examples" -msgstr "Ejemplos básicos::" +msgstr "Ejemplos" #: ../Doc/library/random.rst:407 msgid "Basic examples::" @@ -735,16 +753,14 @@ msgid "Simulations::" msgstr "Simulaciones::" #: ../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::" 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::" +"Ejemplo de `statistical bootstrapping `_ utilizando el remuestreo con reemplazo para " +"estimar un intervalo de confianza para la media de una muestra::" #: ../Doc/library/random.rst:476 msgid "" @@ -760,12 +776,11 @@ msgstr "" "placebo::" #: ../Doc/library/random.rst:503 -#, fuzzy msgid "" "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::" +"Simulación de tiempos de llegada y entrega de servicios para una cola de " +"múltiples servidores::" #: ../Doc/library/random.rst:531 msgid "" @@ -809,7 +824,7 @@ msgstr "" #: ../Doc/library/random.rst:552 msgid "Recipes" -msgstr "" +msgstr "Recetas" #: ../Doc/library/random.rst:554 msgid "" @@ -819,6 +834,12 @@ msgid "" "are not possible selections. For example, ``0.05954861408025609`` isn't an " "integer multiple of 2⁻⁵³." msgstr "" +"La función :func:`.random` por defecto devuelve múltiplos de 2⁻⁵³ en el " +"rango *0.0 ≤ x < 1.0*. Todos estos números están espaciados uniformemente y " +"son representables exactamente como flotantes de Python. Sin embargo, " +"muchos otros flotadores representables en ese intervalo no son selecciones " +"posibles. Por ejemplo, ``0.05954861408025609`` no es un múltiplo entero de " +"2⁻⁵³." #: ../Doc/library/random.rst:560 msgid "" @@ -828,12 +849,19 @@ msgid "" "geometric distribution where exponents smaller than *-53* occur half as " "often as the next larger exponent." msgstr "" +"La siguiente receta adopta un enfoque diferente. Todos los flotantes en el " +"intervalo son selecciones posibles. La mantisa proviene de una distribución " +"uniforme de enteros en el rango *2⁵² ≤ mantisa < 2⁵³*. El exponente " +"proviene de una distribución geométrica en la que los exponentes menores de " +"*-53* ocurren con la mitad de frecuencia que el siguiente exponente mayor." #: ../Doc/library/random.rst:582 msgid "" "All :ref:`real valued distributions ` in the " "class will use the new method::" msgstr "" +"Todas las :ref:`distribuciones de valor real ` de " +"la clase utilizarán el nuevo método::" #: ../Doc/library/random.rst:591 msgid "" @@ -843,6 +871,11 @@ msgid "" "Python float. (The value 2⁻¹⁰⁷⁴ is the smallest positive unnormalized float " "and is equal to ``math.ulp(0.0)``.)" msgstr "" +"La receta es conceptualmente equivalente a un algoritmo que elige entre " +"todos los múltiplos de 2⁻¹⁰⁷⁴ en el rango *0,0 ≤ x < 1,0*. Todos esos " +"números son uniformes, pero la mayoría tienen que ser redondeados al " +"flotante de Python representable más cercano. (El valor 2⁻¹⁰⁷⁴ es el menor " +"flotante positivo no normalizado y es igual a ``math.ulp(0.0)``.)" #: ../Doc/library/random.rst:600 msgid "" @@ -851,6 +884,10 @@ msgid "" "ways to generate more fine-grained floats than normally generated by :func:`." "random`." msgstr "" +"`Generating Pseudo-random Floating-Point Values `_ un artículo de Allen B. Downey en el " +"que se describen formas de generar flotantes más refinados que los generados " +"normalmente por :func:`.random`." #~ msgid "Examples and Recipes" #~ msgstr "Ejemplos y Recetas" From 292043adce136dd854af667d27c6c3d98430b66d Mon Sep 17 00:00:00 2001 From: rtobar Date: Thu, 2 Sep 2021 14:30:08 +0800 Subject: [PATCH 77/94] Traduce library/subprocess.po (#1367) Signed-off-by: Rodrigo Tobar --- dictionaries/library_subprocess.txt | 2 + library/subprocess.po | 72 +++++++++++++++++------------ 2 files changed, 45 insertions(+), 29 deletions(-) create mode 100644 dictionaries/library_subprocess.txt diff --git a/dictionaries/library_subprocess.txt b/dictionaries/library_subprocess.txt new file mode 100644 index 0000000000..297fd163d5 --- /dev/null +++ b/dictionaries/library_subprocess.txt @@ -0,0 +1,2 @@ +setregid +setreuid diff --git a/library/subprocess.po b/library/subprocess.po index ccf0ce27dd..297b62a56c 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-09-01 23:41+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/library/subprocess.rst:2 msgid ":mod:`subprocess` --- Subprocess management" @@ -955,12 +956,16 @@ msgid "" "value in ``gr_gid`` will be used. If the value is an integer, it will be " "passed verbatim. (POSIX only)" msgstr "" +"Si *group* no es ``None``, la llamada a sistema setregid() se hará en el " +"proceso hijo antes de la ejecución del subproceso. Si el valor proveído es " +"una cadena de caracteres, será buscado usando :func:`grp.getgrnam()` y el " +"valor en ``gr_gid`` será usado. Si el valor es un entero, será pasado " +"literalmente. (solamente POSIX)" #: ../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." +msgstr ":ref:`Disponibilidad `: POSIX" #: ../Doc/library/subprocess.rst:563 msgid "" @@ -970,6 +975,11 @@ msgid "" "the values in ``gr_gid`` will be used. Integer values will be passed " "verbatim. (POSIX only)" msgstr "" +"Si *extra_groups* no es ``None``, la llamada a sistema setgroups() se hará " +"en el proceso hijo antes de la ejecución del subproceso. Cadenas de " +"caracteres proveídas en *extra_groups* serán buscadas usando :func:`grp." +"getgrnam()` y los valores en ``gr_gid`` serán usados. Valor enteros serán " +"pasados literalmente. (solamente POSIX)" #: ../Doc/library/subprocess.rst:572 msgid "" @@ -979,15 +989,19 @@ msgid "" "value in ``pw_uid`` will be used. If the value is an integer, it will be " "passed verbatim. (POSIX only)" msgstr "" +"Si *user* no es ``None``, la llamada a sistema setreuid() se hará en el " +"proceso hijo antes de la ejecución del subproceso. Si el valor proveído es " +"una cadena de caracteres, será buscado usando :func:`pwd.getpwnam()` y el " +"valor en ``pw_uid`` será usado. Si el valor es un entero, será pasado " +"literalmente. (solamente POSIX)" #: ../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)." +"Si *umask* no es negativo, la llamada a sistema umask() se hará en el " +"proceso hijo antes de la ejecución del subproceso." #: ../Doc/library/subprocess.rst:587 msgid "" @@ -1306,7 +1320,6 @@ msgid "*timeout* was added." msgstr "Se añadió *timeout*." #: ../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 and set " @@ -1315,12 +1328,13 @@ msgid "" "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. " -"El argumento opcional *input* debe contener los datos que hay que enviar al " -"proceso hijo o ``None``, si no hay que enviar datos al hijo. Si se abrieron " -"los flujos en modo texto, *input* ha de ser una cadena. En caso contrario, " -"debe contener bytes." +"Interactúa con el proceso: Envía datos a stdin. Lee datos de stdout y stderr " +"hasta encontrar un fin-de-fichero. Espera a que termine el proceso y escribe " +"el atributo :attr:`~Popen.returncode`. El argumento opcional *input* debe " +"contener los datos que hay que enviar al proceso hijo o ``None`` si no hay " +"que enviar datos al proceso hijo. Si se abrieron los flujos en modo texto, " +"*input* ha de ser una cadena de caracteres. En caso contrario, debe contener " +"bytes." #: ../Doc/library/subprocess.rst:747 msgid "" @@ -1377,7 +1391,7 @@ msgstr "Envía la señal *signal* al proceso hijo." #: ../Doc/library/subprocess.rst:784 msgid "Do nothing if the process completed." -msgstr "" +msgstr "No hace nada si el proceso ya ha terminado." #: ../Doc/library/subprocess.rst:788 msgid "" @@ -1390,24 +1404,22 @@ msgstr "" "*creationflags* que incluya `CREATE_NEW_PROCESS_GROUP`." #: ../Doc/library/subprocess.rst:795 -#, fuzzy msgid "" "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 "" -"Detener el proceso hijo. En SO POSIX, este método envía SIGTERM al proceso " -"hijo. En Windows se llama a la función :c:func:`TerminateProcess` de la API " -"de Win32 para detener el proceso hijo." +"Detiene el proceso hijo. En sistemas operativos POSIX este método envía " +"SIGTERM al proceso 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:802 -#, fuzzy msgid "" "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`." +"Mata el proceso hijo. En sistemas operativos POSIX la función envía SIGKILL " +"al proceso hijo. En Windows :meth:`kill` es un alias de :meth:`terminate`." #: ../Doc/library/subprocess.rst:806 msgid "The following attributes are also available:" @@ -1908,7 +1920,6 @@ msgid "This is equivalent to::" msgstr "Esto equivale a::" #: ../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 " @@ -1917,10 +1928,13 @@ msgid "" "``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." +"Los argumentos mostrados arriba son meramente algunos de los 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. Existe una " +"diferencia con la interfaz de :func:`run` respecto al comportamiento: pasar " +"``input=None`` genera el mismo comportamiento que ``input=b''`` (o " +"``input=''``, dependiendo de otros argumentos) en vez de usar el flujo " +"entrada estándar del padre." #: ../Doc/library/subprocess.rst:1170 msgid "" @@ -1930,7 +1944,7 @@ msgid "" msgstr "" "Por omisión, esta función retornará los datos como bytes codificados. La " "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." +"que la decodificación a texto se deberá hacer al nivel de la aplicación." #: ../Doc/library/subprocess.rst:1174 msgid "" From 915c25063a80c2deecbd9442c16f24865ee7dd0a Mon Sep 17 00:00:00 2001 From: rtobar Date: Thu, 2 Sep 2021 14:30:33 +0800 Subject: [PATCH 78/94] Traduce library/json.po (#1366) Signed-off-by: Rodrigo Tobar --- dictionaries/library_json.txt | 2 ++ library/json.po | 31 +++++++++++++++++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/dictionaries/library_json.txt b/dictionaries/library_json.txt index 70ed9718d4..92b7fb9dd2 100644 --- a/dictionaries/library_json.txt +++ b/dictionaries/library_json.txt @@ -9,3 +9,5 @@ serializaciones deserialicen deserializadores null +true +false diff --git a/library/json.po b/library/json.po index c33bcbdb9e..25d22fbe2f 100644 --- a/library/json.po +++ b/library/json.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-16 11:29-0500\n" -"Last-Translator: Adriaan Beiertz \n" +"PO-Revision-Date: 2021-08-30 21:44+0800\n" +"Last-Translator: Rodrigo Tobar \n" "Language: es_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.4.2\n" #: ../Doc/library/json.rst:2 msgid ":mod:`json` --- JSON encoder and decoder" @@ -428,11 +429,8 @@ msgstr "" "esta :ref:`conversion table `." #: ../Doc/library/json.rst:286 -#, 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." +msgstr "Los otros argumentos tienen el mismo significado que en :func:`load`." #: ../Doc/library/json.rst:291 msgid "" @@ -444,7 +442,7 @@ msgstr "" #: ../Doc/library/json.rst:295 msgid "The keyword argument *encoding* has been removed." -msgstr "" +msgstr "El argumento de palabra llave *encoding* ha sido removido." #: ../Doc/library/json.rst:300 msgid "Encoders and Decoders" @@ -541,7 +539,6 @@ msgstr "" "correspondientes valores ``float``, que está fuera de la especificación JSON." #: ../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 :" @@ -551,7 +548,8 @@ 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)." +"personalizadas (por ejemplo, para admitir sugerencias de clases `JSON-RPC " +"`_)." #: ../Doc/library/json.rst:338 msgid "" @@ -662,6 +660,10 @@ msgid "" "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 (lo es por defecto), un :exc:`TypeError` será lanzado " +"cuando se trate de codificar llaves que no sean :class:`str`, :class:`int`, :" +"class:`float` o ``None``. Si *skipkeys* es verdadero, tales elementos son " +"simplemente pasados por alto." #: ../Doc/library/json.rst:433 msgid "" @@ -711,13 +713,12 @@ msgstr "" "exc:`TypeError`)." #: ../Doc/library/json.rst:481 -#, fuzzy msgid "" "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::" +"Por ejemplo, para admitir iteradores arbitrarios, podría implementar :meth:" +"`default` de esta manera::" #: ../Doc/library/json.rst:497 msgid "" @@ -1072,6 +1073,8 @@ msgid "" "Disable escaping of non-ascii characters, see :func:`json.dumps` for more " "information." msgstr "" +"Deshabilita el escape de caracteres que no sean ascii, véase :func:`json." +"dumps` para más información." #: ../Doc/library/json.rst:741 msgid "Parse every input line as separate JSON object." @@ -1079,7 +1082,7 @@ msgstr "Analiza cada línea de entrada como objeto JSON independiente." #: ../Doc/library/json.rst:747 msgid "Mutually exclusive options for whitespace control." -msgstr "" +msgstr "Opciones mutuamente exclusivas para control de espacios en blanco." #: ../Doc/library/json.rst:753 msgid "Show the help message." From 65810aeb39da5cb1911612c6af6d50afa1f80278 Mon Sep 17 00:00:00 2001 From: rtobar Date: Tue, 7 Sep 2021 20:40:26 +0800 Subject: [PATCH 79/94] Traduce howto/descriptor.po (#1369) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduce howto/descriptor.po También ajusta el diccionario añadiendo nuevas palabras, y quitando otras que no son necesarias. Signed-off-by: Rodrigo Tobar Co-authored-by: Cristián Maureira-Fredes --- dictionaries/howto_descriptor.txt | 7 +- howto/descriptor.po | 456 ++++++++++++++++++++++-------- 2 files changed, 345 insertions(+), 118 deletions(-) diff --git a/dictionaries/howto_descriptor.txt b/dictionaries/howto_descriptor.txt index 835d921c97..6b16d6485d 100644 --- a/dictionaries/howto_descriptor.txt +++ b/dictionaries/howto_descriptor.txt @@ -1,3 +1,8 @@ redefiniendo monitorizar -klass +Person +validador +validadores +validadora +classmethod +property diff --git a/howto/descriptor.po b/howto/descriptor.po index a1842be7db..0dcfc79caf 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2021-09-06 00:30+0800\n" +"Last-Translator: Rodrigo Tobar \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.4.2\n" #: ../Doc/howto/descriptor.rst:5 msgid "Descriptor HowTo Guide" @@ -50,22 +51,29 @@ msgid "" ":term:`Descriptors ` let objects customize attribute lookup, " "storage, and deletion." msgstr "" +"Los :term:`descriptores ` permiten a objetos personalizar la " +"búsqueda, almacenamiento y eliminación de atributos." #: ../Doc/howto/descriptor.rst:16 msgid "This guide has four major sections:" -msgstr "" +msgstr "Esta guía tiene cuatro secciones principales:" #: ../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 "" +"La guía introductoria da una visión general básica, moviéndose gentilmente " +"por ejemplos simples, añadiendo una funcionalidad a la vez. Comienza acá si " +"eres nuevo con los descriptores." #: ../Doc/howto/descriptor.rst:21 msgid "" "The second section shows a complete, practical descriptor example. If you " "already know the basics, start there." msgstr "" +"La segunda sección muestra un ejemplo completo y práctico de un descriptor. " +"Si ya sabes lo básico comienza acá." #: ../Doc/howto/descriptor.rst:24 msgid "" @@ -73,6 +81,9 @@ msgid "" "detailed mechanics of how descriptors work. Most people don't need this " "level of detail." msgstr "" +"La tercera sección provee un tutorial más técnico que adentra en la mecánica " +"detallada de cómo funcionan los descriptores. La mayoría de la gente no " +"necesita este nivel de detalle." #: ../Doc/howto/descriptor.rst:28 msgid "" @@ -81,38 +92,51 @@ msgid "" "bound methods or about the implementation of common tools like :func:" "`classmethod`, :func:`staticmethod`, :func:`property`, and :term:`__slots__`." msgstr "" +"La última sección tiene equivalentes en Python puro para descriptores " +"incorporados que están escritos en C. Lee esta sección si tienes curiosidad " +"de cómo las funciones se convierten en métodos vinculados, o sobre la " +"implementación de herramientas comunes como :func:`classmethod`, :func:" +"`staticmethod`, :func:`property`, y :term:`__slots__`." #: ../Doc/howto/descriptor.rst:36 msgid "Primer" -msgstr "" +msgstr "Guía introductoria" #: ../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 "" +"En esta guía introductoria comenzamos con el ejemplo más básico posible y " +"luego vamos añadiendo nuevas funcionalidades una a una." #: ../Doc/howto/descriptor.rst:43 msgid "Simple example: A descriptor that returns a constant" -msgstr "" +msgstr "Ejemplo simple: un descriptor que retorna una constante" #: ../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 "" +"La clase :class:`Ten` es un descriptor que siempre retorna el valor " +"constante ``10`` desde su método :meth:`__get__`:" #: ../Doc/howto/descriptor.rst:54 msgid "" "To use the descriptor, it must be stored as a class variable in another " "class:" msgstr "" +"Para usar el descriptor, éste se debe almacenar como una variable de clase " +"en otra clase:" #: ../Doc/howto/descriptor.rst:62 msgid "" "An interactive session shows the difference between normal attribute lookup " "and descriptor lookup:" msgstr "" +"Una sesión interactiva muestra la diferencia entre un la búsqueda de " +"atributo normal y la búsqueda a través del descriptor:" #: ../Doc/howto/descriptor.rst:73 msgid "" @@ -121,39 +145,52 @@ msgid "" "operator finds a descriptor instance, recognized by its ``__get__`` method, " "and calls that method which returns ``10``." msgstr "" +"En la búsqueda de atributo ``a.x``, el operador punto busca la llave ``x`` y " +"el valor ``5`` en el diccionario de la clase. En la búsqueda ``a.y``, el " +"operador punto encuentra una instancia de un descriptor, reconocible por su " +"método ``__get__``, e invoca este método, el cual retorna ``10``." #: ../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 "" +"Nota que el valor ``10`` no es almacenado ni en el diccionario de la clase " +"ni en el diccionario de la instancia. En cambio, el valor ``10`` es " +"calculado bajo demanda." #: ../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 "" +"Este ejemplo muestra cómo funciona un descriptor simple, pero no es muy " +"útil. Para recuperar constantes una búsqueda de atributos normal sería mejor." #: ../Doc/howto/descriptor.rst:84 msgid "" "In the next section, we'll create something more useful, a dynamic lookup." -msgstr "" +msgstr "En la próxima sección crearemos algo más útil, una búsqueda dinámica." #: ../Doc/howto/descriptor.rst:88 msgid "Dynamic lookups" -msgstr "" +msgstr "Búsquedas dinámicas" #: ../Doc/howto/descriptor.rst:90 msgid "" "Interesting descriptors typically run computations instead of returning " "constants:" msgstr "" +"Descriptores interesantes típicamente ejecutan cálculos en vez de retornar " +"constantes:" #: ../Doc/howto/descriptor.rst:109 msgid "" "An interactive session shows that the lookup is dynamic — it computes " "different, updated answers each time::" msgstr "" +"Una sesión interactiva muestra que la búsqueda es dinámica — calcula " +"respuestas diferentes y actualizadas en cada ocasión::" #: ../Doc/howto/descriptor.rst:122 msgid "" @@ -164,10 +201,16 @@ msgid "" "that lets the :meth:`__get__` method learn the target directory. The " "*objtype* parameter is the class *Directory*." msgstr "" +"Además de mostrar cómo los descriptores puede ejecutar cálculos, este " +"ejemplo también revela el propósitos de los parámetros de :meth:`__get__`. " +"El parámetro *self* es *size*, una instancia de *DirectorySize*. El " +"parámetro *obj* es *g* o *s*, una instancia de *Directory*. Es el parámetro " +"*obj* el que permite que al método :meth:`__get__` saber el directorio " +"objetivo. El parámetro *objtype* es una clase *Directory*." #: ../Doc/howto/descriptor.rst:131 msgid "Managed attributes" -msgstr "" +msgstr "Atributos gestionados" #: ../Doc/howto/descriptor.rst:133 msgid "" @@ -177,6 +220,11 @@ msgid "" "dictionary. The descriptor's :meth:`__get__` and :meth:`__set__` methods " "are triggered when the public attribute is accessed." msgstr "" +"Un uso popular de descriptores es la gestión de acceso a datos de una " +"instancia. El descriptor se asigna a un atributo público en el diccionario " +"de clase, mientras que los datos reales se guardan en atributos privados en " +"el diccionario de instancia. Los métodos :meth:`__get__` and :meth:`__set__` " +"del descriptor se activan cuando se accede al atributo público." #: ../Doc/howto/descriptor.rst:139 msgid "" @@ -184,12 +232,17 @@ msgid "" "private attribute. When the public attribute is accessed, the descriptor " "logs the lookup or update:" msgstr "" +"En el siguiente ejemplo, *age* es el atributo público y *_age* es el " +"atributo privado. Cuando el atributo público es accedido, el descriptor " +"registra la búsqueda o actualización:" #: ../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 "" +"Una sesión interactiva muestra que todos los accesos al atributo gestionado " +"*age* son registrados, pero que el atributo normal *name* no es registrado:" #: ../Doc/howto/descriptor.rst:206 msgid "" @@ -198,16 +251,22 @@ msgid "" "only have one logged attribute and that its name is unchangeable. In the " "next example, we'll fix that problem." msgstr "" +"Un gran problema con este ejemplo es que el nombre privado *_age* está " +"fijado en la clase *LoggedAgeAccess*. Esto significa que cada instancia " +"puede sólo puede registrar un atributo, y que su nombre no se puede cambiar. " +"En el siguiente ejemplo solucionaremos ese problema." #: ../Doc/howto/descriptor.rst:213 msgid "Customized names" -msgstr "" +msgstr "Nombres personalizados" #: ../Doc/howto/descriptor.rst:215 msgid "" "When a class uses descriptors, it can inform each descriptor about which " "variable name was used." msgstr "" +"Cuando una clase usa descriptores, puede informar a cada descriptor el " +"nombre se usó para la variable." #: ../Doc/howto/descriptor.rst:218 msgid "" @@ -217,6 +276,11 @@ msgid "" "can be recorded, giving each descriptor its own *public_name* and " "*private_name*:" msgstr "" +"En este ejemplo, la clase :class:`Person` tiene dos instancias de " +"descriptores, *name* y *age*. Cuando la clase :class:`Person` se define, " +"hace una retrollamada a :meth:`__set_name__` en *LoggedAccess* para que se " +"pueda registrar los nombres de los campos, dándole a cada descriptor su " +"propio *public_name* y *private_name*:" #: ../Doc/howto/descriptor.rst:256 msgid "" @@ -224,24 +288,29 @@ msgid "" "`__set_name__` so that the field names would be recorded. Here we call :" "func:`vars` to look up the descriptor without triggering it:" msgstr "" +"Una sesión interactiva muestra que la clase :class:`Person` ha llamado a :" +"meth:`__set_name__` para que los nombres de los campos sean registrados. " +"Aquí llamamos a :func:`vars` para ver el descriptor sin activarlos:" #: ../Doc/howto/descriptor.rst:267 msgid "The new class now logs access to both *name* and *age*:" -msgstr "" +msgstr "La nueva clase ahora registrar accesos tanto a *name* como a *age*:" #: ../Doc/howto/descriptor.rst:284 msgid "The two *Person* instances contain only the private names::" -msgstr "" +msgstr "Las dos instancias de *Person* contienen sólo dos nombres privados::" #: ../Doc/howto/descriptor.rst:293 msgid "Closing thoughts" -msgstr "" +msgstr "Pensamientos finales" #: ../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 "" +"Llamamos un :term:`descriptor` a cualquier objeto que define :meth:" +"`__get__`, :meth:`__set__` o :meth:`__delete__`." #: ../Doc/howto/descriptor.rst:298 msgid "" @@ -250,6 +319,11 @@ msgid "" "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 "" +"Opcionalmente, los descriptores pueden tener un método :meth:`__set_name__`. " +"Éste sólo se usa en los casos en los que el descriptor necesita saber ya sea " +"la clase donde fue creado, o el nombre de la variable de clase a la que fue " +"asignado. (Este método, si está presente, es llamada incluso si la clase no " +"es un descriptor.)" #: ../Doc/howto/descriptor.rst:303 msgid "" @@ -257,18 +331,27 @@ msgid "" "a descriptor is accessed indirectly with ``vars(some_class)" "[descriptor_name]``, the descriptor instance is returned without invoking it." msgstr "" +"Los descriptores son invocados por el \"operator\" punto durante la búsqueda " +"de atributos. Si un descriptor es accedido indirectamente con " +"``vars(una_clase)[nombre_del_descriptor]``, la instancia del descriptor es " +"retornada sin ser invocada." #: ../Doc/howto/descriptor.rst:307 msgid "" "Descriptors only work when used as class variables. When put in instances, " "they have no effect." msgstr "" +"Los descriptores sólo funcionan cuando se usan como variables de clase. " +"Cuando son puestos en una instancia no tienen efecto." #: ../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 "" +"La mayor motivación detrás de los descriptores es el proveer un gancho que " +"permita a los objetos guardados en variables de clase controlar lo que " +"ocurre al buscar un atributo." #: ../Doc/howto/descriptor.rst:313 msgid "" @@ -276,6 +359,9 @@ msgid "" "Descriptors invert that relationship and allow the data being looked-up to " "have a say in the matter." msgstr "" +"Tradicionalmente, la clase que llama controla qué ocurre durante la " +"búsqueda. Los descriptores invierten esta relación y permiten que los datos " +"que están siendo buscados tengan algo qué decir al respecto." #: ../Doc/howto/descriptor.rst:317 msgid "" @@ -284,20 +370,26 @@ msgid "" "`staticmethod`, :func:`property`, and :func:`functools.cached_property` are " "all implemented as descriptors." msgstr "" +"Los descriptores se usan a través de todo el lenguaje. Es cómo funciones se " +"convierten en métodos vinculados. Herramientas comunes como :func:" +"`classmethod`, :func:`staticmethod`, :func:`property`, y :func:`functools." +"cached_property` se implementan todas como descriptores." #: ../Doc/howto/descriptor.rst:324 msgid "Complete Practical Example" -msgstr "" +msgstr "Ejemplo completo práctico" #: ../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 "" +"En este ejemplo creamos una herramienta práctica y poderosa para encontrar " +"errores de corrupción de datos que son notoriamente difíciles de encontrar." #: ../Doc/howto/descriptor.rst:331 msgid "Validator class" -msgstr "" +msgstr "Clase validadora" #: ../Doc/howto/descriptor.rst:333 msgid "" @@ -306,31 +398,42 @@ msgid "" "restrictions. If those restrictions aren't met, it raises an exception to " "prevent data corruption at its source." msgstr "" +"Un validador es un descriptor que da acceso a un atributo gestionado. Antes " +"de almacenar cualquier dato, verifica que el nuevo valor cumple con varias " +"restricciones de tipo y rango. Si esas restricciones no se cumplen, lanza " +"una excepción para así prevenir corrupción de datos en su origen." #: ../Doc/howto/descriptor.rst:338 msgid "" "This :class:`Validator` class is both an :term:`abstract base class` and a " "managed attribute descriptor:" msgstr "" +"Esta clase :class:`Validator` es una tanto una :term:`clase base abstracta " +"` como un descriptor de un atributo gestionado:" #: ../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 "" +"Validadores personalizados necesitan heredar de :class:`Validator` y deben " +"proveer un método :meth:`validate` method para probar las restricciones que " +"sean necesarias." #: ../Doc/howto/descriptor.rst:366 msgid "Custom validators" -msgstr "" +msgstr "Validadores personalizados" #: ../Doc/howto/descriptor.rst:368 msgid "Here are three practical data validation utilities:" -msgstr "" +msgstr "Acá hay tres utilidades de validación de datos prácticas:" #: ../Doc/howto/descriptor.rst:370 msgid "" ":class:`OneOf` verifies that a value is one of a restricted set of options." msgstr "" +":class:`OneOf` verifica que un valor está dentro de un grupo restringido de " +"opciones." #: ../Doc/howto/descriptor.rst:372 msgid "" @@ -338,6 +441,8 @@ msgid "" "`float`. Optionally, it verifies that a value is between a given minimum or " "maximum." msgstr "" +":class:`Number` verifica que un valor es :class:`int` o :class:`float`. " +"Opcionalmente verifica que un valor está entre un mínimo y un máximo." #: ../Doc/howto/descriptor.rst:376 msgid "" @@ -346,28 +451,35 @@ msgid "" "`predicate `_ " "as well." msgstr "" +":class:`String` verifica que un valor es un :class:`str`. Opcionalmente " +"valida que tenga un largo mínimo o máximo. Puede también validar un " +"`predicado `_ definido por el usuario." #: ../Doc/howto/descriptor.rst:435 msgid "Practical application" -msgstr "" +msgstr "Aplicación práctica" #: ../Doc/howto/descriptor.rst:437 msgid "Here's how the data validators can be used in a real class:" msgstr "" +"Acá se muestra cómo se puede usar los validadores de datos en una clase real:" #: ../Doc/howto/descriptor.rst:452 msgid "The descriptors prevent invalid instances from being created:" -msgstr "" +msgstr "Los descriptores previenen que se creen instancias inválidas:" #: ../Doc/howto/descriptor.rst:479 msgid "Technical Tutorial" -msgstr "" +msgstr "Tutorial técnico" #: ../Doc/howto/descriptor.rst:481 msgid "" "What follows is a more technical tutorial for the mechanics and details of " "how descriptors work." msgstr "" +"Lo que sigue es un tutorial más práctico sobre las mecánicas y detalles de " +"cómo funcionan los descriptores." #: ../Doc/howto/descriptor.rst:486 msgid "Abstract" @@ -378,19 +490,20 @@ msgid "" "Defines descriptors, summarizes the protocol, and shows how descriptors are " "called. Provides an example showing how object relational mappings work." msgstr "" +"Define los descriptores, resume el protocolo, y muestra cómo los " +"descriptores son llamados. Provee ejemplos mostrando cómo funcionan los " +"mapeos objeto-relacional (*ORM*)." #: ../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." 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." +"Aprender acerca de los descriptores no sólo brinda acceso a un conjunto de " +"herramientas mayor, sino que genera una comprensión más profunda de cómo " +"funciona Python." #: ../Doc/howto/descriptor.rst:496 -#, fuzzy msgid "Definition and introduction" msgstr "Definición e introducción" @@ -401,9 +514,12 @@ msgid "" "`__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 valor atributo que tiene uno de los métodos " +"del protocolo de descriptores. Estos métodos son :meth:`__get__`, :meth:" +"`__set__`, y :meth:`__delete__`. Si cualquiera de esos métodos se definen en " +"un atributo, se dice que éste es un :term:`descriptor`." #: ../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 " @@ -417,12 +533,12 @@ msgstr "" "El comportamiento predeterminado para el acceso a los atributos es obtener, " "establecer o eliminar el atributo del diccionario de un objeto. Por ejemplo, " "``a.x`` tiene una cadena de búsqueda que comienza con ``a.__dict__['x']``, " -"luego ``type(a).__dict__['x']`` y continúa a través de las clases base de " -"``type(a)`` excluyendo metaclases. Si el valor buscado es un objeto que " -"define uno de los métodos del descriptor, entonces Python puede anular el " +"luego ``type(a).__dict__['x']`` y continúa a través del orden de resolución " +"de métodos de ``type(a)``. Si el valor buscado es un objeto que define uno " +"de los métodos de descriptores, entonces Python puede anular el " "comportamiento predeterminado e invocar el método del descriptor en su " -"lugar. El lugar donde ésto ocurre en la cadena de precedencia depende de qué " -"métodos del descriptor fueron definidos." +"lugar. El lugar donde esto ocurre en la cadena de precedencia depende de qué " +"métodos de descriptores fueron definidos." #: ../Doc/howto/descriptor.rst:512 msgid "" @@ -432,11 +548,15 @@ msgid "" "simplify the underlying C code and offer a flexible set of new tools for " "everyday Python programs." msgstr "" +"Los descriptores son un protocolo poderoso y de propósito general. Son el " +"mecanismo detrás de propiedades, métodos, métodos estáticos y :func:" +"`super()`. Se usan a través de Python mismo. Los descriptores simplifican el " +"código C subyacente y ofrecen un grupo flexible de nuevas herramientas para " +"programas habituales de Python." #: ../Doc/howto/descriptor.rst:520 -#, fuzzy msgid "Descriptor protocol" -msgstr "Protocolo descriptor" +msgstr "Protocolo de descriptores" #: ../Doc/howto/descriptor.rst:522 msgid "``descr.__get__(self, obj, type=None) -> value``" @@ -461,7 +581,6 @@ msgstr "" "predeterminado al ser buscado como un atributo." #: ../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 " @@ -481,7 +600,7 @@ msgid "" "takes precedence. If an instance's dictionary has an entry with the same " "name as a non-data descriptor, the dictionary entry takes precedence." msgstr "" -"Los descriptores de datos y de no-datos difieren en como se calculan las " +"Los descriptores de datos y de no-datos difieren en cómo se calculan las " "anulaciones con respecto a las entradas en el diccionario de una instancia. " "Si el diccionario de una instancia tiene una entrada con el mismo nombre que " "un descriptor de datos, el descriptor de datos tiene prioridad. Si el " @@ -495,30 +614,31 @@ msgid "" "called. Defining the :meth:`__set__` method with an exception raising " "placeholder is enough to make it a data descriptor." msgstr "" -"Para crear un descriptor de datos de solo lectura, se define tanto :meth:" -"`__get__` como :meth:`__set__` donde :meth:`__set__` lanza un error :exc:" +"Para crear un descriptor de datos de sólo lectura, define tanto :meth:" +"`__get__` como :meth:`__set__` donde :meth:`__set__` lanza un :exc:" "`AttributeError` cuando es llamado. Definir el método :meth:`__set__` de " "forma que lance una excepción genérica es suficiente para convertirlo en un " "descriptor de datos." #: ../Doc/howto/descriptor.rst:550 msgid "Overview of descriptor invocation" -msgstr "" +msgstr "Visión general de invocación de descriptores" #: ../Doc/howto/descriptor.rst:552 -#, fuzzy msgid "" "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)``." +"Un descriptor puede ser llamado directamente con ``desc.__get__(obj)`` o " +"``desc.__get__(None, cls)``." #: ../Doc/howto/descriptor.rst:555 msgid "" "But it is more common for a descriptor to be invoked automatically from " "attribute access." msgstr "" +"Pero es más común que un descriptor sea invocado automáticamente por la " +"búsqueda de atributos." #: ../Doc/howto/descriptor.rst:558 msgid "" @@ -527,19 +647,22 @@ msgid "" "instance ``__dict__``, its :meth:`__get__` method is invoked according to " "the precedence rules listed below." msgstr "" +"La expresión ``obj.x`` busca el atributo ``x`` en la cadena de nombres de " +"espacio de ``obj``. Si la búsqueda encuentra un descriptor fuera del " +"``__dict__`` de la instancia, su método :meth:`__get__` es invocado de " +"acuerdo a la lista de reglas de precedencia mostradas debajo." #: ../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." +"Los detalles de la invocación dependen de si ``obj`` es un objeto una clase, " +"o una instancia de super." #: ../Doc/howto/descriptor.rst:568 msgid "Invocation from an instance" -msgstr "" +msgstr "Invocación desde una instancia" #: ../Doc/howto/descriptor.rst:570 msgid "" @@ -548,18 +671,26 @@ msgid "" "descriptors, then class variables, and lastly :meth:`__getattr__` if it is " "provided." msgstr "" +"La búsqueda en instancias escanea a través de una cadena de nombres de " +"espacio dando la más alta prioridad a descriptores de datos, seguidos por " +"variables de instancia, luego descriptores de no-datos, luego variables de " +"clase, y finalmente a :meth:`__getattr__` si se provee." #: ../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 "" +"Si se encuentra un descriptor para ``a.x`` entonces se invoca con ``desc." +"__get__(a, type(a))``." #: ../Doc/howto/descriptor.rst:578 msgid "" "The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " "is a pure Python equivalent:" msgstr "" +"La lógica para una búsqueda con puntos se encuentra en :meth:`object." +"__getattribute__`. Acá hay un equivalente en Python puro:" #: ../Doc/howto/descriptor.rst:698 msgid "" @@ -567,6 +698,10 @@ msgid "" "directly. Instead, both the dot operator and the :func:`getattr` function " "perform attribute lookup by way of a helper function:" msgstr "" +"Es Interesante que la búsqueda de atributos no llama directamente a :meth:" +"`object.__getattribute__`. En cambio, tanto el operador punto como la " +"función :func:`getattr` realizan la búsqueda de atributos a través de una " +"función auxiliar:" #: ../Doc/howto/descriptor.rst:713 msgid "" @@ -574,17 +709,21 @@ msgid "" "`__getattribute__` raises :exc:`AttributeError` (either directly or in one " "of the descriptor calls)." msgstr "" +"De tal modo, si :meth:`__getattr__` existe, es llamada cada vez que :meth:" +"`__getattribute__` lanza :exc:`AttributeError` (ya sea directamente o en una " +"de las llamadas a un descriptor)." #: ../Doc/howto/descriptor.rst:716 msgid "" "Also, if a user calls :meth:`object.__getattribute__` directly, the :meth:" "`__getattr__` hook is bypassed entirely." msgstr "" +"Además, si un usuario llama directamente a :meth:`object.__getattribute__`, " +"el gancho en :meth:`__getattr__` es totalmente evitado." #: ../Doc/howto/descriptor.rst:721 -#, fuzzy msgid "Invocation from a class" -msgstr "Llamado desde una clase" +msgstr "Invocación desde una clase" #: ../Doc/howto/descriptor.rst:723 msgid "" @@ -593,26 +732,37 @@ msgid "" "__getattribute__` but the instance dictionary lookup is replaced by a search " "through the class's :term:`method resolution order`." msgstr "" +"La lógica para una búsqueda con puntos tal como ``A.x`` se encuentra en :" +"meth:`type.__getattribute__`. Los pasos son similares a los de :meth:`object." +"__getattribute__`, pero la búsqueda en el diccionario de instancia se " +"reemplaza por una búsqueda a través del :term:`orden de resolución de " +"métodos ` de la clase." #: ../Doc/howto/descriptor.rst:728 msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." msgstr "" +"Si se encuentra un descriptor, se invoca con ``desc.__get__(None, A)``." #: ../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 "" +"La implementación completa en C puede ser encontrada en :c:func:" +"`type_getattro()` y :c:func:`_PyType_Lookup()` en :source:`Objects/" +"typeobject.c`." #: ../Doc/howto/descriptor.rst:735 msgid "Invocation from super" -msgstr "" +msgstr "Invocación desde super" #: ../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 "" +"La lógica de la búsqueda con puntos para super está en el método :meth:" +"`__getattribute__` para el objeto retornado por :class:`super()`." #: ../Doc/howto/descriptor.rst:740 msgid "" @@ -621,55 +771,60 @@ msgid "" "returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is " "returned unchanged." msgstr "" +"Una búsqueda con puntos tal como ``super(A, obj).m`` busca ``obj.__class__." +"__mro__`` para la clase base ``B`` que sigue inmediatamente a ``A`` y luego " +"retorna ``B.__dict__['m'].__get__(obj, A)``. Si no es un descriptor, ``m`` " +"se retorna sin cambiar." #: ../Doc/howto/descriptor.rst:745 -#, fuzzy msgid "" "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 "" -"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`_." +"La implementación completa en C puede ser encontrada en :c:func:" +"`super_getattro()` en :source:`Objects/typeobject.c`. Un equivalente en " +"Python puro se puede encontrar en el `Guido's Tutorial `_." #: ../Doc/howto/descriptor.rst:752 msgid "Summary of invocation logic" -msgstr "" +msgstr "Resumen de la lógica de invocación" #: ../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 "" +"El mecanismo de descriptores está embebido en los métodos :meth:" +"`__getattribute__()` de :class:`object`, :class:`type`, y :func:`super`." #: ../Doc/howto/descriptor.rst:757 msgid "The important points to remember are:" msgstr "Los puntos importantes a recordar son:" #: ../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__`" +msgstr "Los descriptores son invocados por el método :meth:`__getattribute__`." #: ../Doc/howto/descriptor.rst:761 msgid "" "Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" "`super`." msgstr "" +"Las clases heredan esta maquinaria desde :class:`object`, :class:`type`, o :" +"func:`super`." #: ../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" +"Redefinir :meth:`__getattribute__` previene las llamadas automáticas a " +"descriptores porque toda la lógica de descriptores está en ese método." #: ../Doc/howto/descriptor.rst:767 -#, fuzzy msgid "" ":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " "different calls to :meth:`__get__`. The first includes the instance and may " @@ -677,24 +832,24 @@ msgid "" "includes the class." msgstr "" ":meth:`object.__getattribute__` y :meth:`type.__getattribute__` realizan " -"diferentes llamadas a :meth:`__get__`." +"diferentes llamadas a :meth:`__get__`. El primero incluye la instancia y " +"puede incluir la clase. El segundo establece ``None`` como instancia, y " +"siempre incluye la clase." #: ../Doc/howto/descriptor.rst:772 -#, fuzzy msgid "Data descriptors always override instance dictionaries." msgstr "" -"los descriptores de datos siempre anulan los diccionarios de instancia." +"Los descriptores de datos siempre anulan los diccionarios de instancia." #: ../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 " +"Los descriptores de no-datos pueden ser reemplazados por los diccionarios de " "instancia." #: ../Doc/howto/descriptor.rst:778 msgid "Automatic name notification" -msgstr "" +msgstr "Notificación automática de nombre" #: ../Doc/howto/descriptor.rst:780 msgid "" @@ -705,16 +860,20 @@ msgid "" "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 "" +"A veces es deseable que un descriptor sepa qué nombre fue asignado a una " +"variable de clase. Cuando una nueva clase es creada, la metaclase :class:" +"`type` escanea el diccionario de la nueva clase. Si alguna de las entradas " +"es un descriptor, y si define :meth:`__set_name__`, ese método se llama con " +"dos argumentos. El argumento *owner* es la clase donde se usa el descriptor, " +"y *name* es la variable de clase a la cual el descriptor se asigna." #: ../Doc/howto/descriptor.rst:787 -#, fuzzy msgid "" "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`_." +"Los detalles de la implementación están en :c:func:`type_new()` y :c:func:" +"`set_names()` en :source:`Objects/typeobject.c`." #: ../Doc/howto/descriptor.rst:790 msgid "" @@ -722,19 +881,25 @@ msgid "" "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 "" +"Dado que la lógica de actualización está en :meth:`type.__new__`, las " +"notificaciones ocurren sólo al momento de crear la clase. Si se añade " +"descriptores a la clase más tarde, :meth:`__set_name__` tendrá que ser " +"llamado manualmente." #: ../Doc/howto/descriptor.rst:796 -#, fuzzy msgid "ORM example" -msgstr "Ejemplo de descriptor" +msgstr "Ejemplo de mapeos objeto-relacional (*ORM*)" #: ../Doc/howto/descriptor.rst:798 -#, python-format msgid "" "The following code is simplified skeleton showing how data descriptors could " "be used to implement an `object relational mapping `_." msgstr "" +"El siguiente código es un esqueleto simplificado que muestra cómo " +"descriptores de datos pueden ser usados para implementar un mapeo objeto-" +"relacional `_." #: ../Doc/howto/descriptor.rst:802 msgid "" @@ -742,6 +907,9 @@ msgid "" "Python instances only hold keys to the database's tables. Descriptors take " "care of lookups or updates:" msgstr "" +"La idea esencial es que los datos se almacenan en una base de datos externa. " +"Las instancias de Python sólo mantienen llaves a las tablas de la base de " +"datos. Los descriptores se hacen cargo de las búsquedas o actualizaciones:" #: ../Doc/howto/descriptor.rst:821 msgid "" @@ -749,20 +917,25 @@ msgid "" "org/wiki/Database_model>`_ that describe the schema for each table in a " "database:" msgstr "" +"Podemos usar la clase :class:`Field` para definir `modelos `_ que describen el esquema para " +"cada tabla en la base de datos:" #: ../Doc/howto/descriptor.rst:846 msgid "To use the models, first connect to the database::" -msgstr "" +msgstr "Para usar los modelos, primera conéctate a la base de datos::" #: ../Doc/howto/descriptor.rst:851 msgid "" "An interactive session shows how data is retrieved from the database and how " "it can be updated:" msgstr "" +"Una sesión interactiva muestra cómo los datos son obtenidos desde la base de " +"datos y cómo se pueden actualizar:" #: ../Doc/howto/descriptor.rst:896 msgid "Pure Python Equivalents" -msgstr "" +msgstr "Equivalentes en Python puro" #: ../Doc/howto/descriptor.rst:898 msgid "" @@ -771,13 +944,17 @@ msgid "" "in tools. Properties, bound methods, static methods, class methods, and \\_" "\\_slots\\_\\_ are all based on the descriptor protocol." msgstr "" +"El protocolo de descriptores es simple y ofrece posibilidades estimulantes. " +"Varios casos de uso son tan comunes que han sido pre-empaquetados en " +"herramientas incorporadas. Propiedades, métodos vinculados, métodos " +"estáticos, métodos de clase y \\_\\_slots\\_\\_ están todos basados en el " +"protocolo de descriptores." #: ../Doc/howto/descriptor.rst:905 msgid "Properties" msgstr "Propiedades" #: ../Doc/howto/descriptor.rst:907 -#, fuzzy msgid "" "Calling :func:`property` is a succinct way of building a data descriptor " "that triggers a function call upon access to an attribute. Its signature " @@ -788,21 +965,19 @@ msgstr "" "firma es::" #: ../Doc/howto/descriptor.rst:912 -#, fuzzy msgid "" "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 " +"La documentación muestra un uso típico para definir un atributo gestionado " "``x``::" #: ../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:" msgstr "" -"Para ver cómo se implementa :func:`property` en términos del protocolo " -"descriptor, aquí hay un equivalente puro de Python::" +"Para ver cómo se implementa :func:`property` en términos del protocolo de " +"descriptores, aquí hay un equivalente puro de Python::" #: ../Doc/howto/descriptor.rst:1015 msgid "" @@ -815,7 +990,6 @@ msgstr "" "requieren la intervención de un método." #: ../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 " @@ -827,18 +1001,19 @@ 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 " "programa requieren que la celda se vuelva a calcular en cada acceso; sin " -"embargo, el programador no quiere afectar al código de cliente existente que " -"accede al atributo directamente. La solución es envolver el acceso al valor " -"del atributo en un descriptor de datos mediante una propiedad::" +"embargo, la programadora no quiere afectar al código de cliente existente " +"que accede al atributo directamente. La solución es envolver el acceso al " +"valor del atributo en un descriptor de datos propiedad::" #: ../Doc/howto/descriptor.rst:1036 msgid "" "Either the built-in :func:`property` or our :func:`Property` equivalent " "would work in this example." msgstr "" +"Tanto la función incorporada :func:`property` como nuestra equivalente :func:" +"`Property` funcionarían en este ejemplo." #: ../Doc/howto/descriptor.rst:1041 -#, fuzzy msgid "Functions and methods" msgstr "Funciones y métodos" @@ -858,12 +1033,19 @@ msgid "" "prepended to the other arguments. By convention, the instance is called " "*self* but could be called *this* or any other variable name." msgstr "" +"Las funciones almacenadas en diccionarios de clase son convertidas en " +"métodos cuando son invocadas. Los métodos sólo difieren de funciones " +"regulares en que la instancia del objeto es antepuesta a los otros " +"argumentos. Por convención, la instancia se llama *self*, pero podría ser " +"llamada *this* o cualquier otro nombre de variable." #: ../Doc/howto/descriptor.rst:1051 msgid "" "Methods can be created manually with :class:`types.MethodType` which is " "roughly equivalent to:" msgstr "" +"Los métodos se pueden crear manualmente con :class:`types.MethodType`, lo " +"que es aproximadamente equivalente a:" #: ../Doc/howto/descriptor.rst:1068 msgid "" @@ -872,54 +1054,71 @@ msgid "" "that functions are non-data descriptors that return bound methods during " "dotted lookup from an instance. Here's how it works:" msgstr "" +"Para soportar la creación automática de métodos, las funciones incluyen un " +"método :meth:`__get__` para vincular métodos durante el acceso a atributos. " +"Esto significa que las funciones son descriptores de no-datos que retornan " +"métodos vinculados durante la búsqueda con puntos desde una instancia. Así " +"es como funciona:" #: ../Doc/howto/descriptor.rst:1084 -#, fuzzy msgid "" "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::" +"Ejecutar la siguiente clase en el intérprete muestra cómo funciona el " +"descriptor de función en la práctica:" #: ../Doc/howto/descriptor.rst:1093 msgid "" "The function has a :term:`qualified name` attribute to support introspection:" msgstr "" +"La función tiene un atributo de :term:`nombre calificado ` " +"para soportar introspección:" #: ../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 "" +"Accediendo a la función a través del diccionario de clase no invoca :meth:" +"`__get__`. En cambio, retorna el objeto función subyacente:" #: ../Doc/howto/descriptor.rst:1106 msgid "" "Dotted access from a class calls :meth:`__get__` which just returns the " "underlying function unchanged::" msgstr "" +"Acceso con puntos desde una clase llama a :meth:`__get__`, lo cual sólo " +"retorna la función subyacente sin cambiar::" #: ../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 "" +"El comportamiento interesante ocurre durante el accesos con puntos desde una " +"instancia. Las búsquedas con punto llaman a :meth:`__get__`, el cual retorna " +"un objeto de método vinculado:" #: ../Doc/howto/descriptor.rst:1119 msgid "" "Internally, the bound method stores the underlying function and the bound " "instance::" msgstr "" +"Internamente, el método vinculado guarda la función subyacente y la " +"instancia vinculada:" #: ../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 "" +"Si alguna vez te preguntaste de dónde viene *self* en métodos regulares, o " +"de dónde viene *cls* en métodos de clase, ¡es acá!" #: ../Doc/howto/descriptor.rst:1133 msgid "Other kinds of methods" -msgstr "" +msgstr "Otros tipos de métodos" #: ../Doc/howto/descriptor.rst:1135 msgid "" @@ -930,17 +1129,16 @@ msgstr "" "variaciones de los patrones habituales para vincular funciones en métodos." #: ../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 ``cls." "f(*args)`` becomes ``f(*args)``." msgstr "" -"En resumen, las funciones tienen un método :meth:`__get__` para que se " +"Para recapitular, las funciones tienen un método :meth:`__get__` para que se " "puedan convertir en un método cuando se accede a ellas como atributos. El " "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)``." +"*args)``. Llamar a ``cls.f(*args)`` se convierte en ``f(*args)``." #: ../Doc/howto/descriptor.rst:1143 msgid "This chart summarizes the binding and its two most useful variants:" @@ -952,12 +1150,10 @@ msgid "Transformation" msgstr "Transformación" #: ../Doc/howto/descriptor.rst:1146 -#, fuzzy msgid "Called from an object" msgstr "Llamado desde un objeto" #: ../Doc/howto/descriptor.rst:1146 -#, fuzzy msgid "Called from a class" msgstr "Llamado desde una clase" @@ -986,14 +1182,12 @@ msgid "f(type(obj), \\*args)" msgstr "f(type(obj), \\*args)" #: ../Doc/howto/descriptor.rst:1153 -#, fuzzy msgid "f(cls, \\*args)" -msgstr "f(klass, \\*args)" +msgstr "f(cls, \\*args)" #: ../Doc/howto/descriptor.rst:1158 -#, fuzzy msgid "Static methods" -msgstr "método estático" +msgstr "Métodos estáticos" #: ../Doc/howto/descriptor.rst:1160 msgid "" @@ -1039,7 +1233,6 @@ msgstr "" "> .9332`` o ``Sample.erf(1.5) --> .9332``." #: ../Doc/howto/descriptor.rst:1178 -#, fuzzy msgid "" "Since static methods return the underlying function with no changes, the " "example calls are unexciting:" @@ -1048,21 +1241,18 @@ msgstr "" "las llamadas de ejemplo carecen de interés::" #: ../Doc/howto/descriptor.rst:1195 -#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`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í::" +"Usando el protocolo de descriptores de no-datos, una versión pura de Python " +"de :func:`staticmethod` se vería así::" #: ../Doc/howto/descriptor.rst:1211 -#, fuzzy msgid "Class methods" -msgstr "método de clase" +msgstr "Métodos 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 " @@ -1073,7 +1263,6 @@ msgstr "" "Este formato es el mismo si quien llama es un objeto o una clase::" #: ../Doc/howto/descriptor.rst:1231 -#, fuzzy msgid "" "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 " @@ -1082,24 +1271,23 @@ msgid "" "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 " -"los métodos de clase es crear constructores de clase alternativos. En Python " -"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:" +"referencia de clase y no necesita contar con los datos almacenados en una " +"instancia específica. Un uso de los métodos de clase es crear constructores " +"de clase alternativos. Por ejemplo, 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: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í::" +msgstr "Ahora se puede construir un nuevo diccionario de claves únicas así:" #: ../Doc/howto/descriptor.rst:1258 -#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`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í::" +"Usando el protocolo de descriptores de no-datos, una implementación pura en " +"Python de :func:`classmethod` se vería así:" #: ../Doc/howto/descriptor.rst:1296 msgid "" @@ -1107,10 +1295,13 @@ msgid "" "makes it possible for :func:`classmethod` to support chained decorators. For " "example, a classmethod and property could be chained together:" msgstr "" +"La ruta de código para ``hasattr(obj, '__get__')`` fue añadida en Python " +"3.9, y hace posible que :func:`classmethod` soporte decoradores encadenados." +"Por ejemplo, classmethod y property se pueden encadenar:" #: ../Doc/howto/descriptor.rst:1315 msgid "Member objects and __slots__" -msgstr "" +msgstr "Objetos miembros y __slots__" #: ../Doc/howto/descriptor.rst:1317 msgid "" @@ -1118,18 +1309,26 @@ msgid "" "fixed-length array of slot values. From a user point of view that has " "several effects:" msgstr "" +"Cuando una clase define ``__slots__``, reemplaza los diccionarios de " +"instancia por un arreglo de valores de ranura de largo fijo. Desde el punto " +"de vista del usuario esto tiene varios efectos:" #: ../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 "" +"1. Provee detección inmediata de errores causados por asignación de " +"atributos mal deletreados. Sólo se permiten nombres de atributos " +"especificados en ``__slots__``:" #: ../Doc/howto/descriptor.rst:1337 msgid "" "2. Helps create immutable objects where descriptors manage access to private " "attributes stored in ``__slots__``:" msgstr "" +"2. Ayuda a crear objetos inmutables donde descriptores manejar el acceso a " +"atributos privados almacenados en ``__slots__``:" #: ../Doc/howto/descriptor.rst:1372 msgid "" @@ -1138,12 +1337,19 @@ msgid "" "design pattern `_ likely " "only matters when a large number of instances are going to be created." msgstr "" +"3. Ahorra memoria. En una compilación de 64 bits en Linux, una instancia con " +"dos atributos usa 48 bytes con ``__slots__`` y 152 bytes sin. Este `patrón " +"de diseño flyweight `_ probablemente sólo importa cuando una gran " +"cantidad de instancias será creada." #: ../Doc/howto/descriptor.rst:1377 msgid "" "4. Blocks tools like :func:`functools.cached_property` which require an " "instance dictionary to function correctly:" msgstr "" +"4. Bloquea a herramientas tales como :func:`functools.cached_property`, las " +"que requieren un diccionario de instancia para funcionar correctamente:" #: ../Doc/howto/descriptor.rst:1399 msgid "" @@ -1154,12 +1360,20 @@ msgid "" "``_slotvalues`` list. Reads and writes to that private structure are " "managed by member descriptors:" msgstr "" +"No es posible crear una versión exacta de ``__slots__`` en Python puro " +"porque requiere acceso directo a estructuras en C y control sobre asignación " +"de memoria de objetos. Sin embargo podemos construir una simulación casi " +"totalmente fiel donde la estructura real en C para las ranuras es emulada " +"con una lista privada ``_slotvalues``. Las lecturas y escrituras de esta " +"estructura privada se manejan con descriptores miembros:" #: ../Doc/howto/descriptor.rst:1442 msgid "" "The :meth:`type.__new__` method takes care of adding member objects to class " "variables:" msgstr "" +"El método :meth:`type.__new__` se hace cargo de añadir objetos miembros a " +"variables de clase:" #: ../Doc/howto/descriptor.rst:1458 msgid "" @@ -1167,27 +1381,35 @@ msgid "" "slots instead of an instance dictionary. Here is a rough simulation in pure " "Python:" msgstr "" +"El método :meth:`object.__new__` se hace cargo de crear instancias que " +"tienen ranuras en vez un diccionario de instancia. Acá hay una simulación " +"aproximada en Python puro:" #: ../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 "" +"Para usar la simulación en una clase real, sólo hereda de :class:`Object` y " +"establece :term:`metaclass` a :class:`Type`:" #: ../Doc/howto/descriptor.rst:1507 msgid "" "At this point, the metaclass has loaded member objects for *x* and *y*::" msgstr "" +"En este punto, la metaclase ha cargado los objetos miembros para *x* e *y*::" #: ../Doc/howto/descriptor.rst:1528 msgid "" "When instances are created, they have a ``slot_values`` list where the " "attributes are stored:" msgstr "" +"Cuando se crean instancias, éstas tienen una lista ``slot_values`` donde se " +"almacenan los atributos:" #: ../Doc/howto/descriptor.rst:1540 msgid "Misspelled or unassigned attributes will raise an exception:" -msgstr "" +msgstr "Atributos mal deletreados o no asignados lazarán una excepción:" #~ msgid "" #~ "Defines descriptors, summarizes the protocol, and shows how descriptors " From ce2983ae1cc6e44dbff55af4d91404bad83678ed Mon Sep 17 00:00:00 2001 From: Andres Bermeo Date: Fri, 17 Sep 2021 15:54:16 -0500 Subject: [PATCH 80/94] Translate library/socket.po (#1371) * Translate the library/socket.po --- dictionaries/library_socket.txt | 8 + library/socket.po | 647 ++++++++++++++++++++++++++++++-- 2 files changed, 618 insertions(+), 37 deletions(-) diff --git a/dictionaries/library_socket.txt b/dictionaries/library_socket.txt index bae452eef7..03486e34f5 100644 --- a/dictionaries/library_socket.txt +++ b/dictionaries/library_socket.txt @@ -16,3 +16,11 @@ meth dfn Linux co +Bluetooth +router +inet +Stuart +Sechrest +Leffler +WinSock +Winsock diff --git a/library/socket.po b/library/socket.po index 164868da2a..fa132f4cbf 100644 --- a/library/socket.po +++ b/library/socket.po @@ -11,13 +11,13 @@ msgstr "" "Project-Id-Version: Python 3.8\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" +"PO-Revision-Date: 2021-09-17 13:34-0500\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" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.0\n" "Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: es_ES\n" @@ -118,6 +118,17 @@ msgid "" "deal with both types of address. A string or bytes-like object can be used " "for either type of address when passing it as an argument." msgstr "" +"La dirección de un socket :const:`AF_UNIX` enlazado a un nodo del sistema de " +"archivos es representado como una cadena de caracteres, utilizando la " +"codificación del sistema de archivos y el controlador de errores " +"``'surrogateescape'`` (Observar :pep:`383`). Una dirección en el espacio de " +"nombre abstracto de Linux es devuelvo como un :term:`bytes-like object` con " +"un byte inicial nulo; tenga en cuenta que los sockets en este nombre de " +"espacio puede comunicarse con sockets normales del sistema de archivos, así " +"que los programas destinados a correr en Linux podrían necesitar tratar con " +"ambos tipos de direcciones. Se puede pasar un objeto similar a una cadena de " +"caracteres o bytes para cualquier tipo de dirección al pasarlo como " +"argumento." #: ../Doc/library/socket.rst:59 msgid "" @@ -152,6 +163,12 @@ msgid "" "you may want to avoid these if you intend to support IPv6 with your Python " "programs." msgstr "" +"Para direcciones IPv4, se aceptan dos formas especiales en lugar de una " +"dirección de host: ``’’`` representa :const:`INADDR_ANY`, que se utiliza " +"para enlazar a todas las interfaces, y la cadena de caracteres " +"``''`` representa :const:`INADDR_BROADCAST`. Este comportamiento " +"no es compatible con IPv6, por lo tanto, es posible que desee evitarlos sí " +"tiene la intención de admitir IPv6 con sus programas Python." #: ../Doc/library/socket.rst:80 msgid "" @@ -163,6 +180,13 @@ msgid "" "omission of *scope_id* can cause problems in manipulating scoped IPv6 " "addresses." msgstr "" +"Para la familia de direcciones :const:`AF_INET6`, se utiliza una ``(host, " +"port, flowinfo, scope_id)`` de cuatro tuplas, donde *flowinfo* y *scope_id* " +"representan los miembros ``sin6_flowinfo`` y ``sin6_scope_id`` en :const:" +"`struct sockaddr_in6` en C. Para los métodos de los módulos :mod:`socket`, " +"*flowinfo* y *scope_id* pueden ser omitidos solo por compatibilidad con " +"versiones anteriores. Sin embargo la omisión de *scope_id* puede causar " +"problemas en la manipulación de direcciones IPv6 con ámbito." #: ../Doc/library/socket.rst:87 #, python-format @@ -208,18 +232,25 @@ msgid "" "*scope* is one of :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE`, " "and :const:`TIPC_NODE_SCOPE`." msgstr "" +"*scope* es una de :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE`, y :" +"const:`TIPC_NODE_SCOPE`." #: ../Doc/library/socket.rst:104 msgid "" "If *addr_type* is :const:`TIPC_ADDR_NAME`, then *v1* is the server type, " "*v2* is the port identifier, and *v3* should be 0." msgstr "" +"Si *addr_type* es :const:`TIPC_ADDR_NAME`, entonces *v1* es el tipo de " +"servidor, *v2* es el identificador de puerto, y *v3* debe ser 0." #: ../Doc/library/socket.rst:107 msgid "" "If *addr_type* is :const:`TIPC_ADDR_NAMESEQ`, then *v1* is the server type, " "*v2* is the lower port number, and *v3* is the upper port number." msgstr "" +"Si *addr_type* es :const:`TIPC_ADDR_NAMESEQ`, entonces *v1* es el tipo de " +"servidor, *v2* es el numero de puerto inferior, y *v3* es el numero de " +"puerto superior." #: ../Doc/library/socket.rst:110 msgid "" @@ -236,6 +267,11 @@ msgid "" "``'can0'``. The network interface name ``''`` can be used to receive packets " "from all network interfaces of this family." msgstr "" +"Una tupla ``(interface, )`` es usada para la dirección de familia :const:" +"`AF_CAN`, donde *interface* es una cadena de caracteres representando a un " +"nombre de interfaz de red como ``’can0’``. La interfaz de red llamada ``''`` " +"puede ser usada para recibir paquetes de todas las interfaces de red de esta " +"familia." #: ../Doc/library/socket.rst:118 msgid "" @@ -243,6 +279,9 @@ msgid "" "tx_addr)`` where both additional parameters are unsigned long integer that " "represent a CAN identifier (standard or extended)." msgstr "" +"Protocolo :const:`CAN_ISOTP` requiere una tupla ``(interface, rx_addr, " +"tx_addr)`` donde ambos tiene parámetros adicionales son enteres largos sin " +"símbolos que representan una identificador CAN (estándar o extendido)." #: ../Doc/library/socket.rst:121 msgid "" @@ -251,6 +290,11 @@ msgid "" "name, a 32-bit unsigned integer representing the Parameter Group Number " "(PGN), and an 8-bit integer representing the address." msgstr "" +"Protocolo :const:`CAN_J1939` requiere una tupla ``(interface, name, pgn, " +"addr)`` donde los parámetros adicionales son números enteros sin signo de 64 " +"bits representando el nombre ECU, los enteros sin signo de 32-bits " +"representan el numero de grupo de parámetros(PGN), y los enteros de 8-bit " +"representan la dirección." #: ../Doc/library/socket.rst:126 msgid "" @@ -278,12 +322,16 @@ msgid "" ":const:`BTPROTO_L2CAP` accepts ``(bdaddr, psm)`` where ``bdaddr`` is the " "Bluetooth address as a string and ``psm`` is an integer." msgstr "" +":const:`BTPROTO_L2CAP` acepta ``(bdaddr, psm)`` donde ``bdaddr`` es la " +"dirección Bluetooth como una cadena de caracteres y ``psm`` es un entero." #: ../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 "" +":const:`BTPROTO_RFCOMM` acepta ``(bdaddr, channel)`` donde ``bdaddr`` es la " +"dirección Bluetooth como una cadena de caracteres y ``channel`` es un entero." #: ../Doc/library/socket.rst:143 msgid "" @@ -292,6 +340,10 @@ msgid "" "depends on your OS; NetBSD and DragonFlyBSD expect a Bluetooth address while " "everything else expects an integer.)" msgstr "" +":const:`BTPROTO_HCI` acepta ``(device_id,)`` donde ``device_id`` es un " +"numero entero o una cadena de caracteres con la dirección Bluetooth de la " +"interfaz. (Esto depende de tu OS; NetBSD y DragonFlyBSD supone una dirección " +"Bluetooth mientras todo lo demás espera un entero.)" #: ../Doc/library/socket.rst:148 msgid "NetBSD and DragonFlyBSD support added." @@ -303,6 +355,9 @@ msgid "" "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 "" +":const:`BTPROTO_SCO` acepta ``bdaddr`` donde ``bdaddr`` es un objeto :class:" +"`bytes` que contiene la dirección Bluetooth en un formato cadena. (ex. " +"``b’12:23:34:45:56:67’``) este protocolo no es admitido bajo FreeBSD." #: ../Doc/library/socket.rst:156 msgid "" @@ -319,12 +374,17 @@ msgid "" "*type* is the algorithm type as string, e.g. ``aead``, ``hash``, " "``skcipher`` or ``rng``." msgstr "" +"*type* es el tipo de algoritmos como cadenas de caracteres, e.g. ``aead``, " +"``hash``, ``skcipher`` o ``rng``." #: ../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 "" +"*name* es el nombre del algoritmo y el modo de operación como cadena de " +"caracteres, e.g. ``sha256``, ``hmac(sha256)``, ``cbc(aes)`` o " +"``drbg_nopr_ctr_aes256``." #: ../Doc/library/socket.rst:166 msgid "*feat* and *mask* are unsigned 32bit integers." @@ -336,6 +396,9 @@ msgid "" "hosts. The sockets are represented as a ``(CID, port)`` tuple where the " "context ID or CID and port are integers." msgstr "" +":const:`AF_VSOCK` permite comunicación entre maquinas virtuales y sus hosts. " +"Los sockets están representando como una tupla ``(CID, port)`` donde el " +"contexto del ID o CID y el puerto son enteros." #: ../Doc/library/socket.rst:180 msgid "" @@ -343,6 +406,9 @@ msgid "" "packets are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " "addr]]])`` where:" msgstr "" +":const:`AF_PACKET` es una interfaz de bajo nivel directa con los " +"dispositivos de red. Los paquetes están representados por la tupla " +"``(ifname, proto[, pkttype[, hatype[, addr]]])`` donde:" #: ../Doc/library/socket.rst:184 msgid "*ifname* - String specifying the device name." @@ -358,42 +424,52 @@ msgstr "" #: ../Doc/library/socket.rst:187 msgid "*pkttype* - Optional integer specifying the packet type:" -msgstr "" +msgstr "*pkttype* - Entero opcional especificando el tipo de paquete:" #: ../Doc/library/socket.rst:189 msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." -msgstr "" +msgstr "``PACKET_HOST`` (por defecto) - Paquetes diseccionado al local host." #: ../Doc/library/socket.rst:190 msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." -msgstr "" +msgstr "``PACKET_BROADCAST`` - Paquete de transmisión de la capa física." #: ../Doc/library/socket.rst:191 msgid "" "``PACKET_MULTIHOST`` - Packet sent to a physical-layer multicast address." msgstr "" +"``PACKET_MULTIHOST`` - Paquete enviado a una dirección de multidifusión de " +"capa física." #: ../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 "" +"``PACKET_OTHERHOST`` - Paquete a otro host que haya sido capturado por un " +"controlador de dispositivo en modo promiscuo." #: ../Doc/library/socket.rst:194 msgid "" "``PACKET_OUTGOING`` - Packet originating from the local host that is looped " "back to a packet socket." msgstr "" +"``PACKET_OUTGOING`` - Paquete originalmente desde el local host que se " +"enlaza de nuevo a un conector de paquetes." #: ../Doc/library/socket.rst:196 msgid "*hatype* - Optional integer specifying the ARP hardware address type." msgstr "" +"*hatype* - Entero opcional que especifica el tipo de dirección de hardware " +"ARP." #: ../Doc/library/socket.rst:197 msgid "" "*addr* - Optional bytes-like object specifying the hardware physical " "address, whose interpretation depends on the device." msgstr "" +"*addr* - Objeto opcional en forma de bytes que especifica la dirección " +"física del hardware, cuya interpretación depende del dispositivo." #: ../Doc/library/socket.rst:200 msgid "" @@ -417,6 +493,14 @@ msgid "" "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 "" +":const:`IPPROTO_UDPLITE` es una variante de UDO que te permite especificar " +"que porción del paquete es cubierta con la suma de comprobación. Esto agrega " +"dos opciones al socket que pueden cambiar. ``self." +"setsockopt(IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV, length)`` cambiara que parte " +"de los paquetes salientes están cubierta por la suma de comprobación y " +"``self.setsockopt(IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV, length)`` filtrara " +"los paquetes que permitirá cubrir una pequeña parte de tu datos. En ambos " +"casos ``length`` deben estar en ``range(8, 2**16, 8)``." #: ../Doc/library/socket.rst:216 msgid "" @@ -424,6 +508,9 @@ msgid "" "IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, " "IPPROTO_UDPLITE)`` for IPv6." msgstr "" +"Tal socket debe construirse como ``socket(AF_INET, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` para IPV4 o `socket(AF_INET6, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` para IPV6." #: ../Doc/library/socket.rst:224 msgid "" @@ -484,6 +571,7 @@ msgstr "Un alias en desuso de :exc:`OSError`." #: ../Doc/library/socket.rst:254 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." msgstr "" +"Siguiendo :pep:`3151`, es clase fue creada como un alias de :exc:`OSError`." #: ../Doc/library/socket.rst:260 msgid "" @@ -505,7 +593,7 @@ msgstr "" #: ../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 "" +msgstr "Esta clase fue creada como una subclase de :exc:`OSError`." #: ../Doc/library/socket.rst:273 msgid "" @@ -516,6 +604,13 @@ msgid "" "by the :c:func:`gai_strerror` C function. The numeric *error* value will " "match one of the :const:`EAI_\\*` constants defined in this module." msgstr "" +"Una subclase de :exc:`OSError`, esta excepción se genera por errores " +"relacionados a la dirección por :func:`getaddrinfo` y :func:`getnameinfo`. " +"El valor de acompañamiento es un par ``(error, string)`` representado un " +"error retornado por una llamada de librería. *string* representa la " +"descripción del *error*, tal como es retornado por la función C :c:func:" +"`gai_strerror`. El valor numérico *error* coincide con una de las " +"constantes :const:`EAI_\\*` definidas en este modulo." #: ../Doc/library/socket.rst:286 msgid "" @@ -525,6 +620,12 @@ msgid "" "setdefaulttimeout`). The accompanying value is a string whose value is " "currently always \"timed out\"." msgstr "" +"Una subclase de :exc:`OSError`, esta excepción se genera cuando ocurre un " +"*timeout* en un socket que ha tenido tiempos de espera habilitados a través " +"de una llamada previa a :meth:`~socket.settimeout` ( o implícitamente " +"mediante :func:`~socket.setdefaulttimeout`). El valor del acompañamiento es " +"una cadena de caracteres cuyo valor es actualmente siempre “tiempo de " +"espera”." #: ../Doc/library/socket.rst:297 msgid "Constants" @@ -535,6 +636,8 @@ msgid "" "The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:" "`SocketKind` :class:`.IntEnum` collections." msgstr "" +"Las constantes AF_* y SOCK_* ahora son colecciones: :class:`AddressFamily` " +"y :class:`SocketKind` :class:`.IntEnum`." #: ../Doc/library/socket.rst:308 msgid "" @@ -543,6 +646,10 @@ msgid "" "defined then this protocol is unsupported. More constants may be available " "depending on the system." msgstr "" +"Estas constantes representan la familias de direcciones (y protocolos), " +"usados para el primer argumento para :func:`.socket`. Si la constante :const:" +"`AF_UNIX` no esta definida entonces este protocolo no es compatible. Mas " +"constantes podrían estar disponibles dependiendo del sistema." #: ../Doc/library/socket.rst:320 msgid "" @@ -551,6 +658,10 @@ msgid "" "(Only :const:`SOCK_STREAM` and :const:`SOCK_DGRAM` appear to be generally " "useful.)" msgstr "" +"Estas constantes representan los tipos de socket, usadas por el segundo " +"argumento para :func:`.socket`. Mas constante podrían estar disponibles " +"dependiendo del sistema. ( Solamente :const:`SOCK_STREAM` y :const:" +"`SOCK_DGRAM` parecen ser útiles en general.)" #: ../Doc/library/socket.rst:328 msgid "" @@ -567,10 +678,12 @@ msgid "" "`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" +"`Secure File Descriptor Handling `_ para una explicación más completa." #: ../Doc/library/socket.rst:338 msgid ":ref:`Availability `: Linux >= 2.6.27." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 2.6.27." #: ../Doc/library/socket.rst:356 msgid "" @@ -593,22 +706,28 @@ msgid "" "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." msgstr "" +"``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " +"``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` han sido agregados." #: ../Doc/library/socket.rst:367 msgid "" "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " "supports." msgstr "" +"En Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` aparecen si el tiempo de " +"ejecución de Windows lo admite." #: ../Doc/library/socket.rst:371 msgid "``TCP_NOTSENT_LOWAT`` was added." -msgstr "" +msgstr "``TCP_NOTSENT_LOWAT`` ha sido agregada." #: ../Doc/library/socket.rst:374 msgid "" "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " "supports." msgstr "" +"En Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` aparecen si el tiempo de " +"ejecución de Windows lo admite." #: ../Doc/library/socket.rst:382 ../Doc/library/socket.rst:449 #: ../Doc/library/socket.rst:460 @@ -622,7 +741,7 @@ msgstr "" #: ../Doc/library/socket.rst:386 ../Doc/library/socket.rst:397 #: ../Doc/library/socket.rst:432 msgid ":ref:`Availability `: Linux >= 2.6.25." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 2.6.25." #: ../Doc/library/socket.rst:392 msgid "" @@ -630,11 +749,16 @@ msgid "" "protocol. Broadcast manager constants, documented in the Linux " "documentation, are also defined in the socket module." msgstr "" +"CAN_BCM, en la familia de protocolo CAN, es el protocolo del administrador " +"de difusión (BCM. Las constantes del administrador de difusión, documentada " +"en la documentación de Linux, también esta definidos en el modulo socket." #: ../Doc/library/socket.rst:399 msgid "" "The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." msgstr "" +"El indicador :data:`CAN_BCM_CAN_FD_FRAME` esta solamente disponible en Linux " +">= 4.8." #: ../Doc/library/socket.rst:405 msgid "" @@ -653,51 +777,59 @@ msgstr "Esta constante se documenta en la documentación de Linux." #: ../Doc/library/socket.rst:412 msgid ":ref:`Availability `: Linux >= 3.6." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 3.6." #: ../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 "" +"Se une a los filtros CAN aplicados de modo que solo las tramas CAN que " +"coinciden con todos los filtros CAN dados se pasan al espacio del usuario." #: ../Doc/library/socket.rst:423 msgid ":ref:`Availability `: Linux >= 4.1." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 4.1." #: ../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 "" +"CAN_ISOTP, en el protocolo de familia CAN, es el protocolo ISO-TP (ISO " +"15765-2). Constantes ISO-TP, documentadas en la documentación Linux." #: ../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 "" +"CAN_J1939, en el protocolo de familias CAN, es el protocolo SAE J1939. " +"Constantes J1939, documentadas en el documentación Linux." #: ../Doc/library/socket.rst:441 msgid ":ref:`Availability `: Linux >= 5.4." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 5.4." #: ../Doc/library/socket.rst:452 msgid ":ref:`Availability `: Linux >= 2.2." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 2.2." #: ../Doc/library/socket.rst:464 msgid ":ref:`Availability `: Linux >= 2.6.30." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 2.6.30." #: ../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 "" +"Constantes para Windows’ WSAIoctl(). Las constantes se utiliza como " +"argumentos al método :meth:`~socket.socket.ioctl` de objetos de sockets." #: ../Doc/library/socket.rst:476 ../Doc/library/socket.rst:1333 msgid "``SIO_LOOPBACK_FAST_PATH`` was added." -msgstr "" +msgstr "``SIO_LOOPBACK_FAST_PATH`` ha sido agregado." #: ../Doc/library/socket.rst:482 msgid "" @@ -710,11 +842,11 @@ msgstr "" #: ../Doc/library/socket.rst:489 msgid "Constants for Linux Kernel cryptography." -msgstr "" +msgstr "Constantes para la criptográfica del Kernel de Linux." #: ../Doc/library/socket.rst:492 ../Doc/library/socket.rst:1633 msgid ":ref:`Availability `: Linux >= 2.6.38." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 2.6.38." #: ../Doc/library/socket.rst:501 msgid "Constants for Linux host/guest communication." @@ -722,11 +854,11 @@ msgstr "Constantes para la comunicación host/invitado de Linux." #: ../Doc/library/socket.rst:504 msgid ":ref:`Availability `: Linux >= 4.8." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 4.8." #: ../Doc/library/socket.rst:510 msgid ":ref:`Availability `: BSD, OSX." -msgstr "" +msgstr ":ref:`Availability `: BSD, OSX." #: ../Doc/library/socket.rst:515 msgid "" @@ -742,6 +874,10 @@ msgid "" "meanings. For example, :const:`BDADDR_ANY` can be used to indicate any " "address when specifying the binding socket with :const:`BTPROTO_RFCOMM`." msgstr "" +"Estas son constantes de cadenas que contienen direcciones Bluetooth con " +"significados especiales. Por ejemplo :const:`BDADDR_ANY` son usados para " +"indicar cualquier dirección al especificar el socket vinculante con :const:" +"`BTPROTO_RFCOMM`." #: ../Doc/library/socket.rst:530 msgid "" @@ -749,16 +885,21 @@ msgid "" "NetBSD or DragonFlyBSD. :const:`HCI_TIME_STAMP` and :const:`HCI_DATA_DIR` " "are not available for FreeBSD, NetBSD, or DragonFlyBSD." msgstr "" +"Para usar con :const:`BTPROTO_HCI`. :const:`HCI_FILTER` no esta disponible " +"para NetBSD o DragonFlyBSD. :const:`HCI_TIME_STAMP` y :const:`HCI_DATA_DIR` " +"no esta disponible para FreeBSD, NetBSD, o DragonFlyBSD." #: ../Doc/library/socket.rst:537 msgid "" "Constant for Qualcomm's IPC router protocol, used to communicate with " "service providing remote processors." msgstr "" +"Constante para el protocolo de router IPC de Qualcomm, que se utiliza para " +"comunicarse con procesadores remotos que brindan servicios." #: ../Doc/library/socket.rst:540 msgid ":ref:`Availability `: Linux >= 4.7." -msgstr "" +msgstr ":ref:`Availability `: Linux >= 4.7." #: ../Doc/library/socket.rst:543 msgid "Functions" @@ -772,6 +913,7 @@ msgstr "Creación de sockets" msgid "" "The following functions all create :ref:`socket objects `." msgstr "" +"Todas las siguientes funciones crean :ref:`socket objects `." #: ../Doc/library/socket.rst:553 msgid "" @@ -785,6 +927,15 @@ msgid "" "of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or :const:" "`CAN_J1939`." msgstr "" +"Crear un nuevo socket usando la dirección de familia dada, tipo de socket y " +"el numero de protocolo. La dirección de familia debería ser :const:`AF_INET` " +"(por defecto), :const:`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:" +"`AF_PACKET`, o :const:`AF_RDS`. El tipo de socket debería ser :const:" +"`SOCK_STREAM` (por defecto), :const:`SOCK_DGRAM`, :const:`SOCK_RAW` o quizás " +"una de las otras constantes ``SOCK_``. El numero de protocolo es usualmente " +"cero u omitirse o en el caso donde la familia de dirección es :const:" +"`AF_CAN` el protocolo debería ser uno de :const:`CAN_RAW`, :const:" +"`CAN_BCM`, :const:`CAN_ISOTP` o :const:`CAN_J1939`." #: ../Doc/library/socket.rst:563 msgid "" @@ -796,17 +947,27 @@ msgid "" "`socket.fromfd`, *fileno* will return the same socket and not a duplicate. " "This may help close a detached socket using :meth:`socket.close()`." msgstr "" +"Si *fileno* esta especificado, el valor de *family*, *type*, y *proto* son " +"detectados automáticamente por el descriptor especificado de archivo. La " +"detección automática se puede anular llamado la función con los argumentos " +"explícitos *family*, *type*, o *proto*. Esto solamente afecta como Python " +"representa e.g. el valor de retorno de :meth:`socket.getpeername` pero no " +"del recurso actual del OS. Diferente a :func:`socket.fromfd`, *fileno* " +"retornara el mismo socket y no un duplicado. Esto puede ayudar a cerrar un " +"socket desconectado usando :meth:`socket.close()`." #: ../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 "" +msgstr "El socket recién creado es :ref:`non-inheritable `." #: ../Doc/library/socket.rst:574 msgid "" "Raises an :ref:`auditing event ` ``socket.__new__`` with arguments " "``self``, ``family``, ``type``, ``protocol``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.__new__`` con los " +"argumentos ``self``, ``family``, ``type``, ``protocol``." #: ../Doc/library/socket.rst:576 msgid "The AF_CAN family was added. The AF_RDS family was added." @@ -814,7 +975,7 @@ msgstr "Se añadió la familia AF_CAN. Se añadió la familia AF_RDS." #: ../Doc/library/socket.rst:580 msgid "The CAN_BCM protocol was added." -msgstr "" +msgstr "El protocolo CAN_BCM ha sido agregado." #: ../Doc/library/socket.rst:583 ../Doc/library/socket.rst:708 msgid "The returned socket is now non-inheritable." @@ -822,7 +983,7 @@ msgstr "Los sockets devueltos ahora no son heredables." #: ../Doc/library/socket.rst:586 msgid "The CAN_ISOTP protocol was added." -msgstr "" +msgstr "El protocolo CAN_ISOTP ha sido agregado." #: ../Doc/library/socket.rst:589 msgid "" @@ -830,16 +991,22 @@ msgid "" "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 "" +"Cuando las banderas bit :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` esta " +"aplicados a *type* se borran, y :attr:`socket.type` no reflejan eso. Todavía " +"se pasan a la llamada `socket ()` del sistema subyacente. Por lo tanto," #: ../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 "" +"seguirá creando un socket sin bloqueo en los sistemas operativos que admiten " +"``SOCK_NONBLOCK``, pero ``sock.type`` se establecerá en ``socket." +"SOCK_STREAM``." #: ../Doc/library/socket.rst:605 msgid "The CAN_J1939 protocol was added." -msgstr "" +msgstr "El protocolo CAN_J1939 ha sido agregado." #: ../Doc/library/socket.rst:610 msgid "" @@ -859,6 +1026,8 @@ msgstr "" #: ../Doc/library/socket.rst:615 msgid "The newly created sockets are :ref:`non-inheritable `." msgstr "" +"Los sockets creados recientemente son :ref:`non-inheritable " +"`." #: ../Doc/library/socket.rst:617 msgid "" @@ -886,6 +1055,13 @@ msgid "" "succeeds. This makes it easy to write clients that are compatible to both " "IPv4 and IPv6." msgstr "" +"Conecta con un servicio TCP escuchando una *address* Internet (una tupla de " +"2 ``(host, port)``), y retorna el objeto socket. Este es una función de " +"nivel superior que :meth:`socket.connect`: si *host* es un nombre de host no " +"numérico, intentara resolverlo para ambos :data:`AF_INET` y :data:" +"`AF_INET6`, y luego intenta conectarte a todas las direcciones posibles a la " +"vez para lograr una conexión exitosa. Esto facilita la escritura de clientes " +"que sean compatibles con IPv4 e IPv6." #: ../Doc/library/socket.rst:638 msgid "" @@ -893,6 +1069,10 @@ msgid "" "instance before attempting to connect. If no *timeout* is supplied, the " "global default timeout setting returned by :func:`getdefaulttimeout` is used." msgstr "" +"Pasando el parámetro opcional *timeout* establece el tiempo de espera dentro " +"de la instancia del socket. Si no es proporcionado *timeout*, la " +"configuración global de tiempo de espera predeterminada retornada por :func:" +"`getdefaulttimeout` es usada." #: ../Doc/library/socket.rst:643 msgid "" @@ -900,10 +1080,14 @@ msgid "" "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 "" +"Si se suministra, *source_address* debe ser una ''(host, puerto)'' de 2 " +"tuplas para que el socket se enlace como su dirección de origen antes de " +"conectarse. Si el host o el puerto son '' o 0 respectivamente, se utilizará " +"el comportamiento predeterminado del sistema operativo." #: ../Doc/library/socket.rst:647 msgid "*source_address* was added." -msgstr "" +msgstr "*source_address* ha sido agregado." #: ../Doc/library/socket.rst:652 msgid "" @@ -920,6 +1104,10 @@ msgid "" "reasonable value is chosen. *reuse_port* dictates whether to set the :data:" "`SO_REUSEPORT` socket option." msgstr "" +"*family* debe ser :data:`AF_INET` o :data:`AF_INET6`. *backlog* es el tamaño " +"de la cola pasado a :meth:`socket.listen`; cuando ``0`` se elige un valor " +"predeterminado razonable. *reuse_port* dicta si se debe establecer la opción " +"de socket :data:`SO_REUSEPORT`." #: ../Doc/library/socket.rst:660 msgid "" @@ -950,6 +1138,9 @@ msgid "" "immediately reuse previous sockets which were bound on the same *address* " "and remained in TIME_WAIT state." msgstr "" +"En plataformas POSIX la opción del socket :data:`SO_REUSEADDR` está " +"configurado para inmediatamente rehusar los sockets previos que estaban " +"vinculados la misma *address* y permanecer en estado TIME_WAIT." #: ../Doc/library/socket.rst:690 msgid "" @@ -971,6 +1162,16 @@ msgid "" "input or output (such as a server started by the Unix inet daemon). The " "socket is assumed to be in blocking mode." msgstr "" +"Duplica el descriptor de archivo *fd* (un entero retornado por el método :" +"meth:`fileno` de un objeto archivo) y crea un objeto socket a partir del " +"resultado. La familia de direcciones, el tipo de socket y el número de " +"protocolo son como para la función :func:`.socket` anterior. El descriptor " +"de archivo debe hacer referencia a un socket, pero esto no se comprueba --- " +"las operaciones posteriores en el objeto pueden fallar si el descriptor de " +"archivo no es válido. Esta función rara vez se necesita, pero se puede usar " +"para obtener o establecer opciones de socket en un socket pasado a un " +"programa como entrada o salida estándar (como un servidor iniciado por el " +"demonio inet de Unix). Se supone que el socket está en modo de bloqueo." #: ../Doc/library/socket.rst:714 msgid "" @@ -982,13 +1183,15 @@ msgstr "" #: ../Doc/library/socket.rst:718 ../Doc/library/socket.rst:1759 msgid ":ref:`Availability `: Windows." -msgstr "" +msgstr ":ref:`Availability `: Windows." #: ../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 "" +"Este es un tipo de objeto Python que representa el tipo de objeto del " +"socket. Es lo mismo que decir ``type(socket(…))``." #: ../Doc/library/socket.rst:729 msgid "Other functions" @@ -997,6 +1200,7 @@ msgstr "Otras funciones" #: ../Doc/library/socket.rst:731 msgid "The :mod:`socket` module also offers various network-related services:" msgstr "" +"El modulo :mod:`socket` también ofrece varios servicios de red relacionados:" #: ../Doc/library/socket.rst:736 msgid "" @@ -1017,6 +1221,13 @@ msgid "" "numeric port number or ``None``. By passing ``None`` as the value of *host* " "and *port*, you can pass ``NULL`` to the underlying C API." msgstr "" +"Traduce el argumento *host*/*port* dentro de una secuencia de 5 tuplas que " +"contiene todo los argumentos necesarios para crear un socket conectado a ese " +"servicio. *host* es un nombre de dominio, una cadena en representación de " +"una dirección IPV4/IPV6 o ``None``. *port* es una nombre de una cadena de " +"servicio como ``'http'``, un numero de puerto numérico o ``None``. Pasando " +"``None`` como el valor del *host* y *port*, pasando ``NULL`` a la API C " +"subyacente." #: ../Doc/library/socket.rst:751 msgid "" @@ -1028,6 +1239,13 @@ msgid "" "will disable domain name resolution and will raise an error if *host* is a " "domain name." msgstr "" +"Los argumentos *family*, *type* y *proto* se puede especificar opcionalmente " +"para reducir la lista de direcciones retornadas. Pasando cero como un valor " +"para cada uno de estos argumentos se selecciona la gama completa de " +"resultados. El argumento *flags* puede ser uno o varios de los argumentos " +"``AI_*``, y pueden influenciar como los resultados son computados y " +"devueltos. Por ejemplo, :const:`AI_NUMERICHOST` desactivará la resolución de " +"nombres de dominio y generará un error sí * host * es un nombre de dominio." #: ../Doc/library/socket.rst:759 msgid "The function returns a list of 5-tuples with the following structure:" @@ -1035,7 +1253,7 @@ msgstr "La función devuelve una lista de 5 tuplas con la siguiente estructura:" #: ../Doc/library/socket.rst:761 msgid "``(family, type, proto, canonname, sockaddr)``" -msgstr "" +msgstr "``(family, type, proto, canonname, sockaddr)``" #: ../Doc/library/socket.rst:763 msgid "" @@ -1048,12 +1266,23 @@ msgid "" "port, flowinfo, scope_id)`` 4-tuple for :const:`AF_INET6`), and is meant to " "be passed to the :meth:`socket.connect` method." msgstr "" +"En estas tuplas, *family*, *type*, *proto* son todos enteros y están " +"destinados a ser pasados por la función :func:`.socket`. *canonname* debe " +"ser una cadena que representa el nombre canónico del *host* si :const:" +"`AI_CANONNAME` es parte de el argumento *flags*; de lo contrario *canonname* " +"estará vacía. *sockaddr* es un tupla describiendo una dirección de socket, " +"cuyo formato depende del devuelto *family* (una ``(address, port)`` tupla de " +"2 para :const:`AF_INET`, una ``(address, port, flowinfo, scope_id)`` una " +"tupla de 4 para una :const:`AF_INET6`), y está destinado a ser pasado a el " +"método :meth:`socket.connect`." #: ../Doc/library/socket.rst:773 msgid "" "Raises an :ref:`auditing event ` ``socket.getaddrinfo`` with " "arguments ``host``, ``port``, ``family``, ``type``, ``protocol``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.getaddrinfo`` con los " +"argumentos ``host``, ``port``, ``family``, ``type``, ``protocol``." #: ../Doc/library/socket.rst:775 msgid "" @@ -1076,6 +1305,8 @@ msgid "" "for IPv6 multicast addresses, string representing an address will not " "contain ``%scope_id`` part." msgstr "" +"para direcciones de multidifusión IPv6, la cadena que representa una " +"dirección no contendrá partes ``%scope_id``." #: ../Doc/library/socket.rst:794 msgid "" @@ -1086,6 +1317,13 @@ msgid "" "is selected. In case no fully qualified domain name is available, the " "hostname as returned by :func:`gethostname` is returned." msgstr "" +"Devuelve un nombre de dominio completo para *name*. Si *name* es omitido o " +"vacío, este se interpretará como el local host. Para buscar el nombre de " +"dominio completo el nombre de host devuelto por :func:`gethostbyaddr` esta " +"marcado, siguiendo por el alias para el host, si esta disponible. Se " +"selecciona el primer nombre que incluye un punto. En caso de que el nombre " +"de dominio completo no este disponible, se devuelve el nombre de host como " +"lo devuelve :func:`gethostname`." #: ../Doc/library/socket.rst:804 msgid "" @@ -1096,6 +1334,12 @@ msgid "" "resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " "stack support." msgstr "" +"Traduce un nombre de host a un formato de dirección IPV4. La dirección IPV4 " +"es retornada como una cadena, como ``’100.50.200.5’``. Si el nombre de host " +"es una dirección IPV4 en sí, se devuelve sin cambios. Observa :func:" +"`gethostbyname_ex` para una interfaz mas completa. :func:`gethostbyname` no " +"soporta la resolución de nombres IPV6, y :func:`getaddrinfo` debe utilizarse " +"en su lugar para compatibilidad con doble pila IPv4/v6." #: ../Doc/library/socket.rst:810 ../Doc/library/socket.rst:824 msgid "" @@ -1116,6 +1360,15 @@ msgid "" "IPv6 name resolution, and :func:`getaddrinfo` should be used instead for " "IPv4/v6 dual stack support." msgstr "" +"Traduce un nombre de host al formato de dirección IPv4, interfaz extendida. " +"Retorna un triple ``(hostname, aliaslist, ipaddrlist)`` donde *hostname* es " +"el nombre de host principal que responde al *ip_address* dado, *aliaslist* " +"es una lista (posiblemente vacía) de nombres de host alternativos para la " +"misma dirección, y *ipaddrlist* es una lista de direcciones IPv4 para la " +"misma interfaz en el mismo host (a menudo, pero no siempre, una sola " +"dirección). :func:`gethostbyname_ex` no admite la resolución de nombres " +"IPv6, y :func:`getaddrinfo` debe usarse en su lugar para la compatibilidad " +"con la pila dual IPv4/v6." #: ../Doc/library/socket.rst:829 msgid "" @@ -1130,12 +1383,16 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.gethostname`` with no " "arguments." msgstr "" +"Genera un :ref:`auditing event ` ``socket.gethostname`` sin " +"argumentos." #: ../Doc/library/socket.rst:834 msgid "" "Note: :func:`gethostname` doesn't always return the fully qualified domain " "name; use :func:`getfqdn` for that." msgstr "" +"Nota: :func:`gethostname` no siempre retorna el nombre de dominio completo, " +"usa :func:`getfqdn` para eso." #: ../Doc/library/socket.rst:840 msgid "" @@ -1147,12 +1404,21 @@ msgid "" "qualified domain name, use the function :func:`getfqdn`. :func:" "`gethostbyaddr` supports both IPv4 and IPv6." msgstr "" +"Retorna un triple ``(hostname, aliaslist, ipaddrlist)`` donde *hostname* es " +"el nombre del host primario respondiendo de la misma *ip_address*, " +"*aliaslist* es una (posiblemente vacía) lista de nombres de hosts " +"alternativa, y *ipaddrlist* es una lista de direcciones IPV4/IPV6 para la " +"misma interfaz y en el mismo host ( lo más probable es que contenga solo una " +"dirección ). Para encontrar el nombre de dominio completo, use la función :" +"func:`getfqdn`. :func:`gethostbyaddr` admite tanto IPv4 como IPv6." #: ../Doc/library/socket.rst:848 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " "argument ``ip_address``." msgstr "" +"Generar un :ref:`auditing event ` ``socket.gethostbyaddr`` con los " +"argumentos ``ip_address``." #: ../Doc/library/socket.rst:853 msgid "" @@ -1161,6 +1427,11 @@ msgid "" "qualified domain name or numeric address representation in *host*. " "Similarly, *port* can contain a string port name or a numeric port number." msgstr "" +"Traduce una dirección de socket *sockaddr* dentro de una tupla de 2 " +"``(host, port)``. Dependiendo de la configuraciones de *flags*, el resultado " +"puede contener un nombre de dominio completo o una representación numérica " +"de la dirección en *host*. Similar, *port* puede contener un nombre de " +"puerto de cadena o un numero de puerto numérico." #: ../Doc/library/socket.rst:858 #, python-format @@ -1176,12 +1447,16 @@ msgstr "" msgid "" "For more information about *flags* you can consult :manpage:`getnameinfo(3)`." msgstr "" +"Para mas información sobre *flags* pueden consultar :manpage:" +"`getnameinfo(3)`." #: ../Doc/library/socket.rst:863 msgid "" "Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " "argument ``sockaddr``." msgstr "" +"Plantea un :ref:`auditing event ` ``socket.getnameinfo`` con el " +"argumento ``sockaddr``." #: ../Doc/library/socket.rst:867 msgid "" @@ -1204,12 +1479,18 @@ msgid "" "that service. The optional protocol name, if given, should be ``'tcp'`` or " "``'udp'``, otherwise any protocol will match." msgstr "" +"Traduce un nombre de servicio de Internet y el nombre del protocolo para un " +"numero de puerto para ese servicio. El nombre del protocolo opcional, si se " +"da, podría ser `’tcp’`` o ``’udp’``, de lo contrario, cualquier protocolo " +"coincidirá." #: ../Doc/library/socket.rst:880 msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyname`` with " "arguments ``servicename``, ``protocolname``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.getservbyname`` con los " +"argumentos ``servicename``, ``protocolname``." #: ../Doc/library/socket.rst:885 msgid "" @@ -1227,6 +1508,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyport`` with " "arguments ``port``, ``protocolname``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.getservbyport`` con los " +"argumentos ``port``, ``protocolname``." #: ../Doc/library/socket.rst:894 msgid "" @@ -1257,6 +1540,10 @@ msgid "" "silent truncation feature is deprecated, and will raise an exception in " "future versions of Python." msgstr "" +"En el caso que *x* no encaje en un entero sin signo de 16 bits, pero encaja " +"en un entero positivo C, esto es silenciosamente truncado en un entero sin " +"signo de 16 bits. Esta característica de truncamiento silenciosa esta " +"obsoleta, y generará una excepción en versiones futuras de Python." #: ../Doc/library/socket.rst:914 msgid "" @@ -1289,12 +1576,21 @@ msgid "" "in_addr`, which is the C type for the 32-bit packed binary this function " "returns." msgstr "" +"Convierte una dirección IPV4 desde el formato de cadena de cuatro puntos " +"(por ejemplo, ‘123.45.67.89’) a formato binario empaquetado de 32 bits, como " +"un objeto de bytes de cuatro caracteres de longitud. Esto es usado cuando al " +"convertir un programa que usa la librería estándar C y necesita objetos de " +"tipo :c:type:`struct in_addr`, que es el tipo C para el binario empaquetado " +"de 32 bits que devuelve esta función." #: ../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 "" +"Ademas :func:`inet_aton`acepta cadena de caracteres con menos de tres " +"puntos, observar la pagina del manual Unix :manpage:`inet(3)` para mas " +"detalles." #: ../Doc/library/socket.rst:943 msgid "" @@ -1302,12 +1598,17 @@ msgid "" "`OSError` will be raised. Note that exactly what is valid depends on the " "underlying C implementation of :c:func:`inet_aton`." msgstr "" +"Si la cadena de dirección IPv4 es pasada a esta función es invalido, :exc:" +"`OSError` se generará. Tenga en cuenta que exactamente lo que es valido " +"depende de la implementación C de :c:func:`inet_aton`." #: ../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 "" +":func:`inet_aton` no admite IPV6, y :func:`inet_pton` deberían utilizarse en " +"su lugar para compatibilidad con doble pilas IPV4/v6." #: ../Doc/library/socket.rst:953 msgid "" @@ -1318,6 +1619,12 @@ msgid "" "which is the C type for the 32-bit packed binary data this function takes as " "an argument." msgstr "" +"Convierte una dirección IPV4 empaquetada de 32 bits (un :term:`bytes-like " +"object` cuatro bytes de longitud) a su representación estándar de cadena de " +"cuatro puntos ( por ejemplo ‘123.45.67.89’). Esto es útil cuando convertimos " +"con un programa que usa la librería estándar C y necesita objetos de tipo :c:" +"type:`struct in_addr`, que es el tipo C para los datos binarios empaquetados " +"de 32 bits que esta función toma como argumento." #: ../Doc/library/socket.rst:960 msgid "" @@ -1326,6 +1633,10 @@ msgid "" "IPv6, and :func:`inet_ntop` should be used instead for IPv4/v6 dual stack " "support." msgstr "" +"Si la secuencia de byte pasada a esta función no es exactamente 4 bytes de " +"longitud :exc:`OSError` podría generarse :func:`inet_ntoa` no soporta IPV6, " +"y :func:`inet_ntop` debe utilizarse en su lugar para compatibilidad con " +"doble pila IPv4 / v6." #: ../Doc/library/socket.rst:971 msgid "" @@ -1334,6 +1645,10 @@ msgid "" "protocol calls for an object of type :c:type:`struct in_addr` (similar to :" "func:`inet_aton`) or :c:type:`struct in6_addr`." msgstr "" +"Convierte una dirección IP desde su formato de cadena especifico de la " +"familia a un empaquetado, formato binario :func:`inet_pton` es útil cuando " +"una librería o protocolo de red llama desde un objeto de tipo :c:type:" +"`struct in_addr` (similar a :func:`inet_aton`) o :c:type:`struct in6_addr`." #: ../Doc/library/socket.rst:976 msgid "" @@ -1343,11 +1658,18 @@ msgid "" "the value of *address_family* and the underlying implementation of :c:func:" "`inet_pton`." msgstr "" +"Los Valores soportados para *address_family* son actualmente :const:" +"`AF_INET` y :const:`AF_INET6`. Si la cadena de dirección IP *ip_string* no " +"es válida, :exc:`OSError` se genera. Tenga en cuenta que exactamente lo que " +"es válido depende tanto del valor de *address_family* como de la " +"implementación subyacente de :c:func:`inet_pton`." #: ../Doc/library/socket.rst:983 ../Doc/library/socket.rst:1003 msgid "" ":ref:`Availability `: Unix (maybe not all platforms), Windows." msgstr "" +":ref:`Disponibilidad `: Unix(Tal vez no todas las " +"plataformas), Windows." #: ../Doc/library/socket.rst:984 ../Doc/library/socket.rst:1004 msgid "Windows support added" @@ -1361,6 +1683,12 @@ msgid "" "library or network protocol returns an object of type :c:type:`struct " "in_addr` (similar to :func:`inet_ntoa`) or :c:type:`struct in6_addr`." msgstr "" +"Convierte una dirección IP empaquetada ( un :term:`bytes-like object` de " +"algún numero de bytes) a su representación de cadena estándar, específica de " +"la familia (por ejemplo ``’7.10.0.5’`` o ``’5aef:2b::8’``). :func:" +"`inet_ntop` es usado cuando una librería o protocolo de red retorna un " +"objeto de tipo :c:type:`struct in_addr` (similar para :func:`inet_ntoa`) o :" +"c:type:`struct in6_addr`." #: ../Doc/library/socket.rst:997 msgid "" @@ -1369,6 +1697,11 @@ msgid "" "for the specified address family, :exc:`ValueError` will be raised. :exc:" "`OSError` is raised for errors from the call to :func:`inet_ntop`." msgstr "" +"Los valores soportados para *address_family* actualmente son :const:" +"`AF_INET` y :const:`AF_INET6`. Si los objetos de bytes *packed_ip* no tienen " +"la longitud correcta para la familia de direcciones especificas, :exc:" +"`ValueError` podría generarse. :exc:`OSError` se genera para errores desde " +"la llamada a :func:`inet_ntop`." #: ../Doc/library/socket.rst:1019 msgid "" @@ -1380,6 +1713,13 @@ msgid "" "the last in the buffer. Raises :exc:`OverflowError` if *length* is outside " "the permissible range of values." msgstr "" +"Retorna la longitud total, sin relleno de arrastre, de un elemento de datos " +"auxiliares con datos asociados del *length*. Este valor se puede utilizar a " +"menudo como tamaño de búfer para :meth:`~socket.recvmsg` para recibir un " +"solo valor de datos auxiliares, pero :rfc:`3542` requiere aplicaciones " +"portables para usar :func:`CMSG_SPACE` y así incluir espacio para el " +"relleno, incluso cuando el elemento será el último en el búfer. Genera :exc:" +"`OverflowError` si *length* está fuera del rango de valores permitido." #: ../Doc/library/socket.rst:1029 ../Doc/library/socket.rst:1050 #: ../Doc/library/socket.rst:1469 ../Doc/library/socket.rst:1511 @@ -1387,6 +1727,8 @@ msgstr "" msgid "" ":ref:`Availability `: most Unix platforms, possibly others." msgstr "" +":ref:`Availability `: la mayoría de plataformas Unix, " +"posiblemente otras." #: ../Doc/library/socket.rst:1035 msgid "" @@ -1397,6 +1739,12 @@ msgid "" "Raises :exc:`OverflowError` if *length* is outside the permissible range of " "values." msgstr "" +"Retorna el tamaño del buffer necesario por :meth:`~socket.recvmsg` para " +"recibir un elemento de datos auxiliares con datos asociados del *length* " +"dado, junto con cualquier relleno final. El espacio de buffer necesario para " +"recibir múltiples elementos es la suma de los valores de :func:`CMSG_SPACE` " +"para los datos asociados con la longitudes. Genera :exc:`OverflowError` si " +"*length* está fuera del rango de valores permitido." #: ../Doc/library/socket.rst:1043 msgid "" @@ -1417,6 +1765,10 @@ msgid "" "value of ``None`` indicates that new socket objects have no timeout. When " "the socket module is first imported, the default is ``None``." msgstr "" +"Retorna el tiempo de espera por defecto en segundos (flotante) para los " +"objetos de un nuevo socket. Un valor de ``None`` indicada que los objetos " +"del nuevo socket no tiene un tiempo de espera. Cuando el modulo socket es " +"importado primero, por defecto es ``None``." #: ../Doc/library/socket.rst:1063 msgid "" @@ -1424,22 +1776,30 @@ msgid "" "socket module is first imported, the default is ``None``. See :meth:" "`~socket.settimeout` for possible values and their respective meanings." msgstr "" +"Selecciona el tiempo de espera por defecto en segundos (flotante ) para los " +"objetos nuevos del socket. Cuando el modulo socket es importado primero, el " +"valor por defecto es ``None``. Observar :meth:`~socket.settimeout` para " +"posible valores y sus respectivos significados." #: ../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 "" +"Establece el nombre de host de la maquina en *name*. Esto genera un :exc:" +"`OSError` si no tiene suficientes derechos." #: ../Doc/library/socket.rst:1074 msgid "" "Raises an :ref:`auditing event ` ``socket.sethostname`` with " "argument ``name``." msgstr "" +"Plantea un :ref:`auditing event ` ``socket.sethostname`` con el " +"argumento ``name``." #: ../Doc/library/socket.rst:1077 msgid ":ref:`Availability `: Unix." -msgstr "" +msgstr ":ref:`Availability `: Unix." #: ../Doc/library/socket.rst:1083 msgid "" @@ -1453,7 +1813,7 @@ msgstr "" #: ../Doc/library/socket.rst:1088 ../Doc/library/socket.rst:1115 #: ../Doc/library/socket.rst:1132 msgid ":ref:`Availability `: Unix, Windows." -msgstr "" +msgstr ":ref:`Availability `: Unix, Windows." #: ../Doc/library/socket.rst:1091 ../Doc/library/socket.rst:1118 #: ../Doc/library/socket.rst:1135 @@ -1465,28 +1825,32 @@ msgid "" "On Windows network interfaces have different names in different contexts " "(all names are examples):" msgstr "" +"En Windows las interfaces de redes tienen diferentes nombres en diferentes " +"contextos (todos los nombres son ejemplos):" #: ../Doc/library/socket.rst:1099 msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" -msgstr "" +msgstr "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" #: ../Doc/library/socket.rst:1100 msgid "name: ``ethernet_32770``" -msgstr "" +msgstr "nombre: ``ethernet_32770``" #: ../Doc/library/socket.rst:1101 msgid "friendly name: ``vEthernet (nat)``" -msgstr "" +msgstr "nombre amigable: ``vEthernet (nat)``" #: ../Doc/library/socket.rst:1102 msgid "description: ``Hyper-V Virtual Ethernet Adapter``" -msgstr "" +msgstr "descripción: ``Hyper-V Virtual Ethernet Adapter``" #: ../Doc/library/socket.rst:1104 msgid "" "This function returns names of the second form from the list, " "``ethernet_32770`` in this example case." msgstr "" +"Esta función retorna los nombres del segundo formulario de la lista, en este " +"caso de ejemplo ``ethernet_32770``." #: ../Doc/library/socket.rst:1110 msgid "" @@ -1500,6 +1864,7 @@ msgstr "" #: ../Doc/library/socket.rst:1122 ../Doc/library/socket.rst:1139 msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." msgstr "" +"“\\”Interface name\\” es un nombre como se documenta en :func:`if_nameindex`." #: ../Doc/library/socket.rst:1127 msgid "" @@ -1518,12 +1883,17 @@ msgid "" "Socket objects have the following methods. Except for :meth:`~socket." "makefile`, these correspond to Unix system calls applicable to sockets." msgstr "" +"Los objetos socket tienen los siguientes métodos. Excepto para :meth:" +"`~socket.makefile`, esto corresponde al sistema de llamadas Unix para " +"sockets." #: ../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 "" +"El soporte para el protocolo :term:`context manager` ha sido agregado. Salir " +"del gestor de contexto es equivalente para el llamado :meth:`~socket.close`." #: ../Doc/library/socket.rst:1158 msgid "" @@ -1533,6 +1903,11 @@ msgid "" "and *address* is the address bound to the socket on the other end of the " "connection." msgstr "" +"Acepta una conexión. El socket debe estar vinculado a una dirección y estar " +"escuchando las conexiones. El valor de retorno es el par ``(conn, address)`` " +"cuando *conn* es un *new* objeto socket usado para enviar y recibir " +"información en la conexión, y *address* es la dirección vinculada al socket " +"en el extremo de la conexión." #: ../Doc/library/socket.rst:1165 ../Doc/library/socket.rst:1252 msgid "The socket is now non-inheritable." @@ -1557,12 +1932,16 @@ 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 "" +"Enlaza el socket a *address*. El socket no debe estar ya unido. (El formato " +"de *address* depende de la familia de direcciones, consulte más arriba)." #: ../Doc/library/socket.rst:1179 msgid "" "Raises an :ref:`auditing event ` ``socket.bind`` with arguments " "``self``, ``address``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.getaddrinfo`` con los " +"argumentos ``host``, ``port``, ``family``, ``type``, ``protocol``." #: ../Doc/library/socket.rst:1183 msgid "" @@ -1572,6 +1951,11 @@ msgid "" "fail. The remote end will receive no more data (after queued data is " "flushed)." msgstr "" +"Marca el socket cerrado. El recurso del sistema subyacente (ej. un " +"descriptor de archivo) también se cierra cuando todos los objetos de archivo " +"de :meth:`makefile()` están cerrados. Una vez que eso suceda, todas las " +"operaciones futuras en el objeto socket fallarán. El extremo remoto no " +"recibirá más datos (después de que se vacíen los datos en cola)." #: ../Doc/library/socket.rst:1189 msgid "" @@ -1631,6 +2015,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.connect`` with arguments " "``self``, ``address``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.connect`` con los " +"argumentos ``self``, ``address``." #: ../Doc/library/socket.rst:1219 msgid "" @@ -1654,6 +2040,12 @@ msgid "" "of the :c:data:`errno` variable. This is useful to support, for example, " "asynchronous connects." msgstr "" +"Similar a `connect(address)``, pero retorna un indicador de error en lugar " +"de generar una excepción para los errores retornados por la llamada de nivel " +"C :c:func:`connect` (otros problemas, como “host no encontrado”, aún pueden " +"generar excepciones). El indicador de error es ``0`` si la operación tuvo " +"éxito, caso contrario es el valor de la variable :c:data:`errno`. Esto es " +"útil para admitir, por ejemplo, conexiones asincrónicas." #: ../Doc/library/socket.rst:1239 msgid "" @@ -1674,6 +2066,8 @@ msgid "" "Return the socket's file descriptor (a small integer), or -1 on failure. " "This is useful with :func:`select.select`." msgstr "" +"Retorna un archivo descriptor del socket (un entero pequeño), o -1 si falla. " +"Esto es útil con :func:`select.select`." #: ../Doc/library/socket.rst:1261 msgid "" @@ -1681,6 +2075,9 @@ msgid "" "a file descriptor can be used (such as :func:`os.fdopen`). Unix does not " "have this limitation." msgstr "" +"En Windows el pequeño entero retornado por este método no puede ser usado " +"donde un descriptor de un archivo pueda ser usado (como una :func:`os." +"fdopen`). Unix no tiene esta limitación." #: ../Doc/library/socket.rst:1267 msgid "" @@ -1688,6 +2085,9 @@ msgid "" "descriptor or socket's handle: ``True`` if the socket can be inherited in " "child processes, ``False`` if it cannot." msgstr "" +"Obtiene el :ref:`inheritable flag ` del descriptor del " +"archivo del socket o el controlador del socket: ``True`` si el socket puede " +"ser heredada en procesos secundarios, ``False`` si falla." #: ../Doc/library/socket.rst:1276 msgid "" @@ -1696,6 +2096,10 @@ msgid "" "format of the address returned depends on the address family --- see " "above.) On some systems this function is not supported." msgstr "" +"Retorna la dirección remota a la que esta conectado el socket. Esto es útil " +"para averiguar el número de puerto de un socket IPv4/v6 remoto, por ejemplo. " +"(El formato de la dirección devuelta depende de la familia de direcciones, " +"consulte más arriba). En algunos sistemas, esta función no es compatible." #: ../Doc/library/socket.rst:1284 msgid "" @@ -1703,6 +2107,10 @@ msgid "" "of an IPv4/v6 socket, for instance. (The format of the address returned " "depends on the address family --- see above.)" msgstr "" +"Retorna la dirección del propio socket. Esto es útil para descubrir el " +"numero de puerto de un socket IPv4/IPv6, por ejemplo. (El formato de la " +"dirección devuelta depende de la familia de direcciones, consulte más " +"arriba)." #: ../Doc/library/socket.rst:1291 msgid "" @@ -1734,7 +2142,7 @@ msgstr "" #: ../Doc/library/socket.rst:1306 msgid "This is equivalent to checking ``socket.gettimeout() == 0``." -msgstr "" +msgstr "Esto es equivalente a comprobar ``socket.gettimeout() == 0``." #: ../Doc/library/socket.rst:1313 msgid "" @@ -1742,6 +2150,10 @@ msgid "" "``None`` if no timeout is set. This reflects the last call to :meth:" "`setblocking` or :meth:`settimeout`." msgstr "" +"Retorna el tiempo de espera en segundos (flotante) asociado con las " +"operaciones del socket, o ``None`` si el tiempo de espera no es " +"seleccionado. Esto refleja la ultima llamada al :meth:`setblocking` o :meth:" +"`settimeout`." #: ../Doc/library/socket.rst msgid "platform" @@ -1757,18 +2169,27 @@ msgid "" "interface. Please refer to the `Win32 documentation `_ for more information." msgstr "" +"El método :meth:`ioctl` es una interfaz limitada para el sistema de " +"interfaces WSAIoctl. Por favor refiérase a `Win32 documentation `_ para mas " +"información." #: ../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 "" +"En otras plataformas, las funciones genéricas :func:`fcntl.fcntl` y :func:" +"`fcntl.ioctl` podrían ser usadas; ellas aceptan un objeto socket como su " +"primer argumento." #: ../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 "" +"Actualmente solo el siguiente control de códigos está soportados: " +"``SIO_RCVALL``, ``SIO_KEEPALIVE_VALS``, y ``SIO_LOOPBACK_FAST_PATH``." #: ../Doc/library/socket.rst:1338 msgid "" @@ -1777,6 +2198,10 @@ msgid "" "unaccepted connections that the system will allow before refusing new " "connections. If not specified, a default reasonable value is chosen." msgstr "" +"Habilita un servidor para aceptar conexiones. Si *backlog* es especifico, " +"debe ser al menos 0 (si es menor, se establece en 0); especifica el número " +"de conexiones no aceptadas que permitirá el sistema antes de rechazar nuevas " +"conexiones. Si no se especifica, se elige un valor razonable predeterminado." #: ../Doc/library/socket.rst:1343 msgid "The *backlog* parameter is now optional." @@ -1790,6 +2215,11 @@ msgid "" "except the only supported *mode* values are ``'r'`` (default), ``'w'`` and " "``'b'``." msgstr "" +"Retorna un :term:`file object` asociado con el socket. El tipo exacto " +"retornado depende de los argumentos dados a :meth:`makefile`. Estos " +"argumentos se interpretan de la misma forma que la función :func:`open`, " +"excepto que los únicos valores de *mode* admitidos son ``’r’`` (default), " +"``’w’`` and ``’b’``." #: ../Doc/library/socket.rst:1356 msgid "" @@ -1853,6 +2283,12 @@ msgid "" "*flags*; it defaults to zero. (The format of *address* depends on the " "address family --- see above.)" msgstr "" +"Recibe datos desde el socket. El valor de retorno es un par ``(bytes, " +"address)`` donde *bytes* es un objeto de bytes que representa los datos " +"recibidos y *address* es la dirección de el socket enviando los datos. " +"Observar la pagina del manual Unix :manpage:`recv(2)` para el significado " +"del argumento opcional *flags*; por defecto es cero. (El formato de " +"*address* depende de la familia de direcciones, consulte más arriba)." #: ../Doc/library/socket.rst:1402 #, python-format @@ -1861,6 +2297,9 @@ msgid "" "%scope_id`` part anymore. In order to get full IPv6 address use :func:" "`getnameinfo`." msgstr "" +"Para direcciones IPv6 de multidifusión, el primer elemento de *address* ya " +"no contiene la parte ``%scope_id``. Para obtener la dirección IPV6 completa, " +"use :func:`getnameinfo`." #: ../Doc/library/socket.rst:1409 msgid "" @@ -1895,6 +2334,18 @@ msgid "" "receiving socket is unconnected, *address* is the address of the sending " "socket, if available; otherwise, its value is unspecified." msgstr "" +"El valor de retorno es una tupla de 4: ``(data, ancdata, msg_flags, " +"address)``. El valor *data* es un objeto :class:`bytes` que contiene los " +"datos no auxiliares recibidos. El valor *ancdata* es una lista de cero o mas " +"tuplas ``(cmsg_level, cmsg_type, cmsg_data)`` representado los datos " +"auxiliares (control de mensajes) recibidos: *cmsg_level* y *cmsg_type* son " +"enteros especificando el nivel de protocolo y tipo específico de protocolo " +"respectivamente, y *cmsg_data* es un objeto :class:`bytes` sosteniendo los " +"datos asociados. El valor *msg_flags* es el OR bit a bit de varios " +"indicadores que indican condiciones en el mensaje recibido; consulte la " +"documentación de su sistema para obtener más detalles. Si la toma de " +"recepción no está conectada, *address* es la dirección de el socket enviado, " +"si está disponible; de lo contrario, su valor no se especifica." #: ../Doc/library/socket.rst:1433 msgid "" @@ -1908,6 +2359,16 @@ msgid "" "after the system call returns, it will first attempt to close any file " "descriptors received via this mechanism." msgstr "" +"En algunos sistemas, :meth:`sendmsg` y :meth:`recvmsg` se puede utilizar " +"para pasar descriptores de archivos entre procesos a través de un socket :" +"const:`AF_UNIX` Cuando se utiliza esta función (a menudo se limita a " +"sockets :const:`SOCK_STREAM`), :meth:`recvmsg`devolverá, en sus datos " +"auxiliares, elementos del formulario ``(socket.SOL_SOCKET, socket." +"SCM_RIGHTS, fds)``, donde *fds* es un objeto :class:`bytes` representado el " +"nuevo descriptor de archivos como una matriz binaria del tipo C nativa ::c:" +"type:`int`. Si :meth:`recvmsg` genera un excepción después del retorno de la " +"llamada del sistema, primero intentará cerrar cualquier descriptor de " +"archivo recibido a través de este mecanismo." #: ../Doc/library/socket.rst:1444 msgid "" @@ -1931,6 +2392,11 @@ msgid "" "conditions such as unrelated control messages being received). See also :" "meth:`sendmsg`. ::" msgstr "" +"En sistemas donde soporta el mecanismo :const:`SCM_RIGHTS`, la siguiente " +"función recibirá un descriptor de archivos *maxfds*, devolviendo el mensaje " +"de datos y un lista que contiene los descriptores (mientras se ignoran las " +"condiciones inesperadas, como la recepción de mensajes de control no " +"relacionados). Ver también :meth:`sendmsg`. ::" #: ../Doc/library/socket.rst:1480 msgid "" @@ -1962,6 +2428,10 @@ msgid "" "into the buffers, and *ancdata*, *msg_flags* and *address* are the same as " "for :meth:`recvmsg`." msgstr "" +"El valor de retorno es tupla de 4: ``(nbytes, ancdata, msg_flags, " +"address)``, donde *nbytes* es el numero total de bytes de datos no " +"auxiliares escrito dentro de los bufetes, y *ancdata*, *msg_flags* y " +"*address* son lo mismo que para :meth:`recvmsg`." #: ../Doc/library/socket.rst:1496 msgid "Example::" @@ -1992,6 +2462,12 @@ msgid "" "bytes received. See the Unix manual page :manpage:`recv(2)` for the meaning " "of the optional argument *flags*; it defaults to zero." msgstr "" +"Recibe hasta *nbytes* bytes desde el socket, almacenado los datos en un " +"búfer en lugar de crear una nueva cadena de bytes. Si *nbytes* no esta " +"especificado (o 0), recibir hasta el tamaño disponible en el búfer dado. " +"Devuelve el número de bytes recibidos. Ver la página del manual de Unix :" +"manpage:`recv(2)` para el significado del argumento opcional *flags*; por " +"defecto es cero." #: ../Doc/library/socket.rst:1536 msgid "" @@ -2055,6 +2531,8 @@ msgid "" "Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " "``self``, ``address``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.sendto`` con los " +"argumentos ``self``, ``address``." #: ../Doc/library/socket.rst:1587 msgid "" @@ -2099,12 +2577,17 @@ msgid "" "const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " "mechanism. See also :meth:`recvmsg`. ::" msgstr "" +"La siguiente función envía la lista de descriptores de archivos *fds* sobre " +"un socket :const:`AF_UNIX`, estos sistemas pueden soportar la mecánica :" +"const:`SCM_RIGHTS`. Observar también :meth:`recvmsg`. ::" #: ../Doc/library/socket.rst:1618 msgid "" "Raises an :ref:`auditing event ` ``socket.sendmsg`` with arguments " "``self``, ``address``." msgstr "" +"Genera un :ref:`auditing event ` ``socket.sendmsg`` con los " +"argumentos ``self``, ``address``." #: ../Doc/library/socket.rst:1629 msgid "" @@ -2112,6 +2595,9 @@ msgid "" "Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` " "socket." msgstr "" +"Versión especializada de :meth:`~socket.sendmsg` para el socket :const:" +"`AF_ALG`. Modo de ajuste, IV, longitud de datos asociados a AEAD y banderas " +"para el socket :const:`AF_ALG`." #: ../Doc/library/socket.rst:1638 msgid "" @@ -2119,28 +2605,41 @@ msgid "" "*fds* parameter is a sequence of file descriptors. Consult :meth:`sendmsg` " "for the documentation of these parameters." msgstr "" +"Envía la lista de descriptores de archivos *fds* sobre un socket :const:" +"`AF_UNIX`. Los parámetros *fds* es una secuencia de descriptores de " +"archivos. Consultar :meth:`sendmsg` para la documentación de dichos " +"parámetros." #: ../Doc/library/socket.rst:1643 msgid "" ":ref:`Availability `: Unix supporting :meth:`~socket.sendmsg` " "and :const:`SCM_RIGHTS` mechanism." msgstr "" +":ref:`Availability `: Soporte para Unix :meth:`~socket." +"sendmsg` con el mecanismo :const:`SCM_RIGHTS`." #: ../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 "" +"Recibe hasta *maxfds* descriptores de archivos. Retorna ``(msg, list(fds), " +"flags, addr)``. Consulta :meth:`recvmsg` para la documentación de estos " +"parámetros." #: ../Doc/library/socket.rst:1652 msgid "" ":ref:`Availability `: Unix supporting :meth:`~socket.recvmsg` " "and :const:`SCM_RIGHTS` mechanism." msgstr "" +":ref:`Availability `: Soporte para Unix :meth:`~socket." +"recvmsg` y el mecanismo :const:`SCM_RIGHTS`." #: ../Doc/library/socket.rst:1657 msgid "Any truncated integers at the end of the list of file descriptors." msgstr "" +"Cualquier número entero truncado al final de la lista de descriptores de " +"archivo." #: ../Doc/library/socket.rst:1661 msgid "" @@ -2173,6 +2672,8 @@ msgid "" "Set the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle." msgstr "" +"Selecciona el :ref:`inheritable flag ` descriptor del " +"archivo del socket o el controlador del socket." #: ../Doc/library/socket.rst:1685 msgid "" @@ -2187,20 +2688,24 @@ msgstr "" msgid "" "This method is a shorthand for certain :meth:`~socket.settimeout` calls:" msgstr "" +"El método es una abreviatura para ciertas llamadas :meth:`~socket." +"settimeout`:" #: ../Doc/library/socket.rst:1690 msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" -msgstr "" +msgstr "``sock.setblocking(True)`` es equivalente a ``sock.settimeout(None)``" #: ../Doc/library/socket.rst:1692 msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" -msgstr "" +msgstr "``sock.setblocking(False)`` es equivalente a ``sock.settimeout(0.0)``" #: ../Doc/library/socket.rst:1694 msgid "" "The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" +"El método ya no aplica la bandera :const:`SOCK_NONBLOCK` en :attr:`socket." +"type`." #: ../Doc/library/socket.rst:1701 msgid "" @@ -2211,6 +2716,13 @@ msgid "" "operation has completed. If zero is given, the socket is put in non-" "blocking mode. If ``None`` is given, the socket is put in blocking mode." msgstr "" +"Establece un tiempo de espera para bloquear las operaciones de socket. El " +"argumento *value* puede ser un número de punto flotante no negativo que " +"exprese segundos, o ``None``. Si se da un valor distinto de cero, las " +"operaciones subsiguientes de socket generarán una excepción :exc:`timeout` " +"si el período de tiempo de espera *value* ha transcurrido antes de que se " +"complete la operación. Si se da cero, el socket se pone en modo sin bloqueo. " +"Si se da ``None``, el enchufe se pone en modo de bloqueo." #: ../Doc/library/socket.rst:1708 msgid "" @@ -2225,6 +2737,8 @@ msgid "" "The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" +"El método ya no cambia la bandera :const:`SOCK_NONBLOCK` en :attr:`socket." +"type`." #: ../Doc/library/socket.rst:1723 msgid "" @@ -2238,6 +2752,16 @@ msgid "" "*optlen* argument is required. It's equivalent to call :c:func:`setsockopt` " "C function with ``optval=NULL`` and ``optlen=optlen``." msgstr "" +"Establece el valor de la opción de socket dada (consulte la página de manual " +"de Unix :manpage:`setsockopt(2)`). Las constantes simbólicas necesarias se " +"definen en el modulo :mod:`socket` (:const:`SO_\\*` etc.). El valor puede " +"ser un entero, ``None`` o un :term:`bytes-like object` representan un " +"buffer. En el último caso, depende de la persona que llama asegurarse de que " +"la cadena de bytes contenga los bits adecuados (consulte el módulo integrado " +"opcional :mod:`struct` para una forma de codificar estructuras C como " +"cadenas de bytes). Cuando *value* se establece en ``None``, el argumento " +"*optlen* es requerido. Esto es equivalente a llamar a una función C :c:func:" +"`setsockopt` con ``optval=NULL`` y ``optlen=optlen``." #: ../Doc/library/socket.rst:1737 msgid "setsockopt(level, optname, None, optlen: int) form added." @@ -2250,6 +2774,9 @@ msgid "" "further sends are disallowed. If *how* is :const:`SHUT_RDWR`, further sends " "and receives are disallowed." msgstr "" +"Apague una o ambas mitades de la conexión. Si *how* es :const:`SHUT_RD`, más " +"recibe no se permiten. Si *how* es :const:`SHUT_WR`, mas recibe no se " +"permiten. Si *how* es :const:`SHUT_RDWR`, más recibe no se permiten." #: ../Doc/library/socket.rst:1751 msgid "" @@ -2261,6 +2788,13 @@ msgid "" "socket since the operating system has already duplicated it for the target " "process." msgstr "" +"Duplica un socket y lo prepara para compartirlo con el proceso de destino. " +"El proceso de destino debe estar provisto de *process_id*. el objeto de " +"bytes resultante luego se puede pasar al proceso de destino usando alguna " +"forma de comunicación entre procesos y el socket se puede recrear allí " +"usando :func:`fromshare`. Una vez que se ha llamado a este método, es " +"seguro cerrar el socket ya que el sistema operativo ya lo ha duplicado para " +"el proceso de destino." #: ../Doc/library/socket.rst:1763 msgid "" @@ -2275,6 +2809,8 @@ msgid "" "Socket objects also have these (read-only) attributes that correspond to the " "values given to the :class:`~socket.socket` constructor." msgstr "" +"Los objetos de socket también tienen estos atributos (de solo lectura) que " +"corresponden a los valores dados al constructor :class:`~socket.socket`." #: ../Doc/library/socket.rst:1772 msgid "The socket family." @@ -2329,6 +2865,9 @@ msgid "" "timeout specified for the socket (they raise a :exc:`timeout` exception) or " "if the system returns an error." msgstr "" +"En *timeout mode*, las operaciones fallan si no se puede completan el tiempo " +"de espera especifico para el socket ( ellos levanta una excepción :exc:" +"`timeout`) o si el sistema devuelve un error." #: ../Doc/library/socket.rst:1808 msgid "" @@ -2368,7 +2907,7 @@ msgstr "" #: ../Doc/library/socket.rst:1825 msgid "Timeouts and the ``accept`` method" -msgstr "" +msgstr "Tiempos de espera y el método ``accept``" #: ../Doc/library/socket.rst:1827 msgid "" @@ -2376,12 +2915,18 @@ msgid "" "meth:`~socket.accept` method inherit that timeout. Otherwise, the behaviour " "depends on settings of the listening socket:" msgstr "" +"Si :func:`getdefaulttimeout` no es una :const:`None`, los sockets devuelto " +"por el método :meth:`~socket.accept` heredan ese tiempo de espera. De lo " +"contrario, el comportamiento depende de la configuración de la toma de " +"escucha:" #: ../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 "" +"si los sockets están escuchando en *blocking mode* o en el *timeout mode*, " +"el socket devuelve el :meth:`~socket.accept` en un *blocking mode*;" #: ../Doc/library/socket.rst:1834 msgid "" @@ -2390,6 +2935,10 @@ msgid "" "operating system-dependent. If you want to ensure cross-platform behaviour, " "it is recommended you manually override this setting." msgstr "" +"si los sockets están escuchando en *non-blocking mode*, ya sea el socket " +"devuelto por :meth:`~socket.accept` es un modo de bloqueo o no bloque " +"depende del sistema operativo. Si desea garantizar un comportamiento " +"multiplataforma, se recomienda que se anule manualmente esta configuración." #: ../Doc/library/socket.rst:1843 msgid "Example" @@ -2407,6 +2956,16 @@ msgid "" "sendall`/:meth:`~socket.recv` on the socket it is listening on but on the " "new socket returned by :meth:`~socket.accept`." msgstr "" +"Aquí están cuatro programas mínimos usando el protocolo TCP/IP: un servidor " +"que hace eco de todos los datos que reciban de vuelta ( Servicio a un solo " +"cliente), y un cliente usando esto. Recuerde que un servidor debe llevar a " +"cabo la secuencia :func:`.socket`, :meth:`~socket.bind`, :meth:`~socket." +"listen`, :meth:`~socket.accept` (posiblemente repitiendo la :meth:`~socket." +"accept` para un servicio mas que un cliente), mientras un cliente solamente " +"necesita la secuencia :func:`.socket`, :meth:`~socket.connect`. También " +"recuerde que el servidor no :meth:`~socket.sendall`/:meth:`~socket.recv` en " +"el socket esta escuchando pero en el nuevo socket devuelto por :meth:" +"`~socket.accept`." #: ../Doc/library/socket.rst:1855 msgid "The first two examples support IPv4 only. ::" @@ -2485,6 +3044,8 @@ msgid "" "There is a :mod:`socket` flag to set, in order to prevent this, :data:" "`socket.SO_REUSEADDR`::" msgstr "" +"Este es una bandera :mod:`socket` para establecer, en orden para prevenir " +"esto, :data:`socket.SO_REUSEADDR`::" #: ../Doc/library/socket.rst:2048 msgid "" @@ -2507,12 +3068,16 @@ msgid "" "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " "Sechrest" msgstr "" +"*An Introductory 4.3BSD Interprocess Communication Tutorial*, por Stuart " +"Sechrest" #: ../Doc/library/socket.rst:2058 msgid "" "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " "Leffler et al," msgstr "" +"*An Advanced 4.3BSD Interprocess Communication Tutorial*, por Samuel J. " +"Leffler et al," #: ../Doc/library/socket.rst:2061 msgid "" @@ -2524,3 +3089,11 @@ msgid "" "readers may want to refer to :rfc:`3493` titled Basic Socket Interface " "Extensions for IPv6." msgstr "" +"ambos en el manual del programador de Unix, documentos suplementarios 1 " +"( secciones PS1:7 y PS1:8). La plataforma especifica material de referencia " +"para las diversas llamadas al sistema también son una valiosa fuente de " +"información en los detalles de la semántica del socket. Para Unix, " +"referencia a las paginas del manual, para Windows, observa la especificación " +"WinSock (o WinSock 2). Para APIS listas IPV6, los lectores pueden querer " +"referirse al titulado Extensiones básicas de interfaz de socket para IPv6 :" +"rfc:`3493` ." From 84ae99b1d061a6f3ee69f9886174ae4e9d5b7677 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Thu, 23 Sep 2021 10:22:35 -0300 Subject: [PATCH 81/94] reviso fuzzy pendiente (#1370) --- whatsnew/3.2.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index ed19f37a9f..b454baf0be 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-13 22:51-0300\n" +"PO-Revision-Date: 2021-09-06 09:08-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1000,7 +1000,6 @@ msgstr "" "correo electrónico en formato de bytes." #: ../Doc/whatsnew/3.2.rst:687 -#, fuzzy msgid "" "New functions :func:`~email.message_from_bytes` and :func:`~email." "message_from_binary_file`, and new classes :class:`~email.parser." @@ -1010,7 +1009,7 @@ msgstr "" "Nuevas funciones :func:`~email.message_from_bytes` y :func:`~email." "message_from_binary_file`, y nuevas clases :class:`~email.parser." "BytesFeedParser` y :class:`~email.parser.BytesParser` permiten mensajes de " -"datos en binario ser analizados (*parsed*) en objetos modelados." +"datos en binario para ser analizados (*parsed*) en objetos modelados." #: ../Doc/whatsnew/3.2.rst:692 msgid "" From 5839b1171c5a225ba7ab71342c054447a05bd91c Mon Sep 17 00:00:00 2001 From: Frank Montalvo Ochoa Date: Fri, 24 Sep 2021 12:13:40 -0500 Subject: [PATCH 82/94] Traducido archivo library/test.po (#1349) --- dictionaries/library_test.txt | 6 +- library/test.po | 107 +++++++++++++++++++++++----------- 2 files changed, 78 insertions(+), 35 deletions(-) diff --git a/dictionaries/library_test.txt b/dictionaries/library_test.txt index bbe5c5264c..b3509813fd 100644 --- a/dictionaries/library_test.txt +++ b/dictionaries/library_test.txt @@ -14,4 +14,8 @@ subinterpretador subinterpretadores PyUnit refleaks -regrtest \ No newline at end of file +regrtest +loopback +buildbots +instr +Oberkirch \ No newline at end of file diff --git a/library/test.po b/library/test.po index ed68c59375..644ad9d653 100644 --- a/library/test.po +++ b/library/test.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 12:19+0200\n" +"PO-Revision-Date: 2021-09-24 10:57-0500\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 3.0\n" #: ../Doc/library/test.rst:2 msgid ":mod:`test` --- Regression tests package for Python" @@ -439,6 +440,9 @@ msgid "" "Timeout in seconds for tests using a network server listening on the network " "local loopback interface like ``127.0.0.1``." msgstr "" +"Tiempo de espera en segundos para las pruebas que utilizan un servidor de " +"red que escucha en la interfaz local de loopback de la red como " +"``127.0.0.1``." #: ../Doc/library/test.rst:295 msgid "" @@ -446,6 +450,9 @@ msgid "" "that the client and the server can run in different threads or even " "different processes." msgstr "" +"El tiempo de espera es lo suficientemente largo para evitar el fracaso de la " +"prueba: tiene en cuenta que el cliente y el servidor pueden ejecutarse en " +"diferentes hilos o incluso en diferentes procesos." #: ../Doc/library/test.rst:299 msgid "" @@ -453,24 +460,31 @@ msgid "" "`~socket.socket.recv` and :meth:`~socket.socket.send` methods of :class:" "`socket.socket`." msgstr "" +"El tiempo de espera debe ser lo suficientemente largo para los métodos :meth:" +"`~socket.socket.connect`, :meth:`~socket.socket.recv` y :meth:`~socket." +"socket.send` de :class:`socket.socket`." #: ../Doc/library/test.rst:303 msgid "Its default value is 5 seconds." -msgstr "" +msgstr "Su valor por defecto es de 5 segundos." #: ../Doc/library/test.rst:305 msgid "See also :data:`INTERNET_TIMEOUT`." -msgstr "" +msgstr "Ver también :data:`INTERNET_TIMEOUT`." #: ../Doc/library/test.rst:310 msgid "Timeout in seconds for network requests going to the Internet." msgstr "" +"Tiempo de espera en segundos para las solicitudes de red que van a Internet." #: ../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 "" +"El tiempo de espera es lo suficientemente corto como para evitar que una " +"prueba espere demasiado tiempo si la solicitud de Internet se bloquea por " +"cualquier motivo." #: ../Doc/library/test.rst:315 msgid "" @@ -478,38 +492,48 @@ msgid "" "failed, but skip the test instead: see :func:`~test.support.socket_helper." "transient_internet`." msgstr "" +"Normalmente, un tiempo de espera utilizando :data:`INTERNET_TIMEOUT` no " +"debería marcar una prueba como fallida, sino que debería omitir la prueba: " +"ver :func:`~test.support.socket_helper.transient_internet`." #: ../Doc/library/test.rst:319 msgid "Its default value is 1 minute." -msgstr "" +msgstr "Su valor por defecto es de 1 minuto." #: ../Doc/library/test.rst:321 msgid "See also :data:`LOOPBACK_TIMEOUT`." -msgstr "" +msgstr "Ver también :data:`LOOPBACK_TIMEOUT`." #: ../Doc/library/test.rst:326 msgid "" "Timeout in seconds to mark a test as failed if the test takes \"too long\"." msgstr "" +"Tiempo de espera en segundos para marcar una prueba como fallida si la " +"prueba tarda \"demasiado\"." #: ../Doc/library/test.rst:328 msgid "" "The timeout value depends on the regrtest ``--timeout`` command line option." msgstr "" +"El valor del tiempo de espera depende de la opción de línea de comandos " +"regrtest ``--timeout``." #: ../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 "" +"Si una prueba que utiliza :data:`SHORT_TIMEOUT` empieza a fallar " +"aleatoriamente en buildbots lentos, utilice en su lugar :data:`LONG_TIMEOUT`." #: ../Doc/library/test.rst:333 msgid "Its default value is 30 seconds." -msgstr "" +msgstr "Su valor por defecto es de 30 segundos." #: ../Doc/library/test.rst:338 msgid "Timeout in seconds to detect when a test hangs." msgstr "" +"Tiempo de espera en segundos para detectar cuando se cuelga una prueba." #: ../Doc/library/test.rst:340 msgid "" @@ -518,16 +542,23 @@ msgid "" "\"too long\". The timeout value depends on the regrtest ``--timeout`` " "command line option." msgstr "" +"Es lo suficientemente largo como para reducir el riesgo de fracaso de la " +"prueba en los buildbots de Python más lentos. No debe utilizarse para marcar " +"una prueba como fallida si la prueba tarda \"demasiado\". El valor del " +"tiempo de espera depende de la opción de línea de comandos regrtest ``--" +"timeout``." #: ../Doc/library/test.rst:345 msgid "Its default value is 5 minutes." -msgstr "" +msgstr "Su valor por defecto es de 5 minutos." #: ../Doc/library/test.rst:347 msgid "" "See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and :data:" "`SHORT_TIMEOUT`." msgstr "" +"Ver también :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` y :data:" +"`SHORT_TIMEOUT`." #: ../Doc/library/test.rst:353 msgid "Set to :func:`os.getcwd`." @@ -614,13 +645,12 @@ msgstr "" "de tipos mixtos." #: ../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." +"Objeto que no es igual a nada (incluso a :data:`ALWAYS_EQ`). Se utiliza para " +"probar la comparación de tipos mixtos." #: ../Doc/library/test.rst:434 msgid "" @@ -1159,18 +1189,25 @@ msgid "" "\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add ``\"Warning " "-- \"`` prefix to each line." msgstr "" +"Imprime una advertencia en :data:`sys.__stderr__`. Formatea el mensaje como: " +"``f \"Warning -- {msg}\"``. Si *msg* se compone de varias líneas, añade el " +"prefijo ``\"Warning --\"`` a cada línea." #: ../Doc/library/test.rst:828 msgid "" "Wait until process *pid* completes and check that the process exit code is " "*exitcode*." msgstr "" +"Espere hasta que el proceso *pid* termine y comprobará que el código de " +"salida del proceso es *exitcode*." #: ../Doc/library/test.rst:831 msgid "" "Raise an :exc:`AssertionError` if the process exit code is not equal to " "*exitcode*." msgstr "" +"Lanza un :exc:`AssertionError` si el código de salida del proceso no es " +"igual a *exitcode*." #: ../Doc/library/test.rst:834 msgid "" @@ -1178,6 +1215,10 @@ msgid "" "default), kill the process and raise an :exc:`AssertionError`. The timeout " "feature is not available on Windows." msgstr "" +"Si el proceso se ejecuta durante más tiempo que *timeout* en segundos (:data:" +"`SHORT_TIMEOUT` por defecto), mata el proceso y lanza un :exc:" +"`AssertionError`. La función de tiempo de espera no está disponible en " +"Windows." #: ../Doc/library/test.rst:843 msgid "" @@ -1932,27 +1973,23 @@ msgstr "" "lanzará en :meth:`! __ fspath__`." #: ../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" +":mod:`test.support.socket_helper` --- Utilidades para pruebas de socket" #: ../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." +"El módulo :mod:`test.support.socket_helper` proporciona soporte para las " +"pruebas de socket." #: ../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``." +"Se establece como ``True`` si IPv6 está habilitado en este host, ``False`` " +"en caso contrario." #: ../Doc/library/test.rst:1433 msgid "" @@ -2039,23 +2076,21 @@ msgstr "" "`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*." +"Un decorador para ejecutar pruebas que requieren un enlace(``bind()``) " +"funcional para sockets en sistemas 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." +"Un gestor de contexto que lanza :exc:`~test.support.ResourceDenied` cuando " +"varios problemas con la conexión a Internet se manifiestan como excepciones." #: ../Doc/library/test.rst:1493 msgid "" @@ -2128,7 +2163,7 @@ msgstr "" #: ../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 "" +msgstr "La función ya no elimina los espacios en blanco de *stderr*." #: ../Doc/library/test.rst:1533 msgid "" @@ -2238,37 +2273,41 @@ msgid "" ":mod:`test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" msgstr "" +":mod:`test.support.bytecode_helper` --- Herramientas de apoyo para comprobar " +"la correcta generación de bytecode" #: ../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." +"El módulo :mod:`test.support.bytecode_helper` proporciona soporte para " +"probar e inspeccionar la generación de código de bytes." #: ../Doc/library/test.rst:1614 -#, fuzzy msgid "The module defines the following class:" -msgstr "Este módulo define las siguientes excepciones:" +msgstr "El módulo define la siguiente clase:" #: ../Doc/library/test.rst:1618 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" +"Esta clase tiene métodos de aserción personalizados para inspeccionar el " +"código de bytes." #: ../Doc/library/test.rst:1622 msgid "Return the disassembly of *co* as string." -msgstr "" +msgstr "Retorna el desensamblaje de *co* como cadena." #: ../Doc/library/test.rst:1627 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" +"Retorna instr si se encuentra *opname*, de lo contrario lanza :exc:" +"`AssertionError`." #: ../Doc/library/test.rst:1632 msgid "Throws :exc:`AssertionError` if *opname* is found." -msgstr "" +msgstr "Lanza :exc:`AssertionError` si se encuentra *opname*." #~ msgid "" #~ "Strip the *stderr* of a Python process from potential debug output " From 598c9036dcc6fcde1aaf38873fe6353442687047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Fri, 1 Oct 2021 08:48:17 +0100 Subject: [PATCH 83/94] =?UTF-8?q?Traducci=C3=B3n=20whatsnew/2.3=20(#1269)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * first translation 23 * Agregando palabras faltantes * pospell y powrap * Add missing word 2.3 * the word Oberkirch was already there * the word Oberkirch was already there * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * Update whatsnew/2.3.po * last test to get pre-commit to work * removed a few more fuzzy * a few more corrections and removal of fuzzies * now powrapped * a few more fuzzies revised * removed all the remaining fuzzies Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Cristián Maureira-Fredes --- .pre-commit-config.yaml | 4 +- dictionaries/whatsnew_2.3.txt | 69 ++ scripts/completed_files.py | 0 scripts/print_percentage.py | 0 whatsnew/2.3.po | 1760 +++++++++++++-------------------- 5 files changed, 758 insertions(+), 1075 deletions(-) mode change 100644 => 100755 scripts/completed_files.py mode change 100644 => 100755 scripts/print_percentage.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0ec9648d0f..f970c8bc1b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/JulienPalard/powrap - rev: main + rev: v0.4.0 hooks: - id: powrap - repo: local @@ -11,7 +11,7 @@ repos: language: python # This one requires package ``hunspell-es_es`` in Archlinux - repo: https://github.com/AFPy/pospell - rev: v1.0.11 + rev: v1.0.12 hooks: - id: pospell args: ['--personal-dict', 'dict.txt', '--language', 'es_ES', '--language', 'es_AR'] diff --git a/dictionaries/whatsnew_2.3.txt b/dictionaries/whatsnew_2.3.txt index 2116c7051e..c10acf94e0 100644 --- a/dictionaries/whatsnew_2.3.txt +++ b/dictionaries/whatsnew_2.3.txt @@ -1,41 +1,110 @@ +Oberkirch Age +Altis Bauer Brunning Chermside Chris +Christopher +Cliff +Connor +Craig Dalke Daniels +Denis Detlef Drake +Dörwald Francesco Fraser +Geert Gerber +Getopt +Gilfix Hans +Hetland Hindle +Hisao +Hodgson Hudson Hurd +Hylton +Icon Jansen Jeff +Jeremy +Jones Jr +Karatsuba Kelly +Labs Lalo Lambert +Lange +Language Lannert +Lauder Löwis +Magnus +Malley +Marangozov +Martelli Martin Martins +Mick +Montanaro +Moore Neal Netzer +Nicholas Niemeyer Norwitz Nowak +Ondrej +Optik +Orendorff +Otkidach +Overview +Palkovsky +Pedroni +Piers +Programming Reifschneider Ricciardi Richie +Robert Roman +Samuele +Simionato Simon +Skip Suzi +Suzuki Tishler Travis +Trent +Walter +Ward +Wells +What +Wilson +benchmark +deserializadas +desescalado +dev +empaquetarlo +enumerate frame +idna +llamables ports +pystone +reanudables +recompilara +reelaborado +reescríbalas +reformateada +sobreescrituras +topológica +xmlrpclib +Åstrand diff --git a/scripts/completed_files.py b/scripts/completed_files.py old mode 100644 new mode 100755 diff --git a/scripts/print_percentage.py b/scripts/print_percentage.py old mode 100644 new mode 100755 diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index bdd2425c3a..9b0e113686 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2021-04-17 07:53-0500\n" +"PO-Revision-Date: 2021-09-25 10:30+0100\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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Claudia Millan \n" "Language: es\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/whatsnew/2.3.rst:3 msgid "What's New in Python 2.3" @@ -97,7 +97,7 @@ msgstr "" #: ../Doc/whatsnew/2.3.rst:41 msgid "PEP 218: A Standard Set Datatype" -msgstr "PEP 218: A Standard Set Datatype" +msgstr "PEP 218: Un tipo de datos de conjunto estándar" #: ../Doc/whatsnew/2.3.rst:43 msgid "" @@ -159,17 +159,19 @@ msgstr "" #: ../Doc/whatsnew/2.3.rst:117 msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr ":pep:`218` - Adding a Built-In Set Object Type" +msgstr ":pep:`218` - Añadiendo un tipo de objeto de conjunto incorporado" #: ../Doc/whatsnew/2.3.rst:117 msgid "" "PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli, " "and GvR." msgstr "" +"PEP escrito por Greg V. Wilson. Implementado por Greg V. Wilson, Alex " +"Martelli y GvR." #: ../Doc/whatsnew/2.3.rst:126 msgid "PEP 255: Simple Generators" -msgstr "" +msgstr "PEP 255: Generadores simples" #: ../Doc/whatsnew/2.3.rst:128 msgid "" @@ -181,6 +183,14 @@ msgid "" "2.2\" document; if you read it back when Python 2.2 came out, you can skip " "the rest of this section." msgstr "" +"En Python 2.2, los generadores se añadieron como una característica " +"opcional, que se activaba mediante una directiva ``from __future__ import " +"generators``. En 2.3 los generadores ya no necesitan ser habilitados " +"especialmente, y ahora están siempre presentes; esto significa que :keyword:" +"`yield` es ahora siempre una palabra clave. El resto de esta sección es una " +"copia de la descripción de los generadores del documento \"What's New in " +"Python 2.2\"; si lo leíste cuando salió Python 2.2, puedes saltarte el resto " +"de esta sección." #: ../Doc/whatsnew/2.3.rst:136 msgid "" @@ -194,10 +204,20 @@ msgid "" "This is what generators provide; they can be thought of as resumable " "functions." msgstr "" +"Sin duda estás familiarizado con cómo funcionan las llamadas a funciones en " +"Python o C. Cuando llamas a una función, ésta obtiene un espacio de nombres " +"privado donde se crean sus variables locales. Cuando la función llega a una " +"declaración :keyword:`return`, las variables locales se destruyen y el valor " +"resultante se retorna a quien la llamó. Una llamada posterior a la misma " +"función obtendrá un nuevo conjunto de variables locales. Pero, ¿qué pasaría " +"si las variables locales no se tiraran al salir de una función? ¿Qué pasaría " +"si pudieras reanudar la función donde la dejaste? Esto es lo que " +"proporcionan los generadores; se puede pensar en ellos como funciones " +"reanudables." #: ../Doc/whatsnew/2.3.rst:145 msgid "Here's the simplest example of a generator function::" -msgstr "" +msgstr "Este es el ejemplo más sencillo de una función generadora::" #: ../Doc/whatsnew/2.3.rst:151 msgid "" @@ -206,6 +226,10 @@ msgid "" "this is detected by Python's bytecode compiler which compiles the function " "specially as a result." msgstr "" +"Se ha introducido una nueva palabra clave, :keyword:`yield`, para los " +"generadores. Cualquier función que contenga una declaración :keyword:`!" +"yield` es una función generadora; esto es detectado por el compilador de " +"código de bits de Python que compila la función especialmente como resultado." #: ../Doc/whatsnew/2.3.rst:156 msgid "" @@ -222,16 +246,31 @@ msgid "" "try`...\\ :keyword:`!finally` statement; read :pep:`255` for a full " "explanation of the interaction between :keyword:`!yield` and exceptions.)" msgstr "" +"Cuando se llama a una función generadora, ésta no retorna un único valor, " +"sino que retorna un objeto generador que soporta el protocolo de los " +"iteradores. Al ejecutar la sentencia :keyword:`yield`, el generador retorna " +"el valor de ``i``, de forma similar a una sentencia :keyword:`return`. La " +"gran diferencia entre :keyword:`!yield` y una sentencia :keyword:`!return` " +"es que al llegar a una sentencia :keyword:`!yield` se suspende el estado de " +"ejecución del generador y se conservan las variables locales. En la " +"siguiente llamada al método ``.next()`` del generador, la función se " +"reanudará la ejecución inmediatamente después de la sentencia :keyword:`!" +"yield`. (Por razones complicadas, la sentencia :keyword:`!yield` no está " +"permitida dentro del bloque :keyword:`try` de una sentencia :keyword:`!" +"try`...`; lea :pep:`255` para una explicación completa de la interacción " +"entre :keyword:`!yield` y las excepciones)" #: ../Doc/whatsnew/2.3.rst:169 msgid "Here's a sample usage of the :func:`generate_ints` generator::" -msgstr "" +msgstr "Este es un ejemplo de uso del generador :func:`generate_ints`::" #: ../Doc/whatsnew/2.3.rst:186 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." msgstr "" +"También podrías escribir ``for i in generate_ints(5)``, o ``a,b,c = " +"generate_ints(3)``." #: ../Doc/whatsnew/2.3.rst:189 msgid "" @@ -243,6 +282,13 @@ msgid "" "indicated by raising :exc:`StopIteration` manually, or by just letting the " "flow of execution fall off the bottom of the function." msgstr "" +"Dentro de una función generadora, la expresión :keyword:`return` sólo puede " +"usarse sin un valor, y señala el final de la procesión de valores; después " +"el generador no puede retornar más valores. :keyword:`!return` con un valor, " +"como ``return 5``, es un error de sintaxis dentro de una función " +"generadora. El final de los resultados del generador también puede " +"indicarse levantando manualmente :exc:`StopIteration`, o simplemente dejando " +"que el flujo de ejecución caiga en el fondo de la función." #: ../Doc/whatsnew/2.3.rst:197 msgid "" @@ -256,6 +302,15 @@ msgid "" "The simplest one implements an in-order traversal of a tree using generators " "recursively. ::" msgstr "" +"Puedes conseguir el efecto de los generadores manualmente escribiendo tu " +"propia clase y almacenando todas las variables locales del generador como " +"variables de instancia. Por ejemplo, la devolución de una lista de enteros " +"podría hacerse estableciendo ``self.count`` a 0, y haciendo que el método :" +"meth:`next` incremente ``self.count`` y lo retorne. Sin embargo, para un " +"generador medianamente complicado, escribir la clase correspondiente sería " +"mucho más complicado. :file:`Lib/test/test_generators.py` contiene varios " +"ejemplos más interesantes. El más sencillo implementa un recorrido en orden " +"de un árbol utilizando generadores de forma recursiva ::" #: ../Doc/whatsnew/2.3.rst:215 msgid "" @@ -265,6 +320,11 @@ msgid "" "knight to every square of an $NxN$ chessboard without visiting any square " "twice)." msgstr "" +"Otros dos ejemplos en :file:`Lib/test/test_generators.py` producen " +"soluciones para el problema de las N reinas (colocar $N$ reinas en un " +"tablero de ajedrez $NxN$ de forma que ninguna reina amenace a otra) y el " +"recorrido del caballero (una ruta que lleva a un caballo a cada casilla de " +"un tablero de ajedrez $NxN$ sin visitar ninguna casilla dos veces)." #: ../Doc/whatsnew/2.3.rst:220 msgid "" @@ -275,6 +335,12 @@ msgid "" "\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " "this looks like::" msgstr "" +"La idea de los generadores proviene de otros lenguajes de programación, " +"especialmente de Icon (https://www.cs.arizona.edu/icon/), donde la idea de " +"los generadores es fundamental. En Icon, cada expresión y llamada a una " +"función se comporta como un generador. Un ejemplo de \"*An Overview of the " +"Icon Programming Language*\" en https://www.cs.arizona.edu/icon/docs/ipd266." +"htm da una idea de cómo es esto::" #: ../Doc/whatsnew/2.3.rst:230 msgid "" @@ -284,6 +350,12 @@ msgid "" "Icon retries it with the second value of 23. 23 is greater than 5, so the " "comparison now succeeds, and the code prints the value 23 to the screen." msgstr "" +"En Icon la función :func:`find` retorna los índices en los que se encuentra " +"la subcadena \"o\": 3, 23, 33. En la expresión :keyword:`if`, a ``i`` se le " +"asigna primero un valor de 3, pero 3 es menor que 5, por lo que la " +"comparación falla, e Icon la reintenta con el segundo valor de 23. 23 es " +"mayor que 5, por lo que la comparación ahora tiene éxito, y el código " +"imprime el valor 23 en la pantalla." #: ../Doc/whatsnew/2.3.rst:236 msgid "" @@ -295,10 +367,17 @@ msgid "" "as a concrete object (the iterator) that can be passed around to other " "functions or stored in a data structure." msgstr "" +"Python no va tan lejos como Icon en la adopción de generadores como concepto " +"central. Los generadores se consideran parte del núcleo del lenguaje " +"Python, pero aprenderlos o utilizarlos no es obligatorio; si no resuelven " +"ningún problema que tengas, siéntete libre de ignorarlos. Una característica " +"novedosa de la interfaz de Python en comparación con la de Icon es que el " +"estado de un generador se representa como un objeto concreto (el iterador) " +"que puede pasarse a otras funciones o almacenarse en una estructura de datos." #: ../Doc/whatsnew/2.3.rst:248 msgid ":pep:`255` - Simple Generators" -msgstr "" +msgstr ":pep:`255` - Generadores simples" #: ../Doc/whatsnew/2.3.rst:248 msgid "" @@ -306,10 +385,13 @@ msgid "" "mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " "Labs crew." msgstr "" +"Escrito por Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implementado " +"principalmente por Neil Schemenauer y Tim Peters, con otras correcciones del " +"equipo de Python Labs." #: ../Doc/whatsnew/2.3.rst:257 msgid "PEP 263: Source Code Encodings" -msgstr "" +msgstr "PEP 263: Codificación del código fuente" #: ../Doc/whatsnew/2.3.rst:259 msgid "" @@ -318,6 +400,10 @@ msgid "" "comment in the first or second line of the source file. For example, a " "UTF-8 file can be declared with::" msgstr "" +"Los archivos fuente de Python ahora pueden declararse con diferentes " +"codificaciones de conjuntos de caracteres. Las codificaciones se declaran " +"incluyendo un comentario con formato especial en la primera o segunda línea " +"del archivo fuente. Por ejemplo, un archivo UTF-8 puede declararse con::" #: ../Doc/whatsnew/2.3.rst:267 msgid "" @@ -327,6 +413,11 @@ msgid "" "`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will be a " "syntax error." msgstr "" +"Sin esta declaración de codificación, la codificación por defecto utilizada " +"es ASCII de 7 bits. Ejecutar o importar módulos que contengan literales de " +"cadena con caracteres de 8 bits y que no tengan una declaración de " +"codificación dará lugar a un :exc:`DeprecationWarning` señalado por Python " +"2.3; en 2.4 será un error de sintaxis." #: ../Doc/whatsnew/2.3.rst:273 msgid "" @@ -335,20 +426,28 @@ msgid "" "identifiers are still restricted to ASCII characters, so you can't have " "variable names that use characters outside of the usual alphanumerics." msgstr "" +"La declaración de codificación sólo afecta a los literales de cadena " +"Unicode, que se convertirán a Unicode utilizando la codificación " +"especificada. Ten en cuenta que los identificadores de Python siguen " +"restringidos a caracteres ASCII, por lo que no puedes tener nombres de " +"variables que utilicen caracteres fuera de los alfanuméricos habituales." #: ../Doc/whatsnew/2.3.rst:282 msgid ":pep:`263` - Defining Python Source Code Encodings" msgstr "" +":pep:`263` - Definición de las codificaciones del código fuente de Python" #: ../Doc/whatsnew/2.3.rst:282 msgid "" "Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki " "Hisao and Martin von Löwis." msgstr "" +"Escrito por Marc-André Lemburg y Martin von Löwis; realizado por Suzuki " +"Hisao y Martin von Löwis." #: ../Doc/whatsnew/2.3.rst:289 msgid "PEP 273: Importing Modules from ZIP Archives" -msgstr "" +msgstr "PEP 273: Importar módulos desde archivos ZIP" #: ../Doc/whatsnew/2.3.rst:291 msgid "" @@ -357,6 +456,10 @@ msgid "" "be automatically imported if a ZIP archive's filename is added to ``sys." "path``. For example:" msgstr "" +"El nuevo módulo :mod:`zipimport` añade soporte para importar módulos desde " +"un archivo en formato ZIP. No es necesario importar el módulo " +"explícitamente; se importará automáticamente si se añade el nombre de un " +"archivo ZIP a ``sys.path``. Por ejemplo:" #: ../Doc/whatsnew/2.3.rst:314 msgid "" @@ -367,6 +470,13 @@ msgid "" "by adding the corresponding :file:`\\*.pyc` file, meaning that if a ZIP " "archive doesn't contain :file:`\\*.pyc` files, importing may be rather slow." msgstr "" +"Una entrada en ``sys.path`` puede ser ahora el nombre de un archivo ZIP. El " +"archivo ZIP puede contener cualquier tipo de ficheros, pero sólo se pueden " +"importar los ficheros llamados :file:`\\*.py`, :file:`\\*.pyc`, o :file:`\\*." +"pyo`. Si un archivo sólo contiene ficheros :file:`\\*.py`, Python no " +"intentará modificar el archivo añadiendo el correspondiente fichero :file:`" +"\\*.pyc`, lo que significa que si un archivo ZIP no contiene ficheros :file:`" +"\\*.pyc`, la importación puede ser bastante lenta." #: ../Doc/whatsnew/2.3.rst:321 msgid "" @@ -374,10 +484,13 @@ msgid "" "subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only " "import from the :file:`lib/` subdirectory within the archive." msgstr "" +"También se puede especificar una ruta dentro del archivo para importar sólo " +"de un subdirectorio; por ejemplo, la ruta :file:`/tmp/example.zip/lib/` sólo " +"importaría del subdirectorio :file:`lib/` dentro del archivo." #: ../Doc/whatsnew/2.3.rst:331 msgid ":pep:`273` - Import Modules from Zip Archives" -msgstr "" +msgstr ":pep:`273` - Importación de módulos desde archivos Zip" #: ../Doc/whatsnew/2.3.rst:329 msgid "" @@ -387,10 +500,15 @@ msgid "" "`302`. See section :ref:`section-pep302` for a description of the new import " "hooks." msgstr "" +"Escrito por James C. Ahlstrom, que también proporcionó una implementación. " +"Python 2.3 sigue la especificación en :pep:`273`, pero utiliza una " +"implementación escrita por Just van Rossum que utiliza los ganchos de " +"importación descritos en :pep:`302`. Vea la sección :ref:`section-pep302` " +"para una descripción de los nuevos ganchos de importación." #: ../Doc/whatsnew/2.3.rst:338 msgid "PEP 277: Unicode file name support for Windows NT" -msgstr "" +msgstr "PEP 277: Soporte de nombres de archivo Unicode para Windows NT" #: ../Doc/whatsnew/2.3.rst:340 msgid "" @@ -398,6 +516,10 @@ msgid "" "strings. Traditionally, Python has represented file names as byte strings, " "which is inadequate because it renders some file names inaccessible." msgstr "" +"En Windows NT, 2000 y XP, el sistema almacena los nombres de archivo como " +"cadenas Unicode. Tradicionalmente, Python ha representado los nombres de " +"archivo como cadenas de bytes, lo cual es inadecuado porque hace que algunos " +"nombres de archivo sean inaccesibles." #: ../Doc/whatsnew/2.3.rst:344 msgid "" @@ -407,12 +529,21 @@ msgid "" "listdir`, Python now returns a list of Unicode strings. A new function, :" "func:`os.getcwdu`, returns the current directory as a Unicode string." msgstr "" +"Python permite ahora utilizar cadenas Unicode arbitrarias (dentro de las " +"limitaciones del sistema de archivos) para todas las funciones que esperan " +"nombres de archivos, sobre todo la función incorporada :func:`open`. Si se " +"pasa una cadena Unicode a :func:`os.listdir`, Python retorna ahora una lista " +"de cadenas Unicode. Una nueva función, :func:`os.getcwdu`, retorna el " +"directorio actual como una cadena Unicode." #: ../Doc/whatsnew/2.3.rst:350 msgid "" "Byte strings still work as file names, and on Windows Python will " "transparently convert them to Unicode using the ``mbcs`` encoding." msgstr "" +"Las cadenas de bytes siguen funcionando como nombres de archivo, y en " +"Windows Python las convertirá de forma transparente a Unicode utilizando la " +"codificación ``mbcs``." #: ../Doc/whatsnew/2.3.rst:353 msgid "" @@ -422,24 +553,32 @@ msgid "" "strings are supported as file names by checking :attr:`os.path." "supports_unicode_filenames`, a Boolean value." msgstr "" +"Otros sistemas también permiten cadenas Unicode como nombres de archivo, " +"pero las convierten en cadenas de bytes antes de pasarlas al sistema, lo que " +"puede provocar un :exc:`UnicodeError`. Las aplicaciones pueden comprobar si " +"se admiten cadenas Unicode arbitrarias como nombres de archivo comprobando :" +"attr:`os.path.supports_unicode_filenames`, un valor booleano." #: ../Doc/whatsnew/2.3.rst:359 msgid "Under MacOS, :func:`os.listdir` may now return Unicode filenames." msgstr "" +"En MacOS, :func:`os.listdir` ahora puede retornar nombres de archivo Unicode." #: ../Doc/whatsnew/2.3.rst:365 msgid ":pep:`277` - Unicode file name support for Windows NT" -msgstr "" +msgstr ":pep:`277` - Soporte de nombres de archivo Unicode para Windows NT" #: ../Doc/whatsnew/2.3.rst:365 msgid "" "Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and " "Mark Hammond." msgstr "" +"Escrito por Neil Hodgson; realizado por Neil Hodgson, Martin von Löwis y " +"Mark Hammond." #: ../Doc/whatsnew/2.3.rst:375 msgid "PEP 278: Universal Newline Support" -msgstr "" +msgstr "PEP 278: Soporte universal de nuevas líneas" #: ../Doc/whatsnew/2.3.rst:377 msgid "" @@ -450,6 +589,14 @@ msgid "" "character 10), MacOS uses the carriage return (ASCII character 13), and " "Windows uses a two-character sequence of a carriage return plus a newline." msgstr "" +"Los tres principales sistemas operativos que se utilizan hoy en día son " +"Microsoft Windows, el sistema operativo Macintosh de Apple y los diversos " +"derivados de Unix. Una pequeña molestia del trabajo entre plataformas es " +"que estas tres plataformas utilizan diferentes caracteres para marcar el " +"final de las líneas en los archivos de texto. Unix utiliza el salto de " +"línea (carácter ASCII 10), MacOS utiliza el retorno de carro (carácter ASCII " +"13), y Windows utiliza una secuencia de dos caracteres de un retorno de " +"carro más una nueva línea." #: ../Doc/whatsnew/2.3.rst:384 msgid "" @@ -460,6 +607,13 @@ msgid "" "translated to a ``'\\n'`` in the strings returned by the various file " "methods such as :meth:`read` and :meth:`readline`." msgstr "" +"Los objetos de archivo de Python pueden ahora soportar convenciones de fin " +"de línea distintas de la que sigue la plataforma en la que se ejecuta " +"Python. Al abrir un archivo con el modo ``'U`` o ``'rU`` se abrirá un " +"archivo para su lectura en modo :term:`universal newlines`. Las tres " +"convenciones de final de línea se traducirán a un ``'\\n'`` en las cadenas " +"retornadas por los distintos métodos de archivo como :meth:`read` y :meth:" +"`readline`." #: ../Doc/whatsnew/2.3.rst:391 msgid "" @@ -468,6 +622,10 @@ msgid "" "modules can be shared between all three operating systems without needing to " "convert the line-endings." msgstr "" +"El soporte universal de nuevas líneas también se utiliza al importar módulos " +"y al ejecutar un archivo con la función :func:`execfile`. Esto significa " +"que los módulos de Python pueden ser compartidos entre los tres sistemas " +"operativos sin necesidad de convertir los finales de línea." #: ../Doc/whatsnew/2.3.rst:396 msgid "" @@ -475,18 +633,21 @@ msgid "" "`!--without-universal-newlines` switch when running Python's :program:" "`configure` script." msgstr "" +"Esta función puede desactivarse al compilar Python especificando la opción :" +"option:`!--without-universal-newlines` al ejecutar el script :program:" +"`configure` de Python." #: ../Doc/whatsnew/2.3.rst:403 msgid ":pep:`278` - Universal Newline Support" -msgstr "" +msgstr ":pep:`278` - Soporte universal de nuevas líneas" #: ../Doc/whatsnew/2.3.rst:404 msgid "Written and implemented by Jack Jansen." -msgstr "" +msgstr "Escrito y ejecutado por Jack Jansen." #: ../Doc/whatsnew/2.3.rst:412 msgid "PEP 279: enumerate()" -msgstr "" +msgstr "PEP 279: enumerate()" #: ../Doc/whatsnew/2.3.rst:414 msgid "" @@ -495,26 +656,32 @@ msgid "" "sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, " "thing[1])``, ``(2, thing[2])``, and so forth." msgstr "" +"Una nueva función incorporada, :func:`enumerate`, hará que ciertos bucles " +"sean un poco más claros. ``enumerate(cosa)``, donde *cosa* es un iterador o " +"una secuencia, retorna un iterador que retornará ``(0, cosa[0])``, ``(1, " +"cosa[1])``, ``(2, cosa[2])``, y así sucesivamente." #: ../Doc/whatsnew/2.3.rst:419 msgid "A common idiom to change every element of a list looks like this::" msgstr "" +"Un modismo común para cambiar cada elemento de una lista tiene el siguiente " +"aspecto::" #: ../Doc/whatsnew/2.3.rst:426 msgid "This can be rewritten using :func:`enumerate` as::" -msgstr "" +msgstr "Esto se puede reescribir usando :func:`enumerate` como::" #: ../Doc/whatsnew/2.3.rst:435 msgid ":pep:`279` - The enumerate() built-in function" -msgstr "" +msgstr ":pep:`279` - La función incorporada enumerate()" #: ../Doc/whatsnew/2.3.rst:436 msgid "Written and implemented by Raymond D. Hettinger." -msgstr "" +msgstr "Escrito y ejecutado por Raymond D. Hettinger." #: ../Doc/whatsnew/2.3.rst:442 msgid "PEP 282: The logging Package" -msgstr "" +msgstr "PEP 282: El paquete de registro" #: ../Doc/whatsnew/2.3.rst:444 msgid "" @@ -527,6 +694,15 @@ msgid "" "log, or even e-mail them to a particular address; of course, it's also " "possible to write your own handler classes." msgstr "" +"Se ha añadido a Python 2.3 un paquete estándar para escribir registros, :mod:" +"`logging`. Proporciona un mecanismo potente y flexible para generar salidas " +"de registro que pueden ser filtradas y procesadas de varias maneras. Se " +"puede utilizar un archivo de configuración escrito en un formato estándar " +"para controlar el comportamiento de registro de un programa. Python incluye " +"manejadores que escribirán los registros en el error estándar o en un " +"archivo o socket, los enviarán al registro del sistema, o incluso los " +"enviarán por correo electrónico a una dirección particular; por supuesto, " +"también es posible escribir tus propias clases de manejadores." #: ../Doc/whatsnew/2.3.rst:453 msgid "" @@ -542,16 +718,30 @@ msgid "" "auth`` and ``server.network``. There's also a root :class:`Logger` that's " "the parent of all other loggers." msgstr "" +"La clase :class:`Logger` es la clase principal. La mayoría del código de la " +"aplicación tratará con uno o más objetos :class:`Logger`, cada uno utilizado " +"por un subsistema particular de la aplicación. Cada :class:`Logger` se " +"identifica con un nombre, y los nombres se organizan en una jerarquía " +"utilizando ``.`` como separador de componentes. Por ejemplo, puedes tener " +"instancias de :class:`Logger` llamadas ``servidor``, ``servidor.auth`` y " +"``servidor.network``. Estas dos últimas instancias están por debajo de " +"``servidor`` en la jerarquía. Esto significa que si aumentas la verbosidad " +"de ``servidor`` o diriges los mensajes de ``servidor`` a un gestor " +"diferente, los cambios también se aplicarán a los registros de ``servidor." +"auth`` y ``servidor.network``. También hay un :class:`Logger` raíz que es el " +"padre de todos los demás loggers." #: ../Doc/whatsnew/2.3.rst:464 msgid "" "For simple uses, the :mod:`logging` package contains some convenience " "functions that always use the root log::" msgstr "" +"Para usos sencillos, el paquete :mod:`logging` contiene algunas funciones de " +"conveniencia que siempre utilizan la raíz log::" #: ../Doc/whatsnew/2.3.rst:475 ../Doc/whatsnew/2.3.rst:500 msgid "This produces the following output::" -msgstr "" +msgstr "Esto produce la siguiente salida::" #: ../Doc/whatsnew/2.3.rst:481 msgid "" @@ -560,6 +750,10 @@ msgid "" "display of informational and debugging messages by calling the :meth:" "`setLevel` method on the root logger." msgstr "" +"En la configuración por defecto, los mensajes informativos y de depuración " +"se suprimen y la salida se envía al error estándar. Puede habilitar la " +"visualización de mensajes informativos y de depuración llamando al método :" +"meth:`setLevel` del registrador raíz." #: ../Doc/whatsnew/2.3.rst:486 msgid "" @@ -567,6 +761,10 @@ msgid "" "the functions for logging messages take the arguments ``(msg, arg1, " "arg2, ...)`` and log the string resulting from ``msg % (arg1, arg2, ...)``." msgstr "" +"Observe que la llamada :func:`warning` utiliza operadores de formato de " +"cadena; todas las funciones para el registro de mensajes toman los " +"argumentos ``(msg, arg1, arg2, ...)`` y registran la cadena resultante de " +"``msg % (arg1, arg2, ...)``." #: ../Doc/whatsnew/2.3.rst:490 msgid "" @@ -574,6 +772,10 @@ msgid "" "traceback. Any of the other functions will also record the traceback if you " "specify a true value for the keyword argument *exc_info*. ::" msgstr "" +"También hay una función :func:`exception` que registra el rastro más " +"reciente. Cualquiera de las otras funciones también registrará el rastro si " +"se especifica un valor verdadero para el argumento de la palabra clave " +"*exc_info*. ::" #: ../Doc/whatsnew/2.3.rst:508 msgid "" @@ -582,6 +784,10 @@ msgid "" "creating it if it doesn't exist yet. ``getLogger(None)`` returns the root " "logger. ::" msgstr "" +"Los programas un poco más avanzados utilizarán un logger distinto del logger " +"raíz. La función ``getLogger(nombre)`` se utiliza para obtener un registro " +"en particular, creándolo si aún no existe. ``getLogger(None)`` retorna el " +"logger raíz. ::" #: ../Doc/whatsnew/2.3.rst:519 msgid "" @@ -590,6 +796,10 @@ msgid "" "`Logger` can prevent this by setting its :attr:`propagate` attribute to :" "const:`False`." msgstr "" +"Los registros se suelen propagar hacia arriba en la jerarquía, por lo que un " +"mensaje registrado en ``servidor.auth`` también es visto por ``servidor`` y " +"``root``, pero un :class:`Logger` puede evitar esto estableciendo su " +"atributo :attr:`propagate` a :const:`False`." #: ../Doc/whatsnew/2.3.rst:523 msgid "" @@ -603,6 +813,16 @@ msgid "" "by a :class:`Formatter` class. All of these classes can be replaced by your " "own specially-written classes." msgstr "" +"Hay más clases proporcionadas por el paquete :mod:`logging` que pueden ser " +"personalizadas. Cuando una instancia de :class:`Logger` recibe la orden de " +"registrar un mensaje, crea una instancia de :class:`LogRecord` que se envía " +"a cualquier número de instancias de :class:`Handler` diferentes. Los " +"loggers y handlers también pueden tener una lista adjunta de filtros, y cada " +"filtro puede hacer que el :class:`LogRecord` sea ignorado o puede modificar " +"el registro antes de pasarlo. Cuando finalmente se emiten, las instancias " +"de :class:`LogRecord` se convierten en texto mediante una clase :class:" +"`Formatter`. Todas estas clases pueden ser reemplazadas por tus propias " +"clases especialmente escritas." #: ../Doc/whatsnew/2.3.rst:533 msgid "" @@ -612,18 +832,23 @@ msgid "" "documentation for all of the details. Reading :pep:`282` will also be " "helpful." msgstr "" +"Con todas estas características, el paquete :mod:`logging` debería " +"proporcionar suficiente flexibilidad incluso para las aplicaciones más " +"complicadas. Esto es sólo un resumen incompleto de sus características, así " +"que por favor consulte la documentación de referencia del paquete para todos " +"los detalles. La lectura de :pep:`282` también será útil." #: ../Doc/whatsnew/2.3.rst:541 msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - Un sistema de registro" #: ../Doc/whatsnew/2.3.rst:542 msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." -msgstr "" +msgstr "Escrito por Vinay Sajip y Trent Mick; implementado por Vinay Sajip." #: ../Doc/whatsnew/2.3.rst:550 msgid "PEP 285: A Boolean Type" -msgstr "" +msgstr "PEP 285: Un tipo booleano" #: ../Doc/whatsnew/2.3.rst:552 msgid "" @@ -633,6 +858,11 @@ msgid "" "2.2.1, but the 2.2.1 versions are simply set to integer values of 1 and 0 " "and aren't a different type.)" msgstr "" +"Se ha añadido un tipo booleano a Python 2.3. Se añadieron dos nuevas " +"constantes al módulo :mod:`__builtin__`, :const:`True` y :const:`False`. " +"(Las constantes :const:`True` y :const:`False` se añadieron a los módulos " +"incorporados en Python 2.2.1, pero las versiones de 2.2.1 se ajustan " +"simplemente a valores enteros de 1 y 0 y no son un tipo diferente)" #: ../Doc/whatsnew/2.3.rst:558 msgid "" @@ -640,12 +870,17 @@ msgid "" "for it takes any Python value and converts it to :const:`True` or :const:" "`False`. ::" msgstr "" +"El objeto de tipo para este nuevo tipo se denomina :class:`bool`; su " +"constructor toma cualquier valor de Python y lo convierte en :const:`True` " +"o :const:`False`. ::" #: ../Doc/whatsnew/2.3.rst:570 msgid "" "Most of the standard library modules and built-in functions have been " "changed to return Booleans. ::" msgstr "" +"La mayoría de los módulos de la biblioteca estándar y las funciones " +"incorporadas se han modificado para retornar booleanos. ::" #: ../Doc/whatsnew/2.3.rst:581 msgid "" @@ -656,6 +891,12 @@ msgid "" "the statement is ``return True``, however, the meaning of the return value " "is quite clear." msgstr "" +"Los booleanos de Python se añadieron con el objetivo principal de hacer el " +"código más claro. Por ejemplo, si estás leyendo una función y te encuentras " +"con la sentencia ``return 1``, podrías preguntarte si el ``1`` representa un " +"valor de verdad booleano, un índice o un coeficiente que multiplica alguna " +"otra cantidad. Sin embargo, si la sentencia es ``return True``, el " +"significado del valor de retorno es bastante claro." #: ../Doc/whatsnew/2.3.rst:587 msgid "" @@ -669,6 +910,15 @@ msgid "" "a subclass of the :class:`int` class so that arithmetic using a Boolean " "still works. ::" msgstr "" +"Los booleanos de Python *no* se añadieron en aras de una comprobación de " +"tipos estricta. Un lenguaje muy estricto como Pascal también le impediría " +"realizar aritmética con booleanos, y requeriría que la expresión en una " +"declaración :keyword:`if` siempre se evaluara a un resultado booleano. " +"Python no es tan estricto y nunca lo será, como dice explícitamente :pep:" +"`285`. Esto significa que puede utilizar cualquier expresión en una " +"sentencia :keyword:`!if`, incluso las que se evalúan a una lista o tupla o " +"algún objeto aleatorio. El tipo Booleano es una subclase de la clase :class:" +"`int` por lo que la aritmética que utiliza un Booleano sigue funcionando. ::" #: ../Doc/whatsnew/2.3.rst:605 msgid "" @@ -677,18 +927,22 @@ msgid "" "difference that :func:`str` and :func:`repr` return the strings ``'True'`` " "and ``'False'`` instead of ``'1'`` and ``'0'``." msgstr "" +"Para resumir :const:`True` and :const:`False` en una frase: son formas " +"alternativas de deletrear los valores enteros 1 y 0, con la única diferencia " +"de que :func:`str` y :func:`repr` retornan las cadenas ``Verdadero`` y " +"``Falso`` en lugar de ``1`` y ``0``." #: ../Doc/whatsnew/2.3.rst:613 msgid ":pep:`285` - Adding a bool type" -msgstr "" +msgstr ":pep:`285` - Añadir un tipo booleano" #: ../Doc/whatsnew/2.3.rst:614 msgid "Written and implemented by GvR." -msgstr "" +msgstr "Escrito y ejecutado por GvR." #: ../Doc/whatsnew/2.3.rst:620 msgid "PEP 293: Codec Error Handling Callbacks" -msgstr "" +msgstr "PEP 293: Llamadas de retorno para el manejo de errores del códec" #: ../Doc/whatsnew/2.3.rst:622 msgid "" @@ -701,6 +955,14 @@ msgid "" "inserting an XML character reference or HTML entity reference into the " "converted string." msgstr "" +"Al codificar una cadena Unicode en una cadena de bytes, pueden encontrarse " +"caracteres no codificables. Hasta ahora, Python ha permitido especificar el " +"procesamiento del error como \"estricto\" (lanzando :exc:`UnicodeError`), " +"\"ignorar\" (saltando el carácter), o \"reemplazar\" (usando un signo de " +"interrogación en la cadena de salida), siendo \"estricto\" el comportamiento " +"por defecto. Puede ser deseable especificar un procesamiento alternativo de " +"tales errores, como insertar una referencia de carácter XML o una referencia " +"de entidad HTML en la cadena convertida." #: ../Doc/whatsnew/2.3.rst:630 msgid "" @@ -713,6 +975,15 @@ msgid "" "target encoding. The handler can then either raise an exception or return a " "replacement string." msgstr "" +"Python tiene ahora un marco flexible para añadir diferentes estrategias de " +"procesamiento. Se pueden añadir nuevos manejadores de errores con :func:" +"`codecs.register_error`, y los códecs pueden acceder al manejador de errores " +"con :func:`codecs.lookup_error`. Se ha añadido una API en C equivalente para " +"los códecs escritos en C. El gestor de errores obtiene la información de " +"estado necesaria, como la cadena que se está convirtiendo, la posición en la " +"cadena donde se ha detectado el error y la codificación de destino. El " +"controlador puede entonces lanzar una excepción o retornar una cadena de " +"reemplazo." #: ../Doc/whatsnew/2.3.rst:638 msgid "" @@ -720,24 +991,30 @@ msgid "" "\"backslashreplace\" uses Python backslash quoting to represent unencodable " "characters and \"xmlcharrefreplace\" emits XML character references." msgstr "" +"Se han implementado dos manejadores de error adicionales utilizando este " +"marco: \"backslashreplace\" utiliza las comillas de barra invertida de " +"Python para representar los caracteres no codificables y \"xmlcharrefreplace" +"\" emite referencias de caracteres XML." #: ../Doc/whatsnew/2.3.rst:645 msgid ":pep:`293` - Codec Error Handling Callbacks" -msgstr "" +msgstr ":pep:`293` - Retrollamadas de manejo de errores del códec" #: ../Doc/whatsnew/2.3.rst:646 msgid "Written and implemented by Walter Dörwald." -msgstr "" +msgstr "Escrito y ejecutado por Walter Dörwald." #: ../Doc/whatsnew/2.3.rst:654 msgid "PEP 301: Package Index and Metadata for Distutils" -msgstr "" +msgstr "PEP 301: Índice de paquetes y metadatos para Distutils" #: ../Doc/whatsnew/2.3.rst:656 msgid "" "Support for the long-requested Python catalog makes its first appearance in " "2.3." msgstr "" +"La compatibilidad con el catálogo de Python, largamente solicitada, hace su " +"primera aparición en 2.3." #: ../Doc/whatsnew/2.3.rst:658 msgid "" @@ -747,6 +1024,11 @@ msgid "" "it to a central catalog server. The resulting catalog is available from " "https://pypi.org." msgstr "" +"El corazón del catálogo es el nuevo comando :command:`register` de " +"Distutils. Ejecutando ``python setup.py register`` se recogen los metadatos " +"que describen un paquete, como su nombre, versión, mantenedor, descripción, " +"etc., y se envían a un servidor de catálogo central. El catálogo resultante " +"está disponible en https://pypi.org." #: ../Doc/whatsnew/2.3.rst:664 msgid "" @@ -755,30 +1037,38 @@ msgid "" "`Trove `_-style strings can be supplied to help " "classify the software." msgstr "" +"Para hacer el catálogo un poco más útil, se ha añadido un nuevo argumento " +"opcional de palabra clave *clasificadores* a la función Distutils :func:" +"`setup`. Se puede suministrar una lista de cadenas de estilo `Trove `_ para ayudar a clasificar el software." #: ../Doc/whatsnew/2.3.rst:669 msgid "" "Here's an example :file:`setup.py` with classifiers, written to be " "compatible with older versions of the Distutils::" msgstr "" +"Aquí hay un ejemplo :file:`setup.py` con clasificadores, escrito para que " +"sea compatible con las versiones más antiguas de Distutils::" #: ../Doc/whatsnew/2.3.rst:688 msgid "" "The full list of classifiers can be obtained by running ``python setup.py " "register --list-classifiers``." msgstr "" +"La lista completa de clasificadores se puede obtener ejecutando ``python " +"setup.py register --list-classifiers``." #: ../Doc/whatsnew/2.3.rst:694 msgid ":pep:`301` - Package Index and Metadata for Distutils" -msgstr "" +msgstr ":pep:`301` - Índice de paquetes y metadatos para Distutils" #: ../Doc/whatsnew/2.3.rst:695 msgid "Written and implemented by Richard Jones." -msgstr "" +msgstr "Escrito y ejecutado por Richard Jones." #: ../Doc/whatsnew/2.3.rst:703 msgid "PEP 302: New Import Hooks" -msgstr "" +msgstr "PEP 302: Nuevos ganchos de importación" #: ../Doc/whatsnew/2.3.rst:705 msgid "" @@ -789,6 +1079,12 @@ msgid "" "and :mod:`iu` modules, but none of them has ever gained much acceptance, and " "none of them were easily usable from C code." msgstr "" +"Aunque ha sido posible escribir ganchos de importación personalizados desde " +"que se introdujo el módulo :mod:`ihooks` en Python 1.3, nadie ha estado " +"nunca realmente contento con él porque escribir nuevos ganchos de " +"importación es difícil y complicado. Se han propuesto varias alternativas, " +"como los módulos :mod:`imputil` y :mod:`iu`, pero ninguno de ellos ha tenido " +"mucha aceptación, y ninguno era fácilmente utilizable desde el código C." #: ../Doc/whatsnew/2.3.rst:712 msgid "" @@ -796,6 +1092,9 @@ msgid "" "McMillan's :mod:`iu` module. Three new items are added to the :mod:`sys` " "module:" msgstr "" +":pep:`302` toma prestadas ideas de sus predecesores, especialmente del " +"módulo :mod:`iu` de Gordon McMillan. Se añaden tres nuevos elementos al " +"módulo :mod:`sys`:" #: ../Doc/whatsnew/2.3.rst:716 msgid "" @@ -804,12 +1103,19 @@ msgid "" "an importer object that will handle imports from this path or raises an :exc:" "`ImportError` exception if it can't handle this path." msgstr "" +"``sys.path_hooks`` es una lista de objetos invocables; la mayoría de las " +"veces serán clases. Cada llamada toma una cadena que contiene una ruta y " +"retorna un objeto importador que manejará las importaciones desde esta ruta " +"o lanza una excepción :exc:`ImportError` si no puede manejar esta ruta." #: ../Doc/whatsnew/2.3.rst:721 msgid "" "``sys.path_importer_cache`` caches importer objects for each path, so ``sys." "path_hooks`` will only need to be traversed once for each path." msgstr "" +"``sys.path_importer_cache`` almacena en caché los objetos del importador " +"para cada ruta, por lo que ``sys.path_hooks`` sólo tendrá que ser recorrido " +"una vez para cada ruta." #: ../Doc/whatsnew/2.3.rst:724 msgid "" @@ -818,6 +1124,11 @@ msgid "" "can add objects to it. Additional built-in and frozen modules can be " "imported by an object added to this list." msgstr "" +"``sys.meta_path`` es una lista de objetos importadores que se recorrerán " +"antes de comprobar ``sys.path``. Esta lista está inicialmente vacía, pero " +"el código de usuario puede añadir objetos a ella. Los módulos adicionales " +"incorporados y congelados pueden ser importados por un objeto añadido a esta " +"lista." #: ../Doc/whatsnew/2.3.rst:729 msgid "" @@ -827,25 +1138,35 @@ msgid "" "has a single method, ``load_module(fullname)``, that creates and returns the " "corresponding module object." msgstr "" +"Los objetos importadores deben tener un único método, " +"``find_module(fullname, path=None)``. *fullname* será un nombre de módulo o " +"paquete, por ejemplo ``string`` o ``distutils.core``. :meth:`find_module` " +"debe retornar un objeto cargador que tenga un único método, " +"``load_module(fullname)``, que cree y retorne el objeto módulo " +"correspondiente." #: ../Doc/whatsnew/2.3.rst:735 msgid "" "Pseudo-code for Python's new import logic, therefore, looks something like " "this (simplified a bit; see :pep:`302` for the full details)::" msgstr "" +"Por lo tanto, el pseudocódigo de la nueva lógica de importación de Python es " +"algo así (simplificado un poco; véase :pep:`302` para los detalles " +"completos)::" #: ../Doc/whatsnew/2.3.rst:760 msgid ":pep:`302` - New Import Hooks" -msgstr "" +msgstr ":pep:`302` - Nuevos ganchos de importación" #: ../Doc/whatsnew/2.3.rst:761 msgid "" "Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum." msgstr "" +"Escrito por Just van Rossum y Paul Moore. Implementado por Just van Rossum." #: ../Doc/whatsnew/2.3.rst:769 msgid "PEP 305: Comma-separated Files" -msgstr "" +msgstr "PEP 305: Archivos separados por comas" #: ../Doc/whatsnew/2.3.rst:771 msgid "" @@ -853,22 +1174,31 @@ msgid "" "databases and spreadsheets. Python 2.3 adds a parser for comma-separated " "files." msgstr "" +"Los archivos separados por comas son un formato frecuentemente utilizado " +"para exportar datos de bases de datos y hojas de cálculo. Python 2.3 añade " +"un analizador de archivos separados por comas." #: ../Doc/whatsnew/2.3.rst:774 msgid "Comma-separated format is deceptively simple at first glance::" msgstr "" +"El formato separado por comas es engañosamente sencillo a primera vista::" #: ../Doc/whatsnew/2.3.rst:778 msgid "" "Read a line and call ``line.split(',')``: what could be simpler? But toss in " "string data that can contain commas, and things get more complicated::" msgstr "" +"Leer una línea y llamar a ``line.split(',')``: ¿qué puede ser más sencillo? " +"Pero si se añaden datos de cadena que pueden contener comas, las cosas se " +"complican::" #: ../Doc/whatsnew/2.3.rst:783 msgid "" "A big ugly regular expression can parse this, but using the new :mod:`csv` " "package is much simpler::" msgstr "" +"Una expresión regular grande y fea puede analizar esto, pero usar el nuevo " +"paquete :mod:`csv` es mucho más sencillo::" #: ../Doc/whatsnew/2.3.rst:793 msgid "" @@ -876,6 +1206,9 @@ msgid "" "separator isn't limited to the comma and can be changed to any character, " "and so can the quoting and line-ending characters." msgstr "" +"La función :func:`reader` admite varias opciones. El separador de campos no " +"se limita a la coma y puede cambiarse por cualquier carácter, al igual que " +"las comillas y el final de línea." #: ../Doc/whatsnew/2.3.rst:797 msgid "" @@ -884,20 +1217,27 @@ msgid "" "class:`csv.writer` class will generate comma-separated files from a " "succession of tuples or lists, quoting strings that contain the delimiter." msgstr "" +"Se pueden definir y registrar diferentes dialectos de archivos separados por " +"comas; actualmente hay dos dialectos, ambos utilizados por Microsoft Excel. " +"Una clase :class:`csv.writer` independiente generará archivos separados por " +"comas a partir de una sucesión de tuplas o listas, citando cadenas que " +"contengan el delimitador." #: ../Doc/whatsnew/2.3.rst:806 msgid ":pep:`305` - CSV File API" -msgstr "" +msgstr ":pep:`305` - API de archivos CSV" #: ../Doc/whatsnew/2.3.rst:806 msgid "" "Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip " "Montanaro, Cliff Wells." msgstr "" +"Escrito y realizado por Kevin Altis, Dave Cole, Andrew McNamara, Skip " +"Montanaro, Cliff Wells." #: ../Doc/whatsnew/2.3.rst:815 msgid "PEP 307: Pickle Enhancements" -msgstr "" +msgstr "PEP 307: Mejoras en Pickle" #: ../Doc/whatsnew/2.3.rst:817 msgid "" @@ -907,6 +1247,12 @@ msgid "" "quotes a trivial example where a new-style class results in a pickled string " "three times longer than that for a classic class." msgstr "" +"Los módulos :mod:`pickle` y :mod:`cPickle` recibieron cierta atención " +"durante el ciclo de desarrollo de la 2.3. En 2.2, las clases de estilo " +"nuevo podían ser desempaquetadas sin dificultad, pero no se desempaquetaba " +"de forma muy compacta; :pep:`307` cita un ejemplo trivial en el que una " +"clase de estilo nuevo da lugar a una cadena desempaquetada tres veces más " +"larga que la de una clase clásica." #: ../Doc/whatsnew/2.3.rst:823 msgid "" @@ -917,6 +1263,13 @@ msgid "" "format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to " "select the fanciest protocol available." msgstr "" +"La solución fue inventar un nuevo protocolo pickle. La función :func:" +"`pickle.dumps` soporta desde hace tiempo una bandera de texto o binario. En " +"la versión 2.3, esta bandera se ha redefinido, pasando de ser un booleano a " +"un entero: 0 es el antiguo formato pickle en modo texto, 1 es el antiguo " +"formato binario, y ahora 2 es un nuevo formato específico de 2.3. Una nueva " +"constante, :const:`pickle.HIGHEST_PROTOCOL`, puede utilizarse para " +"seleccionar el protocolo más elegante disponible." #: ../Doc/whatsnew/2.3.rst:830 msgid "" @@ -926,6 +1279,12 @@ msgid "" "this code was ever audited and therefore it's all been ripped out in 2.3. " "You should not unpickle untrusted data in any version of Python." msgstr "" +"El unpickling ya no se considera una operación segura. El :mod:`pickle` de " +"la versión 2.2 proporcionaba ganchos para tratar de evitar que las clases no " +"seguras fueran deserializadas (específicamente, un atributo :attr:" +"`__safe_for_unpickling__`), pero nada de este código fue nunca auditado y " +"por lo tanto todo ha sido eliminado en la versión 2.3. No se debe " +"deserializar datos no confiables en ninguna versión de Python." #: ../Doc/whatsnew/2.3.rst:836 msgid "" @@ -934,6 +1293,11 @@ msgid "" "`__getstate__`, :meth:`__setstate__`, and :meth:`__getnewargs__`. Consult :" "pep:`307` for the full semantics of these methods." msgstr "" +"Para reducir la sobrecarga de pickling de las clases de estilo nuevo, se ha " +"añadido una nueva interfaz para personalizar el pickling mediante tres " +"métodos especiales: :meth:`__getstate__`, :meth:`__setstate__`, y :meth:" +"`__getnewargs__`. Consulte :pep:`307` para conocer la semántica completa de " +"estos métodos." #: ../Doc/whatsnew/2.3.rst:841 msgid "" @@ -942,18 +1306,23 @@ msgid "" "Software Foundation will maintain a list of standardized codes; there's also " "a range of codes for private use. Currently no codes have been specified." msgstr "" +"Como forma de comprimir aún más los pickles, ahora es posible utilizar " +"códigos enteros en lugar de cadenas largas para identificar las clases " +"serializadas. La Python Software Foundation mantendrá una lista de códigos " +"estandarizados; también hay una gama de códigos para uso privado. " +"Actualmente no se ha especificado ningún código." #: ../Doc/whatsnew/2.3.rst:849 msgid ":pep:`307` - Extensions to the pickle protocol" -msgstr "" +msgstr ":pep:`307` - Extensiones del protocolo pickle" #: ../Doc/whatsnew/2.3.rst:850 msgid "Written and implemented by Guido van Rossum and Tim Peters." -msgstr "" +msgstr "Escrito y ejecutado por Guido van Rossum y Tim Peters." #: ../Doc/whatsnew/2.3.rst:858 msgid "Extended Slices" -msgstr "" +msgstr "Rebanadas ampliadas" #: ../Doc/whatsnew/2.3.rst:860 msgid "" @@ -965,21 +1334,33 @@ msgid "" "sequence types have never supported this feature, raising a :exc:`TypeError` " "if you tried it. Michael Hudson contributed a patch to fix this shortcoming." msgstr "" +"Desde la versión 1.4 de Python, la sintaxis de corte admite un tercer " +"argumento opcional \"paso\" o \"zancada\". Por ejemplo, estas son todas las " +"sintaxis legales de Python: ``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. Esto " +"se añadió a Python a petición de los desarrolladores de Numerical Python, " +"que utiliza ampliamente el tercer argumento. Sin embargo, los tipos de " +"secuencias de listas, tuplas y cadenas incorporados en Python nunca han " +"soportado esta característica, y lanzan un :exc:`TypeError` si lo intentas. " +"Michael Hudson ha contribuido con un parche para solucionar este problema." #: ../Doc/whatsnew/2.3.rst:868 msgid "" "For example, you can now easily extract the elements of a list that have " "even indexes::" msgstr "" +"Por ejemplo, ahora puede extraer fácilmente los elementos de una lista que " +"tengan índices pares::" #: ../Doc/whatsnew/2.3.rst:875 msgid "" "Negative values also work to make a copy of the same list in reverse order::" msgstr "" +"Los valores negativos también sirven para hacer una copia de la misma lista " +"en orden inverso::" #: ../Doc/whatsnew/2.3.rst:880 msgid "This also works for tuples, arrays, and strings::" -msgstr "" +msgstr "Esto también funciona para tuplas, arrays y cadenas::" #: ../Doc/whatsnew/2.3.rst:888 msgid "" @@ -988,6 +1369,10 @@ msgid "" "assignment to extended and regular slices. Assignment to a regular slice " "can be used to change the length of the sequence::" msgstr "" +"Si tienes una secuencia mutable, como una lista o un array, puedes asignar o " +"eliminar una rebanada extendida, pero hay algunas diferencias entre la " +"asignación a rebanadas extendidas y regulares. La asignación a una rebanada " +"regular se puede utilizar para cambiar la longitud de la secuencia::" #: ../Doc/whatsnew/2.3.rst:900 msgid "" @@ -995,20 +1380,25 @@ msgid "" "the list on the right hand side of the statement must contain the same " "number of items as the slice it is replacing::" msgstr "" +"Las rebanadas extendidas no son tan flexibles. Cuando se asigna a una " +"rebanada extendida, la lista a la derecha de la declaración debe contener el " +"mismo número de elementos que la rebanada que está reemplazando::" #: ../Doc/whatsnew/2.3.rst:917 msgid "Deletion is more straightforward::" -msgstr "" +msgstr "La eliminación es más sencilla::" #: ../Doc/whatsnew/2.3.rst:928 msgid "" "One can also now pass slice objects to the :meth:`__getitem__` methods of " "the built-in sequences::" msgstr "" +"Ahora también se pueden pasar objetos slice a los métodos :meth:" +"`__getitem__` de las secuencias incorporadas::" #: ../Doc/whatsnew/2.3.rst:934 msgid "Or use slice objects directly in subscripts::" -msgstr "" +msgstr "O utilizar los objetos de corte directamente en los subíndices::" #: ../Doc/whatsnew/2.3.rst:939 msgid "" @@ -1020,6 +1410,13 @@ msgid "" "phrase hides a welter of confusing details!). The method is intended to be " "used like this::" msgstr "" +"Para simplificar la implementación de secuencias que soportan el corte " +"extendido, los objetos slice tienen ahora un método ``indices(length)`` que, " +"dada la longitud de una secuencia, retorna una tupla ``(start, stop, step)`` " +"que puede pasarse directamente a :func:`range`. :meth:`indices` maneja los " +"índices omitidos y los que están fuera de los límites de una manera " +"consistente con los slices regulares (¡y esta frase inocua esconde un montón " +"de detalles confusos!). El método está pensado para ser utilizado así::" #: ../Doc/whatsnew/2.3.rst:957 msgid "" @@ -1028,28 +1425,38 @@ msgid "" "This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., " "underwent the same change." msgstr "" +"En este ejemplo también se puede ver que el objeto incorporado :class:" +"`slice` es ahora el objeto tipo para el tipo slice, y ya no es una función. " +"Esto es consistente con Python 2.2, donde :class:`int`, :class:`str`, etc., " +"sufrieron el mismo cambio." #: ../Doc/whatsnew/2.3.rst:966 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios en el lenguaje" #: ../Doc/whatsnew/2.3.rst:968 msgid "" "Here are all of the changes that Python 2.3 makes to the core Python " "language." msgstr "" +"Estos son todos los cambios que Python 2.3 introduce en el núcleo del " +"lenguaje Python." #: ../Doc/whatsnew/2.3.rst:970 msgid "" "The :keyword:`yield` statement is now always a keyword, as described in " "section :ref:`section-generators` of this document." msgstr "" +"La expresión :keyword:`yield` es ahora siempre una palabra clave, como se " +"describe en la sección :ref:`section-generators` de este documento." #: ../Doc/whatsnew/2.3.rst:973 msgid "" "A new built-in function :func:`enumerate` was added, as described in " "section :ref:`section-enumerate` of this document." msgstr "" +"Se ha añadido una nueva función incorporada :func:`enumerate`, como se " +"describe en la sección :ref:`section-enumerate` de este documento." #: ../Doc/whatsnew/2.3.rst:976 msgid "" @@ -1057,6 +1464,9 @@ msgid "" "the built-in :class:`bool` type, as described in section :ref:`section-bool` " "of this document." msgstr "" +"Se han añadido dos nuevas constantes, :const:`True` y :const:`False` junto " +"con el tipo incorporado :class:`bool`, como se describe en la sección :ref:" +"`section-bool` de este documento." #: ../Doc/whatsnew/2.3.rst:980 msgid "" @@ -1066,12 +1476,19 @@ msgid "" "that ``isinstance(int(expression), int)`` is false, but that seems unlikely " "to cause problems in practice." msgstr "" +"El constructor de tipo :func:`int` ahora retornará un entero largo en lugar " +"de lanzar un :exc:`OverflowError` cuando una cadena o un número de punto " +"flotante es demasiado grande para caber en un entero. Esto puede llevar al " +"resultado paradójico de que ``isinstance(int(expresión), int)`` sea falso, " +"pero parece poco probable que cause problemas en la práctica." #: ../Doc/whatsnew/2.3.rst:986 msgid "" "Built-in types now support the extended slicing syntax, as described in " "section :ref:`section-slices` of this document." msgstr "" +"Los tipos incorporados ahora soportan la sintaxis de rebanado extendida, " +"como se describe en la sección :ref:`section-slices` de este documento." #: ../Doc/whatsnew/2.3.rst:989 msgid "" @@ -1080,6 +1497,10 @@ msgid "" "accepts numbers, meaning that you can't use it to concatenate a bunch of " "strings. (Contributed by Alex Martelli.)" msgstr "" +"Una nueva función incorporada, ``suma(iterable, start=0)``, suma los " +"elementos numéricos en el objeto iterable y retorna su suma. :func:`suma` " +"sólo acepta números, lo que significa que no se puede utilizar para " +"concatenar un montón de cadenas. (Contribución de Alex Martelli)" #: ../Doc/whatsnew/2.3.rst:994 msgid "" @@ -1088,6 +1509,10 @@ msgid "" "consistent with slice indexing, so when *pos* is -1 the value will be " "inserted before the last element, and so forth." msgstr "" +"``list.insert(pos, valor)`` solía insertar *valor* al principio de la lista " +"cuando *pos* era negativo. El comportamiento ha sido cambiado para ser " +"consistente con la indexación de las rebanadas, así que cuando *pos* es -1 " +"el valor será insertado antes del último elemento, y así sucesivamente." #: ../Doc/whatsnew/2.3.rst:999 msgid "" @@ -1095,6 +1520,9 @@ msgid "" "returns its index, now takes optional *start* and *stop* arguments to limit " "the search to only part of the list." msgstr "" +"``list.index(value)``, que busca *valor* dentro de la lista y retorna su " +"índice, ahora toma los argumentos opcionales *start* y *stop* para limitar " +"la búsqueda sólo a una parte de la lista." #: ../Doc/whatsnew/2.3.rst:1003 msgid "" @@ -1103,6 +1531,11 @@ msgid "" "dictionary. If the requested key isn't present in the dictionary, *default* " "is returned if it's specified and :exc:`KeyError` raised if it isn't. ::" msgstr "" +"Los diccionarios tienen un nuevo método, ``pop(key[, *default*])``, que " +"retorna el valor correspondiente a *key* y elimina ese par clave/valor del " +"diccionario. Si la clave solicitada no está presente en el diccionario, se " +"retorna *default* si está especificada y se lanza :exc:`KeyError` si no lo " +"está:" #: ../Doc/whatsnew/2.3.rst:1025 msgid "" @@ -1110,20 +1543,26 @@ msgid "" "creates a dictionary with keys taken from the supplied iterator *iterable* " "and all values set to *value*, defaulting to ``None``." msgstr "" +"También hay un nuevo método de clase, ``dict.fromkeys(iterable, value)``, " +"que crea un diccionario con claves tomadas del iterador *iterable* " +"suministrado y todos los valores establecidos a *value*, por defecto a " +"``None``." #: ../Doc/whatsnew/2.3.rst:1029 msgid "(Patches contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Parches aportados por Raymond Hettinger)" #: ../Doc/whatsnew/2.3.rst:1031 msgid "" "Also, the :func:`dict` constructor now accepts keyword arguments to simplify " "creating small dictionaries::" msgstr "" +"Además, el constructor :func:`dict` ahora acepta argumentos de palabras " +"clave para simplificar la creación de pequeños diccionarios::" #: ../Doc/whatsnew/2.3.rst:1037 msgid "(Contributed by Just van Rossum.)" -msgstr "" +msgstr "(Contribución de Just van Rossum.)" #: ../Doc/whatsnew/2.3.rst:1039 msgid "" @@ -1132,6 +1571,10 @@ msgid "" "Python with the :option:`-O` switch will still generate code that doesn't " "execute any assertions." msgstr "" +"La expresión :keyword:`assert` ya no comprueba la bandera ``debug__``, por " +"lo que ya no se pueden desactivar las aserciones asignando a ``__debug__``. " +"Ejecutar Python con la opción :option:`-O` seguirá generando código que no " +"ejecute ninguna aserción." #: ../Doc/whatsnew/2.3.rst:1044 msgid "" @@ -1141,6 +1584,12 @@ msgid "" "now use the type objects available in the :mod:`types` module.) For example, " "you can create a new module object with the following code:" msgstr "" +"La mayoría de los objetos de tipo son ahora invocables, por lo que puedes " +"usarlos para crear nuevos objetos como funciones, clases y módulos. (Esto " +"significa que el módulo :mod:`new` puede quedar obsoleto en una futura " +"versión de Python, porque ahora puedes utilizar los objetos de tipo " +"disponibles en el módulo :mod:`types`) Por ejemplo, puede crear un nuevo " +"objeto de módulo con el siguiente código:" #: ../Doc/whatsnew/2.3.rst:1059 msgid "" @@ -1151,6 +1600,12 @@ msgid "" "PendingDeprecationWarning:: <-W>` on the command line or use :func:`warnings." "filterwarnings`." msgstr "" +"Se ha añadido una nueva advertencia, :exc:`PendingDeprecationWarning` para " +"indicar las características que están en proceso de ser obsoletas. La " +"advertencia no se imprimirá por defecto. Para comprobar el uso de funciones " +"que quedarán obsoletas en el futuro, proporcione :option:`-Walways::" +"PendingDeprecationWarning:: <-W>` en la línea de comandos o utilice :func:" +"`warnings.filterwarnings`." #: ../Doc/whatsnew/2.3.rst:1065 msgid "" @@ -1158,6 +1613,9 @@ msgid "" "occurred\"``, has begun. Raising a string will now trigger :exc:" "`PendingDeprecationWarning`." msgstr "" +"Ha comenzado el proceso de desaprobación de las excepciones basadas en " +"cadenas, como en ``lanzamiento de \"Error ocurred”``. Al lanzar una cadena, " +"ahora se activará :exc:`PendingDeprecationWarning`." #: ../Doc/whatsnew/2.3.rst:1069 msgid "" @@ -1165,6 +1623,9 @@ msgid "" "warning. In a future version of Python, ``None`` may finally become a " "keyword." msgstr "" +"El uso de ``None`` como nombre de una variable ahora resultará en una " +"advertencia :exc:`SyntaxWarning`. En una futura versión de Python, ``None`` " +"podría convertirse en una palabra clave." #: ../Doc/whatsnew/2.3.rst:1072 msgid "" @@ -1176,6 +1637,15 @@ msgid "" "encoding used by the file; Unicode strings written to the file will be " "automatically converted to bytes using the given encoding." msgstr "" +"El método :meth:`xreadlines` de los objetos archivo, introducido en Python " +"2.1, ya no es necesario porque los archivos se comportan ahora como su " +"propio iterador. :meth:`xreadlines` se introdujo originalmente como una " +"forma más rápida de recorrer todas las líneas de un archivo, pero ahora se " +"puede escribir simplemente ``for line in file_obj``. Los objetos archivo " +"también tienen un nuevo atributo :attr:`encoding` de sólo lectura que " +"proporciona la codificación utilizada por el archivo; las cadenas Unicode " +"escritas en el archivo se convertirán automáticamente a bytes utilizando la " +"codificación dada." #: ../Doc/whatsnew/2.3.rst:1080 msgid "" @@ -1192,6 +1662,19 @@ msgid "" "pipermail/python-dev/2002-October/029035.html. Samuele Pedroni first pointed " "out the problem and also implemented the fix by coding the C3 algorithm." msgstr "" +"El orden de resolución de los métodos utilizados por las clases del nuevo " +"estilo ha cambiado, aunque sólo notarás la diferencia si tienes una " +"jerarquía de herencia realmente complicada. Las clases clásicas no se ven " +"afectadas por este cambio. Python 2.2 originalmente utilizaba una " +"ordenación topológica de los ancestros de una clase, pero 2.3 ahora utiliza " +"el algoritmo C3 como se describe en el artículo `\"A Monotonic Superclass " +"Linearization for Dylan\" `_. Para entender la motivación de este cambio, lea el " +"artículo de Michele Simionato `\"Python 2.3 Method Resolution Order\" " +"`_, o lea el hilo en python-" +"dev que comienza con el mensaje en https://mail.python.org/pipermail/python-" +"dev/2002-October/029035.html. Samuele Pedroni fue el primero en señalar el " +"problema y también implementó la solución codificando el algoritmo C3." #: ../Doc/whatsnew/2.3.rst:1093 msgid "" @@ -1203,6 +1686,13 @@ msgid "" "number using ``sys.setcheckinterval(N)``. The limit can be retrieved with " "the new :func:`sys.getcheckinterval` function." msgstr "" +"Python ejecuta programas multihilo cambiando entre hilos después de ejecutar " +"N bytecodes. El valor por defecto de N se ha incrementado de 10 a 100 " +"bytecodes, acelerando las aplicaciones de un solo hilo al reducir la " +"sobrecarga de cambio. Algunas aplicaciones multihilo pueden sufrir un " +"tiempo de respuesta más lento, pero eso se arregla fácilmente estableciendo " +"el límite a un número menor usando ``sys.setcheckinterval(N)``. El límite " +"puede recuperarse con la nueva función :func:`sys.getcheckinterval`." #: ../Doc/whatsnew/2.3.rst:1101 msgid "" @@ -1211,10 +1701,15 @@ msgid "" "``'.'`` in front of the type name. For example, in Python 2.2, if you " "created a socket and printed its :attr:`__class__`, you'd get this output::" msgstr "" +"Un cambio menor pero de gran alcance es que los nombres de los tipos de " +"extensión definidos por los módulos incluidos con Python ahora contienen el " +"módulo y un ``.'`` delante del nombre del tipo. Por ejemplo, en Python 2.2, " +"si creabas un socket e imprimías su :attr:`__class__`, obtendrías esta " +"salida::" #: ../Doc/whatsnew/2.3.rst:1110 msgid "In 2.3, you get this::" -msgstr "" +msgstr "En 2.3, se obtiene esto::" #: ../Doc/whatsnew/2.3.rst:1115 msgid "" @@ -1225,10 +1720,16 @@ msgid "" "lines of those relating to assigning to an instance's :attr:`~instance." "__class__` attribute." msgstr "" +"Se ha eliminado una de las incompatibilidades señaladas entre las clases de " +"estilo antiguo y las de estilo nuevo: ahora se pueden asignar a los " +"atributos :attr:`~definición.__name__` y :attr:`~clase.__bases__` de las " +"clases de estilo nuevo. Hay algunas restricciones sobre lo que se puede " +"asignar a :attr:`~class.__bases__` en la línea de las relacionadas con la " +"asignación al atributo :attr:`~instance.__class__` de una instancia." #: ../Doc/whatsnew/2.3.rst:1125 msgid "String Changes" -msgstr "" +msgstr "Cambios en las cadenas de texto" #: ../Doc/whatsnew/2.3.rst:1127 msgid "" @@ -1238,12 +1739,20 @@ msgid "" "and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If " "*X* is the empty string, the result is always :const:`True`. ::" msgstr "" +"El operador :keyword:`in` ahora funciona de forma diferente para las " +"cadenas. Antes, cuando se evaluaba ``X en Y`` donde *X* y *Y* eran cadenas, " +"*X* sólo podía ser un único carácter. Esto ha cambiado; *X* puede ser una " +"cadena de cualquier longitud, y ``X en Y`` retornará :const:`True` si *X* es " +"una subcadena de *Y*. Si *X* es una cadena vacía, el resultado es siempre :" +"const:`True`. ::" #: ../Doc/whatsnew/2.3.rst:1140 msgid "" "Note that this doesn't tell you where the substring starts; if you need that " "information, use the :meth:`find` string method." msgstr "" +"Tenga en cuenta que esto no le dice dónde empieza la subcadena; si necesita " +"esa información, utilice el método :meth:`find` string." #: ../Doc/whatsnew/2.3.rst:1143 msgid "" @@ -1251,16 +1760,22 @@ msgid "" "have an optional argument for specifying the characters to strip. The " "default is still to remove all whitespace characters::" msgstr "" +"Los métodos de cadena :meth:`strip`, :meth:`lstrip` y :meth:`rstrip` tienen " +"ahora un argumento opcional para especificar los caracteres a eliminar. El " +"valor por defecto sigue siendo eliminar todos los caracteres de espacio en " +"blanco::" #: ../Doc/whatsnew/2.3.rst:1157 msgid "(Suggested by Simon Brunning and implemented by Walter Dörwald.)" -msgstr "" +msgstr "(Sugerido por Simon Brunning y aplicado por Walter Dörwald)" #: ../Doc/whatsnew/2.3.rst:1159 msgid "" "The :meth:`startswith` and :meth:`endswith` string methods now accept " "negative numbers for the *start* and *end* parameters." msgstr "" +"Los métodos de cadena :meth:`startswith` y :meth:`endswith` ahora aceptan " +"números negativos para los parámetros *start* y *end*." #: ../Doc/whatsnew/2.3.rst:1162 msgid "" @@ -1269,10 +1784,14 @@ msgid "" "left until it's the specified width. Note that the ``%`` operator is still " "more flexible and powerful than :meth:`zfill`. ::" msgstr "" +"Otro nuevo método de cadena es :meth:`zfill`, originalmente una función del " +"módulo :mod:`string`. :meth:`zfill` rellena una cadena numérica con ceros a " +"la izquierda hasta que tenga el ancho especificado. Tenga en cuenta que el " +"operador ``%`` sigue siendo más flexible y potente que :meth:`zfill`. ::" #: ../Doc/whatsnew/2.3.rst:1174 msgid "(Contributed by Walter Dörwald.)" -msgstr "" +msgstr "(Contribución de Walter Dörwald.)" #: ../Doc/whatsnew/2.3.rst:1176 msgid "" @@ -1281,6 +1800,11 @@ msgid "" "basestring)`` will return :const:`True` for either kind of string. It's a " "completely abstract type, so you can't create :class:`basestring` instances." msgstr "" +"Se ha añadido un nuevo tipo de objeto, :class:`basestring`. Tanto las " +"cadenas de 8 bits como las cadenas Unicode heredan de este tipo, por lo que " +"``isinstance(obj, basestring)`` retornará :const:`True` para cualquier tipo " +"de cadena. Es un tipo completamente abstracto, por lo que no se pueden " +"crear instancias de :class:`basestring`." #: ../Doc/whatsnew/2.3.rst:1181 msgid "" @@ -1288,22 +1812,30 @@ msgid "" "the usual way when the only reference to them is from the internal " "dictionary of interned strings. (Implemented by Oren Tirosh.)" msgstr "" +"Las cadenas internas ya no son inmortales y ahora serán recolectadas de la " +"forma habitual cuando la única referencia a ellas sea desde el diccionario " +"interno de cadenas internas. (Implementado por Oren Tirosh)" #: ../Doc/whatsnew/2.3.rst:1189 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/2.3.rst:1191 msgid "" "The creation of new-style class instances has been made much faster; they're " "now faster than classic classes!" msgstr "" +"La creación de instancias de clases de estilo nuevo se ha hecho mucho más " +"rápida; ¡ahora son más rápidas que las clases clásicas!" #: ../Doc/whatsnew/2.3.rst:1194 msgid "" "The :meth:`sort` method of list objects has been extensively rewritten by " "Tim Peters, and the implementation is significantly faster." msgstr "" +"El método :meth:`sort` de los objetos de la lista ha sido ampliamente " +"reescrito por Tim Peters, y la implementación es significativamente más " +"rápida." #: ../Doc/whatsnew/2.3.rst:1197 msgid "" @@ -1313,6 +1845,11 @@ msgid "" "(Original patch by Christopher A. Craig, and significantly reworked by Tim " "Peters.)" msgstr "" +"La multiplicación de enteros largos es ahora mucho más rápida gracias a una " +"implementación de la multiplicación Karatsuba, un algoritmo que escala mejor " +"que el O(n\\*n) requerido para el algoritmo de multiplicación de la escuela " +"primaria. (Parche original de Christopher A. Craig, y reelaborado " +"significativamente por Tim Peters)" #: ../Doc/whatsnew/2.3.rst:1202 msgid "" @@ -1320,6 +1857,10 @@ msgid "" "increase, depending on your compiler's idiosyncrasies. See section :ref:" "`23section-other` for a longer explanation. (Removed by Michael Hudson.)" msgstr "" +"El opcode ``SET_LINENO`` ha desaparecido. Esto puede proporcionar un " +"pequeño aumento de velocidad, dependiendo de la idiosincrasia de su " +"compilador. Vea la sección :ref:`23section-other` para una explicación más " +"larga. (Eliminado por Michael Hudson)" #: ../Doc/whatsnew/2.3.rst:1206 msgid "" @@ -1327,6 +1868,9 @@ msgid "" "xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond " "Hettinger.)" msgstr "" +"Los objetos :func:`xrange` tienen ahora su propio iterador, haciendo que " +"``for i in xrange(n)`` sea ligeramente más rápido que ``for i in " +"range(n)``. (Parche de Raymond Hettinger)" #: ../Doc/whatsnew/2.3.rst:1210 msgid "" @@ -1335,16 +1879,22 @@ msgid "" "(Implemented mostly by GvR, but lots of people have contributed single " "changes.)" msgstr "" +"Se han realizado una serie de pequeños reajustes en varios puntos " +"conflictivos para mejorar el rendimiento, como por ejemplo alinear una " +"función o eliminar algo de código. (Implementado principalmente por GvR, " +"pero mucha gente ha contribuido con cambios individuales)" #: ../Doc/whatsnew/2.3.rst:1214 msgid "" "The net result of the 2.3 optimizations is that Python 2.3 runs the pystone " "benchmark around 25% faster than Python 2.2." msgstr "" +"El resultado neto de las optimizaciones de la versión 2.3 es que Python 2.3 " +"ejecuta el benchmark pystone alrededor de un 25% f más rápido que Python 2.2." #: ../Doc/whatsnew/2.3.rst:1221 msgid "New, Improved, and Deprecated Modules" -msgstr "" +msgstr "Módulos nuevos, mejorados y obsoletos" #: ../Doc/whatsnew/2.3.rst:1223 msgid "" @@ -1354,6 +1904,12 @@ msgid "" "source tree for a more complete list of changes, or look through the CVS " "logs for all the details." msgstr "" +"Como es habitual, la biblioteca estándar de Python ha recibido una serie de " +"mejoras y correcciones de errores. Aquí hay una lista parcial de los " +"cambios más notables, ordenados alfabéticamente por nombre de módulo. " +"Consulte el archivo :file:`Misc/NEWS` en el árbol de fuentes para obtener " +"una lista más completa de los cambios, o busque en los registros de CVS para " +"obtener todos los detalles." #: ../Doc/whatsnew/2.3.rst:1228 msgid "" @@ -1362,6 +1918,11 @@ msgid "" "assignment operator to add another array's contents, and the ``*=`` " "assignment operator to repeat an array. (Contributed by Jason Orendorff.)" msgstr "" +"El módulo :mod:`array` soporta ahora matrices de caracteres Unicode que " +"utilizan el carácter de formato ``'u``. Las matrices también soportan ahora " +"el uso del operador de asignación ``+=`` para añadir el contenido de otra " +"matriz, y el operador de asignación ``*=`` para repetir una matriz. " +"(Contribución de Jason Orendorff)" #: ../Doc/whatsnew/2.3.rst:1233 msgid "" @@ -1369,6 +1930,10 @@ msgid "" "`_ package, providing a more complete " "interface to the transactional features of the BerkeleyDB library." msgstr "" +"El módulo :mod:`bsddb` ha sido reemplazado por la versión 4.1.6 del paquete " +"`PyBSDDB `_, proporcionando una interfaz más " +"completa para las características transaccionales de la biblioteca " +"BerkeleyDB." #: ../Doc/whatsnew/2.3.rst:1237 msgid "" @@ -1385,6 +1950,19 @@ msgid "" "importing it as :mod:`bsddb3`, you will have to change your ``import`` " "statements to import it as :mod:`bsddb`." msgstr "" +"La antigua versión del módulo ha sido renombrada como :mod:`bsddb185` y ya " +"no se construye automáticamente; tendrás que editar :file:`Modules/Setup` " +"para activarlo. Ten en cuenta que el nuevo paquete :mod:`bsddb` está " +"pensado para ser compatible con el módulo antiguo, así que asegúrate de " +"enviar errores si descubres alguna incompatibilidad. Al actualizar a Python " +"2.3, si el nuevo intérprete se compila con una nueva versión de la " +"biblioteca BerkeleyDB subyacente, es casi seguro que tendrá que convertir " +"sus archivos de base de datos a la nueva versión. Puede hacerlo fácilmente " +"con los nuevos scripts :file:`db2pickle.py` y :file:`pickle2db.py` que " +"encontrará en el directorio :file:`Tools/scripts` de la distribución. Si ya " +"ha estado utilizando el paquete PyBSDDB e importándolo como :mod:`bsddb3`, " +"tendrá que cambiar sus sentencias ``import`` para importarlo como :mod:" +"`bsddb`." #: ../Doc/whatsnew/2.3.rst:1249 msgid "" @@ -1392,12 +1970,19 @@ msgid "" "library. bz2-compressed data is usually smaller than corresponding :mod:" "`zlib`\\ -compressed data. (Contributed by Gustavo Niemeyer.)" msgstr "" +"El nuevo módulo :mod:`bz2` es una interfaz para la biblioteca de compresión " +"de datos bz2. Los datos comprimidos con bz2 suelen ser más pequeños que los " +"correspondientes datos comprimidos con :mod:`zlib`. (Contribución de Gustavo " +"Niemeyer)" #: ../Doc/whatsnew/2.3.rst:1253 msgid "" "A set of standard date/time types has been added in the new :mod:`datetime` " "module. See the following section for more details." msgstr "" +"Se ha añadido un conjunto de tipos de fecha/hora estándar en el nuevo " +"módulo :mod:`datetime`. Consulte la siguiente sección para obtener más " +"detalles." #: ../Doc/whatsnew/2.3.rst:1256 msgid "" @@ -1408,12 +1993,20 @@ msgid "" "includes the header file :file:`sample.h`, you would create the :class:" "`Extension` object like this::" msgstr "" +"La clase Distutils :class:`Extension` soporta ahora un argumento constructor " +"extra llamado *depends* para listar archivos fuente adicionales de los que " +"depende una extensión. Esto permite a Distutils recompilar el módulo si se " +"modifica alguno de los archivos de dependencia. Por ejemplo, si :file:" +"`sampmodule.c` incluye el fichero de cabecera :file:`sample.h`, se crearía " +"el objeto :class:`Extension` así::" #: ../Doc/whatsnew/2.3.rst:1267 msgid "" "Modifying :file:`sample.h` would then cause the module to be recompiled. " "(Contributed by Jeremy Hylton.)" msgstr "" +"La modificación de :file:`sample.h` haría que el módulo se recompilara. " +"(Contribución de Jeremy Hylton)" #: ../Doc/whatsnew/2.3.rst:1270 msgid "" @@ -1422,6 +2015,10 @@ msgid "" "environment variables, using them to override the settings in Python's " "configuration (contributed by Robert Weber)." msgstr "" +"Otros cambios menores en Distutils: ahora comprueba las variables de " +"entorno :envvar:`CC`, :envvar:`CFLAGS`, :envvar:`CPP`, :envvar:`LDFLAGS` y :" +"envvar:`CPPFLAGS`, utilizándolas para anular los ajustes de la configuración " +"de Python (contribución de Robert Weber)." #: ../Doc/whatsnew/2.3.rst:1275 msgid "" @@ -1430,12 +2027,18 @@ msgid "" "private ones as well. The :func:`DocTestSuite` function creates a :class:" "`unittest.TestSuite` object from a set of :mod:`doctest` tests." msgstr "" +"Anteriormente el módulo :mod:`doctest` sólo buscaba casos de prueba en los " +"docstrings de los métodos y funciones públicos, pero ahora también examina " +"los privados. La función :func:`DocTestSuite` crea un objeto :class:" +"`unittest.TestSuite` a partir de un conjunto de pruebas :mod:`doctest`." #: ../Doc/whatsnew/2.3.rst:1280 msgid "" "The new ``gc.get_referents(object)`` function returns a list of all the " "objects referenced by *object*." msgstr "" +"La nueva función ``gc.get_referents(object)`` retorna una lista de todos los " +"objetos referenciados por *object*." #: ../Doc/whatsnew/2.3.rst:1283 msgid "" @@ -1446,20 +2049,29 @@ msgid "" "mode processing continues, meaning that options and arguments can be mixed. " "For example::" msgstr "" +"El módulo :mod:`getopt` ha ganado una nueva función, :func:`gnu_getopt`, que " +"admite los mismos argumentos que la función :func:`getopt` existente, pero " +"utiliza el modo de exploración al estilo GNU. La función :func:`getopt` " +"existente deja de procesar las opciones tan pronto como se encuentra un " +"argumento que no es una opción, pero en el modo GNU el procesamiento " +"continúa, lo que significa que las opciones y los argumentos pueden " +"mezclarse. Por ejemplo::" #: ../Doc/whatsnew/2.3.rst:1294 msgid "(Contributed by Peter Åstrand.)" -msgstr "" +msgstr "(Contribución de Peter Åstrand.)" #: ../Doc/whatsnew/2.3.rst:1296 msgid "" "The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced " "tuples::" msgstr "" +"Los módulos :mod:`grp`, :mod:`pwd` y :mod:`resource` retornan ahora tuplas " +"mejoradas::" #: ../Doc/whatsnew/2.3.rst:1304 msgid "The :mod:`gzip` module can now handle files exceeding 2 GiB." -msgstr "" +msgstr "El módulo :mod:`gzip` ahora puede manejar archivos de más de 2 GiB." #: ../Doc/whatsnew/2.3.rst:1306 msgid "" @@ -1471,6 +2083,14 @@ msgid "" "is O(lg n). (See https://xlinux.nist.gov/dads//HTML/priorityque.html for " "more information about the priority queue data structure.)" msgstr "" +"El nuevo módulo :mod:`heapq` contiene una implementación de un algoritmo de " +"colas de montón. Un montón es una estructura de datos similar a un array " +"que mantiene los elementos en un orden parcialmente ordenado de forma que, " +"para cada índice *k*, ``heap[k] <= heap[2*k+1]`` y ``heap[k] <= heap[2*k" +"+2]``. Esto hace que sea rápido eliminar el elemento más pequeño, y la " +"inserción de un nuevo elemento manteniendo la propiedad del montón es *O(lg " +"n)*. (Véase https://xlinux.nist.gov/dads//HTML/priorityque.html para más " +"información sobre la estructura de datos de la cola de prioridad)" #: ../Doc/whatsnew/2.3.rst:1314 msgid "" @@ -1479,10 +2099,14 @@ msgid "" "on top of some other mutable Python sequence type. Here's an example that " "uses a Python list::" msgstr "" +"El módulo :mod:`heapq` proporciona las funciones :func:`heappush` y :func:" +"`heappop` para añadir y eliminar elementos manteniendo la propiedad del " +"montón sobre algún otro tipo de secuencia mutable de Python. Aquí hay un " +"ejemplo que utiliza una lista de Python::" #: ../Doc/whatsnew/2.3.rst:1332 msgid "(Contributed by Kevin O'Connor.)" -msgstr "" +msgstr "(Contribución de Kevin O'Connor.)" #: ../Doc/whatsnew/2.3.rst:1334 msgid "" @@ -1493,1019 +2117,9 @@ msgid "" "operations. IDLE's core code has been incorporated into the standard library " "as the :mod:`idlelib` package." msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1340 -msgid "" -"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " -"Lauder and Tino Lange.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1343 -msgid "" -"The :mod:`itertools` contains a number of useful functions for use with " -"iterators, inspired by various functions provided by the ML and Haskell " -"languages. For example, ``itertools.ifilter(predicate, iterator)`` returns " -"all elements in the iterator for which the function :func:`predicate` " -"returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* " -"times. There are a number of other functions in the module; see the " -"package's reference documentation for details. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1352 -msgid "" -"Two new functions in the :mod:`math` module, ``degrees(rads)`` and " -"``radians(degs)``, convert between radians and degrees. Other functions in " -"the :mod:`math` module such as :func:`math.sin` and :func:`math.cos` have " -"always required input values measured in radians. Also, an optional *base* " -"argument was added to :func:`math.log` to make it easier to compute " -"logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1359 -msgid "" -"Several new POSIX functions (:func:`getpgid`, :func:`killpg`, :func:" -"`lchown`, :func:`loadavg`, :func:`major`, :func:`makedev`, :func:`minor`, " -"and :func:`mknod`) were added to the :mod:`posix` module that underlies the :" -"mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and Denis " -"S. Otkidach.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1365 -msgid "" -"In the :mod:`os` module, the :func:`\\*stat` family of functions can now " -"report fractions of a second in a timestamp. Such time stamps are " -"represented as floats, similar to the value returned by :func:`time.time`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1369 -msgid "" -"During testing, it was found that some applications will break if time " -"stamps are floats. For compatibility, when using the tuple interface of " -"the :class:`stat_result` time stamps will be represented as integers. When " -"using named fields (a feature first introduced in Python 2.2), time stamps " -"are still represented as integers, unless :func:`os.stat_float_times` is " -"invoked to enable float return values::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1382 -msgid "In Python 2.4, the default will change to always returning floats." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1384 -msgid "" -"Application developers should enable this feature only if all their " -"libraries work properly when confronted with floating point time stamps, or " -"if they use the tuple API. If used, the feature should be activated on an " -"application level instead of trying to enable it on a per-use basis." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1389 -msgid "" -"The :mod:`optparse` module contains a new parser for command-line arguments " -"that can convert option values to a particular Python type and will " -"automatically generate a usage message. See the following section for more " -"details." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1394 -msgid "" -"The old and never-documented :mod:`linuxaudiodev` module has been " -"deprecated, and a new version named :mod:`ossaudiodev` has been added. The " -"module was renamed because the OSS sound drivers can be used on platforms " -"other than Linux, and the interface has also been tidied and brought up to " -"date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1400 -msgid "" -"The new :mod:`platform` module contains a number of functions that try to " -"determine various properties of the platform you're running on. There are " -"functions for getting the architecture, CPU type, the Windows OS version, " -"and even the Linux distribution version. (Contributed by Marc-André Lemburg.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1405 -msgid "" -"The parser objects provided by the :mod:`pyexpat` module can now optionally " -"buffer character data, resulting in fewer calls to your character data " -"handler and therefore faster performance. Setting the parser object's :attr:" -"`buffer_text` attribute to :const:`True` will enable buffering." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1410 -msgid "" -"The ``sample(population, k)`` function was added to the :mod:`random` " -"module. *population* is a sequence or :class:`xrange` object containing the " -"elements of a population, and :func:`sample` chooses *k* elements from the " -"population without replacing chosen elements. *k* can be any value up to " -"``len(population)``. For example::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1432 -msgid "" -"The :mod:`random` module now uses a new algorithm, the Mersenne Twister, " -"implemented in C. It's faster and more extensively studied than the " -"previous algorithm." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1436 -msgid "(All changes contributed by Raymond Hettinger.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1438 -msgid "" -"The :mod:`readline` module also gained a number of new functions: :func:" -"`get_history_item`, :func:`get_current_history_length`, and :func:" -"`redisplay`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1442 -msgid "" -"The :mod:`rexec` and :mod:`Bastion` modules have been declared dead, and " -"attempts to import them will fail with a :exc:`RuntimeError`. New-style " -"classes provide new ways to break out of the restricted execution " -"environment provided by :mod:`rexec`, and no one has interest in fixing them " -"or time to do so. If you have applications using :mod:`rexec`, rewrite them " -"to use something else." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1448 -msgid "" -"(Sticking with Python 2.2 or 2.1 will not make your applications any safer " -"because there are known bugs in the :mod:`rexec` module in those versions. " -"To repeat: if you're using :mod:`rexec`, stop using it immediately.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1452 -msgid "" -"The :mod:`rotor` module has been deprecated because the algorithm it uses " -"for encryption is not believed to be secure. If you need encryption, use " -"one of the several AES Python modules that are available separately." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1456 -msgid "" -"The :mod:`shutil` module gained a ``move(src, dest)`` function that " -"recursively moves a file or directory to a new location." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1459 -msgid "" -"Support for more advanced POSIX signal handling was added to the :mod:" -"`signal` but then removed again as it proved impossible to make it work " -"reliably across platforms." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1463 -msgid "" -"The :mod:`socket` module now supports timeouts. You can call the " -"``settimeout(t)`` method on a socket object to set a timeout of *t* seconds. " -"Subsequent socket operations that take longer than *t* seconds to complete " -"will abort and raise a :exc:`socket.timeout` exception." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1468 -msgid "" -"The original timeout implementation was by Tim O'Malley. Michael Gilfix " -"integrated it into the Python :mod:`socket` module and shepherded it through " -"a lengthy review. After the code was checked in, Guido van Rossum rewrote " -"parts of it. (This is a good example of a collaborative development process " -"in action.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1474 -msgid "" -"On Windows, the :mod:`socket` module now ships with Secure Sockets Layer " -"(SSL) support." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1477 -msgid "" -"The value of the C :const:`PYTHON_API_VERSION` macro is now exposed at the " -"Python level as ``sys.api_version``. The current exception can be cleared " -"by calling the new :func:`sys.exc_clear` function." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1481 -msgid "" -"The new :mod:`tarfile` module allows reading from and writing to :program:" -"`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1484 -msgid "" -"The new :mod:`textwrap` module contains functions for wrapping strings " -"containing paragraphs of text. The ``wrap(text, width)`` function takes a " -"string and returns a list containing the text split into lines of no more " -"than the chosen width. The ``fill(text, width)`` function returns a single " -"string, reformatted to fit into lines no longer than the chosen width. (As " -"you can guess, :func:`fill` is built on top of :func:`wrap`. For example::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1506 -msgid "" -"The module also contains a :class:`TextWrapper` class that actually " -"implements the text wrapping strategy. Both the :class:`TextWrapper` class " -"and the :func:`wrap` and :func:`fill` functions support a number of " -"additional keyword arguments for fine-tuning the formatting; consult the " -"module's documentation for details. (Contributed by Greg Ward.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1512 -msgid "" -"The :mod:`thread` and :mod:`threading` modules now have companion modules, :" -"mod:`dummy_thread` and :mod:`dummy_threading`, that provide a do-nothing " -"implementation of the :mod:`thread` module's interface for platforms where " -"threads are not supported. The intention is to simplify thread-aware " -"modules (ones that *don't* rely on threads to run) by putting the following " -"code at the top::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1524 -msgid "" -"In this example, :mod:`_threading` is used as the module name to make it " -"clear that the module being used is not necessarily the actual :mod:" -"`threading` module. Code can call functions and use classes in :mod:" -"`_threading` whether or not threads are supported, avoiding an :keyword:`if` " -"statement and making the code slightly clearer. This module will not " -"magically make multithreaded code run without threads; code that waits for " -"another thread to return or to do something will simply hang forever." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1532 -msgid "" -"The :mod:`time` module's :func:`strptime` function has long been an " -"annoyance because it uses the platform C library's :func:`strptime` " -"implementation, and different platforms sometimes have odd bugs. Brett " -"Cannon contributed a portable implementation that's written in pure Python " -"and should behave identically on all platforms." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1538 -msgid "" -"The new :mod:`timeit` module helps measure how long snippets of Python code " -"take to execute. The :file:`timeit.py` file can be run directly from the " -"command line, or the module's :class:`Timer` class can be imported and used " -"directly. Here's a short example that figures out whether it's faster to " -"convert an 8-bit string to Unicode by appending an empty Unicode string to " -"it or by using the :func:`unicode` function::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1558 -msgid "" -"The :mod:`Tix` module has received various bug fixes and updates for the " -"current version of the Tix package." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1561 -msgid "" -"The :mod:`Tkinter` module now works with a thread-enabled version of Tcl. " -"Tcl's threading model requires that widgets only be accessed from the thread " -"in which they're created; accesses from another thread can cause Tcl to " -"panic. For certain Tcl interfaces, :mod:`Tkinter` will now automatically " -"avoid this when a widget is accessed from a different thread by marshalling " -"a command, passing it to the correct thread, and waiting for the results. " -"Other interfaces can't be handled automatically but :mod:`Tkinter` will now " -"raise an exception on such an access so that you can at least find out about " -"the problem. See https://mail.python.org/pipermail/python-dev/2002-" -"December/031107.html for a more detailed explanation of this change. " -"(Implemented by Martin von Löwis.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1572 -msgid "" -"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " -"Instead, if Tcl returns other objects those objects are converted to their " -"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." -"Tcl_Obj` object if no Python equivalent exists. This behavior can be " -"controlled through the :meth:`wantobjects` method of :class:`tkapp` objects." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1578 -msgid "" -"When using :mod:`_tkinter` through the :mod:`Tkinter` module (as most " -"Tkinter applications will), this feature is always activated. It should not " -"cause compatibility problems, since Tkinter would always convert string " -"results to Python types where possible." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1583 -msgid "" -"If any incompatibilities are found, the old behavior can be restored by " -"setting the :attr:`wantobjects` variable in the :mod:`Tkinter` module to " -"false before creating the first :class:`tkapp` object. ::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1590 -msgid "Any breakage caused by this change should be reported as a bug." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1592 -msgid "" -"The :mod:`UserDict` module has a new :class:`DictMixin` class which defines " -"all dictionary methods for classes that already have a minimum mapping " -"interface. This greatly simplifies writing classes that need to be " -"substitutable for dictionaries, such as the classes in the :mod:`shelve` " -"module." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1598 -msgid "" -"Adding the mix-in as a superclass provides the full dictionary interface " -"whenever the class defines :meth:`__getitem__`, :meth:`__setitem__`, :meth:" -"`__delitem__`, and :meth:`keys`. For example::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1639 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Contribución de Raymond Hettinger.)" - -#: ../Doc/whatsnew/2.3.rst:1641 -msgid "" -"The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output " -"in a particular encoding by providing an optional encoding argument to the :" -"meth:`toxml` and :meth:`toprettyxml` methods of DOM nodes." -msgstr "" -"La implementación de DOM en :mod:`xml.dom.minidom` puede ahora generar la " -"salida XML en una codificación particular proporcionando un argumento de " -"codificación opcional a los métodos :meth:`toxml` y :meth:`toprettyxml` de " -"los nodos DOM." - -#: ../Doc/whatsnew/2.3.rst:1645 -msgid "" -"The :mod:`xmlrpclib` module now supports an XML-RPC extension for handling " -"nil data values such as Python's ``None``. Nil values are always supported " -"on unmarshalling an XML-RPC response. To generate requests containing " -"``None``, you must supply a true value for the *allow_none* parameter when " -"creating a :class:`Marshaller` instance." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1651 -msgid "" -"The new :mod:`DocXMLRPCServer` module allows writing self-documenting XML-" -"RPC servers. Run it in demo mode (as a program) to see it in action. " -"Pointing the Web browser to the RPC server produces pydoc-style " -"documentation; pointing xmlrpclib to the server allows invoking the actual " -"methods. (Contributed by Brian Quinlan.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1657 -msgid "" -"Support for internationalized domain names (RFCs 3454, 3490, 3491, and 3492) " -"has been added. The \"idna\" encoding can be used to convert between a " -"Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1664 -msgid "" -"The :mod:`socket` module has also been extended to transparently convert " -"Unicode hostnames to the ACE version before passing them to the C library. " -"Modules that deal with hostnames such as :mod:`httplib` and :mod:`ftplib`) " -"also support Unicode host names; :mod:`httplib` also sends HTTP ``Host`` " -"headers using the ACE version of the domain name. :mod:`urllib` supports " -"Unicode URLs with non-ASCII host names as long as the ``path`` part of the " -"URL is ASCII only." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1672 -msgid "" -"To implement this change, the :mod:`stringprep` module, the " -"``mkstringprep`` tool and the ``punycode`` encoding have been added." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1679 -msgid "Date/Time Type" -msgstr "Tipo de fecha/hora" - -#: ../Doc/whatsnew/2.3.rst:1681 -msgid "" -"Date and time types suitable for expressing timestamps were added as the :" -"mod:`datetime` module. The types don't support different calendars or many " -"fancy features, and just stick to the basics of representing time." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1685 -msgid "" -"The three primary types are: :class:`date`, representing a day, month, and " -"year; :class:`~datetime.time`, consisting of hour, minute, and second; and :" -"class:`~datetime.datetime`, which contains all the attributes of both :class:" -"`date` and :class:`~datetime.time`. There's also a :class:`timedelta` class " -"representing differences between two points in time, and time zone logic is " -"implemented by classes inheriting from the abstract :class:`tzinfo` class." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1692 -msgid "" -"You can create instances of :class:`date` and :class:`~datetime.time` by " -"either supplying keyword arguments to the appropriate constructor, e.g. " -"``datetime.date(year=1972, month=10, day=15)``, or by using one of a number " -"of class methods. For example, the :meth:`date.today` class method returns " -"the current local date." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1698 -msgid "" -"Once created, instances of the date/time classes are all immutable. There " -"are a number of methods for producing formatted strings from objects::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1710 -msgid "" -"The :meth:`replace` method allows modifying one or more fields of a :class:" -"`date` or :class:`~datetime.datetime` instance, returning a new instance::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1720 -msgid "" -"Instances can be compared, hashed, and converted to strings (the result is " -"the same as that of :meth:`isoformat`). :class:`date` and :class:`~datetime." -"datetime` instances can be subtracted from each other, and added to :class:" -"`timedelta` instances. The largest missing feature is that there's no " -"standard library support for parsing strings and getting back a :class:" -"`date` or :class:`~datetime.datetime`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1727 -msgid "" -"For more information, refer to the module's reference documentation. " -"(Contributed by Tim Peters.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1734 -msgid "The optparse Module" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1736 -msgid "" -"The :mod:`getopt` module provides simple parsing of command-line arguments. " -"The new :mod:`optparse` module (originally named Optik) provides more " -"elaborate command-line parsing that follows the Unix conventions, " -"automatically creates the output for :option:`!--help`, and can perform " -"different actions for different options." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1742 -msgid "" -"You start by creating an instance of :class:`OptionParser` and telling it " -"what your program's options are. ::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1756 -msgid "" -"Parsing a command line is then done by calling the :meth:`parse_args` " -"method. ::" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1762 -msgid "" -"This returns an object containing all of the option values, and a list of " -"strings containing the remaining arguments." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1765 -msgid "" -"Invoking the script with the various arguments now works as you'd expect it " -"to. Note that the length argument is automatically converted to an integer." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1778 -msgid "The help message is automatically generated for you:" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1793 -msgid "See the module's documentation for more details." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1796 -msgid "" -"Optik was written by Greg Ward, with suggestions from the readers of the " -"Getopt SIG." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1805 -msgid "Pymalloc: A Specialized Object Allocator" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1807 -msgid "" -"Pymalloc, a specialized object allocator written by Vladimir Marangozov, was " -"a feature added to Python 2.1. Pymalloc is intended to be faster than the " -"system :c:func:`malloc` and to have less memory overhead for allocation " -"patterns typical of Python programs. The allocator uses C's :c:func:`malloc` " -"function to get large pools of memory and then fulfills smaller memory " -"requests from these pools." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1813 -msgid "" -"In 2.1 and 2.2, pymalloc was an experimental feature and wasn't enabled by " -"default; you had to explicitly enable it when compiling Python by providing " -"the :option:`!--with-pymalloc` option to the :program:`configure` script. " -"In 2.3, pymalloc has had further enhancements and is now enabled by default; " -"you'll have to supply :option:`!--without-pymalloc` to disable it." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1819 -msgid "" -"This change is transparent to code written in Python; however, pymalloc may " -"expose bugs in C extensions. Authors of C extension modules should test " -"their code with pymalloc enabled, because some incorrect code may cause core " -"dumps at runtime." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1824 -msgid "" -"There's one particularly common error that causes problems. There are a " -"number of memory allocation functions in Python's C API that have previously " -"just been aliases for the C library's :c:func:`malloc` and :c:func:`free`, " -"meaning that if you accidentally called mismatched functions the error " -"wouldn't be noticeable. When the object allocator is enabled, these " -"functions aren't aliases of :c:func:`malloc` and :c:func:`free` any more, " -"and calling the wrong function to free memory may get you a core dump. For " -"example, if memory was allocated using :c:func:`PyObject_Malloc`, it has to " -"be freed using :c:func:`PyObject_Free`, not :c:func:`free`. A few modules " -"included with Python fell afoul of this and had to be fixed; doubtless there " -"are more third-party modules that will have the same problem." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1836 -msgid "" -"As part of this change, the confusing multiple interfaces for allocating " -"memory have been consolidated down into two API families. Memory allocated " -"with one family must not be manipulated with functions from the other " -"family. There is one family for allocating chunks of memory and another " -"family of functions specifically for allocating Python objects." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1842 -msgid "" -"To allocate and free an undistinguished chunk of memory use the \"raw memory" -"\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:" -"`PyMem_Free`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1845 -msgid "" -"The \"object memory\" family is the interface to the pymalloc facility " -"described above and is biased towards a large number of \"small\" " -"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, and :c:" -"func:`PyObject_Free`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1849 -msgid "" -"To allocate and free Python objects, use the \"object\" family :c:func:" -"`PyObject_New`, :c:func:`PyObject_NewVar`, and :c:func:`PyObject_Del`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1852 -msgid "" -"Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides " -"debugging features to catch memory overwrites and doubled frees in both " -"extension modules and in the interpreter itself. To enable this support, " -"compile a debugging version of the Python interpreter by running :program:" -"`configure` with :option:`!--with-pydebug`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1858 -msgid "" -"To aid extension writers, a header file :file:`Misc/pymemcompat.h` is " -"distributed with the source to Python 2.3 that allows Python extensions to " -"use the 2.3 interfaces to memory allocation while compiling against any " -"version of Python since 1.5.2. You would copy the file from Python's source " -"distribution and bundle it with the source of your extension." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1869 -msgid "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1868 -msgid "" -"For the full details of the pymalloc implementation, see the comments at the " -"top of the file :file:`Objects/obmalloc.c` in the Python source code. The " -"above link points to the file within the python.org SVN browser." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1876 -msgid "Build and C API Changes" -msgstr "Cambios en la API de construcción y C" - -#: ../Doc/whatsnew/2.3.rst:1878 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" -"Los cambios en el proceso de build de Python y en la API de C incluyen:" - -#: ../Doc/whatsnew/2.3.rst:1880 -msgid "" -"The cycle detection implementation used by the garbage collection has proven " -"to be stable, so it's now been made mandatory. You can no longer compile " -"Python without it, and the :option:`!--with-cycle-gc` switch to :program:" -"`configure` has been removed." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1885 -msgid "" -"Python can now optionally be built as a shared library (:file:`libpython2.3." -"so`) by supplying :option:`!--enable-shared` when running Python's :program:" -"`configure` script. (Contributed by Ondrej Palkovsky.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1889 -msgid "" -"The :c:macro:`DL_EXPORT` and :c:macro:`DL_IMPORT` macros are now deprecated. " -"Initialization functions for Python extension modules should now be declared " -"using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python core will " -"generally use the :c:macro:`PyAPI_FUNC` and :c:macro:`PyAPI_DATA` macros." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1894 -msgid "" -"The interpreter can be compiled without any docstrings for the built-in " -"functions and modules by supplying :option:`!--without-doc-strings` to the :" -"program:`configure` script. This makes the Python executable about 10% " -"smaller, but will also mean that you can't get help for Python's built-ins. " -"(Contributed by Gustavo Niemeyer.)" -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1900 -msgid "" -"The :c:func:`PyArg_NoArgs` macro is now deprecated, and code that uses it " -"should be changed. For Python 2.2 and later, the method definition table " -"can specify the :const:`METH_NOARGS` flag, signalling that there are no " -"arguments, and the argument checking can then be removed. If compatibility " -"with pre-2.2 versions of Python is important, the code could use " -"``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than " -"using :const:`METH_NOARGS`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1907 -msgid "" -":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " -"of unsigned integers: ``B`` for :c:type:`unsigned char`, ``H`` for :c:type:" -"`unsigned short int`, ``I`` for :c:type:`unsigned int`, and ``K`` for :c:" -"type:`unsigned long long`." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1912 -msgid "" -"A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as " -"shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1915 -msgid "" -"File objects now manage their internal string buffer differently, increasing " -"it exponentially when needed. This results in the benchmark tests in :file:" -"`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds to 1.7 " -"seconds, according to one measurement)." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1920 -msgid "" -"It's now possible to define class and static methods for a C extension type " -"by setting either the :const:`METH_CLASS` or :const:`METH_STATIC` flags in a " -"method's :c:type:`PyMethodDef` structure." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1924 -msgid "" -"Python now includes a copy of the Expat XML parser's source code, removing " -"any dependence on a system version or local installation of Expat." -msgstr "" - -#: ../Doc/whatsnew/2.3.rst:1927 -msgid "" -"If you dynamically allocate type objects in your extension, you should be " -"aware of a change in the rules relating to the :attr:`__module__` and :attr:" -"`~definition.__name__` attributes. In summary, you will want to ensure the " -"type's dictionary contains a ``'__module__'`` key; making the module name " -"the part of the type name leading up to the final period will no longer have " -"the desired effect. For more detail, read the API reference documentation " -"or the source." -msgstr "" -"Si asigna dinámicamente objetos de tipo en su extensión, debe tener en " -"cuenta un cambio en las reglas relacionadas con los atributos :attr:" -"`__module__` y :attr:`~definition.__name__`. En resumen, querrá asegurarse " -"de que el diccionario del tipo contiene una clave ``'__module__``; hacer que " -"el nombre del módulo sea la parte del nombre del tipo que va hasta el punto " -"final ya no tendrá el efecto deseado. Para más detalles, lea la " -"documentación de referencia de la API o el código fuente." - -#: ../Doc/whatsnew/2.3.rst:1938 -msgid "Port-Specific Changes" -msgstr "Cambios específicos en los ports" - -#: ../Doc/whatsnew/2.3.rst:1940 -msgid "" -"Support for a port to IBM's OS/2 using the EMX runtime environment was " -"merged into the main Python source tree. EMX is a POSIX emulation layer " -"over the OS/2 system APIs. The Python port for EMX tries to support all the " -"POSIX-like capability exposed by the EMX runtime, and mostly succeeds; :func:" -"`fork` and :func:`fcntl` are restricted by the limitations of the underlying " -"emulation layer. The standard OS/2 port, which uses IBM's Visual Age " -"compiler, also gained support for case-sensitive import semantics as part of " -"the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)" -msgstr "" -"El soporte para una adaptación al sistema OS/2 de IBM utilizando el entorno " -"de ejecución EMX se ha incorporado al árbol principal de fuentes de Python. " -"EMX es una capa de emulación POSIX sobre las APIs del sistema OS/2. El " -"puerto de Python para EMX intenta soportar todas las capacidades tipo POSIX " -"expuestas por el tiempo de ejecución de EMX, y en su mayoría lo consigue; :" -"func:`fork` y :func:`fcntl` están restringidas por las limitaciones de la " -"capa de emulación subyacente. El puerto estándar de OS/2, que utiliza el " -"compilador Visual Age de IBM, también obtuvo soporte para la semántica de " -"importación sensible a mayúsculas y minúsculas como parte de la integración " -"del puerto EMX en CVS. (Contribución de Andrew MacIntyre)." - -#: ../Doc/whatsnew/2.3.rst:1949 -msgid "" -"On MacOS, most toolbox modules have been weaklinked to improve backward " -"compatibility. This means that modules will no longer fail to load if a " -"single routine is missing on the current OS version. Instead calling the " -"missing routine will raise an exception. (Contributed by Jack Jansen.)" -msgstr "" -"En MacOS, la mayoría de los módulos de la caja de herramientas se han " -"debilitado para mejorar la compatibilidad con versiones anteriores. Esto " -"significa que los módulos ya no fallarán al cargarse si falta una rutina en " -"la versión actual del sistema operativo. En su lugar, llamar a la rutina que " -"falta lanzará una excepción. (Contribución de Jack Jansen.)" - -#: ../Doc/whatsnew/2.3.rst:1954 -msgid "" -"The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python " -"source distribution, were updated for 2.3. (Contributed by Sean " -"Reifschneider.)" -msgstr "" -"Los archivos de especificaciones RPM, que se encuentran en el directorio :" -"file:`Misc/RPM/` en la distribución de fuentes de Python, fueron " -"actualizados para 2.3. (Contribución de Sean Reifschneider)." - -#: ../Doc/whatsnew/2.3.rst:1957 -msgid "" -"Other new platforms now supported by Python include AtheOS (http://www." -"atheos.cx/), GNU/Hurd, and OpenVMS." -msgstr "" -"Otras plataformas nuevas que ahora soporta Python son AtheOS (http://www." -"atheos.cx/), GNU/Hurd y OpenVMS." - -#: ../Doc/whatsnew/2.3.rst:1966 -msgid "Other Changes and Fixes" -msgstr "Otros cambios y correcciones" - -#: ../Doc/whatsnew/2.3.rst:1968 -msgid "" -"As usual, there were a bunch of other improvements and bugfixes scattered " -"throughout the source tree. A search through the CVS change logs finds " -"there were 523 patches applied and 514 bugs fixed between Python 2.2 and " -"2.3. Both figures are likely to be underestimates." -msgstr "" -"Como es habitual, hay un montón de otras mejoras y correcciones de errores " -"repartidas por el árbol de fuentes. Una búsqueda en los registros de " -"cambios de CVS revela que se aplicaron 523 parches y se corrigieron 514 " -"errores entre Python 2.2 y 2.3. Es probable que ambas cifras estén " -"subestimadas." - -#: ../Doc/whatsnew/2.3.rst:1973 -msgid "Some of the more notable changes are:" -msgstr "Algunos de los cambios más notables son:" - -#: ../Doc/whatsnew/2.3.rst:1975 -msgid "" -"If the :envvar:`PYTHONINSPECT` environment variable is set, the Python " -"interpreter will enter the interactive prompt after running a Python " -"program, as if Python had been invoked with the :option:`-i` option. The " -"environment variable can be set before running the Python interpreter, or it " -"can be set by the Python program as part of its execution." -msgstr "" -"Si se establece la variable de entorno :envvar:`PYTHONINSPECT`, el " -"intérprete de Python entrará en el prompt interactivo después de ejecutar un " -"programa Python, como si Python hubiera sido invocado con la opción :option:" -"`-i`. La variable de entorno se puede establecer antes de ejecutar el " -"intérprete de Python, o puede ser establecida por el programa de Python como " -"parte de su ejecución." - -#: ../Doc/whatsnew/2.3.rst:1981 -msgid "" -"The :file:`regrtest.py` script now provides a way to allow \"all resources " -"except *foo*.\" A resource name passed to the :option:`!-u` option can now " -"be prefixed with a hyphen (``'-'``) to mean \"remove this resource.\" For " -"example, the option '``-uall,-bsddb``' could be used to enable the use of " -"all resources except ``bsddb``." -msgstr "" -"El script :file:`regrtest.py` ahora proporciona una forma de permitir " -"\"todos los recursos excepto *foo*\". Un nombre de recurso pasado a la " -"opción :option:`!-u` puede ahora llevar un prefijo (``'-'``) para significar " -"\"eliminar este recurso\". Por ejemplo, la opción ``-uall,-bsddb`` podría " -"utilizarse para habilitar el uso de todos los recursos excepto ``bsddb``." - -#: ../Doc/whatsnew/2.3.rst:1987 -msgid "" -"The tools used to build the documentation now work under Cygwin as well as " -"Unix." -msgstr "" -"Las herramientas utilizadas para construir la documentación ahora funcionan " -"tanto en Cygwin como en Unix." - -#: ../Doc/whatsnew/2.3.rst:1990 -msgid "" -"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this " -"opcode was needed to produce line numbers in tracebacks and support trace " -"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " -"tracebacks have been computed using a different mechanism that works with " -"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " -"to determine when to call the trace function, removing the need for " -"``SET_LINENO`` entirely." -msgstr "" -"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this " -"opcode was needed to produce line numbers in tracebacks and support trace " -"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " -"tracebacks have been computed using a different mechanism that works with " -"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " -"to determine when to call the trace function, removing the need for " -"``SET_LINENO`` entirely." - -#: ../Doc/whatsnew/2.3.rst:1998 -msgid "" -"It would be difficult to detect any resulting difference from Python code, " -"apart from a slight speed up when Python is run without :option:`-O`." -msgstr "" -"Sería difícil detectar cualquier diferencia resultante del código Python, " -"aparte de un ligero aumento de velocidad cuando se ejecuta Python sin :" -"option:`-O`." - -#: ../Doc/whatsnew/2.3.rst:2001 -msgid "" -"C extensions that access the :attr:`f_lineno` field of frame objects should " -"instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will have the " -"added effect of making the code work as desired under \"python -O\" in " -"earlier versions of Python." -msgstr "" -"Las extensiones en C que acceden al campo :attr:`f_lineno` de los objetos " -"frame deben llamar en su lugar a ``PyCode_Addr2Line(f->f_code, f-" -">f_lasti)``. Esto tendrá el efecto añadido de hacer que el código funcione " -"como se desea bajo \"python -O\" en versiones anteriores de Python." - -#: ../Doc/whatsnew/2.3.rst:2006 -msgid "" -"A nifty new feature is that trace functions can now assign to the :attr:" -"`f_lineno` attribute of frame objects, changing the line that will be " -"executed next. A ``jump`` command has been added to the :mod:`pdb` debugger " -"taking advantage of this new feature. (Implemented by Richie Hindle.)" -msgstr "" -"Una nueva característica ingeniosa es que las funciones de rastreo pueden " -"ahora asignar al atributo :attr:`f_lineno` de los objetos marco, cambiando " -"la línea que se ejecutará a continuación. Se ha añadido un comando ``jump`` " -"al depurador :mod:`pdb` aprovechando esta nueva característica. " -"(Implementado por Richie Hindle)." - -#: ../Doc/whatsnew/2.3.rst:2015 -msgid "Porting to Python 2.3" -msgstr "Adaptación a Python 2.3" - -#: ../Doc/whatsnew/2.3.rst:2017 -msgid "" -"This section lists previously described changes that may require changes to " -"your code:" -msgstr "" -"Esta sección enumera los cambios descritos anteriormente que pueden requerir " -"cambios en su código:" - -#: ../Doc/whatsnew/2.3.rst:2020 -msgid "" -":keyword:`yield` is now always a keyword; if it's used as a variable name in " -"your code, a different name must be chosen." -msgstr "" -":keyword:`yield` es ahora siempre una palabra clave; si se utiliza como " -"nombre de variable en su código, debe elegirse un nombre diferente." - -#: ../Doc/whatsnew/2.3.rst:2023 -msgid "" -"For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " -"character long." -msgstr "" -"Para las cadenas *X* y *Y*, ``X en Y`` ahora funciona si *X* tiene más de un " -"carácter." - -#: ../Doc/whatsnew/2.3.rst:2026 -msgid "" -"The :func:`int` type constructor will now return a long integer instead of " -"raising an :exc:`OverflowError` when a string or floating-point number is " -"too large to fit into an integer." -msgstr "" -"El constructor de tipo :func:`int` ahora retornará un entero largo en lugar " -"de lanzar un :exc:`OverflowError` cuando una cadena o un número de punto " -"flotante es demasiado grande para caber en un entero." - -#: ../Doc/whatsnew/2.3.rst:2030 -msgid "" -"If you have Unicode strings that contain 8-bit characters, you must declare " -"the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the " -"top of the file. See section :ref:`section-encodings` for more information." -msgstr "" -"Si tiene cadenas Unicode que contienen caracteres de 8 bits, debe declarar " -"la codificación del archivo (UTF-8, Latin-1, o la que sea) añadiendo un " -"comentario al principio del archivo. Consulte la sección :ref:`section-" -"encodings` para más información." - -#: ../Doc/whatsnew/2.3.rst:2034 -msgid "" -"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " -"Instead, if Tcl returns other objects those objects are converted to their " -"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." -"Tcl_Obj` object if no Python equivalent exists." -msgstr "" -"La llamada a métodos Tcl a través de :mod:`_tkinter` ya no retorna sólo " -"cadenas. En su lugar, si Tcl retorna otros objetos, éstos se convierten a su " -"equivalente en Python, si existe, o se envuelven con un objeto :class:" -"`_tkinter.Tcl_Obj` si no hay equivalente en Python." - -#: ../Doc/whatsnew/2.3.rst:2039 -msgid "" -"Large octal and hex literals such as ``0xffffffff`` now trigger a :exc:" -"`FutureWarning`. Currently they're stored as 32-bit numbers and result in a " -"negative value, but in Python 2.4 they'll become positive long integers." -msgstr "" -"Los octales largos y hexadecimales grandes como ``0xffffff`` ahora activan " -"un :exc:`FutureWarning`. Actualmente se almacenan como números de 32 bits y " -"resultan en un valor negativo, pero en Python 2.4 se convertirán en enteros " -"largos positivos." - -#: ../Doc/whatsnew/2.3.rst:2043 -msgid "" -"There are a few ways to fix this warning. If you really need a positive " -"number, just add an ``L`` to the end of the literal. If you're trying to " -"get a 32-bit integer with low bits set and have previously used an " -"expression such as ``~(1 << 31)``, it's probably clearest to start with all " -"bits set and clear the desired upper bits. For example, to clear just the " -"top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." -msgstr "" -"Hay algunas formas de arreglar esta advertencia. Si realmente necesitas un " -"número positivo, simplemente añade una ``L`` al final del literal. Si está " -"tratando de obtener un entero de 32 bits con los bits inferiores " -"establecidos y ha utilizado previamente una expresión como ``~(1 << 31)``, " -"probablemente sea más claro comenzar con todos los bits establecidos y " -"borrar los bits superiores deseados. Por ejemplo, para borrar sólo el bit " -"superior (el 31), podrías escribir ``0xffffffL &~(1L<<31)``." - -#: ../Doc/whatsnew/2.3.rst:2050 -msgid "You can no longer disable assertions by assigning to ``__debug__``." -msgstr "" -"Ya no se pueden desactivar las aserciones asignándolas a ``__debug__``." - -#: ../Doc/whatsnew/2.3.rst:2052 -msgid "" -"The Distutils :func:`setup` function has gained various new keyword " -"arguments such as *depends*. Old versions of the Distutils will abort if " -"passed unknown keywords. A solution is to check for the presence of the " -"new :func:`get_distutil_options` function in your :file:`setup.py` and only " -"uses the new keywords with a version of the Distutils that supports them::" -msgstr "" -"La función Distutils :func:`setup` ha ganado varios argumentos de palabra " -"clave nuevos como *depends*. Las versiones antiguas de Distutils abortan si " -"se les pasan palabras clave desconocidas. Una solución es comprobar la " -"presencia de la nueva función :func:`get_distutil_options` en su :file:" -"`setup.py` y sólo utilizar las nuevas palabras clave con una versión de las " -"Distutils que las soporte::" - -#: ../Doc/whatsnew/2.3.rst:2065 -msgid "" -"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " -"warning." -msgstr "" -"El uso de ``None`` como nombre de variable ahora resultará en una " -"advertencia :exc:`SyntaxWarning`." - -#: ../Doc/whatsnew/2.3.rst:2068 -msgid "" -"Names of extension types defined by the modules included with Python now " -"contain the module and a ``'.'`` in front of the type name." -msgstr "" -"Los nombres de los tipos de extensión definidos por los módulos incluidos en " -"Python contienen ahora el módulo y un ``.'`` delante del nombre del tipo." - -#: ../Doc/whatsnew/2.3.rst:2077 -msgid "Acknowledgements" -msgstr "Agradecimientos" - -#: ../Doc/whatsnew/2.3.rst:2079 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article: " -"Jeff Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, " -"Scott David Daniels, Fred L. Drake, Jr., David Fraser, Kelly Gerber, " -"Raymond Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von " -"Löwis, Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal " -"Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " -"Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." -msgstr "" -"El autor desea agradecer a las siguientes personas por ofrecer sugerencias, " -"correcciones y asistencia en los diversos borradores de este artículo:Jeff " -"Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, Scott " -"David Daniels, Fred L. Drake, Jr, David Fraser, Kelly Gerber, Raymond " -"Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von Löwis, " -"Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal Norwitz, " -"Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil Schemenauer, " -"Roman Suzi, Jason Tishler, Just van Rossum." +"El entorno de desarrollo integrado IDLE ha sido actualizado utilizando el " +"código del proyecto IDLEfork (http://idlefork.sourceforge.net). La " +"característica más notable es que el código que se está desarrollando se " +"ejecuta ahora en un subproceso, lo que significa que ya no es necesario " +"realizar operaciones manuales de ``reload()``. El código central de IDLE ha " +"sido incorporado a la biblioteca estándar como el paquete :mod:`idlelib`." From 38d3ed6084be36a41c110e4c44f555c36144c234 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Fri, 1 Oct 2021 07:59:35 -0300 Subject: [PATCH 84/94] =?UTF-8?q?Traducci=C3=B3n=20whatsnew/2.6.po=20-=20p?= =?UTF-8?q?arte=201=20(#1225)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/whatsnew_2.6.txt | 7 + whatsnew/2.6.po | 479 +++++++++++++++++++++++++++++----- 2 files changed, 416 insertions(+), 70 deletions(-) create mode 100644 dictionaries/whatsnew_2.6.txt diff --git a/dictionaries/whatsnew_2.6.txt b/dictionaries/whatsnew_2.6.txt new file mode 100644 index 0000000000..f53c63d946 --- /dev/null +++ b/dictionaries/whatsnew_2.6.txt @@ -0,0 +1,7 @@ +Bland +contextlib +Neal +Norwitz +rediseño +Stellenbosch +xxx \ No newline at end of file diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 37747e39ac..2b3f493a33 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -6,37 +6,41 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-09-27 14:39-0300\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: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/2.6.rst:5 msgid "What's New in Python 2.6" -msgstr "" +msgstr "Qué hay de nuevo en Python 2.6" #: ../Doc/whatsnew/2.6.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.6.rst:9 msgid "A.M. Kuchling (amk at amk.ca)" -msgstr "" +msgstr "A.M. Kuchling (amk arroba amk.ca)" #: ../Doc/whatsnew/2.6.rst:52 msgid "" "This article explains the new features in Python 2.6, released on October 1 " "2008. The release schedule is described in :pep:`361`." msgstr "" +"Este articulo explica las nuevas características en Python 2.6, publicado el " +"1 de Octubre de 2008. El calendario de publicación se describe en :pep:`361`." #: ../Doc/whatsnew/2.6.rst:55 msgid "" @@ -48,6 +52,14 @@ msgid "" "compatibility functions in a :mod:`future_builtins` module and a :option:" "`!-3` switch to warn about usages that will become unsupported in 3.0." msgstr "" +"El tema principal de Python 2.6 es preparar el camino de migración a Python " +"3.0, un importante rediseño del lenguaje. Siempre que sea posible, Python " +"2.6 incorpora nuevas características y sintaxis de 3.0 mientras sigue siendo " +"compatible con el código existente al no eliminar características o sintaxis " +"más antiguas. Cuando no es posible hacer eso, Python 2.6 intenta hacer lo " +"que puede, agregando funciones de compatibilidad en el módulo :mod:" +"`future_builtins` y un interruptor :option:`!-3` para advertir sobre usos " +"que dejarán de ser compatibles en 3.0 ." #: ../Doc/whatsnew/2.6.rst:64 msgid "" @@ -55,6 +67,10 @@ msgid "" "as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many " "new features that aren't related to Python 3.0 in some way." msgstr "" +"Se han agregado algunos paquetes nuevos importantes a la biblioteca " +"estándar, como los módulos :mod:`multiprocessing` y :mod:`json`, pero no hay " +"muchas características nuevas que no estén relacionadas con Python 3.0 de " +"alguna manera." #: ../Doc/whatsnew/2.6.rst:69 msgid "" @@ -63,6 +79,10 @@ msgid "" "applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " "likely to be underestimates." msgstr "" +"Python 2.6 también incluye una serie de mejoras y correcciones de errores en " +"el código fuente. Una búsqueda en los registros de cambios encuentra que se " +"aplicaron 259 parches y se corrigieron 612 errores entre Python 2.5 y 2.6. " +"Es probable que ambas cifras estén subestimadas." #: ../Doc/whatsnew/2.6.rst:74 msgid "" @@ -73,10 +93,17 @@ msgid "" "particular new feature. Whenever possible, \"What's New in Python\" links to " "the bug/patch item for each change." msgstr "" +"Este artículo no intenta proporcionar una especificación completa de las " +"nuevas características, sino que proporciona una conveniente descripción " +"general. Para obtener detalles completos, debe consultar la documentación de " +"Python 2.6. Si desea comprender la justificación del diseño y la " +"implementación, consulte el PEP de una característica nueva en particular. " +"Siempre que sea posible, \"Qué hay de nuevo en Python\" enlaza con el " +"elemento de error / parche para cada cambio." #: ../Doc/whatsnew/2.6.rst:90 msgid "Python 3.0" -msgstr "" +msgstr "Python 3.0" #: ../Doc/whatsnew/2.6.rst:92 msgid "" @@ -84,6 +111,9 @@ msgid "" "the alpha and beta releases for both versions being made on the same days. " "The development of 3.0 has influenced many features in 2.6." msgstr "" +"El ciclo de desarrollo de las versiones 2.6 y 3.0 de Python se sincronizó, y " +"las versiones alfa y beta de ambos lanzamientos se realizaron los mismos " +"días. El desarrollo de 3.0 ha influido en muchas características de 2.6." #: ../Doc/whatsnew/2.6.rst:97 msgid "" @@ -95,21 +125,33 @@ msgid "" "described in this document in the appropriate place. Some of the 3.0-" "derived features are:" msgstr "" +"Python 3.0 es un rediseño de Python de gran alcance que rompe la " +"compatibilidad con la serie 2.x. Esto significa que el código Python " +"existente necesitará alguna conversión para poder ejecutarse en Python 3.0. " +"Sin embargo, no todos los cambios en 3.0 rompen necesariamente la " +"compatibilidad. En los casos en que las nuevas funciones no provoquen la " +"rotura del código existente, se han actualizado a 2.6 y se describen en este " +"documento en el lugar correspondiente. Algunas de las características " +"derivadas de 3.0 son:" #: ../Doc/whatsnew/2.6.rst:106 msgid "" "A :meth:`__complex__` method for converting objects to a complex number." msgstr "" +"El método :meth:`__complex__` para convertir objetos en un número complejo." #: ../Doc/whatsnew/2.6.rst:107 msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``." msgstr "" +"Sintaxis alternativa para detectar excepciones: ``except TypeError as exc``." #: ../Doc/whatsnew/2.6.rst:108 msgid "" "The addition of :func:`functools.reduce` as a synonym for the built-in :func:" "`reduce` function." msgstr "" +"La adición de :func:`functools.reduce` como sinónimo de la función " +"incorporada :func:`reduce`." #: ../Doc/whatsnew/2.6.rst:111 msgid "" @@ -120,6 +162,13 @@ msgid "" "new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " "future_builtins import hex, map`` as necessary." msgstr "" +"Python 3.0 agrega varias funciones integradas nuevas y cambia la semántica " +"de algunas integradas existentes. Las funciones que son nuevas en 3.0 como :" +"func:`bin` simplemente se han agregado a Python 2.6, pero las funciones " +"existentes no se han cambiado; en cambio, el módulo :mod:`future_builtins` " +"tiene versiones con la nueva semántica 3.0. El código escrito puede ser " +"compatible con 3.0 haciendo ``from future_builtins import hex, map`` según " +"sea necesario." #: ../Doc/whatsnew/2.6.rst:119 msgid "" @@ -129,6 +178,12 @@ msgid "" "switch is available to Python code as the boolean variable :data:`sys." "py3kwarning`, and to C extension code as :c:data:`Py_Py3kWarningFlag`." msgstr "" +"Un nuevo modificador de línea de comandos, :option:`!-3`, habilita " +"advertencias sobre características que se eliminarán en Python 3.0. Puede " +"ejecutar código con este modificador para ver cuánto trabajo será necesario " +"para migrar el código a 3.0. El valor de este modificador está disponible " +"para el código Python como la variable booleana :data:`sys.py3kwarning`, y " +"para el código de extensión C como :c:data:`Py_Py3kWarningFlag`." #: ../Doc/whatsnew/2.6.rst:128 msgid "" @@ -137,10 +192,14 @@ msgid "" "`3100` that describes the general goals for Python 3.0, and then explore the " "higher-numbered PEPS that propose specific features." msgstr "" +"Las series 3xxx de PEP, que contienen propuestas para Python 3.0. :pep:" +"`3000` describe el proceso de desarrollo de Python 3.0. Empiece con :pep:" +"`3100` que describe los objetivos generales de Python 3.0, y luego explore " +"los PEPS con números más altos que proponen características específicas." #: ../Doc/whatsnew/2.6.rst:136 msgid "Changes to the Development Process" -msgstr "" +msgstr "Cambios en el proceso de desarrollo" #: ../Doc/whatsnew/2.6.rst:138 msgid "" @@ -149,10 +208,14 @@ msgid "" "customized Roundup installation, and the documentation was converted from " "LaTeX to reStructuredText." msgstr "" +"Mientras se desarrollaba 2.6, el proceso de desarrollo de Python experimentó " +"dos cambios significativos: cambiamos del seguidor de incidentes (*issue " +"tracker*) de SourceForge a una instalación personalizada de Roundup, y la " +"documentación se convirtió de LaTeX a reStructuredText." #: ../Doc/whatsnew/2.6.rst:145 msgid "New Issue Tracker: Roundup" -msgstr "" +msgstr "Nuevo seguidor de incidentes: Roundup" #: ../Doc/whatsnew/2.6.rst:147 msgid "" @@ -161,6 +224,10 @@ msgid "" "much customization; for example, it wasn't possible to customize the life " "cycle of issues." msgstr "" +"Durante mucho tiempo, los desarrolladores de Python estaban cada vez más " +"molestos por el seguidor de errores de SourceForge. La solución alojada en " +"SourceForge no permite mucha personalización; por ejemplo, no fue posible " +"personalizar el ciclo de vida de los problemas." #: ../Doc/whatsnew/2.6.rst:152 msgid "" @@ -175,6 +242,17 @@ msgid "" "software projects; Roundup is an open-source project that requires " "volunteers to administer it and a server to host it." msgstr "" +"Por lo tanto, el comité de infraestructura de la *Python Software " +"Foundation* publicó una convocatoria sobre el seguimiento de incidentes, " +"pidiendo a los voluntarios que configuren diferentes productos e importen " +"algunos de los errores y parches de SourceForge. Se examinaron cuatro " +"seguidores diferentes: `Jira ` __, " +"`Launchpad ` __, `Roundup `__ y `Trac `__. El comité " +"finalmente se decidió por Jira y Roundup como los dos candidatos. Jira es un " +"producto comercial que ofrece instancias alojadas sin costo para proyectos " +"de software libre; Roundup es un proyecto de código abierto que requiere " +"voluntarios para administrarlo y un servidor para alojarlo." #: ../Doc/whatsnew/2.6.rst:166 msgid "" @@ -185,6 +263,13 @@ msgid "" "possible, this edition of \"What's New in Python\" links to the bug/patch " "item for each change." msgstr "" +"Después de publicar una llamada para voluntarios, se configuró una nueva " +"instalación de Roundup en https://bugs.python.org. Una instalación de " +"Roundup puede alojar varios seguidores, y este servidor ahora también aloja " +"seguidores de problemas para Jython y para el sitio web de Python. " +"Seguramente encontrará otros usos en el futuro. Siempre que sea posible, " +"esta edición de \"Qué hay de nuevo en Python\" se vincula al elemento de " +"error/parche para cada cambio." #: ../Doc/whatsnew/2.6.rst:174 msgid "" @@ -195,42 +280,48 @@ msgid "" "org/view/tracker/importer/ and may be useful to other projects wishing to " "move from SourceForge to Roundup." msgstr "" +"`Upfront Systems ` __ de Stellenbosch, " +"Sudáfrica, proporciona amablemente el alojamiento del seguidor de errores de " +"Python. Martin von Löwis se esforzó mucho en importar errores y parches " +"existentes desde SourceForge. Sus scripts para esta operación de importación " +"se encuentran en http://svn.python.org/view/tracker/importer/ y pueden ser " +"útiles para otros proyectos que deseen pasar de SourceForge a Roundup." #: ../Doc/whatsnew/2.6.rst:185 msgid "https://bugs.python.org" -msgstr "" +msgstr "https://bugs.python.org" #: ../Doc/whatsnew/2.6.rst:185 msgid "The Python bug tracker." -msgstr "" +msgstr "El seguidor de errores de Python." #: ../Doc/whatsnew/2.6.rst:188 msgid "http://bugs.jython.org:" -msgstr "" +msgstr "http://bugs.jython.org:" #: ../Doc/whatsnew/2.6.rst:188 msgid "The Jython bug tracker." -msgstr "" +msgstr "El seguidor de errores de Jython." #: ../Doc/whatsnew/2.6.rst:191 msgid "http://roundup.sourceforge.net/" -msgstr "" +msgstr "http://roundup.sourceforge.net/" #: ../Doc/whatsnew/2.6.rst:191 msgid "Roundup downloads and documentation." -msgstr "" +msgstr "Descargas y documentación de Roundup." #: ../Doc/whatsnew/2.6.rst:193 msgid "http://svn.python.org/view/tracker/importer/" -msgstr "" +msgstr "http://svn.python.org/view/tracker/importer/" #: ../Doc/whatsnew/2.6.rst:194 msgid "Martin von Löwis's conversion scripts." -msgstr "" +msgstr "Scripts de conversión de Martin von Löwis." #: ../Doc/whatsnew/2.6.rst:197 msgid "New Documentation Format: reStructuredText Using Sphinx" -msgstr "" +msgstr "Nuevo formato de documentación: texto reestructurado con Sphinx" #: ../Doc/whatsnew/2.6.rst:199 msgid "" @@ -240,6 +331,12 @@ msgid "" "provided attractive printed output while remaining straightforward to write " "once the basic rules of the markup were learned." msgstr "" +"La documentación de Python se escribió usando LaTeX desde que el proyecto " +"comenzó alrededor de 1989. En la década de 1980 y principios de la de 1990, " +"la mayor parte de la documentación se imprimió para su estudio posterior, no " +"se vio en línea. LaTeX fue ampliamente utilizado porque proporcionaba una " +"salida impresa atractiva sin dejar de ser sencillo de escribir una vez que " +"se aprendían las reglas básicas de marcado." #: ../Doc/whatsnew/2.6.rst:206 msgid "" @@ -253,6 +350,16 @@ msgid "" "into SGML and later XML, but performing a good conversion is a major task " "and no one ever committed the time required to finish the job." msgstr "" +"Hoy en día, LaTeX todavía se usa para escribir publicaciones destinadas a la " +"impresión, pero el panorama de las herramientas de programación ha cambiado. " +"Ya no imprimimos montones de documentación; en su lugar, lo navegamos en " +"línea y HTML se ha convertido en el formato más importante para dar soporte. " +"Desafortunadamente, convertir LaTeX a HTML es bastante complicado y Fred L. " +"Drake Jr., el editor de documentación de Python desde hace mucho tiempo, " +"pasó mucho tiempo manteniendo el proceso de conversión. De vez en cuando, la " +"gente sugeriría convertir la documentación a SGML y luego a XML, pero " +"realizar una buena conversión es una tarea importante y nadie comprometió el " +"tiempo necesario para terminar el trabajo." #: ../Doc/whatsnew/2.6.rst:217 msgid "" @@ -260,6 +367,9 @@ msgid "" "building a new toolchain for processing the documentation. The resulting " "package is called Sphinx, and is available from http://sphinx-doc.org/." msgstr "" +"Durante el ciclo de desarrollo 2.6, Georg Brandl se esforzó mucho en crear " +"una nueva cadena de herramientas para procesar la documentación. El paquete " +"resultante se llama Sphinx y está disponible en http://sphinx-doc.org/." #: ../Doc/whatsnew/2.6.rst:222 msgid "" @@ -268,6 +378,11 @@ msgid "" "input format is reStructuredText, a markup syntax supporting custom " "extensions and directives that is commonly used in the Python community." msgstr "" +"Sphinx se concentra en la salida HTML, produciendo HTML moderno y con un " +"estilo atractivo; la salida impresa todavía se admite mediante la conversión " +"a LaTeX. El formato de entrada es reStructuredText, una sintaxis de marcado " +"que admite extensiones y directivas personalizadas que se usa comúnmente en " +"la comunidad de Python." #: ../Doc/whatsnew/2.6.rst:228 msgid "" @@ -276,34 +391,40 @@ msgid "" "org/en/master/examples.html>`__) have adopted Sphinx as their documentation " "tool." msgstr "" +"Sphinx es un paquete independiente que se puede usar para escribir, y casi " +"dos docenas de otros proyectos (`enumerados en el sitio web de Sphinx " +"`__) han adoptado Sphinx " +"como su herramienta de documentación." #: ../Doc/whatsnew/2.6.rst:236 msgid "`Documenting Python `__" -msgstr "" +msgstr "`Documentando Python `__" #: ../Doc/whatsnew/2.6.rst:236 msgid "Describes how to write for Python's documentation." -msgstr "" +msgstr "Describe cómo escribir para la documentación de Python." #: ../Doc/whatsnew/2.6.rst:239 msgid "`Sphinx `__" -msgstr "" +msgstr "`Sphinx `__" #: ../Doc/whatsnew/2.6.rst:239 msgid "Documentation and code for the Sphinx toolchain." -msgstr "" +msgstr "Documentación y código para la cadena de herramientas Sphinx." #: ../Doc/whatsnew/2.6.rst:241 msgid "`Docutils `__" -msgstr "" +msgstr "`Docutils `__" #: ../Doc/whatsnew/2.6.rst:242 msgid "The underlying reStructuredText parser and toolset." msgstr "" +"El analizador sintáctico y el conjunto de herramientas *reStructuredText* " +"subyacentes." #: ../Doc/whatsnew/2.6.rst:248 msgid "PEP 343: The 'with' statement" -msgstr "" +msgstr "PEP 343: La sentencia *'with'*" #: ../Doc/whatsnew/2.6.rst:250 msgid "" @@ -315,6 +436,14 @@ msgid "" "from the \"What's New in Python 2.5\" document; if you're familiar with the " "':keyword:`!with`' statement from Python 2.5, you can skip this section." msgstr "" +"La versión anterior, Python 2.5, agregó la instrucción ':keyword:`with`' " +"como una característica opcional, para ser habilitada por una directiva " +"``from __future__ import with_statement``. En 2.6, la instrucción ya no " +"necesita estar habilitada especialmente; esto significa que ahora :keyword:`!" +"with` es siempre una palabra clave. El resto de esta sección es una copia de " +"la sección correspondiente del documento \"Qué hay de nuevo en Python 2.5\"; " +"si está familiarizado con la declaración ':keyword:`!with`' de Python 2.5, " +"puede omitir esta sección." #: ../Doc/whatsnew/2.6.rst:259 msgid "" @@ -324,12 +453,19 @@ msgid "" "next section, I'll examine the implementation details and show how to write " "objects for use with this statement." msgstr "" +"La sentencia ':keyword:`with`' resuelve el código que anteriormente usaría " +"bloques `try...finally`` para garantizar que el código de limpieza se " +"ejecute. En esta sección, discutiré como se usará comúnmente la declaración. " +"En la siguiente sección, examinaré los detalles de la implementación y " +"mostraré cómo escribir objetos para usar con esta declaración." #: ../Doc/whatsnew/2.6.rst:265 msgid "" "The ':keyword:`with`' statement is a control-flow structure whose basic " "structure is::" msgstr "" +"La sentencia ':keyword:`with`' es una estructura de control de flujo cuya " +"estructura básica es::" #: ../Doc/whatsnew/2.6.rst:271 msgid "" @@ -337,6 +473,9 @@ msgid "" "the context management protocol (that is, has :meth:`__enter__` and :meth:" "`__exit__` methods)." msgstr "" +"La expresión se evalúa y debe dar como resultado un objeto que admita el " +"protocolo de administración de contexto (es decir, tiene los métodos :meth:" +"`__enter__` y :meth:`__exit__`)." #: ../Doc/whatsnew/2.6.rst:275 msgid "" @@ -345,6 +484,11 @@ msgid "" "the name *variable*, if given. (Note carefully that *variable* is *not* " "assigned the result of *expression*.)" msgstr "" +"El objeto :meth:`__enter__` se llama antes de que se ejecute *with-block* y, " +"por lo tanto, se puede ejecutar código de configuración. También, si se " +"proporciona, puede retornar un valor que esté vinculado al nombre " +"*variable*. (Tenga en cuenta que a la *variable* *no* se le asigna el " +"resultado de la *expression*)." #: ../Doc/whatsnew/2.6.rst:280 msgid "" @@ -352,6 +496,9 @@ msgid "" "`__exit__` method is called, even if the block raised an exception, and can " "therefore run clean-up code." msgstr "" +"Una vez finalizada la ejecución de *with-block*, se llama al método :meth:" +"`__exit__` del objeto, incluso si el bloque generó una excepción y, por lo " +"tanto, puede ejecutar código de limpieza." #: ../Doc/whatsnew/2.6.rst:284 msgid "" @@ -359,6 +506,9 @@ msgid "" "can be used with the ':keyword:`with`' statement. File objects are one " "example::" msgstr "" +"Algunos objetos estándar de Python ahora admiten el protocolo de " +"administración de contexto y se pueden usar con la sentencia ':keyword:" +"`with`'. Los objetos de archivo son un ejemplo::" #: ../Doc/whatsnew/2.6.rst:292 msgid "" @@ -366,24 +516,33 @@ msgid "" "automatically closed, even if the :keyword:`for` loop raised an exception " "part-way through the block." msgstr "" +"Después de que se haya ejecutado esta sentencia, el objeto de archivo en *f* " +"se habrá cerrado automáticamente, incluso si el bucle :keyword:`for` generó " +"una excepción en la mitad del bloque." #: ../Doc/whatsnew/2.6.rst:298 msgid "" "In this case, *f* is the same object created by :func:`open`, because :meth:" "`file.__enter__` returns *self*." msgstr "" +"En este caso, *f* es el mismo objeto creado por :func:`open`, porque :meth:" +"`file.__enter__` retorna *self*." #: ../Doc/whatsnew/2.6.rst:301 msgid "" "The :mod:`threading` module's locks and condition variables also support " "the ':keyword:`with`' statement::" msgstr "" +"Los *locks* y las condiciones variables del módulo :mod:`threading` también " +"admiten la sentencia ':keyword:`with`'::" #: ../Doc/whatsnew/2.6.rst:309 msgid "" "The lock is acquired before the block is executed and always released once " "the block is complete." msgstr "" +"El *lock* se adquiere antes de que se ejecute el bloque y siempre se libera " +"una vez que este se completa." #: ../Doc/whatsnew/2.6.rst:312 msgid "" @@ -391,10 +550,13 @@ msgid "" "to save and restore the current decimal context, which encapsulates the " "desired precision and rounding characteristics for computations::" msgstr "" +"La función :func:`localcontext` en el módulo :mod:`decimal` facilita guardar " +"y restaurar el contexto decimal actual, que encapsula la precisión deseada y " +"las características de redondeo para los cálculos::" #: ../Doc/whatsnew/2.6.rst:331 msgid "Writing Context Managers" -msgstr "" +msgstr "Escribiendo gestores de contexto" #: ../Doc/whatsnew/2.6.rst:333 msgid "" @@ -404,10 +566,16 @@ msgid "" "if you like. Authors of new objects will need to understand the details of " "the underlying implementation and should keep reading." msgstr "" +"Por detrás, la sentencia ':keyword:`with`' es bastante complicada. La " +"mayoría de las personas solo usarán ':keyword:`!with`' en compañía de " +"objetos existentes y no necesitan conocer estos detalles, por lo que puede " +"omitir el resto de esta sección si lo desea. Los autores de nuevos objetos " +"deberán comprender los detalles de la implementación subyacente y deben " +"seguir leyendo." #: ../Doc/whatsnew/2.6.rst:339 msgid "A high-level explanation of the context management protocol is:" -msgstr "" +msgstr "Una explicación de alto nivel del protocolo de gestor de contexto es:" #: ../Doc/whatsnew/2.6.rst:341 msgid "" @@ -415,6 +583,9 @@ msgid "" "\"context manager\". The context manager must have :meth:`__enter__` and :" "meth:`__exit__` methods." msgstr "" +"La expresión se evalúa y debería dar como resultado un objeto llamado " +"\"gestor de contexto\". El gestor de contexto debe tener los métodos :meth:" +"`__enter__` y :meth:`__exit__`." #: ../Doc/whatsnew/2.6.rst:345 msgid "" @@ -422,10 +593,13 @@ msgid "" "returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " "value is simply discarded." msgstr "" +"Se llama al método :meth:`__enter__` del gestor de contexto. El valor " +"retornado se asigna a *VAR*. Si no hay una cláusula ``as VAR``, el valor " +"simplemente se descarta." #: ../Doc/whatsnew/2.6.rst:349 msgid "The code in *BLOCK* is executed." -msgstr "" +msgstr "Se ejecuta el código en *BLOCK*." #: ../Doc/whatsnew/2.6.rst:351 msgid "" @@ -439,18 +613,31 @@ msgid "" "containing the ':keyword:`with`' statement will never realize anything went " "wrong." msgstr "" +"Si *BLOCK* lanza una excepción, se llama al método :meth:`__exit__` del " +"gestor de contexto con tres argumentos, los detalles de la excepción " +"(``type, value, traceback``, los mismos valores retornados por :func:`sys." +"exc_info`, que también puede ser ``None`` si no se produjo ninguna " +"excepción). El valor de retorno del método controla si se vuelve a generar " +"una excepción: cualquier valor *false* vuelve a lanzar la excepción, y " +"``True`` resultará en inhibirla. Rara vez querrá suprimir la excepción, " +"porque si lo hace, el autor del código que contenga la sentencia ':keyword:" +"`with`' nunca se dará cuenta de que algo salió mal." #: ../Doc/whatsnew/2.6.rst:360 msgid "" "If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " "called, but *type*, *value*, and *traceback* are all ``None``." msgstr "" +"Si *BLOCK* no lanzó una excepción, el método :meth:`__exit__` continúa " +"llamándose, pero *type*, *value* y *traceback* son todos``None``." #: ../Doc/whatsnew/2.6.rst:363 msgid "" "Let's think through an example. I won't present detailed code but will only " "sketch the methods necessary for a database that supports transactions." msgstr "" +"Pensemos en un ejemplo. No presentaré un código detallado, solo bosquejaré " +"los métodos necesarios para una base de datos que admita transacciones." #: ../Doc/whatsnew/2.6.rst:366 msgid "" @@ -460,12 +647,21 @@ msgid "" "rolled back, meaning that the changes are all discarded and the database is " "unchanged. See any database textbook for more information.)" msgstr "" +"(Para las personas que no están familiarizadas con la terminología de la " +"base de datos: un conjunto de cambios en la base de datos se agrupa en una " +"transacción. Las transacciones pueden confirmarse, lo que significa que " +"todos los cambios se escriben en la base de datos, o deshacerse, lo que " +"significa que todos los cambios se descartan y la base de datos no ha " +"cambiado. Consulte cualquier libro de texto de base de datos para obtener " +"más información.)" #: ../Doc/whatsnew/2.6.rst:372 msgid "" "Let's assume there's an object representing a database connection. Our goal " "will be to let the user write code like this::" msgstr "" +"Supongamos que hay un objeto que representa una conexión de base de datos. " +"Nuestro objetivo será permitir que el usuario escriba un código como este::" #: ../Doc/whatsnew/2.6.rst:381 msgid "" @@ -473,6 +669,9 @@ msgid "" "or rolled back if there's an exception. Here's the basic interface for :" "class:`DatabaseConnection` that I'll assume::" msgstr "" +"La transacción debe confirmarse si el código del bloque se ejecuta sin " +"problemas o revertirse si hay una excepción. Aquí está la interfaz básica " +"para :class:`DatabaseConnection` que asumiré::" #: ../Doc/whatsnew/2.6.rst:394 msgid "" @@ -482,6 +681,11 @@ msgid "" "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" msgstr "" +"El método :meth:`__enter__` es bastante fácil, ya que solo tiene que iniciar " +"una nueva transacción. Para esta aplicación, el objeto cursor resultante " +"sería un resultado útil, por lo que el método lo retornará. Luego, el " +"usuario puede agregar ``as cursor`` a su sentencia ':keyword:`with`' para " +"vincular el cursor a un nombre de variable. ::" #: ../Doc/whatsnew/2.6.rst:406 msgid "" @@ -490,6 +694,10 @@ msgid "" "occurred. If there was no exception, the transaction is committed. The " "transaction is rolled back if there was an exception." msgstr "" +"El método :meth:`__exit__` es el más complicado porque es donde se debe " +"realizar la mayor parte del trabajo. El método debe verificar si ocurrió una " +"excepción. Si no hubo excepción, la transacción se confirma. La transacción " +"se revierte si hubo una excepción." #: ../Doc/whatsnew/2.6.rst:411 msgid "" @@ -498,16 +706,23 @@ msgid "" "exception will be re-raised automatically. If you wished, you could be more " "explicit and add a :keyword:`return` statement at the marked location. ::" msgstr "" +"En el siguiente código, la ejecución simplemente caerá al final de la " +"función, retornando el valor predeterminado ``None``. ``None`` es falso, por " +"lo que la excepción se volverá a lanzar automáticamente. Si lo desea, puede " +"ser más explícito y agregar una sentencia :keyword:`return` en la ubicación " +"marcada. ::" #: ../Doc/whatsnew/2.6.rst:431 msgid "The contextlib module" -msgstr "" +msgstr "El módulo contextlib" #: ../Doc/whatsnew/2.6.rst:433 msgid "" "The :mod:`contextlib` module provides some functions and a decorator that " "are useful when writing objects for use with the ':keyword:`with`' statement." msgstr "" +"El módulo :mod:`contextlib` proporciona algunas funciones y un decorador que " +"son útiles al escribir objetos para usar con la sentencia ':keyword:`with`'." #: ../Doc/whatsnew/2.6.rst:436 msgid "" @@ -521,12 +736,23 @@ msgid "" "exception raised in the block will be raised by the :keyword:`!yield` " "statement." msgstr "" +"El decorador se llama :func:`contextmanager`, y te permite escribir una " +"única función generadora en lugar de definir una clase nueva. El generador " +"debería producir exactamente un valor. El código hasta :keyword:`yield` se " +"ejecutará como el método :meth:`__enter__`, y el valor obtenido será el " +"valor de retorno del método que se vinculará a la variable en la clausula :" +"keyword:`!as` (si la hay) de la sentencia ':keyword:`with`'. El código " +"después de :keyword:`!yield` se ejecutará en el método :meth:`__exit__` . " +"Cualquier excepción lanzada en el bloque será generada por la sentencia :" +"keyword:`!yield`." #: ../Doc/whatsnew/2.6.rst:445 msgid "" "Using this decorator, our database example from the previous section could " "be written as::" msgstr "" +"Usando este decorador, nuestro ejemplo de base de datos de la sección " +"anterior podría escribirse como::" #: ../Doc/whatsnew/2.6.rst:465 msgid "" @@ -536,6 +762,11 @@ msgid "" "with`' statement both starts a database transaction and acquires a thread " "lock::" msgstr "" +"El módulo :mod:`contextlib` también tiene una función ``nested(mgr1, " +"mgr2, ...)`` que combina varios gestores de contexto para que no necesite " +"escribir sentencias ':keyword:`with`' anidadas. En este ejemplo, se utiliza " +"una única sentencia ':keyword:`!with`' que inicia una transacción de base de " +"datos y adquiere un bloqueo del hilo::" #: ../Doc/whatsnew/2.6.rst:474 msgid "" @@ -543,10 +774,13 @@ msgid "" "bound to a variable, and calls the argument's ``.close()`` method at the end " "of the block. ::" msgstr "" +"Por último, la función :func:`close` retorna su argumento para que pueda " +"vincularse a una variable, y llama al método ``.close()`` del argumento al " +"final del bloque. ::" #: ../Doc/whatsnew/2.6.rst:492 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - La sentencia \"with\"" #: ../Doc/whatsnew/2.6.rst:489 msgid "" @@ -555,14 +789,18 @@ msgid "" "':keyword:`with`' statement, which can be helpful in learning how the " "statement works." msgstr "" +"PEP escrito por Guido van Rossum y Nick Coghlan; implementado por Mike " +"Bland, Guido van Rossum y Neal Norwitz. El PEP muestra el código generado " +"para una sentencia ':keyword:`with`', que puede ser útil para aprender cómo " +"la sentencia funciona." #: ../Doc/whatsnew/2.6.rst:494 msgid "The documentation for the :mod:`contextlib` module." -msgstr "" +msgstr "La documentación para el módulo :mod:`contextlib`." #: ../Doc/whatsnew/2.6.rst:501 msgid "PEP 366: Explicit Relative Imports From a Main Module" -msgstr "" +msgstr "PEP 366: Importaciones relativas explícitas desde un módulo principal" #: ../Doc/whatsnew/2.6.rst:503 msgid "" @@ -570,6 +808,9 @@ msgid "" "ran a module that was located inside a package, relative imports didn't work " "correctly." msgstr "" +"El modificador de Python :option:`-m` permite ejecutar un módulo como un " +"script. Cuando ejecutabas un módulo que estaba ubicado dentro de un paquete, " +"las importaciones relativas no funcionaban correctamente." #: ../Doc/whatsnew/2.6.rst:507 msgid "" @@ -577,6 +818,10 @@ msgid "" "When this attribute is present, relative imports will be relative to the " "value of this attribute instead of the :attr:`__name__` attribute." msgstr "" +"La corrección para Python 2.6 agrega un atributo :attr:`__package__` a los " +"módulos. Cuando este atributo está presente, las importaciones relativas " +"serán relativas al valor de este atributo en lugar del atributo :attr:" +"`__name__`." #: ../Doc/whatsnew/2.6.rst:512 msgid "" @@ -585,10 +830,15 @@ msgid "" "relative imports will now work correctly in scripts running from inside a " "package." msgstr "" +"Las importaciones de estilo PEP 302 pueden configurar :attr:`__package__` " +"según sea necesario. El módulo :mod:`runpy` que implementa el modificador :" +"option:`-m` ahora hace esto, por lo que las importaciones relativas ahora " +"funcionarán correctamente en los scripts que se ejecutan desde el interior " +"de un paquete." #: ../Doc/whatsnew/2.6.rst:522 msgid "PEP 370: Per-user ``site-packages`` Directory" -msgstr "" +msgstr "PEP 370: Directorio de ``site-packages`` por usuario" #: ../Doc/whatsnew/2.6.rst:524 msgid "" @@ -597,20 +847,27 @@ msgid "" "intended to hold locally-installed packages available to all users using a " "machine or a particular site installation." msgstr "" +"Cuando ejecutas Python, la ruta de búsqueda del módulo ``sys.path`` " +"generalmente incluye un directorio cuya ruta termina en ``\"site-packages" +"\"``. Este directorio está destinado a contener paquetes instalados " +"localmente disponibles para todos los usuarios que utilizan una máquina o un " +"sitio de instalación en particular." #: ../Doc/whatsnew/2.6.rst:529 msgid "" "Python 2.6 introduces a convention for user-specific site directories. The " "directory varies depending on the platform:" msgstr "" +"Python 2.6 introduce una convención para directorios de sitios específicos " +"del usuario. El directorio varía según la plataforma:" #: ../Doc/whatsnew/2.6.rst:532 msgid "Unix and Mac OS X: :file:`~/.local/`" -msgstr "" +msgstr "Unix y Mac OS X: :file:`~/.local/`" #: ../Doc/whatsnew/2.6.rst:533 msgid "Windows: :file:`%APPDATA%/Python`" -msgstr "" +msgstr "Windows: :file:`%APPDATA%/Python`" #: ../Doc/whatsnew/2.6.rst:535 msgid "" @@ -618,6 +875,9 @@ msgid "" "as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/" "site-packages` on Windows." msgstr "" +"Dentro de este directorio, habrá subdirectorios específicos de versión, " +"como :file:`lib/python2.6/site-packages` en Unix/Mac OS y :file:`Python26/" +"site-packages` en Windows." #: ../Doc/whatsnew/2.6.rst:539 msgid "" @@ -628,24 +888,33 @@ msgid "" "`APPDATA` environment variable. You can also modify the :file:`site.py` " "file for your Python installation." msgstr "" +"Si no le gusta el directorio predeterminado, puede sobrescribirlo mediante " +"una variable de entorno. :envvar:`PYTHONUSERBASE` establece el directorio " +"raíz utilizado para todas las versiones de Python que admiten esta función. " +"En Windows, el directorio de datos específicos de la aplicación se puede " +"cambiar configurando la variable de entorno :envvar:`APPDATA`. También puede " +"modificar el archivo :file:`site.py` para su instalación de Python." #: ../Doc/whatsnew/2.6.rst:546 msgid "" "The feature can be disabled entirely by running Python with the :option:`-s` " "option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" +"La característica se puede desactivar por completo ejecutando Python con la " +"opción :option:`-s` o *seteando* la variable de entorno :envvar:" +"`PYTHONNOUSERSITE`." #: ../Doc/whatsnew/2.6.rst:552 msgid ":pep:`370` - Per-user ``site-packages`` Directory" -msgstr "" +msgstr "PEP 370: Directorio de ``site-packages`` por usuario" #: ../Doc/whatsnew/2.6.rst:553 msgid "PEP written and implemented by Christian Heimes." -msgstr "" +msgstr "PEP escrito e implementado por Christian Heimes." #: ../Doc/whatsnew/2.6.rst:561 msgid "PEP 371: The ``multiprocessing`` Package" -msgstr "" +msgstr "PEP 371: El paquete ``multiprocessing``" #: ../Doc/whatsnew/2.6.rst:563 msgid "" @@ -655,6 +924,11 @@ msgid "" "pipes, synchronize their operations using locks and semaphores, and can " "share simple arrays of data." msgstr "" +"El nuevo paquete :mod:`multiprocessing` permite a los programas de Python " +"crear nuevos procesos que realizarán un cálculo y retornaran un resultado al " +"padre. Los procesos padre e hijo pueden comunicarse mediante colas " +"(*queues*) y tuberías (*pipes*), sincronizar sus operaciones mediante " +"bloqueos y semáforos, y pueden compartir matrices simples de datos." #: ../Doc/whatsnew/2.6.rst:569 msgid "" @@ -667,6 +941,15 @@ msgid "" "can call the :meth:`is_alive` method to check whether the subprocess is " "still running and the :meth:`join` method to wait for the process to exit." msgstr "" +"El módulo :mod:`multiprocessing` comenzó como una emulación exacta del " +"módulo :mod:`threading` usando procesos en lugar de hilos. Ese objetivo se " +"descartó en el camino a Python 2.6, pero el enfoque general del módulo sigue " +"siendo similar. La clase fundamental es :class:`Process`, a la que se le " +"pasa un objeto invocable y una colección de argumentos. El método :meth:" +"`start` establece el invocable ejecutándose en un subproceso, después de lo " +"cual se puede llamar al método :meth:`is_alive` para verificar si el " +"subproceso aún se está ejecutando y al método :meth:`join` para esperar al " +"proceso para salir." #: ../Doc/whatsnew/2.6.rst:579 msgid "" @@ -674,6 +957,9 @@ msgid "" "The function doing the calculation is written strangely so that it takes " "significantly longer when the input argument is a multiple of 4." msgstr "" +"Aquí hay un ejemplo simple donde el subproceso calculará un factorial. La " +"función que realiza el cálculo está escrita de forma extraña, por lo que " +"lleva mucho más tiempo cuando el argumento de entrada es un múltiplo de 4." #: ../Doc/whatsnew/2.6.rst:616 msgid "" @@ -684,6 +970,12 @@ msgid "" "communicate. (If the parent were to change the value of the global " "variable, the child's value would be unaffected, and vice versa.)" msgstr "" +"Un :class:`~queue.Queue` se usa para comunicar el resultado del factorial. " +"El objeto :class:`~queue.Queue` se almacena en una variable global. El " +"proceso hijo usará el valor de la variable cuando se creó el hijo; porque es " +"una :class:`~ queue.Queue`, padre e hijo pueden usar el objeto para " +"comunicarse. (Si el padre cambiara el valor de la variable global, el valor " +"del hijo no se vería afectado y viceversa)." #: ../Doc/whatsnew/2.6.rst:624 msgid "" @@ -695,10 +987,17 @@ msgid "" "`Pool` to spread requests across 5 worker processes and retrieve a list of " "results::" msgstr "" +"Otras dos clases, :class:`Pool` y :class:`Manager`, proporcionan interfaces " +"de nivel superior. :class:`Pool` creará un número fijo de procesos de " +"trabajo, y las solicitudes se pueden distribuir a los trabajadores llamando " +"a :meth:`apply` o :meth:`apply_async` para agregar una sola solicitud, y :" +"meth:`map` o :meth:`map_async` para agregar una serie de solicitudes. El " +"siguiente código usa :class:`Pool` para distribuir las solicitudes en 5 " +"procesos de trabajo y recuperar una lista de resultados::" #: ../Doc/whatsnew/2.6.rst:642 msgid "This produces the following output::" -msgstr "" +msgstr "Esto produce la siguiente salida::" #: ../Doc/whatsnew/2.6.rst:651 msgid "" @@ -712,28 +1011,39 @@ msgid "" "methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to " "create shared locks.)" msgstr "" +"La otra interfaz de alto nivel, la clase :class:`Manager`, crea un proceso " +"de servidor separado que puede contener copias maestras de las estructuras " +"de datos de Python. Luego, otros procesos pueden acceder y modificar estas " +"estructuras de datos utilizando objetos proxy. El siguiente ejemplo crea un " +"diccionario compartido llamando al método :meth:`dict`; los procesos de " +"trabajo luego insertan valores en el diccionario. (El bloqueo no se realiza " +"automáticamente, lo cual no importa en este ejemplo. Los métodos de :class:" +"`Manager` también incluyen :meth:`Lock`, :meth:`RLock`, y :meth:`Semaphore` " +"para crear bloqueos compartidos.)" #: ../Doc/whatsnew/2.6.rst:695 msgid "This will produce the output::" -msgstr "" +msgstr "Esto producirá la salida::" #: ../Doc/whatsnew/2.6.rst:706 msgid "The documentation for the :mod:`multiprocessing` module." -msgstr "" +msgstr "La documentación del módulo :mod:`multiprocessing`." #: ../Doc/whatsnew/2.6.rst:709 msgid ":pep:`371` - Addition of the multiprocessing package" -msgstr "" +msgstr ":pep:`371` - Adición del paquete de multiprocesamiento" #: ../Doc/whatsnew/2.6.rst:709 msgid "" "PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " "Oudkerk and Jesse Noller." msgstr "" +"PEP escrito por Jesse Noller y Richard Oudkerk; implementado por Richard " +"Oudkerk y Jesse Noller." #: ../Doc/whatsnew/2.6.rst:718 msgid "PEP 3101: Advanced String Formatting" -msgstr "" +msgstr "PEP 3101: Formateo avanzado de cadena de caracteres" #: ../Doc/whatsnew/2.6.rst:720 msgid "" @@ -741,6 +1051,9 @@ msgid "" "formatting method, :meth:`format`. Support for the :meth:`str.format` " "method has been backported to Python 2.6." msgstr "" +"En Python 3.0, el operador `%` se complementa con un método de formato de " +"cadena de caracteres más potente, :meth:`format`. La compatibilidad con el " +"método :meth:`str.format` se ha actualizado a Python 2.6." #: ../Doc/whatsnew/2.6.rst:724 msgid "" @@ -748,10 +1061,14 @@ msgid "" "the string as a template and takes the arguments to be formatted. The " "formatting template uses curly brackets (`{`, `}`) as special characters::" msgstr "" +"En 2.6, las cadenas de caracteres de 8 bits y Unicode tienen un método `." +"format()` que trata la cadena como una plantilla y toma los argumentos a " +"formatear. La plantilla de formato utiliza llaves (`{`, `}`) como caracteres " +"especiales::" #: ../Doc/whatsnew/2.6.rst:737 msgid "Curly brackets can be escaped by doubling them::" -msgstr "" +msgstr "Las llaves se pueden escapar duplicándose::" #: ../Doc/whatsnew/2.6.rst:742 msgid "" @@ -759,6 +1076,10 @@ msgid "" "``, ``{1}``, etc. or names of keyword arguments. You can also supply " "compound field names that read attributes or access dictionary keys::" msgstr "" +"Los nombres de campo pueden ser números enteros que indican argumentos " +"posicionales, como ``{0}``, ``{1}``, etc. o nombres de argumentos de " +"palabras clave. También puede proporcionar nombres de campos compuestos que " +"lean atributos o accedan a claves de diccionario::" #: ../Doc/whatsnew/2.6.rst:756 msgid "" @@ -768,6 +1089,11 @@ msgid "" "converted to an integer. You can't write more complicated expressions " "inside a format string." msgstr "" +"Tenga en cuenta que cuando utilice una notación de estilo diccionario como " +"``[.mp4]``, no es necesario poner comillas alrededor de la cadena; se " +"buscará el valor usando ``.mp4`` como clave. Las cadenas de caracteres que " +"comienzan con un número se convertirán en entero. No puede escribir " +"expresiones más complicadas dentro de una cadena de formato." #: ../Doc/whatsnew/2.6.rst:762 msgid "" @@ -775,54 +1101,60 @@ msgid "" "resulting string. The precise formatting used is also controllable by " "adding a colon followed by a format specifier. For example::" msgstr "" +"Hasta ahora hemos mostrado cómo especificar qué campo sustituir en la cadena " +"resultante. El formato preciso utilizado también se puede controlar " +"agregando dos puntos seguidos de un especificador de formato. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:776 msgid "Format specifiers can reference other fields through nesting::" msgstr "" +"Los especificadores de formato pueden hacer referencia a otros campos a " +"través del anidamiento::" #: ../Doc/whatsnew/2.6.rst:786 msgid "The alignment of a field within the desired width can be specified:" msgstr "" +"Se puede especificar la alineación de un campo dentro del ancho deseado:" #: ../Doc/whatsnew/2.6.rst:789 msgid "Character" -msgstr "" +msgstr "Carácter" #: ../Doc/whatsnew/2.6.rst:789 msgid "Effect" -msgstr "" +msgstr "Efecto" #: ../Doc/whatsnew/2.6.rst:791 msgid "< (default)" -msgstr "" +msgstr "< (por defecto)" #: ../Doc/whatsnew/2.6.rst:791 msgid "Left-align" -msgstr "" +msgstr "Alinear a la izquierda" #: ../Doc/whatsnew/2.6.rst:792 msgid ">" -msgstr "" +msgstr ">" #: ../Doc/whatsnew/2.6.rst:792 msgid "Right-align" -msgstr "" +msgstr "Alinear a la derecha" #: ../Doc/whatsnew/2.6.rst:793 msgid "^" -msgstr "" +msgstr "^" #: ../Doc/whatsnew/2.6.rst:793 msgid "Center" -msgstr "" +msgstr "Centrado" #: ../Doc/whatsnew/2.6.rst:794 msgid "=" -msgstr "" +msgstr "=" #: ../Doc/whatsnew/2.6.rst:794 msgid "(For numeric types only) Pad after the sign." -msgstr "" +msgstr "(Solo para tipos numéricos) Relleno después del signo." #: ../Doc/whatsnew/2.6.rst:797 msgid "" @@ -830,24 +1162,31 @@ msgid "" "the value is formatted. For example, floating-point numbers can be " "formatted as a general number or in exponential notation::" msgstr "" +"Los especificadores de formato también pueden incluir un tipo de " +"presentación, que controla cómo se formatea el valor. Por ejemplo, los " +"números de punto flotante pueden formatearse como un número general o en " +"notación exponencial::" #: ../Doc/whatsnew/2.6.rst:806 msgid "" "A variety of presentation types are available. Consult the 2.6 " "documentation for a :ref:`complete list `; here's a sample:" msgstr "" +"Hay una variedad de tipos de presentación disponibles. Consulte la " +"documentación 2.6 para obtener una :ref:`lista completa `; " +"aquí hay un ejemplo:" #: ../Doc/whatsnew/2.6.rst:810 msgid "``b``" -msgstr "" +msgstr "``b``" #: ../Doc/whatsnew/2.6.rst:810 msgid "Binary. Outputs the number in base 2." -msgstr "" +msgstr "Binario. Emite el número en base 2." #: ../Doc/whatsnew/2.6.rst:811 msgid "``c``" -msgstr "" +msgstr "``c``" #: ../Doc/whatsnew/2.6.rst:811 msgid "" @@ -857,7 +1196,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:813 msgid "``d``" -msgstr "" +msgstr "``d``" #: ../Doc/whatsnew/2.6.rst:813 msgid "Decimal Integer. Outputs the number in base 10." @@ -865,7 +1204,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:814 msgid "``o``" -msgstr "" +msgstr "``o``" #: ../Doc/whatsnew/2.6.rst:814 msgid "Octal format. Outputs the number in base 8." @@ -873,7 +1212,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:815 msgid "``x``" -msgstr "" +msgstr "``x``" #: ../Doc/whatsnew/2.6.rst:815 msgid "" @@ -883,7 +1222,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:817 msgid "``e``" -msgstr "" +msgstr "``e``" #: ../Doc/whatsnew/2.6.rst:817 msgid "" @@ -893,7 +1232,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:819 msgid "``g``" -msgstr "" +msgstr "``g``" #: ../Doc/whatsnew/2.6.rst:819 msgid "" @@ -903,7 +1242,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:822 msgid "``n``" -msgstr "" +msgstr "``n``" #: ../Doc/whatsnew/2.6.rst:822 msgid "" @@ -914,7 +1253,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:825 msgid "``%``" -msgstr "" +msgstr "``%``" #: ../Doc/whatsnew/2.6.rst:825 msgid "" @@ -936,7 +1275,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:849 msgid ":ref:`formatstrings`" -msgstr "" +msgstr ":ref:`formatstrings`" #: ../Doc/whatsnew/2.6.rst:849 msgid "The reference documentation for format fields." @@ -1481,7 +1820,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:1373 msgid "This is equivalent to::" -msgstr "" +msgstr "Esto es equivalente a::" #: ../Doc/whatsnew/2.6.rst:1382 msgid ":pep:`3129` - Class Decorators" @@ -1489,7 +1828,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:1383 msgid "PEP written by Collin Winter." -msgstr "" +msgstr "PEP escrita por Collin Winter." #: ../Doc/whatsnew/2.6.rst:1390 msgid "PEP 3141: A Type Hierarchy for Numbers" @@ -1557,7 +1896,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:1432 msgid "PEP written by Jeffrey Yasskin." -msgstr "" +msgstr "PEP escrita por Jeffrey Yasskin." #: ../Doc/whatsnew/2.6.rst:1434 msgid "" @@ -2929,7 +3268,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:2582 msgid "(:issue:`1513695`)" -msgstr "" +msgstr "(:issue:`1513695`)" #: ../Doc/whatsnew/2.6.rst:2584 msgid "" @@ -3685,7 +4024,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:3308 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.6.rst:3310 msgid "" From 007b096ca21deedfeb5aba21d7c1878ecf359180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Sun, 3 Oct 2021 14:29:17 +0100 Subject: [PATCH 85/94] whatsnew/2.6.po (#1374) --- dictionaries/whatsnew_2.6.txt | 109 +- whatsnew/2.6.po | 1893 +++++++++++++++++++++++++++++++-- 2 files changed, 1919 insertions(+), 83 deletions(-) diff --git a/dictionaries/whatsnew_2.6.txt b/dictionaries/whatsnew_2.6.txt index f53c63d946..aac7e219ac 100644 --- a/dictionaries/whatsnew_2.6.txt +++ b/dictionaries/whatsnew_2.6.txt @@ -1,7 +1,114 @@ +reubicadas Bland contextlib Neal Norwitz rediseño Stellenbosch -xxx \ No newline at end of file +xxx +Talin +Verdone +Doerwald +Tony +Lownds +Banks +duck +typing +renderiza +Talin +Aranguren +prefijándolos +Patrick +Maupin +Guile +subclasa +Austin +Bengt +Richter +Javascript +Javascript +Rigo +Jacobs +sprint +Need +Barnes +Fiori +Nubis +ulps +Arvin +Schnell +Fabian +Kreutz +sobrescritura +Brouwers +Lenton +Petrosyan +Levinson +Horcicka +var +Rocky +opcodes +Achim +Gaedke +Shawn +Ligocki +Wladmir +Laan +Ralf +Schmitt +Engine +Lorenz +Quack +Ralf +Schmitt +Taylor +Leif +Hedstrom +Fenner +Bertogli +Pomraning +Werneck +Remahl +Schuppenies +Damien +Miller +Dustin +Mitchell +Dwayne +Bailey +callables +Erik +Demaine +Gregor +Lingl +reimplementaba +Parente +Alan +Summer +Ralf +Schmitt +Riku +Lindblad +Alan +Graham +Horler +Borzenkov +Notation +simplejson +serializándolos +Remahl +Janssen +Duncan +Grisby +make +patchcheck +make +opt +var +Floris +Ralph +Corderoy +Johnson +Lambacher +Michlmayr +Warner diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 2b3f493a33..8363f74261 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -1189,168 +1189,232 @@ msgid "``c``" msgstr "``c``" #: ../Doc/whatsnew/2.6.rst:811 +#, fuzzy msgid "" "Character. Converts the integer to the corresponding Unicode character " "before printing." msgstr "" +"Carácter. Convierte el número entero en el carácter Unicode correspondiente " +"antes de imprimirlo." #: ../Doc/whatsnew/2.6.rst:813 +#, fuzzy msgid "``d``" msgstr "``d``" #: ../Doc/whatsnew/2.6.rst:813 +#, fuzzy msgid "Decimal Integer. Outputs the number in base 10." -msgstr "" +msgstr "Entero Decimal. Muestra el número en base 10." #: ../Doc/whatsnew/2.6.rst:814 +#, fuzzy msgid "``o``" msgstr "``o``" #: ../Doc/whatsnew/2.6.rst:814 +#, fuzzy msgid "Octal format. Outputs the number in base 8." -msgstr "" +msgstr "Formato octal. Da salida al número en base 8." #: ../Doc/whatsnew/2.6.rst:815 +#, fuzzy msgid "``x``" msgstr "``x``" #: ../Doc/whatsnew/2.6.rst:815 +#, fuzzy msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." msgstr "" +"Formato hexadecimal. Muestra el número en base 16, utilizando letras " +"minúsculas para los dígitos superiores a 9." #: ../Doc/whatsnew/2.6.rst:817 +#, fuzzy msgid "``e``" msgstr "``e``" #: ../Doc/whatsnew/2.6.rst:817 +#, fuzzy msgid "" "Exponent notation. Prints the number in scientific notation using the letter " "'e' to indicate the exponent." msgstr "" +"Notación de exponente. Imprime el número en notación científica utilizando " +"la letra 'e' para indicar el exponente." #: ../Doc/whatsnew/2.6.rst:819 +#, fuzzy msgid "``g``" msgstr "``g``" #: ../Doc/whatsnew/2.6.rst:819 +#, fuzzy msgid "" "General format. This prints the number as a fixed-point number, unless the " "number is too large, in which case it switches to 'e' exponent notation." msgstr "" +"Formato general. Esto imprime el número como un número de punto fijo, a " +"menos que el número sea demasiado grande, en cuyo caso cambia a la notación " +"de exponente 'e'." #: ../Doc/whatsnew/2.6.rst:822 +#, fuzzy msgid "``n``" msgstr "``n``" #: ../Doc/whatsnew/2.6.rst:822 +#, fuzzy msgid "" "Number. This is the same as 'g' (for floats) or 'd' (for integers), except " "that it uses the current locale setting to insert the appropriate number " "separator characters." msgstr "" +"Número. Es lo mismo que 'g' (para flotantes) o 'd' (para enteros), salvo que " +"utiliza la configuración regional actual para insertar los caracteres " +"separadores de números adecuados." #: ../Doc/whatsnew/2.6.rst:825 +#, fuzzy msgid "``%``" msgstr "``%``" #: ../Doc/whatsnew/2.6.rst:825 +#, fuzzy msgid "" "Percentage. Multiplies the number by 100 and displays in fixed ('f') format, " "followed by a percent sign." msgstr "" +"Porcentaje. Multiplica el número por 100 y lo muestra en formato fijo ('f'), " +"seguido de un signo de porcentaje." #: ../Doc/whatsnew/2.6.rst:829 +#, fuzzy msgid "" "Classes and types can define a :meth:`__format__` method to control how " "they're formatted. It receives a single argument, the format specifier::" msgstr "" +"Las clases y los tipos pueden definir un método :meth:`__format__` para " +"controlar cómo se formatean. Recibe un único argumento, el especificador de " +"formato::" #: ../Doc/whatsnew/2.6.rst:838 +#, fuzzy msgid "" "There's also a :func:`format` builtin that will format a single value. It " "calls the type's :meth:`__format__` method with the provided specifier::" msgstr "" +"También hay un builtin :func:`format` que formateará un solo valor. Llama " +"al método :meth:`__format__` del tipo con el especificador proporcionado::" #: ../Doc/whatsnew/2.6.rst:849 +#, fuzzy msgid ":ref:`formatstrings`" -msgstr ":ref:`formatstrings`" +msgstr ":ref:`formatos`" #: ../Doc/whatsnew/2.6.rst:849 +#, fuzzy msgid "The reference documentation for format fields." -msgstr "" +msgstr "La documentación de referencia para los campos de formato." #: ../Doc/whatsnew/2.6.rst:851 +#, fuzzy msgid ":pep:`3101` - Advanced String Formatting" -msgstr "" +msgstr ":pep:`3101` - Formato avanzado de cadenas" #: ../Doc/whatsnew/2.6.rst:852 +#, fuzzy msgid "PEP written by Talin. Implemented by Eric Smith." -msgstr "" +msgstr "PEP escrito por Talin. Implementado por Eric Smith." #: ../Doc/whatsnew/2.6.rst:859 +#, fuzzy msgid "PEP 3105: ``print`` As a Function" -msgstr "" +msgstr "PEP 3105: ``print`` como función" #: ../Doc/whatsnew/2.6.rst:861 +#, fuzzy msgid "" "The ``print`` statement becomes the :func:`print` function in Python 3.0. " "Making :func:`print` a function makes it possible to replace the function by " "doing ``def print(...)`` or importing a new function from somewhere else." msgstr "" +"La sentencia ``print`` se convierte en la función :func:`print` en Python " +"3.0. Hacer de :func:`print` una función hace posible reemplazar la función " +"haciendo ``def print(...)`` o importando una nueva función desde otro lugar." #: ../Doc/whatsnew/2.6.rst:865 +#, fuzzy msgid "" "Python 2.6 has a ``__future__`` import that removes ``print`` as language " "syntax, letting you use the functional form instead. For example::" msgstr "" +"Python 2.6 tiene una importación ``__future__`` que elimina ``print`` como " +"sintaxis del lenguaje, permitiéndote usar la forma funcional en su lugar. " +"Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:871 +#, fuzzy msgid "The signature of the new function is::" -msgstr "" +msgstr "La firma de la nueva función es::" #: ../Doc/whatsnew/2.6.rst:876 +#, fuzzy msgid "The parameters are:" -msgstr "" +msgstr "Los parámetros son:" #: ../Doc/whatsnew/2.6.rst:878 +#, fuzzy msgid "*args*: positional arguments whose values will be printed out." -msgstr "" +msgstr "*args*: argumentos posicionales cuyos valores se imprimirán." #: ../Doc/whatsnew/2.6.rst:879 +#, fuzzy msgid "*sep*: the separator, which will be printed between arguments." -msgstr "" +msgstr "*sep*: el separador que se imprimirá entre los argumentos." #: ../Doc/whatsnew/2.6.rst:880 +#, fuzzy msgid "" "*end*: the ending text, which will be printed after all of the arguments " "have been output." msgstr "" +"*end*: el texto final, que se imprimirá después de que se hayan emitido " +"todos los argumentos." #: ../Doc/whatsnew/2.6.rst:882 +#, fuzzy msgid "*file*: the file object to which the output will be sent." -msgstr "" +msgstr "*archivo*: el objeto archivo al que se enviará la salida." #: ../Doc/whatsnew/2.6.rst:886 +#, fuzzy msgid ":pep:`3105` - Make print a function" -msgstr "" +msgstr ":pep:`3105` - Hacer de la impresión una función" #: ../Doc/whatsnew/2.6.rst:887 +#, fuzzy msgid "PEP written by Georg Brandl." -msgstr "" +msgstr "PEP escrito por Georg Brandl." #: ../Doc/whatsnew/2.6.rst:894 +#, fuzzy msgid "PEP 3110: Exception-Handling Changes" -msgstr "" +msgstr "PEP 3110: Cambios en el manejo de excepciones" #: ../Doc/whatsnew/2.6.rst:896 +#, fuzzy msgid "" "One error that Python programmers occasionally make is writing the following " "code::" msgstr "" +"Un error que ocasionalmente cometen los programadores de Python es escribir " +"el siguiente código::" #: ../Doc/whatsnew/2.6.rst:904 +#, fuzzy msgid "" "The author is probably trying to catch both :exc:`TypeError` and :exc:" "`ValueError` exceptions, but this code actually does something different: it " @@ -1358,22 +1422,37 @@ msgid "" "local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be " "caught at all. The correct code specifies a tuple of exceptions::" msgstr "" +"El autor probablemente está tratando de atrapar ambas excepciones :exc:" +"`TypeError` y :exc:`ValueError`, pero este código en realidad hace algo " +"diferente: atrapará :exc:`TypeError` y vinculará el objeto de excepción " +"resultante al nombre local ``\"ValueError\"``. La excepción :exc:" +"`ValueError` no será capturada en absoluto. El código correcto especifica " +"una tupla de excepciones::" #: ../Doc/whatsnew/2.6.rst:916 +#, fuzzy msgid "" "This error happens because the use of the comma here is ambiguous: does it " "indicate two different nodes in the parse tree, or a single node that's a " "tuple?" msgstr "" +"Este error se produce porque el uso de la coma aquí es ambiguo: ¿indica dos " +"nodos diferentes en el árbol de análisis sintáctico, o un único nodo que es " +"una tupla?" #: ../Doc/whatsnew/2.6.rst:920 +#, fuzzy msgid "" "Python 3.0 makes this unambiguous by replacing the comma with the word \"as" "\". To catch an exception and store the exception object in the variable " "``exc``, you must write::" msgstr "" +"Python 3.0 hace que esto sea inequívoco al sustituir la coma por la palabra " +"\"as\". Para atrapar una excepción y almacenar el objeto de excepción en la " +"variable ``exc``, debes escribir::" #: ../Doc/whatsnew/2.6.rst:929 +#, fuzzy msgid "" "Python 3.0 will only support the use of \"as\", and therefore interprets the " "first example as catching two different exceptions. Python 2.6 supports " @@ -1381,20 +1460,29 @@ msgid "" "therefore suggest using \"as\" when writing new Python code that will only " "be executed with 2.6." msgstr "" +"Python 3.0 sólo soporta el uso de \"as\", y por lo tanto interpreta el " +"primer ejemplo como la captura de dos excepciones diferentes. Python 2.6 " +"soporta tanto la coma como \"as\", por lo que el código existente seguirá " +"funcionando. Por lo tanto, sugerimos utilizar \"as\" cuando se escriba " +"nuevo código Python que sólo se ejecutará con la versión 2.6." #: ../Doc/whatsnew/2.6.rst:937 +#, fuzzy msgid ":pep:`3110` - Catching Exceptions in Python 3000" -msgstr "" +msgstr ":pep:`3110` - Captura de excepciones en Python 3000" #: ../Doc/whatsnew/2.6.rst:938 +#, fuzzy msgid "PEP written and implemented by Collin Winter." -msgstr "" +msgstr "PEP escrito y ejecutado por Collin Winter." #: ../Doc/whatsnew/2.6.rst:945 +#, fuzzy msgid "PEP 3112: Byte Literals" -msgstr "" +msgstr "PEP 3112: Literales de bytes" #: ../Doc/whatsnew/2.6.rst:947 +#, fuzzy msgid "" "Python 3.0 adopts Unicode as the language's fundamental string type and " "denotes 8-bit literals differently, either as ``b'string'`` or using a :" @@ -1402,8 +1490,14 @@ msgid "" "`bytes` as a synonym for the :class:`str` type, and it also supports the " "``b''`` notation." msgstr "" +"Python 3.0 adopta Unicode como el tipo de cadena fundamental del lenguaje y " +"denota los literales de 8 bits de forma diferente, ya sea como ``b'string`` " +"o utilizando un constructor :class:`bytes`. Por compatibilidad futura, " +"Python 2.6 añade :class:`bytes` como sinónimo del tipo :class:`str`, y " +"también soporta la notación ``b''``." #: ../Doc/whatsnew/2.6.rst:954 +#, fuzzy msgid "" "The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; " "most notably, the constructor is completely different. In 3.0, ``bytes([65, " @@ -1411,8 +1505,15 @@ msgid "" "2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :" "func:`str` of the list." msgstr "" +"El tipo :class:`str` de la versión 2.6 difiere del tipo :class:`bytes` de la " +"versión 3.0 en varios aspectos; el más notable es que el constructor es " +"completamente diferente. En la 3.0, ``bytes([65, 66, 67])`` tiene 3 " +"elementos, que contienen los bytes que representan ``ABC``; en la 2.6, " +"``bytes([65, 66, 67])`` devuelve la cadena de 12 bytes que representa el :" +"func:`str` de la lista." #: ../Doc/whatsnew/2.6.rst:960 +#, fuzzy msgid "" "The primary use of :class:`bytes` in 2.6 will be to write tests of object " "type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " @@ -1421,15 +1522,27 @@ msgid "" "`str` to represent your intention exactly, and the resulting code will also " "be correct in Python 3.0." msgstr "" +"El uso principal de :class:`bytes` en 2.6 será escribir pruebas de tipo de " +"objeto como ``isinstance(x, bytes)``. Esto ayudará al convertidor de 2 a 3, " +"que no puede decir si el código de 2.x pretende que las cadenas contengan " +"caracteres o bytes de 8 bits; ahora puede utilizar :class:`bytes` o :class:" +"`str` para representar su intención exactamente, y el código resultante " +"también será correcto en Python 3.0." #: ../Doc/whatsnew/2.6.rst:967 +#, fuzzy msgid "" "There's also a ``__future__`` import that causes all string literals to " "become Unicode strings. This means that ``\\u`` escape sequences can be " "used to include Unicode characters::" msgstr "" +"También hay una importación ``__future__`` que hace que todos los literales " +"de cadena se conviertan en cadenas Unicode. Esto significa que las " +"secuencias de escape ``u`` pueden ser utilizadas para incluir caracteres " +"Unicode::" #: ../Doc/whatsnew/2.6.rst:979 +#, fuzzy msgid "" "At the C level, Python 3.0 will rename the existing 8-bit string type, " "called :c:type:`PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " @@ -1438,39 +1551,63 @@ msgid "" "`PyBytes_FromStringAndSize`, and all the other functions and macros used " "with strings." msgstr "" +"A nivel de C, Python 3.0 renombrará el tipo de cadena de 8 bits existente, " +"llamado :c:type:`PyStringObject` en Python 2.x, a :c:type:`PyBytesObject`. " +"Python 2.6 utiliza ``#define`` para soportar el uso de los nombres :c:func:" +"`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" +"`PyBytes_FromStringAndSize`, y todas las demás funciones y macros utilizadas " +"con cadenas." #: ../Doc/whatsnew/2.6.rst:986 +#, fuzzy msgid "" "Instances of the :class:`bytes` type are immutable just as strings are. A " "new :class:`bytearray` type stores a mutable sequence of bytes::" msgstr "" +"Las instancias del tipo :class:`bytes` son inmutables al igual que las " +"cadenas. Un nuevo tipo :class:`bytearray` almacena una secuencia mutable de " +"bytes::" #: ../Doc/whatsnew/2.6.rst:1001 +#, fuzzy msgid "" "Byte arrays support most of the methods of string types, such as :meth:" "`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " "methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." msgstr "" +"Las matrices de bytes admiten la mayoría de los métodos de los tipos de " +"cadena, como :meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:" +"`rfind`, y algunos de los métodos de las listas, como :meth:`append`, :meth:" +"`pop` y :meth:`reverse`." #: ../Doc/whatsnew/2.6.rst:1014 +#, fuzzy msgid "" "There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :" "c:func:`PyByteArray_FromStringAndSize`, and various other functions." msgstr "" +"También existe la correspondiente API en C, con :c:func:" +"`PyByteArray_FromObject`, :c:func:`PyByteArray_FromStringAndSize`, y varias " +"otras funciones." #: ../Doc/whatsnew/2.6.rst:1021 +#, fuzzy msgid ":pep:`3112` - Bytes literals in Python 3000" -msgstr "" +msgstr ":pep:`3112` - Literales de bytes en Python 3000" #: ../Doc/whatsnew/2.6.rst:1022 +#, fuzzy msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." msgstr "" +"PEP escrito por Jason Orendorff; retroalimentado a 2.6 por Christian Heimes." #: ../Doc/whatsnew/2.6.rst:1029 +#, fuzzy msgid "PEP 3116: New I/O Library" -msgstr "" +msgstr "PEP 3116: Nueva biblioteca de E/S" #: ../Doc/whatsnew/2.6.rst:1031 +#, fuzzy msgid "" "Python's built-in file objects support a number of methods, but file-like " "objects don't necessarily support all of them. Objects that imitate files " @@ -1479,14 +1616,25 @@ msgid "" "in the :mod:`io` module that separates buffering and text-handling features " "from the fundamental read and write operations." msgstr "" +"Los objetos de archivo incorporados en Python soportan una serie de métodos, " +"pero los objetos que imitan a los archivos no necesariamente los soportan " +"todos. Los objetos que imitan a los archivos normalmente soportan :meth:" +"`read` y :meth:`write`, pero pueden no soportar :meth:`readline`, por " +"ejemplo. Python 3.0 introduce una biblioteca de E/S por capas en el módulo :" +"mod:`io` que separa las funciones de almacenamiento en búfer y manejo de " +"texto de las operaciones fundamentales de lectura y escritura." #: ../Doc/whatsnew/2.6.rst:1039 +#, fuzzy msgid "" "There are three levels of abstract base classes provided by the :mod:`io` " "module:" msgstr "" +"Existen tres niveles de clases base abstractas proporcionadas por el módulo :" +"mod:`io`:" #: ../Doc/whatsnew/2.6.rst:1042 +#, fuzzy msgid "" ":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" "`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " @@ -1495,22 +1643,39 @@ msgid "" "meth:`seekable` methods for determining what operations a given object will " "allow." msgstr "" +":class:`RawIOBase` define las operaciones de E/S en bruto: :meth:`read`, :" +"meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:" +"`truncate`, y :meth:`close`. La mayoría de los métodos de esta clase suelen " +"corresponder a una única llamada al sistema. También hay métodos :meth:" +"`readable`, :meth:`writable` y :meth:`seekable` para determinar qué " +"operaciones permite un objeto dado." #: ../Doc/whatsnew/2.6.rst:1050 +#, fuzzy msgid "" "Python 3.0 has concrete implementations of this class for files and sockets, " "but Python 2.6 hasn't restructured its file and socket objects in this way." msgstr "" +"Python 3.0 tiene implementaciones concretas de esta clase para archivos y " +"sockets, pero Python 2.6 no ha reestructurado sus objetos archivo y socket " +"de esta manera." #: ../Doc/whatsnew/2.6.rst:1056 +#, fuzzy msgid "" ":class:`BufferedIOBase` is an abstract base class that buffers data in " "memory to reduce the number of system calls used, making I/O processing more " "efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" "attr:`raw` attribute holding the underlying raw object." msgstr "" +":class:`BufferedIOBase` es una clase base abstracta que almacena los datos " +"en la memoria para reducir el número de llamadas al sistema, haciendo más " +"eficiente el procesamiento de E/S. Soporta todos los métodos de :class:" +"`RawIOBase`, y añade un atributo :attr:`raw` que contiene el objeto crudo " +"subyacente." #: ../Doc/whatsnew/2.6.rst:1062 +#, fuzzy msgid "" "There are five concrete classes implementing this ABC. :class:" "`BufferedWriter` and :class:`BufferedReader` are for objects that support " @@ -1521,16 +1686,30 @@ msgid "" "streams of data. The :class:`BytesIO` class supports reading, writing, and " "seeking over an in-memory buffer." msgstr "" +"Hay cinco clases concretas que implementan este ABC. :class:`BufferedWriter` " +"y :class:`BufferedReader` son para objetos que soportan el uso de sólo " +"escritura o de sólo lectura que tienen un método :meth:`seek` para el acceso " +"aleatorio. Los objetos :class:`BufferedRandom` soportan el acceso de lectura " +"y escritura sobre el mismo flujo subyacente, y :class:`BufferedRWPair` es " +"para objetos como los TTYs que tienen operaciones de lectura y escritura " +"actuando sobre flujos de datos desconectados. La clase :class:`BytesIO` " +"permite leer, escribir y buscar sobre un buffer en memoria." #: ../Doc/whatsnew/2.6.rst:1075 +#, fuzzy msgid "" ":class:`TextIOBase`: Provides functions for reading and writing strings " "(remember, strings will be Unicode in Python 3.0), and supporting :term:" "`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " "method and supports iteration upon objects." msgstr "" +":class:`TextIOBase`: Proporciona funciones para leer y escribir cadenas " +"(recuerde que las cadenas serán Unicode en Python 3.0), y soporta :term:" +"`universal newlines`. :class:`TextIOBase` define el método :meth:`readline` " +"y soporta la iteración sobre objetos." #: ../Doc/whatsnew/2.6.rst:1081 +#, fuzzy msgid "" "There are two concrete implementations. :class:`TextIOWrapper` wraps a " "buffered I/O object, supporting all of the methods for text I/O and adding " @@ -1538,8 +1717,14 @@ msgid "" "`StringIO` simply buffers everything in memory without ever writing anything " "to disk." msgstr "" +"Hay dos implementaciones concretas. :class:`TextIOWrapper` envuelve un " +"objeto de E/S con buffer, soportando todos los métodos de E/S de texto y " +"añadiendo un atributo :attr:`buffer` para acceder al objeto subyacente. :" +"class:`StringIO` simplemente almacena todo en memoria sin escribir nunca " +"nada en el disco." #: ../Doc/whatsnew/2.6.rst:1087 +#, fuzzy msgid "" "(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " "pretty slow. You should therefore stick with the existing :mod:`StringIO` " @@ -1547,8 +1732,15 @@ msgid "" "module will be rewritten into C for speed, and perhaps the C implementation " "will be backported to the 2.x releases.)" msgstr "" +"(En Python 2.6, :class:`io.StringIO` está implementado en Python puro, por " +"lo que es bastante lento. Por lo tanto, deberías seguir con el módulo :mod:" +"`StringIO` existente o con :mod:`cStringIO` por ahora. En algún momento el " +"módulo :mod:`io` de Python 3.0 será reescrito en C para aumentar la " +"velocidad, y quizás la implementación en C será retroalimentada a las " +"versiones 2.x)" #: ../Doc/whatsnew/2.6.rst:1093 +#, fuzzy msgid "" "In Python 2.6, the underlying implementations haven't been restructured to " "build on top of the :mod:`io` module's classes. The module is being " @@ -1556,23 +1748,35 @@ msgid "" "and to save developers the effort of writing their own implementations of " "buffering and text I/O." msgstr "" +"En Python 2.6, las implementaciones subyacentes no han sido reestructuradas " +"para construir sobre las clases del módulo :mod:`io`. El módulo se " +"proporciona para facilitar la escritura de código compatible con la versión " +"3.0, y para ahorrar a los desarrolladores el esfuerzo de escribir sus " +"propias implementaciones de búfer y E/S de texto." #: ../Doc/whatsnew/2.6.rst:1103 +#, fuzzy msgid ":pep:`3116` - New I/O" -msgstr "" +msgstr ":pep:`3116` - Nueva E/S" #: ../Doc/whatsnew/2.6.rst:1102 +#, fuzzy msgid "" "PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by " "Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " "Löwis, Tony Lownds, and others." msgstr "" +"PEP escrito por Daniel Stutzbach, Mike Verdone y Guido van Rossum. Código de " +"Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " +"Löwis, Tony Lownds y otros." #: ../Doc/whatsnew/2.6.rst:1111 +#, fuzzy msgid "PEP 3118: Revised Buffer Protocol" -msgstr "" +msgstr "PEP 3118: Protocolo revisado de la memoria intermedia" #: ../Doc/whatsnew/2.6.rst:1113 +#, fuzzy msgid "" "The buffer protocol is a C-level API that lets Python types exchange " "pointers into their internal representations. A memory-mapped file can be " @@ -1580,8 +1784,14 @@ msgid "" "such as :mod:`re` treat memory-mapped files as a string of characters to be " "searched." msgstr "" +"El protocolo de búferes es una API de nivel C que permite a los tipos de " +"Python intercambiar punteros a sus representaciones internas. Un archivo " +"mapeado en memoria puede ser visto como un buffer de caracteres, por " +"ejemplo, y esto permite que otro módulo como :mod:`re` trate los archivos " +"mapeados en memoria como una cadena de caracteres a buscar." #: ../Doc/whatsnew/2.6.rst:1119 +#, fuzzy msgid "" "The primary users of the buffer protocol are numeric-processing packages " "such as NumPy, which expose the internal representation of arrays so that " @@ -1590,8 +1800,16 @@ msgid "" "from NumPy development, adding a number of new features such as indicating " "the shape of an array or locking a memory region." msgstr "" +"Los principales usuarios del protocolo de búferes son los paquetes de " +"procesamiento numérico como NumPy, que exponen la representación interna de " +"los arrays para que los invocadores puedan escribir datos directamente en un " +"array en lugar de pasar por una API más lenta. Este PEP actualiza el " +"protocolo de búfer a la luz de la experiencia del desarrollo de NumPy, " +"añadiendo una serie de nuevas características como la indicación de la forma " +"de un array o el bloqueo de una región de memoria." #: ../Doc/whatsnew/2.6.rst:1126 +#, fuzzy msgid "" "The most important new C API function is ``PyObject_GetBuffer(PyObject *obj, " "Py_buffer *view, int flags)``, which takes an object and a set of flags, and " @@ -1601,50 +1819,79 @@ msgid "" "corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the " "external caller is done." msgstr "" +"La nueva función más importante de la API en C es " +"``PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int flags)``, que toma " +"un objeto y un conjunto de flags, y rellena la estructura ``Py_buffer`` con " +"información sobre la representación en memoria del objeto. Los objetos " +"pueden utilizar esta operación para bloquear la memoria en su lugar mientras " +"un llamador externo podría estar modificando el contenido, por lo que hay un " +"correspondiente ``PyBuffer_Release(Py_buffer *view)`` para indicar que el " +"llamador externo ha terminado." #: ../Doc/whatsnew/2.6.rst:1138 +#, fuzzy msgid "" "The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " "upon the memory returned. Some examples are:" msgstr "" +"El argumento *flags* de :c:func:`PyObject_GetBuffer` especifica las " +"restricciones de la memoria devuelta. Algunos ejemplos son:" #: ../Doc/whatsnew/2.6.rst:1141 +#, fuzzy msgid ":const:`PyBUF_WRITABLE` indicates that the memory must be writable." -msgstr "" +msgstr ":const:`PyBUF_WRITABLE` indica que la memoria debe ser escribible." #: ../Doc/whatsnew/2.6.rst:1143 +#, fuzzy msgid "" ":const:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." msgstr "" +":const:`PyBUF_LOCK` solicita un bloqueo de sólo lectura o exclusivo en la " +"memoria." #: ../Doc/whatsnew/2.6.rst:1145 +#, fuzzy msgid "" ":const:`PyBUF_C_CONTIGUOUS` and :const:`PyBUF_F_CONTIGUOUS` requests a C-" "contiguous (last dimension varies the fastest) or Fortran-contiguous (first " "dimension varies the fastest) array layout." msgstr "" +":const:`PyBUF_C_CONTIGUOUS` y :const:`PyBUF_F_CONTIGUOUS` solicitan una " +"disposición de matriz contigua en C (la última dimensión varía más " +"rápidamente) o contigua en Fortran (la primera dimensión varía más " +"rápidamente)." #: ../Doc/whatsnew/2.6.rst:1149 +#, fuzzy msgid "" "Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " "return locked buffer objects for a parameter." msgstr "" +"Dos nuevos códigos de argumento para :c:func:`PyArg_ParseTuple`, ``s*`` y " +"``z*``, devuelven objetos buffer bloqueados para un parámetro." #: ../Doc/whatsnew/2.6.rst:1155 +#, fuzzy msgid ":pep:`3118` - Revising the buffer protocol" -msgstr "" +msgstr ":pep:`3118` - Revisión del protocolo del buffer" #: ../Doc/whatsnew/2.6.rst:1155 +#, fuzzy msgid "" "PEP written by Travis Oliphant and Carl Banks; implemented by Travis " "Oliphant." msgstr "" +"PEP escrito por Travis Oliphant y Carl Banks; implementado por Travis " +"Oliphant." #: ../Doc/whatsnew/2.6.rst:1164 +#, fuzzy msgid "PEP 3119: Abstract Base Classes" -msgstr "" +msgstr "PEP 3119: Clases base abstractas" #: ../Doc/whatsnew/2.6.rst:1166 +#, fuzzy msgid "" "Some object-oriented languages such as Java support interfaces, declaring " "that a class has a given set of methods or supports a given access " @@ -1655,8 +1902,18 @@ msgid "" "basic ABCs that the Python developers think will be widely useful. Future " "versions of Python will probably add more ABCs." msgstr "" +"Algunos lenguajes orientados a objetos, como Java, admiten interfaces, que " +"declaran que una clase tiene un determinado conjunto de métodos o admite un " +"determinado protocolo de acceso. Las clases base abstractas (o ABC) son una " +"característica equivalente para Python. El soporte de ABC consiste en un " +"módulo :mod:`abc` que contiene una metaclase llamada :class:`ABCMeta`, un " +"manejo especial de esta metaclase por parte de los builtins :func:" +"`isinstance` y :func:`issubclass`, y una colección de ABCs básicas que los " +"desarrolladores de Python creen que serán ampliamente útiles. Las futuras " +"versiones de Python probablemente añadirán más ABCs." #: ../Doc/whatsnew/2.6.rst:1176 +#, fuzzy msgid "" "Let's say you have a particular class and wish to know whether it supports " "dictionary-style access. The phrase \"dictionary-style\" is vague, however. " @@ -1666,8 +1923,17 @@ msgid "" "the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" "`update`? Iterating over the object with :func:`iter`?" msgstr "" +"Supongamos que tiene una clase concreta y desea saber si admite el acceso " +"tipo diccionario. Sin embargo, la frase \"estilo diccionario\" es vaga. " +"Probablemente significa que el acceso a los elementos con ``obj[1]`` " +"funciona. ¿Implica que el establecimiento de elementos con ``obj[2] = " +"valor`` funciona? ¿O que el objeto tendrá métodos :meth:`keys`, :meth:" +"`values` y :meth:`items`? ¿Qué pasa con las variantes iterativas como :meth:" +"`iterkeys`? :meth:`copy` y :meth:`update`? ¿Iterar sobre el objeto con :" +"func:`iter`?" #: ../Doc/whatsnew/2.6.rst:1184 +#, fuzzy msgid "" "The Python 2.6 :mod:`collections` module includes a number of different ABCs " "that represent these distinctions. :class:`Iterable` indicates that a class " @@ -1677,21 +1943,35 @@ msgid "" "`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" "`MutableMapping` ABC." msgstr "" +"El módulo :mod:`collections` de Python 2.6 incluye un número de ABCs " +"diferentes que representan estas distinciones. :class:`Iterable` indica que " +"una clase define :meth:`__iter__`, y :class:`Container` significa que la " +"clase define un método :meth:`__contains__` y por lo tanto soporta " +"expresiones ``x in y``. La interfaz básica del diccionario para obtener " +"elementos, establecer elementos, y :meth:`llaves`, :meth:`valores`, y :meth:" +"`elementos`, está definida por el :class:`MutableMapping` ABC." #: ../Doc/whatsnew/2.6.rst:1193 +#, fuzzy msgid "" "You can derive your own classes from a particular ABC to indicate they " "support that ABC's interface::" msgstr "" +"Puedes derivar tus propias clases de un ABC particular para indicar que " +"soportan la interfaz de ese ABC::" #: ../Doc/whatsnew/2.6.rst:1202 +#, fuzzy msgid "" "Alternatively, you could write the class without deriving from the desired " "ABC and instead register the class by calling the ABC's :meth:`register` " "method::" msgstr "" +"Alternativamente, puede escribir la clase sin derivar del ABC deseado y en " +"su lugar registrar la clase llamando al método :meth:`register` del ABC::" #: ../Doc/whatsnew/2.6.rst:1213 +#, fuzzy msgid "" "For classes that you write, deriving from the ABC is probably clearer. The :" "meth:`register` method is useful when you've written a new ABC that can " @@ -1699,21 +1979,34 @@ msgid "" "third-party class implements an ABC. For example, if you defined a :class:" "`PrintableType` ABC, it's legal to do::" msgstr "" +"Para las clases que usted escribe, derivar del ABC es probablemente más " +"claro. El método :meth:`register` es útil cuando has escrito un nuevo ABC " +"que puede describir un tipo o clase existente, o si quieres declarar que " +"alguna clase de terceros implementa un ABC. Por ejemplo, si has definido un :" +"class:`PrintableType` ABC, es legal hacer::" #: ../Doc/whatsnew/2.6.rst:1225 +#, fuzzy msgid "" "Classes should obey the semantics specified by an ABC, but Python can't " "check this; it's up to the class author to understand the ABC's requirements " "and to implement the code accordingly." msgstr "" +"Las clases deben obedecer la semántica especificada por un ABC, pero Python " +"no puede comprobarlo; depende del autor de la clase entender los requisitos " +"del ABC e implementar el código en consecuencia." #: ../Doc/whatsnew/2.6.rst:1229 +#, fuzzy msgid "" "To check whether an object supports a particular interface, you can now " "write::" msgstr "" +"Para comprobar si un objeto es compatible con una determinada interfaz, " +"ahora se puede escribir::" #: ../Doc/whatsnew/2.6.rst:1236 +#, fuzzy msgid "" "Don't feel that you must now begin writing lots of checks as in the above " "example. Python has a strong tradition of duck-typing, where explicit type-" @@ -1722,14 +2015,24 @@ msgid "" "Be judicious in checking for ABCs and only do it where it's absolutely " "necessary." msgstr "" +"No sientas que ahora debes empezar a escribir muchas comprobaciones como en " +"el ejemplo anterior. Python tiene una fuerte tradición de \"duck-typing\", " +"donde la comprobación explícita de tipos nunca se hace y el código " +"simplemente llama a los métodos de un objeto, confiando en que esos métodos " +"estarán ahí y lanzando una excepción si no lo están. Sea juicioso al " +"comprobar el ABC y hágalo sólo cuando sea absolutamente necesario." #: ../Doc/whatsnew/2.6.rst:1243 +#, fuzzy msgid "" "You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " "class definition::" msgstr "" +"Puedes escribir tu propio ABC utilizando ``abc.ABCMeta`` como metaclase en " +"una definición de clase::" #: ../Doc/whatsnew/2.6.rst:1264 +#, fuzzy msgid "" "In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " "the object at twice its size and can be implemented in terms of other " @@ -1738,8 +2041,16 @@ msgid "" "`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " "necessary, though; the ABC can't provide a useful generic implementation." msgstr "" +"En el ABC de :class:`Drawable` anterior, el método :meth:`draw_doubled` " +"renderiza el objeto al doble de su tamaño y puede ser implementado en " +"términos de otros métodos descritos en :class:`Drawable`. Las clases que " +"implementan este ABC no necesitan proporcionar su propia implementación de :" +"meth:`draw_doubled`, aunque pueden hacerlo. Sin embargo, es necesaria una " +"implementación de :meth:`draw`; el ABC no puede proporcionar una " +"implementación genérica útil." #: ../Doc/whatsnew/2.6.rst:1272 +#, fuzzy msgid "" "You can apply the ``@abstractmethod`` decorator to methods such as :meth:" "`draw` that must be implemented; Python will then raise an exception for " @@ -1747,108 +2058,157 @@ msgid "" "when you actually try to create an instance of a subclass lacking the " "method::" msgstr "" +"Puedes aplicar el decorador ``@abstractmethod`` a métodos como :meth:`draw` " +"que deben ser implementados; Python lanzará una excepción para las clases " +"que no definan el método. Ten en cuenta que la excepción sólo se produce " +"cuando intentas crear una instancia de una subclase que carece del método::" #: ../Doc/whatsnew/2.6.rst:1287 +#, fuzzy msgid "" "Abstract data attributes can be declared using the ``@abstractproperty`` " "decorator::" msgstr "" +"Los atributos de datos abstractos pueden declararse utilizando el decorador " +"``@abstractproperty``::" #: ../Doc/whatsnew/2.6.rst:1297 +#, fuzzy msgid "Subclasses must then define a :meth:`readonly` property." -msgstr "" +msgstr "Las subclases deben definir una propiedad :meth:`readonly`." #: ../Doc/whatsnew/2.6.rst:1303 +#, fuzzy msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" +msgstr ":pep:`3119` - Presentación de las clases base abstractas" #: ../Doc/whatsnew/2.6.rst:1302 +#, fuzzy msgid "" "PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " "Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." msgstr "" +"PEP escrito por Guido van Rossum y Talin. Implementado por Guido van Rossum. " +"Adaptado a la versión 2.6 por Benjamin Aranguren, con Alex Martelli." #: ../Doc/whatsnew/2.6.rst:1311 +#, fuzzy msgid "PEP 3127: Integer Literal Support and Syntax" -msgstr "" +msgstr "PEP 3127: Soporte y sintaxis de literales enteros" #: ../Doc/whatsnew/2.6.rst:1313 +#, fuzzy msgid "" "Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing " "them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " "binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix." msgstr "" +"Python 3.0 cambia la sintaxis de los literales enteros octales (base-8), " +"prefijándolos con \"0o\" o \"0O\" en lugar de un cero inicial, y añade " +"soporte para los literales enteros binarios (base-2), señalados con un " +"prefijo \"0b\" o \"0B\"." #: ../Doc/whatsnew/2.6.rst:1318 +#, fuzzy msgid "" "Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " "but it does add support for \"0o\" and \"0b\"::" msgstr "" +"Python 2.6 no elimina el soporte para el 0 inicial que señala un número " +"octal, pero sí añade soporte para \"0o\" y \"0b\"::" #: ../Doc/whatsnew/2.6.rst:1326 +#, fuzzy msgid "" "The :func:`oct` builtin still returns numbers prefixed with a leading zero, " "and a new :func:`bin` builtin returns the binary representation for a " "number::" msgstr "" +"La función :func:`oct` sigue devolviendo números prefijados con un cero a la " +"izquierda, y la nueva función :func:`bin` devuelve la representación binaria " +"de un número::" #: ../Doc/whatsnew/2.6.rst:1337 +#, fuzzy msgid "" "The :func:`int` and :func:`long` builtins will now accept the \"0o\" and \"0b" "\" prefixes when base-8 or base-2 are requested, or when the *base* argument " "is zero (signalling that the base used should be determined from the " "string)::" msgstr "" +"Las funciones built-in :func:`int` y :func:`long` aceptarán ahora los " +"prefijos \"0o\" y \"0b\" cuando se solicite base-8 o base-2, o cuando el " +"argumento *base* sea cero (indicando que la base utilizada debe determinarse " +"a partir de la cadena)::" #: ../Doc/whatsnew/2.6.rst:1355 +#, fuzzy msgid ":pep:`3127` - Integer Literal Support and Syntax" -msgstr "" +msgstr ":pep:`3127` - Soporte y sintaxis de literales enteros" #: ../Doc/whatsnew/2.6.rst:1355 +#, fuzzy msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." -msgstr "" +msgstr "PEP escrito por Patrick Maupin; retroalimentado a 2.6 por Eric Smith." #: ../Doc/whatsnew/2.6.rst:1363 +#, fuzzy msgid "PEP 3129: Class Decorators" -msgstr "" +msgstr "PEP 3129: Decoradores de clase" #: ../Doc/whatsnew/2.6.rst:1365 +#, fuzzy msgid "" "Decorators have been extended from functions to classes. It's now legal to " "write::" msgstr "" +"Los decoradores se han ampliado de funciones a clases. Ahora es legal " +"escribir::" #: ../Doc/whatsnew/2.6.rst:1373 +#, fuzzy msgid "This is equivalent to::" -msgstr "Esto es equivalente a::" +msgstr "Esto equivale a::" #: ../Doc/whatsnew/2.6.rst:1382 +#, fuzzy msgid ":pep:`3129` - Class Decorators" -msgstr "" +msgstr ":pep:`3129` - Decoradores de clase" #: ../Doc/whatsnew/2.6.rst:1383 +#, fuzzy msgid "PEP written by Collin Winter." -msgstr "PEP escrita por Collin Winter." +msgstr "PEP escrito por Collin Winter." #: ../Doc/whatsnew/2.6.rst:1390 +#, fuzzy msgid "PEP 3141: A Type Hierarchy for Numbers" -msgstr "" +msgstr "PEP 3141: Una jerarquía de tipos para los números" #: ../Doc/whatsnew/2.6.rst:1392 +#, fuzzy msgid "" "Python 3.0 adds several abstract base classes for numeric types inspired by " "Scheme's numeric tower. These classes were backported to 2.6 as the :mod:" "`numbers` module." msgstr "" +"Python 3.0 añade varias clases base abstractas para tipos numéricos " +"inspiradas en la torre numérica de Scheme. Estas clases fueron retrocedidas " +"a la versión 2.6 como el módulo :mod:`numbers`." #: ../Doc/whatsnew/2.6.rst:1396 +#, fuzzy msgid "" "The most general ABC is :class:`Number`. It defines no operations at all, " "and only exists to allow checking if an object is a number by doing " "``isinstance(obj, Number)``." msgstr "" +"El ABC más general es :class:`Number`. No define ninguna operación, y sólo " +"existe para permitir comprobar si un objeto es un número haciendo " +"``isinstance(obj, Number)``." #: ../Doc/whatsnew/2.6.rst:1400 +#, fuzzy msgid "" ":class:`Complex` is a subclass of :class:`Number`. Complex numbers can " "undergo the basic operations of addition, subtraction, multiplication, " @@ -1856,15 +2216,25 @@ msgid "" "parts and obtain a number's conjugate. Python's built-in complex type is an " "implementation of :class:`Complex`." msgstr "" +":class:`Complex` es una subclase de :class:`Number`. Los números complejos " +"pueden someterse a las operaciones básicas de suma, resta, multiplicación, " +"división y exponenciación, y se pueden recuperar las partes real e " +"imaginaria y obtener el conjugado de un número. El tipo complejo " +"incorporado en Python es una implementación de :class:`Complex`." #: ../Doc/whatsnew/2.6.rst:1406 +#, fuzzy msgid "" ":class:`Real` further derives from :class:`Complex`, and adds operations " "that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " "taking the remainder mod N, floor division, and comparisons." msgstr "" +":class:`Real` deriva a su vez de :class:`Complex`, y añade operaciones que " +"sólo funcionan con números reales: :func:`floor`, :func:`trunc`, redondeo, " +"toma del resto mod N, división por defecto y comparaciones." #: ../Doc/whatsnew/2.6.rst:1411 +#, fuzzy msgid "" ":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " "and :attr:`denominator` properties, and can be converted to floats. Python " @@ -1872,16 +2242,28 @@ msgid "" "`fractions` module. (It's called :class:`Fraction` instead of :class:" "`Rational` to avoid a name clash with :class:`numbers.Rational`.)" msgstr "" +"Los números :class:`Rational` derivan de :class:`Real`, tienen las " +"propiedades :attr:`numerator` y :attr:`denominator`, y se pueden convertir " +"en flotantes. Python 2.6 añade una clase simple de números racionales, :" +"class:`Fraction`, en el módulo :mod:`fractions`. (Se llama :class:" +"`Fraction` en lugar de :class:`Rational` para evitar un choque de nombres " +"con :class:`numbers.Rational`)" #: ../Doc/whatsnew/2.6.rst:1418 +#, fuzzy msgid "" ":class:`Integral` numbers derive from :class:`Rational`, and can be shifted " "left and right with ``<<`` and ``>>``, combined using bitwise operations " "such as ``&`` and ``|``, and can be used as array indexes and slice " "boundaries." msgstr "" +"Los números de :class:`Integral` derivan de :class:`Rational`, y pueden " +"desplazarse a la izquierda y a la derecha con ``<`` y ``>```, combinarse " +"utilizando operaciones de bits como ``&`` y ``|``, y pueden utilizarse como " +"índices de matrices y límites de cortes." #: ../Doc/whatsnew/2.6.rst:1423 +#, fuzzy msgid "" "In Python 3.0, the PEP slightly redefines the existing builtins :func:" "`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:" @@ -1889,75 +2271,117 @@ msgid "" "rounds toward zero, returning the closest :class:`Integral` that's between " "the function's argument and zero." msgstr "" +"En Python 3.0, el PEP redefine ligeramente las funciones integradas " +"existentes :func:`round`, :func:`math.floor`, :func:`math.ceil`, y añade uno " +"nuevo, :func:`math.trunc`, que ha sido retrocedido a Python 2.6. :func:`math." +"trunc` redondea hacia cero, devolviendo el :class:`Integral` más cercano que " +"esté entre el argumento de la función y cero." #: ../Doc/whatsnew/2.6.rst:1432 +#, fuzzy msgid ":pep:`3141` - A Type Hierarchy for Numbers" -msgstr "" +msgstr ":pep:`3141` - Una jerarquía de tipos para los números" #: ../Doc/whatsnew/2.6.rst:1432 +#, fuzzy msgid "PEP written by Jeffrey Yasskin." -msgstr "PEP escrita por Jeffrey Yasskin." +msgstr "PEP escrito por Jeffrey Yasskin." #: ../Doc/whatsnew/2.6.rst:1434 +#, fuzzy msgid "" "`Scheme's numerical tower `__, from the Guile manual." msgstr "" +"`Torre numérica del esquema `__, del manual de Guile." #: ../Doc/whatsnew/2.6.rst:1436 +#, fuzzy msgid "" "`Scheme's number datatypes `__ from the R5RS Scheme specification." msgstr "" +"`Scheme's number datatypes `__ de la especificación R5RS Scheme." #: ../Doc/whatsnew/2.6.rst:1440 +#, fuzzy msgid "The :mod:`fractions` Module" -msgstr "" +msgstr "El módulo :mod:`fractions`" #: ../Doc/whatsnew/2.6.rst:1442 +#, fuzzy msgid "" "To fill out the hierarchy of numeric types, the :mod:`fractions` module " "provides a rational-number class. Rational numbers store their values as a " "numerator and denominator forming a fraction, and can exactly represent " "numbers such as ``2/3`` that floating-point numbers can only approximate." msgstr "" +"Para completar la jerarquía de tipos numéricos, el módulo :mod:`fractions` " +"proporciona una clase de números racionales. Los números racionales " +"almacenan sus valores como un numerador y un denominador que forman una " +"fracción, y pueden representar exactamente números como ``2/3`` que los " +"números de punto flotante sólo pueden aproximar." #: ../Doc/whatsnew/2.6.rst:1448 +#, fuzzy msgid "" "The :class:`Fraction` constructor takes two :class:`Integral` values that " "will be the numerator and denominator of the resulting fraction. ::" msgstr "" +"El constructor :class:`Fraction` toma dos valores :class:`Integral` que " +"serán el numerador y el denominador de la fracción resultante. ::" #: ../Doc/whatsnew/2.6.rst:1461 +#, fuzzy msgid "" "For converting floating-point numbers to rationals, the float type now has " "an :meth:`as_integer_ratio()` method that returns the numerator and " "denominator for a fraction that evaluates to the same floating-point value::" msgstr "" +"Para convertir números de punto flotante en racionales, el tipo float tiene " +"ahora un método :meth:`as_integer_ratio()` que devuelve el numerador y el " +"denominador de una fracción que se evalúa al mismo valor de punto flotante::" #: ../Doc/whatsnew/2.6.rst:1473 +#, fuzzy msgid "" "Note that values that can only be approximated by floating-point numbers, " "such as 1./3, are not simplified to the number being approximated; the " "fraction attempts to match the floating-point value **exactly**." msgstr "" +"Tenga en cuenta que los valores que sólo pueden ser aproximados por números " +"de punto flotante, como 1,/3, no se simplifican al número que se está " +"aproximando; la fracción intenta coincidir con el valor de punto flotante " +"**exactamente**." #: ../Doc/whatsnew/2.6.rst:1478 +#, fuzzy msgid "" "The :mod:`fractions` module is based upon an implementation by Sjoerd " "Mullender that was in Python's :file:`Demo/classes/` directory for a long " "time. This implementation was significantly updated by Jeffrey Yasskin." msgstr "" +"El módulo :mod:`fractions` se basa en una implementación de Sjoerd Mullender " +"que estuvo en el directorio :file:`Demo/classes/` de Python durante mucho " +"tiempo. Esta implementación fue significativamente actualizada por Jeffrey " +"Yasskin." #: ../Doc/whatsnew/2.6.rst:1485 +#, fuzzy msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios lingüísticos" #: ../Doc/whatsnew/2.6.rst:1487 +#, fuzzy msgid "Some smaller changes made to the core Python language are:" msgstr "" +"Algunos de los cambios más pequeños realizados en el núcleo del lenguaje " +"Python son:" #: ../Doc/whatsnew/2.6.rst:1489 +#, fuzzy msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " "be executed directly by passing their name to the interpreter. The directory " @@ -1965,8 +2389,14 @@ msgid "" "(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip " "J. Eby and Nick Coghlan; :issue:`1739468`.)" msgstr "" +"Los directorios y archivos zip que contengan un archivo :file:`__main__.py` " +"pueden ahora ejecutarse directamente pasando su nombre al intérprete. El " +"directorio o archivo zip se inserta automáticamente como la primera entrada " +"en sys.path. (Sugerencia y parche inicial de Andy Chu, revisado " +"posteriormente por Phillip J. Eby y Nick Coghlan; :issue:`1739468`)" #: ../Doc/whatsnew/2.6.rst:1496 +#, fuzzy msgid "" "The :func:`hasattr` function was catching and ignoring all errors, under the " "assumption that they meant a :meth:`__getattr__` method was failing somehow " @@ -1976,77 +2406,121 @@ msgid "" "when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:" "`2196`.)" msgstr "" +"La función :func:`hasattr` estaba capturando e ignorando todos los errores, " +"bajo la suposición de que significaban que un método :meth:`__getattr__` " +"estaba fallando de alguna manera y que el valor de retorno de :func:" +"`hasattr` sería por tanto ``False``. Esta lógica no debería aplicarse a :" +"exc:`KeyboardInterrupt` y :exc:`SystemExit`, sin embargo; Python 2.6 ya no " +"descartará tales excepciones cuando :func:`hasattr` las encuentre. " +"(Corregido por Benjamin Peterson; :issue:`2196`.)" #: ../Doc/whatsnew/2.6.rst:1504 +#, fuzzy msgid "" "When calling a function using the ``**`` syntax to provide keyword " "arguments, you are no longer required to use a Python dictionary; any " "mapping will now work::" msgstr "" +"Cuando se llama a una función utilizando la sintaxis ``**`` para " +"proporcionar argumentos de palabras clave, ya no es necesario utilizar un " +"diccionario de Python; ahora funcionará cualquier asignación::" #: ../Doc/whatsnew/2.6.rst:1517 +#, fuzzy msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" -msgstr "" +msgstr "(Contribución de Alexander Belopolsky; :issue:`1686487`.)" #: ../Doc/whatsnew/2.6.rst:1519 +#, fuzzy msgid "" "It's also become legal to provide keyword arguments after a ``*args`` " "argument to a function call. ::" msgstr "" +"También se ha convertido en legal proporcionar argumentos de palabras clave " +"después de un argumento ``*args`` a una llamada de función. ::" #: ../Doc/whatsnew/2.6.rst:1528 +#, fuzzy msgid "" "Previously this would have been a syntax error. (Contributed by Amaury " "Forgeot d'Arc; :issue:`3473`.)" msgstr "" +"Anteriormente, esto habría sido un error de sintaxis. (Contribución de " +"Amaury Forgeot d'Arc; :issue:`3473`.)" #: ../Doc/whatsnew/2.6.rst:1531 +#, fuzzy msgid "" "A new builtin, ``next(iterator, [default])`` returns the next item from the " "specified iterator. If the *default* argument is supplied, it will be " "returned if *iterator* has been exhausted; otherwise, the :exc:" "`StopIteration` exception will be raised. (Backported in :issue:`2719`.)" msgstr "" +"Un nuevo builtin, ``next(iterator, [default])`` devuelve el siguiente " +"elemento del iterador especificado. Si se suministra el argumento " +"*default*, se devolverá si *iterador* se ha agotado; en caso contrario, se " +"lanzará la excepción :exc:`StopIteration`. (Se ha modificado en :issue:" +"`2719`.)" #: ../Doc/whatsnew/2.6.rst:1537 +#, fuzzy msgid "" "Tuples now have :meth:`index` and :meth:`count` methods matching the list " "type's :meth:`index` and :meth:`count` methods::" msgstr "" +"Las tuplas tienen ahora métodos :meth:`index` y :meth:`count` que coinciden " +"con los métodos :meth:`index` y :meth:`count` del tipo lista::" #: ../Doc/whatsnew/2.6.rst:1546 +#, fuzzy msgid "(Contributed by Raymond Hettinger)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1548 +#, fuzzy msgid "" "The built-in types now have improved support for extended slicing syntax, " "accepting various combinations of ``(start, stop, step)``. Previously, the " "support was partial and certain corner cases wouldn't work. (Implemented by " "Thomas Wouters.)" msgstr "" +"Los tipos incorporados tienen ahora un soporte mejorado para la sintaxis de " +"corte extendida, aceptando varias combinaciones de ``(inicio, parada, " +"paso)``. Anteriormente, el soporte era parcial y algunos casos de esquina no " +"funcionaban. (Implementado por Thomas Wouters)" #: ../Doc/whatsnew/2.6.rst:1555 +#, fuzzy msgid "" "Properties now have three attributes, :attr:`getter`, :attr:`setter` and :" "attr:`deleter`, that are decorators providing useful shortcuts for adding a " "getter, setter or deleter function to an existing property. You would use " "them like this::" msgstr "" +"Las propiedades tienen ahora tres atributos, :attr:`getter`, :attr:`setter` " +"y :attr:`deleter`, que son decoradores que proporcionan atajos útiles para " +"añadir una función getter, setter o deleter a una propiedad existente. Los " +"usarás así::" #: ../Doc/whatsnew/2.6.rst:1582 +#, fuzzy msgid "" "Several methods of the built-in set types now accept multiple iterables: :" "meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" "`update`, :meth:`difference` and :meth:`difference_update`." msgstr "" +"Varios métodos de los tipos de conjuntos incorporados aceptan ahora " +"múltiples iterables: :meth:`intersection`, :meth:`intersection_update`, :" +"meth:`union`, :meth:`update`, :meth:`difference` y :meth:`difference_update`." #: ../Doc/whatsnew/2.6.rst:1596 ../Doc/whatsnew/2.6.rst:1880 #: ../Doc/whatsnew/2.6.rst:1901 +#, fuzzy msgid "(Contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger.)" #: ../Doc/whatsnew/2.6.rst:1598 +#, fuzzy msgid "" "Many floating-point features were added. The :func:`float` function will " "now turn the string ``nan`` into an IEEE 754 Not A Number value, and ``" @@ -2054,15 +2528,25 @@ msgid "" "platform with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:" "`1635`.)" msgstr "" +"Se han añadido muchas funciones de punto flotante. La función :func:`float` " +"ahora convertirá la cadena ``nan`` en un valor IEEE 754 Not A Number, y ``" +"+inf`` y ``-inf`` en infinito positivo o negativo. Esto funciona en " +"cualquier plataforma con semántica IEEE 754. (Contribución de Christian " +"Heimes; :issue:`1635`.)" #: ../Doc/whatsnew/2.6.rst:1604 +#, fuzzy msgid "" "Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " "return true if their floating-point argument is infinite or Not A Number. (:" "issue:`1640`)" msgstr "" +"Otras funciones del módulo :mod:`math`, :func:`isinf` y :func:`isnan`, " +"devuelven true si su argumento en coma flotante es infinito o No es un " +"número. (:issue:`1640`)" #: ../Doc/whatsnew/2.6.rst:1608 +#, fuzzy msgid "" "Conversion functions were added to convert floating-point numbers into " "hexadecimal strings (:issue:`3008`). These functions convert floats to and " @@ -2071,24 +2555,42 @@ msgid "" "that returns a string representation, and the ``float.fromhex()`` method " "converts a string back into a number::" msgstr "" +"Se han añadido funciones de conversión para convertir números de punto " +"flotante en cadenas hexadecimales (:issue:`3008`). Estas funciones " +"convierten los números flotantes a y desde una representación de cadena sin " +"introducir errores de redondeo por la conversión entre decimal y binario. " +"Los flotadores tienen un método :meth:`hex` que devuelve una representación " +"de cadena, y el método ``float.fromhex()`` convierte una cadena de nuevo en " +"un número::" #: ../Doc/whatsnew/2.6.rst:1625 +#, fuzzy msgid "" "A numerical nicety: when creating a complex number from two floats on " "systems that support signed zeros (-0 and +0), the :func:`complex` " "constructor will now preserve the sign of the zero. (Fixed by Mark T. " "Dickinson; :issue:`1507`.)" msgstr "" +"Un detalle numérico: cuando se crea un número complejo a partir de dos " +"flotantes en sistemas que admiten ceros con signo (-0 y +0), el constructor :" +"func:`complex` conserva ahora el signo del cero. (Corregido por Mark T. " +"Dickinson; :issue:`1507`.)" #: ../Doc/whatsnew/2.6.rst:1630 +#, fuzzy msgid "" "Classes that inherit a :meth:`__hash__` method from a parent class can set " "``__hash__ = None`` to indicate that the class isn't hashable. This will " "make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be " "indicated as implementing the :class:`Hashable` ABC." msgstr "" +"Las clases que heredan un método :meth:`__hash__` de una clase padre pueden " +"establecer ``__hash__ = None`` para indicar que la clase no es hashable. " +"Esto hará que ``hash(obj)`` lance un :exc:`TypeError` y la clase no será " +"indicada como implementando el ABC de :class:`Hashable`." #: ../Doc/whatsnew/2.6.rst:1636 +#, fuzzy msgid "" "You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " "method that compares objects by their value rather than by identity. All " @@ -2099,37 +2601,64 @@ msgid "" "`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot " "d'Arc; :issue:`2235`.)" msgstr "" +"Debes hacer esto cuando hayas definido un método :meth:`__cmp__` o :meth:" +"`__eq__` que compare objetos por su valor en lugar de por su identidad. " +"Todos los objetos tienen un método hash por defecto que utiliza ``id(obj)`` " +"como valor hash. No hay una forma ordenada de eliminar el método :meth:" +"`__hash__` heredado de una clase padre, por lo que la asignación de ``None`` " +"fue implementada como una sobreescritura. A nivel de C, las extensiones " +"pueden establecer ``tp_hash`` a :c:func:`PyObject_HashNotImplemented`. " +"(Corregido por Nick Coghlan y Amaury Forgeot d'Arc; :issue:`2235`.)" #: ../Doc/whatsnew/2.6.rst:1646 +#, fuzzy msgid "" "The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` " "instead of :exc:`Exception`. This means that an exception handler that does " "``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. " "(Contributed by Chad Austin; :issue:`1537`.)" msgstr "" +"La excepción :exc:`GeneratorExit` ahora subclasa :exc:`BaseException` en " +"lugar de :exc:`Exception`. Esto significa que un manejador de excepciones " +"que haga ``except Exception:`` no atrapará inadvertidamente :exc:" +"`GeneratorExit`. (Contribuido por Chad Austin; :issue:`1537`.)" #: ../Doc/whatsnew/2.6.rst:1652 +#, fuzzy msgid "" "Generator objects now have a :attr:`gi_code` attribute that refers to the " "original code object backing the generator. (Contributed by Collin Winter; :" "issue:`1473257`.)" msgstr "" +"Los objetos generadores tienen ahora un atributo :attr:`gi_code` que hace " +"referencia al objeto de código original que respalda al generador. " +"(Contribución de Collin Winter; :issue:`1473257`.)" #: ../Doc/whatsnew/2.6.rst:1656 +#, fuzzy msgid "" "The :func:`compile` built-in function now accepts keyword arguments as well " "as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)" msgstr "" +"La función incorporada :func:`compile` ahora acepta argumentos de palabras " +"clave así como parámetros posicionales. (Contribución de Thomas Wouters; :" +"issue:`1444529`.)" #: ../Doc/whatsnew/2.6.rst:1660 +#, fuzzy msgid "" "The :func:`complex` constructor now accepts strings containing parenthesized " "complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " "values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:" "issue:`1491866`)" msgstr "" +"El constructor :func:`complex` ahora acepta cadenas que contengan números " +"complejos entre paréntesis, lo que significa que ``complex(repr(cplx))`` " +"ahora redondeará los valores. Por ejemplo, ``complex('(3+4j)')`` ahora " +"devuelve el valor (3+4j). (:issue:`1491866`)" #: ../Doc/whatsnew/2.6.rst:1665 +#, fuzzy msgid "" "The string :meth:`translate` method now accepts ``None`` as the translation " "table parameter, which is treated as the identity transformation. This " @@ -2137,8 +2666,14 @@ msgid "" "(Contributed by Bengt Richter and implemented by Raymond Hettinger; :issue:" "`1193128`.)" msgstr "" +"El método string :meth:`translate` acepta ahora ``None`` como parámetro de " +"la tabla de traducción, que se trata como la transformación de identidad. " +"Esto facilita la realización de operaciones que sólo eliminan caracteres. " +"(Contribuido por Bengt Richter e implementado por Raymond Hettinger; :issue:" +"`1193128`)" #: ../Doc/whatsnew/2.6.rst:1671 +#, fuzzy msgid "" "The built-in :func:`dir` function now checks for a :meth:`__dir__` method on " "the objects it receives. This method must return a list of strings " @@ -2147,36 +2682,61 @@ msgid "" "`__getattr__` or :meth:`__getattribute__` methods can use this to advertise " "pseudo-attributes they will honor. (:issue:`1591665`)" msgstr "" +"La función incorporada :func:`dir` ahora comprueba si existe un método :meth:" +"`__dir__` en los objetos que recibe. Este método debe devolver una lista de " +"cadenas que contengan los nombres de los atributos válidos para el objeto, y " +"permite al objeto controlar el valor que :func:`dir` produce. Los objetos " +"que tienen métodos :meth:`__getattr__` o :meth:`__getattribute__` pueden " +"usar esto para anunciar los pseudo-atributos que respetarán. (:issue:" +"`1591665`)" #: ../Doc/whatsnew/2.6.rst:1679 +#, fuzzy msgid "" "Instance method objects have new attributes for the object and function " "comprising the method; the new synonym for :attr:`im_self` is :attr:" "`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The " "old names are still supported in Python 2.6, but are gone in 3.0." msgstr "" +"Los objetos de método de instancia tienen nuevos atributos para el objeto y " +"la función que comprende el método; el nuevo sinónimo de :attr:`im_self` es :" +"attr:`__self__`, y :attr:`im_func` también está disponible como :attr:" +"`__func__`. Los nombres antiguos todavía se soportan en Python 2.6, pero han " +"desaparecido en la 3.0." #: ../Doc/whatsnew/2.6.rst:1684 +#, fuzzy msgid "" "An obscure change: when you use the :func:`locals` function inside a :" "keyword:`class` statement, the resulting dictionary no longer returns free " "variables. (Free variables, in this case, are variables referenced in the :" "keyword:`!class` statement that aren't attributes of the class.)" msgstr "" +"Un cambio oscuro: cuando se utiliza la función :func:`locals` dentro de una " +"sentencia :keyword:`class`, el diccionario resultante ya no devuelve " +"variables libres. (Las variables libres, en este caso, son variables " +"referenciadas en la sentencia :keyword:`!class` que no son atributos de la " +"clase)" #: ../Doc/whatsnew/2.6.rst:1693 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/2.6.rst:1695 +#, fuzzy msgid "" "The :mod:`warnings` module has been rewritten in C. This makes it possible " "to invoke warnings from the parser, and may also make the interpreter's " "startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:" "`1631171`.)" msgstr "" +"El módulo :mod:`warnings` ha sido reescrito en C. Esto hace posible invocar " +"advertencias desde el analizador sintáctico, y también puede hacer que el " +"arranque del intérprete sea más rápido. (Contribuido por Neal Norwitz y " +"Brett Cannon; :issue:`1631171`.)" #: ../Doc/whatsnew/2.6.rst:1700 +#, fuzzy msgid "" "Type objects now have a cache of methods that can reduce the work required " "to find the correct method implementation for a particular class; once " @@ -2186,8 +2746,17 @@ msgid "" "Python's dynamic nature. (Original optimization implemented by Armin Rigo, " "updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)" msgstr "" +"Los objetos de tipo tienen ahora una caché de métodos que puede reducir el " +"trabajo necesario para encontrar la implementación del método correcto para " +"una clase en particular; una vez almacenada en la caché, el intérprete no " +"necesita recorrer las clases base para averiguar el método correcto a " +"llamar. La caché se borra si una clase base o la propia clase se modifica, " +"por lo que la caché debería seguir siendo correcta incluso ante la " +"naturaleza dinámica de Python. (Optimización original implementada por Armin " +"Rigo, actualizada para Python 2.6 por Kevin Jacobs; :issue:`1700288`.)" #: ../Doc/whatsnew/2.6.rst:1710 +#, fuzzy msgid "" "By default, this change is only applied to types that are included with the " "Python core. Extension modules may not necessarily be compatible with this " @@ -2198,55 +2767,94 @@ msgid "" "implements. Most modules don't do this, but it's impossible for the Python " "interpreter to determine that. See :issue:`1878` for some discussion.)" msgstr "" +"Por defecto, este cambio sólo se aplica a los tipos que se incluyen con el " +"núcleo de Python. Los módulos de extensión no son necesariamente " +"compatibles con esta caché, por lo que deben añadir explícitamente :c:macro:" +"`Py_TPFLAGS_HAVE_VERSION_TAG` al campo ``tp_flags`` del módulo para " +"habilitar la caché de métodos. (Para ser compatible con la caché de métodos, " +"el código del módulo de extensión no debe acceder directamente ni modificar " +"el miembro ``tp_dict`` de ninguno de los tipos que implementa. La mayoría " +"de los módulos no lo hacen, pero es imposible que el intérprete de Python lo " +"determine. Ver :issue:`1878` para una discusión)" #: ../Doc/whatsnew/2.6.rst:1721 +#, fuzzy msgid "" "Function calls that use keyword arguments are significantly faster by doing " "a quick pointer comparison, usually saving the time of a full string " "comparison. (Contributed by Raymond Hettinger, after an initial " "implementation by Antoine Pitrou; :issue:`1819`.)" msgstr "" +"Las llamadas a funciones que utilizan argumentos de palabras clave son " +"significativamente más rápidas al hacer una comparación rápida de punteros, " +"lo que suele ahorrar el tiempo de una comparación completa de cadenas. " +"(Contribución de Raymond Hettinger, tras una implementación inicial de " +"Antoine Pitrou; :issue:`1819`)" #: ../Doc/whatsnew/2.6.rst:1726 +#, fuzzy msgid "" "All of the functions in the :mod:`struct` module have been rewritten in C, " "thanks to work at the Need For Speed sprint. (Contributed by Raymond " "Hettinger.)" msgstr "" +"Todas las funciones del módulo :mod:`struct` han sido reescritas en C, " +"gracias al trabajo en el sprint de Need For Speed. (Contribución de Raymond " +"Hettinger)" #: ../Doc/whatsnew/2.6.rst:1730 +#, fuzzy msgid "" "Some of the standard built-in types now set a bit in their type objects. " "This speeds up checking whether an object is a subclass of one of these " "types. (Contributed by Neal Norwitz.)" msgstr "" +"Algunos de los tipos estándar incorporados ahora establecen un bit en sus " +"objetos de tipo. Esto acelera la comprobación de si un objeto es una " +"subclase de uno de estos tipos. (Contribución de Neal Norwitz)" #: ../Doc/whatsnew/2.6.rst:1734 +#, fuzzy msgid "" "Unicode strings now use faster code for detecting whitespace and line " "breaks; this speeds up the :meth:`split` method by about 25% and :meth:" "`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is " "reduced by using pymalloc for the Unicode string's data." msgstr "" +"Las cadenas Unicode utilizan ahora un código más rápido para detectar los " +"espacios en blanco y los saltos de línea; esto acelera el método :meth:" +"`split` en un 25% a y :meth:`splitlines` en un 35%. (Contribuido por Antoine " +"Pitrou.) El uso de la memoria se reduce utilizando pymalloc para los datos " +"de la cadena Unicode." #: ../Doc/whatsnew/2.6.rst:1740 +#, fuzzy msgid "" "The ``with`` statement now stores the :meth:`__exit__` method on the stack, " "producing a small speedup. (Implemented by Jeffrey Yasskin.)" msgstr "" +"La sentencia ``with`` ahora almacena el método :meth:`__exit__` en la pila, " +"produciendo un pequeño aumento de velocidad. (Implementado por Jeffrey " +"Yasskin)" #: ../Doc/whatsnew/2.6.rst:1743 +#, fuzzy msgid "" "To reduce memory usage, the garbage collector will now clear internal free " "lists when garbage-collecting the highest generation of objects. This may " "return memory to the operating system sooner." msgstr "" +"Para reducir el uso de memoria, el recolector de basura ahora borrará las " +"listas libres internas cuando recolecte la generación más alta de objetos. " +"Esto puede devolver la memoria al sistema operativo antes." #: ../Doc/whatsnew/2.6.rst:1752 +#, fuzzy msgid "Interpreter Changes" -msgstr "" +msgstr "Cambios de intérprete" #: ../Doc/whatsnew/2.6.rst:1754 +#, fuzzy msgid "" "Two command-line options have been reserved for use by other Python " "implementations. The :option:`-J` switch has been reserved for use by " @@ -2256,8 +2864,17 @@ msgid "" "If either option is used with Python 2.6, the interpreter will report that " "the option isn't currently used." msgstr "" +"Se han reservado dos opciones de la línea de comandos para su uso por otras " +"implementaciones de Python. La opción :option:`-J` se ha reservado para su " +"uso por parte de Jython para las opciones específicas de Jython, como los " +"interruptores que se pasan a la JVM subyacente. :option:`-X` se ha reservado " +"para las opciones específicas de una implementación particular de Python " +"como CPython, Jython o IronPython. Si cualquiera de estas opciones se " +"utiliza con Python 2.6, el intérprete informará de que la opción no se " +"utiliza actualmente." #: ../Doc/whatsnew/2.6.rst:1762 +#, fuzzy msgid "" "Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files " "by supplying the :option:`-B` switch to the Python interpreter, or by " @@ -2267,8 +2884,16 @@ msgid "" "value to modify the interpreter's behaviour. (Contributed by Neal Norwitz " "and Georg Brandl.)" msgstr "" +"Ahora se puede evitar que Python escriba archivos :file:`.pyc` o :file:`." +"pyo` proporcionando el modificador :option:`-B` al intérprete de Python, o " +"estableciendo la variable de entorno :envvar:`PYTHONDONTWRITEBYTECODE` antes " +"de ejecutar el intérprete. Esta configuración está disponible para los " +"programas de Python como la variable ``sys.dont_write_bytecode``, y el " +"código de Python puede cambiar el valor para modificar el comportamiento del " +"intérprete. (Contribución de Neal Norwitz y Georg Brandl)" #: ../Doc/whatsnew/2.6.rst:1770 +#, fuzzy msgid "" "The encoding used for standard input, output, and standard error can be " "specified by setting the :envvar:`PYTHONIOENCODING` environment variable " @@ -2279,12 +2904,23 @@ msgid "" "handled by the encoding, and should be one of \"error\", \"ignore\", or " "\"replace\". (Contributed by Martin von Löwis.)" msgstr "" +"La codificación utilizada para la entrada, la salida y el error estándar " +"puede especificarse estableciendo la variable de entorno :envvar:" +"`PYTHONIOENCODING` antes de ejecutar el intérprete. El valor debe ser una " +"cadena de la forma```` o ``:``. La parte " +"*encoding* especifica el nombre de la codificación, por ejemplo ``utf-8`` o " +"``latin-1``; la parte opcional *errorhandler* especifica qué hacer con los " +"caracteres que no pueden ser manejados por la codificación, y debe ser una " +"de las opciones \"error\", \"ignorar\" o \"reemplazar\". (Contribución de " +"Martin von Löwis)" #: ../Doc/whatsnew/2.6.rst:1783 +#, fuzzy msgid "New and Improved Modules" -msgstr "" +msgstr "Módulos nuevos y mejorados" #: ../Doc/whatsnew/2.6.rst:1785 +#, fuzzy msgid "" "As in every release, Python's standard library received a number of " "enhancements and bug fixes. Here's a partial list of the most notable " @@ -2292,15 +2928,27 @@ msgid "" "file in the source tree for a more complete list of changes, or look through " "the Subversion logs for all the details." msgstr "" +"Como en cada versión, la biblioteca estándar de Python ha recibido una serie " +"de mejoras y correcciones de errores. Aquí hay una lista parcial de los " +"cambios más notables, ordenados alfabéticamente por nombre de módulo. " +"Consulta el archivo :file:`Misc/NEWS` en el árbol de fuentes para una lista " +"más completa de cambios, o mira los registros de Subversion para todos los " +"detalles." #: ../Doc/whatsnew/2.6.rst:1791 +#, fuzzy msgid "" "The :mod:`asyncore` and :mod:`asynchat` modules are being actively " "maintained again, and a number of patches and bugfixes were applied. " "(Maintained by Josiah Carlson; see :issue:`1736190` for one patch.)" msgstr "" +"Los módulos :mod:`asyncore` y :mod:`asynchat` están siendo mantenidos " +"activamente de nuevo, y se han aplicado varios parches y correcciones de " +"errores. (Mantenido por Josiah Carlson; véase :issue:`1736190` para un " +"parche)" #: ../Doc/whatsnew/2.6.rst:1796 +#, fuzzy msgid "" "The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the " "package is now available as a standalone package. The web page for the " @@ -2309,67 +2957,107 @@ msgid "" "standard library in Python 3.0, because its pace of releases is much more " "frequent than Python's." msgstr "" +"El módulo :mod:`bsddb` también tiene un nuevo mantenedor, Jesús Cea Avión, y " +"el paquete está ahora disponible como paquete independiente. La página web " +"del paquete es `www.jcea.es/programacion/pybsddb.htm `__. El plan es eliminar el paquete de la " +"biblioteca estándar en Python 3.0, porque su ritmo de lanzamientos es mucho " +"más frecuente que el de Python." #: ../Doc/whatsnew/2.6.rst:1804 +#, fuzzy msgid "" "The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol " "available, instead of restricting itself to protocol 1. (Contributed by W. " "Barnes.)" msgstr "" +"El módulo :mod:`bsddb.dbshelve` utiliza ahora el protocolo de decapado más " +"alto disponible, en lugar de limitarse al protocolo 1. (Contribución de W. " +"Barnes.)" #: ../Doc/whatsnew/2.6.rst:1808 +#, fuzzy msgid "" "The :mod:`cgi` module will now read variables from the query string of an " "HTTP POST request. This makes it possible to use form actions with URLs " "that include query strings such as \"/cgi-bin/add.py?category=1\". " "(Contributed by Alexandre Fiori and Nubis; :issue:`1817`.)" msgstr "" +"El módulo :mod:`cgi` leerá ahora las variables de la cadena de consulta de " +"una petición HTTP POST. Esto permite utilizar acciones de formulario con " +"URLs que incluyen cadenas de consulta como \"/cgi-bin/add.py?category=1\". " +"(Contribución de Alexandre Fiori y Nubis; :issue:`1817`.)" #: ../Doc/whatsnew/2.6.rst:1814 +#, fuzzy msgid "" "The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " "from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still " "available in the :mod:`cgi` module will trigger :exc:" "`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." msgstr "" +"Las funciones :func:`parse_qs` y :func:`parse_qsl` han sido reubicadas del " +"módulo :mod:`cgi` al módulo :mod:`urlparse`. Las versiones aún disponibles " +"en el módulo :mod:`cgi` activarán los mensajes :exc:" +"`PendingDeprecationWarning` en la versión 2.6 (:issue:`600362`)." #: ../Doc/whatsnew/2.6.rst:1820 +#, fuzzy msgid "" "The :mod:`cmath` module underwent extensive revision, contributed by Mark " "Dickinson and Christian Heimes. Five new functions were added:" msgstr "" +"El módulo :mod:`cmath` ha sido objeto de una amplia revisión, a la que han " +"contribuido Mark Dickinson y Christian Heimes. Se han añadido cinco nuevas " +"funciones:" #: ../Doc/whatsnew/2.6.rst:1824 +#, fuzzy msgid "" ":func:`polar` converts a complex number to polar form, returning the modulus " "and argument of the complex number." msgstr "" +":func:`polar` convierte un número complejo en forma polar, devolviendo el " +"módulo y el argumento del número complejo." #: ../Doc/whatsnew/2.6.rst:1827 +#, fuzzy msgid "" ":func:`rect` does the opposite, turning a modulus, argument pair back into " "the corresponding complex number." msgstr "" +":func:`rect` hace lo contrario, convirtiendo un par de módulos y argumentos " +"en el correspondiente número complejo." #: ../Doc/whatsnew/2.6.rst:1830 +#, fuzzy msgid "" ":func:`phase` returns the argument (also called the angle) of a complex " "number." msgstr "" +":func:`phase` devuelve el argumento (también llamado ángulo) de un número " +"complejo." #: ../Doc/whatsnew/2.6.rst:1833 +#, fuzzy msgid "" ":func:`isnan` returns True if either the real or imaginary part of its " "argument is a NaN." msgstr "" +":func:`isnan` devuelve True si la parte real o imaginaria de su argumento es " +"un NaN." #: ../Doc/whatsnew/2.6.rst:1836 +#, fuzzy msgid "" ":func:`isinf` returns True if either the real or imaginary part of its " "argument is infinite." msgstr "" +":func:`isinf` devuelve True si la parte real o imaginaria de su argumento es " +"infinita." #: ../Doc/whatsnew/2.6.rst:1839 +#, fuzzy msgid "" "The revisions also improved the numerical soundness of the :mod:`cmath` " "module. For all functions, the real and imaginary parts of the results are " @@ -2377,104 +3065,167 @@ msgid "" "See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:" "`atanh`: and :func:`atan` have also been corrected." msgstr "" +"Las revisiones también han mejorado la solidez numérica del módulo :mod:" +"`cmath`. Para todas las funciones, las partes real e imaginaria de los " +"resultados son exactas con unas pocas unidades de precisión mínima (ulps) " +"siempre que sea posible. Véase :issue:`1381` para los detalles. También se " +"han corregido los cortes de rama para :func:`asinh`, :func:`atanh`: y :func:" +"`atan`." #: ../Doc/whatsnew/2.6.rst:1846 +#, fuzzy msgid "" "The tests for the module have been greatly expanded; nearly 2000 new test " "cases exercise the algebraic functions." msgstr "" +"Las pruebas del módulo se han ampliado considerablemente; casi 2000 nuevos " +"casos de prueba ejercitan las funciones algebraicas." #: ../Doc/whatsnew/2.6.rst:1849 +#, fuzzy msgid "" "On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special " "values and floating-point exceptions in a manner consistent with Annex 'G' " "of the C99 standard." msgstr "" +"En las plataformas IEEE 754, el módulo :mod:`cmath` maneja ahora los valores " +"especiales IEEE 754 y las excepciones de punto flotante de forma consistente " +"con el Anexo 'G' del estándar C99." #: ../Doc/whatsnew/2.6.rst:1853 +#, fuzzy msgid "" "A new data type in the :mod:`collections` module: :class:" "`namedtuple(typename, fieldnames)` is a factory function that creates " "subclasses of the standard tuple whose fields are accessible by name as well " "as index. For example::" msgstr "" +"Un nuevo tipo de datos en el módulo :mod:`collections`: :class:" +"`namedtuple(typename, fieldnames)` es una función de fábrica que crea " +"subclases de la tupla estándar cuyos campos son accesibles tanto por nombre " +"como por índice. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:1875 +#, fuzzy msgid "" "Several places in the standard library that returned tuples have been " "modified to return :class:`namedtuple` instances. For example, the :meth:" "`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:" "`digits`, and :attr:`exponent` fields." msgstr "" +"Varios lugares de la biblioteca estándar que devolvían tuplas han sido " +"modificados para devolver instancias de :class:`namedtuple`. Por ejemplo, " +"el método :meth:`Decimal.as_tuple` ahora devuelve una tupla con nombre con " +"los campos :attr:`signo`, :attr:`dígitos` y :attr:`exponente`." #: ../Doc/whatsnew/2.6.rst:1882 +#, fuzzy msgid "" "Another change to the :mod:`collections` module is that the :class:`deque` " "type now supports an optional *maxlen* parameter; if supplied, the deque's " "size will be restricted to no more than *maxlen* items. Adding more items " "to a full deque causes old items to be discarded." msgstr "" +"Otro cambio en el módulo :mod:`collections` es que el tipo :class:`deque` " +"admite ahora un parámetro opcional *maxlen*; si se suministra, el tamaño del " +"deque estará restringido a no más de *maxlen* elementos. Si se añaden más " +"elementos a un deque lleno, se descartan los elementos antiguos." #: ../Doc/whatsnew/2.6.rst:1903 +#, fuzzy msgid "" "The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:" "`httponly` attribute. In some browsers. cookies with this attribute set " "cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin " "Schnell; :issue:`1638033`.)" msgstr "" +"Los objetos :mod:`Cookie` del módulo :class:`Morsel` soportan ahora un " +"atributo :attr:`httponly`. En algunos navegadores, las cookies con este " +"atributo no pueden ser accedidas o manipuladas por el código JavaScript. " +"(Contribución de Arvin Schnell; :issue:`1638033`.)" #: ../Doc/whatsnew/2.6.rst:1908 +#, fuzzy msgid "" "A new window method in the :mod:`curses` module, :meth:`chgat`, changes the " "display attributes for a certain number of characters on a single line. " "(Contributed by Fabian Kreutz.)" msgstr "" +"Un nuevo método de ventana en el módulo :mod:`curses`, :meth:`chgat`, cambia " +"los atributos de visualización para un determinado número de caracteres en " +"una sola línea. (Contribución de Fabian Kreutz)" #: ../Doc/whatsnew/2.6.rst:1918 +#, fuzzy msgid "" "The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " "editing in insert mode as well as overwrite mode. Insert mode is enabled by " "supplying a true value for the *insert_mode* parameter when creating the :" "class:`Textbox` instance." msgstr "" +"La clase :class:`Textbox` del módulo :mod:`curses.textpad` soporta ahora la " +"edición en modo de inserción así como en modo de sobrescritura. El modo de " +"inserción se activa proporcionando un valor verdadero para el parámetro " +"*insert_mode* al crear la instancia de :class:`Textbox`." #: ../Doc/whatsnew/2.6.rst:1923 -#, python-format +#, fuzzy, python-format msgid "" "The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " "format code that expands to the number of microseconds in the object, zero-" "padded on the left to six places. (Contributed by Skip Montanaro; :issue:" "`1158`.)" msgstr "" +"Los métodos :meth:`strftime` del módulo :mod:`datetime` soportan ahora un " +"código de formato ``%f`` que se expande al número de microsegundos en el " +"objeto, rellenado de cero a la izquierda hasta seis lugares. (Contribución " +"de Skip Montanaro; :issue:`1158`.)" #: ../Doc/whatsnew/2.6.rst:1928 +#, fuzzy msgid "" "The :mod:`decimal` module was updated to version 1.66 of `the General " "Decimal Specification `__. " "New features include some methods for some basic mathematical functions such " "as :meth:`exp` and :meth:`log10`::" msgstr "" +"El módulo :mod:`decimal` se ha actualizado a la versión 1.66 de `la " +"Especificación General Decimal `__. Las nuevas características incluyen algunos métodos para algunas " +"funciones matemáticas básicas como :meth:`exp` y :meth:`log10`::" #: ../Doc/whatsnew/2.6.rst:1940 +#, fuzzy msgid "" "The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " "tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." msgstr "" +"El método :meth:`as_tuple` de los objetos :class:`Decimal` devuelve ahora " +"una tupla con nombre con los campos :attr:`signo`, :attr:`dígitos` y :attr:" +"`exponente`." #: ../Doc/whatsnew/2.6.rst:1943 +#, fuzzy msgid "" "(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " "added by Raymond Hettinger.)" msgstr "" +"(Implementado por Facundo Batista y Mark Dickinson. Soporte de tuplas con " +"nombre añadido por Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1946 +#, fuzzy msgid "" "The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named " "tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " "attributes. (Contributed by Raymond Hettinger.)" msgstr "" +"La clase :mod:`difflib` del módulo :class:`SequenceMatcher` devuelve ahora " +"tuplas con nombre que representan coincidencias, con atributos :attr:`a`, :" +"attr:`b` y :attr:`size`. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1951 +#, fuzzy msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " "was added to the :class:`ftplib.FTP` class constructor as well as the :meth:" @@ -2483,8 +3234,16 @@ msgid "" "*callback* parameter that will be called with each block of data after the " "data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" msgstr "" +"Se ha añadido un parámetro opcional ``timeout``, que especifica un tiempo de " +"espera medido en segundos, al constructor de la clase :class:`ftplib.FTP` " +"así como al método :meth:`connect`. (Añadido por Facundo Batista.) Además, " +"los métodos :meth:`storbinary` y :meth:`storlines` de la clase :class:`FTP` " +"ahora toman un parámetro opcional *callback* que será llamado con cada " +"bloque de datos después de que los datos hayan sido enviados. (Contribuido " +"por Phil Schwartz; :issue:`1221598`.)" #: ../Doc/whatsnew/2.6.rst:1959 +#, fuzzy msgid "" "The :func:`reduce` built-in function is also available in the :mod:" "`functools` module. In Python 3.0, the builtin has been dropped and :func:" @@ -2492,8 +3251,14 @@ msgid "" "plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :" "issue:`1739906`.)" msgstr "" +"La función incorporada :func:`reduce` también está disponible en el módulo :" +"mod:`functools`. En Python 3.0, la función incorporada se ha eliminado y :" +"func:`reduce` sólo está disponible en :mod:`functools`; actualmente no hay " +"planes para eliminar la función incorporada en la serie 2.x. (Parcheado por " +"Christian Heimes; :issue:`1739906`.)" #: ../Doc/whatsnew/2.6.rst:1965 +#, fuzzy msgid "" "When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to " "print a prompt message and read the password, falling back to standard error " @@ -2501,101 +3266,159 @@ msgid "" "warning is printed before the prompt is displayed. (Contributed by Gregory " "P. Smith.)" msgstr "" +"Cuando sea posible, el módulo :mod:`getpass` utilizará ahora :file:`/dev/" +"tty` para imprimir un mensaje de aviso y leer la contraseña, retrocediendo " +"al error estándar y a la entrada estándar. Si la contraseña puede ser " +"enviada al terminal, se imprimirá una advertencia antes de que se muestre el " +"aviso. (Contribución de Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:1971 +#, fuzzy msgid "" "The :func:`glob.glob` function can now return Unicode filenames if a Unicode " "path was used and Unicode filenames are matched within the directory. (:" "issue:`1001604`)" msgstr "" +"La función :func:`glob.glob` ahora puede devolver nombres de archivo Unicode " +"si se ha utilizado una ruta Unicode y se han encontrado nombres de archivo " +"Unicode dentro del directorio. (:issue:`1001604`)" #: ../Doc/whatsnew/2.6.rst:1975 +#, fuzzy msgid "" "A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, " "takes any number of iterables returning data in sorted order, and returns a " "new generator that returns the contents of all the iterators, also in sorted " "order. For example::" msgstr "" +"Una nueva función en el módulo :mod:`heapq`, ``merge(iter1, iter2, ...)``, " +"toma cualquier número de iterables que devuelven datos en orden ordenado, y " +"devuelve un nuevo generador que devuelve el contenido de todos los " +"iteradores, también en ordenado. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:1983 +#, fuzzy msgid "" "Another new function, ``heappushpop(heap, item)``, pushes *item* onto " "*heap*, then pops off and returns the smallest item. This is more efficient " "than making a call to :func:`heappush` and then :func:`heappop`." msgstr "" +"Otra nueva función, ``heappushpop(heap, item)``, empuja *item* a *heap*, " +"luego lo saca y devuelve el elemento más pequeño. Esto es más eficiente que " +"hacer una llamada a :func:`heappush` y luego a :func:`heappop`." #: ../Doc/whatsnew/2.6.rst:1988 +#, fuzzy msgid "" ":mod:`heapq` is now implemented to only use less-than comparison, instead of " "the less-than-or-equal comparison it previously used. This makes :mod:" "`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed " "by Raymond Hettinger.)" msgstr "" +":mod:`heapq` se ha implementado para utilizar únicamente la comparación " +"menor que, en lugar de la comparación menor o igual que utilizaba " +"anteriormente. Esto hace que el uso de :mod:`heapq` de un tipo coincida con " +"el método :meth:`list.sort`. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1994 +#, fuzzy msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " "was added to the :class:`httplib.HTTPConnection` and :class:" "`HTTPSConnection` class constructors. (Added by Facundo Batista.)" msgstr "" +"Se ha añadido un parámetro opcional ``timeout``, que especifica un tiempo de " +"espera medido en segundos, a los constructores de las clases :class:`httplib." +"HTTPConnection` y :class:`HTTPSConnection`. (Añadido por Facundo Batista)" #: ../Doc/whatsnew/2.6.rst:1999 +#, fuzzy msgid "" "Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo` " "and :func:`getargs`, now return named tuples. In addition to behaving like " "tuples, the elements of the return value can also be accessed as " "attributes. (Contributed by Raymond Hettinger.)" msgstr "" +"La mayoría de las funciones del módulo :mod:`inspect`, como :func:" +"`getmoduleinfo` y :func:`getargs`, ahora devuelven tuplas con nombre. Además " +"de comportarse como tuplas, también se puede acceder a los elementos del " +"valor devuelto como atributos. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2005 +#, fuzzy msgid "" "Some new functions in the module include :func:`isgenerator`, :func:" "`isgeneratorfunction`, and :func:`isabstract`." msgstr "" +"Algunas de las nuevas funciones del módulo son :func:`isgenerator`, :func:" +"`isgeneratorfunction` y :func:`isabstract`." #: ../Doc/whatsnew/2.6.rst:2009 +#, fuzzy msgid "The :mod:`itertools` module gained several new functions." -msgstr "" +msgstr "El módulo :mod:`itertools` ha ganado varias funciones nuevas." #: ../Doc/whatsnew/2.6.rst:2011 +#, fuzzy msgid "" "``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of " "the elements; if some of the iterables are shorter than others, the missing " "values are set to *fillvalue*. For example::" msgstr "" +"``izip_longest(iter1, iter2, ...[, fillvalue])`` hace tuplas de cada uno de " +"los elementos; si algunos de los iterables son más cortos que otros, los " +"valores que faltan se ponen a *fillvalue*. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2018 +#, fuzzy msgid "" "``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of " "the supplied iterables, a set of tuples containing every possible " "combination of the elements returned from each iterable. ::" msgstr "" +"``product(iter1, iter2, ..., [repeat=N])`` devuelve el producto cartesiano " +"de los iterables suministrados, un conjunto de tuplas que contiene todas las " +"combinaciones posibles de los elementos devueltos de cada iterable. ::" #: ../Doc/whatsnew/2.6.rst:2027 +#, fuzzy msgid "" "The optional *repeat* keyword argument is used for taking the product of an " "iterable or a set of iterables with themselves, repeated *N* times. With a " "single iterable argument, *N*-tuples are returned::" msgstr "" +"El argumento opcional de la palabra clave *repeat* se utiliza para tomar el " +"producto de un iterable o un conjunto de iterables con ellos mismos, " +"repetido *N* veces. Con un único argumento iterable, se devuelven *N*-" +"tuplas::" #: ../Doc/whatsnew/2.6.rst:2036 +#, fuzzy msgid "With two iterables, *2N*-tuples are returned. ::" -msgstr "" +msgstr "Con dos iterables, se devuelven *2N*-tuplas. ::" #: ../Doc/whatsnew/2.6.rst:2044 +#, fuzzy msgid "" "``combinations(iterable, r)`` returns sub-sequences of length *r* from the " "elements of *iterable*. ::" msgstr "" +"``combinaciones(iterable, r)`` devuelve subsecuencias de longitud *r* de los " +"elementos de *iterable*. ::" #: ../Doc/whatsnew/2.6.rst:2055 +#, fuzzy msgid "" "``permutations(iter[, r])`` returns all the permutations of length *r* of " "the iterable's elements. If *r* is not specified, it will default to the " "number of elements produced by the iterable. ::" msgstr "" +"``permutaciones(iter[, r])`` devuelve todas las permutaciones de longitud " +"*r* de los elementos del iterable. Si no se especifica *r*, por defecto " +"será el número de elementos producidos por el iterable. ::" #: ../Doc/whatsnew/2.6.rst:2065 +#, fuzzy msgid "" "``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " "that gained a new constructor in Python 2.6. ``itertools.chain." @@ -2603,12 +3426,19 @@ msgid "" "iterables. :func:`chain` will then return all the elements of the first " "iterable, then all the elements of the second, and so on. ::" msgstr "" +"``itertools.chain(*iterables)`` es una función existente en :mod:`itertools` " +"que obtuvo un nuevo constructor en Python 2.6. ``itertools.chain." +"from_iterable(iterable)`` toma un único iterable que debe devolver otros " +"iterables. :func:`chain` devolverá entonces todos los elementos del primer " +"iterable, luego todos los elementos del segundo, y así sucesivamente. ::" #: ../Doc/whatsnew/2.6.rst:2075 +#, fuzzy msgid "(All contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Todo ello aportado por Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2077 +#, fuzzy msgid "" "The :mod:`logging` module's :class:`FileHandler` class and its subclasses :" "class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:" @@ -2616,69 +3446,112 @@ msgid "" "constructors. If *delay* is true, opening of the log file is deferred until " "the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" msgstr "" +"La clase :mod:`logging` del módulo :class:`FileHandler` y sus subclases :" +"class:`WatchedFileHandler`, :class:`RotatingFileHandler` y :class:" +"`TimedRotatingFileHandler` tienen ahora un parámetro opcional *delay* en sus " +"constructores. Si *retraso* es verdadero, la apertura del fichero de " +"registro se retrasa hasta que se realice la primera llamada :meth:`emit`. " +"(Contribuido por Vinay Sajip.)" #: ../Doc/whatsnew/2.6.rst:2084 +#, fuzzy msgid "" ":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. " "If the argument is true, UTC time will be used in determining when midnight " "occurs and in generating filenames; otherwise local time will be used." msgstr "" +":class:`TimedRotatingFileHandler` también tiene un parámetro constructor " +"*utc*. Si el argumento es verdadero, se utilizará la hora UTC para " +"determinar cuándo ocurre la medianoche y para generar los nombres de los " +"archivos; en caso contrario, se utilizará la hora local." #: ../Doc/whatsnew/2.6.rst:2089 +#, fuzzy msgid "Several new functions were added to the :mod:`math` module:" -msgstr "" +msgstr "Se han añadido varias funciones nuevas al módulo :mod:`math`:" #: ../Doc/whatsnew/2.6.rst:2091 +#, fuzzy msgid "" ":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " "is a (positive or negative) infinity or a NaN (Not a Number), respectively." msgstr "" +":func:`~math.isinf` y :func:`~math.isnan` determinan si un flotador dado es " +"un infinito (positivo o negativo) o un NaN (Not a Number), respectivamente." #: ../Doc/whatsnew/2.6.rst:2094 +#, fuzzy msgid "" ":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning " "the absolute value of *x* combined with the sign bit of *y*. For example, " "``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)" msgstr "" +":func:`~math.copysign` copia el bit de signo de un número IEEE 754, " +"devolviendo el valor absoluto de *x* combinado con el bit de signo de *y*. " +"Por ejemplo, ``math.copysign(1, -0.0)`` devuelve -1.0. (Contribución de " +"Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2099 +#, fuzzy msgid "" ":func:`~math.factorial` computes the factorial of a number. (Contributed by " "Raymond Hettinger; :issue:`2138`.)" msgstr "" +":func:`~math.factorial` calcula el factorial de un número. (Contribuido por " +"Raymond Hettinger; :issue:`2138`.)" #: ../Doc/whatsnew/2.6.rst:2102 +#, fuzzy msgid "" ":func:`~math.fsum` adds up the stream of numbers from an iterable, and is " "careful to avoid loss of precision through using partial sums. (Contributed " "by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)" msgstr "" +":func:`~math.fsum` suma el flujo de números de un iterable, y tiene cuidado " +"de evitar la pérdida de precisión mediante el uso de sumas parciales. " +"(Contribución de Jean Brouwers, Raymond Hettinger y Mark Dickinson; :issue:" +"`2819`)" #: ../Doc/whatsnew/2.6.rst:2107 +#, fuzzy msgid "" ":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the " "inverse hyperbolic functions." msgstr "" +":func:`~math.acosh`, :func:`~math.asinh` y :func:`~math.atanh` calculan las " +"funciones hiperbólicas inversas." #: ../Doc/whatsnew/2.6.rst:2110 +#, fuzzy msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." -msgstr "" +msgstr ":func:`~math.log1p` devuelve el logaritmo natural de *1+x* (base *e*)." #: ../Doc/whatsnew/2.6.rst:2113 +#, fuzzy msgid "" ":func:`trunc` rounds a number toward zero, returning the closest :class:" "`Integral` that's between the function's argument and zero. Added as part of " "the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__." msgstr "" +":func:`trunc` redondea un número hacia cero, devolviendo el :class:" +"`Integral` más cercano que esté entre el argumento de la función y el cero. " +"Añadido como parte del backport de la jerarquía de tipos de números de `PEP " +"3141 <#pep-3141>`__." #: ../Doc/whatsnew/2.6.rst:2118 +#, fuzzy msgid "" "The :mod:`math` module has been improved to give more consistent behaviour " "across platforms, especially with respect to handling of floating-point " "exceptions and IEEE 754 special values." msgstr "" +"El módulo :mod:`math` se ha mejorado para ofrecer un comportamiento más " +"coherente en todas las plataformas, especialmente en lo que respecta al " +"manejo de las excepciones de punto flotante y los valores especiales IEEE " +"754." #: ../Doc/whatsnew/2.6.rst:2122 +#, fuzzy msgid "" "Whenever possible, the module follows the recommendations of the C99 " "standard about 754's special values. For example, ``sqrt(-1.)`` should now " @@ -2689,49 +3562,80 @@ msgid "" "standard recommends signaling 'overflow', Python will raise :exc:" "`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" msgstr "" +"Siempre que es posible, el módulo sigue las recomendaciones del estándar C99 " +"sobre los valores especiales de 754. Por ejemplo, ``sqrt(-1.)`` debería dar " +"ahora un :exc:`ValueError` en casi todas las plataformas, mientras que " +"``sqrt(float('NaN'))`` debería devolver un NaN en todas las plataformas IEEE " +"754. Cuando el Anexo 'F' del estándar C99 recomiende señalar 'dividir por " +"cero' o 'inválido', Python lanzará :exc:`ValueError`. Cuando el Anexo 'F' " +"del estándar C99 recomiende señalar 'desbordamiento', Python lanzará :exc:" +"`OverflowError`. (Ver :issue:`711019` y :issue:`1640`)" #: ../Doc/whatsnew/2.6.rst:2132 +#, fuzzy msgid "(Contributed by Christian Heimes and Mark Dickinson.)" -msgstr "" +msgstr "(Contribución de Christian Heimes y Mark Dickinson)" #: ../Doc/whatsnew/2.6.rst:2134 +#, fuzzy msgid "" ":class:`~mmap.mmap` objects now have a :meth:`rfind` method that searches " "for a substring beginning at the end of the string and searching backwards. " "The :meth:`find` method also gained an *end* parameter giving an index at " "which to stop searching. (Contributed by John Lenton.)" msgstr "" +"Los objetos :class:`~mmap.mmap` tienen ahora un método :meth:`rfind` que " +"busca una subcadena empezando por el final de la cadena y buscando hacia " +"atrás. El método :meth:`find` también ha ganado un parámetro *end* que da " +"un índice en el que parar la búsqueda. (Contribución de John Lenton)" #: ../Doc/whatsnew/2.6.rst:2140 +#, fuzzy msgid "" "The :mod:`operator` module gained a :func:`methodcaller` function that takes " "a name and an optional set of arguments, returning a callable that will call " "the named function on any arguments passed to it. For example::" msgstr "" +"El módulo :mod:`operator` ganó una función :func:`methodcaller` que toma un " +"nombre y un conjunto opcional de argumentos, devolviendo un callable que " +"llamará a la función nombrada en cualquier argumento que se le pase. Por " +"ejemplo::" #: ../Doc/whatsnew/2.6.rst:2150 +#, fuzzy msgid "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" msgstr "" +"(Contribución de Georg Brandl, tras una sugerencia de Gregory Petrosyan)" #: ../Doc/whatsnew/2.6.rst:2152 +#, fuzzy msgid "" "The :func:`attrgetter` function now accepts dotted names and performs the " "corresponding attribute lookups::" msgstr "" +"La función :func:`attrgetter` acepta ahora nombres con puntos y realiza las " +"correspondientes búsquedas de atributos::" #: ../Doc/whatsnew/2.6.rst:2162 +#, fuzzy msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" -msgstr "" +msgstr "(Contribución de Georg Brandl, tras una sugerencia de Barry Warsaw)" #: ../Doc/whatsnew/2.6.rst:2164 +#, fuzzy msgid "" "The :mod:`os` module now wraps several new system calls. ``fchmod(fd, " "mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an " "opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. " "(Contributed by Georg Brandl and Christian Heimes.)" msgstr "" +"El módulo :mod:`os` incluye ahora varias llamadas nuevas al sistema. " +"``fchmod(fd, mode)`` y ``fchown(fd, uid, gid)`` cambian el modo y la " +"propiedad de un fichero abierto, y ``lchmod(path, mode)`` cambia el modo de " +"un enlace simbólico. (Contribución de Georg Brandl y Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2170 +#, fuzzy msgid "" ":func:`chflags` and :func:`lchflags` are wrappers for the corresponding " "system calls (where they're available), changing the flags set on a file. " @@ -2740,23 +3644,41 @@ msgid "" "changed and :const:`UF_APPEND` to indicate that data can only be appended to " "the file. (Contributed by M. Levinson.)" msgstr "" +":func:`chflags` y :func:`lchflags` son envoltorios para las correspondientes " +"llamadas al sistema (cuando están disponibles), que cambian las banderas " +"establecidas en un archivo. Las constantes para los valores de las banderas " +"se definen en el módulo :mod:`stat`; algunos valores posibles son :const:" +"`UF_IMMUTABLE` para indicar que el fichero no puede ser modificado y :const:" +"`UF_APPEND` para indicar que sólo se pueden añadir datos al fichero. " +"(Contribución de M. Levinson)" #: ../Doc/whatsnew/2.6.rst:2178 +#, fuzzy msgid "" "``os.closerange(low, high)`` efficiently closes all file descriptors from " "*low* to *high*, ignoring any errors and not including *high* itself. This " "function is now used by the :mod:`subprocess` module to make starting " "processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)" msgstr "" +"``os.closerange(low, high)`` cierra eficazmente todos los descriptores de " +"fichero desde *low* hasta *high*, ignorando cualquier error y sin incluir a " +"*high* mismo. Esta función es ahora utilizada por el módulo :mod:" +"`subprocess` para hacer más rápido el arranque de procesos. (Contribuido " +"por Georg Brandl; :issue:`1663329`.)" #: ../Doc/whatsnew/2.6.rst:2183 +#, fuzzy msgid "" "The ``os.environ`` object's :meth:`clear` method will now unset the " "environment variables using :func:`os.unsetenv` in addition to clearing the " "object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)" msgstr "" +"El método :meth:`clear` del objeto ``os.environ`` ahora desajustará las " +"variables de entorno utilizando :func:`os.unsetenv` además de borrar las " +"claves del objeto. (Contribuido por Martin Horcicka; :issue:`1181`.)" #: ../Doc/whatsnew/2.6.rst:2187 +#, fuzzy msgid "" "The :func:`os.walk` function now has a ``followlinks`` parameter. If set to " "True, it will follow symlinks pointing to directories and visit the " @@ -2764,8 +3686,15 @@ msgid "" "value is false. Note that the function can fall into an infinite recursion " "if there's a symlink that points to a parent directory. (:issue:`1273829`)" msgstr "" +"La función :func:`os.walk` tiene ahora un parámetro ``followlinks``. Si se " +"establece como True, seguirá los enlaces simbólicos que apunten a " +"directorios y visitará el contenido del directorio. Por compatibilidad con " +"el pasado, el valor por defecto del parámetro es false. Tenga en cuenta que " +"la función puede caer en una recursión infinita si hay un enlace simbólico " +"que apunte a un directorio padre. (:issue:`1273829`)" #: ../Doc/whatsnew/2.6.rst:2194 +#, fuzzy msgid "" "In the :mod:`os.path` module, the :func:`splitext` function has been changed " "to not split on leading period characters. This produces better results when " @@ -2773,64 +3702,105 @@ msgid "" "now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:" "`1115886`)" msgstr "" +"En el módulo :mod:`os.path`, la función :func:`splitext` ha sido modificada " +"para no dividir los caracteres de punto inicial. Esto produce mejores " +"resultados cuando se opera con archivos de puntos de Unix. Por ejemplo, ``os." +"path.splitext('.ipython')`` ahora devuelve ``('.ipython', '')`` en lugar de " +"``('', '.ipython')``. (:issue:`1115886`)" #: ../Doc/whatsnew/2.6.rst:2201 +#, fuzzy msgid "" "A new function, ``os.path.relpath(path, start='.')``, returns a relative " "path from the ``start`` path, if it's supplied, or from the current working " "directory to the destination ``path``. (Contributed by Richard Barran; :" "issue:`1339796`.)" msgstr "" +"Una nueva función, ``os.path.relpath(path, start='.')``, devuelve una ruta " +"relativa desde la ruta ``start``, si se suministra, o desde el directorio de " +"trabajo actual hasta el destino ``path``. (Contribución de Richard Barran; :" +"issue:`1339796`.)" #: ../Doc/whatsnew/2.6.rst:2206 +#, fuzzy msgid "" "On Windows, :func:`os.path.expandvars` will now expand environment variables " "given in the form \"%var%\", and \"~user\" will be expanded into the user's " "home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)" msgstr "" +"En Windows, :func:`os.path.expandvars` ahora expandirá las variables de " +"entorno dadas en la forma \"%var%\", y \"~user\" se expandirá en la ruta del " +"directorio personal del usuario. (Contribución de Josiah Carlson; :issue:" +"`957650`.)" #: ../Doc/whatsnew/2.6.rst:2211 +#, fuzzy msgid "" "The Python debugger provided by the :mod:`pdb` module gained a new command: " "\"run\" restarts the Python program being debugged and can optionally take " "new command-line arguments for the program. (Contributed by Rocky " "Bernstein; :issue:`1393667`.)" msgstr "" +"El depurador de Python proporcionado por el módulo :mod:`pdb` ganó un nuevo " +"comando: \"run\" reinicia el programa Python que se está depurando y puede " +"tomar opcionalmente nuevos argumentos de línea de comandos para el programa. " +"(Contribución de Rocky Bernstein; :issue:`1393667`.)" #: ../Doc/whatsnew/2.6.rst:2216 +#, fuzzy msgid "" "The :func:`pdb.post_mortem` function, used to begin debugging a traceback, " "will now use the traceback returned by :func:`sys.exc_info` if no traceback " "is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)" msgstr "" +"La función :func:`pdb.post_mortem`, utilizada para iniciar la depuración de " +"un traceback, utilizará ahora el traceback devuelto por :func:`sys.exc_info` " +"si no se suministra ningún traceback. (Contribuido por Facundo Batista; :" +"issue:`1106316`.)" #: ../Doc/whatsnew/2.6.rst:2221 +#, fuzzy msgid "" "The :mod:`pickletools` module now has an :func:`optimize` function that " "takes a string containing a pickle and removes some unused opcodes, " "returning a shorter pickle that contains the same data structure. " "(Contributed by Raymond Hettinger.)" msgstr "" +"El módulo :mod:`pickletools` tiene ahora una función :func:`optimize` que " +"toma una cadena que contiene un pickle y elimina algunos opcodes no " +"utilizados, devolviendo un pickle más corto que contiene la misma estructura " +"de datos. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2226 +#, fuzzy msgid "" "A :func:`get_data` function was added to the :mod:`pkgutil` module that " "returns the contents of resource files included with an installed Python " "package. For example::" msgstr "" +"Se ha añadido una función :func:`get_data` al módulo :mod:`pkgutil` que " +"devuelve el contenido de los archivos de recursos incluidos con un paquete " +"Python instalado. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2241 +#, fuzzy msgid "(Contributed by Paul Moore; :issue:`2439`.)" -msgstr "" +msgstr "(Contribución de Paul Moore; :issue:`2439`.)" #: ../Doc/whatsnew/2.6.rst:2243 +#, fuzzy msgid "" "The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :" "attr:`buffer_size` attribute to change the size of the buffer used to hold " "character data. (Contributed by Achim Gaedke; :issue:`1137`.)" msgstr "" +"Los objetos :mod:`pyexpat` del módulo :class:`Parser` permiten ahora " +"establecer su atributo :attr:`buffer_size` para cambiar el tamaño del buffer " +"utilizado para mantener los datos de caracteres. (Contribución de Achim " +"Gaedke; :issue:`1137`.)" #: ../Doc/whatsnew/2.6.rst:2248 +#, fuzzy msgid "" "The :mod:`Queue` module now provides queue variants that retrieve entries in " "different orders. The :class:`PriorityQueue` class stores queued items in a " @@ -2838,8 +3808,15 @@ msgid "" "the most recently added entries first, meaning that it behaves like a stack. " "(Contributed by Raymond Hettinger.)" msgstr "" +"El módulo :mod:`Queue` proporciona ahora variantes de colas que recuperan " +"las entradas en diferentes órdenes. La clase :class:`PriorityQueue` " +"almacena los elementos en cola en un montón y los recupera en orden de " +"prioridad, y :class:`LifoQueue` recupera primero las entradas añadidas más " +"recientemente, lo que significa que se comporta como una pila. (Contribución " +"de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2255 +#, fuzzy msgid "" "The :mod:`random` module's :class:`Random` objects can now be pickled on a " "32-bit system and unpickled on a 64-bit system, and vice versa. " @@ -2847,8 +3824,15 @@ msgid "" "objects can't be unpickled correctly on earlier versions of Python. " "(Contributed by Shawn Ligocki; :issue:`1727780`.)" msgstr "" +"Los objetos :class:`Random` del módulo :mod:`random` ahora pueden ser " +"decapados en un sistema de 32 bits y desempaquetados en un sistema de 64 " +"bits, y viceversa. Desafortunadamente, este cambio también significa que " +"los objetos :class:`Random` de Python 2.6 no pueden ser desempaquetados " +"correctamente en versiones anteriores de Python. (Contribuido por Shawn " +"Ligocki; :issue:`1727780`.)" #: ../Doc/whatsnew/2.6.rst:2262 +#, fuzzy msgid "" "The new ``triangular(low, high, mode)`` function returns random numbers " "following a triangular distribution. The returned values are between *low* " @@ -2856,15 +3840,26 @@ msgid "" "frequently occurring value in the distribution. (Contributed by Wladmir van " "der Laan and Raymond Hettinger; :issue:`1681432`.)" msgstr "" +"La nueva función ``triangular(low, high, mode)`` devuelve números aleatorios " +"siguiendo una distribución triangular. Los valores devueltos están entre " +"*bajos* y *altos*, sin incluir los propios *altos*, y con *modo* como valor " +"más frecuente en la distribución. (Contribución de Wladmir van der Laan y " +"Raymond Hettinger; :issue:`1681432`.)" #: ../Doc/whatsnew/2.6.rst:2269 +#, fuzzy msgid "" "Long regular expression searches carried out by the :mod:`re` module will " "check for signals being delivered, so time-consuming searches can now be " "interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)" msgstr "" +"Las búsquedas de expresiones regulares largas llevadas a cabo por el módulo :" +"mod:`re` comprobarán la entrega de señales, por lo que ahora se pueden " +"interrumpir las búsquedas que consumen mucho tiempo. (Contribución de Josh " +"Hoyt y Ralf Schmitt; :issue:`846388`.)" #: ../Doc/whatsnew/2.6.rst:2274 +#, fuzzy msgid "" "The regular expression module is implemented by compiling bytecodes for a " "tiny regex-specific virtual machine. Untrusted code could create malicious " @@ -2872,23 +3867,40 @@ msgid "" "verifier for the regex bytecode. (Contributed by Guido van Rossum from work " "for Google App Engine; :issue:`3487`.)" msgstr "" +"El módulo de expresiones regulares se implementa compilando bytecodes para " +"una pequeña máquina virtual específica de regex. El código no fiable podría " +"crear cadenas maliciosas de código de bytes directamente y causar caídas, " +"por lo que Python 2.6 incluye un verificador para el código de bytes regex. " +"(Contribuido por Guido van Rossum del trabajo para Google App Engine; :issue:" +"`3487`.)" #: ../Doc/whatsnew/2.6.rst:2281 +#, fuzzy msgid "" "The :mod:`rlcompleter` module's :meth:`Completer.complete()` method will now " "ignore exceptions triggered while evaluating a name. (Fixed by Lorenz " "Quack; :issue:`2250`.)" msgstr "" +"El método :meth:`Completer.complete()` del módulo :mod:`rlcompleter` ahora " +"ignorará las excepciones que se produzcan al evaluar un nombre. (Corregido " +"por Lorenz Quack; :issue:`2250`.)" #: ../Doc/whatsnew/2.6.rst:2285 +#, fuzzy msgid "" "The :mod:`sched` module's :class:`scheduler` instances now have a read-only :" "attr:`queue` attribute that returns the contents of the scheduler's queue, " "represented as a list of named tuples with the fields ``(time, priority, " "action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" msgstr "" +"Las instancias :mod:`sched` del módulo :class:`scheduler` tienen ahora un " +"atributo :attr:`queue` de sólo lectura que devuelve el contenido de la cola " +"del planificador, representado como una lista de tuplas con nombre con los " +"campos ``(tiempo, prioridad, acción, argumento)``. (Contribución de Raymond " +"Hettinger; :issue:`1861`.)" #: ../Doc/whatsnew/2.6.rst:2291 +#, fuzzy msgid "" "The :mod:`select` module now has wrapper functions for the Linux :c:func:" "`epoll` and BSD :c:func:`kqueue` system calls. :meth:`modify` method was " @@ -2897,16 +3909,28 @@ msgid "" "modifying the recorded event mask for that file. (Contributed by Christian " "Heimes; :issue:`1657`.)" msgstr "" +"El módulo :mod:`select` tiene ahora funciones de envoltura para las llamadas " +"al sistema Linux :c:func:`epoll` y BSD :c:func:`kqueue`. Se ha añadido el " +"método :meth:`modify` a los objetos :class:`poll` existentes; ``pollobj." +"modify(fd, eventmask)`` toma un descriptor de fichero o un objeto de fichero " +"y una máscara de evento, modificando la máscara de evento registrada para " +"ese fichero. (Contribución de Christian Heimes; :issue:`1657`.)" #: ../Doc/whatsnew/2.6.rst:2299 +#, fuzzy msgid "" "The :func:`shutil.copytree` function now has an optional *ignore* argument " "that takes a callable object. This callable will receive each directory " "path and a list of the directory's contents, and returns a list of names " "that will be ignored, not copied." msgstr "" +"La función :func:`shutil.copytree` tiene ahora un argumento opcional " +"*ignore* que toma un objeto callable. Esta llamada recibirá cada ruta de " +"directorio y una lista del contenido del directorio, y devuelve una lista de " +"nombres que serán ignorados, no copiados." #: ../Doc/whatsnew/2.6.rst:2304 +#, fuzzy msgid "" "The :mod:`shutil` module also provides an :func:`ignore_patterns` function " "for use with this new parameter. :func:`ignore_patterns` takes an arbitrary " @@ -2915,12 +3939,21 @@ msgid "" "example copies a directory tree, but skips both :file:`.svn` directories and " "Emacs backup files, which have names ending with '~'::" msgstr "" +"El módulo :mod:`shutil` también proporciona una función :func:" +"`ignore_patterns` para su uso con este nuevo parámetro. :func:" +"`ignore_patterns` toma un número arbitrario de patrones de estilo glob y " +"devuelve una llamada que ignorará cualquier archivo o directorio que " +"coincida con cualquiera de estos patrones. El siguiente ejemplo copia un " +"árbol de directorios, pero omite los directorios :file:`.svn` y los ficheros " +"de copia de seguridad de Emacs, que tienen nombres que terminan en '~'::" #: ../Doc/whatsnew/2.6.rst:2315 +#, fuzzy msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)" -msgstr "" +msgstr "(Contribución de Tarek Ziadé; :issue:`2663`.)" #: ../Doc/whatsnew/2.6.rst:2317 +#, fuzzy msgid "" "Integrating signal handling with GUI handling event loops like those used by " "Tkinter or GTk+ has long been a problem; most software ends up polling, " @@ -2931,8 +3964,18 @@ msgid "" "a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the " "descriptor." msgstr "" +"Integrar el manejo de señales con los bucles de eventos de manejo de la " +"interfaz gráfica de usuario (GUI), como los utilizados por Tkinter o GTk+, " +"ha sido durante mucho tiempo un problema; la mayoría del software acaba " +"sondeando, despertando cada fracción de segundo para comprobar si se ha " +"producido algún evento de la GUI. El módulo :mod:`signal` puede ahora hacer " +"esto más eficiente. Llamando a ``signal.set_wakeup_fd(fd)`` se establece un " +"descriptor de fichero a utilizar; cuando se recibe una señal, se escribe un " +"byte en ese descriptor de fichero. También hay una función en C, :c:func:" +"`PySignal_SetWakeupFd`, para establecer el descriptor." #: ../Doc/whatsnew/2.6.rst:2327 +#, fuzzy msgid "" "Event loops will use this by opening a pipe to create two descriptors, one " "for reading and one for writing. The writable descriptor will be passed to :" @@ -2941,19 +3984,32 @@ msgid "" "`poll`. On receiving a signal, a byte will be written and the main event " "loop will be woken up, avoiding the need to poll." msgstr "" +"Los bucles de eventos utilizarán esto abriendo una tubería para crear dos " +"descriptores, uno de lectura y otro de escritura. El descriptor de " +"escritura se pasará a :func:`set_wakeup_fd`, y el descriptor de lectura se " +"añadirá a la lista de descriptores monitorizados por el bucle de eventos " +"mediante :c:func:`select` o :c:func:`poll`. Al recibir una señal, se " +"escribirá un byte y se despertará el bucle de eventos principal, evitando la " +"necesidad de hacer un sondeo." #: ../Doc/whatsnew/2.6.rst:2335 +#, fuzzy msgid "(Contributed by Adam Olsen; :issue:`1583`.)" -msgstr "" +msgstr "(Contribución de Adam Olsen; :issue:`1583`.)" #: ../Doc/whatsnew/2.6.rst:2337 +#, fuzzy msgid "" "The :func:`siginterrupt` function is now available from Python code, and " "allows changing whether signals can interrupt system calls or not. " "(Contributed by Ralf Schmitt.)" msgstr "" +"La función :func:`siginterrupt` está ahora disponible desde el código " +"Python, y permite cambiar si las señales pueden interrumpir las llamadas al " +"sistema o no. (Contribución de Ralf Schmitt)" #: ../Doc/whatsnew/2.6.rst:2341 +#, fuzzy msgid "" "The :func:`setitimer` and :func:`getitimer` functions have also been added " "(where they're available). :func:`setitimer` allows setting interval timers " @@ -2961,8 +4017,15 @@ msgid "" "time, measured in wall-clock time, consumed process time, or combined process" "+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" msgstr "" +"También se han añadido las funciones :func:`setitimer` y :func:`getitimer` " +"(cuando están disponibles). :func:`setitimer` permite establecer " +"temporizadores de intervalo que harán que se entregue una señal al proceso " +"después de un tiempo especificado, medido en tiempo de reloj de pared, " +"tiempo de proceso consumido, o tiempo combinado de proceso+sistema. " +"(Contribuido por Guilherme Polo; :issue:`2240`.)" #: ../Doc/whatsnew/2.6.rst:2348 +#, fuzzy msgid "" "The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition " "of the :class:`SMTP_SSL` class. This class supports an interface identical " @@ -2971,31 +4034,52 @@ msgid "" "specifies a timeout for the initial connection attempt, measured in " "seconds. (Contributed by Facundo Batista.)" msgstr "" +"El módulo :mod:`smtplib` ahora soporta SMTP sobre SSL gracias a la adición " +"de la clase :class:`SMTP_SSL`. Esta clase soporta una interfaz idéntica a la " +"clase :class:`SMTP` existente. (Contribuido por Monty Taylor.) Ambos " +"constructores de la clase también tienen un parámetro opcional ``timeout`` " +"que especifica un tiempo de espera para el intento de conexión inicial, " +"medido en segundos. (Contribuido por Facundo Batista.)" #: ../Doc/whatsnew/2.6.rst:2356 +#, fuzzy msgid "" "An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " "module. LMTP is used in place of SMTP when transferring e-mail between " "agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :" "issue:`957003`.)" msgstr "" +"También se ha añadido al módulo una implementación del protocolo LMTP (:rfc:" +"`2033`). LMTP se utiliza en lugar de SMTP cuando se transfiere correo " +"electrónico entre agentes que no gestionan una cola de correo. (LMTP " +"implementado por Leif Hedstrom; :issue:`957003`.)" #: ../Doc/whatsnew/2.6.rst:2361 +#, fuzzy msgid "" ":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any " "knowledge obtained from the server not obtained from the TLS negotiation " "itself. (Patch contributed by Bill Fenner; :issue:`829951`.)" msgstr "" +":meth:`SMTP.starttls` ahora cumple con :rfc:`3207` y olvida cualquier " +"conocimiento obtenido del servidor que no se haya obtenido de la propia " +"negociación TLS. (Parche aportado por Bill Fenner; :issue:`829951`.)" #: ../Doc/whatsnew/2.6.rst:2366 +#, fuzzy msgid "" "The :mod:`socket` module now supports TIPC (http://tipc.sourceforge.net/), a " "high-performance non-IP-based protocol designed for use in clustered " "environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " "Bertogli; :issue:`1646`.)" msgstr "" +"El módulo :mod:`socket` soporta ahora TIPC (http://tipc.sourceforge.net/), " +"un protocolo de alto rendimiento no basado en IP y diseñado para su uso en " +"entornos agrupados. Las direcciones TIPC son de 4 o 5 tuplas. (Contribución " +"de Alberto Bertogli; :issue:`1646`.)" #: ../Doc/whatsnew/2.6.rst:2371 +#, fuzzy msgid "" "A new function, :func:`create_connection`, takes an address and connects to " "it using an optional timeout value, returning the connected socket object. " @@ -3004,8 +4088,16 @@ msgid "" "instead of ``socket(socket.AF_INET, ...)`` may be all that's required to " "make your code work with IPv6." msgstr "" +"Una nueva función, :func:`create_connection`, toma una dirección y se " +"conecta a ella utilizando un valor opcional de tiempo de espera, devolviendo " +"el objeto socket conectado. Esta función también busca el tipo de dirección " +"y se conecta a ella usando IPv4 o IPv6 según sea el caso. Cambiar su código " +"para usar :func:`create_connection` en lugar de ``socket(socket." +"AF_INET, ...)`` puede ser todo lo que se necesita para que su código " +"funcione con IPv6." #: ../Doc/whatsnew/2.6.rst:2379 +#, fuzzy msgid "" "The base classes in the :mod:`SocketServer` module now support calling a :" "meth:`handle_timeout` method after a span of inactivity specified by the " @@ -3015,20 +4107,34 @@ msgid "" "shutdown request. (Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:" "`742598`, :issue:`1193577`.)" msgstr "" +"Las clases base del módulo :mod:`SocketServer` ahora soportan la llamada a " +"un método :meth:`handle_timeout` después de un periodo de inactividad " +"especificado por el atributo :attr:`timeout` del servidor. (Contribuido por " +"Michael Pomraning.) El método :meth:`serve_forever` ahora toma un intervalo " +"de sondeo opcional medido en segundos, controlando la frecuencia con la que " +"el servidor comprobará si hay una solicitud de cierre. (Contribuido por " +"Pedro Werneck y Jeffrey Yasskin; :issue:`742598`, :issue:`1193577`.)" #: ../Doc/whatsnew/2.6.rst:2388 +#, fuzzy msgid "" "The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " "from version 2.3.2 in Python 2.5 to version 2.4.1." msgstr "" +"El módulo :mod:`sqlite3`, mantenido por Gerhard Häring, ha sido actualizado " +"de la versión 2.3.2 en Python 2.5 a la versión 2.4.1." #: ../Doc/whatsnew/2.6.rst:2392 +#, fuzzy msgid "" "The :mod:`struct` module now supports the C99 :c:type:`_Bool` type, using " "the format character ``'?'``. (Contributed by David Remahl.)" msgstr "" +"El módulo :mod:`struct` soporta ahora el tipo C99 :c:type:`_Bool`, " +"utilizando el carácter de formato ``'?'``. (Contribución de David Remahl.)" #: ../Doc/whatsnew/2.6.rst:2396 +#, fuzzy msgid "" "The :class:`Popen` objects provided by the :mod:`subprocess` module now " "have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On " @@ -3036,8 +4142,14 @@ msgid "" "all these methods are aliases for the Win32 API function :c:func:" "`TerminateProcess`. (Contributed by Christian Heimes.)" msgstr "" +"Los objetos :class:`Popen` proporcionados por el módulo :mod:`subprocess` " +"tienen ahora métodos :meth:`terminate`, :meth:`kill` y :meth:`send_signal`. " +"En Windows, :meth:`send_signal` sólo soporta la señal :const:`SIGTERM`, y " +"todos estos métodos son alias de la función de la API Win32 :c:func:" +"`TerminateProcess`. (Contribuido por Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:2403 +#, fuzzy msgid "" "A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " "containing information derived from the :file:`float.h` file about the " @@ -3046,8 +4158,16 @@ msgid "" "difference between 1.0 and the next largest value representable), and " "several others. (Contributed by Christian Heimes; :issue:`1534`.)" msgstr "" +"Una nueva variable en el módulo :mod:`sys`, :attr:`float_info`, es un objeto " +"que contiene información derivada del archivo :file:`float.h` sobre el " +"soporte de punto flotante de la plataforma. Los atributos de este objeto " +"incluyen :attr:`mant_dig` (número de dígitos en la mantisa), :attr:`epsilon` " +"(diferencia más pequeña entre 1.0 y el siguiente valor más grande " +"representable), y varios otros. (Contribuido por Christian Heimes; :issue:" +"`1534`.)" #: ../Doc/whatsnew/2.6.rst:2411 +#, fuzzy msgid "" "Another new variable, :attr:`dont_write_bytecode`, controls whether Python " "writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this " @@ -3058,8 +4178,18 @@ msgid "" "change the value of this variable to control whether bytecode files are " "written or not. (Contributed by Neal Norwitz and Georg Brandl.)" msgstr "" +"Otra nueva variable, :attr:`dont_write_bytecode`, controla si Python escribe " +"algún archivo :file:`.pyc` o :file:`.pyo` al importar un módulo. Si esta " +"variable es verdadera, los archivos compilados no se escriben. La variable " +"se establece inicialmente al iniciar el intérprete de Python con la opción :" +"option:`-B`, o estableciendo la variable de entorno :envvar:" +"`PYTHONDONTWRITEBYTECODE` antes de ejecutar el intérprete. El código de " +"Python puede cambiar posteriormente el valor de esta variable para controlar " +"si los archivos de código de bytes se escriben o no. (Contribución de Neal " +"Norwitz y Georg Brandl)" #: ../Doc/whatsnew/2.6.rst:2422 +#, fuzzy msgid "" "Information about the command-line arguments supplied to the Python " "interpreter is available by reading attributes of a named tuple available as " @@ -3067,8 +4197,15 @@ msgid "" "was executed in verbose mode, :attr:`debug` is true in debugging mode, etc. " "These attributes are all read-only. (Contributed by Christian Heimes.)" msgstr "" +"La información sobre los argumentos de la línea de comandos suministrados al " +"intérprete de Python está disponible leyendo los atributos de una tupla con " +"nombre disponible como ``sys.flags``. Por ejemplo, el atributo :attr:" +"`verbose` es verdadero si Python fue ejecutado en modo verbose, :attr:" +"`debug` es verdadero en modo debugging, etc. Todos estos atributos son de " +"sólo lectura. (Contribución de Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2430 +#, fuzzy msgid "" "A new function, :func:`getsizeof`, takes a Python object and returns the " "amount of memory used by the object, measured in bytes. Built-in objects " @@ -3076,23 +4213,39 @@ msgid "" "meth:`__sizeof__` method to return the object's size. (Contributed by Robert " "Schuppenies; :issue:`2898`.)" msgstr "" +"Una nueva función, :func:`getsizeof`, toma un objeto Python y devuelve la " +"cantidad de memoria utilizada por el objeto, medida en bytes. Los objetos " +"incorporados devuelven resultados correctos; las extensiones de terceros " +"pueden no hacerlo, pero pueden definir un método :meth:`__sizeof__` para " +"devolver el tamaño del objeto. (Contribución de Robert Schuppenies; :issue:" +"`2898`.)" #: ../Doc/whatsnew/2.6.rst:2437 +#, fuzzy msgid "" "It's now possible to determine the current profiler and tracer functions by " "calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " "Georg Brandl; :issue:`1648`.)" msgstr "" +"Ahora es posible determinar las funciones actuales del perfilador y del " +"trazador llamando a :func:`sys.getprofile` y :func:`sys.gettrace`. " +"(Contribuido por Georg Brandl; :issue:`1648`.)" #: ../Doc/whatsnew/2.6.rst:2441 +#, fuzzy msgid "" "The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in " "addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already " "supported. The default format is GNU tar; specify the ``format`` parameter " "to open a file using a different format::" msgstr "" +"El módulo :mod:`tarfile` soporta ahora archivos tar POSIX.1-2001 (pax) " +"además de los formatos POSIX.1-1988 (ustar) y GNU tar que ya estaban " +"soportados. El formato por defecto es GNU tar; especifique el parámetro " +"``format`` para abrir un archivo con un formato diferente::" #: ../Doc/whatsnew/2.6.rst:2449 +#, fuzzy msgid "" "The new ``encoding`` and ``errors`` parameters specify an encoding and an " "error handling scheme for character conversions. ``'strict'``, " @@ -3101,8 +4254,16 @@ msgid "" "with their UTF-8 representation. (Character conversions occur because the " "PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)" msgstr "" +"Los nuevos parámetros ``encoding`` y ``errors`` especifican una codificación " +"y un esquema de manejo de errores para las conversiones de caracteres. " +"``'strict'``, ``'ignore'``, y ``'replace'`` son las tres formas estándar en " +"las que Python puede manejar los errores; ``'utf-8'`` es un valor especial " +"que reemplaza los caracteres erróneos con su representación UTF-8. (Las " +"conversiones de caracteres ocurren porque el formato PAX soporta nombres de " +"archivo Unicode, por defecto con codificación UTF-8)" #: ../Doc/whatsnew/2.6.rst:2457 +#, fuzzy msgid "" "The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " "function that can be used to exclude certain filenames from an archive. The " @@ -3111,81 +4272,128 @@ msgid "" "initially passed to :meth:`add` and to the names of files in recursively-" "added directories." msgstr "" +"El método :meth:`TarFile.add` ahora acepta un argumento ``exclude`` que es " +"una función que se puede utilizar para excluir ciertos nombres de archivo de " +"un archivo. La función debe tomar un nombre de archivo y devolver true si el " +"archivo debe ser excluido o false si debe ser archivado. La función se " +"aplica tanto al nombre inicialmente pasado a :meth:`add` como a los nombres " +"de los archivos en los directorios añadidos recursivamente." #: ../Doc/whatsnew/2.6.rst:2465 +#, fuzzy msgid "(All changes contributed by Lars Gustäbel)." -msgstr "" +msgstr "(Todos los cambios han sido aportados por Lars Gustäbel)." #: ../Doc/whatsnew/2.6.rst:2467 +#, fuzzy msgid "" "An optional ``timeout`` parameter was added to the :class:`telnetlib.Telnet` " "class constructor, specifying a timeout measured in seconds. (Added by " "Facundo Batista.)" msgstr "" +"Se agregó un parámetro opcional ``timeout`` al constructor de la clase :" +"class:`telnetlib.Telnet`, especificando un tiempo de espera medido en " +"segundos. (Añadido por Facundo Batista)" #: ../Doc/whatsnew/2.6.rst:2471 +#, fuzzy msgid "" "The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary " "file it created when the file is closed. This behaviour can now be changed " "by passing ``delete=False`` to the constructor. (Contributed by Damien " "Miller; :issue:`1537850`.)" msgstr "" +"La clase :class:`tempfile.NamedTemporaryFile` suele borrar el archivo " +"temporal que ha creado cuando se cierra el archivo. Este comportamiento se " +"puede cambiar pasando ``delete=False`` al constructor. (Contribución de " +"Damien Miller; :issue:`1537850`.)" #: ../Doc/whatsnew/2.6.rst:2476 +#, fuzzy msgid "" "A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file " "but stores its data in memory until a maximum size is exceeded. On reaching " "that limit, the contents will be written to an on-disk temporary file. " "(Contributed by Dustin J. Mitchell.)" msgstr "" +"Una nueva clase, :class:`SpooledTemporaryFile`, se comporta como un archivo " +"temporal pero almacena sus datos en memoria hasta que se supera un tamaño " +"máximo. Al llegar a ese límite, el contenido se escribirá en un archivo " +"temporal en el disco. (Contribución de Dustin J. Mitchell)" #: ../Doc/whatsnew/2.6.rst:2481 +#, fuzzy msgid "" "The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " "both work as context managers, so you can write ``with tempfile." "NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :" "issue:`2021`.)" msgstr "" +"Las clases :class:`NamedTemporaryFile` y :class:`SpooledTemporaryFile` " +"funcionan como gestores de contexto, por lo que puedes escribir ``con " +"tempfile.NamedTemporaryFile() como tmp: ...``. (Contribuido por Alexander " +"Belopolsky; :issue:`2021`.)" #: ../Doc/whatsnew/2.6.rst:2486 +#, fuzzy msgid "" "The :mod:`test.test_support` module gained a number of context managers " "useful for writing tests. :func:`EnvironmentVarGuard` is a context manager " "that temporarily changes environment variables and automatically restores " "them to their old values." msgstr "" +"El módulo :mod:`test.test_support` obtuvo una serie de gestores de contexto " +"útiles para escribir pruebas. :func:`EnvironmentVarGuard` es un gestor de " +"contexto que cambia temporalmente las variables de entorno y las restaura " +"automáticamente a sus valores anteriores." #: ../Doc/whatsnew/2.6.rst:2492 +#, fuzzy msgid "" "Another context manager, :class:`TransientResource`, can surround calls to " "resources that may or may not be available; it will catch and ignore a " "specified list of exceptions. For example, a network test may ignore " "certain failures when connecting to an external web site::" msgstr "" +"Otro gestor de contexto, :class:`TransientResource`, puede rodear las " +"llamadas a recursos que pueden o no estar disponibles; atrapará e ignorará " +"una lista especificada de excepciones. Por ejemplo, una prueba de red puede " +"ignorar ciertos fallos al conectarse a un sitio web externo::" #: ../Doc/whatsnew/2.6.rst:2503 +#, fuzzy msgid "" "Finally, :func:`check_warnings` resets the :mod:`warning` module's warning " "filters and returns an object that will record all warning messages " "triggered (:issue:`3781`)::" msgstr "" +"Por último, :func:`check_warnings` restablece los filtros de advertencia del " +"módulo :mod:`warning` y devuelve un objeto que registrará todos los mensajes " +"de advertencia activados (:issue:`3781`)::" #: ../Doc/whatsnew/2.6.rst:2513 +#, fuzzy msgid "(Contributed by Brett Cannon.)" -msgstr "" +msgstr "(Contribución de Brett Cannon.)" #: ../Doc/whatsnew/2.6.rst:2515 +#, fuzzy msgid "" "The :mod:`textwrap` module can now preserve existing whitespace at the " "beginnings and ends of the newly-created lines by specifying " "``drop_whitespace=False`` as an argument::" msgstr "" +"El módulo :mod:`textwrap` ahora puede conservar los espacios en blanco " +"existentes al principio y al final de las líneas recién creadas " +"especificando ``drop_whitespace=False`` como argumento::" #: ../Doc/whatsnew/2.6.rst:2534 +#, fuzzy msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)" -msgstr "" +msgstr "(Contribución de Dwayne Bailey; :issue:`1581073`.)" #: ../Doc/whatsnew/2.6.rst:2536 +#, fuzzy msgid "" "The :mod:`threading` module API is being changed to use properties such as :" "attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and " @@ -3197,15 +4405,30 @@ msgid "" "in any 2.x version. (Carried out by several people, most notably Benjamin " "Peterson.)" msgstr "" +"La API del módulo :mod:`threading` se ha cambiado para utilizar propiedades " +"como :attr:`daemon` en lugar de los métodos :meth:`setDaemon` y :meth:" +"`isDaemon`, y algunos métodos se han renombrado para utilizar guiones bajos " +"en lugar de mayúsculas; por ejemplo, el método :meth:`activeCount` se ha " +"renombrado a :meth:`active_count`. Tanto la versión 2.6 como la 3.0 del " +"módulo soportan las mismas propiedades y métodos renombrados, pero no " +"eliminan los métodos antiguos. No se ha fijado una fecha para la " +"eliminación de las antiguas APIs en Python 3.x; las antiguas APIs no se " +"eliminarán en ninguna versión 2.x. (Llevado a cabo por varias personas, " +"sobre todo por Benjamin Peterson)" #: ../Doc/whatsnew/2.6.rst:2547 +#, fuzzy msgid "" "The :mod:`threading` module's :class:`Thread` objects gained an :attr:" "`ident` property that returns the thread's identifier, a nonzero integer. " "(Contributed by Gregory P. Smith; :issue:`2871`.)" msgstr "" +"Los objetos :mod:`threading` del módulo :class:`Thread` han ganado una " +"propiedad :attr:`ident` que devuelve el identificador del hilo, un entero no " +"nulo. (Contribución de Gregory P. Smith; :issue:`2871`.)" #: ../Doc/whatsnew/2.6.rst:2552 +#, fuzzy msgid "" "The :mod:`timeit` module now accepts callables as well as strings for the " "statement being timed and for the setup code. Two convenience functions were " @@ -3214,96 +4437,150 @@ msgid "" "instance and call the corresponding method. (Contributed by Erik Demaine; :" "issue:`1533909`.)" msgstr "" +"El módulo :mod:`timeit` acepta ahora callables así como cadenas para la " +"sentencia que se está cronometrando y para el código de configuración. Se " +"han añadido dos funciones para crear instancias de :class:`Timer`: " +"``repeat(stmt, setup, time, repeat, number)`` y ``timeit(stmt, setup, time, " +"number)`` crean una instancia y llaman al método correspondiente. " +"(Contribución de Erik Demaine; :issue:`1533909`.)" #: ../Doc/whatsnew/2.6.rst:2561 +#, fuzzy msgid "" "The :mod:`Tkinter` module now accepts lists and tuples for options, " "separating the elements by spaces before passing the resulting value to Tcl/" "Tk. (Contributed by Guilherme Polo; :issue:`2906`.)" msgstr "" +"El módulo :mod:`Tkinter` ahora acepta listas y tuplas para las opciones, " +"separando los elementos por espacios antes de pasar el valor resultante a " +"Tcl/Tk. (Contribuido por Guilherme Polo; :issue:`2906`.)" #: ../Doc/whatsnew/2.6.rst:2566 +#, fuzzy msgid "" "The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " "Lingl. New features in the module include:" msgstr "" +"El módulo :mod:`turtle` para los gráficos de tortugas ha sido muy mejorado " +"por Gregor Lingl. Las nuevas características del módulo incluyen:" #: ../Doc/whatsnew/2.6.rst:2569 +#, fuzzy msgid "Better animation of turtle movement and rotation." -msgstr "" +msgstr "Mejor animación del movimiento y la rotación de la tortuga." #: ../Doc/whatsnew/2.6.rst:2570 +#, fuzzy msgid "" "Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " "and :meth:`speed` methods." msgstr "" +"Control del movimiento de las tortugas mediante los nuevos métodos :meth:" +"`retraso`, :meth:`tracer` y :meth:`velocidad`." #: ../Doc/whatsnew/2.6.rst:2572 +#, fuzzy msgid "" "The ability to set new shapes for the turtle, and to define a new coordinate " "system." msgstr "" +"La posibilidad de establecer nuevas formas para la tortuga y de definir un " +"nuevo sistema de coordenadas." #: ../Doc/whatsnew/2.6.rst:2574 +#, fuzzy msgid "Turtles now have an :meth:`undo()` method that can roll back actions." msgstr "" +"Las tortugas ahora tienen un método :meth:`undo()` que puede revertir las " +"acciones." #: ../Doc/whatsnew/2.6.rst:2575 +#, fuzzy msgid "" "Simple support for reacting to input events such as mouse and keyboard " "activity, making it possible to write simple games." msgstr "" +"Soporte sencillo para reaccionar a eventos de entrada como la actividad del " +"ratón y del teclado, lo que permite escribir juegos sencillos." #: ../Doc/whatsnew/2.6.rst:2577 +#, fuzzy msgid "" "A :file:`turtle.cfg` file can be used to customize the starting appearance " "of the turtle's screen." msgstr "" +"Se puede utilizar un archivo :file:`turtle.cfg` para personalizar la " +"apariencia inicial de la pantalla de la tortuga." #: ../Doc/whatsnew/2.6.rst:2579 +#, fuzzy msgid "" "The module's docstrings can be replaced by new docstrings that have been " "translated into another language." msgstr "" +"Los docstrings del módulo pueden ser sustituidos por nuevos docstrings " +"traducidos a otro idioma." #: ../Doc/whatsnew/2.6.rst:2582 +#, fuzzy msgid "(:issue:`1513695`)" msgstr "(:issue:`1513695`)" #: ../Doc/whatsnew/2.6.rst:2584 +#, fuzzy msgid "" "An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` " "function and the :class:`urllib.ftpwrapper` class constructor, as well as " "the :func:`urllib2.urlopen` function. The parameter specifies a timeout " "measured in seconds. For example::" msgstr "" +"Se ha añadido un parámetro opcional ``timeout`` a la función :func:`urllib." +"urlopen` y al constructor de la clase :class:`urllib.ftpwrapper`, así como a " +"la función :func:`urllib2.urlopen`. El parámetro especifica un tiempo de " +"espera medido en segundos. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2597 +#, fuzzy msgid "(Added by Facundo Batista.)" -msgstr "" +msgstr "(Añadido por Facundo Batista.)" #: ../Doc/whatsnew/2.6.rst:2599 +#, fuzzy msgid "" "The Unicode database provided by the :mod:`unicodedata` module has been " "updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" msgstr "" +"La base de datos Unicode proporcionada por el módulo :mod:`unicodedata` ha " +"sido actualizada a la versión 5.1.0. (Actualizado por Martin von Löwis; :" +"issue:`3811`.)" #: ../Doc/whatsnew/2.6.rst:2603 +#, fuzzy msgid "" "The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` " "gained an optional *line* argument that can be used to supply the line of " "source code. (Added as part of :issue:`1631171`, which re-implemented part " "of the :mod:`warnings` module in C code.)" msgstr "" +"Las funciones :mod:`warnings` del módulo :func:`formatwarning` y :func:" +"`showwarning` han ganado un argumento opcional *line* que puede utilizarse " +"para proporcionar la línea de código fuente. (Añadido como parte de :issue:" +"`1631171`, que reimplementaba parte del módulo :mod:`warnings` en código C)" #: ../Doc/whatsnew/2.6.rst:2608 +#, fuzzy msgid "" "A new function, :func:`catch_warnings`, is a context manager intended for " "testing purposes that lets you temporarily modify the warning filters and " "then restore their original values (:issue:`3781`)." msgstr "" +"Una nueva función, :func:`catch_warnings`, es un gestor de contexto " +"destinado a la realización de pruebas que permite modificar temporalmente " +"los filtros de advertencia y luego restaurar sus valores originales (:issue:" +"`3781`)." #: ../Doc/whatsnew/2.6.rst:2612 +#, fuzzy msgid "" "The XML-RPC :class:`SimpleXMLRPCServer` and :class:`DocXMLRPCServer` classes " "can now be prevented from immediately opening and binding to their socket by " @@ -3313,8 +4590,16 @@ msgid "" "to open the socket and begin listening for connections. (Contributed by " "Peter Parente; :issue:`1599845`.)" msgstr "" +"Las clases XML-RPC :class:`SimpleXMLRPCServer` y :class:`DocXMLRPCServer` " +"pueden ahora evitar que se abran inmediatamente y se vinculen a su socket " +"pasando ``False`` como parámetro del constructor *bind_and_activate*. Esto " +"puede usarse para modificar el atributo :attr:`allow_reuse_address` de la " +"instancia antes de llamar a los métodos :meth:`server_bind` y :meth:" +"`server_activate` para abrir el socket y comenzar a escuchar conexiones. " +"(Contribuido por Peter Parente; :issue:`1599845`.)" #: ../Doc/whatsnew/2.6.rst:2621 +#, fuzzy msgid "" ":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` " "attribute; if true, the exception and formatted traceback are returned as " @@ -3324,8 +4609,16 @@ msgid "" "(Contributed by Alan McIntyre as part of his project for Google's Summer of " "Code 2007.)" msgstr "" +":class:`SimpleXMLRPCServer` también tiene un atributo :attr:" +"`_send_traceback_header`; si es true, la excepción y el traceback formateado " +"se devuelven como cabeceras HTTP \"X-Exception\" y \"X-Traceback\". Esta " +"característica es sólo para propósitos de depuración y no debe ser usada en " +"servidores de producción porque los trazos pueden revelar contraseñas u otra " +"información sensible. (Contribuido por Alan McIntyre como parte de su " +"proyecto para el Summer of Code 2007 de Google)" #: ../Doc/whatsnew/2.6.rst:2629 +#, fuzzy msgid "" "The :mod:`xmlrpclib` module no longer automatically converts :class:" "`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." @@ -3336,55 +4629,92 @@ msgid "" "bit integers represented by using ```` in XML-RPC responses (contributed " "by Riku Lindblad; :issue:`2985`)." msgstr "" +"El módulo :mod:`xmlrpclib` ya no convierte automáticamente las instancias :" +"class:`datetime.date` y :class:`datetime.time` al tipo :class:`xmlrpclib." +"DateTime`; la semántica de conversión no era necesariamente correcta para " +"todas las aplicaciones. El código que utiliza :mod:`xmlrpclib` debe " +"convertir las instancias :class:`date` y :class:`~datetime.time`. (:issue:" +"`1330538`) El código también puede manejar fechas anteriores a 1900 " +"(contribución de Ralf Schmitt;:issue:`2014`) y enteros de 64 bits " +"representados mediante el uso de```` en las respuestas XML-RPC " +"(contribución de Riku Lindblad; :issue:`2985`)." #: ../Doc/whatsnew/2.6.rst:2639 +#, fuzzy msgid "" "The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` " "and :meth:`extractall` methods that will unpack a single file or all the " "files in the archive to the current directory, or to a specified directory::" msgstr "" +"La clase :mod:`zipfile` del módulo :class:`ZipFile` tiene ahora los métodos :" +"meth:`extract` y :meth:`extractall` que desempaquetarán un solo fichero o " +"todos los ficheros del archivo en el directorio actual, o en un directorio " +"especificado::" #: ../Doc/whatsnew/2.6.rst:2653 +#, fuzzy msgid "(Contributed by Alan McIntyre; :issue:`467924`.)" -msgstr "" +msgstr "(Contribución de Alan McIntyre; :issue:`467924`.)" #: ../Doc/whatsnew/2.6.rst:2655 +#, fuzzy msgid "" "The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take " "either a filename or a :class:`ZipInfo` object. This is useful when an " "archive accidentally contains a duplicated filename. (Contributed by Graham " "Horler; :issue:`1775025`.)" msgstr "" +"Los métodos :meth:`open`, :meth:`read` y :meth:`extract` ahora pueden tomar " +"un nombre de archivo o un objeto :class:`ZipInfo`. Esto es útil cuando un " +"archivo contiene accidentalmente un nombre de archivo duplicado. " +"(Contribución de Graham Horler; :issue:`1775025`.)" #: ../Doc/whatsnew/2.6.rst:2660 +#, fuzzy msgid "" "Finally, :mod:`zipfile` now supports using Unicode filenames for archived " "files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" msgstr "" +"Por último, :mod:`zipfile` soporta ahora el uso de nombres de archivo " +"Unicode para los ficheros archivados. (Contribución de Alexey Borzenkov; :" +"issue:`1734346`.)" #: ../Doc/whatsnew/2.6.rst:2667 +#, fuzzy msgid "The :mod:`ast` module" -msgstr "" +msgstr "El módulo :mod:`ast`" #: ../Doc/whatsnew/2.6.rst:2669 +#, fuzzy msgid "" "The :mod:`ast` module provides an Abstract Syntax Tree representation of " "Python code, and Armin Ronacher contributed a set of helper functions that " "perform a variety of common tasks. These will be useful for HTML templating " "packages, code analyzers, and similar tools that process Python code." msgstr "" +"El módulo :mod:`ast` proporciona una representación de árbol de sintaxis " +"abstracta del código Python, y Armin Ronacher ha contribuido con un conjunto " +"de funciones de ayuda que realizan una variedad de tareas comunes. Éstas " +"serán útiles para paquetes de plantillas HTML, analizadores de código y " +"herramientas similares que procesan código Python." #: ../Doc/whatsnew/2.6.rst:2676 +#, fuzzy msgid "" "The :func:`parse` function takes an expression and returns an AST. The :func:" "`dump` function outputs a representation of a tree, suitable for debugging::" msgstr "" +"La función :func:`parse` toma una expresión y devuelve un AST. La función :" +"func:`dump` devuelve una representación de un árbol, adecuada para la " +"depuración::" #: ../Doc/whatsnew/2.6.rst:2690 +#, fuzzy msgid "This outputs a deeply nested tree::" -msgstr "" +msgstr "Esto produce un árbol profundamente anidado::" #: ../Doc/whatsnew/2.6.rst:2723 +#, fuzzy msgid "" "The :func:`literal_eval` method takes a string or an AST representing a " "literal expression, parses and evaluates it, and returns the resulting " @@ -3393,19 +4723,32 @@ msgid "" "need to evaluate an expression but cannot accept the security risk of using " "an :func:`eval` call, :func:`literal_eval` will handle it safely::" msgstr "" +"El método :func:`literal_eval` toma una cadena o un AST que representa una " +"expresión literal, la analiza y evalúa, y devuelve el valor resultante. Una " +"expresión literal es una expresión de Python que sólo contiene cadenas, " +"números, diccionarios, etc. pero no declaraciones o llamadas a funciones. " +"Si necesita evaluar una expresión pero no puede aceptar el riesgo de " +"seguridad que supone utilizar una llamada a :func:`eval`, :func:" +"`literal_eval` lo hará de forma segura::" #: ../Doc/whatsnew/2.6.rst:2739 +#, fuzzy msgid "" "The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` " "classes for traversing and modifying an AST, and functions for common " "transformations such as changing line numbers." msgstr "" +"El módulo también incluye las clases :class:`NodeVisitor` y :class:" +"`NodeTransformer` para recorrer y modificar un AST, y funciones para " +"transformaciones comunes como el cambio de números de línea." #: ../Doc/whatsnew/2.6.rst:2747 +#, fuzzy msgid "The :mod:`future_builtins` module" -msgstr "" +msgstr "El módulo :mod:`future_builtins" #: ../Doc/whatsnew/2.6.rst:2749 +#, fuzzy msgid "" "Python 3.0 makes many changes to the repertoire of built-in functions, and " "most of the changes can't be introduced in the Python 2.x series because " @@ -3413,121 +4756,188 @@ msgid "" "versions of these built-in functions that can be imported when writing 3.0-" "compatible code." msgstr "" +"Python 3.0 introduce muchos cambios en el repertorio de funciones " +"incorporadas, y la mayoría de los cambios no pueden introducirse en la serie " +"Python 2.x porque romperían la compatibilidad. El módulo :mod:" +"`future_builtins` proporciona versiones de estas funciones incorporadas que " +"pueden importarse al escribir código compatible con la versión 3.0." #: ../Doc/whatsnew/2.6.rst:2756 +#, fuzzy msgid "The functions in this module currently include:" -msgstr "" +msgstr "Las funciones de este módulo incluyen actualmente:" #: ../Doc/whatsnew/2.6.rst:2758 +#, fuzzy msgid "" "``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` " "will return a Unicode string, while :func:`ascii` will return a pure ASCII " "bytestring." msgstr "" +"``ascii(obj)``: equivalente a :func:`repr`. En Python 3.0, :func:`repr` " +"devolverá una cadena Unicode, mientras que :func:`ascii` devolverá una " +"cadena de bytes ASCII pura." #: ../Doc/whatsnew/2.6.rst:2762 +#, fuzzy msgid "" "``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " "versions return iterators, unlike the 2.x builtins which return lists." msgstr "" +"``filtro(predicado, iterable)``, ``map(func, iterable1, ...)``: las " +"versiones 3.0 devuelven iteradores, a diferencia de las funciones integradas " +"2.x que devuelven listas." #: ../Doc/whatsnew/2.6.rst:2766 +#, fuzzy msgid "" "``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :" "meth:`__oct__` methods, these versions will call the :meth:`__index__` " "method and convert the result to hexadecimal or octal. :func:`oct` will use " "the new ``0o`` notation for its result." msgstr "" +"``hex(valor)``, ``oct(valor)``: en lugar de llamar a los métodos :meth:" +"`__hex__` o :meth:`__oct__`, estas versiones llamarán al método :meth:" +"`__index__` y convertirán el resultado a hexadecimal u octal. :func:`oct` " +"utilizará la nueva notación ``0o`` para su resultado." #: ../Doc/whatsnew/2.6.rst:2775 +#, fuzzy msgid "The :mod:`json` module: JavaScript Object Notation" -msgstr "" +msgstr "El módulo :mod:`json`: Notación de objetos de JavaScript" #: ../Doc/whatsnew/2.6.rst:2777 +#, fuzzy msgid "" "The new :mod:`json` module supports the encoding and decoding of Python " "types in JSON (Javascript Object Notation). JSON is a lightweight " "interchange format often used in web applications. For more information " "about JSON, see http://www.json.org." msgstr "" +"El nuevo módulo :mod:`json` soporta la codificación y decodificación de " +"tipos Python en JSON (Javascript Object Notation). JSON es un formato de " +"intercambio ligero que se utiliza a menudo en las aplicaciones web. Para más " +"información sobre JSON, consulte http://www.json.org." #: ../Doc/whatsnew/2.6.rst:2782 +#, fuzzy msgid "" ":mod:`json` comes with support for decoding and encoding most built-in " "Python types. The following example encodes and decodes a dictionary::" msgstr "" +":mod:`json` viene con soporte para decodificar y codificar la mayoría de los " +"tipos incorporados de Python. El siguiente ejemplo codifica y decodifica un " +"diccionario::" #: ../Doc/whatsnew/2.6.rst:2793 +#, fuzzy msgid "" "It's also possible to write your own decoders and encoders to support more " "types. Pretty-printing of the JSON strings is also supported." msgstr "" +"También es posible escribir tus propios decodificadores y codificadores para " +"soportar más tipos. También se admite la impresión bonita de las cadenas " +"JSON." #: ../Doc/whatsnew/2.6.rst:2796 +#, fuzzy msgid ":mod:`json` (originally called simplejson) was written by Bob Ippolito." msgstr "" +":mod:`json` (originalmente llamado simplejson) fue escrito por Bob Ippolito." #: ../Doc/whatsnew/2.6.rst:2803 +#, fuzzy msgid "The :mod:`plistlib` module: A Property-List Parser" -msgstr "" +msgstr "El módulo :mod:`plistlib`: Un analizador de listas de propiedades" #: ../Doc/whatsnew/2.6.rst:2805 +#, fuzzy msgid "" "The ``.plist`` format is commonly used on Mac OS X to store basic data types " "(numbers, strings, lists, and dictionaries) by serializing them into an XML-" "based format. It resembles the XML-RPC serialization of data types." msgstr "" +"El formato ``.plist`` se utiliza habitualmente en Mac OS X para almacenar " +"tipos de datos básicos (números, cadenas, listas y diccionarios) " +"serializándolos en un formato basado en XML. Se asemeja a la serialización " +"XML-RPC de los tipos de datos." #: ../Doc/whatsnew/2.6.rst:2810 +#, fuzzy msgid "" "Despite being primarily used on Mac OS X, the format has nothing Mac-" "specific about it and the Python implementation works on any platform that " "Python supports, so the :mod:`plistlib` module has been promoted to the " "standard library." msgstr "" +"A pesar de ser utilizado principalmente en Mac OS X, el formato no tiene " +"nada de específico para Mac y la implementación de Python funciona en " +"cualquier plataforma que soporte Python, por lo que el módulo :mod:" +"`plistlib` ha sido promovido a la biblioteca estándar." #: ../Doc/whatsnew/2.6.rst:2815 +#, fuzzy msgid "Using the module is simple::" -msgstr "" +msgstr "El uso del módulo es sencillo::" #: ../Doc/whatsnew/2.6.rst:2842 +#, fuzzy msgid "ctypes Enhancements" -msgstr "" +msgstr "mejoras en ctypes" #: ../Doc/whatsnew/2.6.rst:2844 +#, fuzzy msgid "" "Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." -msgstr "" +msgstr "Thomas Heller siguió manteniendo y mejorando el módulo :mod:`ctypes`." #: ../Doc/whatsnew/2.6.rst:2847 +#, fuzzy msgid "" ":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " "C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" msgstr "" +":mod:`ctypes` soporta ahora un tipo de datos :class:`c_bool` que representa " +"el tipo C99 ``bool``. (Contribución de David Remahl; :issue:`1649190`.)" #: ../Doc/whatsnew/2.6.rst:2851 +#, fuzzy msgid "" "The :mod:`ctypes` string, buffer and array types have improved support for " "extended slicing syntax, where various combinations of ``(start, stop, " "step)`` are supplied. (Implemented by Thomas Wouters.)" msgstr "" +"Los tipos de cadena, buffer y array de :mod:`ctypes` han mejorado el soporte " +"para la sintaxis de corte extendida, donde se suministran varias " +"combinaciones de ``(start, stop, step)``. (Implementado por Thomas Wouters)" #: ../Doc/whatsnew/2.6.rst:2858 +#, fuzzy msgid "" "All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:" "`from_buffer_copy` methods that create a ctypes instance based on a provided " "buffer object. :meth:`from_buffer_copy` copies the contents of the object, " "while :meth:`from_buffer` will share the same memory area." msgstr "" +"Todos los tipos de datos :mod:`ctypes` soportan ahora los métodos :meth:" +"`from_buffer` y :meth:`from_buffer_copy` que crean una instancia de ctypes " +"basada en un objeto buffer proporcionado. :meth:`from_buffer_copy` copia el " +"contenido del objeto, mientras que :meth:`from_buffer` compartirá la misma " +"área de memoria." #: ../Doc/whatsnew/2.6.rst:2865 +#, fuzzy msgid "" "A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32 " "LastError variables at the outset of each wrapped call. (Implemented by " "Thomas Heller; :issue:`1798`.)" msgstr "" +"Una nueva convención de llamada indica a :mod:`ctypes` que borre las " +"variables ``errno`` o Win32 LastError al inicio de cada llamada envuelta. " +"(Implementado por Thomas Heller; :issue:`1798`.)" #: ../Doc/whatsnew/2.6.rst:2869 +#, fuzzy msgid "" "You can now retrieve the Unix ``errno`` variable after a function call. " "When creating a wrapped function, you can supply ``use_errno=True`` as a " @@ -3535,27 +4945,44 @@ msgid "" "methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the " "error value." msgstr "" +"Ahora puede recuperar la variable Unix ``errno`` después de una llamada a " +"una función. Al crear una función envuelta, puede suministrar " +"``use_errno=True`` como parámetro de palabra clave a la función :func:`DLL` " +"y luego llamar a los métodos de nivel de módulo :meth:`set_errno` y :meth:" +"`get_errno` para establecer y recuperar el valor del error." #: ../Doc/whatsnew/2.6.rst:2875 +#, fuzzy msgid "" "The Win32 LastError variable is similarly supported by the :func:`DLL`, :" "func:`OleDLL`, and :func:`WinDLL` functions. You supply " "``use_last_error=True`` as a keyword parameter and then call the module-" "level methods :meth:`set_last_error` and :meth:`get_last_error`." msgstr "" +"La variable Win32 LastError es soportada de forma similar por las funciones :" +"func:`DLL`, :func:`OleDLL`, y :func:`WinDLL`. Se suministra " +"``use_last_error=True`` como parámetro de palabra clave y luego se llaman " +"los métodos a nivel de módulo :meth:`set_last_error` y :meth:" +"`get_last_error`." #: ../Doc/whatsnew/2.6.rst:2881 +#, fuzzy msgid "" "The :func:`byref` function, used to retrieve a pointer to a ctypes instance, " "now has an optional *offset* parameter that is a byte count that will be " "added to the returned pointer." msgstr "" +"La función :func:`byref`, utilizada para recuperar un puntero a una " +"instancia de ctypes, tiene ahora un parámetro opcional *offset* que es un " +"recuento de bytes que se añadirá al puntero devuelto." #: ../Doc/whatsnew/2.6.rst:2888 +#, fuzzy msgid "Improved SSL Support" -msgstr "" +msgstr "Mejora de la compatibilidad con SSL" #: ../Doc/whatsnew/2.6.rst:2890 +#, fuzzy msgid "" "Bill Janssen made extensive improvements to Python 2.6's support for the " "Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop " @@ -3565,44 +4992,72 @@ msgid "" "Python. The existing SSL support in the :mod:`socket` module hasn't been " "removed and continues to work, though it will be removed in Python 3.0." msgstr "" +"Bill Janssen ha realizado amplias mejoras en el soporte de Python 2.6 para " +"la Capa de Conexión Segura añadiendo un nuevo módulo, :mod:`ssl`, que está " +"construido sobre la biblioteca `OpenSSL `__. Este " +"nuevo módulo proporciona más control sobre el protocolo negociado, los " +"certificados X.509 utilizados, y tiene un mejor soporte para escribir " +"servidores SSL (a diferencia de los clientes) en Python. El soporte SSL " +"existente en el módulo :mod:`socket` no ha sido eliminado y sigue " +"funcionando, aunque será eliminado en Python 3.0." #: ../Doc/whatsnew/2.6.rst:2899 +#, fuzzy msgid "" "To use the new module, you must first create a TCP connection in the usual " "way and then pass it to the :func:`ssl.wrap_socket` function. It's possible " "to specify whether a certificate is required, and to obtain certificate info " "by calling the :meth:`getpeercert` method." msgstr "" +"Para utilizar el nuevo módulo, primero hay que crear una conexión TCP de la " +"forma habitual y luego pasarla a la función :func:`ssl.wrap_socket`. Es " +"posible especificar si se requiere un certificado, y obtener información " +"sobre el mismo llamando al método :meth:`getpeercert`." #: ../Doc/whatsnew/2.6.rst:2906 +#, fuzzy msgid "The documentation for the :mod:`ssl` module." -msgstr "" +msgstr "La documentación del módulo :mod:`ssl`." #: ../Doc/whatsnew/2.6.rst:2911 +#, fuzzy msgid "Deprecations and Removals" -msgstr "" +msgstr "Cancelaciones y eliminaciones" #: ../Doc/whatsnew/2.6.rst:2913 ../Doc/whatsnew/2.6.rst:3241 +#, fuzzy msgid "" "String exceptions have been removed. Attempting to use them raises a :exc:" "`TypeError`." msgstr "" +"Se han eliminado las excepciones de cadena. Al intentar utilizarlas se " +"produce un :exc:`TypeError`." #: ../Doc/whatsnew/2.6.rst:2916 +#, fuzzy msgid "" "Changes to the :class:`Exception` interface as dictated by :pep:`352` " "continue to be made. For 2.6, the :attr:`message` attribute is being " "deprecated in favor of the :attr:`args` attribute." msgstr "" +"Los cambios en la interfaz :class:`Exception` dictados por :pep:`352` siguen " +"realizándose. En la versión 2.6, el atributo :attr:`message` queda obsoleto " +"en favor del atributo :attr:`args`." #: ../Doc/whatsnew/2.6.rst:2921 +#, fuzzy msgid "" "(3.0-warning mode) Python 3.0 will feature a reorganized standard library " "that will drop many outdated modules and rename others. Python 2.6 running " "in 3.0-warning mode will warn about these modules when they are imported." msgstr "" +"(modo 3.0-warning) Python 3.0 presentará una biblioteca estándar " +"reorganizada que eliminará muchos módulos obsoletos y renombrará otros. " +"Python 2.6 funcionando en modo 3.0-warning avisará de estos módulos cuando " +"se importen." #: ../Doc/whatsnew/2.6.rst:2926 +#, fuzzy msgid "" "The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :" "mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" @@ -3611,74 +5066,115 @@ msgid "" "`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" "`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`." msgstr "" +"La lista de módulos obsoletos es: :mod:`audiodev`, :mod:`bgenlocations`, :" +"mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" +"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" +"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" +"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" +"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, y :mod:`toaiff`." #: ../Doc/whatsnew/2.6.rst:2951 +#, fuzzy msgid "The :mod:`gopherlib` module has been removed." -msgstr "" +msgstr "El módulo :mod:`gopherlib` ha sido eliminado." #: ../Doc/whatsnew/2.6.rst:2953 +#, fuzzy msgid "" "The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; " "use the :mod:`email` package instead." msgstr "" +"El módulo :mod:`MimeWriter` y el módulo :mod:`mimify` han quedado obsoletos; " +"utilice en su lugar el paquete :mod:`email`." #: ../Doc/whatsnew/2.6.rst:2957 +#, fuzzy msgid "" "The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" +"El módulo :mod:`md5` ha quedado obsoleto; utilice en su lugar el módulo :mod:" +"`hashlib`." #: ../Doc/whatsnew/2.6.rst:2960 +#, fuzzy msgid "" "The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` " "provides better locking." msgstr "" +"El módulo :mod:`posixfile` ha quedado obsoleto; :func:`fcntl.lockf` " +"proporciona un mejor bloqueo." #: ../Doc/whatsnew/2.6.rst:2963 +#, fuzzy msgid "" "The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` " "module." msgstr "" +"El módulo :mod:`popen2` ha quedado obsoleto; utilice el módulo :mod:" +"`subprocess`." #: ../Doc/whatsnew/2.6.rst:2966 +#, fuzzy msgid "The :mod:`rgbimg` module has been removed." -msgstr "" +msgstr "Se ha eliminado el módulo :mod:`rgbimg`." #: ../Doc/whatsnew/2.6.rst:2968 +#, fuzzy msgid "" "The :mod:`sets` module has been deprecated; it's better to use the built-in :" "class:`set` and :class:`frozenset` types." msgstr "" +"El módulo :mod:`sets` ha quedado obsoleto; es mejor utilizar los tipos " +"incorporados :class:`set` y :class:`frozenset`." #: ../Doc/whatsnew/2.6.rst:2971 +#, fuzzy msgid "" "The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" +"El módulo :mod:`sha` ha quedado obsoleto; utilice en su lugar el módulo :mod:" +"`hashlib`." #: ../Doc/whatsnew/2.6.rst:2979 +#, fuzzy msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la API de construcción y C" #: ../Doc/whatsnew/2.6.rst:2981 +#, fuzzy msgid "Changes to Python's build process and to the C API include:" msgstr "" +"Los cambios en el proceso de construcción de Python y en la API de C " +"incluyen:" #: ../Doc/whatsnew/2.6.rst:2983 +#, fuzzy msgid "" "Python now must be compiled with C89 compilers (after 19 years!). This " "means that the Python source tree has dropped its own implementations of :c:" "func:`memmove` and :c:func:`strerror`, which are in the C89 standard library." msgstr "" +"Python ahora debe ser compilado con compiladores C89 (¡después de 19 " +"años!). Esto significa que el árbol de fuentes de Python ha abandonado sus " +"propias implementaciones de :c:func:`memmove` y :c:func:`strerror`, que " +"están en la biblioteca estándar de C89." #: ../Doc/whatsnew/2.6.rst:2988 +#, fuzzy msgid "" "Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and " "this is the new default compiler. See the :file:`PCbuild` directory for the " "build files. (Implemented by Christian Heimes.)" msgstr "" +"Python 2.6 puede ser construido con Microsoft Visual Studio 2008 (versión " +"9.0), y este es el nuevo compilador por defecto. Ver el directorio :file:" +"`PCbuild` para los archivos de construcción. (Implementado por Christian " +"Heimes)" #: ../Doc/whatsnew/2.6.rst:2993 +#, fuzzy msgid "" "On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :" "program:`configure` script can take a :option:`!--with-universal-archs=[32-" @@ -3686,22 +5182,37 @@ msgid "" "bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. " "(Contributed by Ronald Oussoren.)" msgstr "" +"En Mac OS X, Python 2.6 puede ser compilado como una construcción universal " +"de 4 vías. El script :program:`configure` puede tomar una opción :`!--with-" +"universal-archs=[32-bit|64-bit|all]`, controlando si los binarios se " +"construyen para arquitecturas de 32 bits (x86, PowerPC), 64 bits (x86-64 y " +"PPC-64), o ambas. (Contribución de Ronald Oussoren)" #: ../Doc/whatsnew/2.6.rst:3000 +#, fuzzy msgid "" "The BerkeleyDB module now has a C API object, available as ``bsddb.db." "api``. This object can be used by other C extensions that wish to use the :" "mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" msgstr "" +"El módulo BerkeleyDB tiene ahora un objeto C API, disponible como ``bsddb.db." +"api``. Este objeto puede ser utilizado por otras extensiones de C que " +"deseen utilizar el módulo :mod:`bsddb` para sus propios fines. (Contribución " +"de Duncan Grisby)" #: ../Doc/whatsnew/2.6.rst:3005 +#, fuzzy msgid "" "The new buffer interface, previously described in `the PEP 3118 section " "<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " "and :c:func:`PyBuffer_Release`, as well as a few other functions." msgstr "" +"La nueva interfaz del buffer, descrita previamente en `la sección PEP 3118 " +"<#pep-3118-revised-buffer-protocol>`__, añade :c:func:`PyObject_GetBuffer` " +"y :c:func:`PyBuffer_Release`, así como algunas otras funciones." #: ../Doc/whatsnew/2.6.rst:3010 +#, fuzzy msgid "" "Python's use of the C stdio library is now thread-safe, or at least as " "thread-safe as the underlying library is. A long-standing potential bug " @@ -3715,8 +5226,21 @@ msgid "" "immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and " "Gregory P. Smith.)" msgstr "" +"El uso que hace Python de la biblioteca stdio de C es ahora seguro para los " +"hilos, o al menos tan seguro como la biblioteca subyacente. Un error " +"potencial de larga data ocurría si un hilo cerraba un objeto de archivo " +"mientras otro hilo estaba leyendo o escribiendo en el objeto. En la versión " +"2.6 los objetos archivo tienen un contador de referencias, manipulado por " +"las funciones :c:func:`PyFile_IncUseCount` y :c:func:`PyFile_DecUseCount`. " +"Los objetos de archivo no pueden cerrarse a menos que el recuento de " +"referencias sea cero. :c:func:`PyFile_IncUseCount` debe llamarse mientras se " +"mantiene el GIL, antes de realizar una operación de E/S utilizando el " +"puntero ``FILE *``, y :c:func:`PyFile_DecUseCount` debe llamarse " +"inmediatamente después de recuperar el GIL. (Contribución de Antoine Pitrou " +"y Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:3023 +#, fuzzy msgid "" "Importing modules simultaneously in two different threads no longer " "deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:" @@ -3725,8 +5249,15 @@ msgid "" "the import lock is held by another thread, an :exc:`ImportError` is raised. " "(Contributed by Christian Heimes.)" msgstr "" +"Importar módulos simultáneamente en dos hilos diferentes ya no se bloquea; " +"ahora lanzará un :exc:`ImportError`. Una nueva función de la API, :c:func:" +"`PyImport_ImportModuleNoBlock`, buscará un módulo en ``sys.modules`` " +"primero, y luego intentará importarlo después de adquirir un bloqueo de " +"importación. Si el bloqueo de importación está en manos de otro hilo, se " +"genera un :exc:`ImportError`. (Contribuido por Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3031 +#, fuzzy msgid "" "Several functions return information about the platform's floating-point " "support. :c:func:`PyFloat_GetMax` returns the maximum representable " @@ -3737,8 +5268,17 @@ msgid "" "and the next largest value representable), and several others. (Contributed " "by Christian Heimes; :issue:`1534`.)" msgstr "" +"Varias funciones devuelven información sobre el soporte de punto flotante de " +"la plataforma. :c:func:`PyFloat_GetMax` devuelve el máximo valor de punto " +"flotante representable, y :c:func:`PyFloat_GetMin` devuelve el mínimo valor " +"positivo. :c:func:`PyFloat_GetInfo` devuelve un objeto que contiene más " +"información del fichero :file:`float.h`, como ``\"mant_dig\"`` (número de " +"dígitos en la mantisa), ``\"epsilon\"`` (diferencia más pequeña entre 1.0 y " +"el siguiente valor más grande representable), y varios otros. (Contribución " +"de Christian Heimes; :issue:`1534`.)" #: ../Doc/whatsnew/2.6.rst:3042 +#, fuzzy msgid "" "C functions and methods that use :c:func:`PyComplex_AsCComplex` will now " "accept arguments that have a :meth:`__complex__` method. In particular, the " @@ -3746,15 +5286,26 @@ msgid "" "method. This is a backport of a Python 3.0 change. (Contributed by Mark " "Dickinson; :issue:`1675423`.)" msgstr "" +"Las funciones y métodos de C que utilizan :c:func:`PyComplex_AsCComplex` " +"ahora aceptarán argumentos que tengan un método :meth:`__complex__`. En " +"particular, las funciones del módulo :mod:`cmath` ahora aceptarán objetos " +"con este método. Este es un retroceso de un cambio en Python 3.0. " +"(Contribuido por Mark Dickinson; :issue:`1675423`.)" #: ../Doc/whatsnew/2.6.rst:3049 +#, fuzzy msgid "" "Python's C API now includes two functions for case-insensitive string " "comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " "char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)" msgstr "" +"La API de C de Python incluye ahora dos funciones para comparar cadenas sin " +"distinción de mayúsculas y minúsculas, ``PyOS_stricmp(char*, char*)`` y " +"``PyOS_strnicmp(char*, char*, Py_ssize_t)``. (Contribución de Christian " +"Heimes; :issue:`1635`.)" #: ../Doc/whatsnew/2.6.rst:3054 +#, fuzzy msgid "" "Many C extensions define their own little macro for adding integers and " "strings to the module's dictionary in the ``init*`` function. Python 2.6 " @@ -3762,8 +5313,14 @@ msgid "" "`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " "(Contributed by Christian Heimes.)" msgstr "" +"Muchas extensiones de C definen su propia macro para añadir enteros y " +"cadenas al diccionario del módulo en la función ``init*``. Python 2.6 " +"finalmente define macros estándar para añadir valores a un módulo, :c:macro:" +"`PyModule_AddStringMacro` y :c:macro:`PyModule_AddIntMacro()`. " +"(Contribución de Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3061 +#, fuzzy msgid "" "Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " "are macros, not functions. :c:macro:`Py_Size()` became :c:macro:" @@ -3771,15 +5328,27 @@ msgid "" "`Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are still " "available in Python 2.6 for backward compatibility. (:issue:`1629`)" msgstr "" +"Algunas macros han sido renombradas tanto en la 3.0 como en la 2.6 para " +"dejar más claro que son macros y no funciones. :c:macro:`Py_Size()` se " +"convierte en :c:macro:`Py_SIZE()`, :c:macro:`Py_Type()` se convierte en :c:" +"macro:`Py_TYPE()`, y :c:macro:`Py_Refcnt()` se convierte en :c:macro:" +"`Py_REFCNT()`. Las macros de mayúsculas y minúsculas siguen estando " +"disponibles en Python 2.6 por compatibilidad con versiones anteriores. (:" +"issue:`1629`)" #: ../Doc/whatsnew/2.6.rst:3070 +#, fuzzy msgid "" "Distutils now places C extensions it builds in a different directory when " "running on a debug version of Python. (Contributed by Collin Winter; :issue:" "`1530959`.)" msgstr "" +"Distutils ahora coloca las extensiones C que construye en un directorio " +"diferente cuando se ejecuta en una versión de depuración de Python. " +"(Contribución de Collin Winter; :issue:`1530959`.)" #: ../Doc/whatsnew/2.6.rst:3074 +#, fuzzy msgid "" "Several basic data types, such as integers and strings, maintain internal " "free lists of objects that can be re-used. The data structures for these " @@ -3787,8 +5356,15 @@ msgid "" "``free_list``, the counter is always named ``numfree``, and a macro " "``Py_MAXFREELIST`` is always defined." msgstr "" +"Varios tipos de datos básicos, como los enteros y las cadenas, mantienen " +"listas internas de objetos libres que pueden reutilizarse. Las estructuras " +"de datos para estas listas libres siguen ahora una convención de " +"nomenclatura: la variable se llama siempre ``lista_libre``, el contador se " +"llama siempre ``numfree``, ysiempre se define una macro " +"``Py_MAXFREELIST``." #: ../Doc/whatsnew/2.6.rst:3081 +#, fuzzy msgid "" "A new Makefile target, \"make patchcheck\", prepares the Python source tree " "for making a patch: it fixes trailing whitespace in all modified ``.py`` " @@ -3796,8 +5372,14 @@ msgid "" "whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated. " "(Contributed by Brett Cannon.)" msgstr "" +"Un nuevo objetivo de Makefile, \"make patchcheck\", prepara el árbol de " +"fuentes de Python para hacer un parche: corrige los espacios en blanco al " +"final de todos los archivos ``.py`` modificados, comprueba si la " +"documentación ha sido cambiada, e informa si los archivos :file:`Misc/ACKS` " +"y :file:`Misc/NEWS` han sido actualizados. (Contribuido por Brett Cannon.)" #: ../Doc/whatsnew/2.6.rst:3088 +#, fuzzy msgid "" "Another new target, \"make profile-opt\", compiles a Python binary using " "GCC's profile-guided optimization. It compiles Python with profiling " @@ -3805,19 +5387,28 @@ msgid "" "compiles using these results for optimization. (Contributed by Gregory P. " "Smith.)" msgstr "" +"Otro nuevo objetivo, \"make profile-opt\", compila un binario de Python " +"utilizando la optimización guiada por perfiles de GCC. Compila Python con " +"el perfil habilitado, ejecuta el conjunto de pruebas para obtener un " +"conjunto de resultados de perfil, y luego compila usando estos resultados " +"para la optimización. (Contribución de Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:3097 +#, fuzzy msgid "Port-Specific Changes: Windows" -msgstr "" +msgstr "Cambios específicos en los puertos: Windows" #: ../Doc/whatsnew/2.6.rst:3099 +#, fuzzy msgid "" "The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " "requires at least Windows 2000 SP4." msgstr "" +"Se ha eliminado el soporte para Windows 95, 98, ME y NT4. Python 2.6 " +"requiere al menos Windows 2000 SP4." #: ../Doc/whatsnew/2.6.rst:3102 -#, python-format +#, fuzzy, python-format msgid "" "The new default compiler on Windows is Visual Studio 2008 (version 9.0). The " "build directories for Visual Studio 2003 (version 7.1) and 2005 (version " @@ -3827,8 +5418,16 @@ msgid "" "(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and " "Martin von Löwis.)" msgstr "" +"El nuevo compilador por defecto en Windows es Visual Studio 2008 (versión " +"9.0). Los directorios de compilación para Visual Studio 2003 (versión 7.1) y " +"2005 (versión 8.0) se han trasladado al directorio PC/. El nuevo directorio :" +"file:`PCbuild` admite la compilación cruzada para X64, las compilaciones de " +"depuración y la optimización guiada por perfil (PGO). Las compilaciones PGO " +"son aproximadamente un 10% f más rápidas que las normales. (Contribuido por " +"Christian Heimes con la ayuda de Amaury Forgeot d'Arc y Martin von Löwis)" #: ../Doc/whatsnew/2.6.rst:3110 +#, fuzzy msgid "" "The :mod:`msvcrt` module now supports both the normal and wide char variants " "of the console I/O API. The :func:`getwch` function reads a keypress and " @@ -3836,21 +5435,35 @@ msgid "" "`putwch` function takes a Unicode character and writes it to the console. " "(Contributed by Christian Heimes.)" msgstr "" +"El módulo :mod:`msvcrt` soporta ahora las variantes normal y wide char de la " +"API de E/S de la consola. La función :func:`getwch` lee una pulsación de " +"tecla y devuelve un valor Unicode, al igual que la función :func:`getwche`. " +"La función :func:`putwch` toma un carácter Unicode y lo escribe en la " +"consola. (Contribución de Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:3117 +#, fuzzy msgid "" ":func:`os.path.expandvars` will now expand environment variables in the form " "\"%var%\", and \"~user\" will be expanded into the user's home directory " "path. (Contributed by Josiah Carlson; :issue:`957650`.)" msgstr "" +":func:`os.path.expandvars` ahora expandirá las variables de entorno de la " +"forma \"%var%\", y \"~user\" se expandirá en la ruta del directorio personal " +"del usuario. (Contribución de Josiah Carlson; :issue:`957650`.)" #: ../Doc/whatsnew/2.6.rst:3121 +#, fuzzy msgid "" "The :mod:`socket` module's socket objects now have an :meth:`ioctl` method " "that provides a limited interface to the :c:func:`WSAIoctl` system interface." msgstr "" +"Los objetos socket del módulo :mod:`socket` tienen ahora un método :meth:" +"`ioctl` que proporciona una interfaz limitada a la interfaz del sistema :c:" +"func:`WSAIoctl`." #: ../Doc/whatsnew/2.6.rst:3125 +#, fuzzy msgid "" "The :mod:`_winreg` module now has a function, :func:" "`ExpandEnvironmentStrings`, that expands environment variable references " @@ -3858,41 +5471,68 @@ msgid "" "module now support the context protocol, so they can be used in :keyword:" "`with` statements. (Contributed by Christian Heimes.)" msgstr "" +"El módulo :mod:`_winreg` tiene ahora una función, :func:" +"`ExpandEnvironmentStrings`, que expande las referencias a variables de " +"entorno como ``%NAME%`` en una cadena de entrada. Los objetos handle " +"proporcionados por este módulo ahora soportan el protocolo de contexto, por " +"lo que pueden ser utilizados en sentencias :keyword:`with`. (Contribuido por " +"Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3132 +#, fuzzy msgid "" ":mod:`_winreg` also has better support for x64 systems, exposing the :func:" "`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:" "`QueryReflectionKey` functions, which enable and disable registry reflection " "for 32-bit processes running on 64-bit systems. (:issue:`1753245`)" msgstr "" +":mod:`_winreg` también tiene un mejor soporte para los sistemas x64, " +"exponiendo las funciones :func:`DisableReflectionKey`, :func:" +"`EnableReflectionKey`, y :func:`QueryReflectionKey`, que habilitan y " +"deshabilitan la reflexión del registro para los procesos de 32 bits que se " +"ejecutan en sistemas de 64 bits. (:issue:`1753245`)" #: ../Doc/whatsnew/2.6.rst:3138 +#, fuzzy msgid "" "The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` " "and :meth:`GetString` methods that return field values as an integer or a " "string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" msgstr "" +"El objeto :class:`Record` del módulo :mod:`msilib` ha ganado los métodos :" +"meth:`GetInteger` y :meth:`GetString` que devuelven los valores de los " +"campos como un entero o una cadena. (Contribución de Floris Bruynooghe; :" +"issue:`2125`.)" #: ../Doc/whatsnew/2.6.rst:3146 +#, fuzzy msgid "Port-Specific Changes: Mac OS X" -msgstr "" +msgstr "Cambios específicos en los puertos: Mac OS X" #: ../Doc/whatsnew/2.6.rst:3148 +#, fuzzy msgid "" "When compiling a framework build of Python, you can now specify the " "framework name to be used by providing the :option:`!--with-framework-name=` " "option to the :program:`configure` script." msgstr "" +"Cuando se compila una estructura de Python, ahora se puede especificar el " +"nombre de la estructura que se utilizará proporcionando la opción :option:" +"`!--with-framework-name=` al script :program:`configure`." #: ../Doc/whatsnew/2.6.rst:3153 +#, fuzzy msgid "" "The :mod:`macfs` module has been removed. This in turn required the :func:" "`macostools.touched` function to be removed because it depended on the :mod:" "`macfs` module. (:issue:`1490190`)" msgstr "" +"Se ha eliminado el módulo :mod:`macfs`. Esto, a su vez, ha requerido la " +"eliminación de la función :func:`macostools.touched` porque dependía del " +"módulo :mod:`macfs`. (:issue:`1490190`)" #: ../Doc/whatsnew/2.6.rst:3157 +#, fuzzy msgid "" "Many other Mac OS modules have been deprecated and will be removed in Python " "3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :" @@ -3906,12 +5546,24 @@ msgid "" "`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:" "`terminalcommand`." msgstr "" +"Muchos otros módulos de Mac OS han quedado obsoletos y serán eliminados en " +"Python 3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:" +"`aetypes`, :mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :" +"mod:`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" +"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" +"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" +"mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" +"mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" +"`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" +"`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, y :mod:`terminalcommand`." #: ../Doc/whatsnew/2.6.rst:3200 +#, fuzzy msgid "Port-Specific Changes: IRIX" -msgstr "" +msgstr "Cambios específicos en los puertos: IRIX" #: ../Doc/whatsnew/2.6.rst:3202 +#, fuzzy msgid "" "A number of old IRIX-specific modules were deprecated and will be removed in " "Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:" @@ -3921,31 +5573,51 @@ msgid "" "`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:" "`videoreader`, and :mod:`WAIT`." msgstr "" +"Una serie de antiguos módulos específicos de IRIX fueron obsoletos y serán " +"eliminados en Python 3.0: :mod:`al` y :mod:`AL`, :mod:`cd`, :mod:`cddb`, :" +"mod:`cdplayer`, :mod:`CL` y :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" +"`FILE`, :mod:`FL` y :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" +"`GLWS`, :mod:`GL` y :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" +"`panelparser`, :mod:`readcd`, :mod:`SV` y :mod:`sv`, :mod:`torgb`, :mod:" +"`videoreader` y :mod:`WAIT`." #: ../Doc/whatsnew/2.6.rst:3232 +#, fuzzy msgid "Porting to Python 2.6" -msgstr "" +msgstr "Adaptación a Python 2.6" #: ../Doc/whatsnew/2.6.rst:3234 +#, fuzzy msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" msgstr "" +"Esta sección enumera los cambios descritos anteriormente y otras " +"correcciones de errores que pueden requerir cambios en su código:" #: ../Doc/whatsnew/2.6.rst:3237 +#, fuzzy msgid "" "Classes that aren't supposed to be hashable should set ``__hash__ = None`` " "in their definitions to indicate the fact." msgstr "" +"Las clases que no se supone que son hashable deben establecer ``__hash__ = " +"None`` en sus definiciones para indicar el hecho." #: ../Doc/whatsnew/2.6.rst:3244 +#, fuzzy msgid "" "The :meth:`__init__` method of :class:`collections.deque` now clears any " "existing contents of the deque before adding elements from the iterable. " "This change makes the behavior match ``list.__init__()``." msgstr "" +"El método :meth:`__init__` de :class:`collections.deque` ahora borra " +"cualquier contenido existente del deque antes de añadir elementos del " +"iterable. Este cambio hace que el comportamiento coincida con ``list." +"__init__()``." #: ../Doc/whatsnew/2.6.rst:3249 +#, fuzzy msgid "" ":meth:`object.__init__` previously accepted arbitrary arguments and keyword " "arguments, ignoring them. In Python 2.6, this is no longer allowed and will " @@ -3953,8 +5625,15 @@ msgid "" "that end up calling the corresponding method on :class:`object` (perhaps " "through using :func:`super`). See :issue:`1683368` for discussion." msgstr "" +":meth:`object.__init__` anteriormente aceptaba argumentos arbitrarios y " +"argumentos de palabras clave, ignorándolos. En Python 2.6, esto ya no está " +"permitido y resultará en un :exc:`TypeError`. Esto afectará a los métodos :" +"meth:`__init__` que acaben llamando al método correspondiente en :class:" +"`object` (quizás mediante el uso de :func:`super`). Ver :issue:`1683368` " +"para su discusión." #: ../Doc/whatsnew/2.6.rst:3256 +#, fuzzy msgid "" "The :class:`Decimal` constructor now accepts leading and trailing whitespace " "when passed a string. Previously it would raise an :exc:`InvalidOperation` " @@ -3962,37 +5641,63 @@ msgid "" "`Context` objects now explicitly disallows extra whitespace, raising a :exc:" "`ConversionSyntax` exception." msgstr "" +"El constructor :class:`Decimal` ahora acepta los espacios en blanco " +"iniciales y finales cuando se le pasa una cadena. Antes lanzaba una " +"excepción :exc:`InvalidOperation`. Por otro lado, el método :meth:" +"`create_decimal` de los objetos :class:`Context` ahora desestima " +"explícitamente los espacios en blanco adicionales, lanzando una excepción :" +"exc:`ConversionSyntax`." #: ../Doc/whatsnew/2.6.rst:3263 +#, fuzzy msgid "" "Due to an implementation accident, if you passed a file path to the built-" "in :func:`__import__` function, it would actually import the specified " "file. This was never intended to work, however, and the implementation now " "explicitly checks for this case and raises an :exc:`ImportError`." msgstr "" +"Debido a un accidente de implementación, si se pasaba una ruta de archivo a " +"la función incorporada :func:`__import__`, ésta importaría realmente el " +"archivo especificado. Sin embargo, nunca se pretendió que esto funcionara, " +"y la implementación ahora comprueba explícitamente este caso y lanza un :exc:" +"`ImportError`." #: ../Doc/whatsnew/2.6.rst:3269 +#, fuzzy msgid "" "C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` " "functions now default to absolute imports, not relative imports. This will " "affect C extensions that import other modules." msgstr "" +"API C: las funciones :c:func:`PyImport_Import` y :c:func:" +"`PyImport_ImportModule` ahora se ajustan por defecto a importaciones " +"absolutas, no a importaciones relativas. Esto afectará a las extensiones de " +"C que importen otros módulos." #: ../Doc/whatsnew/2.6.rst:3273 +#, fuzzy msgid "" "C API: extension data types that shouldn't be hashable should define their " "``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." msgstr "" +"API C: los tipos de datos de extensión que no deben ser hashable deben " +"definir su ranura ``tp_hash`` a :c:func:`PyObject_HashNotImplemented`." #: ../Doc/whatsnew/2.6.rst:3277 +#, fuzzy msgid "" "The :mod:`socket` module exception :exc:`socket.error` now inherits from :" "exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but " "now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:" "`1706815`.)" msgstr "" +"La excepción del módulo :mod:`socket` :exc:`socket.error` ahora hereda de :" +"exc:`IOError`. Anteriormente no era una subclase de :exc:`StandardError` " +"pero ahora lo es, a través de :exc:`IOError`. (Implementado por Gregory P. " +"Smith; :issue:`1706815`.)" #: ../Doc/whatsnew/2.6.rst:3282 +#, fuzzy msgid "" "The :mod:`xmlrpclib` module no longer automatically converts :class:" "`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." @@ -4000,36 +5705,60 @@ msgid "" "all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`)" msgstr "" +"El módulo :mod:`xmlrpclib` ya no convierte automáticamente las instancias :" +"class:`datetime.date` y :class:`datetime.time` al tipo :class:`xmlrpclib." +"DateTime`; la semántica de conversión no era necesariamente correcta para " +"todas las aplicaciones. El código que utiliza :mod:`xmlrpclib` debe " +"convertir las instancias :class:`date` y :class:`~datetime.time`. (:issue:" +"`1330538`)" #: ../Doc/whatsnew/2.6.rst:3289 +#, fuzzy msgid "" "(3.0-warning mode) The :class:`Exception` class now warns when accessed " "using slicing or index access; having :class:`Exception` behave like a tuple " "is being phased out." msgstr "" +"(Modo de advertencia 3.0) La clase :class:`Exception` ahora advierte cuando " +"se accede utilizando el acceso a la rebanada o al índice; tener :class:" +"`Exception` se comporta como una tupla está siendo eliminado." #: ../Doc/whatsnew/2.6.rst:3293 +#, fuzzy msgid "" "(3.0-warning mode) inequality comparisons between two dictionaries or two " "objects that don't implement comparison methods are reported as warnings. " "``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out." msgstr "" +"(modo de advertencia 3.0) las comparaciones de desigualdad entre dos " +"diccionarios o dos objetos que no implementan métodos de comparación se " +"reportan como advertencias. ``dict1 == dict2`` sigue funcionando, pero " +"``dict1 < dict2`` está siendo eliminado." #: ../Doc/whatsnew/2.6.rst:3298 +#, fuzzy msgid "" "Comparisons between cells, which are an implementation detail of Python's " "scoping rules, also cause warnings because such comparisons are forbidden " "entirely in 3.0." msgstr "" +"Las comparaciones entre celdas, que son un detalle de implementación de las " +"reglas de alcance de Python, también causan advertencias porque tales " +"comparaciones están prohibidas por completo en 3.0." #: ../Doc/whatsnew/2.6.rst:3308 msgid "Acknowledgements" msgstr "Agradecimientos" #: ../Doc/whatsnew/2.6.rst:3310 +#, fuzzy msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " "Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent " "Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." msgstr "" +"El autor desea agradecer a las siguientes personas sus sugerencias, " +"correcciones y ayuda en varios borradores de este artículo: Georg Brandl, " +"Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent Johnson, Chris " +"Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." From 0c6ab64614a376e8a3de17b3915e826cd6e950e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Sun, 3 Oct 2021 15:19:25 +0100 Subject: [PATCH 86/94] =?UTF-8?q?Traducci=C3=B3n=20whatsnew/2.5=20(#1275)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Claudia Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Carlos A. Crespo --- dictionaries/whatsnew_2.5.txt | 75 ++ whatsnew/2.5.po | 1526 ++++++++++++++++++++++++++++++--- 2 files changed, 1472 insertions(+), 129 deletions(-) create mode 100644 dictionaries/whatsnew_2.5.txt diff --git a/dictionaries/whatsnew_2.5.txt b/dictionaries/whatsnew_2.5.txt new file mode 100644 index 0000000000..5034b1dcc2 --- /dev/null +++ b/dictionaries/whatsnew_2.5.txt @@ -0,0 +1,75 @@ +Alan +Antti +Bell +Biondi +Bjorn +Blais +Bland +Broytmann +Chang +Coroutines +Coverity +Dooms +Dörwald +Ehresman +Evan +Games +Grosse +Grégoire +Harris +Holger +Hotshot +Hye +Iain +Immisch +Installer +Johnson +Jones +Kaiser +Kiendl +Krekel +Kurt +Louko +Lowe +Lynn +Netlink +Oleg +Optik +Pedroni +Pettenò +Philippe +Prevent +Pryor +Ralf +Reikiavik +Rigo +Robert +Rovner +Samuele +Schroeder +Shik +Spoerri +Sugalski +Summer +Tillenius +Walter +Wd +Weikart +asignadoras +autodetectada +contextlib +coroutines +direccionar +elinks +hook +maildir +netlink +obmalloc +pybench +reelaborado +reutilizándolo +sprint +sprints +ssize +tripleta +wsgiref diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index bdfbbb0193..fe126d76bc 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -6,31 +6,33 @@ # 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" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-10-03 10:57-0300\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: Claudia Millan \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/2.5.rst:3 msgid "What's New in Python 2.5" -msgstr "" +msgstr "Novedades de Python 2.5" #: ../Doc/whatsnew/2.5.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.5.rst:5 msgid "A.M. Kuchling" -msgstr "" +msgstr "A.M. Kuchling" #: ../Doc/whatsnew/2.5.rst:12 msgid "" @@ -38,6 +40,9 @@ msgid "" "Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " "release schedule." msgstr "" +"Este artículo explica las nuevas características de Python 2.5. La versión " +"final de Python 2.5 está prevista para agosto de 2006; :pep:`356` describe " +"el calendario de publicación previsto." #: ../Doc/whatsnew/2.5.rst:16 msgid "" @@ -48,6 +53,12 @@ msgid "" "SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " "calling C functions." msgstr "" +"Los cambios en Python 2.5 son una interesante mezcla de mejoras en el " +"lenguaje y en las bibliotecas. Las mejoras de la biblioteca serán más " +"importantes para la comunidad de usuarios de Python, creo, porque se han " +"añadido varios paquetes muy útiles. Los nuevos módulos incluyen ElementTree " +"para el procesamiento de XML (:mod:`xml.etree`), el módulo de base de datos " +"SQLite (:mod:`sqlite`), y el módulo :mod:`ctypes` para llamar a funciones C." #: ../Doc/whatsnew/2.5.rst:23 msgid "" @@ -63,6 +74,18 @@ msgid "" "to one specific language feature or another; none of them are broad " "modifications to Python's semantics." msgstr "" +"Los cambios en el lenguaje son de mediana importancia. Se han añadido " +"algunas características nuevas y agradables, pero la mayoría de ellas no son " +"características que vaya a utilizar todos los días. Las expresiones " +"condicionales fueron finalmente añadidas al lenguaje usando una nueva " +"sintaxis; ver sección :ref:`pep-308`. La nueva sentencia ':keyword:`with`' " +"facilitará la escritura de código de limpieza (sección :ref:`pep-343`). " +"Ahora se pueden pasar valores a los generadores (sección :ref:`pep-342`). " +"Las importaciones son ahora visibles como absolutas o relativas (sección :" +"ref:`pep-328`). Se han mejorado algunos casos de manejo de excepciones " +"(sección :ref:`pep-341`). Todas estas mejoras merecen la pena, pero son " +"mejoras de una u otra característica específica del lenguaje; ninguna de " +"ellas es una modificación amplia de la semántica de Python." #: ../Doc/whatsnew/2.5.rst:34 msgid "" @@ -71,6 +94,11 @@ msgid "" "change logs finds there were 353 patches applied and 458 bugs fixed between " "Python 2.4 and 2.5. (Both figures are likely to be underestimates.)" msgstr "" +"Además de las adiciones al lenguaje y a la biblioteca, se han realizado " +"otras mejoras y correcciones de errores en todo el árbol de código fuente. " +"Una búsqueda en los registros de cambios del SVN revela que se aplicaron 353 " +"parches y se corrigieron 458 errores entre Python 2.4 y 2.5. (Es probable " +"que ambas cifras estén subestimadas)" #: ../Doc/whatsnew/2.5.rst:39 msgid "" @@ -81,16 +109,25 @@ msgid "" "implementation and design rationale, refer to the PEP for a particular new " "feature." msgstr "" +"Este artículo no pretende ser una especificación completa de las nuevas " +"características; en su lugar, los cambios se introducen brevemente " +"utilizando ejemplos útiles. Para obtener todos los detalles, siempre debes " +"consultar la documentación de Python 2.5 en https://docs.python.org. Si " +"quieres entender la implementación completa y los fundamentos del diseño, " +"consulta el PEP de una nueva característica en particular." #: ../Doc/whatsnew/2.5.rst:45 msgid "" "Comments, suggestions, and error reports for this document are welcome; " "please e-mail them to the author or open a bug in the Python bug tracker." msgstr "" +"Son bienvenidos los comentarios, las sugerencias y los informes de errores " +"para este documento; por favor, envíelos por correo electrónico al autor o " +"abra un error en el rastreador de errores de Python." #: ../Doc/whatsnew/2.5.rst:54 msgid "PEP 308: Conditional Expressions" -msgstr "" +msgstr "PEP 308: Expresiones condicionales" #: ../Doc/whatsnew/2.5.rst:56 msgid "" @@ -100,6 +137,11 @@ msgid "" "you write a single assignment statement that has the same effect as the " "following::" msgstr "" +"Durante mucho tiempo, la gente ha solicitado una forma de escribir " +"expresiones condicionales, que son expresiones que devuelven el valor A o el " +"valor B dependiendo de si un valor booleano es verdadero o falso. Una " +"expresión condicional le permite escribir una única sentencia de asignación " +"que tiene el mismo efecto que la siguiente::" #: ../Doc/whatsnew/2.5.rst:66 msgid "" @@ -109,10 +151,16 @@ msgid "" "was preferred by a clear majority. Candidates included C's ``cond ? true_v : " "false_v``, ``if cond then true_v else false_v``, and 16 other variations." msgstr "" +"Ha habido interminables y tediosas discusiones sobre la sintaxis tanto en " +"python-dev como en comp.lang.python. Incluso se llevó a cabo una votación " +"en la que se descubrió que la mayoría de los votantes querían expresiones " +"condicionales de alguna forma, pero no había ninguna sintaxis que fuera " +"preferida por una clara mayoría. Los candidatos incluían ``cond ? true_v : " +"false_v``, ``if cond then true_v else false_v``, y otras 16 variaciones." #: ../Doc/whatsnew/2.5.rst:72 msgid "Guido van Rossum eventually chose a surprising syntax::" -msgstr "" +msgstr "Guido van Rossum eligió finalmente una sintaxis sorprendente::" #: ../Doc/whatsnew/2.5.rst:76 msgid "" @@ -122,6 +170,11 @@ msgid "" "condition was true. Similarly, the *false_value* expression is only " "evaluated when the condition is false." msgstr "" +"La evaluación sigue siendo perezosa como en las expresiones booleanas " +"existentes, por lo que el orden de evaluación salta un poco. La expresión " +"*condición* del medio se evalúa primero, y la expresión *valor_verdadero* se " +"evalúa sólo si la condición es verdadera. Del mismo modo, la expresión " +"*valor_falso* sólo se evalúa cuando la condición es falsa." #: ../Doc/whatsnew/2.5.rst:82 msgid "" @@ -134,6 +187,14 @@ msgid "" "when the condition isn't met. The conditional syntax makes this pattern a " "bit more obvious::" msgstr "" +"Esta sintaxis puede parecer extraña y retrógrada; ¿por qué la condición va " +"en el *medio* de la expresión, y no en la parte delantera como en ``c ? x : " +"y`` de C? La decisión se comprobó aplicando la nueva sintaxis a los módulos " +"de la biblioteca estándar y viendo cómo se leía el código resultante. En " +"muchos casos en los que se utiliza una expresión condicional, un valor " +"parece ser el \"caso común\" y otro valor es un \"caso excepcional\", " +"utilizado sólo en las raras ocasiones en las que no se cumple la condición. " +"La sintaxis condicional hace que este patrón sea un poco más obvio::" #: ../Doc/whatsnew/2.5.rst:92 msgid "" @@ -142,6 +203,10 @@ msgid "" "an empty string is returned.\" I doubt I will use conditional expressions " "very often where there isn't a clear common and uncommon case." msgstr "" +"Leo la afirmación anterior en el sentido de que \"aquí se asigna a " +"*contents* un valor de ``doc+'\\n'``; a veces *doc* está vacío, en cuyo caso " +"especial se devuelve una cadena vacía\" Dudo que use expresiones " +"condicionales muy a menudo donde no hay un caso común y no común claro." #: ../Doc/whatsnew/2.5.rst:97 msgid "" @@ -150,6 +215,11 @@ msgid "" "require parentheses in the Python language's grammar, but as a matter of " "style I think you should always use them. Consider these two statements::" msgstr "" +"Hubo alguna discusión sobre si el lenguaje debería requerir rodear las " +"expresiones condicionales con paréntesis. Se tomó la decisión de *no* " +"requerir paréntesis en la gramática del lenguaje Python, pero como una " +"cuestión de estilo creo que siempre deberías usarlos. Considere estas dos " +"declaraciones::" #: ../Doc/whatsnew/2.5.rst:108 msgid "" @@ -159,6 +229,11 @@ msgid "" "better, in my opinion, because it makes it clear that the assignment is " "always performed and the choice is being made between two values." msgstr "" +"En la primera versión, creo que el ojo de un lector podría agrupar la " +"sentencia en 'nivel = 1', 'si registro', 'si no 0', y pensar que la " +"condición decide si se realiza la asignación a *nivel*. La segunda versión " +"se lee mejor, en mi opinión, porque deja claro que la asignación se realiza " +"siempre y que se está eligiendo entre dos valores." #: ../Doc/whatsnew/2.5.rst:114 msgid "" @@ -167,26 +242,34 @@ msgid "" "expressions. See :pep:`308` for some examples. If you put parentheses " "around your conditional expressions, you won't run into this case." msgstr "" +"Otra razón para incluir los paréntesis: algunas combinaciones extrañas de " +"comprensiones de listas y lambdas podrían parecer expresiones condicionales " +"incorrectas. Véase :pep:`308` para algunos ejemplos. Si pone paréntesis " +"alrededor de sus expresiones condicionales, no se encontrará con este caso." #: ../Doc/whatsnew/2.5.rst:123 msgid ":pep:`308` - Conditional Expressions" -msgstr "" +msgstr ":pep:`308` - Expresiones condicionales" #: ../Doc/whatsnew/2.5.rst:123 msgid "" "PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by " "Thomas Wouters." msgstr "" +"PEP escrito por Guido van Rossum y Raymond D. Hettinger; implementado por " +"Thomas Wouters." #: ../Doc/whatsnew/2.5.rst:132 msgid "PEP 309: Partial Function Application" -msgstr "" +msgstr "PEP 309: Aplicación parcial de funciones" #: ../Doc/whatsnew/2.5.rst:134 msgid "" "The :mod:`functools` module is intended to contain tools for functional-" "style programming." msgstr "" +"El módulo :mod:`functools` está destinado a contener herramientas para la " +"programación de estilo funcional." #: ../Doc/whatsnew/2.5.rst:137 msgid "" @@ -197,6 +280,12 @@ msgid "" "c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial " "function application\"." msgstr "" +"Una herramienta útil de este módulo es la función :func:`partial`. Para los " +"programas escritos en un estilo funcional, a veces querrá construir " +"variantes de funciones existentes que tengan algunos de los parámetros " +"rellenados. Considere una función Python ``f(a, b, c)``; podría crear una " +"nueva función ``g(b, c)`` que fuera equivalente a ``f(1, b, c)``. Esto se " +"llama \"aplicación parcial de funciones\"." #: ../Doc/whatsnew/2.5.rst:144 msgid "" @@ -204,10 +293,13 @@ msgid "" "kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you " "can just call it to invoke *function* with the filled-in arguments." msgstr "" +":func:`parcial` toma los argumentos ``(function, arg1, arg2, ... " +"kwarg1=valor1, kwarg2=valor2)``. El objeto resultante es invocable, por lo " +"que puedes llamarlo para invocar la *función* con los argumentos rellenados." #: ../Doc/whatsnew/2.5.rst:148 msgid "Here's a small but realistic example::" -msgstr "" +msgstr "He aquí un pequeño pero realista ejemplo::" #: ../Doc/whatsnew/2.5.rst:160 msgid "" @@ -216,6 +308,11 @@ msgid "" "provided for the menu option is a partially applied version of the :meth:" "`open_item` method, where the first argument has been provided. ::" msgstr "" +"Aquí hay otro ejemplo, de un programa que utiliza PyGTK. Aquí se está " +"construyendo dinámicamente un menú emergente sensible al contexto. El " +"callback proporcionado para la opción de menú es una versión parcialmente " +"aplicada del método :meth:`open_item`, donde se ha proporcionado el primer " +"argumento ::" #: ../Doc/whatsnew/2.5.rst:173 msgid "" @@ -225,6 +322,12 @@ msgid "" "docstring attribute to a wrapper function so that tracebacks inside the " "wrapped function are easier to understand. For example, you might write::" msgstr "" +"Otra función del módulo :mod:`functools` es la función " +"``update_wrapper(wrapper, wrapped)`` que le ayuda a escribir decoradores con " +"un buen comportamiento. :func:`update_wrapper` copia el nombre, el módulo y " +"el atributo docstring a una función wrapper para que las trazas dentro de la " +"función envuelta sean más fáciles de entender. Por ejemplo, puedes " +"escribir::" #: ../Doc/whatsnew/2.5.rst:186 msgid "" @@ -232,20 +335,25 @@ msgid "" "copy the wrapped function's information. An alternate version of the " "previous example would be::" msgstr "" +":func:`wraps` es un decorador que se puede utilizar dentro de sus propios " +"decoradores para copiar la información de la función envuelta. Una versión " +"alternativa del ejemplo anterior sería::" #: ../Doc/whatsnew/2.5.rst:201 msgid ":pep:`309` - Partial Function Application" -msgstr "" +msgstr ":pep:`309` - Aplicación parcial de funciones" #: ../Doc/whatsnew/2.5.rst:201 msgid "" "PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and " "Nick Coghlan, with adaptations by Raymond Hettinger." msgstr "" +"PEP propuesto y escrito por Peter Harris; implementado por Hye-Shik Chang y " +"Nick Coghlan, con adaptaciones de Raymond Hettinger." #: ../Doc/whatsnew/2.5.rst:210 msgid "PEP 314: Metadata for Python Software Packages v1.1" -msgstr "" +msgstr "PEP 314: Metadatos para paquetes de software Python v1.1" #: ../Doc/whatsnew/2.5.rst:212 msgid "" @@ -255,6 +363,11 @@ msgid "" "command, the dependency information will be recorded in the :file:`PKG-INFO` " "file." msgstr "" +"Se ha añadido a Distutils un sencillo soporte de dependencias. La función :" +"func:`setup` ahora tiene parámetros de palabras clave ``requires``, " +"``provides`` y ``obsoletes``. Cuando se construye una distribución de " +"origen utilizando el comando ``sdist``, la información de las dependencias " +"se registrará en el archivo :file:`PKG-INFO`." #: ../Doc/whatsnew/2.5.rst:217 msgid "" @@ -263,6 +376,10 @@ msgid "" "an entry in the package index, determine the dependencies for a package, and " "download the required packages. ::" msgstr "" +"Otro nuevo parámetro de palabra clave es ``download_url``, que debe " +"establecerse como una URL para el código fuente del paquete. Esto significa " +"que ahora es posible buscar una entrada en el índice de paquetes, determinar " +"las dependencias de un paquete y descargar los paquetes necesarios. ::" #: ../Doc/whatsnew/2.5.rst:231 msgid "" @@ -270,6 +387,9 @@ msgid "" "storing source and binary archives for a package. The new :command:`upload` " "Distutils command will upload a package to the repository." msgstr "" +"Otra nueva mejora en el índice de paquetes de Python en https://pypi.org es " +"el almacenamiento de archivos fuente y binarios de un paquete. El nuevo " +"comando :command:`upload` de Distutils subirá un paquete al repositorio." #: ../Doc/whatsnew/2.5.rst:236 msgid "" @@ -279,25 +399,33 @@ msgid "" "Optionally you can GPG-sign the package by supplying the :option:`!--sign` " "and :option:`!--identity` options." msgstr "" +"Antes de poder subir un paquete, debes ser capaz de construir una " +"distribución usando el comando :command:`sdist` de Distutils. Una vez que " +"funcione, puedes ejecutar ``python setup.py upload`` para añadir tu paquete " +"al archivo PyPI. Opcionalmente puedes firmar el paquete con GPG " +"suministrando las opciones :option:`!--sign` y :option:`!--identity`." #: ../Doc/whatsnew/2.5.rst:242 msgid "" "Package uploading was implemented by Martin von Löwis and Richard Jones." msgstr "" +"La carga de paquetes fue implementada por Martin von Löwis y Richard Jones." #: ../Doc/whatsnew/2.5.rst:248 msgid ":pep:`314` - Metadata for Python Software Packages v1.1" -msgstr "" +msgstr ":pep:`314` - Metadatos para paquetes de software Python v1.1" #: ../Doc/whatsnew/2.5.rst:248 msgid "" "PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; " "implemented by Richard Jones and Fred Drake." msgstr "" +"PEP propuesto y redactado por A.M. Kuchling, Richard Jones y Fred Drake; " +"aplicado por Richard Jones y Fred Drake." #: ../Doc/whatsnew/2.5.rst:257 msgid "PEP 328: Absolute and Relative Imports" -msgstr "" +msgstr "PEP 328: Importaciones absolutas y relativas" #: ../Doc/whatsnew/2.5.rst:259 msgid "" @@ -306,6 +434,10 @@ msgid "" "``from ... import ...`` statement, making it easier to import many different " "names." msgstr "" +"La parte más sencilla de :pep:`328` se implementó en Python 2.4: los " +"paréntesis podían utilizarse ahora para encerrar los nombres importados de " +"un módulo utilizando la sentencia ``from ... import ...``, facilitando la " +"importación de muchos nombres diferentes." #: ../Doc/whatsnew/2.5.rst:263 msgid "" @@ -314,16 +446,22 @@ msgid "" "plan is to move toward making absolute imports the default in future " "versions of Python." msgstr "" +"La parte más complicada se ha implementado en Python 2.5: la importación de " +"un módulo puede especificarse para utilizar importaciones absolutas o " +"relativas al paquete. El plan es hacer que las importaciones absolutas sean " +"el valor por defecto en futuras versiones de Python." #: ../Doc/whatsnew/2.5.rst:267 msgid "Let's say you have a package directory like this::" -msgstr "" +msgstr "Digamos que tienes un directorio de paquetes como este::" #: ../Doc/whatsnew/2.5.rst:274 msgid "" "This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and :" "mod:`pkg.string` submodules." msgstr "" +"Esto define un paquete llamado :mod:`pkg` que contiene los submódulos :mod:" +"`pkg.main` y :mod:`pkg.string`." #: ../Doc/whatsnew/2.5.rst:277 msgid "" @@ -334,6 +472,12 @@ msgid "" "`pkg.string` module, and that module is bound to the name ``string`` in the :" "mod:`pkg.main` module's namespace." msgstr "" +"Considera el código del módulo :file:`main.py`. ¿Qué ocurre si ejecuta la " +"sentencia ``importar cadena``? En Python 2.4 y anteriores, primero buscará " +"en el directorio del paquete para realizar una importación relativa, " +"encuentra :file:`pkg/string.py`, importa el contenido de ese archivo como el " +"módulo :mod:`pkg.string`, y ese módulo se vincula al nombre ``string`` en el " +"espacio de nombres del módulo :mod:`pkg.main`." #: ../Doc/whatsnew/2.5.rst:284 msgid "" @@ -345,6 +489,14 @@ msgid "" "imports from the standard library, ``import py; py.std.string.join()``, but " "that package isn't available on all Python installations." msgstr "" +"Eso está bien si :mod:`pkg.string` era lo que querías. ¿Pero qué pasa si " +"quieres el módulo estándar de Python :mod:`string`? No hay una forma limpia " +"de ignorar :mod:`pkg.string` y buscar el módulo estándar; generalmente " +"tienes que mirar el contenido de ``sys.modules``, lo cual es ligeramente " +"sucio. El paquete :mod:`py.std` de Holger Krekel proporciona una forma " +"más ordenada de realizar importaciones desde la biblioteca estándar, " +"``import py; py.std.string.join()``, pero ese paquete no está disponible en " +"todas las instalaciones de Python." #: ../Doc/whatsnew/2.5.rst:292 msgid "" @@ -355,6 +507,13 @@ msgid "" "submodules, but you can't protect against having your submodule's name being " "used for a new module added in a future version of Python." msgstr "" +"La lectura de código que depende de importaciones relativas también es menos " +"clara, porque un lector puede confundirse sobre qué módulo, :mod:`cadena` o :" +"mod:`cadena.pkg`, se pretende utilizar. Los usuarios de Python aprendieron " +"pronto a no duplicar los nombres de los módulos de la biblioteca estándar en " +"los nombres de los submódulos de sus paquetes, pero no puedes protegerte de " +"que el nombre de tu submódulo se utilice para un nuevo módulo añadido en una " +"futura versión de Python." #: ../Doc/whatsnew/2.5.rst:299 msgid "" @@ -366,12 +525,23 @@ msgid "" "that users should begin using absolute imports as much as possible, so it's " "preferable to begin writing ``from pkg import string`` in your code." msgstr "" +"En Python 2.5, puedes cambiar el comportamiento de :keyword:`import` a " +"importaciones absolutas usando una directiva ``from __future__ import " +"absolute_import``. Este comportamiento de importación absoluta será el " +"predeterminado en una versión futura (probablemente Python 2.7). Una vez " +"que las importaciones absolutas sean el valor por defecto, ``import string`` " +"siempre encontrará la versión de la biblioteca estándar. Se sugiere que los " +"usuarios comiencen a usar importaciones absolutas tanto como sea posible, " +"así que es preferible comenzar a escribir ``de pkg import string`` en su " +"código." #: ../Doc/whatsnew/2.5.rst:307 msgid "" "Relative imports are still possible by adding a leading period to the " "module name when using the ``from ... import`` form::" msgstr "" +"Las importaciones relativas siguen siendo posibles añadiendo un punto " +"inicial al nombre del módulo cuando se utiliza la forma ``from ... import``::" #: ../Doc/whatsnew/2.5.rst:315 msgid "" @@ -381,33 +551,41 @@ msgid "" "from the parent of the current package. For example, code in the :mod:`A.B." "C` module can do::" msgstr "" +"Esto importa el módulo :mod:`string` relativo al paquete actual, así que en :" +"mod:`pkg.main` esto importará *nombre1* y *nombre2* de :mod:`pkg.string`. " +"Los puntos iniciales adicionales realizan la importación relativa empezando " +"por el padre del paquete actual. Por ejemplo, el código en el módulo :mod:" +"`A.B.C` puede hacer::" #: ../Doc/whatsnew/2.5.rst:324 msgid "" "Leading periods cannot be used with the ``import modname`` form of the " "import statement, only the ``from ... import`` form." msgstr "" +"Los puntos suspensivos no pueden usarse con la forma ``importar nombre de " +"modelo`` de la sentencia import, sólo con la forma ``de ... import``." #: ../Doc/whatsnew/2.5.rst:331 msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" -msgstr "" +msgstr ":pep:`328` - Importaciones: Multilínea y Absoluto/Relativo" #: ../Doc/whatsnew/2.5.rst:331 msgid "PEP written by Aahz; implemented by Thomas Wouters." -msgstr "" +msgstr "PEP escrito por Aahz; implementado por Thomas Wouters." #: ../Doc/whatsnew/2.5.rst:333 msgid "https://pylib.readthedocs.io/" -msgstr "" +msgstr "https://pylib.readthedocs.io/" #: ../Doc/whatsnew/2.5.rst:334 msgid "" "The py library by Holger Krekel, which contains the :mod:`py.std` package." msgstr "" +"La biblioteca py de Holger Krekel, que contiene el paquete :mod:`py.std`." #: ../Doc/whatsnew/2.5.rst:342 msgid "PEP 338: Executing Modules as Scripts" -msgstr "" +msgstr "PEP 338: Ejecutando Módulos como Scripts" #: ../Doc/whatsnew/2.5.rst:344 msgid "" @@ -416,6 +594,10 @@ msgid "" "the Python interpreter, the switch now uses an implementation in a new " "module, :mod:`runpy`." msgstr "" +"El conmutador :option:`-m` añadido en Python 2.4 para ejecutar un módulo " +"como un script ganó algunas habilidades más. En lugar de estar implementado " +"en código C dentro del intérprete de Python, el interruptor ahora utiliza " +"una implementación en un nuevo módulo, :mod:`runpy`." #: ../Doc/whatsnew/2.5.rst:349 msgid "" @@ -426,18 +608,24 @@ msgid "" "to ``sys.path`` and then use the :option:`-m` switch to execute code from " "the archive." msgstr "" +"El módulo :mod:`runpy` implementa un mecanismo de importación más " +"sofisticado de forma que ahora es posible ejecutar módulos en un paquete " +"como :mod:`pychecker.checker`. El módulo también soporta mecanismos de " +"importación alternativos como el módulo :mod:`zipimport`. Esto significa " +"que puede añadir la ruta de un archivo .zip a ``sys.path`` y luego utilizar " +"el modificador :option:`-m` para ejecutar el código del archivo." #: ../Doc/whatsnew/2.5.rst:359 msgid ":pep:`338` - Executing modules as scripts" -msgstr "" +msgstr ":pep:`338` - Ejecución de módulos como scripts" #: ../Doc/whatsnew/2.5.rst:360 msgid "PEP written and implemented by Nick Coghlan." -msgstr "" +msgstr "PEP escrito e implementado por Nick Coghlan." #: ../Doc/whatsnew/2.5.rst:368 msgid "PEP 341: Unified try/except/finally" -msgstr "" +msgstr "PEP 341: Try/except/finally unificados" #: ../Doc/whatsnew/2.5.rst:370 msgid "" @@ -449,6 +637,13 @@ msgid "" "complicated and it wasn't clear what the semantics of the combined statement " "should be." msgstr "" +"Hasta la versión 2.5 de Python, la sentencia :keyword:`try` tenía dos " +"variantes. Podías usar un bloque :keyword:`finally` para asegurarte de que " +"el código se ejecutaba siempre, o uno o más bloques :keyword:`except` para " +"capturar excepciones específicas. No podías combinar ambos bloques :keyword:" +"`!except` y un bloque :keyword:`!finally`, porque generar el bytecode " +"correcto para la versión combinada era complicado y no estaba claro cuál " +"debía ser la semántica de la sentencia combinada." #: ../Doc/whatsnew/2.5.rst:377 msgid "" @@ -457,6 +652,10 @@ msgid "" "block, and this clarified what the statement should mean. In Python 2.5, " "you can now write::" msgstr "" +"Guido van Rossum pasó algún tiempo trabajando con Java, que sí soporta el " +"equivalente de combinar bloques :keyword:`except` y un bloque :keyword:" +"`finally`, y esto aclaró lo que debería significar la declaración. En " +"Python 2.5, ahora se puede escribir::" #: ../Doc/whatsnew/2.5.rst:393 msgid "" @@ -466,6 +665,11 @@ msgid "" "class:`Exception2`, *handler-2* is executed, and so forth. If no exception " "is raised, the *else-block* is executed." msgstr "" +"Se ejecuta el código del *bloque-1*. Si el código lanza una excepción, se " +"comprueban los distintos bloques :keyword:`except`: si la excepción es de " +"clase :class:`Exception1`, se ejecuta *handler-1*; en caso contrario, si es " +"de clase :class:`Exception2`, se ejecuta *handler-2*, y así sucesivamente. " +"Si no se produce ninguna excepción, se ejecuta el bloque *else*." #: ../Doc/whatsnew/2.5.rst:399 msgid "" @@ -474,18 +678,23 @@ msgid "" "error in an exception handler or the *else-block* and a new exception is " "raised, the code in the *final-block* is still run." msgstr "" +"No importa lo que haya sucedido previamente, el *bloque final* se ejecuta " +"una vez que el bloque de código se ha completado y se han manejado las " +"excepciones planteadas. Incluso si hay un error en un manejador de " +"excepciones o en el *bloque else* y se lanza una nueva excepción, el código " +"del *bloque final* se sigue ejecutando." #: ../Doc/whatsnew/2.5.rst:407 msgid ":pep:`341` - Unifying try-except and try-finally" -msgstr "" +msgstr ":pep:`341` - Unificar try-except y try-finally" #: ../Doc/whatsnew/2.5.rst:408 msgid "PEP written by Georg Brandl; implementation by Thomas Lee." -msgstr "" +msgstr "PEP escrito por Georg Brandl; implementación por Thomas Lee." #: ../Doc/whatsnew/2.5.rst:416 msgid "PEP 342: New Generator Features" -msgstr "" +msgstr "PEP 342: Nuevas funciones del generador" #: ../Doc/whatsnew/2.5.rst:418 msgid "" @@ -498,10 +707,20 @@ msgid "" "changing the global variable's value, or passing in some mutable object that " "callers then modify." msgstr "" +"Python 2.5 añade una forma sencilla de pasar valores *a* un generador. Tal y " +"como se introdujo en Python 2.3, los generadores sólo producen salida; una " +"vez que se invoca el código de un generador para crear un iterador, no hay " +"forma de pasar ninguna información nueva a la función cuando se reanuda su " +"ejecución. A veces, la capacidad de pasar alguna información sería útil. " +"Las soluciones más ingeniosas para esto incluyen hacer que el código del " +"generador mire a una variable global y luego cambie el valor de la variable " +"global, o pasar algún objeto mutable que los llamadores luego modifiquen." #: ../Doc/whatsnew/2.5.rst:426 msgid "To refresh your memory of basic generators, here's a simple example::" msgstr "" +"Para refrescar la memoria de los generadores básicos, he aquí un ejemplo " +"sencillo::" #: ../Doc/whatsnew/2.5.rst:434 msgid "" @@ -512,6 +731,12 @@ msgid "" "the iterator's :meth:`next` method, picking up after the :keyword:`!yield` " "statement." msgstr "" +"Cuando se llama a ``contador(10)``, el resultado es un iterador que devuelve " +"los valores de 0 a 9. Al encontrar la sentencia :keyword:`yield`, el " +"iterador devuelve el valor proporcionado y suspende la ejecución de la " +"función, preservando las variables locales. La ejecución se reanuda en la " +"siguiente llamada al método :meth:`next` del iterador, retomando después de " +"la sentencia :keyword:`!yield`." #: ../Doc/whatsnew/2.5.rst:440 msgid "" @@ -519,6 +744,10 @@ msgid "" "value. In 2.5, :keyword:`!yield` is now an expression, returning a value " "that can be assigned to a variable or otherwise operated on::" msgstr "" +"En Python 2.3, :keyword:`yield` era una declaración; no devolvía ningún " +"valor. En 2.5, :keyword:`!yield` es ahora una expresión, que devuelve un " +"valor que se puede asignar a una variable o que se puede operar de otra " +"manera::" #: ../Doc/whatsnew/2.5.rst:446 msgid "" @@ -527,6 +756,10 @@ msgid "" "above example. The parentheses aren't always necessary, but it's easier to " "always add them instead of having to remember when they're needed." msgstr "" +"Te recomiendo que siempre pongas paréntesis alrededor de una expresión :" +"keyword:`yield` cuando estés haciendo algo con el valor devuelto, como en el " +"ejemplo anterior. Los paréntesis no siempre son necesarios, pero es más " +"fácil añadirlos siempre en lugar de tener que recordar cuándo son necesarios." #: ../Doc/whatsnew/2.5.rst:451 msgid "" @@ -536,6 +769,11 @@ msgid "" "can write ``val = yield i`` but have to use parentheses when there's an " "operation, as in ``val = (yield i) + 12``.)" msgstr "" +"(:pep:`342` explica las reglas exactas, que consisten en que una expresión :" +"keyword:`yield`\\ debe ir siempre entre paréntesis, excepto cuando ocurre en " +"la expresión de nivel superior en el lado derecho de una asignación. Esto " +"significa que puedes escribir ``val = yield i`` pero tienes que usar " +"paréntesis cuando hay una operación, como en ``val = (yield i) + 12``)" #: ../Doc/whatsnew/2.5.rst:458 msgid "" @@ -544,16 +782,22 @@ msgid "" "the specified *value*. If the regular :meth:`next` method is called, the :" "keyword:`!yield` returns :const:`None`." msgstr "" +"Los valores se envían a un generador llamando a su método ``send(value)``. " +"El código del generador se reanuda y la expresión :keyword:`yield` devuelve " +"el *valor* especificado. Si se llama al método regular :meth:`next`, la " +"expresión :keyword:`!yield` devuelve :const:`None`." #: ../Doc/whatsnew/2.5.rst:463 msgid "" "Here's the previous example, modified to allow changing the value of the " "internal counter. ::" msgstr "" +"Aquí está el ejemplo anterior, modificado para permitir cambiar el valor del " +"contador interno. ::" #: ../Doc/whatsnew/2.5.rst:476 msgid "And here's an example of changing the counter::" -msgstr "" +msgstr "Y aquí hay un ejemplo de cambio de contador::" #: ../Doc/whatsnew/2.5.rst:493 msgid "" @@ -562,11 +806,16 @@ msgid "" "sure that the :meth:`send` method will be the only method used to resume " "your generator function." msgstr "" +":keyword:`yield` normalmente devolverá :const:`None`, por lo que siempre " +"debes comprobar este caso. No utilices su valor en las expresiones sin más, " +"a menos que estés seguro de que el método :meth:`send` será el único " +"utilizado para reanudar tu función generadora." #: ../Doc/whatsnew/2.5.rst:498 msgid "" "In addition to :meth:`send`, there are two other new methods on generators:" msgstr "" +"Además de :meth:`send`, hay otros dos nuevos métodos en los generadores:" #: ../Doc/whatsnew/2.5.rst:500 msgid "" @@ -574,6 +823,9 @@ msgid "" "inside the generator; the exception is raised by the :keyword:`yield` " "expression where the generator's execution is paused." msgstr "" +"``throw(type, value=None, traceback=None)`` se utiliza para lanzar una " +"excepción dentro del generador; la excepción es lanzada por la expresión :" +"keyword:`yield` donde la ejecución del generador se pausa." #: ../Doc/whatsnew/2.5.rst:504 msgid "" @@ -586,6 +838,14 @@ msgid "" "meth:`close` will also be called by Python's garbage collector when the " "generator is garbage-collected." msgstr "" +":meth:`close` lanza una nueva excepción :exc:`GeneratorExit` dentro del " +"generador para terminar la iteración. Al recibir esta excepción, el código " +"del generador debe lanzar :exc:`GeneratorExit` o :exc:`StopIteration`. " +"Capturar la excepción :exc:`GeneratorExit` y devolver un valor es ilegal y " +"provocará un :exc:`RuntimeError`; si la función lanza alguna otra excepción, " +"esa excepción se propaga a quien la llama. :meth:`close` también será " +"llamado por el recolector de basura de Python cuando el generador sea " +"recolectado." #: ../Doc/whatsnew/2.5.rst:512 msgid "" @@ -593,12 +853,18 @@ msgid "" "suggest using a ``try: ... finally:`` suite instead of catching :exc:" "`GeneratorExit`." msgstr "" +"Si necesitas ejecutar código de limpieza cuando se produce un :exc:" +"`GeneratorExit`, te sugiero que utilices un conjunto ``try: ... finally:`` " +"en lugar de atrapar :exc:`GeneratorExit`." #: ../Doc/whatsnew/2.5.rst:515 msgid "" "The cumulative effect of these changes is to turn generators from one-way " "producers of information into both producers and consumers." msgstr "" +"El efecto acumulativo de estos cambios es que los generadores pasan de ser " +"productores unidireccionales de información a ser tanto productores como " +"consumidores." #: ../Doc/whatsnew/2.5.rst:518 msgid "" @@ -609,6 +875,12 @@ msgid "" "statements). We'll have to figure out patterns for using coroutines " "effectively in Python." msgstr "" +"Los generadores también se convierten en *corutinas*, una forma más " +"generalizada de subrutinas. Las subrutinas se introducen en un punto y se " +"salen en otro (la parte superior de la función, y una declaración :keyword:" +"`return`), pero las coroutines pueden introducirse, salirse y reanudarse en " +"muchos puntos diferentes (las declaraciones :keyword:`yield`). Tendremos que " +"descubrir patrones para usar coroutines de forma efectiva en Python." #: ../Doc/whatsnew/2.5.rst:524 msgid "" @@ -624,6 +896,19 @@ msgid "" "necessary in order to implement the :keyword:`with` statement described by :" "pep:`343`. I'll look at this new statement in the following section." msgstr "" +"La adición del método :meth:`close` tiene un efecto secundario que no es " +"obvio. :meth:`close` es llamado cuando un generador es recogido por la " +"basura, lo que significa que el código del generador tiene una última " +"oportunidad de ejecutarse antes de que el generador sea destruido. Esta " +"última oportunidad significa que ahora se puede garantizar que las " +"sentencias ``intentar...finalmente`` en los generadores funcionen; la " +"cláusula :keyword:`finally` ahora siempre tendrá una oportunidad de " +"ejecutarse. Por lo tanto, se ha eliminado la restricción sintáctica que " +"impedía mezclar sentencias :keyword:`yield` con un conjunto ``try..." +"finally``. Esto parece una trivialidad menor del lenguaje, pero el uso de " +"generadores y ``try...finally`` es realmente necesario para implementar la " +"sentencia :keyword:`with` descrita por :pep:`343`. Veré esta nueva " +"sentencia en la siguiente sección." #: ../Doc/whatsnew/2.5.rst:536 msgid "" @@ -632,44 +917,54 @@ msgid "" "possible for :attr:`gi_frame` to be ``None`` once the generator has been " "exhausted." msgstr "" +"Otro efecto aún más esotérico de este cambio: antes, el atributo :attr:" +"`gi_frame` de un generador era siempre un objeto frame. Ahora es posible " +"que :attr:`gi_frame` sea ``None`` una vez que el generador se ha agotado." #: ../Doc/whatsnew/2.5.rst:549 msgid ":pep:`342` - Coroutines via Enhanced Generators" -msgstr "" +msgstr ":pep:`342` - Coroutines mediante generadores mejorados" #: ../Doc/whatsnew/2.5.rst:545 msgid "" "PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip " "J. Eby. Includes examples of some fancier uses of generators as coroutines." msgstr "" +"PEP escrito por Guido van Rossum y Phillip J. Eby; implementado por Phillip " +"J. Eby. Incluye ejemplos de algunos usos más sofisticados de los " +"generadores como coroutines." #: ../Doc/whatsnew/2.5.rst:548 msgid "" "Earlier versions of these features were proposed in :pep:`288` by Raymond " "Hettinger and :pep:`325` by Samuele Pedroni." msgstr "" +"Versiones anteriores de estas características fueron propuestas en :pep:" +"`288` por Raymond Hettinger y :pep:`325` por Samuele Pedroni." #: ../Doc/whatsnew/2.5.rst:552 msgid "https://en.wikipedia.org/wiki/Coroutine" -msgstr "" +msgstr "https://en.wikipedia.org/wiki/Coroutine" #: ../Doc/whatsnew/2.5.rst:552 msgid "The Wikipedia entry for coroutines." -msgstr "" +msgstr "La entrada de Wikipedia para las coroutines." #: ../Doc/whatsnew/2.5.rst:554 msgid "http://www.sidhe.org/~dan/blog/archives/000178.html" -msgstr "" +msgstr "http://www.sidhe.org/~dan/blog/archivos/000178.html" #: ../Doc/whatsnew/2.5.rst:555 msgid "" "An explanation of coroutines from a Perl point of view, written by Dan " "Sugalski." msgstr "" +"Una explicación de las coroutines desde el punto de vista de Perl, escrita " +"por Dan Sugalski." #: ../Doc/whatsnew/2.5.rst:563 msgid "PEP 343: The 'with' statement" -msgstr "" +msgstr "PEP 343: La declaración \"con" #: ../Doc/whatsnew/2.5.rst:565 msgid "" @@ -679,12 +974,19 @@ msgid "" "next section, I'll examine the implementation details and show how to write " "objects for use with this statement." msgstr "" +"La sentencia ':keyword:`with`' aclara el código que antes utilizaba bloques " +"``try...finally``' para asegurar que se ejecuta el código de limpieza. En " +"esta sección, hablaré de la sentencia tal y como se utiliza habitualmente. " +"En la siguiente sección, examinaré los detalles de la implementación y " +"mostraré cómo escribir objetos para usar con esta sentencia." #: ../Doc/whatsnew/2.5.rst:571 msgid "" "The ':keyword:`with`' statement is a new control-flow structure whose basic " "structure is::" msgstr "" +"La declaración ':keyword:`with`' es una nueva estructura de flujo de control " +"cuya estructura básica es::" #: ../Doc/whatsnew/2.5.rst:577 msgid "" @@ -692,6 +994,9 @@ msgid "" "the context management protocol (that is, has :meth:`__enter__` and :meth:" "`__exit__` methods." msgstr "" +"La expresión se evalúa y debe dar como resultado un objeto que soporte el " +"protocolo de gestión de contextos (es decir, que tenga los métodos :meth:" +"`__enter__` y :meth:`__exit__`)." #: ../Doc/whatsnew/2.5.rst:581 msgid "" @@ -700,6 +1005,11 @@ msgid "" "the name *variable*, if given. (Note carefully that *variable* is *not* " "assigned the result of *expression*.)" msgstr "" +"El :meth:`__enter__` del objeto es llamado antes de que se ejecute *with-" +"block* y por lo tanto puede ejecutar código de configuración. También puede " +"devolver un valor ligado al nombre *variable*, si se da. (Observe " +"cuidadosamente que a *variable* no se le asigna el resultado de la " +"*expresión*)" #: ../Doc/whatsnew/2.5.rst:586 msgid "" @@ -707,16 +1017,21 @@ msgid "" "`__exit__` method is called, even if the block raised an exception, and can " "therefore run clean-up code." msgstr "" +"Una vez finalizada la ejecución del *with-block*, se llama al método :meth:" +"`__exit__` del objeto, incluso si el bloque lanzó una excepción, y por lo " +"tanto puede ejecutar código de limpieza." #: ../Doc/whatsnew/2.5.rst:590 msgid "" "To enable the statement in Python 2.5, you need to add the following " "directive to your module::" msgstr "" +"Para habilitar la declaración en Python 2.5, debe añadir la siguiente " +"directiva a su módulo::" #: ../Doc/whatsnew/2.5.rst:595 msgid "The statement will always be enabled in Python 2.6." -msgstr "" +msgstr "La declaración siempre estará habilitada en Python 2.6." #: ../Doc/whatsnew/2.5.rst:597 msgid "" @@ -724,6 +1039,9 @@ msgid "" "can be used with the ':keyword:`with`' statement. File objects are one " "example::" msgstr "" +"Algunos objetos estándar de Python soportan ahora el protocolo de gestión de " +"contextos y pueden utilizarse con la sentencia ':keyword:`with`''. Los " +"objetos de archivo son un ejemplo::" #: ../Doc/whatsnew/2.5.rst:605 msgid "" @@ -731,24 +1049,33 @@ msgid "" "automatically closed, even if the :keyword:`for` loop raised an exception " "part-way through the block." msgstr "" +"Después de que esta sentencia se haya ejecutado, el objeto archivo en *f* se " +"habrá cerrado automáticamente, incluso si el bucle :keyword:`for` lanzó una " +"excepción a mitad del bloque." #: ../Doc/whatsnew/2.5.rst:611 msgid "" "In this case, *f* is the same object created by :func:`open`, because :meth:" "`file.__enter__` returns *self*." msgstr "" +"En este caso, *f* es el mismo objeto creado por :func:`open`, porque :meth:" +"`file.__enter__` devuelve *self*." #: ../Doc/whatsnew/2.5.rst:614 msgid "" "The :mod:`threading` module's locks and condition variables also support " "the ':keyword:`with`' statement::" msgstr "" +"Los bloqueos y las variables de condición del módulo :mod:`threading` " +"también soportan la sentencia ':keyword:`with`'::" #: ../Doc/whatsnew/2.5.rst:622 msgid "" "The lock is acquired before the block is executed and always released once " "the block is complete." msgstr "" +"El bloqueo se adquiere antes de que se ejecute el bloque y siempre se libera " +"una vez que el bloque se ha completado." #: ../Doc/whatsnew/2.5.rst:625 msgid "" @@ -756,10 +1083,13 @@ msgid "" "easy to save and restore the current decimal context, which encapsulates the " "desired precision and rounding characteristics for computations::" msgstr "" +"La nueva función :func:`localcontext` del módulo :mod:`decimal` facilita el " +"guardado y la restauración del contexto decimal actual, que encapsula las " +"características de precisión y redondeo deseadas para los cálculos::" #: ../Doc/whatsnew/2.5.rst:644 msgid "Writing Context Managers" -msgstr "" +msgstr "Redacción de Gestores de Contexto" #: ../Doc/whatsnew/2.5.rst:646 msgid "" @@ -769,10 +1099,17 @@ msgid "" "if you like. Authors of new objects will need to understand the details of " "the underlying implementation and should keep reading." msgstr "" +"Bajo el capó, la sentencia ':keyword:`with`' es bastante complicada. La " +"mayoría de la gente sólo utilizará ':keyword:`!with`' en compañía de objetos " +"existentes y no necesita conocer estos detalles, así que puedes saltarte el " +"resto de esta sección si quieres. Los autores de nuevos objetos necesitarán " +"entender los detalles de la implementación subyacente y deberían seguir " +"leyendo." #: ../Doc/whatsnew/2.5.rst:652 msgid "A high-level explanation of the context management protocol is:" msgstr "" +"Una explicación de alto nivel del protocolo de gestión del contexto es:" #: ../Doc/whatsnew/2.5.rst:654 msgid "" @@ -780,6 +1117,9 @@ msgid "" "\"context manager\". The context manager must have :meth:`__enter__` and :" "meth:`__exit__` methods." msgstr "" +"La expresión se evalúa y debe dar como resultado un objeto llamado \"gestor " +"de contexto\". El gestor de contexto debe tener métodos :meth:`__enter__` " +"y :meth:`__exit__`." #: ../Doc/whatsnew/2.5.rst:658 msgid "" @@ -787,10 +1127,13 @@ msgid "" "returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the " "value is simply discarded." msgstr "" +"Se llama al método :meth:`__enter__` del gestor de contexto. El valor " +"devuelto se asigna a *VAR*. Si no está presente la cláusula ``'as VAR'``, " +"el valor simplemente se descarta." #: ../Doc/whatsnew/2.5.rst:662 msgid "The code in *BLOCK* is executed." -msgstr "" +msgstr "Se ejecuta el código en *BLOQUE*." #: ../Doc/whatsnew/2.5.rst:664 msgid "" @@ -802,18 +1145,31 @@ msgid "" "if you do the author of the code containing the ':keyword:`with`' statement " "will never realize anything went wrong." msgstr "" +"Si *BLOCK* lanza una excepción, se llama a ``__exit__(type, value, " +"traceback)`` con los detalles de la excepción, los mismos valores devueltos " +"por :func:`sys.exc_info`. El valor de retorno del método controla si la " +"excepción se vuelve a lanzar: cualquier valor falso vuelve a lanzar la " +"excepción, y ``True`` resultará en suprimirla. Sólo en raras ocasiones " +"querrá suprimir la excepción, porque si lo hace el autor del código que " +"contiene la declaración ':keyword:`with`' nunca se dará cuenta de que algo " +"ha ido mal." #: ../Doc/whatsnew/2.5.rst:672 msgid "" "If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " "called, but *type*, *value*, and *traceback* are all ``None``." msgstr "" +"Si *BLOCK* no lanzó una excepción, el método :meth:`__exit__` sigue siendo " +"llamado, pero *type*, *value*, y *traceback* son todos ``None``." #: ../Doc/whatsnew/2.5.rst:675 msgid "" "Let's think through an example. I won't present detailed code but will only " "sketch the methods necessary for a database that supports transactions." msgstr "" +"Pensemos en un ejemplo. No presentaré un código detallado, sino que sólo " +"esbozaré los métodos necesarios para una base de datos que soporte " +"transacciones." #: ../Doc/whatsnew/2.5.rst:678 msgid "" @@ -823,12 +1179,21 @@ msgid "" "rolled back, meaning that the changes are all discarded and the database is " "unchanged. See any database textbook for more information.)" msgstr "" +"(Para quienes no estén familiarizados con la terminología de las bases de " +"datos: un conjunto de cambios en la base de datos se agrupa en una " +"transacción. Las transacciones pueden ser confirmadas, lo que significa que " +"todos los cambios se escriben en la base de datos, o revertidas, lo que " +"significa que todos los cambios se descartan y la base de datos no se " +"modifica. Consulte cualquier libro de texto sobre bases de datos para " +"obtener más información)" #: ../Doc/whatsnew/2.5.rst:684 msgid "" "Let's assume there's an object representing a database connection. Our goal " "will be to let the user write code like this::" msgstr "" +"Supongamos que hay un objeto que representa una conexión a la base de datos. " +"Nuestro objetivo será permitir que el usuario escriba código como este::" #: ../Doc/whatsnew/2.5.rst:693 msgid "" @@ -836,6 +1201,9 @@ msgid "" "or rolled back if there's an exception. Here's the basic interface for :" "class:`DatabaseConnection` that I'll assume::" msgstr "" +"La transacción debe ser confirmada si el código en el bloque se ejecuta sin " +"problemas o revertida si hay una excepción. Aquí está la interfaz básica " +"para :class:`DatabaseConnection` que voy a asumir::" #: ../Doc/whatsnew/2.5.rst:706 msgid "" @@ -845,6 +1213,11 @@ msgid "" "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" msgstr "" +"El método :meth:`__enter__` es bastante sencillo, ya que sólo hay que " +"iniciar una nueva transacción. Para esta aplicación el objeto cursor " +"resultante sería un resultado útil, por lo que el método lo devolverá. El " +"usuario puede entonces añadir ``as cursor`` a su sentencia ':keyword:`with`' " +"para ligar el cursor a un nombre de variable. ::" #: ../Doc/whatsnew/2.5.rst:718 msgid "" @@ -853,6 +1226,10 @@ msgid "" "occurred. If there was no exception, the transaction is committed. The " "transaction is rolled back if there was an exception." msgstr "" +"El método :meth:`__exit__` es el más complicado porque es donde hay que " +"hacer la mayor parte del trabajo. El método tiene que comprobar si se " +"produjo una excepción. Si no hubo ninguna excepción, la transacción es " +"confirmada. La transacción es revertida si hubo una excepción." #: ../Doc/whatsnew/2.5.rst:723 msgid "" @@ -861,10 +1238,15 @@ msgid "" "exception will be re-raised automatically. If you wished, you could be more " "explicit and add a :keyword:`return` statement at the marked location. ::" msgstr "" +"En el código de abajo, la ejecución simplemente caerá al final de la " +"función, devolviendo el valor por defecto de ``None``. ``None`` es falso, " +"por lo que la excepción se volverá a lanzar automáticamente. Si lo desea, " +"puede ser más explícito y añadir una declaración :keyword:`return` en el " +"lugar marcado. ::" #: ../Doc/whatsnew/2.5.rst:743 msgid "The contextlib module" -msgstr "" +msgstr "El módulo contextlib" #: ../Doc/whatsnew/2.5.rst:745 msgid "" @@ -872,6 +1254,9 @@ msgid "" "that are useful for writing objects for use with the ':keyword:`with`' " "statement." msgstr "" +"El nuevo módulo :mod:`contextlib` proporciona algunas funciones y un " +"decorador que son útiles para escribir objetos para usar con la sentencia ':" +"keyword:`with`'." #: ../Doc/whatsnew/2.5.rst:748 msgid "" @@ -885,12 +1270,23 @@ msgid "" "exception raised in the block will be raised by the :keyword:`!yield` " "statement." msgstr "" +"El decorador se llama :func:`contextmanager`, y permite escribir una única " +"función generadora en lugar de definir una nueva clase. El generador debe " +"producir exactamente un valor. El código hasta la palabra clave :keyword:" +"`yield` se ejecutará como el método :meth:`__enter__`, y el valor producido " +"será el valor de retorno del método que se vinculará a la variable en la " +"cláusula :keyword:`with` de la sentencia :keyword:`!as`, si existe. El " +"código después de :keyword:`yield` se ejecutará en el método :meth:" +"`__exit__`. Cualquier excepción lanzada en el bloque será lanzada por la " +"sentencia :keyword:`!yield`." #: ../Doc/whatsnew/2.5.rst:757 msgid "" "Our database example from the previous section could be written using this " "decorator as::" msgstr "" +"Nuestro ejemplo de base de datos de la sección anterior podría escribirse " +"utilizando este decorador como::" #: ../Doc/whatsnew/2.5.rst:777 msgid "" @@ -900,16 +1296,24 @@ msgid "" "with`' statement both starts a database transaction and acquires a thread " "lock::" msgstr "" +"El módulo :mod:`contextlib` también tiene una función ``anidada(mgr1, " +"mgr2, ...)`` que combina varios gestores de contexto para que no sea " +"necesario escribir sentencias ':keyword:`with`' anidadas. En este ejemplo, " +"la única sentencia ':keyword:`!with`` inicia una transacción de base de " +"datos y adquiere un bloqueo de hilo::" #: ../Doc/whatsnew/2.5.rst:786 msgid "" "Finally, the ``closing(object)`` function returns *object* so that it can be " "bound to a variable, and calls ``object.close`` at the end of the block. ::" msgstr "" +"Por último, la función ``closing(object)`` devuelve el *objeto* para que " +"pueda ser vinculado a una variable, y llama a ``object.close`` al final del " +"bloque. ::" #: ../Doc/whatsnew/2.5.rst:803 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - La declaración \"con\"" #: ../Doc/whatsnew/2.5.rst:800 msgid "" @@ -918,14 +1322,18 @@ msgid "" "':keyword:`with`' statement, which can be helpful in learning how the " "statement works." msgstr "" +"PEP escrito por Guido van Rossum y Nick Coghlan; implementado por Mike " +"Bland, Guido van Rossum y Neal Norwitz. El PEP muestra el código generado " +"para una sentencia ':keyword:`with`', que puede ser útil para aprender cómo " +"funciona la sentencia." #: ../Doc/whatsnew/2.5.rst:805 msgid "The documentation for the :mod:`contextlib` module." -msgstr "" +msgstr "La documentación del módulo :mod:`contextlib`." #: ../Doc/whatsnew/2.5.rst:813 msgid "PEP 352: Exceptions as New-Style Classes" -msgstr "" +msgstr "PEP 352: Las excepciones como clases de nuevo estilo" #: ../Doc/whatsnew/2.5.rst:815 msgid "" @@ -934,12 +1342,18 @@ msgid "" "exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style " "classes." msgstr "" +"Las clases de excepción ahora pueden ser clases de nuevo estilo, no sólo " +"clases clásicas, y la clase incorporada :exc:`Exception` y todas las " +"excepciones incorporadas estándar (:exc:`NameError`, :exc:`ValueError`, " +"etc.) son ahora clases de nuevo estilo." #: ../Doc/whatsnew/2.5.rst:819 msgid "" "The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, " "the inheritance relationships are::" msgstr "" +"La jerarquía de herencia de las excepciones se ha reordenado un poco. En " +"2.5, las relaciones de herencia son::" #: ../Doc/whatsnew/2.5.rst:828 msgid "" @@ -951,6 +1365,14 @@ msgid "" "exc:`KeyboardInterrupt` and :exc:`SystemExit` in order to re-raise them. " "The usual pattern is::" msgstr "" +"Esta reorganización se hizo porque la gente a menudo quiere atrapar todas " +"las excepciones que indican errores del programa. :exc:`KeyboardInterrupt` " +"y :exc:`SystemExit` no son errores, sin embargo, y por lo general " +"representan una acción explícita como el usuario pulsando :kbd:`Control-C` o " +"el código llamando a :func:`sys.exit`. Una simple ``except:`` atrapará " +"todas las excepciones, por lo que comúnmente se necesita listar :exc:" +"`KeyboardInterrupt` y :exc:`SystemExit` para volver a lanzarlas. El patrón " +"habitual es::" #: ../Doc/whatsnew/2.5.rst:843 msgid "" @@ -959,6 +1381,11 @@ msgid "" "leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in " "previous versions, a bare ``except:`` still catches all exceptions." msgstr "" +"En Python 2.5, ahora puedes escribir ``except Exception`` para conseguir el " +"mismo resultado, capturando todas las excepciones que suelen indicar errores " +"pero dejando :exc:`KeyboardInterrupt` y :exc:`SystemExit` en paz. Como en " +"versiones anteriores, un ``except:`` desnudo sigue capturando todas las " +"excepciones." #: ../Doc/whatsnew/2.5.rst:848 msgid "" @@ -970,6 +1397,13 @@ msgid "" "``except:`` form should be removed in Python 3.0, but Guido van Rossum " "hasn't decided whether to do this or not." msgstr "" +"El objetivo de Python 3.0 es requerir que cualquier clase lanzada como " +"excepción derive de :exc:`BaseException` o de algún descendiente de :exc:" +"`BaseException`, y las futuras versiones de la serie Python 2.x pueden " +"empezar a imponer esta restricción. Por lo tanto, sugiero que empieces a " +"hacer que todas tus clases de excepción deriven de :exc:`Exception` ahora. " +"Se ha sugerido que la forma desnuda ``except:`` sea eliminada en Python 3.0, " +"pero Guido van Rossum no ha decidido si hacerlo o no." #: ../Doc/whatsnew/2.5.rst:856 msgid "" @@ -977,20 +1411,26 @@ msgid "" "occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The " "aim is to be able to remove the string-exception feature in a few releases." msgstr "" +"El lanzamiento de cadenas como excepciones, como en la declaración ``raise " +"\"Error occurred\"``, está obsoleto en Python 2.5 y provocará una " +"advertencia. El objetivo es poder eliminar la función de excepción de " +"cadena en algunas versiones." #: ../Doc/whatsnew/2.5.rst:863 msgid ":pep:`352` - Required Superclass for Exceptions" -msgstr "" +msgstr ":pep:`352` - Superclase necesaria para las excepciones" #: ../Doc/whatsnew/2.5.rst:864 msgid "" "PEP written by Brett Cannon and Guido van Rossum; implemented by Brett " "Cannon." msgstr "" +"PEP escrito por Brett Cannon y Guido van Rossum; implementado por Brett " +"Cannon." #: ../Doc/whatsnew/2.5.rst:872 msgid "PEP 353: Using ssize_t as the index type" -msgstr "" +msgstr "PEP 353: Uso de ssize_t como tipo de índice" #: ../Doc/whatsnew/2.5.rst:874 msgid "" @@ -999,6 +1439,10 @@ msgid "" "handle more data on 64-bit platforms. This change doesn't affect Python's " "capacity on 32-bit platforms." msgstr "" +"Un amplio cambio en la API C de Python, que utiliza una nueva definición de " +"tipo :c:type:`Py_ssize_t` en lugar de :c:type:`int`, permitirá al intérprete " +"manejar más datos en plataformas de 64 bits. Este cambio no afecta a la " +"capacidad de Python en plataformas de 32 bits." #: ../Doc/whatsnew/2.5.rst:879 msgid "" @@ -1011,6 +1455,16 @@ msgid "" "www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " "commonly available model leaves :c:type:`int` as 32 bits.)" msgstr "" +"Varias partes del intérprete de Python utilizaban el tipo :c:type:`int` de C " +"para almacenar tamaños o recuentos; por ejemplo, el número de elementos de " +"una lista o tupla se almacenaba en un :c:type:`int`. Los compiladores de C " +"para la mayoría de las plataformas de 64 bits siguen definiendo :c:type:" +"`int` como un tipo de 32 bits, lo que significa que las listas sólo pueden " +"contener hasta ``2**31 - 1`` = 2147483647 elementos. (En realidad, hay " +"algunos modelos de programación diferentes que los compiladores de C de 64 " +"bits pueden utilizar -- véase http://www.unix.org/version2/whatsnew/lp64_wp." +"html para una discusión -- pero el modelo más comúnmente disponible deja :c:" +"type:`int` como de 32 bits)" #: ../Doc/whatsnew/2.5.rst:888 msgid "" @@ -1020,6 +1474,12 @@ msgid "" "type:`PyObject` representing the item. 2147483647\\*4 is already more bytes " "than a 32-bit address space can contain." msgstr "" +"Un límite de 2147483647 elementos no importa realmente en una plataforma de " +"32 bits porque te quedarás sin memoria antes de alcanzar el límite de " +"longitud. Cada elemento de la lista requiere espacio para un puntero, que es " +"de 4 bytes, más espacio para un :c:type:`PyObject` que representa el " +"elemento. 2147483647*4 ya son más bytes de los que puede contener un " +"espacio de direcciones de 32 bits." #: ../Doc/whatsnew/2.5.rst:894 msgid "" @@ -1033,6 +1493,17 @@ msgid "" "users is still relatively small. (In 5 or 10 years, we may *all* be on 64-" "bit machines, and the transition would be more painful then.)" msgstr "" +"Sin embargo, es posible direccionar esa cantidad de memoria en una " +"plataforma de 64 bits. Los punteros para una lista de ese tamaño sólo " +"requerirían 16 GiB de espacio, por lo que no es descabellado que los " +"programadores de Python puedan construir listas tan grandes. Por lo tanto, " +"el intérprete de Python tuvo que ser cambiado para usar algún tipo diferente " +"a :c:type:`int`, y este será un tipo de 64 bits en plataformas de 64 bits. " +"El cambio causará incompatibilidades en las máquinas de 64 bits, por lo que " +"se consideró que valía la pena hacer la transición ahora, mientras el número " +"de usuarios de 64 bits es todavía relativamente pequeño. (En 5 o 10 años, " +"puede que *todos* estemos en máquinas de 64 bits, y la transición sería " +"entonces más dolorosa)" #: ../Doc/whatsnew/2.5.rst:904 msgid "" @@ -1042,6 +1513,12 @@ msgid "" "now return :c:type:`Py_ssize_t`. Code in extension modules may therefore " "need to have some variables changed to :c:type:`Py_ssize_t`." msgstr "" +"Este cambio afecta en mayor medida a los autores de módulos de extensión de " +"C. Las cadenas de Python y los tipos contenedores como las listas y las " +"tuplas utilizan ahora :c:type:`Py_ssize_t` para almacenar su tamaño. " +"Funciones como :c:func:`PyList_Size` ahora devuelven :c:type:`Py_ssize_t`. " +"Por lo tanto, el código de los módulos de extensión puede necesitar cambiar " +"algunas variables a :c:type:`Py_ssize_t`." #: ../Doc/whatsnew/2.5.rst:910 msgid "" @@ -1051,24 +1528,32 @@ msgid "" "default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before " "including :file:`Python.h` to make them return :c:type:`Py_ssize_t`." msgstr "" +"Las funciones :c:func:`PyArg_ParseTuple` y :c:func:`Py_BuildValue` tienen un " +"nuevo código de conversión, ``n``, para :c:type:`Py_ssize_t`. Las " +"funciones :c:func:`PyArg_ParseTuple` ``s#`` y ``t#`` siguen devolviendo :c:" +"type:`int` por defecto, pero puedes definir la macro :c:macro:" +"`PY_SSIZE_T_CLEAN` antes de incluir :file:`Python.h` para que devuelvan :c:" +"type:`Py_ssize_t`." #: ../Doc/whatsnew/2.5.rst:916 msgid "" ":pep:`353` has a section on conversion guidelines that extension authors " "should read to learn about supporting 64-bit platforms." msgstr "" +":pep:`353` tiene una sección sobre directrices de conversión que los autores " +"de extensiones deberían leer para aprender a soportar plataformas de 64 bits." #: ../Doc/whatsnew/2.5.rst:922 msgid ":pep:`353` - Using ssize_t as the index type" -msgstr "" +msgstr ":pep:`353` - Uso de ssize_t como tipo de índice" #: ../Doc/whatsnew/2.5.rst:923 msgid "PEP written and implemented by Martin von Löwis." -msgstr "" +msgstr "PEP escrito y aplicado por Martin von Löwis." #: ../Doc/whatsnew/2.5.rst:931 msgid "PEP 357: The '__index__' method" -msgstr "" +msgstr "PEP 357: El método '__index__'" #: ../Doc/whatsnew/2.5.rst:933 msgid "" @@ -1080,6 +1565,14 @@ msgid "" "8, 16, 32, and 64 bits, but there was no way to signal that these types " "could be used as slice indexes." msgstr "" +"Los desarrolladores de NumPy tenían un problema que sólo podía resolverse " +"añadiendo un nuevo método especial, :meth:`__index__`. Cuando se utiliza la " +"notación de trozos, como en ``[start:stop:step]``, los valores de los " +"índices *start*, *stop* y *step* deben ser todos enteros o enteros largos. " +"NumPy define una variedad de tipos de enteros especializados que " +"corresponden a enteros sin signo y con signo de 8, 16, 32 y 64 bits, pero no " +"había forma de señalar que estos tipos pudieran usarse como índices de " +"trozos." #: ../Doc/whatsnew/2.5.rst:941 msgid "" @@ -1088,6 +1581,11 @@ msgid "" "meth:`__int__`, floating-point numbers would also become legal slice indexes " "and that's clearly an undesirable behaviour." msgstr "" +"El rebanado no puede utilizar el método :meth:`__int__` existente porque ese " +"método también se utiliza para implementar la coerción a enteros. Si el " +"rebanado utilizara :meth:`__int__`, los números de punto flotante también se " +"convertirían en índices de rebanada legales y eso es claramente un " +"comportamiento indeseable." #: ../Doc/whatsnew/2.5.rst:946 msgid "" @@ -1095,6 +1593,9 @@ msgid "" "no arguments and returns an integer giving the slice index to use. For " "example::" msgstr "" +"En su lugar, se ha añadido un nuevo método especial llamado :meth:" +"`__index__`. No toma argumentos y devuelve un entero que da el índice de " +"corte a utilizar. Por ejemplo::" #: ../Doc/whatsnew/2.5.rst:953 msgid "" @@ -1102,6 +1603,9 @@ msgid "" "interpreter will check that the type returned is correct, and raises a :exc:" "`TypeError` if this requirement isn't met." msgstr "" +"El valor devuelto debe ser un entero de Python o un entero largo. El " +"intérprete comprobará que el tipo devuelto es correcto, y lanza un :exc:" +"`TypeError` si no se cumple este requisito." #: ../Doc/whatsnew/2.5.rst:957 msgid "" @@ -1110,24 +1614,31 @@ msgid "" "``PyNumber_Index(obj)`` can be used in extension code to call the :meth:" "`__index__` function and retrieve its result." msgstr "" +"Se ha añadido la correspondiente ranura :attr:`nb_index` a la estructura :c:" +"type:`PyNumberMethods` de nivel C para que las extensiones C puedan " +"implementar este protocolo. El código de la extensión puede utilizar " +"``PyNumber_Index(obj)`` para llamar a la función :meth:`__index__` y obtener " +"su resultado." #: ../Doc/whatsnew/2.5.rst:965 msgid ":pep:`357` - Allowing Any Object to be Used for Slicing" -msgstr "" +msgstr ":pep:`357` - Permitir el uso de cualquier objeto para rebanar" #: ../Doc/whatsnew/2.5.rst:966 msgid "PEP written and implemented by Travis Oliphant." -msgstr "" +msgstr "PEP escrito e implementado por Travis Oliphant." #: ../Doc/whatsnew/2.5.rst:974 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios lingüísticos" #: ../Doc/whatsnew/2.5.rst:976 msgid "" "Here are all of the changes that Python 2.5 makes to the core Python " "language." msgstr "" +"Estos son todos los cambios que Python 2.5 introduce en el núcleo del " +"lenguaje Python." #: ../Doc/whatsnew/2.5.rst:978 msgid "" @@ -1138,12 +1649,22 @@ msgid "" "`collections` module. The following example defines a dictionary that " "returns zero for any missing key::" msgstr "" +"El tipo :class:`dict` tiene un nuevo gancho para permitir que las subclases " +"proporcionen un valor por defecto cuando una clave no está contenida en el " +"diccionario. Cuando no se encuentre una clave, se llamará al método " +"``missing__(key)`` del diccionario. Este hook se utiliza para implementar " +"la nueva clase :class:`defaultdict` en el módulo :mod:`collections`. El " +"siguiente ejemplo define un diccionario que devuelve cero para cualquier " +"clave que falte::" #: ../Doc/whatsnew/2.5.rst:993 msgid "" "Both 8-bit and Unicode strings have new ``partition(sep)`` and " "``rpartition(sep)`` methods that simplify a common use case." msgstr "" +"Tanto las cadenas de 8 bits como las de Unicode tienen nuevos métodos " +"``partition(sep)`` y ``rpartition(sep)`` que simplifican un caso de uso " +"común." #: ../Doc/whatsnew/2.5.rst:996 msgid "" @@ -1157,25 +1678,37 @@ msgid "" "tuple but starts searching from the end of the string; the ``r`` stands for " "'reverse'." msgstr "" +"El método ``find(S)`` se utiliza a menudo para obtener un índice que luego " +"se utiliza para cortar la cadena y obtener las piezas que están antes y " +"después del separador. El método ``partition(sep)`` condensa este patrón en " +"una sola llamada al método que devuelve una tripleta que contiene la " +"subcadena antes del separador, el propio separador y la subcadena después " +"del separador. Si no se encuentra el separador, el primer elemento de la " +"tupla es la cadena completa y los otros dos elementos están vacíos. " +"``rpartition(sep)`` también devuelve una tupla de 3 elementos, pero empieza " +"a buscar desde el final de la cadena; la ``r`` significa \"al revés\"." #: ../Doc/whatsnew/2.5.rst:1005 msgid "Some examples::" -msgstr "" +msgstr "Algunos ejemplos::" #: ../Doc/whatsnew/2.5.rst:1018 msgid "" "(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)" msgstr "" +"(Implementado por Fredrik Lundh tras una sugerencia de Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1020 msgid "" "The :meth:`startswith` and :meth:`endswith` methods of string types now " "accept tuples of strings to check for. ::" msgstr "" +"Los métodos :meth:`startswith` y :meth:`endswith` de los tipos de cadena " +"aceptan ahora tuplas de cadenas para su comprobación. ::" #: ../Doc/whatsnew/2.5.rst:1026 msgid "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)" -msgstr "" +msgstr "(Implementado por Georg Brandl tras una sugerencia de Tom Lynn)" #: ../Doc/whatsnew/2.5.rst:1030 msgid "" @@ -1186,10 +1719,16 @@ msgid "" "with the smallest/largest return value from this function. For example, to " "find the longest string in a list, you can do::" msgstr "" +"Las funciones incorporadas :func:`min` y :func:`max` han ganado un parámetro " +"de palabra clave ``key`` análogo al argumento ``key`` de :meth:`sort`. Este " +"parámetro proporciona una función que toma un único argumento y es llamada " +"para cada valor de la lista; :func:`min`/:func:`max` devolverá el elemento " +"con el valor de retorno más pequeño/más grande de esta función. Por ejemplo, " +"para encontrar la cadena más larga de una lista, puede hacer::" #: ../Doc/whatsnew/2.5.rst:1043 msgid "(Contributed by Steven Bethard and Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución de Steven Bethard y Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1045 msgid "" @@ -1200,6 +1739,12 @@ msgid "" "values returned by the iterator evaluate as true. (Suggested by Guido van " "Rossum, and implemented by Raymond Hettinger.)" msgstr "" +"Dos nuevas funciones incorporadas, :func:`any` y :func:`all`, evalúan si un " +"iterador contiene algún valor verdadero o falso. :func:`any` devuelve :const:" +"`True` si cualquier valor devuelto por el iterador es verdadero; en caso " +"contrario devolverá :const:`False`. :func:`all` devuelve :const:`True` sólo " +"si todos los valores devueltos por el iterador se evalúan como verdaderos. " +"(Sugerido por Guido van Rossum, e implementado por Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1052 msgid "" @@ -1210,6 +1755,13 @@ msgid "" "return non-negative numbers, and users often seem to use ``id(self)`` in :" "meth:`__hash__` methods (though this is discouraged)." msgstr "" +"El resultado del método :meth:`__hash__` de una clase puede ser ahora un " +"entero largo o un entero normal. Si se devuelve un entero largo, se toma el " +"hash de ese valor. En versiones anteriores se requería que el valor del " +"hash fuera un entero regular, pero en 2.5 el built-in :func:`id` se cambió " +"para devolver siempre números no negativos, y los usuarios parecen utilizar " +"a menudo ``id(self)`` en los métodos :meth:`__hash__` (aunque esto se " +"desaconseja)." #: ../Doc/whatsnew/2.5.rst:1061 msgid "" @@ -1219,6 +1771,12 @@ msgid "" "error. See :pep:`263` for how to declare a module's encoding; for example, " "you might add a line like this near the top of the source file::" msgstr "" +"ASCII es ahora la codificación por defecto para los módulos. Ahora es un " +"error de sintaxis si un módulo contiene literales de cadena con caracteres " +"de 8 bits pero no tiene una declaración de codificación. En Python 2.4 esto " +"provocaba una advertencia, no un error de sintaxis. Vea en :pep:`263` cómo " +"declarar la codificación de un módulo; por ejemplo, puede añadir una línea " +"como ésta cerca de la parte superior del fichero fuente::" #: ../Doc/whatsnew/2.5.rst:1069 msgid "" @@ -1227,6 +1785,10 @@ msgid "" "Unicode using the default ASCII encoding. The result of the comparison is " "false::" msgstr "" +"Una nueva advertencia, :class:`UnicodeWarning`, se activa cuando se intenta " +"comparar una cadena Unicode y una cadena de 8 bits que no se puede convertir " +"a Unicode utilizando la codificación ASCII por defecto. El resultado de la " +"comparación es falso::" #: ../Doc/whatsnew/2.5.rst:1081 msgid "" @@ -1237,6 +1799,13 @@ msgid "" "resulted in this exception being raised instead of suppressed by the code " "in :file:`dictobject.c` that implements dictionaries." msgstr "" +"Anteriormente, esto lanzaba una excepción :class:`UnicodeDecodeError`, pero " +"en 2.5 esto podía dar lugar a problemas desconcertantes al acceder a un " +"diccionario. Si se buscaba ``unichr(128)`` y se utilizaba ``chr(128)`` como " +"clave, se producía una excepción :class:`UnicodeDecodeError`. Otros cambios " +"en la versión 2.5 hicieron que esta excepción se lanzara en lugar de ser " +"suprimida por el código de :file:`dictobject.c` que implementa los " +"diccionarios." #: ../Doc/whatsnew/2.5.rst:1088 msgid "" @@ -1244,10 +1813,13 @@ msgid "" "change might have broken code, so instead :class:`UnicodeWarning` was " "introduced." msgstr "" +"Lanzar una excepción para tal comparación es estrictamente correcto, pero el " +"cambio podría haber roto el código, así que en su lugar se introdujo :class:" +"`UnicodeWarning`." #: ../Doc/whatsnew/2.5.rst:1091 msgid "(Implemented by Marc-André Lemburg.)" -msgstr "" +msgstr "(Implementado por Marc-André Lemburg.)" #: ../Doc/whatsnew/2.5.rst:1093 msgid "" @@ -1261,20 +1833,32 @@ msgid "" "running the Python executable to display the warning message. (Implemented " "by Thomas Wouters.)" msgstr "" +"Un error que a veces cometen los programadores de Python es olvidarse de " +"incluir un módulo :file:`__init__.py` en el directorio de un paquete. " +"Depurar este error puede ser confuso, y normalmente requiere ejecutar Python " +"con el modificador :option:`-v` para registrar todas las rutas buscadas. En " +"Python 2.5, una nueva advertencia :exc:`ImportWarning` se activa cuando una " +"importación habría recogido un directorio como paquete pero no se encontró " +"ningún :file:`__init__.py`. Esta advertencia se ignora silenciosamente por " +"defecto; proporcione la opción :option:`-Wd <-W>` cuando ejecute el " +"ejecutable de Python para mostrar el mensaje de advertencia. (Implementado " +"por Thomas Wouters)" #: ../Doc/whatsnew/2.5.rst:1102 msgid "" "The list of base classes in a class definition can now be empty. As an " "example, this is now legal::" msgstr "" +"La lista de clases base en una definición de clase ahora puede estar " +"vacía. Como ejemplo, esto es ahora legal::" #: ../Doc/whatsnew/2.5.rst:1108 msgid "(Implemented by Brett Cannon.)" -msgstr "" +msgstr "(Implementado por Brett Cannon.)" #: ../Doc/whatsnew/2.5.rst:1116 msgid "Interactive Interpreter Changes" -msgstr "" +msgstr "Cambios en el intérprete interactivo" #: ../Doc/whatsnew/2.5.rst:1118 msgid "" @@ -1282,6 +1866,9 @@ msgid "" "strings so that new users get a somewhat helpful message when they try to " "quit::" msgstr "" +"En el intérprete interactivo, ``quit`` y ``exit`` han sido durante mucho " +"tiempo cadenas para que los nuevos usuarios obtengan un mensaje algo útil " +"cuando intenten salir::" #: ../Doc/whatsnew/2.5.rst:1124 msgid "" @@ -1290,6 +1877,10 @@ msgid "" "``quit()`` or ``exit()`` will now exit the interpreter as they expect. " "(Implemented by Georg Brandl.)" msgstr "" +"En Python 2.5, ``quit`` y ``exit`` son ahora objetos que siguen produciendo " +"representaciones de cadena de sí mismos, pero también son invocables. Los " +"novatos que prueben ``quit()`` o ``exit()`` ahora saldrán del intérprete " +"como se espera. (Implementado por Georg Brandl.)" #: ../Doc/whatsnew/2.5.rst:1129 msgid "" @@ -1297,10 +1888,13 @@ msgid "" "help` and :option:`--version`; on Windows, it also accepts the :option:`/? " "<-?>` option for displaying a help message. (Implemented by Georg Brandl.)" msgstr "" +"El ejecutable de Python ahora acepta las opciones largas estándar :option:`--" +"help` y :option:`--version`; en Windows, también acepta la opción :option:" +"`/? <-?>` para mostrar un mensaje de ayuda. (Implementado por Georg Brandl)" #: ../Doc/whatsnew/2.5.rst:1139 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/2.5.rst:1141 msgid "" @@ -1310,6 +1904,12 @@ msgid "" "LLC with local support from CCP Games. Those optimizations added at this " "sprint are specially marked in the following list." msgstr "" +"Varias de las optimizaciones se desarrollaron en el sprint NeedForSpeed, un " +"evento celebrado en Reikiavik, Islandia, del 21 al 28 de mayo de 2006. El " +"sprint se centró en las mejoras de velocidad de la implementación de CPython " +"y fue financiado por EWT LLC con el apoyo local de CCP Games. Las " +"optimizaciones añadidas en este sprint están especialmente marcadas en la " +"siguiente lista." #: ../Doc/whatsnew/2.5.rst:1147 msgid "" @@ -1319,6 +1919,11 @@ msgid "" "and as a result sets will use a third less memory and are somewhat faster. " "(Implemented by Raymond Hettinger.)" msgstr "" +"Cuando se introdujeron en Python 2.4, los tipos incorporados :class:`set` y :" +"class:`frozenset` se construyeron sobre el tipo diccionario de Python. En " +"2.5 la estructura de datos interna se ha personalizado para implementar " +"conjuntos, y como resultado los conjuntos utilizarán un tercio menos de " +"memoria y son algo más rápidos. (Implementado por Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1153 msgid "" @@ -1328,6 +1933,12 @@ msgid "" "Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by " "Walter Dörwald and Martin von Löwis.)" msgstr "" +"Se ha mejorado la velocidad de algunas operaciones Unicode, como la búsqueda " +"de subcadenas, la división de cadenas y la codificación y decodificación de " +"mapas de caracteres. (Las mejoras en la búsqueda de subcadenas y la división " +"fueron añadidas por Fredrik Lundh y Andrew Dalke en el sprint NeedForSpeed. " +"Los mapas de caracteres fueron mejorados por Walter Dörwald y Martin von " +"Löwis)" #: ../Doc/whatsnew/2.5.rst:1161 msgid "" @@ -1336,6 +1947,10 @@ msgid "" "around 800--1000 digits where the function is 6 times faster. (Contributed " "by Alan McIntyre and committed at the NeedForSpeed sprint.)" msgstr "" +"La función ``long(str, base)`` es ahora más rápida en cadenas de dígitos " +"largos porque se calculan menos resultados intermedios. El máximo es para " +"cadenas de alrededor de 800-1000 dígitos, donde la función es 6 veces más " +"rápida. (Aportado por Alan McIntyre y comprometido en el sprint NeedForSpeed)" #: ../Doc/whatsnew/2.5.rst:1168 msgid "" @@ -1347,22 +1962,35 @@ msgid "" "methods will now trigger a :exc:`ValueError` from the :meth:`read\\*` " "method. (Implemented by Thomas Wouters.)" msgstr "" +"Ahora es ilegal mezclar la iteración sobre un fichero con ``for line in " +"file`` y llamar a los métodos :meth:`read`/:meth:`readline`/:meth:" +"`readlines` del objeto fichero. La iteración utiliza un buffer interno y " +"los métodos :meth:`read\\*` no utilizan ese buffer. En su lugar, " +"devolverán los datos que siguen al buffer, haciendo que los datos aparezcan " +"desordenados. Mezclar la iteración y estos métodos provocará ahora un :exc:" +"`ValueError` del método :meth:`read\\*`. (Implementado por Thomas Wouters)" -#: ../Doc/whatsnew/2.5.rst:1178 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1178, python-format msgid "" "The :mod:`struct` module now compiles structure format strings into an " -"internal representation and caches this representation, yielding a " -"20% speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" +"internal representation and caches this representation, yielding a 20% " +"speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" msgstr "" +"El módulo :mod:`struct` ahora compila cadenas de formato de estructura en " +"una representación interna y almacena en caché esta representación, lo que " +"supone una mejora del 20% s. (Contribuido por Bob Ippolito en el sprint " +"NeedForSpeed)" -#: ../Doc/whatsnew/2.5.rst:1182 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1182, python-format msgid "" "The :mod:`re` module got a 1 or 2% speedup by switching to Python's " "allocator functions instead of the system's :c:func:`malloc` and :c:func:" "`free`. (Contributed by Jack Diederich at the NeedForSpeed sprint.)" msgstr "" +"El módulo :mod:`re` obtuvo un 1 o 2% s de velocidad al cambiar a las " +"funciones asignadoras de Python en lugar de las :c:func:`malloc` y :c:func:" +"`free` del sistema. (Contribuido por Jack Diederich en el sprint " +"NeedForSpeed)" #: ../Doc/whatsnew/2.5.rst:1186 msgid "" @@ -1371,6 +1999,11 @@ msgid "" "will do the arithmetic and produce code corresponding to ``a = 5``. " "(Proposed and implemented by Raymond Hettinger.)" msgstr "" +"El optimizador de la mirilla del generador de código realiza ahora un simple " +"plegado de constantes en las expresiones. Si escribes algo como ``a = " +"2+3``, el generador de código hará la aritmética y producirá el código " +"correspondiente a ``a = 5``. (Propuesto e implementado por Raymond " +"Hettinger)" #: ../Doc/whatsnew/2.5.rst:1191 msgid "" @@ -1382,15 +2015,27 @@ msgid "" "may improve cache locality and reduce memory usage a bit. (Contributed by " "Neal Norwitz.)" msgstr "" +"Las llamadas a funciones son ahora más rápidas porque los objetos de código " +"guardan ahora el último fotograma terminado (un \"fotograma zombi\") en un " +"campo interno del objeto de código, reutilizándolo la próxima vez que se " +"invoque el objeto de código. (Parche original de Michael Hudson, modificado " +"por Armin Rigo y Richard Jones; confirmado en el sprint NeedForSpeed) Los " +"objetos marco son también ligeramente más pequeños, lo que puede mejorar la " +"localidad de la caché y reducir un poco el uso de la memoria. (Contribución " +"de Neal Norwitz)" -#: ../Doc/whatsnew/2.5.rst:1201 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1201, python-format msgid "" "Python's built-in exceptions are now new-style classes, a change that speeds " "up instantiation considerably. Exception handling in Python 2.5 is " "therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg " "Brandl and Sean Reifschneider at the NeedForSpeed sprint.)" msgstr "" +"Las excepciones incorporadas en Python son ahora clases de nuevo estilo, un " +"cambio que acelera considerablemente la instanciación. El manejo de " +"excepciones en Python 2.5 es, por tanto, un 30% f más rápido que en 2.4. " +"(Contribución de Richard Jones, Georg Brandl y Sean Reifschneider en el " +"sprint NeedForSpeed)" #: ../Doc/whatsnew/2.5.rst:1206 msgid "" @@ -1398,10 +2043,13 @@ msgid "" "so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls " "on startup. (Contributed by Martin von Löwis and Georg Brandl.)" msgstr "" +"La importación ahora almacena en caché las rutas intentadas, registrando si " +"existen o no para que el intérprete haga menos llamadas a :c:func:`open` y :" +"c:func:`stat` al iniciar. (Contribución de Martin von Löwis y Georg Brandl)" #: ../Doc/whatsnew/2.5.rst:1218 msgid "New, Improved, and Removed Modules" -msgstr "" +msgstr "Módulos nuevos, mejorados y eliminados" #: ../Doc/whatsnew/2.5.rst:1220 msgid "" @@ -1411,12 +2059,21 @@ msgid "" "more complete list of changes, or look through the SVN logs for all the " "details." msgstr "" +"La biblioteca estándar ha recibido muchas mejoras y correcciones de errores " +"en Python 2.5. Aquí hay una lista parcial de los cambios más notables, " +"ordenados alfabéticamente por el nombre del módulo. Consulte el archivo :" +"file:`Misc/NEWS` en el árbol de fuentes para obtener una lista más completa " +"de los cambios, o busque en los registros de SVN para obtener todos los " +"detalles." #: ../Doc/whatsnew/2.5.rst:1225 msgid "" "The :mod:`audioop` module now supports the a-LAW encoding, and the code for " "u-LAW encoding has been improved. (Contributed by Lars Immisch.)" msgstr "" +"El módulo :mod:`audioop` soporta ahora la codificación a-LAW, y se ha " +"mejorado el código para la codificación u-LAW. (Contribución de Lars " +"Immisch)" #: ../Doc/whatsnew/2.5.rst:1228 msgid "" @@ -1431,6 +2088,17 @@ msgid "" "module documentation for details. (Designed and implemented by Walter " "Dörwald.)" msgstr "" +"El módulo :mod:`codecs` ha ganado soporte para códecs incrementales. La " +"función :func:`codec.lookup` devuelve ahora una instancia de :class:" +"`CodecInfo` en lugar de una tupla. Las instancias de :class:`CodecInfo` se " +"comportan como una cuádruple tupla para preservar la compatibilidad con " +"versiones anteriores, pero también tienen los atributos :attr:`encode`, :" +"attr:`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:" +"`streamwriter` y :attr:`streamreader`. Los códecs incrementales pueden " +"recibir la entrada y producir la salida en varios trozos; la salida es la " +"misma que si la entrada completa fuera alimentada por el códec no " +"incremental. Consulte la documentación del módulo :mod:`codecs` para más " +"detalles. (Diseñado e implementado por Walter Dörwald)" #: ../Doc/whatsnew/2.5.rst:1240 msgid "" @@ -1439,6 +2107,11 @@ msgid "" "like a dictionary but constructs a default value when a key isn't present, " "automatically adding it to the dictionary for the requested key value." msgstr "" +"El módulo :mod:`collections` ha ganado un nuevo tipo, :class:`defaultdict`, " +"que subclasifica el tipo estándar :class:`dict`. El nuevo tipo se comporta " +"principalmente como un diccionario pero construye un valor por defecto " +"cuando una clave no está presente, añadiéndolo automáticamente al " +"diccionario para el valor de la clave solicitada." #: ../Doc/whatsnew/2.5.rst:1245 msgid "" @@ -1448,14 +2121,20 @@ msgid "" "constructors such as :func:`list` or :func:`int`. For example, you can " "make an index of words based on their initial letter like this::" msgstr "" +"El primer argumento del constructor de :class:`defaultdict` es una función " +"de fábrica que se llama cada vez que se solicita una clave pero no se " +"encuentra. Esta función de fábrica no recibe argumentos, por lo que puede " +"utilizar constructores de tipo incorporado como :func:`list` o :func:`int`. " +"Por ejemplo, puedes hacer un índice de palabras basado en su letra inicial " +"así::" #: ../Doc/whatsnew/2.5.rst:1261 msgid "Printing ``index`` results in the following output::" -msgstr "" +msgstr "Al imprimir ``index`` se obtiene la siguiente salida::" #: ../Doc/whatsnew/2.5.rst:1269 msgid "(Contributed by Guido van Rossum.)" -msgstr "" +msgstr "(Contribución de Guido van Rossum.)" #: ../Doc/whatsnew/2.5.rst:1271 msgid "" @@ -1464,6 +2143,10 @@ msgid "" "first occurrence of *value* in the queue, raising :exc:`ValueError` if the " "value isn't found. (Contributed by Raymond Hettinger.)" msgstr "" +"El tipo de cola doble :class:`deque` suministrado por el módulo :mod:" +"`collections` tiene ahora un método ``remove(value)`` que elimina la primera " +"aparición de *value* en la cola, lanzando :exc:`ValueError` si no se " +"encuentra el valor. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1276 msgid "" @@ -1471,6 +2154,9 @@ msgid "" "with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` " "for more about this module." msgstr "" +"Nuevo módulo: El módulo :mod:`contextlib` contiene funciones de ayuda para " +"usar con la nueva sentencia ':keyword:`with`'. Consulte la sección :ref:" +"`contextlibmod` para obtener más información sobre este módulo." #: ../Doc/whatsnew/2.5.rst:1280 msgid "" @@ -1482,6 +2168,14 @@ msgid "" "the :mod:`profile` module's interface, will continue to be maintained in " "future versions of Python. (Contributed by Armin Rigo.)" msgstr "" +"Nuevo módulo: El módulo :mod:`cProfile` es una implementación en C del " +"módulo existente :mod:`profile` que tiene una sobrecarga mucho menor. La " +"interfaz del módulo es la misma que la de :mod:`profile`: se ejecuta " +"``cProfile.run('main()')`` para perfilar una función, se pueden guardar los " +"datos del perfil en un archivo, etc. Todavía no se sabe si el perfilador " +"Hotshot, que también está escrito en C pero no coincide con la interfaz del " +"módulo :mod:`profile`, seguirá manteniéndose en futuras versiones de " +"Python. (Contribución de Armin Rigo.)" #: ../Doc/whatsnew/2.5.rst:1288 msgid "" @@ -1490,6 +2184,10 @@ msgid "" "*stream* argument to the :class:`Stats` constructor. (Contributed by Skip " "Montanaro.)" msgstr "" +"Además, el módulo :mod:`pstats` para analizar los datos medidos por el " +"perfilador ahora soporta dirigir la salida a cualquier objeto archivo " +"suministrando un argumento *stream* al constructor :class:`Stats`. " +"(Contribución de Skip Montanaro)" #: ../Doc/whatsnew/2.5.rst:1292 msgid "" @@ -1502,6 +2200,15 @@ msgid "" "the source; records can span multiple physical lines, so :attr:`line_num` is " "not the same as the number of records read." msgstr "" +"El módulo :mod:`csv`, que analiza archivos en formato de valores separados " +"por comas, ha recibido varias mejoras y una serie de correcciones de " +"errores. Ahora se puede establecer el tamaño máximo en bytes de un campo " +"llamando a la función ``csv.field_size_limit(new_limit)``; si se omite el " +"argumento *new_limit* se devolverá el límite establecido actualmente. La " +"clase :class:`reader` tiene ahora un atributo :attr:`line_num` que cuenta el " +"número de líneas físicas leídas de la fuente; los registros pueden abarcar " +"varias líneas físicas, por lo que :attr:`line_num` no es lo mismo que el " +"número de registros leídos." #: ../Doc/whatsnew/2.5.rst:1301 msgid "" @@ -1514,10 +2221,19 @@ msgid "" "fields are important, the input should be split into lines in a manner that " "preserves the newline characters." msgstr "" +"El analizador CSV es ahora más estricto con los campos entrecomillados de " +"varias líneas. Anteriormente, si una línea terminaba dentro de un campo " +"entre comillas sin un carácter de nueva línea final, se insertaba una nueva " +"línea en el campo devuelto. Este comportamiento causaba problemas cuando se " +"leían archivos que contenían caracteres de retorno de carro dentro de los " +"campos, por lo que se cambió el código para devolver el campo sin insertar " +"nuevas líneas. Como consecuencia, si las nuevas líneas incrustadas dentro de " +"los campos son importantes, la entrada debe dividirse en líneas de manera " +"que se conserven los caracteres de nueva línea." #: ../Doc/whatsnew/2.5.rst:1309 msgid "(Contributed by Skip Montanaro and Andrew McNamara.)" -msgstr "" +msgstr "(Contribución de Skip Montanaro y Andrew McNamara)" #: ../Doc/whatsnew/2.5.rst:1311 msgid "" @@ -1526,6 +2242,10 @@ msgid "" "by Josh Spoerri. It uses the same format characters as :func:`time.strptime` " "and :func:`time.strftime`::" msgstr "" +"La clase :class:`~datetime.datetime` del módulo :mod:`datetime` tiene ahora " +"un método ``strptime(string, format)`` para analizar cadenas de fechas, " +"aportado por Josh Spoerri. Utiliza los mismos caracteres de formato que :" +"func:`time.strptime` y :func:`time.strftime`::" #: ../Doc/whatsnew/2.5.rst:1321 msgid "" @@ -1534,6 +2254,11 @@ msgid "" "subsequences. Previously, the algorithm would occasionally break a block of " "matching elements into two list entries. (Enhancement by Tim Peters.)" msgstr "" +"El método :meth:`SequenceMatcher.get_matching_blocks` del módulo :mod:" +"`difflib` garantiza ahora la devolución de una lista mínima de bloques que " +"describen subsecuencias coincidentes. Anteriormente, el algoritmo rompía " +"ocasionalmente un bloque de elementos coincidentes en dos entradas de la " +"lista. (Mejora realizada por Tim Peters)" #: ../Doc/whatsnew/2.5.rst:1326 msgid "" @@ -1541,6 +2266,10 @@ msgid "" "from being executed at all. This is intended for code snippets that are " "usage examples intended for the reader and aren't actually test cases." msgstr "" +"El módulo :mod:`doctest` ha ganado una opción ``SKIP`` que impide que un " +"ejemplo se ejecute en absoluto. Esto está pensado para los fragmentos de " +"código que son ejemplos de uso destinados al lector y que no son realmente " +"casos de prueba." #: ../Doc/whatsnew/2.5.rst:1330 msgid "" @@ -1549,12 +2278,18 @@ msgid "" "easier to use non-ASCII characters in tests contained within a docstring. " "(Contributed by Bjorn Tillenius.)" msgstr "" +"Se ha añadido un parámetro *encoding* a la función :func:`testfile` y a la " +"clase :class:`DocFileSuite` para especificar la codificación del archivo. " +"Esto facilita el uso de caracteres no ASCII en las pruebas contenidas en un " +"docstring. (Contribución de Bjorn Tillenius)" #: ../Doc/whatsnew/2.5.rst:1337 msgid "" "The :mod:`email` package has been updated to version 4.0. (Contributed by " "Barry Warsaw.)" msgstr "" +"El paquete :mod:`email` ha sido actualizado a la versión 4.0. (Contribución " +"de Barry Warsaw.)" #: ../Doc/whatsnew/2.5.rst:1345 msgid "" @@ -1567,6 +2302,15 @@ msgid "" "`fileno` returns the file descriptor for the currently opened file. " "(Contributed by Georg Brandl.)" msgstr "" +"El módulo :mod:`fileinput` se ha hecho más flexible. Ahora se soportan los " +"nombres de archivo Unicode, y se ha añadido un parámetro *mode* que por " +"defecto es ``\"r\"`` a la función :func:`input` para permitir la apertura de " +"archivos en modo binario o :term:`universal newlines`. Otro nuevo " +"parámetro, *openhook*, permite utilizar una función distinta de :func:`open` " +"para abrir los ficheros de entrada. Una vez que se itera sobre el conjunto " +"de archivos, el nuevo :meth:`fileno` del objeto :class:`FileInput` devuelve " +"el descriptor de archivo del archivo actualmente abierto. (Contribuido por " +"Georg Brandl.)" #: ../Doc/whatsnew/2.5.rst:1354 msgid "" @@ -1578,6 +2322,13 @@ msgid "" "*generation* argument of 0, 1, or 2 to specify which generation to collect. " "(Contributed by Barry Warsaw.)" msgstr "" +"En el módulo :mod:`gc`, la nueva función :func:`get_count` devuelve una 3-" +"tupla que contiene los recuentos de recolección actuales para las tres " +"generaciones de GC. Se trata de información contable para el recolector de " +"basura; cuando estos recuentos alcanzan un umbral especificado, se realiza " +"un barrido de recolección de basura. La función :func:`gc.collect` " +"existente ahora toma un argumento opcional *generación* de 0, 1 o 2 para " +"especificar qué generación recoger. (Contribución de Barry Warsaw)" #: ../Doc/whatsnew/2.5.rst:1361 msgid "" @@ -1586,10 +2337,14 @@ msgid "" "by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For " "example::" msgstr "" +"Las funciones :func:`nsmallest` y :func:`nlargest` del módulo :mod:`heapq` " +"soportan ahora un parámetro de palabra clave ``key`` similar al " +"proporcionado por las funciones :func:`min`/:func:`max` y los métodos :meth:" +"`sort`. Por ejemplo::" #: ../Doc/whatsnew/2.5.rst:1373 ../Doc/whatsnew/2.5.rst:1382 msgid "(Contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger.)" #: ../Doc/whatsnew/2.5.rst:1375 msgid "" @@ -1597,15 +2352,19 @@ msgid "" "step arguments. This makes it more compatible with the attributes of slice " "objects, so that you can now write the following::" msgstr "" +"La función :func:`itertools.islice` ahora acepta ``None`` para los " +"argumentos de inicio y paso. Esto la hace más compatible con los atributos " +"de los objetos slice, por lo que ahora se puede escribir lo siguiente::" #: ../Doc/whatsnew/2.5.rst:1384 msgid "" "The :func:`format` function in the :mod:`locale` module has been modified " "and two new functions were added, :func:`format_string` and :func:`currency`." msgstr "" +"Se ha modificado la función :func:`format` del módulo :mod:`locale` y se han " +"añadido dos nuevas funciones, :func:`format_string` y :func:`currency`." -#: ../Doc/whatsnew/2.5.rst:1387 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1387, python-format msgid "" "The :func:`format` function's *val* parameter could previously be a string " "as long as no more than one %char specifier appeared; now the parameter must " @@ -1614,24 +2373,34 @@ msgid "" "locale's rules for formatting currency in placing a separator between groups " "of three digits." msgstr "" +"El parámetro *val* de la función :func:`format` podía ser antes una cadena " +"siempre que no apareciera más de un especificador %char; ahora el parámetro " +"debe ser exactamente un especificador %char sin texto alrededor. También se " +"ha añadido un parámetro opcional *monetario* que, si es ``Verdadero``, " +"utilizará las reglas de la configuración regional para formatear la moneda " +"al colocar un separador entre grupos de tres dígitos." -#: ../Doc/whatsnew/2.5.rst:1393 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1393, python-format msgid "" "To format strings with multiple %char specifiers, use the new :func:" "`format_string` function that works like :func:`format` but also supports " "mixing %char specifiers with arbitrary text." msgstr "" +"Para formatear cadenas con múltiples especificadores %char, utilice la nueva " +"función :func:`format_string` que funciona como :func:`format` pero que " +"también permite mezclar especificadores %char con texto arbitrario." #: ../Doc/whatsnew/2.5.rst:1397 msgid "" "A new :func:`currency` function was also added that formats a number " "according to the current locale's settings." msgstr "" +"También se ha añadido una nueva función :func:`currency` que formatea un " +"número de acuerdo con la configuración local actual." #: ../Doc/whatsnew/2.5.rst:1400 msgid "(Contributed by Georg Brandl.)" -msgstr "" +msgstr "(Contribución de Georg Brandl.)" #: ../Doc/whatsnew/2.5.rst:1404 msgid "" @@ -1643,12 +2412,21 @@ msgid "" "unlock the mailbox. The following example converts a maildir-format mailbox " "into an mbox-format one::" msgstr "" +"El módulo :mod:`mailbox` ha sido reestructurado de forma masiva para añadir " +"la capacidad de modificar los buzones además de leerlos. Un nuevo conjunto " +"de clases que incluyen :class:`mbox`, :class:`MH`, y :class:`Maildir` se " +"utilizan para leer buzones, y tienen un método ``add(message)`` para añadir " +"mensajes, ``remove(key)`` para eliminar mensajes, y :meth:`lock`/:meth:" +"`unlock` para bloquear/desbloquear el buzón. El siguiente ejemplo convierte " +"un buzón con formato maildir en uno con formato mbox::" #: ../Doc/whatsnew/2.5.rst:1422 msgid "" "(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 " "Summer of Code.)" msgstr "" +"(Contribución de Gregory K. Johnson. La financiación fue proporcionada por " +"el Summer of Code 2005 de Google)" #: ../Doc/whatsnew/2.5.rst:1425 msgid "" @@ -1656,6 +2434,9 @@ msgid "" "file:`.msi` files and CAB files. Some support for reading the :file:`.msi` " "database is also included. (Contributed by Martin von Löwis.)" msgstr "" +"Nuevo módulo: el módulo :mod:`msilib` permite crear archivos :file:`.msi` de " +"Microsoft Installer y archivos CAB. También se incluye soporte para la " +"lectura de la base de datos :file:`.msi`. (Contribución de Martin von Löwis)" #: ../Doc/whatsnew/2.5.rst:1429 msgid "" @@ -1663,6 +2444,9 @@ msgid "" "default domain by supplying a *domain* argument to the :func:`nis.match` " "and :func:`nis.maps` functions. (Contributed by Ben Bell.)" msgstr "" +"El módulo :mod:`nis` soporta ahora el acceso a dominios distintos del " +"dominio por defecto del sistema proporcionando un argumento *dominio* a las " +"funciones :func:`nis.match` y :func:`nis.maps`. (Contribución de Ben Bell)" #: ../Doc/whatsnew/2.5.rst:1433 msgid "" @@ -1673,6 +2457,12 @@ msgid "" "method's ``key`` parameter lets you easily sort lists using multiple " "fields. (Contributed by Raymond Hettinger.)" msgstr "" +"Las funciones :mod:`operator` del módulo :func:`itemgetter` y :func:" +"`attrgetter` ahora soportan múltiples campos. Una llamada como ``operator." +"attrgetter('a', 'b')`` devolverá una función que recupera los atributos :" +"attr:`a` y :attr:`b`. La combinación de esta nueva función con el parámetro " +"``key`` del método :meth:`sort` permite ordenar fácilmente las listas " +"utilizando varios campos. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1440 msgid "" @@ -1682,6 +2472,11 @@ msgid "" "method to break reference cycles created by the object. (Contributed by Greg " "Ward.)" msgstr "" +"El módulo :mod:`optparse` se ha actualizado a la versión 1.5.1 de la " +"biblioteca Optik. La clase :class:`OptionParser` obtuvo un atributo :attr:" +"`epilog`, una cadena que se imprimirá después del mensaje de ayuda, y un " +"método :meth:`destroy` para romper los ciclos de referencia creados por el " +"objeto. (Contribuido por Greg Ward.)" #: ../Doc/whatsnew/2.5.rst:1445 msgid "" @@ -1691,6 +2486,12 @@ msgid "" "that :func:`os.stat` will return times that are precise to fractions of a " "second; not all systems support such precision.)" msgstr "" +"El módulo :mod:`os` ha sufrido varios cambios. La variable :attr:" +"`stat_float_times` ahora está predeterminada a true, lo que significa que :" +"func:`os.stat` ahora devolverá los valores de tiempo como flotantes. (Esto " +"no significa necesariamente que :func:`os.stat` devolverá tiempos con una " +"precisión de fracciones de segundo; no todos los sistemas soportan dicha " +"precisión)" #: ../Doc/whatsnew/2.5.rst:1451 msgid "" @@ -1699,6 +2500,10 @@ msgid "" "function. Two new constants for locking are :attr:`os.O_SHLOCK` and :attr:" "`os.O_EXLOCK`." msgstr "" +"Se han añadido las constantes :attr:`os.SEEK_SET`, :attr:`os.SEEK_CUR` y :" +"attr:`os.SEEK_END`, que son los parámetros de la función :func:`os.lseek`. " +"Dos nuevas constantes para el bloqueo son :attr:`os.O_SHLOCK` y :attr:`os." +"O_EXLOCK`." #: ../Doc/whatsnew/2.5.rst:1456 msgid "" @@ -1711,6 +2516,15 @@ msgid "" "the :func:`resource.getrusage` function. ``wait4(pid)`` does take a process " "ID. (Contributed by Chad J. Schroeder.)" msgstr "" +"Se han añadido dos nuevas funciones, :func:`wait3` y :func:`wait4`. Son " +"similares a la función :func:`waitpid` que espera la salida de un proceso " +"hijo y devuelve una tupla con el ID del proceso y su estado de salida, pero :" +"func:`wait3` y :func:`wait4` devuelven información adicional. :func:`wait3` " +"no toma un ID de proceso como entrada, por lo que espera a que cualquier " +"proceso hijo salga y devuelve una tupla de *id de proceso*, *estado de " +"salida*, *uso de recursos* tal y como se devuelve desde la función :func:" +"`resource.getrusage`. ``wait4(pid)`` toma un ID de proceso. (Contribuido por " +"Chad J. Schroeder.)" #: ../Doc/whatsnew/2.5.rst:1465 msgid "" @@ -1719,6 +2533,10 @@ msgid "" "`st_birthtime`. The :attr:`st_flags` attribute is also available, if the " "platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" msgstr "" +"En FreeBSD, la función :func:`os.stat` devuelve ahora tiempos con resolución " +"de nanosegundos, y el objeto devuelto tiene ahora :attr:`st_gen` y :attr:" +"`st_birthtime`. El atributo :attr:`st_flags` también está disponible, si la " +"plataforma lo soporta. (Contribución de Antti Louko y Diego Pettenò)" #: ../Doc/whatsnew/2.5.rst:1472 msgid "" @@ -1729,6 +2547,13 @@ msgid "" "can include commands that resume execution, such as ``continue`` or " "``next``. (Contributed by Grégoire Dooms.)" msgstr "" +"El depurador de Python proporcionado por el módulo :mod:`pdb` puede ahora " +"almacenar listas de comandos a ejecutar cuando se alcanza un punto de " +"ruptura y se detiene la ejecución. Una vez creado el punto de interrupción " +"nº 1, introduzca ``comandos 1`` e introduzca una serie de comandos a " +"ejecutar, terminando la lista con ``end``. La lista de comandos puede " +"incluir comandos que reanuden la ejecución, como ``continue`` o ``next``. " +"(Contribución de Grégoire Dooms.)" #: ../Doc/whatsnew/2.5.rst:1481 msgid "" @@ -1737,6 +2562,10 @@ msgid "" "tuple of arguments instead. The ability to return ``None`` was deprecated " "in Python 2.4, so this completes the removal of the feature." msgstr "" +"Los módulos :mod:`pickle` y :mod:`cPickle` ya no aceptan un valor de retorno " +"de ``None`` del método :meth:`__reduce__`; el método debe devolver una tupla " +"de argumentos. La capacidad de devolver ``None`` fue obsoleta en Python " +"2.4, así que esto completa la eliminación de la función." #: ../Doc/whatsnew/2.5.rst:1486 msgid "" @@ -1745,6 +2574,10 @@ msgid "" "works for packages stored in ZIP-format archives. (Contributed by Phillip J. " "Eby.)" msgstr "" +"El módulo :mod:`pkgutil`, que contiene varias funciones de utilidad para " +"encontrar paquetes, fue mejorado para soportar los ganchos de importación " +"de :pep:`302` y ahora también funciona para paquetes almacenados en archivos " +"con formato ZIP. (Contribución de Phillip J. Eby)" #: ../Doc/whatsnew/2.5.rst:1490 msgid "" @@ -1756,12 +2589,22 @@ msgid "" "numeric operations, instead of performing many different operations and " "reducing the result to a single number as :file:`pystone.py` does." msgstr "" +"El conjunto de pruebas pybench de Marc-André Lemburg se incluye ahora en el " +"directorio :file:`Tools/pybench`. El conjunto de pruebas pybench es una " +"mejora del programa :file:`pystone.py` de uso común, ya que pybench " +"proporciona una medición más detallada de la velocidad del intérprete. " +"Calcula el tiempo de determinadas operaciones como las llamadas a funciones, " +"el corte de tuplas, las búsquedas de métodos y las operaciones numéricas, en " +"lugar de realizar muchas operaciones diferentes y reducir el resultado a un " +"único número como hace :file:`pystone.py`." #: ../Doc/whatsnew/2.5.rst:1498 msgid "" "The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. " "(Contributed by Trent Mick.)" msgstr "" +"El módulo :mod:`pyexpat` utiliza ahora la versión 2.0 del analizador " +"sintáctico Expat. (Contribución de Trent Mick)" #: ../Doc/whatsnew/2.5.rst:1501 msgid "" @@ -1772,6 +2615,12 @@ msgid "" "processing for an item has been completed. (Contributed by Raymond " "Hettinger.)" msgstr "" +"La clase :class:`~queue.Queue` proporcionada por el módulo :mod:`Queue` ha " +"ganado dos nuevos métodos. :meth:`join` bloquea hasta que todos los " +"elementos de la cola han sido recuperados y todo el trabajo de procesamiento " +"de los elementos ha sido completado. Los hilos de trabajo llaman al otro " +"método nuevo, :meth:`task_done`, para indicar que el procesamiento de un " +"elemento ha finalizado. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:1507 msgid "" @@ -1779,6 +2628,9 @@ msgid "" "ever since Python 2.0, have finally been deleted. Other deleted modules: :" "mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." msgstr "" +"Los antiguos módulos :mod:`regex` y :mod:`regsub`, obsoletos desde Python " +"2.0, han sido finalmente eliminados. Otros módulos eliminados: :mod:" +"`statcache`, :mod:`tzparse`, :mod:`whrandom`." #: ../Doc/whatsnew/2.5.rst:1511 msgid "" @@ -1787,6 +2639,11 @@ msgid "" "the default ``sys.path``, so unless your programs explicitly added the " "directory to ``sys.path``, this removal shouldn't affect your code." msgstr "" +"También se ha eliminado el directorio :file:`lib-old`, que incluye módulos " +"antiguos como :mod:`dircmp` y :mod:`ni`. :file:`lib-old` no estaba en el " +"directorio por defecto ``sys.path``, así que a menos que tus programas " +"añadan explícitamente el directorio a ``sys.path``, esta eliminación no " +"debería afectar a tu código." #: ../Doc/whatsnew/2.5.rst:1516 msgid "" @@ -1794,6 +2651,9 @@ msgid "" "`readline` module and therefore now works on non-Unix platforms. (Patch from " "Robert Kiendl.)" msgstr "" +"El módulo :mod:`rlcompleter` ya no depende de la importación del módulo :mod:" +"`readline` y, por lo tanto, ahora funciona en plataformas no Unix. (Parche " +"de Robert Kiendl.)" #: ../Doc/whatsnew/2.5.rst:1522 msgid "" @@ -1803,6 +2663,11 @@ msgid "" "RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " "this path checking." msgstr "" +"Las clases :mod:`SimpleXMLRPCServer` y :mod:`DocXMLRPCServer` tienen ahora " +"un atributo :attr:`rpc_paths` que restringe las operaciones XML-RPC a un " +"conjunto limitado de rutas URL; por defecto sólo se permiten ``'/'`` y ``'/" +"RPC2'``. Establecer :attr:`rpc_paths` como ``None`` o una tupla vacía " +"desactiva esta comprobación de rutas." #: ../Doc/whatsnew/2.5.rst:1529 msgid "" @@ -1813,6 +2678,13 @@ msgid "" "linuxjournal.com/article/7356. In Python code, netlink addresses are " "represented as a tuple of 2 integers, ``(pid, group_mask)``." msgstr "" +"El módulo :mod:`socket` ahora soporta sockets :const:`AF_NETLINK` en Linux, " +"gracias a un parche de Philippe Biondi. Los sockets Netlink son un " +"mecanismo específico de Linux para las comunicaciones entre un proceso en el " +"espacio del usuario y el código del kernel; hay un artículo introductorio " +"sobre ellos en https://www.linuxjournal.com/article/7356. En el código " +"Python, las direcciones de netlink se representan como una tupla de 2 " +"enteros, ``(pid, group_mask)``." #: ../Doc/whatsnew/2.5.rst:1536 msgid "" @@ -1822,6 +2694,11 @@ msgid "" "This means you can put the data directly into an array or a memory-mapped " "file." msgstr "" +"Dos nuevos métodos en objetos socket, ``recv_into(buffer)`` y " +"``recvrom_into(buffer)``, almacenan los datos recibidos en un objeto que " +"soporta el protocolo de buffer en lugar de devolver los datos como una " +"cadena. Esto significa que puedes poner los datos directamente en un array " +"o en un archivo mapeado en memoria." #: ../Doc/whatsnew/2.5.rst:1541 msgid "" @@ -1829,12 +2706,18 @@ msgid "" "`getproto` accessor methods to retrieve the family, type, and protocol " "values for the socket." msgstr "" +"Los objetos Socket también han ganado métodos de acceso :meth:`getfamily`, :" +"meth:`gettype` y :meth:`getproto` para recuperar los valores de familia, " +"tipo y protocolo del socket." #: ../Doc/whatsnew/2.5.rst:1545 msgid "" "New module: the :mod:`spwd` module provides functions for accessing the " "shadow password database on systems that support shadow passwords." msgstr "" +"Nuevo módulo: el módulo :mod:`spwd` proporciona funciones para acceder a la " +"base de datos de contraseñas en la sombra en sistemas que soportan " +"contraseñas en la sombra." #: ../Doc/whatsnew/2.5.rst:1548 msgid "" @@ -1845,6 +2728,13 @@ msgid "" "func:`unpack` functions; they'll create :class:`Struct` objects and cache " "them. Or you can use :class:`Struct` instances directly::" msgstr "" +"El módulo :mod:`struct` es ahora más rápido porque compila cadenas de " +"formato en objetos :class:`Struct` con métodos :meth:`pack` y :meth:" +"`unpack`. Esto es similar a cómo el módulo :mod:`re` permite crear objetos " +"de expresión regular compilados. Puede seguir utilizando las funciones :" +"func:`pack` y :func:`unpack` a nivel de módulo; éstas crearán objetos :class:" +"`Struct` y los almacenarán en caché. O puede utilizar directamente las " +"instancias de :class:`Struct`::" #: ../Doc/whatsnew/2.5.rst:1560 msgid "" @@ -1853,6 +2743,10 @@ msgid "" "offset)`` methods. This lets you store data directly into an array or a " "memory-mapped file." msgstr "" +"También puedes empaquetar y desempaquetar datos hacia y desde objetos buffer " +"directamente usando los métodos ``pack_into(buffer, offset, v1, v2, ...)`` y " +"``unpack_from(buffer, offset)``. Esto te permite almacenar datos " +"directamente en un array o en un archivo mapeado en memoria." #: ../Doc/whatsnew/2.5.rst:1565 msgid "" @@ -1860,6 +2754,9 @@ msgid "" "NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, " "also at the NeedForSpeed sprint.)" msgstr "" +"(:class:`Struct` objects fueron implementados por Bob Ippolito en el sprint " +"NeedForSpeed. El soporte para los objetos buffer fue añadido por Martin " +"Blais, también en el sprint NeedForSpeed)" #: ../Doc/whatsnew/2.5.rst:1569 msgid "" @@ -1869,6 +2766,12 @@ msgid "" "name, revision-range)``. For example, at the time of writing my copy of 2.5 " "was reporting ``('CPython', 'trunk', '45313:45315')``." msgstr "" +"Los desarrolladores de Python cambiaron de CVS a Subversion durante el " +"proceso de desarrollo de la versión 2.5. La información sobre la versión " +"exacta de construcción está disponible como la variable ``sys.subversion``, " +"una 3-tupla de ``(nombre del intérprete, nombre de la rama, rango de " +"revisión)``. Por ejemplo, en el momento de escribir esto, mi copia de 2.5 " +"informaba de ``('CPython', 'trunk', '45313:45315')``." #: ../Doc/whatsnew/2.5.rst:1575 msgid "" @@ -1877,6 +2780,10 @@ msgid "" "this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. (Contributed by " "Barry Warsaw.)" msgstr "" +"Esta información también está disponible para las extensiones de C a través " +"de la función :c:func:`Py_GetBuildInfo` que devuelve una cadena de " +"información de compilación como esta ``\"trunk:45355:45356M, Apr 13 2006, " +"07:42:19\"``. (Contribuido por Barry Warsaw.)" #: ../Doc/whatsnew/2.5.rst:1580 msgid "" @@ -1885,6 +2792,11 @@ msgid "" "the topmost stack frame currently active in that thread at the time the " "function is called. (Contributed by Tim Peters.)" msgstr "" +"Otra nueva función, :func:`sys._current_frames`, devuelve los marcos de pila " +"actuales para todos los hilos en ejecución como un diccionario que asigna " +"los identificadores de los hilos al marco de pila superior actualmente " +"activo en ese hilo en el momento en que se llama a la función. (Contribuido " +"por Tim Peters.)" #: ../Doc/whatsnew/2.5.rst:1585 msgid "" @@ -1894,12 +2806,20 @@ msgid "" "as the extraction target, and to unpack only a subset of the archive's " "members." msgstr "" +"La clase :class:`TarFile` del módulo :mod:`tarfile` tiene ahora un método :" +"meth:`extractall` que extrae todos los miembros del archivo en el directorio " +"de trabajo actual. También es posible establecer un directorio diferente " +"como destino de la extracción, y desempaquetar sólo un subconjunto de los " +"miembros del archivo." #: ../Doc/whatsnew/2.5.rst:1590 msgid "" "The compression used for a tarfile opened in stream mode can now be " "autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)" msgstr "" +"La compresión utilizada para un archivo tar abierto en modo stream puede " +"ahora ser autodetectada utilizando el modo ``'r|*'``. (Contribución de Lars " +"Gustäbel)" #: ../Doc/whatsnew/2.5.rst:1595 msgid "" @@ -1909,6 +2829,12 @@ msgid "" "sets a new value. Not all platforms support changing the stack size, but " "Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew MacIntyre.)" msgstr "" +"El módulo :mod:`threading` permite ahora establecer el tamaño de la pila " +"utilizado cuando se crean nuevos hilos. La función ``stack_size([*size*])`` " +"devuelve el tamaño de pila actualmente configurado, y suministrando el " +"parámetro opcional *size* establece un nuevo valor. No todas las " +"plataformas soportan el cambio del tamaño de la pila, pero Windows, POSIX " +"threading y OS/2 lo hacen. (Contribución de Andrew MacIntyre)" #: ../Doc/whatsnew/2.5.rst:1603 msgid "" @@ -1916,6 +2842,10 @@ msgid "" "Unicode character database. Version 3.2.0 is required by some " "specifications, so it's still available as :attr:`unicodedata.ucd_3_2_0`." msgstr "" +"El módulo :mod:`unicodedata` ha sido actualizado para utilizar la versión " +"4.1.0 de la base de datos de caracteres Unicode. La versión 3.2.0 es " +"requerida por algunas especificaciones, por lo que sigue estando disponible " +"como :attr:`unicodedata.ucd_3_2_0`." #: ../Doc/whatsnew/2.5.rst:1607 msgid "" @@ -1928,10 +2858,18 @@ msgid "" "UUIDs are not specified in :rfc:`4122` and are not supported by this " "module.) ::" msgstr "" +"Nuevo módulo: el módulo :mod:`uuid` genera identificadores únicos " +"universales (UUID) de acuerdo con :rfc:`4122`. El RFC define varias " +"versiones diferentes de UUID que se generan a partir de una cadena inicial, " +"de propiedades del sistema o de forma puramente aleatoria. Este módulo " +"contiene una clase :class:`UUID` y funciones llamadas :func:`uuid1`, :func:" +"`uuid3`, :func:`uuid4`, y :func:`uuid5` para generar diferentes versiones de " +"UUID. (Los UUID de la versión 2 no se especifican en :rfc:`4122` y no están " +"soportados por este módulo) ::" #: ../Doc/whatsnew/2.5.rst:1632 msgid "(Contributed by Ka-Ping Yee.)" -msgstr "" +msgstr "(Contribución de Ka-Ping Yee.)" #: ../Doc/whatsnew/2.5.rst:1634 msgid "" @@ -1942,6 +2880,12 @@ msgid "" "`itervaluerefs` and :meth:`valuerefs` were added to :class:" "`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" msgstr "" +"Los tipos :mod:`weakref` del módulo :class:`WeakKeyDictionary` y :class:" +"`WeakValueDictionary` han obtenido nuevos métodos para iterar sobre las " +"referencias débiles contenidas en el diccionario. Se han añadido los " +"métodos :meth:`iterkeyrefs` y :meth:`keyrefs` a :class:`WeakKeyDictionary`, " +"y :meth:`itervaluerefs` y :meth:`valuerefs` a :class:`WeakValueDictionary`. " +"(Contribución de Fred L. Drake, Jr.)" #: ../Doc/whatsnew/2.5.rst:1641 msgid "" @@ -1956,6 +2900,17 @@ msgid "" "supported list such as Firefox, Opera, Konqueror, and elinks. (Contributed " "by Oleg Broytmann and Georg Brandl.)" msgstr "" +"El módulo :mod:`webbrowser` ha recibido una serie de mejoras. Ahora se puede " +"utilizar como un script con ``python -m webbrowser``, tomando una URL como " +"argumento; hay una serie de interruptores para controlar el comportamiento (:" +"option:`!-n` para una nueva ventana del navegador, :option:`!-t` para una " +"nueva pestaña). Se han añadido nuevas funciones a nivel de módulo, :func:" +"`open_new` y :func:`open_new_tab`, para soportar esto. La función :func:" +"`open` del módulo soporta una característica adicional, un parámetro " +"*autoraise* que señala si se debe levantar la ventana abierta cuando sea " +"posible. Se añadieron varios navegadores adicionales a la lista de " +"soportados, como Firefox, Opera, Konqueror y elinks. (Contribución de Oleg " +"Broytmann y Georg Brandl)" #: ../Doc/whatsnew/2.5.rst:1653 msgid "" @@ -1964,6 +2919,11 @@ msgid "" "to the :func:`loads` function or the :class:`Unmarshaller` class to enable " "this feature. (Contributed by Skip Montanaro.)" msgstr "" +"El módulo :mod:`xmlrpclib` ahora soporta la devolución de objetos :class:" +"`~datetime.datetime` para el tipo de fecha XML-RPC. Proporcione " +"``use_datetime=True`` a la función :func:`loads` o a la clase :class:" +"`Unmarshaller` para activar esta característica. (Contribución de Skip " +"Montanaro)" #: ../Doc/whatsnew/2.5.rst:1660 msgid "" @@ -1971,6 +2931,10 @@ msgid "" "meaning that a .zip archive can now be larger than 4 GiB and can contain " "individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)" msgstr "" +"El módulo :mod:`zipfile` ahora soporta la versión ZIP64 del formato, lo que " +"significa que un archivo .zip ahora puede ser mayor de 4 GiB y puede " +"contener archivos individuales mayores de 4 GiB. (Contribución de Ronald " +"Oussoren)" #: ../Doc/whatsnew/2.5.rst:1666 msgid "" @@ -1979,10 +2943,14 @@ msgid "" "internal state and returns a new :class:`Compress` or :class:`Decompress` " "object. (Contributed by Chris AtLee.)" msgstr "" +"Los objetos :class:`zlib` y :class:`Decompress` del módulo :mod:`zlib` " +"soportan ahora un método :meth:`copy` que realiza una copia del estado " +"interno del objeto y devuelve un nuevo objeto :class:`Compress` o :class:" +"`Decompress`. (Contribución de Chris AtLee)" #: ../Doc/whatsnew/2.5.rst:1679 msgid "The ctypes package" -msgstr "" +msgstr "El paquete ctypes" #: ../Doc/whatsnew/2.5.rst:1681 msgid "" @@ -1992,6 +2960,12 @@ msgid "" "module, which provides functions for loading shared libraries and calling " "functions in them. The :mod:`ctypes` package is much fancier." msgstr "" +"El paquete :mod:`ctypes`, escrito por Thomas Heller, se ha añadido a la " +"biblioteca estándar. :mod:`ctypes` permite llamar a funciones arbitrarias en " +"bibliotecas compartidas o DLL. Los usuarios veteranos recordarán el módulo :" +"mod:`dl`, que proporciona funciones para cargar bibliotecas compartidas y " +"llamar a las funciones que contienen. El paquete :mod:`ctypes` es mucho más " +"sofisticado." #: ../Doc/whatsnew/2.5.rst:1687 msgid "" @@ -2000,6 +2974,10 @@ msgid "" "that's done, you can call arbitrary functions by accessing them as " "attributes of the :class:`CDLL` object. ::" msgstr "" +"Para cargar una biblioteca compartida o DLL, debes crear una instancia de la " +"clase :class:`CDLL` y proporcionar el nombre o la ruta de la biblioteca " +"compartida o DLL. Una vez hecho esto, puedes llamar a funciones arbitrarias " +"accediendo a ellas como atributos del objeto :class:`CDLL`. ::" #: ../Doc/whatsnew/2.5.rst:1697 msgid "" @@ -2012,6 +2990,15 @@ msgid "" "constructor. (And I mean *must*; getting it wrong will often result in the " "interpreter crashing with a segmentation fault.)" msgstr "" +"Se proporcionan constructores de tipos para los distintos tipos de C: :func:" +"`c_int`, :func:`c_float`, :func:`c_double`, :func:`c_char_p` (equivalente a :" +"c:type:`char \\*`), etc. A diferencia de los tipos de Python, las versiones " +"de C son todas mutables; puedes asignar a su atributo :attr:`value` para " +"cambiar el valor envuelto. Los enteros y las cadenas de Python se " +"convertirán automáticamente a los tipos C correspondientes, pero para otros " +"tipos debes llamar al constructor de tipo correcto. (Y quiero decir *debe*; " +"si se equivoca, a menudo el intérprete se bloquea con un fallo de " +"segmentación)" #: ../Doc/whatsnew/2.5.rst:1706 msgid "" @@ -2020,12 +3007,20 @@ msgid "" "be immutable; breaking this rule will cause puzzling bugs. When you need a " "modifiable memory area, use :func:`create_string_buffer`::" msgstr "" +"No debería usar :func:`c_char_p` con una cadena de Python cuando la función " +"C vaya a modificar el área de memoria, porque se supone que las cadenas de " +"Python son inmutables; romper esta regla causará errores desconcertantes. " +"Cuando necesite un área de memoria modificable, utilice :func:" +"`create_string_buffer`::" #: ../Doc/whatsnew/2.5.rst:1715 msgid "" "C functions are assumed to return integers, but you can set the :attr:" "`restype` attribute of the function object to change this::" msgstr "" +"Se supone que las funciones en C devuelven números enteros, pero se puede " +"establecer el atributo :attr:`restype` del objeto de la función para cambiar " +"esto::" #: ../Doc/whatsnew/2.5.rst:1724 msgid "" @@ -2036,12 +3031,20 @@ msgid "" "constructor that will create a :c:type:`PyObject \\*` pointer. A simple " "usage::" msgstr "" +":mod:`ctypes` también proporciona una envoltura para la API de C de Python " +"como el objeto ``ctypes.pythonapi``. Este objeto *no* libera el bloqueo " +"global del intérprete antes de llamar a una función, porque el bloqueo debe " +"mantenerse cuando se llama al código del intérprete. Hay un constructor de " +"tipo :class:`py_object()` que creará un puntero :c:type:`PyObject \\*`. Un " +"uso sencillo::" #: ../Doc/whatsnew/2.5.rst:1737 msgid "" "Don't forget to use :class:`py_object()`; if it's omitted you end up with a " "segmentation fault." msgstr "" +"No olvides usar :class:`py_object()`; si se omite acabas con un fallo de " +"segmentación." #: ../Doc/whatsnew/2.5.rst:1740 msgid "" @@ -2051,22 +3054,29 @@ msgid "" "wrappers atop a library accessed through :mod:`ctypes` instead of extension " "modules, now that :mod:`ctypes` is included with core Python." msgstr "" +":mod:`ctypes` existe desde hace tiempo, pero la gente sigue escribiendo y " +"distribuyendo módulos de extensión codificados a mano porque no se puede " +"confiar en que :mod:`ctypes` esté presente. Quizás los desarrolladores " +"empiecen a escribir envoltorios de Python sobre una biblioteca a la que se " +"accede a través de :mod:`ctypes` en lugar de módulos de extensión, ahora " +"que :mod:`ctypes` está incluido en el núcleo de Python." #: ../Doc/whatsnew/2.5.rst:1750 msgid "http://starship.python.net/crew/theller/ctypes/" -msgstr "" +msgstr "http://starship.python.net/crew/theller/ctypes/" #: ../Doc/whatsnew/2.5.rst:1750 msgid "The ctypes web page, with a tutorial, reference, and FAQ." msgstr "" +"La página web de ctypes, con un tutorial, referencias y preguntas frecuentes." #: ../Doc/whatsnew/2.5.rst:1752 msgid "The documentation for the :mod:`ctypes` module." -msgstr "" +msgstr "La documentación del módulo :mod:`ctypes`." #: ../Doc/whatsnew/2.5.rst:1760 msgid "The ElementTree package" -msgstr "" +msgstr "El paquete ElementTree" #: ../Doc/whatsnew/2.5.rst:1762 msgid "" @@ -2076,6 +3086,11 @@ msgid "" "ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also " "included." msgstr "" +"Un subconjunto de la biblioteca ElementTree de Fredrik Lundh para el " +"procesamiento de XML se ha añadido a la biblioteca estándar como :mod:`xml." +"etree`. Los módulos disponibles son :mod:`ElementTree`, :mod:`ElementPath` " +"y :mod:`ElementInclude` de ElementTree 1.2.6. También se incluye el " +"módulo acelerador :mod:`cElementTree`." #: ../Doc/whatsnew/2.5.rst:1768 msgid "" @@ -2083,6 +3098,9 @@ msgid "" "Full documentation for ElementTree is available at http://effbot.org/zone/" "element-index.htm." msgstr "" +"El resto de esta sección proporcionará una breve descripción del uso de " +"ElementTree. La documentación completa de ElementTree está disponible en " +"http://effbot.org/zone/element-index.htm." #: ../Doc/whatsnew/2.5.rst:1772 msgid "" @@ -2092,6 +3110,11 @@ msgid "" "the Document Object Model; in the DOM there are many different types of " "node, including :class:`TextNode`.)" msgstr "" +"ElementTree representa un documento XML como un árbol de nodos de elementos. " +"El contenido de texto del documento se almacena como los atributos :attr:" +"`text` y :attr:`tail` de (Esta es una de las principales diferencias entre " +"ElementTree y el Modelo de Objetos del Documento; en el DOM hay muchos tipos " +"diferentes de nodo, incluyendo :class:`TextNode`)" #: ../Doc/whatsnew/2.5.rst:1778 msgid "" @@ -2099,12 +3122,17 @@ msgid "" "a string (assumed to contain a filename) or a file-like object and returns " "an :class:`ElementTree` instance::" msgstr "" +"La función de análisis más utilizada es :func:`parse`, que toma una cadena " +"(se supone que contiene un nombre de archivo) o un objeto similar a un " +"archivo y devuelve una instancia de :class:`ElementTree`::" #: ../Doc/whatsnew/2.5.rst:1790 msgid "" "Once you have an :class:`ElementTree` instance, you can call its :meth:" "`getroot` method to get the root :class:`Element` node." msgstr "" +"Una vez que tengas una instancia de :class:`ElementTree`, puedes llamar a su " +"método :meth:`getroot` para obtener el nodo raíz de :class:`Element`." #: ../Doc/whatsnew/2.5.rst:1793 msgid "" @@ -2113,6 +3141,10 @@ msgid "" "provides a tidy way to incorporate XML fragments, approaching the " "convenience of an XML literal::" msgstr "" +"También hay una función :func:`XML` que toma un literal de cadena y devuelve " +"un nodo :class:`Element` (no un :class:`ElementTree`). Esta función " +"proporciona una forma ordenada de incorporar fragmentos XML, acercándose a " +"la comodidad de un literal XML::" #: ../Doc/whatsnew/2.5.rst:1803 msgid "" @@ -2120,110 +3152,114 @@ msgid "" "methods. Dictionary-like operations are used to access attribute values, " "and list-like operations are used to access child nodes." msgstr "" +"Cada elemento XML admite algunos métodos de acceso tipo diccionario y otros " +"tipo lista. Las operaciones tipo diccionario se utilizan para acceder a los " +"valores de los atributos, y las operaciones tipo lista se utilizan para " +"acceder a los nodos hijos." #: ../Doc/whatsnew/2.5.rst:1808 msgid "Operation" -msgstr "" +msgstr "Operación" #: ../Doc/whatsnew/2.5.rst:1808 msgid "Result" -msgstr "" +msgstr "Resultado" #: ../Doc/whatsnew/2.5.rst:1810 msgid "``elem[n]``" -msgstr "" +msgstr "``elem[n]``" #: ../Doc/whatsnew/2.5.rst:1810 msgid "Returns n'th child element." -msgstr "" +msgstr "Devuelve el elemento hijo enésimo." #: ../Doc/whatsnew/2.5.rst:1812 msgid "``elem[m:n]``" -msgstr "" +msgstr "``elem[m:n]``" #: ../Doc/whatsnew/2.5.rst:1812 msgid "Returns list of m'th through n'th child elements." -msgstr "" +msgstr "Devuelve la lista de m's a n's elementos hijos." #: ../Doc/whatsnew/2.5.rst:1815 msgid "``len(elem)``" -msgstr "" +msgstr "``len(elem)``" #: ../Doc/whatsnew/2.5.rst:1815 msgid "Returns number of child elements." -msgstr "" +msgstr "Devuelve el número de elementos hijos." #: ../Doc/whatsnew/2.5.rst:1817 msgid "``list(elem)``" -msgstr "" +msgstr "``lista(elem)``" #: ../Doc/whatsnew/2.5.rst:1817 msgid "Returns list of child elements." -msgstr "" +msgstr "Devuelve la lista de elementos hijos." #: ../Doc/whatsnew/2.5.rst:1819 msgid "``elem.append(elem2)``" -msgstr "" +msgstr "``elem.append(elem2)``" #: ../Doc/whatsnew/2.5.rst:1819 msgid "Adds *elem2* as a child." -msgstr "" +msgstr "Añade *elemento2* como hijo." #: ../Doc/whatsnew/2.5.rst:1821 msgid "``elem.insert(index, elem2)``" -msgstr "" +msgstr "``elem.insert(index, elem2)``" #: ../Doc/whatsnew/2.5.rst:1821 msgid "Inserts *elem2* at the specified location." -msgstr "" +msgstr "Inserta *elemento2* en el lugar especificado." #: ../Doc/whatsnew/2.5.rst:1823 msgid "``del elem[n]``" -msgstr "" +msgstr "``del elem[n]``" #: ../Doc/whatsnew/2.5.rst:1823 msgid "Deletes n'th child element." -msgstr "" +msgstr "Elimina el elemento hijo enésimo." #: ../Doc/whatsnew/2.5.rst:1825 msgid "``elem.keys()``" -msgstr "" +msgstr "``elem.keys()``" #: ../Doc/whatsnew/2.5.rst:1825 msgid "Returns list of attribute names." -msgstr "" +msgstr "Devuelve la lista de nombres de atributos." #: ../Doc/whatsnew/2.5.rst:1827 msgid "``elem.get(name)``" -msgstr "" +msgstr "``elem.get(name)``" #: ../Doc/whatsnew/2.5.rst:1827 msgid "Returns value of attribute *name*." -msgstr "" +msgstr "Devuelve el valor del atributo *nombre*." #: ../Doc/whatsnew/2.5.rst:1829 msgid "``elem.set(name, value)``" -msgstr "" +msgstr "``elem.set(nombre, valor)``" #: ../Doc/whatsnew/2.5.rst:1829 msgid "Sets new value for attribute *name*." -msgstr "" +msgstr "Establece el nuevo valor del atributo *nombre*." #: ../Doc/whatsnew/2.5.rst:1831 msgid "``elem.attrib``" -msgstr "" +msgstr "``elem.attrib``" #: ../Doc/whatsnew/2.5.rst:1831 msgid "Retrieves the dictionary containing attributes." -msgstr "" +msgstr "Recupera el diccionario que contiene los atributos." #: ../Doc/whatsnew/2.5.rst:1834 msgid "``del elem.attrib[name]``" -msgstr "" +msgstr "``del elem.attrib[name]``" #: ../Doc/whatsnew/2.5.rst:1834 msgid "Deletes attribute *name*." -msgstr "" +msgstr "Borra el atributo *nombre*." #: ../Doc/whatsnew/2.5.rst:1837 msgid "" @@ -2231,6 +3267,9 @@ msgid "" "`Element` nodes. To check if a node is a comment or processing " "instructions::" msgstr "" +"Los comentarios y las instrucciones de procesamiento también se representan " +"como nodos :class:`Element`. Para comprobar si un nodo es un comentario o " +"unas instrucciones de procesamiento::" #: ../Doc/whatsnew/2.5.rst:1845 msgid "" @@ -2238,6 +3277,9 @@ msgid "" "method. Like :func:`parse`, it can take either a string or a file-like " "object::" msgstr "" +"Para generar una salida XML, debes llamar al método :meth:`ElementTree." +"write`. Al igual que :func:`parse`, puede tomar una cadena o un objeto tipo " +"archivo::" #: ../Doc/whatsnew/2.5.rst:1855 msgid "" @@ -2248,24 +3290,34 @@ msgid "" "Therefore, it's best to specify a different encoding such as UTF-8 that can " "handle any Unicode character.)" msgstr "" +"(Atención: la codificación por defecto utilizada para la salida es ASCII. " +"Para el trabajo general de XML, donde el nombre de un elemento puede " +"contener caracteres Unicode arbitrarios, ASCII no es una codificación muy " +"útil porque lanzará una excepción si el nombre de un elemento contiene " +"cualquier carácter con valores superiores a 127. Por lo tanto, es mejor " +"especificar una codificación diferente, como UTF-8, que puede manejar " +"cualquier carácter Unicode)" #: ../Doc/whatsnew/2.5.rst:1862 msgid "" "This section is only a partial description of the ElementTree interfaces. " "Please read the package's official documentation for more details." msgstr "" +"Esta sección es sólo una descripción parcial de las interfaces de " +"ElementTree. Por favor, lee la documentación oficial del paquete para más " +"detalles." #: ../Doc/whatsnew/2.5.rst:1868 msgid "http://effbot.org/zone/element-index.htm" -msgstr "" +msgstr "http://effbot.org/zone/element-index.htm" #: ../Doc/whatsnew/2.5.rst:1869 msgid "Official documentation for ElementTree." -msgstr "" +msgstr "Documentación oficial de ElementTree." #: ../Doc/whatsnew/2.5.rst:1877 msgid "The hashlib package" -msgstr "" +msgstr "El paquete hashlib" #: ../Doc/whatsnew/2.5.rst:1879 msgid "" @@ -2275,6 +3327,11 @@ msgid "" "available, the module uses OpenSSL for fast platform optimized " "implementations of algorithms." msgstr "" +"Se ha añadido un nuevo módulo :mod:`hashlib`, escrito por Gregory P. Smith, " +"para sustituir a los módulos :mod:`md5` y :mod:`sha`. :mod:`hashlib` añade " +"soporte para hashes seguros adicionales (SHA-224, SHA-256, SHA-384 y " +"SHA-512). Cuando está disponible, el módulo utiliza OpenSSL para " +"implementaciones rápidas de algoritmos optimizados para la plataforma." #: ../Doc/whatsnew/2.5.rst:1885 msgid "" @@ -2284,6 +3341,11 @@ msgid "" "significant difference is that the constructor functions for creating new " "hashing objects are named differently. ::" msgstr "" +"Los antiguos módulos :mod:`md5` y :mod:`sha` siguen existiendo como " +"envoltorios de hashlib para preservar la compatibilidad hacia atrás. La " +"interfaz del nuevo módulo es muy parecida a la de los módulos antiguos, pero " +"no es idéntica. La diferencia más significativa es que las funciones " +"constructoras para crear nuevos objetos hashing tienen un nombre diferente ::" #: ../Doc/whatsnew/2.5.rst:1914 msgid "" @@ -2293,14 +3355,19 @@ msgid "" "binary string or a string of hex digits, and :meth:`copy` returns a new " "hashing object with the same digest state." msgstr "" +"Una vez que se ha creado un objeto hash, sus métodos son los mismos que " +"antes: ``actualizar(cadena)`` convierte la cadena especificada en el estado " +"de resumen actual, :meth:`digest` y :meth:`hexdigest` devuelven el valor de " +"resumen como una cadena binaria o una cadena de dígitos hexadecimales, y :" +"meth:`copiar` devuelve un nuevo objeto hash con el mismo estado de resumen." #: ../Doc/whatsnew/2.5.rst:1923 msgid "The documentation for the :mod:`hashlib` module." -msgstr "" +msgstr "La documentación del módulo :mod:`hashlib`." #: ../Doc/whatsnew/2.5.rst:1931 msgid "The sqlite3 package" -msgstr "" +msgstr "El paquete sqlite3" #: ../Doc/whatsnew/2.5.rst:1933 msgid "" @@ -2308,6 +3375,9 @@ msgid "" "embedded database, has been added to the standard library under the package " "name :mod:`sqlite3`." msgstr "" +"El módulo pysqlite (http://www.pysqlite.org), una envoltura para la base de " +"datos incrustada SQLite, se ha añadido a la biblioteca estándar bajo el " +"nombre de paquete :mod:`sqlite3`." #: ../Doc/whatsnew/2.5.rst:1937 msgid "" @@ -2318,12 +3388,21 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite es una biblioteca en C que proporciona una base de datos ligera " +"basada en disco que no requiere un proceso de servidor independiente y " +"permite acceder a la base de datos utilizando una variante no estándar del " +"lenguaje de consulta SQL. Algunas aplicaciones pueden utilizar SQLite para " +"el almacenamiento interno de datos. También es posible crear un prototipo " +"de una aplicación utilizando SQLite y luego portar el código a una base de " +"datos más grande como PostgreSQL u Oracle." #: ../Doc/whatsnew/2.5.rst:1944 msgid "" "pysqlite was written by Gerhard Häring and provides a SQL interface " "compliant with the DB-API 2.0 specification described by :pep:`249`." msgstr "" +"pysqlite fue escrito por Gerhard Häring y proporciona una interfaz SQL que " +"cumple con la especificación DB-API 2.0 descrita por :pep:`249`." #: ../Doc/whatsnew/2.5.rst:1947 msgid "" @@ -2333,6 +3412,11 @@ msgid "" "the build process will compile the module when the necessary headers are " "available." msgstr "" +"Si estás compilando el código fuente de Python tú mismo, ten en cuenta que " +"el árbol de código fuente no incluye el código de SQLite, sólo el módulo " +"envolvente. Necesitarás tener las librerías y cabeceras de SQLite instaladas " +"antes de compilar Python, y el proceso de construcción compilará el módulo " +"cuando las cabeceras necesarias estén disponibles." #: ../Doc/whatsnew/2.5.rst:1952 msgid "" @@ -2340,18 +3424,25 @@ msgid "" "represents the database. Here the data will be stored in the :file:`/tmp/" "example` file::" msgstr "" +"Para utilizar el módulo, primero hay que crear un objeto :class:`Connection` " +"que represente la base de datos. Aquí los datos se almacenarán en el " +"archivo :file:`/tmp/example`::" #: ../Doc/whatsnew/2.5.rst:1958 msgid "" "You can also supply the special name ``:memory:`` to create a database in " "RAM." msgstr "" +"También puede suministrar el nombre especial ``:memory:`` para crear una " +"base de datos en la RAM." #: ../Doc/whatsnew/2.5.rst:1960 msgid "" "Once you have a :class:`Connection`, you can create a :class:`Cursor` " "object and call its :meth:`execute` method to perform SQL commands::" msgstr "" +"Una vez que tengas una :class:`Connection`, puedes crear un objeto :class:" +"`Cursor` y llamar a su método :meth:`execute` para realizar comandos SQL::" #: ../Doc/whatsnew/2.5.rst:1974 msgid "" @@ -2360,9 +3451,12 @@ msgid "" "doing so is insecure; it makes your program vulnerable to an SQL injection " "attack." msgstr "" +"Normalmente tus operaciones SQL necesitarán usar valores de variables de " +"Python. No deberías montar tu consulta usando las operaciones de cadena de " +"Python porque hacerlo es inseguro; hace que tu programa sea vulnerable a un " +"ataque de inyección SQL." -#: ../Doc/whatsnew/2.5.rst:1978 -#, python-format +#: ../Doc/whatsnew/2.5.rst:1978, python-format msgid "" "Instead, use the DB-API's parameter substitution. Put ``?`` as a " "placeholder wherever you want to use a value, and then provide a tuple of " @@ -2370,6 +3464,11 @@ msgid "" "(Other database modules may use a different placeholder, such as ``%s`` or " "``:1``.) For example::" msgstr "" +"En su lugar, utilice la sustitución de parámetros de la DB-API. Ponga ``?`` " +"como marcador de posición donde quiera usar un valor, y luego proporcione " +"una tupla de valores como segundo argumento al método :meth:`execute` del " +"cursor. (Otros módulos de base de datos pueden utilizar un marcador de " +"posición diferente, como ``%s`` o ``:1``) Por ejemplo::" #: ../Doc/whatsnew/2.5.rst:1998 msgid "" @@ -2378,50 +3477,58 @@ msgid "" "retrieve a single matching row, or call :meth:`fetchall` to get a list of " "the matching rows." msgstr "" +"Para recuperar datos después de ejecutar una sentencia SELECT, puede tratar " +"el cursor como un iterador, llamar al método :meth:`fetchone` del cursor " +"para recuperar una sola fila que coincida, o llamar a :meth:`fetchall` para " +"obtener una lista de las filas que coincidan." #: ../Doc/whatsnew/2.5.rst:2003 msgid "This example uses the iterator form::" -msgstr "" +msgstr "Este ejemplo utiliza la forma del iterador::" #: ../Doc/whatsnew/2.5.rst:2016 msgid "" "For more information about the SQL dialect supported by SQLite, see https://" "www.sqlite.org." msgstr "" +"Para más información sobre el dialecto SQL soportado por SQLite, consulte " +"https://www.sqlite.org." #: ../Doc/whatsnew/2.5.rst:2023 msgid "http://www.pysqlite.org" -msgstr "" +msgstr "http://www.pysqlite.org" #: ../Doc/whatsnew/2.5.rst:2023 msgid "The pysqlite web page." -msgstr "" +msgstr "La página web de pysqlite." #: ../Doc/whatsnew/2.5.rst:2027 msgid "https://www.sqlite.org" -msgstr "" +msgstr "https://www.sqlite.org" #: ../Doc/whatsnew/2.5.rst:2026 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"La página web de SQLite; la documentación describe la sintaxis y los tipos " +"de datos disponibles para el dialecto SQL soportado." #: ../Doc/whatsnew/2.5.rst:2029 msgid "The documentation for the :mod:`sqlite3` module." -msgstr "" +msgstr "La documentación del módulo :mod:`sqlite3`." #: ../Doc/whatsnew/2.5.rst:2031 msgid ":pep:`249` - Database API Specification 2.0" -msgstr "" +msgstr ":pep:`249` - Especificación de la API de la base de datos 2.0" #: ../Doc/whatsnew/2.5.rst:2032 msgid "PEP written by Marc-André Lemburg." -msgstr "" +msgstr "PEP escrito por Marc-André Lemburg." #: ../Doc/whatsnew/2.5.rst:2040 msgid "The wsgiref package" -msgstr "" +msgstr "El paquete wsgiref" #: ../Doc/whatsnew/2.5.rst:2042 msgid "" @@ -2430,6 +3537,10 @@ msgid "" "`333`. The :mod:`wsgiref` package is a reference implementation of the WSGI " "specification." msgstr "" +"La Interfaz de Pasarela del Servidor Web (WSGI) v1.0 define una interfaz " +"estándar entre los servidores web y las aplicaciones web de Python y se " +"describe en :pep:`333`. El paquete :mod:`wsgiref` es una implementación de " +"referencia de la especificación WSGI." #: ../Doc/whatsnew/2.5.rst:2049 msgid "" @@ -2437,30 +3548,36 @@ msgid "" "this server is useful for debugging but isn't intended for production use. " "Setting up a server takes only a few lines of code::" msgstr "" +"El paquete incluye un servidor HTTP básico que ejecutará una aplicación " +"WSGI; este servidor es útil para la depuración pero no está pensado para su " +"uso en producción. La configuración de un servidor sólo requiere unas pocas " +"líneas de código::" #: ../Doc/whatsnew/2.5.rst:2069 msgid "http://www.wsgi.org" -msgstr "" +msgstr "http://www.wsgi.org" #: ../Doc/whatsnew/2.5.rst:2069 msgid "A central web site for WSGI-related resources." -msgstr "" +msgstr "Un sitio web central para los recursos relacionados con WSGI." #: ../Doc/whatsnew/2.5.rst:2071 msgid ":pep:`333` - Python Web Server Gateway Interface v1.0" -msgstr "" +msgstr ":pep:`333` - Interfaz del servidor web Python v1.0" #: ../Doc/whatsnew/2.5.rst:2072 msgid "PEP written by Phillip J. Eby." -msgstr "" +msgstr "PEP escrito por Phillip J. Eby." #: ../Doc/whatsnew/2.5.rst:2080 msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la API de construcción y C" #: ../Doc/whatsnew/2.5.rst:2082 msgid "Changes to Python's build process and to the C API include:" msgstr "" +"Los cambios en el proceso de construcción de Python y en la API de C " +"incluyen:" #: ../Doc/whatsnew/2.5.rst:2084 msgid "" @@ -2468,6 +3585,10 @@ msgid "" "migration procedure that was supervised and flawlessly carried out by Martin " "von Löwis. The procedure was developed as :pep:`347`." msgstr "" +"El árbol de fuentes de Python fue convertido de CVS a Subversion, en un " +"complejo procedimiento de migración que fue supervisado y llevado a cabo de " +"forma impecable por Martin von Löwis. El procedimiento se desarrolló como :" +"pep:`347`." #: ../Doc/whatsnew/2.5.rst:2088 msgid "" @@ -2477,6 +3598,12 @@ msgid "" "were refcounting problems, often occurring in error-handling code. See " "https://scan.coverity.com for the statistics." msgstr "" +"Coverity, una empresa que comercializa una herramienta de análisis de código " +"fuente llamada Prevent, proporcionó los resultados de su examen del código " +"fuente de Python. El análisis encontró alrededor de 60 errores que fueron " +"rápidamente corregidos. Muchos de los errores eran problemas de recuento, " +"que a menudo se producen en el código de gestión de errores. Consulte las " +"estadísticas en https://scan.coverity.com." #: ../Doc/whatsnew/2.5.rst:2094 msgid "" @@ -2485,6 +3612,10 @@ msgid "" "`int`. See the earlier section :ref:`pep-353` for a discussion of this " "change." msgstr "" +"El mayor cambio en la API de C proviene de :pep:`353`, que modifica el " +"intérprete para utilizar una definición de tipo :c:type:`Py_ssize_t` en " +"lugar de :c:type:`int`. Vea la sección anterior :ref:`pep-353` para una " +"discusión de este cambio." #: ../Doc/whatsnew/2.5.rst:2099 msgid "" @@ -2493,6 +3624,11 @@ msgid "" "converted to an abstract syntax tree (or AST), and it is the abstract " "syntax tree that's traversed to produce the bytecode." msgstr "" +"El diseño del compilador de código de bytes ha cambiado mucho, ya no genera " +"código de bytes recorriendo el árbol de análisis sintáctico. En su lugar, " +"el árbol de análisis se convierte en un árbol de sintaxis abstracta (o AST), " +"y es el árbol de sintaxis abstracta el que se recorre para producir el " +"código de bytes." #: ../Doc/whatsnew/2.5.rst:2104 msgid "" @@ -2500,6 +3636,9 @@ msgid "" "`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the value of " "the *flags* parameter::" msgstr "" +"Es posible que el código Python obtenga objetos AST utilizando el built-in :" +"func:`compile` y especificando ``_ast.PyCF_ONLY_AST`` como valor del " +"parámetro *flags*::" #: ../Doc/whatsnew/2.5.rst:2117 msgid "" @@ -2514,6 +3653,16 @@ msgid "" "`PyAST_Compile`. For more information, read the source code, and then ask " "questions on python-dev." msgstr "" +"Todavía no se ha escrito ninguna documentación oficial para el código AST, " +"pero :pep:`339` discute el diseño. Para empezar a conocer el código, lea la " +"definición de los distintos nodos AST en :file:`Parser/Python.asdl`. Un " +"script de Python lee este archivo y genera un conjunto de definiciones de " +"estructuras C en :file:`Include/Python-ast.h`. Las funciones :c:func:" +"`PyParser_ASTFromString` y :c:func:`PyParser_ASTFromFile`, definidas en :" +"file:`Include/pythonrun.h`, toman el código fuente de Python como entrada y " +"devuelven la raíz de un AST que representa el contenido. Este AST puede " +"convertirse en un objeto de código mediante :c:func:`PyAST_Compile`. Para " +"más información, lea el código fuente, y luego haga preguntas en python-dev." #: ../Doc/whatsnew/2.5.rst:2127 msgid "" @@ -2523,6 +3672,11 @@ msgid "" "Schemenauer, plus the participants in a number of AST sprints at conferences " "such as PyCon." msgstr "" +"El código de la AST fue desarrollado bajo la dirección de Jeremy Hylton, e " +"implementado por (en orden alfabético) Brett Cannon, Nick Coghlan, Grant " +"Edwards, John Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters, Armin Rigo y " +"Neil Schemenauer, además de los participantes en varios sprints de la AST en " +"conferencias como la PyCon." #: ../Doc/whatsnew/2.5.rst:2136 msgid "" @@ -2534,6 +3688,14 @@ msgid "" "the memory may be returned to the operating system. (Implemented by Evan " "Jones, and reworked by Tim Peters.)" msgstr "" +"Se aplicó el parche de Evan Jones a obmalloc, descrito por primera vez en " +"una charla en la PyCon DC 2005. Python 2.4 asignaba objetos pequeños en " +"arenas de 256K, pero nunca liberaba arenas. Con este parche, Python " +"liberará arenas cuando estén vacías. El efecto neto es que en algunas " +"plataformas, cuando se asignan muchos objetos, el uso de la memoria de " +"Python puede realmente caer cuando se borran y la memoria puede ser devuelta " +"al sistema operativo. (Implementado por Evan Jones, y reelaborado por Tim " +"Peters)" #: ../Doc/whatsnew/2.5.rst:2144 msgid "" @@ -2545,6 +3707,14 @@ msgid "" "`PyObject_Realloc`, and :c:func:`PyObject_Free` are another family that's " "supposed to be used for creating Python objects." msgstr "" +"Tenga en cuenta que este cambio significa que los módulos de extensión deben " +"ser más cuidadosos al asignar memoria. La API de Python tiene muchas " +"funciones diferentes para asignar memoria que se agrupan en familias. Por " +"ejemplo, :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, y :c:func:" +"`PyMem_Free` son una familia que asigna memoria en bruto, mientras que :c:" +"func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, y :c:func:" +"`PyObject_Free` son otra familia que se supone que se utiliza para crear " +"objetos de Python." #: ../Doc/whatsnew/2.5.rst:2152 msgid "" @@ -2556,6 +3726,14 @@ msgid "" "probably result in a segfault. You should carefully test your C extension " "modules with Python 2.5." msgstr "" +"Anteriormente estas diferentes familias se reducían a las funciones :c:func:" +"`malloc` y :c:func:`free` de la plataforma. Esto significaba que no " +"importaba si te equivocabas y asignabas memoria con la función :c:func:" +"`PyMem` pero la liberabas con la función :c:func:`PyObject`. Con los " +"cambios de la versión 2.5 en obmalloc, estas familias hacen ahora cosas " +"diferentes y los desajustes probablemente darán lugar a un fallo de " +"seguridad. Deberías probar cuidadosamente tus módulos de extensión C con " +"Python 2.5." #: ../Doc/whatsnew/2.5.rst:2159 msgid "" @@ -2565,6 +3743,11 @@ msgid "" "`PySet_Contains` and :c:func:`PySet_Size` to examine the set's state. " "(Contributed by Raymond Hettinger.)" msgstr "" +"Los tipos de conjuntos incorporados tienen ahora una API oficial en C. " +"Llame a :c:func:`PySet_New` y :c:func:`PyFrozenSet_New` para crear un nuevo " +"conjunto, :c:func:`PySet_Add` y :c:func:`PySet_Discard` para añadir y " +"eliminar elementos, y :c:func:`PySet_Contains` y :c:func:`PySet_Size` para " +"examinar el estado del conjunto. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.5.rst:2165 msgid "" @@ -2573,6 +3756,11 @@ msgid "" "a string of build information like this: ``\"trunk:45355:45356M, Apr 13 " "2006, 07:42:19\"``. (Contributed by Barry Warsaw.)" msgstr "" +"El código C puede ahora obtener información sobre la revisión exacta del " +"intérprete de Python llamando a la función :c:func:`Py_GetBuildInfo` que " +"devuelve una cadena de información de compilación como esta ``" +"\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. (Contribuido por Barry " +"Warsaw.)" #: ../Doc/whatsnew/2.5.rst:2170 msgid "" @@ -2587,12 +3775,24 @@ msgid "" "optimizations actually make the code faster. (Contributed by Fredrik Lundh " "at the NeedForSpeed sprint.)" msgstr "" +"Se pueden utilizar dos nuevas macros para indicar las funciones C que son " +"locales al fichero actual, de modo que se pueda utilizar una convención de " +"llamada más rápida. ``Py_LOCAL(type)`` declara que la función devuelve un " +"valor del *tipo* especificado y utiliza un calificador de llamada rápida. " +"``Py_LOCAL_INLINE(type)`` hace lo mismo y también solicita que la función " +"sea inline. Si :c:func:`PY_LOCAL_AGGRESSIVE` se define antes de que se " +"incluya :file:`python.h`, se habilita un conjunto de optimizaciones más " +"agresivas para el módulo; debería comparar los resultados para averiguar si " +"estas optimizaciones realmente hacen el código más rápido. (Contribuido por " +"Fredrik Lundh en el sprint NeedForSpeed)" #: ../Doc/whatsnew/2.5.rst:2181 msgid "" "``PyErr_NewException(name, base, dict)`` can now accept a tuple of base " "classes as its *base* argument. (Contributed by Georg Brandl.)" msgstr "" +"``PyErr_NewException(name, base, dict)`` ahora puede aceptar una tupla de " +"clases base como su argumento *base*. (Contribuido por Georg Brandl.)" #: ../Doc/whatsnew/2.5.rst:2184 msgid "" @@ -2602,6 +3802,12 @@ msgid "" "A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the " "function above that, and so forth. (Added by Neal Norwitz.)" msgstr "" +"La función :c:func:`PyErr_Warn` para emitir avisos está ahora obsoleta en " +"favor de ``PyErr_WarnEx(category, message, stacklevel)`` que permite " +"especificar el número de marcos de pila que separan esta función y la que la " +"llama. Un *stacklevel* de 1 es la función que llama a :c:func:" +"`PyErr_WarnEx`, 2 es la función que está por encima, y así sucesivamente. " +"(Añadido por Neal Norwitz.)" #: ../Doc/whatsnew/2.5.rst:2190 msgid "" @@ -2609,6 +3815,9 @@ msgid "" "compiled with a C++ compiler without errors. (Implemented by Anthony " "Baxter, Martin von Löwis, Skip Montanaro.)" msgstr "" +"El intérprete de CPython sigue estando escrito en C, pero el código ahora " +"puede ser compilado con un compilador de C++ sin errores. (Implementado " +"por Anthony Baxter, Martin von Löwis, Skip Montanaro)" #: ../Doc/whatsnew/2.5.rst:2194 msgid "" @@ -2617,16 +3826,22 @@ msgid "" "unlikely case that your extensions were using it, you can replace it by " "something like the following::" msgstr "" +"Se ha eliminado la función :c:func:`PyRange_New`. Nunca se documentó, nunca " +"se utilizó en el código del núcleo, y tenía una comprobación de errores " +"peligrosamente laxa. En el improbable caso de que sus extensiones la " +"utilizaran, puede sustituirla por algo como lo siguiente::" #: ../Doc/whatsnew/2.5.rst:2208 msgid "Port-Specific Changes" -msgstr "" +msgstr "Cambios específicos en los puertos" #: ../Doc/whatsnew/2.5.rst:2210 msgid "" "MacOS X (10.3 and higher): dynamic loading of modules now uses the :c:func:" "`dlopen` function instead of MacOS-specific functions." msgstr "" +"MacOS X (10.3 y superior): la carga dinámica de módulos utiliza ahora la " +"función :c:func:`dlopen` en lugar de funciones específicas de MacOS." #: ../Doc/whatsnew/2.5.rst:2213 msgid "" @@ -2635,6 +3850,10 @@ msgid "" "binary able to run on both PowerPC and Intel processors. (Contributed by " "Ronald Oussoren; :issue:`2573`.)" msgstr "" +"MacOS X: se ha añadido una opción :option:`!--enable-universalsdk` al " +"script :program:`configure` que compila el intérprete como un binario " +"universal capaz de funcionar tanto en procesadores PowerPC como Intel. " +"(Contribución de Ronald Oussoren; :issue:`2573`.)" #: ../Doc/whatsnew/2.5.rst:2218 msgid "" @@ -2642,16 +3861,21 @@ msgid "" "extension modules. :file:`.pyd` is now the only filename extension that " "will be searched for." msgstr "" +"Windows: :file:`.dll` ya no se admite como extensión de nombre de archivo " +"para los módulos de extensión. :file:`.pyd` es ahora la única extensión de " +"nombre de archivo que se buscará." #: ../Doc/whatsnew/2.5.rst:2228 msgid "Porting to Python 2.5" -msgstr "" +msgstr "Adaptación a Python 2.5" #: ../Doc/whatsnew/2.5.rst:2230 msgid "" "This section lists previously described changes that may require changes to " "your code:" msgstr "" +"Esta sección enumera los cambios descritos anteriormente que pueden requerir " +"cambios en su código:" #: ../Doc/whatsnew/2.5.rst:2233 msgid "" @@ -2660,6 +3884,10 @@ msgid "" "encoding declaration. In Python 2.4 this triggered a warning, not a syntax " "error." msgstr "" +"ASCII es ahora la codificación por defecto para los módulos. Ahora es un " +"error de sintaxis si un módulo contiene literales de cadena con caracteres " +"de 8 bits pero no tiene una declaración de codificación. En Python 2.4 esto " +"provocaba una advertencia, no un error de sintaxis." #: ../Doc/whatsnew/2.5.rst:2238 msgid "" @@ -2667,6 +3895,9 @@ msgid "" "object. Because of the :pep:`342` changes described in section :ref:" "`pep-342`, it's now possible for :attr:`gi_frame` to be ``None``." msgstr "" +"Anteriormente, el atributo :attr:`gi_frame` de un generador era siempre un " +"objeto frame. Debido a los cambios de :pep:`342` descritos en la sección :" +"ref:`pep-342`, ahora es posible que :attr:`gi_frame` sea ``None``." #: ../Doc/whatsnew/2.5.rst:2242 msgid "" @@ -2675,6 +3906,11 @@ msgid "" "Unicode using the default ASCII encoding. Previously such comparisons would " "raise a :class:`UnicodeDecodeError` exception." msgstr "" +"Una nueva advertencia, :class:`UnicodeWarning`, se lanza cuando se intenta " +"comparar una cadena Unicode y una cadena de 8 bits que no puede ser " +"convertida a Unicode utilizando la codificación ASCII por defecto. " +"Anteriormente estas comparaciones lanzaban una excepción :class:" +"`UnicodeDecodeError`." #: ../Doc/whatsnew/2.5.rst:2247 msgid "" @@ -2683,15 +3919,22 @@ msgid "" "should be split into lines in a manner which preserves the newline " "characters." msgstr "" +"Biblioteca: el módulo :mod:`csv` es ahora más estricto con los campos " +"citados en varias líneas. Si sus archivos contienen nuevas líneas " +"incrustadas dentro de los campos, la entrada debe dividirse en líneas de " +"manera que se conserven los caracteres de nueva línea." -#: ../Doc/whatsnew/2.5.rst:2251 -#, python-format +#: ../Doc/whatsnew/2.5.rst:2251, python-format msgid "" "Library: the :mod:`locale` module's :func:`format` function's would " "previously accept any string as long as no more than one %char specifier " "appeared. In Python 2.5, the argument must be exactly one %char specifier " "with no surrounding text." msgstr "" +"Biblioteca: la función :func:`format` del módulo :mod:`locale` aceptaba " +"antes cualquier cadena siempre que no apareciera más de un especificador " +"%char. En Python 2.5, el argumento debe ser exactamente un especificador " +"%char sin texto alrededor." #: ../Doc/whatsnew/2.5.rst:2256 msgid "" @@ -2700,6 +3943,10 @@ msgid "" "return a tuple of arguments instead. The modules also no longer accept the " "deprecated *bin* keyword parameter." msgstr "" +"Biblioteca: Los módulos :mod:`pickle` y :mod:`cPickle` ya no aceptan un " +"valor de retorno de ``None`` del método :meth:`__reduce__`; el método debe " +"devolver una tupla de argumentos. Los módulos tampoco aceptan ya el " +"parámetro obsoleto de la palabra clave *bin*." #: ../Doc/whatsnew/2.5.rst:2261 msgid "" @@ -2709,6 +3956,11 @@ msgid "" "RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " "this path checking." msgstr "" +"Biblioteca: Las clases :mod:`SimpleXMLRPCServer` y :mod:`DocXMLRPCServer` " +"tienen ahora un atributo :attr:`rpc_paths` que restringe las operaciones XML-" +"RPC a un conjunto limitado de rutas URL; por defecto sólo se permiten " +"``'/'`` y ``'/RPC2'``. Establecer :attr:`rpc_paths` como ``None`` o una " +"tupla vacía desactiva esta comprobación de rutas." #: ../Doc/whatsnew/2.5.rst:2267 msgid "" @@ -2717,6 +3969,11 @@ msgid "" "to make the same change to avoid warnings and to support 64-bit machines. " "See the earlier section :ref:`pep-353` for a discussion of this change." msgstr "" +"API C: Muchas funciones utilizan ahora :c:type:`Py_ssize_t` en lugar de :c:" +"type:`int` para permitir el procesamiento de más datos en máquinas de 64 " +"bits. Es posible que el código de las extensiones tenga que hacer el mismo " +"cambio para evitar advertencias y soportar máquinas de 64 bits. Véase la " +"sección anterior :ref:`pep-353` para una discusión de este cambio." #: ../Doc/whatsnew/2.5.rst:2272 msgid "" @@ -2725,10 +3982,15 @@ msgid "" "Memory allocated with one family's :c:func:`\\*_Malloc` must be freed with " "the corresponding family's :c:func:`\\*_Free` function." msgstr "" +"C API: Los cambios en obmalloc significan que debe tener cuidado de no " +"mezclar el uso de las familias de funciones :c:func:`PyMem_\\*` y :c:func:" +"`PyObject_\\*`. La memoria asignada con la función :c:func:`\\*_Malloc` de " +"una familia debe ser liberada con la función :c:func:`\\*_Free` de la " +"familia correspondiente." #: ../Doc/whatsnew/2.5.rst:2281 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.5.rst:2283 msgid "" @@ -2740,3 +4002,9 @@ msgid "" "Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas " "Wouters." msgstr "" +"El autor desea agradecer a las siguientes personas sus sugerencias, " +"correcciones y ayuda en varios borradores de este artículo: Georg Brandl, " +"Nick Coghlan, Phillip J. Eby, Lars Gustäbel, Raymond Hettinger, Ralf W. " +"Grosse-Kunstleve, Kent Johnson, Iain Lowe, Martin von Löwis, Fredrik Lundh, " +"Andrew McNamara, Skip Montanaro, Gustavo Niemeyer, Paul Prescod, James " +"Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas Wouters." From 152a3a7f44ddaab9d0763b6710aa7d279b8d8265 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Tue, 5 Oct 2021 06:44:01 -0300 Subject: [PATCH 87/94] Traducido 'library/ipaddress.po' (#1354) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ajuste entradas señaladas * OberKirch por Oberkirch * añado entradas faltantes * Update library/ipaddress.po Co-authored-by: Cristián Maureira-Fredes --- library/ipaddress.po | 54 +++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/library/ipaddress.po b/library/ipaddress.po index 36eb52fd67..6b55817f7c 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-18 03:11-0300\n" +"PO-Revision-Date: 2021-09-01 06:45-0300\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.4.2\n" #: ../Doc/library/ipaddress.rst:2 msgid ":mod:`ipaddress` --- IPv4/IPv6 manipulation library" @@ -324,6 +325,15 @@ msgid "" "``'#'`` and the grouping option ``'_'`` are available. ``__format__`` is " "used by ``format``, ``str.format`` and f-strings." msgstr "" +"Retorna una representación en cadena de caracteres de la dirección IP, " +"controlada por una cadena de formato explícito. *fmt* puede ser uno de los " +"siguientes: ``'s'``, la opción predeterminada, equivalente a :func:`str`, " +"``'b'`` para una cadena binaria con relleno de ceros, ``'X'`` o ``'x'`` para " +"una representación hexadecimal en mayúsculas o minúsculas, o ``'n'``, que es " +"equivalente a ``'b'`` para direcciones IPv4 y ``'x'`` para IPv6. Para " +"representaciones binarias y hexadecimales, el especificador de formulario " +"``'#'`` y la opción de agrupación ``'_'`` están disponibles. ``__format__`` " +"es utilizado por ``format``, ``str.format`` y f-strings." #: ../Doc/library/ipaddress.rst:234 msgid "" @@ -362,6 +372,11 @@ msgid "" "``fe80::1234%1`` might identify address ``fe80::1234`` on the first link of " "the node." msgstr "" +"Opcionalmente, la cadena de caracteres también puede tener un ID alcance, " +"expresado con un sufijo ``%scope_id``. Si está presente, el ID de alcance no " +"debe estar vacío y no puede contener ``%``. Consulte :RFC:`4007` para " +"obtener más detalles. Por ejemplo, ``fe80::1234% 1`` podría identificar la " +"dirección ``fe80::1234`` en el primer enlace del nodo." #: ../Doc/library/ipaddress.rst:252 msgid "An integer that fits into 128 bits." @@ -398,7 +413,6 @@ msgstr "" "ceros iniciales y los grupos que consisten completamente de ceros." #: ../Doc/library/ipaddress.rst:275 -#, fuzzy msgid "" "For the following attributes and methods, see the corresponding " "documentation of the :class:`IPv4Address` class:" @@ -406,9 +420,7 @@ 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:290 -#, fuzzy msgid "is_global" msgstr "is_global" @@ -441,6 +453,10 @@ msgid "" "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 "" +"Para las direcciones con alcance como es definido por :RFC:`4007`, esta " +"propiedad identifica la zona particular del alcance de la dirección a la que " +"pertenece dicha dirección, como una cadena de caracteres. Cuando no se " +"especifica ninguna zona de alcance, esta propiedad será ``None``." #: ../Doc/library/ipaddress.rst:314 msgid "" @@ -449,9 +465,9 @@ msgid "" "embedded IPv4 address. For any other address, this property will be " "``None``." msgstr "" -"Para las direcciones que parecen ser direcciones 6to4 (comenzando con " +"Para las direcciones que parecen ser direcciones 6to4 (comenzando con " "``2002::/16``) según lo definido por :RFC:`3056`, esta propiedad reportará " -"la dirección IPv4 incrustada. Para cualquier otra dirección, esta propiedad " +"la dirección IPv4 incrustada. Para cualquier otra dirección, esta propiedad " "será ``None``." #: ../Doc/library/ipaddress.rst:321 @@ -467,7 +483,6 @@ msgstr "" "otra dirección, esta propiedad será ``None``." #: ../Doc/library/ipaddress.rst:328 -#, fuzzy msgid "" "Refer to the corresponding method documentation in :class:`IPv4Address`." msgstr "" @@ -493,6 +508,8 @@ msgid "" "Note that IPv6 scoped addresses are converted to integers without scope zone " "ID." msgstr "" +"Tenga en cuenta que las direcciones IPv6 con alcance se convierten en " +"números enteros sin ID de zona de alcance." #: ../Doc/library/ipaddress.rst:353 ../Doc/library/ipaddress.rst:737 #: ../Doc/library/ipaddress.rst:873 @@ -514,14 +531,14 @@ msgid "Comparison operators" msgstr "Operadores de comparación" #: ../Doc/library/ipaddress.rst:363 -#, fuzzy msgid "" "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:" +"operadores de comparación. Las mismas direcciones IPv6 con diferentes ID de " +"zona de alcance no son iguales. Algunos ejemplos:" #: ../Doc/library/ipaddress.rst:380 msgid "Arithmetic operators" @@ -783,7 +800,6 @@ msgid "Length of the network prefix, in bits." msgstr "Longitud del prefijo de red, en bits." #: ../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 " @@ -792,11 +808,13 @@ msgid "" "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 " +"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, " -"excepto la propia dirección de red y la dirección de difusión de red. Para " +"excepto la propia dirección de red y la dirección de difusión de red. Para " "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." +"dirección de difusión de red también se incluyen en el resultado. Las redes " +"con una máscara de 32 retornarán una lista que contiene la única dirección " +"de host." #: ../Doc/library/ipaddress.rst:558 msgid "" @@ -942,7 +960,6 @@ msgstr "" "para una dirección IPv6." #: ../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-" @@ -950,11 +967,12 @@ msgid "" "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* " +"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 " -"dirección *anycast Subnet-Router*. Para las redes con una longitud de " +"dirección *anycast Subnet-Router*. Para las redes con una longitud de " "máscara de 127, la dirección *anycast Subnet-Router* también se incluye en " -"el resultado." +"el resultado. Las redes con una máscara de 128 retornarán una lista que " +"contiene la única dirección de host." #: ../Doc/library/ipaddress.rst:727 msgid "" From 5fb9dbaeaf5e090903cd56bbbfd96939ee1d57ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Mej=C3=ADa?= Date: Tue, 5 Oct 2021 04:45:29 -0500 Subject: [PATCH 88/94] =?UTF-8?q?Traducci=C3=B3n=20library/os=20(#1353)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traducido archivo library/os * Actualizar library_os.txt Co-authored-by: alex --- dictionaries/library_os.txt | 3 +- library/os.po | 186 +++++++++++++++++++++--------------- 2 files changed, 113 insertions(+), 76 deletions(-) diff --git a/dictionaries/library_os.txt b/dictionaries/library_os.txt index c8e718ba32..08f036ea71 100644 --- a/dictionaries/library_os.txt +++ b/dictionaries/library_os.txt @@ -39,4 +39,5 @@ initgroups putenv spawn execv -group \ No newline at end of file +group +merge \ No newline at end of file diff --git a/library/os.po b/library/os.po index 154ef4dac2..f0a1a2f9f1 100644 --- a/library/os.po +++ b/library/os.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-20 20:48+0200\n" +"PO-Revision-Date: 2021-08-19 21:45-0500\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" +"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 3.0\n" #: ../Doc/library/os.rst:2 msgid ":mod:`os` --- Miscellaneous operating system interfaces" @@ -274,15 +275,14 @@ msgstr "" "modificando directamente a ``os.environ``." #: ../Doc/library/os.rst:114 -#, fuzzy msgid "" "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:" -"`putenv` será llamada automáticamente cuando este mapeo sea modificado." +"Este mapeo puede ser usado para modificar el entorno y también para " +"consultarlo. :func:`putenv` será llamado automáticamente cuando el mapeo sea " +"modificado." #: ../Doc/library/os.rst:118 msgid "" @@ -318,11 +318,17 @@ msgid "" "environ``, and when one of the :meth:`pop` or :meth:`clear` methods is " "called." msgstr "" +"Puedes eliminar elementos en este mapeo para remover variables de entorno. :" +"func:`unsetenv` va a ser llamado automáticamente cuando el elemento es " +"eliminado de ``os.environ``, y cuando uno de los métodos :meth:`pop` o :meth:" +"`clear` son llamados." #: ../Doc/library/os.rst:138 ../Doc/library/os.rst:154 msgid "" "Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." msgstr "" +"Actualizado para soportar los operadores merge (``|``) y update (``|=``) de :" +"pep:`584`'s." #: ../Doc/library/os.rst:144 msgid "" @@ -678,16 +684,19 @@ msgid "" "don't update ``os.environ``, so it is actually preferable to assign to items " "of ``os.environ``." msgstr "" +"La asignación a elementos en ``os.environ`` es automáticamente traducida en " +"llamadas correspondientes a :func:`putenv`; sin embardo, llamadas a :func:" +"`putenv` no actualizan ``os.environ``, así que es preferible asignar a " +"elementos de ``os.environ``." #: ../Doc/library/os.rst:451 -#, fuzzy msgid "" "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 "" -"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`." +"En algunas plataformas, como FreeBSD y Mac OS X, establecer ``environ`` " +"pueden generar fugas de memoria. Referirse a la documentación para :c:func:" +"`putenv`." #: ../Doc/library/os.rst:454 msgid "" @@ -698,9 +707,8 @@ msgstr "" "``key``, ``value``." #: ../Doc/library/os.rst:456 -#, fuzzy msgid "The function is now always available." -msgstr "Esta función no está disponible en MacOS." +msgstr "Esta función actualmente siempre esta disponible." #: ../Doc/library/os.rst:462 msgid "Set the current process's effective group id." @@ -922,6 +930,10 @@ msgid "" "don't update ``os.environ``, so it is actually preferable to delete items of " "``os.environ``." msgstr "" +"La eliminación de elementos en ``os.environ`` es automáticamente traducida a " +"llamadas correspondiente a :func:`unsetenv`; sin embardo, llamadas a :func:" +"`unsetenv` no actualizan ``os.environ``, así que es realmente preferible " +"eliminar elementos de ``os.environ``." #: ../Doc/library/os.rst:651 msgid "" @@ -932,9 +944,10 @@ msgstr "" "``key``." #: ../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." +msgstr "" +"Estas funciones se encuentra ahora siempre disponible y también esta " +"disponible en Windows" #: ../Doc/library/os.rst:660 msgid "File Object Creation" @@ -1292,7 +1305,7 @@ msgid "" "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" "like) device, else ``False``." msgstr "" -"retorna ``True`` si el descriptor de archivo *fd* está abierto y conectado a " +"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:894 @@ -1635,15 +1648,14 @@ 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:1156 -#, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " "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." +"y posterior, OpenBSD 2.7 y posterior, AIX 7.1 y posterior. El uso de flags " +"requiere Linux 4.6 o posterior." #: ../Doc/library/os.rst:1162 msgid "" @@ -1734,15 +1746,14 @@ 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:1225 -#, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " "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." +"y posterior, OpenBSD 2.7 y posterior, AIX 7.1 y posterior. El uso de flags " +"requiere Linux 4.7 o posterior." #: ../Doc/library/os.rst:1231 msgid "" @@ -1785,15 +1796,14 @@ msgstr "" "métodos :meth:`~file.read` o :meth:`~file.readline`." #: ../Doc/library/os.rst:1273 -#, fuzzy msgid "" "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``." 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." +"Copia *count* bytes del descriptor de archivo *in_fd* al descriptor de " +"archivo *out_fd* comenzando en *offset*. Retorna el número de bytes " +"enviados. Cuando se alcanza EOF, retorna ``0``." #: ../Doc/library/os.rst:1277 msgid "" @@ -1804,16 +1814,14 @@ msgstr "" "que definen :func:`sendfile`." #: ../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_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*." +"En Linux, si *offset* se entrega como ``None``, los bytes se leen desde la " +"posición actual de *in_fd* y la posición de *in_fd* se actualiza." #: ../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 " @@ -1822,27 +1830,25 @@ msgid "" 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." +"después de que los datos de *in_fd* sean escritos. Retorna lo mismo que el " +"primer caso." #: ../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_fd* is reached." msgstr "" "En Mac OS X y FreeBSD, un valor de 0 para *count* especifica enviar hasta el " -"final de *in*." +"que final de *in_fd* sea alcanzado." #: ../Doc/library/os.rst:1290 -#, fuzzy msgid "" "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 " +"Todas las plataformas admiten sockets como descriptor de archivo *out_fd*, y " "algunas plataformas también permiten otros tipos (por ejemplo, archivo " -"normal, tuberías)." +"regular, tuberías)." #: ../Doc/library/os.rst:1293 msgid "" @@ -1862,7 +1868,7 @@ msgstr "" #: ../Doc/library/os.rst:1305 msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." -msgstr "" +msgstr "Parámetros *out* e *in* han sido renombrados a *out_fd* e *in_fd*." #: ../Doc/library/os.rst:1311 msgid "" @@ -2630,7 +2636,6 @@ 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: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 " @@ -2641,7 +2646,9 @@ 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." +"directorio. Si un archivo es removido de o añadido al directorio mientras se " +"llama a esta función, no se especifica si el nombre para el archivo será " +"incluido." #: ../Doc/library/os.rst:1843 msgid "" @@ -3211,7 +3218,6 @@ msgid "The *dir_fd* parameter." msgstr "El parámetro *dir_fd*." #: ../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 " @@ -3222,7 +3228,9 @@ msgid "" 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." +"arbitrario, y las entradas especiales ``'.'`` Y ``'..'`` no están incluidas. " +"Si un archivo es removido de o añadido al directorio después de crear el " +"iterador, no se especifica si una entrada para el archivo será incluido." #: ../Doc/library/os.rst:2251 msgid "" @@ -3822,7 +3830,7 @@ msgstr "el momento del cambio de metadatos más reciente en Unix," #: ../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." +msgstr "el tiempo de creación en Windows, expresado en segundos." #: ../Doc/library/os.rst:2586 msgid "Time of most recent access expressed in nanoseconds as an integer." @@ -3841,7 +3849,7 @@ msgstr "" 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." +"el tiempo de creación en Windows, expresado en nanosegundos como un entero." #: ../Doc/library/os.rst:2603 msgid "" @@ -4443,7 +4451,6 @@ msgstr "" "tupla de 3 tuplas ``(dirpath, dirnames, filenames)``." #: ../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 " @@ -4458,10 +4465,13 @@ msgstr "" "*dirpath* es una cadena, la ruta al directorio. *dirnames* es una lista de " "los nombres de los subdirectorios en *dirpath* (excluyendo ``'.'`` y " "``'..'``). *filenames* es una lista de los nombres de los archivos que no " -"son de directorio en *dirpath*. Tenga en cuenta que los nombres en las " +"son un directorio en *dirpath*. Tenga en cuenta que los nombres en las " "listas no contienen componentes de ruta. Para obtener una ruta completa (que " "comienza con *top*) a un archivo o directorio en *dirpath*, haga ``os.path." -"join(dirpath, name)``." +"join(dirpath, name)``. El hecho de que las lista esta ordenada o no depende " +"del sistema de archivos. Si un archivo es removido de o agregado al " +"directorio *dirpath* mientras se generan las listas, no se especifica si el " +"nombre para el archivo será incluido." #: ../Doc/library/os.rst:3004 msgid "" @@ -4574,13 +4584,12 @@ msgstr "" "permite eliminar un directorio antes de que el directorio esté vacío::" #: ../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``." +"``top``, ``topdown``, ``onerror``, ``followlinks``." #: ../Doc/library/os.rst:3073 msgid "" @@ -4639,13 +4648,12 @@ msgstr "" "directorio esté vacío::" #: ../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``." +"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." #: ../Doc/library/os.rst:3141 msgid "Added support for :class:`bytes` paths." @@ -5329,15 +5337,19 @@ msgid "" "*flags* argument is provided for future extensions; no flag values are " "currently defined." msgstr "" +"Retorna un descriptor de archivo referente al *pid* del proceso. Este " +"descriptor puede ser usado para realizar gestión de procesos sin necesidad " +"de señales y carreras. El argumento *flags* es proporcionado para " +"extensiones futuras; ningún valor se encuentra definido en las banderas " +"actualmente." #: ../Doc/library/os.rst:3644 msgid "See the :manpage:`pidfd_open(2)` man page for more details." -msgstr "" +msgstr "Ver la página manual de :manpage:`pidfd_open(2)` para mas detalles." #: ../Doc/library/os.rst:3646 -#, fuzzy msgid ":ref:`Availability `: Linux 5.3+" -msgstr ":ref:`Disponibilidad `: Unix." +msgstr ":ref:`Disponibilidad `: Linux 5.3+" #: ../Doc/library/os.rst:3652 msgid "" @@ -5390,6 +5402,10 @@ msgid "" "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 "" +"En Unix, :func:`waitstatus_to_exitcode` puede ser usado para convertir el " +"resultado del método ``close`` (estado de salida) en un código de salida si " +"es que no es ``None``. En Windows, el resultado del método ``close`` es " +"directamente el código de salida (o ``None``)." #: ../Doc/library/os.rst:3682 msgid "" @@ -5423,7 +5439,6 @@ msgstr "" "`execve`." #: ../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 " @@ -5964,6 +5979,9 @@ msgid "" "(exit status) into an exit code. On Windows, the result is directly the exit " "code." msgstr "" +"En Unix, :func:`waitstatus_to_exitcode` puede ser usado para convertir el " +"resultado (estado de salida) en un código de salida. En Windows, el " +"resultado es directamente el código de salida." #: ../Doc/library/os.rst:3989 msgid "" @@ -6012,7 +6030,7 @@ msgid "" msgstr "" "Por compatibilidad con versiones anteriores, este objeto también se comporta " "como una tupla que contiene :attr:`user`, :attr:`system`, :attr:" -"`children_user`, :attr:`children_system`, y :attr:`elapsed` en ese orden" +"`children_user`, :attr:`children_system`, y :attr:`elapsed` en ese orden." #: ../Doc/library/os.rst:4009 msgid "" @@ -6047,15 +6065,18 @@ msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." msgstr "" +":func:`waitstatus_to_exitcode` puede ser usado para convertir el estado de " +"salida en el código de salida." #: ../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 "" +":func:`waitpid` puede ser usado para esperar a la terminación de algún " +"proceso hijo en específico y tiene más opciones." #: ../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`, :data:`P_ALL`, or :data:`P_PIDFD` on Linux. " @@ -6068,14 +6089,14 @@ msgid "" "`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 " -"para esperar. *options* se construye a partir de OR de uno o más de :data:" -"`WEXITED`, :data:`WSTOPPED` o :data:`WCONTINUED` y adicionalmente se puede " -"ORing con :data:`WNOHANG` o :data:`WNOWAIT`. El valor de retorno es un " -"objeto que representa los datos contenidos en la estructura :c:type:" -"`siginfo_t`, a saber: :attr:`si_pid`, :attr:`si_uid`, :attr:`si_signo`, :" -"attr:`si_status`, :attr:`si_code` o ``None`` if :data:`WNOHANG` está " -"especificado y no hay hijos en un estado de espera." +"ser :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL` o :data:`P_PIDFD` en Linux. " +"*id* especifica el pid para esperar. *options* se construye a partir de " +"ORing de uno o más de :data:`WEXITED`, :data:`WSTOPPED` o :data:`WCONTINUED` " +"y adicionalmente se puede ORed con :data:`WNOHANG` o :data:`WNOWAIT`. El " +"valor de retorno es un objeto que representa los datos contenidos en la " +"estructura :c:type:`siginfo_t`, a saber: :attr:`si_pid`, :attr:`si_uid`, :" +"attr:`si_signo`, :attr:`si_status`, :attr:`si_code` o ``None`` si :data:" +"`WNOHANG` está especificado y no hay hijos en un estado de espera." #: ../Doc/library/os.rst:4061 msgid "" @@ -6090,11 +6111,12 @@ msgid "" "This is a Linux-specific *idtype* that indicates that *id* is a file " "descriptor that refers to a process." msgstr "" +"Esto es un *idtype* especifico de Linux que indica que ese *id* es un " +"descriptor de archivo que hace referencia a un proceso." #: ../Doc/library/os.rst:4074 -#, fuzzy msgid ":ref:`Availability `: Linux 5.4+" -msgstr ":ref:`Disponibilidad `: Unix." +msgstr ":ref:`Disponibilidad `: Linux 5.4+" #: ../Doc/library/os.rst:4081 msgid "" @@ -6114,7 +6136,7 @@ msgstr "" #: ../Doc/library/os.rst:4103 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." -msgstr "" +msgstr "Agregado los valores :data:`CLD_KILLED` y :data:`CLD_STOPPED`." #: ../Doc/library/os.rst:4109 msgid "The details of this function differ on Unix and Windows." @@ -6201,6 +6223,8 @@ msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." msgstr "" +":func:`waitstatus_to_exitcode` puede ser usado para convertir el estado de " +"salida al código de salida." #: ../Doc/library/os.rst:4160 msgid "" @@ -6219,11 +6243,11 @@ msgstr "" #: ../Doc/library/os.rst:4174 msgid "Convert a wait status to an exit code." -msgstr "" +msgstr "Convertir un estado de espera a un código de salida." #: ../Doc/library/os.rst:4176 msgid "On Unix:" -msgstr "" +msgstr "En Unix:" #: ../Doc/library/os.rst:4178 msgid "" @@ -6231,6 +6255,9 @@ msgid "" "the process exit status (return ``WEXITSTATUS(status)``): result greater " "than or equal to 0." msgstr "" +"Si el proceso termino con normalidad (if ``WIFEXITED(status)`` is true, se " +"retornan el estado de salida del proceso (return ``WEXITSTATUS(status)``): " +"resultado mayor o igual a 0." #: ../Doc/library/os.rst:4181 msgid "" @@ -6239,14 +6266,17 @@ msgid "" "caused the process to terminate (return ``-WTERMSIG(status)``): result less " "than 0." msgstr "" +"Si el proceso fue terminado por una señal (if ``WIFSIGNALED(status)`` is " +"true), retorna ``-signum`` donde *signum* es el numero de la señal que cause " +"que el proceso termine (return ``-WTERMSIG(status)``): resultado menor que 0." #: ../Doc/library/os.rst:4185 msgid "Otherwise, raise a :exc:`ValueError`." -msgstr "" +msgstr "En el caso contrario, se lanza un :exc:`ValueError`." #: ../Doc/library/os.rst:4187 msgid "On Windows, return *status* shifted right by 8 bits." -msgstr "" +msgstr "En Windows, retorna *status* desplazado a la derecha en 8 bits." #: ../Doc/library/os.rst:4189 msgid "" @@ -6255,12 +6285,18 @@ msgid "" "``WIFSTOPPED(status)`` is true. This function must not be called if " "``WIFSTOPPED(status)`` is true." msgstr "" +"En Unix, si el proceso esta siendo rastreado o si :func:`waitpid` fue " +"llamado con la opción :data:`WUNTRACED`, el que llama debe revisar primero " +"si ``WIFSTOPPED(status)`` es verdadero. La función no debe de ser llamada si " +"``WIFSTOPPED(status)`` es verdadero." #: ../Doc/library/os.rst:4196 msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." msgstr "" +"Funciones :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" +"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." #: ../Doc/library/os.rst:4204 msgid "" @@ -6321,7 +6357,7 @@ msgid "" "`~signal.SIGCONT` (if the process has been continued from a job control " "stop), otherwise return ``False``." msgstr "" -"retorna ``True`` si un niño detenido se ha reanudado mediante la entrega de :" +"Retorna ``True`` si un niño detenido se ha reanudado mediante la entrega de :" "data:`~signal.SIGCONT` (si el proceso se ha continuado desde una parada de " "control de trabajo), de lo contrario, retorna ``False``." @@ -6334,7 +6370,7 @@ msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." msgstr "" -"retorna ``True`` si el proceso se detuvo mediante la entrega de una señal; " +"Retorna ``True`` si el proceso se detuvo mediante la entrega de una señal; " "de lo contrario, retorna ``False``." #: ../Doc/library/os.rst:4256 @@ -6352,7 +6388,7 @@ msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." msgstr "" -"retorna ``True`` si el proceso finalizó con una señal; de lo contrario, " +"Retorna ``True`` si el proceso finalizó con una señal; de lo contrario, " "retorna ``False``." #: ../Doc/library/os.rst:4272 @@ -6361,7 +6397,7 @@ msgid "" "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " "otherwise return ``False``." msgstr "" -"retorna ``True`` si el proceso finalizó normalmente, es decir, llamando a " +"Retorna ``True`` si el proceso finalizó normalmente, es decir, llamando a " "``exit()`` o ``_exit()``, o volviendo de ``main()``; de lo contrario, " "retorna ``False``." From a2059f42c650f476d5800150edff98a5be89d9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claudia=20Mill=C3=A1n?= Date: Thu, 7 Oct 2021 13:08:11 +0100 Subject: [PATCH 89/94] Update whatsnew_2.6.txt --- dictionaries/whatsnew_2.6.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/dictionaries/whatsnew_2.6.txt b/dictionaries/whatsnew_2.6.txt index aac7e219ac..af61993d37 100644 --- a/dictionaries/whatsnew_2.6.txt +++ b/dictionaries/whatsnew_2.6.txt @@ -26,7 +26,6 @@ Austin Bengt Richter Javascript -Javascript Rigo Jacobs sprint From 55cb544ae8246af35479dfeffba6b36dcaf42ca2 Mon Sep 17 00:00:00 2001 From: dcristobalh Date: Mon, 11 Oct 2021 12:52:50 +0200 Subject: [PATCH 90/94] Feat: translation library/idle.po (#1341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Feat: translation library/idle.po * Update library/idle.po * Replace word * Fix: replace some words * Doc: add 'indenta' word in dictionaries * Fix: accept current changes * Fix: fix some errors * Fix: add translator name * Fix: replace words * Fix: replace other words * Fix: replace modifiquelo Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_idle.txt | 3 +- library/idle.po | 70 +++++++++++++++++++++++++++++++++-- 2 files changed, 69 insertions(+), 4 deletions(-) diff --git a/dictionaries/library_idle.txt b/dictionaries/library_idle.txt index 7d9915a469..5c6cf1d691 100644 --- a/dictionaries/library_idle.txt +++ b/dictionaries/library_idle.txt @@ -1 +1,2 @@ -zzdummy \ No newline at end of file +zzdummy +indenta \ No newline at end of file diff --git a/library/idle.po b/library/idle.po index 44aee18bb3..4e423e3e80 100644 --- a/library/idle.po +++ b/library/idle.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-29 09:15-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-10-09 07:58+0200\n" +"Last-Translator: Diego Cristóbal Herreros\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 3.0\n" #: ../Doc/library/idle.rst:4 msgid "IDLE" @@ -1124,6 +1125,16 @@ msgid "" "`Escape`, :kbd:`Enter`, and double :kbd:`Tab` keys or clicks outside the " "box. A double click within the box selects and closes." msgstr "" +"Cuando se solicitan y están disponibles, se suministran complementos para " +"los nombres de los módulos, los atributos de las clases o las funciones, o " +"los nombres de los archivos. Cada método de solicitud muestra un cuadro " +"para completar con los nombres existentes. (Para cualquier cuadro, cambie " +"el nombre que se está completando y el elemento resaltado en el cuadro " +"escribiendo y borrando caracteres; pulsando las teclas :kbd:`Up`, :kbd:" +"`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home`, y :kbd:`End`; y con un " +"solo clic dentro del cuadro. Cierra la caja con las teclas :kbd:`Escape`, :" +"kbd:`Enter` y doble :kbd:`Tab` o con clics fuera de la caja. Un doble clic " +"dentro de la caja selecciona y cierra." #: ../Doc/library/idle.rst:488 msgid "" @@ -1136,6 +1147,16 @@ msgid "" "one can specify a drive first.) Move into subdirectories by typing a " "directory name and a separator." msgstr "" +"Una forma de abrir una caja es escribir un carácter clave y esperar un " +"intervalo predefinido. Este intervalo es por defecto de 2 segundos; se " +"puede modificar en el diálogo de configuración. (Para evitar las ventanas " +"emergentes automáticas, establezca el retardo a un número grande de " +"milisegundos, como 100000000). Para nombres de módulos importados o " +"atributos de clases o funciones, escriba '.'. Para nombres de archivos en el " +"directorio raíz, escriba :data:`os.sep` o :data:`os.altsep` inmediatamente " +"después de una comilla de apertura. (En Windows, se puede especificar una " +"unidad de disco primero.) Muévase a los subdirectorios escribiendo un nombre " +"de directorio y un separador." #: ../Doc/library/idle.rst:498 msgid "" @@ -1147,6 +1168,14 @@ msgid "" "after a quote completes filenames in the current directory instead of a root " "directory." msgstr "" +"En lugar de esperar, o después de cerrar una caja, abra una caja de " +"finalización inmediatamente con Mostrar finalizaciones en el menú Edición. " +"La tecla rápida por defecto es :kbd:`C-espacio`. Si se teclea un prefijo " +"para el nombre deseado antes de abrir el cuadro, la primera coincidencia o " +"casi coincidencia se hace visible. El resultado es el mismo que si se " +"introduce un prefijo después de mostrar la caja. Mostrar las terminaciones " +"después de una cita completa de los nombres de archivo en el directorio " +"actual en lugar de un directorio raíz." #: ../Doc/library/idle.rst:506 msgid "" @@ -1155,6 +1184,10 @@ msgid "" "match to the prefix, that match is immediately added to the editor text " "without opening a box." msgstr "" +"Pulsar :kbd:`Tab` después de un prefijo suele tener el mismo efecto que el " +"de mostrar las terminaciones. (Sin prefijo, se indenta.) Sin embargo, si " +"sólo hay una coincidencia con el prefijo, esa coincidencia se añade " +"inmediatamente al texto del editor sin abrir una caja." #: ../Doc/library/idle.rst:511 msgid "" @@ -1162,6 +1195,10 @@ msgid "" "of a string and without a preceding '.' opens a box with keywords, builtin " "names, and available module-level names." msgstr "" +"Al invocar 'Mostrar las terminaciones', o al pulsar :kbd:`Tab` después de un " +"prefijo, fuera de una cadena y sin un '.' precedente, se abre un cuadro con " +"las palabras clave, los nombres incorporados y los nombres disponibles a " +"nivel de módulo." #: ../Doc/library/idle.rst:515 msgid "" @@ -1170,6 +1207,11 @@ msgid "" "thereafter. This is especially useful after adding imports at the top of a " "file. This also increases possible attribute completions." msgstr "" +"Cuando se edita el código en un editor (a diferencia de Shell), aumentar los " +"nombres disponibles a nivel de módulo mediante la ejecución de su código y " +"no reiniciar el Shell después. Esto es especialmente útil después de añadir " +"importaciones en la parte superior de un archivo. Esto también aumenta las " +"posibles terminaciones de atributos." #: ../Doc/library/idle.rst:521 msgid "" @@ -1177,6 +1219,10 @@ msgid "" "not included in '__all__'. The hidden names can be accessed by typing '_' " "after '.', either before or after the box is opened." msgstr "" +"Los cuadros de finalización excluyen inicialmente los nombres que empiezan " +"por '_' o, en el caso de los módulos, no incluidos en '__all__'. Se puede " +"acceder a los nombres ocultos escribiendo '_' después de '.', ya sea antes o " +"después de abrir la caja." #: ../Doc/library/idle.rst:528 msgid "Calltips" @@ -1207,6 +1253,12 @@ msgid "" "indicates that the preceding or following arguments are passed by position " "or name (keyword) only. Details are subject to change." msgstr "" +"La sugerencia de llamada consiste en la firma de la función y el docstring " +"hasta la primera línea en blanco de este último o la quinta línea no en " +"blanco. (Algunas funciones incorporadas carecen de una firma accesible.) Un " +"'/' o '*' en la firma indica que los argumentos anteriores o posteriores se " +"pasan sólo por posición o por nombre (palabra clave). Los detalles están " +"sujetos a cambios." #: ../Doc/library/idle.rst:543 msgid "" @@ -1214,6 +1266,10 @@ msgid "" "imported into the user process, including those imported by Idle itself, and " "which definitions have been run, all since the last restart." msgstr "" +"En Shell, las funciones accesibles dependen de los módulos que se hayan " +"importado en el proceso del usuario, incluidos los importados por el propio " +"Idle, y de las definiciones que se hayan ejecutado, todo ello desde el " +"último reinicio." #: ../Doc/library/idle.rst:547 #, fuzzy @@ -1614,6 +1670,14 @@ msgid "" "single string. Both format strings and :meth:`str.join` can help combine " "fields and lines." msgstr "" +"El envío de la salida de impresión de un proceso a un widget de texto en " +"otro es más lento que la impresión a un terminal del sistema en el mismo " +"proceso. Esto tiene el mayor efecto cuando se imprimen múltiples argumentos, " +"ya que la cadena de cada argumento, cada separador y la nueva línea se " +"envían por separado. Para el desarrollo, esto no suele ser un problema, pero " +"si uno quiere imprimir más rápido en IDLE, formatea y une todo lo que quiere " +"mostrar junto y luego imprime una sola cadena. Tanto las cadenas de formato " +"como :meth:`str.join` pueden ayudar a combinar campos y líneas." #: ../Doc/library/idle.rst:738 msgid "" From e22fc6ca40a98e08c72762cf935bde1673d7b59c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 11 Oct 2021 15:23:53 +0200 Subject: [PATCH 91/94] Fix build issues (#1383) --- dictionaries/library_socket.txt | 1 + dictionaries/whatsnew_2.6.txt | 1 + dictionaries/whatsnew_3.5.txt | 1 + whatsnew/2.6.po | 10 +++++----- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dictionaries/library_socket.txt b/dictionaries/library_socket.txt index 03486e34f5..db8333c293 100644 --- a/dictionaries/library_socket.txt +++ b/dictionaries/library_socket.txt @@ -24,3 +24,4 @@ Sechrest Leffler WinSock Winsock +Samuel diff --git a/dictionaries/whatsnew_2.6.txt b/dictionaries/whatsnew_2.6.txt index af61993d37..2b8b23cf25 100644 --- a/dictionaries/whatsnew_2.6.txt +++ b/dictionaries/whatsnew_2.6.txt @@ -111,3 +111,4 @@ Johnson Lambacher Michlmayr Warner +Brown diff --git a/dictionaries/whatsnew_3.5.txt b/dictionaries/whatsnew_3.5.txt index 15d8da4da5..03379d1ac2 100644 --- a/dictionaries/whatsnew_3.5.txt +++ b/dictionaries/whatsnew_3.5.txt @@ -136,3 +136,4 @@ Yaari Yann Zachary Ziadé +Lucas diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 8363f74261..aae0dc7bd0 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -4745,7 +4745,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:2747 #, fuzzy msgid "The :mod:`future_builtins` module" -msgstr "El módulo :mod:`future_builtins" +msgstr "El módulo :mod:`future_builtins`" #: ../Doc/whatsnew/2.6.rst:2749 #, fuzzy @@ -4815,7 +4815,7 @@ msgid "" "about JSON, see http://www.json.org." msgstr "" "El nuevo módulo :mod:`json` soporta la codificación y decodificación de " -"tipos Python en JSON (Javascript Object Notation). JSON es un formato de " +"tipos Python en JSON (*Javascript Object Notation*). JSON es un formato de " "intercambio ligero que se utiliza a menudo en las aplicaciones web. Para más " "información sobre JSON, consulte http://www.json.org." @@ -5359,9 +5359,9 @@ msgstr "" "Varios tipos de datos básicos, como los enteros y las cadenas, mantienen " "listas internas de objetos libres que pueden reutilizarse. Las estructuras " "de datos para estas listas libres siguen ahora una convención de " -"nomenclatura: la variable se llama siempre ``lista_libre``, el contador se " -"llama siempre ``numfree``, ysiempre se define una macro " -"``Py_MAXFREELIST``." +"nomenclatura: la variable se llama siempre ``free_list``, el contador se " +"llama siempre ``numfree``, y siempre se define una macro " +"``Py_MAXFREELIST``" #: ../Doc/whatsnew/2.6.rst:3081 #, fuzzy From 12684395f27a611a8ff3b52668e4bdbc334e145c Mon Sep 17 00:00:00 2001 From: Dvid Silva Date: Mon, 11 Oct 2021 10:33:58 -0400 Subject: [PATCH 92/94] =?UTF-8?q?Traduccii=C3=B3n=20de=20=20library/import?= =?UTF-8?q?lib.po=20(#1189)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * started translating library/importlib.po * Apply suggestions from code review * Continuando traducción * Fix missing quote * Finalizando traducción library/importlib * Apply suggestions from code review * powrap library/importlib Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Rodriguez Juan <73370773+Juerodriguez@users.noreply.github.com> Co-authored-by: Carlos A. Crespo --- dictionaries/library_importlib.txt | 15 + library/importlib.po | 988 +++++++++++++++++++++++++---- 2 files changed, 880 insertions(+), 123 deletions(-) create mode 100644 dictionaries/library_importlib.txt diff --git a/dictionaries/library_importlib.txt b/dictionaries/library_importlib.txt new file mode 100644 index 0000000000..6229c1eaa8 --- /dev/null +++ b/dictionaries/library_importlib.txt @@ -0,0 +1,15 @@ +desactualizada +determinísticos +recompilado +reejecutado +reimportación +reusando +ubicadores +think +correlacionen +fullname +reusando +reejecutado +recompilado +back +Traversable diff --git a/library/importlib.po b/library/importlib.po index 3f28590624..ac758e6d78 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -6,31 +6,33 @@ # 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: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-07 00:10+0200\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: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/importlib.rst:2 msgid ":mod:`!importlib` --- The implementation of :keyword:`!import`" -msgstr "" +msgstr ":mod:`!importlib` --- La implementación de :keyword:`!import`" #: ../Doc/library/importlib.rst:12 msgid "**Source code:** :source:`Lib/importlib/__init__.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/importlib/__init__.py`" #: ../Doc/library/importlib.rst:17 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/library/importlib.rst:19 msgid "" @@ -41,6 +43,13 @@ msgid "" "Python interpreter. This also provides an implementation which is easier to " "comprehend than one implemented in a programming language other than Python." msgstr "" +"El propósito del paquete :mod:`importlib` es doble. Uno es proveer la " +"implementación de la declaración de :keyword:`import`, (y así, por " +"extensión, el método :func:`__import__` ) en el código fuente de Python. " +"Esto provee una implementación de la :keyword:`!import` la cual es " +"compatible con cualquier interprete de Python. También provee una " +"implementación que es más fácil de comprender que otras implementaciones, en " +"lenguajes diferentes a Python." #: ../Doc/library/importlib.rst:26 msgid "" @@ -49,19 +58,25 @@ msgid "" "(known generically as an :term:`importer`) to participate in the import " "process." msgstr "" +"Dos, los componentes incluidos para implementar :keyword:`import` están " +"expuestos en este paquete para que sea más fácil para los usuarios crear sus " +"propios objetos (conocidos de forma genérica como :term:`importer`) para " +"participar en el proceso de importación." #: ../Doc/library/importlib.rst:33 msgid ":ref:`import`" -msgstr "" +msgstr ":ref:`import`" #: ../Doc/library/importlib.rst:33 msgid "The language reference for the :keyword:`import` statement." -msgstr "" +msgstr "La referencia en el lenguaje para la declaración de :keyword:`import`." #: ../Doc/library/importlib.rst:38 msgid "" "`Packages specification `__" msgstr "" +"`Especificaciones de paquetes `__" #: ../Doc/library/importlib.rst:36 msgid "" @@ -69,124 +84,131 @@ msgid "" "writing of this document (e.g. redirecting based on ``None`` in :data:`sys." "modules`)." msgstr "" +"Especificaciones originales de los paquetes. Algunas semánticas han cambiado " +"desde que este documento fue escrito (ejemplo, redirección de acuerdo a " +"``None`` en :data:`sys.modules`)." #: ../Doc/library/importlib.rst:41 msgid "The :func:`.__import__` function" -msgstr "" +msgstr "La función :func:`.__import__`" #: ../Doc/library/importlib.rst:41 msgid "The :keyword:`import` statement is syntactic sugar for this function." msgstr "" +"La declaración de :keyword:`import` es una decoración sintáctica para esta " +"función." #: ../Doc/library/importlib.rst:44 msgid ":pep:`235`" -msgstr "" +msgstr ":pep:`235`" #: ../Doc/library/importlib.rst:44 msgid "Import on Case-Insensitive Platforms" -msgstr "" +msgstr "Importar en sistemas que no distinguen entre mayúsculas y minúsculas" #: ../Doc/library/importlib.rst:47 msgid ":pep:`263`" -msgstr "" +msgstr ":pep:`263`" #: ../Doc/library/importlib.rst:47 msgid "Defining Python Source Code Encodings" -msgstr "" +msgstr "Definiendo las codificaciones del código fuente de Python" #: ../Doc/library/importlib.rst:50 msgid ":pep:`302`" -msgstr "" +msgstr ":pep:`302`" #: ../Doc/library/importlib.rst:50 msgid "New Import Hooks" -msgstr "" +msgstr "Nuevos ganchos de importación" #: ../Doc/library/importlib.rst:53 msgid ":pep:`328`" -msgstr "" +msgstr "pep:`328`" #: ../Doc/library/importlib.rst:53 msgid "Imports: Multi-Line and Absolute/Relative" -msgstr "" +msgstr "Importaciones: Multilíneas, y absolutos/relativos" #: ../Doc/library/importlib.rst:56 msgid ":pep:`366`" -msgstr "" +msgstr ":pep:`366`" #: ../Doc/library/importlib.rst:56 msgid "Main module explicit relative imports" -msgstr "" +msgstr "Importaciones relativas, explicitas, del módulo principal" #: ../Doc/library/importlib.rst:59 msgid ":pep:`420`" -msgstr "" +msgstr ":pep:`420`" #: ../Doc/library/importlib.rst:59 msgid "Implicit namespace packages" -msgstr "" +msgstr "Paquetes implícitos en el espacio de nombres" #: ../Doc/library/importlib.rst:62 msgid ":pep:`451`" -msgstr "" +msgstr ":pep:`451`" #: ../Doc/library/importlib.rst:62 msgid "A ModuleSpec Type for the Import System" -msgstr "" +msgstr "Un tipo de ModuleSpec para el sistema de importación" #: ../Doc/library/importlib.rst:65 msgid ":pep:`488`" -msgstr "" +msgstr ":pep:`488`" #: ../Doc/library/importlib.rst:65 msgid "Elimination of PYO files" -msgstr "" +msgstr "Eliminación de archivos PYO" #: ../Doc/library/importlib.rst:68 msgid ":pep:`489`" -msgstr "" +msgstr ":pep:`489`" #: ../Doc/library/importlib.rst:68 msgid "Multi-phase extension module initialization" -msgstr "" +msgstr "Inicialización de extensión de módulo en múltiples fases" #: ../Doc/library/importlib.rst:71 msgid ":pep:`552`" -msgstr "" +msgstr ":pep:`552`" #: ../Doc/library/importlib.rst:71 msgid "Deterministic pycs" -msgstr "" +msgstr "Pycs determinísticos" #: ../Doc/library/importlib.rst:74 msgid ":pep:`3120`" -msgstr "" +msgstr ":pep:`3120`" #: ../Doc/library/importlib.rst:74 msgid "Using UTF-8 as the Default Source Encoding" -msgstr "" +msgstr "Usando UTF-8 como la codificación fuente por defecto" #: ../Doc/library/importlib.rst:76 msgid ":pep:`3147`" -msgstr "" +msgstr ":pep:`3147`" #: ../Doc/library/importlib.rst:77 msgid "PYC Repository Directories" -msgstr "" +msgstr "Repositorio de directorios PYC" #: ../Doc/library/importlib.rst:81 msgid "Functions" -msgstr "" +msgstr "Funciones" #: ../Doc/library/importlib.rst:85 msgid "An implementation of the built-in :func:`__import__` function." -msgstr "" +msgstr "Una implementación de la función :func:`__import__` incorporada." #: ../Doc/library/importlib.rst:88 msgid "" "Programmatic importing of modules should use :func:`import_module` instead " "of this function." msgstr "" +"La importación programática los módulos debe usar :func:`import_module` en " +"lugar de esta función." #: ../Doc/library/importlib.rst:93 msgid "" @@ -197,6 +219,12 @@ msgid "" "package name (e.g. ``import_module('..mod', 'pkg.subpkg')`` will import " "``pkg.mod``)." msgstr "" +"Importar un módulo. El argumento llamado *name* especifica qué módulo " +"importar en términos absolutos o relativos (ejemplo, puede ser ``pkg.mod`` o " +"``..mod``). Si el nombre fuera especificado en términos relativos, entonces " +"el argumento llamado *package* debe ser igual al nombre del paquete que será " +"el ancla para resolver el nombre del paquete (ejemplo ``import_module('.." +"mod', 'pkg.subpkg')`` importará ``pkg.mod``)." #: ../Doc/library/importlib.rst:101 msgid "" @@ -207,6 +235,13 @@ msgid "" "specified package or module (e.g. ``pkg.mod``), while :func:`__import__` " "returns the top-level package or module (e.g. ``pkg``)." msgstr "" +"La función :func:`import_module` actúa como un envoltorio simplificador " +"alrededor de :func:`importlib.__import__`. Esto quiere decir que las " +"semánticas de la función son derivadas de :func:`importlib.__import__`. La " +"diferencia más importante entre las dos funciones es que :func:" +"`import_module` retorna el paquete especificado o el módulo (ejemplo ``pkg." +"mod``), mientras que :func:`__import__` retorna el paquete o módulo del " +"nivel superior (ejemplo ``pkg``)." #: ../Doc/library/importlib.rst:108 msgid "" @@ -215,10 +250,14 @@ msgid "" "need to call :func:`invalidate_caches` in order for the new module to be " "noticed by the import system." msgstr "" +"Si está importando dinámicamente un módulo que se creó desde que el " +"intérprete comenzó la ejecución (por ejemplo, creó un archivo fuente de " +"Python), es posible que deba llamar a :func:`invalidate_caches` para que el " +"nuevo módulo sea detectado por el sistema de importación." #: ../Doc/library/importlib.rst:113 msgid "Parent packages are automatically imported." -msgstr "" +msgstr "Paquetes padres son importados automáticamente." #: ../Doc/library/importlib.rst:118 msgid "" @@ -228,6 +267,12 @@ msgid "" "exc:`ValueError` is raised). Otherwise a search using :attr:`sys.meta_path` " "is done. ``None`` is returned if no loader is found." msgstr "" +"Encuentra el cargador de un módulo, opcionalmente con el especificado en " +"*path*.Si el módulo esta en :attr:`sys.modules`, entonces retorna el `sys." +"modules[name].__loader__`` (a menos que el cargador sea ``None`` o no haya " +"uno especificado, en tal caso se eleva un :exc:`ValueError`).Si no se " +"encuentra ahí, se hace una búsqueda usando :attr:`sys.meta_path`. Se retorna " +"``None`` si no se encuentra un cargador." #: ../Doc/library/importlib.rst:124 msgid "" @@ -236,16 +281,22 @@ msgid "" "will need to import all parent packages of the submodule and use the correct " "argument to *path*." msgstr "" +"Un nombre con puntos no tiene sus ascendientes importados implícitamente, ya " +"que eso requeriría cargarlo y eso podría no ser deseado. Para importar un " +"sub-módulo correctamente debes importar todos los paquetes ascendientes del " +"sub-módulo y pase el argumento correcto a *path*." #: ../Doc/library/importlib.rst:131 msgid "" "If ``__loader__`` is not set, raise :exc:`ValueError`, just like when the " "attribute is set to ``None``." msgstr "" +"Si el ``__loader__`` no está configurado, eleva un :exc:`ValueError`, igual " +"a si el atributo fuera ``None``." #: ../Doc/library/importlib.rst:135 msgid "Use :func:`importlib.util.find_spec` instead." -msgstr "" +msgstr "Utilice :func:`importlib.util.find_spec` en su lugar." #: ../Doc/library/importlib.rst:140 msgid "" @@ -255,6 +306,12 @@ msgid "" "created/installed while your program is running to guarantee all finders " "will notice the new module's existence." msgstr "" +"Invalide los cache internos de ubicadores encontrados en :data:`sys." +"meta_path`.Si un buscador implementa ``invalidate_caches()`` entonces será " +"llamado para realizar la invalidación.Esta función debe ser llamada si " +"cualquier módulo ha sido creado/instalado mientras tu programa esta siendo " +"ejecutado para garantizar que todos los buscadores noten la existencia del " +"nuevo módulo." #: ../Doc/library/importlib.rst:150 msgid "" @@ -265,10 +322,16 @@ msgid "" "return value is the module object (which can be different if re-importing " "causes a different object to be placed in :data:`sys.modules`)." msgstr "" +"Recarga un *modulo* previamente importado. El argumento debe ser un objeto " +"módulo, por lo que debe haber sido importado exitosamente. Esto es útil " +"cuando has editado el código fuente de un archivo usando un editor externo y " +"deseas probar la nueva versión sin abandonar el interprete de Python. El " +"valor retornado es el objeto módulo (que puede ser diferente si la " +"reimportación crea un nuevo objeto en :data:`sys.modules`)." #: ../Doc/library/importlib.rst:157 msgid "When :func:`reload` is executed:" -msgstr "" +msgstr "Cuando :func:`reload` es ejecutada:" #: ../Doc/library/importlib.rst:159 msgid "" @@ -278,18 +341,27 @@ msgid "" "module. The ``init`` function of extension modules is not called a second " "time." msgstr "" +"El código de un módulo de Python es recompilado y el código del módulo " +"reejecutado, definiendo un nuevo conjunto de objetos que son asignados a los " +"nombres de los módulos en el diccionario, reusando el :term:`loader` que " +"originalmente carga los módulos. El método ``init`` de los módulos de " +"extension no es llamado de nuevo." #: ../Doc/library/importlib.rst:165 msgid "" "As with all other objects in Python the old objects are only reclaimed after " "their reference counts drop to zero." msgstr "" +"Al igual que con todos los demás objetos en Python, los objetos antiguos " +"solo se recuperan después de que sus recuentos de referencias caen a cero." #: ../Doc/library/importlib.rst:168 msgid "" "The names in the module namespace are updated to point to any new or changed " "objects." msgstr "" +"Los nombres en el espacio de nombres del módulo se actualizan para señalar " +"cualquier objeto nuevo o modificado." #: ../Doc/library/importlib.rst:171 msgid "" @@ -297,10 +369,14 @@ msgid "" "are not rebound to refer to the new objects and must be updated in each " "namespace where they occur if that is desired." msgstr "" +"Otras referencias a los objetos antiguos (como los nombres externos al " +"módulo) no se vuelven a vincular para hacer referencia a los nuevos objetos " +"y deben actualizarse en cada espacio de nombres donde se produzcan si se " +"desea." #: ../Doc/library/importlib.rst:175 msgid "There are a number of other caveats:" -msgstr "" +msgstr "Hay una serie de otras advertencias:" #: ../Doc/library/importlib.rst:177 msgid "" @@ -313,6 +389,14 @@ msgid "" "statement it can test for the table's presence and skip its initialization " "if desired::" msgstr "" +"Cuando se vuelve a cargar un módulo, se conserva su diccionario (que " +"contiene las variables globales del módulo). Las redefiniciones de nombres " +"anularán las antiguas definiciones, por lo que generalmente esto no es un " +"problema. Si la nueva versión de un módulo no define un nombre que fue " +"definido por la versión anterior, la definición anterior permanece. Esta " +"característica se puede utilizar en beneficio del módulo si mantiene una " +"tabla global o caché de objetos --- con una declaración :keyword:`try` puede " +"probar la presencia de la tabla y omitir su inicialización si lo desea:" #: ../Doc/library/importlib.rst:191 msgid "" @@ -322,6 +406,11 @@ msgid "" "designed to be initialized more than once, and may fail in arbitrary ways " "when reloaded." msgstr "" +"Por lo general, no es muy útil recargar módulos integrados o cargados " +"dinámicamente. No se recomienda recargar :mod:`sys`, :mod:`__main__`, :mod:" +"`builtins` y otros módulos clave. En muchos casos, los módulos de extensión " +"no están diseñados para inicializarse más de una vez y pueden fallar de " +"manera arbitraria cuando se vuelven a cargar." #: ../Doc/library/importlib.rst:197 msgid "" @@ -331,6 +420,11 @@ msgid "" "execute the :keyword:`!from` statement, another is to use :keyword:`!import` " "and qualified names (*module.name*) instead." msgstr "" +"Si un módulo importa objetos de otro módulo usando :keyword:`from` ... :" +"keyword:`import` ..., al llamar a :func:`reload` para el otro módulo no " +"redefine los objetos importados de él --- una forma de evitar esto es volver " +"a ejecutar la instrucción :keyword:`!from`, otra es usar :keyword:`!import` " +"y nombres calificados (*module.name*) en su lugar." #: ../Doc/library/importlib.rst:203 msgid "" @@ -339,20 +433,28 @@ msgid "" "--- they continue to use the old class definition. The same is true for " "derived classes." msgstr "" +"Si un módulo crea instancias de una clase, volver a cargar el módulo que " +"define la clase no afecta las definiciones de método de las instancias --- " +"continúan usando la definición de clase anterior. Lo mismo ocurre con las " +"clases derivadas." #: ../Doc/library/importlib.rst:209 msgid "" ":exc:`ModuleNotFoundError` is raised when the module being reloaded lacks a :" "class:`ModuleSpec`." msgstr "" +":exc:`ModuleNotFoundError` se lanza cuando el módulo que se está recargando " +"carece de :class:`ModuleSpec`." #: ../Doc/library/importlib.rst:215 msgid ":mod:`importlib.abc` -- Abstract base classes related to import" msgstr "" +":mod:`importlib.abc` -- Clases base abstractas relacionadas con la " +"importación" #: ../Doc/library/importlib.rst:220 msgid "**Source code:** :source:`Lib/importlib/abc.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/importlib/abc.py`" #: ../Doc/library/importlib.rst:225 msgid "" @@ -360,18 +462,23 @@ msgid "" "classes used by :keyword:`import`. Some subclasses of the core abstract base " "classes are also provided to help in implementing the core ABCs." msgstr "" +"El módulo :mod:`importlib.abc` contiene todas las clases base abstractas " +"principales utilizadas por :keyword:`import`. También se proporcionan " +"algunas subclases de las clases base abstractas centrales para ayudar a " +"implementar los ABC centrales." #: ../Doc/library/importlib.rst:229 msgid "ABC hierarchy::" -msgstr "" +msgstr "Jerarquía ABC::" #: ../Doc/library/importlib.rst:245 msgid "An abstract base class representing a :term:`finder`." -msgstr "" +msgstr "Una clase base abstracta que representa :term:`finder`." #: ../Doc/library/importlib.rst:247 msgid "Use :class:`MetaPathFinder` or :class:`PathEntryFinder` instead." msgstr "" +"Utilice :class:`MetaPathFinder` o :class:`PathEntryFinder` en su lugar." #: ../Doc/library/importlib.rst:252 msgid "" @@ -379,17 +486,25 @@ msgid "" "Originally specified in :pep:`302`, this method was meant for use in :data:" "`sys.meta_path` and in the path-based import subsystem." msgstr "" +"Un método abstracto para encontrar un :term:`loader` para el módulo " +"especificado. Originalmente especificado en :pep:`302`, este método estaba " +"destinado a ser utilizado en :data:`sys.meta_path` y en el subsistema de " +"importación basado en rutas." #: ../Doc/library/importlib.rst:256 msgid "" "Returns ``None`` when called instead of raising :exc:`NotImplementedError`." msgstr "" +"Retorna ``None`` cuando se llama en lugar de generar :exc:" +"`NotImplementedError`." #: ../Doc/library/importlib.rst:263 msgid "" "An abstract base class representing a :term:`meta path finder`. For " "compatibility, this is a subclass of :class:`Finder`." msgstr "" +"Una clase base abstracta que representa un :term:`meta path finder`. Por " +"compatibilidad, esta es una subclase de :class:`Finder`." #: ../Doc/library/importlib.rst:270 msgid "" @@ -402,6 +517,15 @@ msgid "" "return. :func:`importlib.util.spec_from_loader` may be useful for " "implementing concrete ``MetaPathFinders``." msgstr "" +"Un método abstracto para encontrar un :term:`spec ` para el " +"módulo especificado. Si se trata de una importación de nivel superior, el " +"*path* será ``None``. De lo contrario, esta es una búsqueda de un subpaquete " +"o módulo y *path* será el valor de :attr:`__path__` del paquete principal. " +"Si no se puede encontrar una especificación, se retorna ``None``. Cuando se " +"pasa, ``target`` es un objeto de módulo que el buscador puede usar para " +"hacer una suposición más informada sobre qué especificación retornar. :func:" +"`importlib.util.spec_from_loader` puede ser útil para implementar " +"``MetaPathFinders`` concretos." #: ../Doc/library/importlib.rst:284 msgid "" @@ -411,23 +535,33 @@ msgid "" "`__path__` from the parent package. If a loader cannot be found, ``None`` is " "returned." msgstr "" +"Un método heredado para encontrar un :term:`loader` para el módulo " +"especificado. Si se trata de una importación de nivel superior, el *path* " +"será ``None``. De lo contrario, esta es una búsqueda de un subpaquete o " +"módulo y *path* será el valor de :attr:`__path__` del paquete principal. Si " +"no se puede encontrar un cargador, se retorna ``None``." #: ../Doc/library/importlib.rst:290 msgid "" "If :meth:`find_spec` is defined, backwards-compatible functionality is " "provided." msgstr "" +"Si se define :meth:`find_spec`, se proporciona una funcionalidad compatible " +"con versiones anteriores." #: ../Doc/library/importlib.rst:293 msgid "" "Returns ``None`` when called instead of raising :exc:`NotImplementedError`. " "Can use :meth:`find_spec` to provide functionality." msgstr "" +"Retorna ``None`` cuando se llama en lugar de generar :exc:" +"`NotImplementedError`. Puede usar :meth:`find_spec` para proporcionar " +"funcionalidad." #: ../Doc/library/importlib.rst:298 ../Doc/library/importlib.rst:352 #: ../Doc/library/importlib.rst:360 ../Doc/library/importlib.rst:1120 msgid "Use :meth:`find_spec` instead." -msgstr "" +msgstr "Use :meth:`find_spec` en su lugar." #: ../Doc/library/importlib.rst:303 msgid "" @@ -435,10 +569,14 @@ msgid "" "used by the finder. Used by :func:`importlib.invalidate_caches` when " "invalidating the caches of all finders on :data:`sys.meta_path`." msgstr "" +"Un método opcional que, cuando se llama, debería invalidar cualquier caché " +"interno utilizado por el buscador. Utilizado por :func:`importlib." +"invalidate_caches` al invalidar los cachés de todos los buscadores en :data:" +"`sys.meta_path`." #: ../Doc/library/importlib.rst:307 msgid "Returns ``None`` when called instead of ``NotImplemented``." -msgstr "" +msgstr "Retorna ``None`` cuando se llama en lugar de ``NotImplemented``." #: ../Doc/library/importlib.rst:313 msgid "" @@ -448,6 +586,11 @@ msgid "" "`PathFinder`. This ABC is a subclass of :class:`Finder` for compatibility " "reasons only." msgstr "" +"Una clase base abstracta que representa un :term:`path entry finder`. Aunque " +"tiene algunas similitudes con :class:`MetaPathFinder`, ``PathEntryFinder`` " +"está diseñado para usarse solo dentro del subsistema de importación basado " +"en rutas proporcionado por :class:`PathFinder`. Este ABC es una subclase de :" +"class:`Finder` solo por razones de compatibilidad." #: ../Doc/library/importlib.rst:323 msgid "" @@ -459,6 +602,13 @@ msgid "" "func:`importlib.util.spec_from_loader` may be useful for implementing " "concrete ``PathEntryFinders``." msgstr "" +"Un método abstracto para encontrar un :term:`spec ` para el " +"módulo especificado. El buscador buscará el módulo solo dentro del :term:" +"`path entry` a la que está asignado. Si no se puede encontrar una " +"especificación, se retorna ``None``. Cuando se pasa, ``target`` es un objeto " +"de módulo que el buscador puede usar para hacer una suposición más informada " +"sobre qué especificación retornar. :func:`importlib.util.spec_from_loader` " +"puede ser útil para implementar ``PathEntryFinders`` concretos." #: ../Doc/library/importlib.rst:335 msgid "" @@ -472,24 +622,41 @@ msgid "" "list then no loader or location for a namespace package were found (i.e. " "failure to find anything for the module)." msgstr "" +"Un método heredado para encontrar un :term:`loader` para el módulo " +"especificado. Retorna una tupla de 2 de ``(loader, portion)`` donde " +"``portion`` es una secuencia de ubicaciones del sistema de archivos que " +"contribuyen a parte de un paquete de espacio de nombres. El cargador puede " +"ser ``None`` mientras se especifica ``portion`` para indicar la contribución " +"de las ubicaciones del sistema de archivos a un paquete de espacio de " +"nombres. Se puede usar una lista vacía para ``portion`` para indicar que el " +"cargador no es parte de un paquete de espacio de nombres. Si ``loader`` es " +"``None`` y ``portion`` es la lista vacía, entonces no se encontró ningún " +"cargador o ubicación para un paquete de espacio de nombres (es decir, no se " +"pudo encontrar nada para el módulo)." #: ../Doc/library/importlib.rst:345 msgid "" "If :meth:`find_spec` is defined then backwards-compatible functionality is " "provided." msgstr "" +"Si se define :meth:`find_spec`, se proporciona una funcionalidad compatible " +"con versiones anteriores." #: ../Doc/library/importlib.rst:348 msgid "" "Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. Uses :" "meth:`find_spec` when available to provide functionality." msgstr "" +"Retorna ``(None, [])`` en lugar de lanzar :exc:`NotImplementedError`. Usa :" +"meth:`find_spec` cuando está disponible para proporcionar funcionalidad." #: ../Doc/library/importlib.rst:357 msgid "" "A concrete implementation of :meth:`Finder.find_module` which is equivalent " "to ``self.find_loader(fullname)[0]``." msgstr "" +"Una implementación concreta de :meth:`Finder.find_module` que es equivalente " +"a ``self.find_loader(fullname)[0]``." #: ../Doc/library/importlib.rst:365 msgid "" @@ -497,12 +664,17 @@ msgid "" "used by the finder. Used by :meth:`PathFinder.invalidate_caches` when " "invalidating the caches of all cached finders." msgstr "" +"Un método opcional que, cuando se llama, debería invalidar cualquier caché " +"interno utilizado por el buscador. Usado por :meth:`PathFinder." +"invalidate_caches` al invalidar las cachés de todos los buscadores en caché." #: ../Doc/library/importlib.rst:372 msgid "" "An abstract base class for a :term:`loader`. See :pep:`302` for the exact " "definition for a loader." msgstr "" +"Una clase base abstracta para un :term:`loader`. Consulte :pep:`302` para " +"obtener la definición exacta de cargador." #: ../Doc/library/importlib.rst:375 ../Doc/library/importlib.rst:857 msgid "" @@ -510,10 +682,13 @@ msgid "" "``get_resource_reader(fullname)`` method as specified by :class:`importlib." "abc.ResourceReader`." msgstr "" +"Los cargadores que deseen admitir la lectura de recursos deben implementar " +"un método ``get_resource_reader(fullname)`` según lo especificado por :class:" +"`importlib.abc.ResourceReader`." #: ../Doc/library/importlib.rst:379 msgid "Introduced the optional ``get_resource_reader()`` method." -msgstr "" +msgstr "Introdujo el método opcional ``get_resource_reader()``." #: ../Doc/library/importlib.rst:384 msgid "" @@ -521,12 +696,17 @@ msgid "" "This method may return ``None``, indicating that default module creation " "semantics should take place." msgstr "" +"Un método que retorna el objeto de módulo que se utilizará al importar un " +"módulo. Este método puede retornar ``None``, lo que indica que se debe " +"llevar a cabo la semántica de creación de módulos predeterminada." #: ../Doc/library/importlib.rst:390 msgid "" "Starting in Python 3.6, this method will not be optional when :meth:" "`exec_module` is defined." msgstr "" +"A partir de Python 3.6, este método no será opcional cuando se defina :meth:" +"`exec_module`." #: ../Doc/library/importlib.rst:396 msgid "" @@ -535,16 +715,22 @@ msgid "" "when ``exec_module()`` is called. When this method exists, :meth:`~importlib." "abc.Loader.create_module` must be defined." msgstr "" +"Un método abstracto que ejecuta el módulo en su propio espacio de nombres " +"cuando se importa o se vuelve a cargar un módulo. El módulo ya debería estar " +"inicializado cuando se llama a ``exec_module()``. Cuando existe este método, " +"se debe definir :meth:`~importlib.abc.Loader.create_module`." #: ../Doc/library/importlib.rst:403 msgid ":meth:`~importlib.abc.Loader.create_module` must also be defined." -msgstr "" +msgstr ":meth:`~importlib.abc.Loader.create_module` también debe definirse." #: ../Doc/library/importlib.rst:408 msgid "" "A legacy method for loading a module. If the module cannot be loaded, :exc:" "`ImportError` is raised, otherwise the loaded module is returned." msgstr "" +"Un método heredado para cargar un módulo. Si el módulo no se puede cargar, " +"se lanza :exc:`ImportError`; de lo contrario, se retorna el módulo cargado." #: ../Doc/library/importlib.rst:412 msgid "" @@ -556,53 +742,69 @@ msgid "" "already in :data:`sys.modules` before the loader began execution should be " "left alone (see :func:`importlib.util.module_for_loader`)." msgstr "" +"Si el módulo solicitado ya existe en :data:`sys.modules`, ese módulo debe " +"usarse y recargarse. De lo contrario, el cargador debe crear un nuevo módulo " +"e insertarlo en :data:`sys.modules` antes de que comience la carga, para " +"evitar la recursividad de la importación. Si el cargador insertó un módulo y " +"la carga falla, el cargador debe eliminarlo de :data:`sys.modules`; los " +"módulos que ya están en :data:`sys.modules` antes de que el cargador " +"comenzara a ejecutarse deben dejarse en paz (ver :func:`importlib.util." +"module_for_loader`)." #: ../Doc/library/importlib.rst:421 msgid "" "The loader should set several attributes on the module. (Note that some of " "these attributes can change when a module is reloaded):" msgstr "" +"El cargador debe establecer varios atributos en el módulo. (Tenga en cuenta " +"que algunos de estos atributos pueden cambiar cuando se recarga un módulo):" #: ../Doc/library/importlib.rst:426 msgid ":attr:`__name__`" -msgstr "" +msgstr ":attr:`__name__`" #: ../Doc/library/importlib.rst:426 msgid "The name of the module." -msgstr "" +msgstr "El nombre del módulo." #: ../Doc/library/importlib.rst:430 msgid ":attr:`__file__`" -msgstr "" +msgstr ":attr:`__file__`" #: ../Doc/library/importlib.rst:429 msgid "" "The path to where the module data is stored (not set for built-in modules)." msgstr "" +"La ruta hacia donde se almacenan los datos del módulo (no configurada para " +"módulos integrados)." #: ../Doc/library/importlib.rst:434 msgid ":attr:`__cached__`" -msgstr "" +msgstr ":attr:`__cached__`" #: ../Doc/library/importlib.rst:433 msgid "" "The path to where a compiled version of the module is/should be stored (not " "set when the attribute would be inappropriate)." msgstr "" +"La ruta a la que se debe almacenar una versión compilada del módulo (no se " +"establece cuando el atributo sería inapropiado)." #: ../Doc/library/importlib.rst:438 msgid ":attr:`__path__`" -msgstr "" +msgstr ":attr:`__path__`" #: ../Doc/library/importlib.rst:437 msgid "" "A list of strings specifying the search path within a package. This " "attribute is not set on modules." msgstr "" +"Una lista de cadenas de caracteres que especifican la ruta de búsqueda " +"dentro de un paquete. Este atributo no se establece en módulos." #: ../Doc/library/importlib.rst:445 msgid ":attr:`__package__`" -msgstr "" +msgstr ":attr:`__package__`" #: ../Doc/library/importlib.rst:441 msgid "" @@ -611,28 +813,40 @@ msgid "" "the same as :attr:`__name__`. The :func:`importlib.util.module_for_loader` " "decorator can handle the details for :attr:`__package__`." msgstr "" +"El nombre completo del paquete bajo el cual se cargó el módulo como " +"submódulo (o la cadena de caracteres vacía para los módulos de nivel " +"superior). Para los paquetes, es lo mismo que :attr:`__name__`. El " +"decorador :func:`importlib.util.module_for_loader` puede manejar los " +"detalles de :attr:`__package__`." #: ../Doc/library/importlib.rst:450 msgid ":attr:`__loader__`" -msgstr "" +msgstr ":attr:`__loader__`" #: ../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 "" +"El cargador utilizado para cargar el módulo. El decorador :func:`importlib." +"util.module_for_loader` puede manejar los detalles de :attr:`__package__`." #: ../Doc/library/importlib.rst:452 msgid "" "When :meth:`exec_module` is available then backwards-compatible " "functionality is provided." msgstr "" +"Cuando :meth:`exec_module` está disponible, se proporciona una funcionalidad " +"compatible con versiones anteriores." #: ../Doc/library/importlib.rst:455 msgid "" "Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. " "Functionality provided when :meth:`exec_module` is available." msgstr "" +"Lanza :exc:`ImportError` cuando se llama en lugar de :exc:" +"`NotImplementedError`. Funcionalidad proporcionada cuando :meth:" +"`exec_module` está disponible." #: ../Doc/library/importlib.rst:460 msgid "" @@ -641,6 +855,10 @@ msgid "" "The import machinery takes care of all the other responsibilities of " "load_module() when exec_module() is implemented." msgstr "" +"La API recomendada para cargar un módulo es :meth:`exec_module` (y :meth:" +"`create_module`). Los cargadores deberían implementarlo en lugar de " +"load_module(). La maquinaria de importación se encarga de todas las demás " +"responsabilidades de load_module() cuando se implementa exec_module()." #: ../Doc/library/importlib.rst:469 msgid "" @@ -648,23 +866,28 @@ msgid "" "module's repr, as a string. The module type's default repr() will use the " "result of this method as appropriate." msgstr "" +"Un método heredado que, cuando se implementa, calcula y retorna la repr del " +"módulo dado, como una cadena. El repr() predeterminado del tipo de módulo " +"utilizará el resultado de este método según corresponda." #: ../Doc/library/importlib.rst:475 msgid "Made optional instead of an abstractmethod." -msgstr "" +msgstr "Hecho opcional en vez de un método abstracto (*abstractmethod*)" #: ../Doc/library/importlib.rst:478 msgid "The import machinery now takes care of this automatically." -msgstr "" +msgstr "La maquinaria de importación ahora se encarga de esto automáticamente." #: ../Doc/library/importlib.rst:484 msgid "*Superseded by TraversableReader*" -msgstr "" +msgstr "*Reemplazada por TraversableReader*" #: ../Doc/library/importlib.rst:486 msgid "" "An :term:`abstract base class` to provide the ability to read *resources*." msgstr "" +"Un :term:`abstract base class` para proporcionar la capacidad de leer " +"*resources*." #: ../Doc/library/importlib.rst:489 msgid "" @@ -675,6 +898,13 @@ msgid "" "does not matter if the package and its data file(s) are stored in a e.g. zip " "file versus on the file system." msgstr "" +"Desde la perspectiva de este ABC, un *resource* es un artefacto binario que " +"se envía dentro de un paquete. Por lo general, esto es algo así como un " +"archivo de datos que se encuentra junto al archivo ``__init__.py`` del " +"paquete. El propósito de esta clase es ayudar a abstraer el acceso a dichos " +"archivos de datos de modo que no importe si el paquete y sus archivos de " +"datos se almacenan en un, por ejemplo, zip en comparación con el sistema de " +"archivos." #: ../Doc/library/importlib.rst:497 msgid "" @@ -687,6 +917,16 @@ msgid "" "class are expected to directly correlate to a specific package (instead of " "potentially representing multiple packages or a module)." msgstr "" +"Para cualquiera de los métodos de esta clase, se espera que un argumento " +"*resource* sea un :term:`path-like object` que representa conceptualmente " +"solo un nombre de archivo. Esto significa que no se deben incluir rutas de " +"subdirectorio en el argumento *resource*. Esto se debe a que la ubicación " +"del paquete para el que está ubicado el lector actúa como el \"directorio\". " +"Por lo tanto, la metáfora de los directorios y los nombres de los archivos " +"son los paquetes y los recursos, respectivamente. Esta es también la razón " +"por la que se espera que las instancias de esta clase se correlacionen " +"directamente con un paquete específico (en lugar de representar " +"potencialmente varios paquetes o un módulo)." #: ../Doc/library/importlib.rst:508 msgid "" @@ -696,32 +936,45 @@ msgid "" "not a package, this method should return :const:`None`. An object compatible " "with this ABC should only be returned when the specified module is a package." msgstr "" +"Se espera que los cargadores que deseen admitir la lectura de recursos " +"proporcionen un método llamado ``get_resource_reader(fullname)`` que retorna " +"un objeto que implementa la interfaz de este ABC. Si el módulo especificado " +"por fullname no es un paquete, este método debería devolver :const:`None`. " +"Un objeto compatible con este ABC solo debe retornarse cuando el módulo " +"especificado es un paquete." #: ../Doc/library/importlib.rst:519 msgid "" "Returns an opened, :term:`file-like object` for binary reading of the " "*resource*." msgstr "" +"Retorna un, :term:`file-like object` abierto para la lectura binaria del " +"*resource*." #: ../Doc/library/importlib.rst:522 msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." msgstr "" +"Si no se puede encontrar el recurso, se lanza :exc:`FileNotFoundError`." #: ../Doc/library/importlib.rst:527 msgid "Returns the file system path to the *resource*." -msgstr "" +msgstr "Retorna la ruta del sistema de archivos al *resource*." #: ../Doc/library/importlib.rst:529 msgid "" "If the resource does not concretely exist on the file system, raise :exc:" "`FileNotFoundError`." msgstr "" +"Si el recurso no existe concretamente en el sistema de archivos, lanza :exc:" +"`FileNotFoundError`." #: ../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 "" +"Retorna ``True`` si el *name* nombrado se considera un recurso. :exc:" +"`FileNotFoundError` se lanza si *name* no existe." #: ../Doc/library/importlib.rst:539 msgid "" @@ -730,6 +983,10 @@ msgid "" "actual resources, e.g. it is acceptable to return names for which :meth:" "`is_resource` would be false." msgstr "" +"Retorna un :term:`iterable` de cadenas de caracteres sobre el contenido del " +"paquete. Tenga en cuenta que no es necesario que todos los nombres " +"retornados por el iterador sean recursos reales, por ejemplo, es aceptable " +"retornar nombres para los que :meth:`is_resource` sería falso." #: ../Doc/library/importlib.rst:545 msgid "" @@ -739,22 +996,33 @@ msgid "" "is allowed so that when it is known that the package and resources are " "stored on the file system then those subdirectory names can be used directly." msgstr "" +"Al permitir que se retornen nombres que no son de recursos es para permitir " +"situaciones en las que se conoce a priori cómo se almacenan un paquete y sus " +"recursos y los nombres que no son de recursos serían útiles. Por ejemplo, se " +"permite el retorno de nombres de subdirectorios para que cuando se sepa que " +"el paquete y los recursos están almacenados en el sistema de archivos, esos " +"nombres de subdirectorios se puedan usar directamente." #: ../Doc/library/importlib.rst:553 msgid "The abstract method returns an iterable of no items." -msgstr "" +msgstr "El método abstracto retorna un iterable de ningún elemento." #: ../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 "" +"Una clase base abstracta para un :term:`loader` que implementa el protocolo " +"opcional :pep:`302` para cargar recursos arbitrarios desde el back-end de " +"almacenamiento." #: ../Doc/library/importlib.rst:562 msgid "" "This ABC is deprecated in favour of supporting resource loading through :" "class:`importlib.abc.ResourceReader`." msgstr "" +"Este ABC está en desuso a favor de admitir la carga de recursos a través de :" +"class:`importlib.abc.ResourceReader`." #: ../Doc/library/importlib.rst:568 msgid "" @@ -765,16 +1033,25 @@ msgid "" "*path* is expected to be constructed using a module's :attr:`__file__` " "attribute or an item from a package's :attr:`__path__`." msgstr "" +"Un método abstracto para devolver los bytes de los datos ubicados en *path*. " +"Los cargadores que tienen un back-end de almacenamiento similar a un archivo " +"que permite almacenar datos arbitrarios pueden implementar este método " +"abstracto para dar acceso directo a los datos almacenados. :exc:`OSError` se " +"lanza si no se puede encontrar el *path*. Se espera que la *path* se " +"construya utilizando el atributo :attr:`__file__` de un módulo o un elemento " +"de un paquete :attr:`__path__`." #: ../Doc/library/importlib.rst:576 msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Lanza :exc:`OSError` en vez de :exc:`NotImplementedError`." #: ../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 "" +"Una clase base abstracta para un :term:`loader` que implementa el protocolo " +"opcional :pep:`302` para cargadores que inspeccionan módulos." #: ../Doc/library/importlib.rst:587 msgid "" @@ -782,16 +1059,23 @@ msgid "" "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 "" +"Retorna el objeto código para un módulo, o ``None`` si el módulo no tiene un " +"objeto código (como sería el caso, por ejemplo, para un módulo integrado). " +"Lanza un :exc:`ImportError` si el cargador no puede encontrar el módulo " +"solicitado." #: ../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 "" +"Si bien el método tiene una implementación predeterminada, se sugiere que se " +"anule si es posible para mejorar el rendimiento." #: ../Doc/library/importlib.rst:599 msgid "No longer abstract and a concrete implementation is provided." msgstr "" +"Ya no es un método abstracto y se proporciona una implementación concreta." #: ../Doc/library/importlib.rst:604 msgid "" @@ -801,11 +1085,17 @@ msgid "" "available (e.g. a built-in module). Raises :exc:`ImportError` if the loader " "cannot find the module specified." msgstr "" +"Un método abstracto para retornar la fuente de un módulo. Se retorna como " +"una cadena de caracteres de texto usando :term:`universal newlines`, " +"traduciendo todos los separadores de línea reconocidos en caracteres ``'\n" +"'``. Retorna ``None`` si no hay una fuente disponible (por ejemplo, un " +"módulo integrado). Lanza :exc:`ImportError` si el cargador no puede " +"encontrar el módulo especificado." #: ../Doc/library/importlib.rst:610 ../Doc/library/importlib.rst:619 #: ../Doc/library/importlib.rst:669 msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Lanza :exc:`ImportError` en vez de :exc:`NotImplementedError`." #: ../Doc/library/importlib.rst:615 msgid "" @@ -813,10 +1103,13 @@ msgid "" "false value otherwise. :exc:`ImportError` is raised if the :term:`loader` " "cannot find the module." msgstr "" +"Un método abstracto para retornar un valor verdadero si el módulo es un " +"paquete, un valor falso en caso contrario. :exc:`ImportError` se lanza si :" +"term:`loader` no puede encontrar el módulo." #: ../Doc/library/importlib.rst:624 msgid "Create a code object from Python source." -msgstr "" +msgstr "Cree un objeto de código a partir de la fuente de Python." #: ../Doc/library/importlib.rst:626 msgid "" @@ -825,28 +1118,34 @@ msgid "" "source code originated from, which can be an abstract concept (e.g. location " "in a zip file)." msgstr "" +"El argumento *data* puede ser cualquier cosa que admita la función :func:" +"`compile` (es decir, cadena de caracteres o bytes). El argumento *path* debe " +"ser la \"ruta\" de donde se originó el código fuente, que puede ser un " +"concepto abstracto (por ejemplo, ubicación en un archivo zip)." #: ../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 "" +"Con el objeto de código subsiguiente, uno puede ejecutarlo en un módulo " +"ejecutando ``exec(code, module.__dict__)``." #: ../Doc/library/importlib.rst:636 msgid "Made the method static." -msgstr "" +msgstr "Hace el método estático." #: ../Doc/library/importlib.rst:641 msgid "Implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementación de :meth:`Loader.exec_module`." #: ../Doc/library/importlib.rst:647 msgid "Implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementación de :meth:`Loader.load_module`." #: ../Doc/library/importlib.rst:649 msgid "use :meth:`exec_module` instead." -msgstr "" +msgstr "use :meth:`exec_module` en su lugar." #: ../Doc/library/importlib.rst:655 msgid "" @@ -854,18 +1153,26 @@ msgid "" "implemented, helps a module to be executed as a script. The ABC represents " "an optional :pep:`302` protocol." msgstr "" +"Una clase base abstracta que hereda de :class:`InspectLoader` que, cuando se " +"implementa, ayuda a que un módulo se ejecute como un script. El ABC " +"representa un protocolo opcional :pep:`302`." #: ../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 "" +"Un método abstracto que retorna el valor de :attr:`__file__` para el módulo " +"especificado. Si no hay una ruta disponible, se lanza :exc:`ImportError`." #: ../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 "" +"Si el código fuente está disponible, entonces el método debe devolver la " +"ruta al archivo fuente, independientemente de si se utilizó un código de " +"bytes para cargar el módulo." #: ../Doc/library/importlib.rst:675 msgid "" @@ -873,36 +1180,42 @@ msgid "" "class:`ExecutionLoader`, providing concrete implementations of :meth:" "`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`." msgstr "" +"Una clase base abstracta que hereda de :class:`ResourceLoader` y :class:" +"`ExecutionLoader`, proporcionando implementaciones concretas de :meth:" +"`ResourceLoader.get_data` y :meth:`ExecutionLoader.get_filename`." #: ../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 "" +"El argumento *fullname* es un nombre completamente resuelto del módulo que " +"el cargador debe manejar. El argumento *path* es la ruta al archivo del " +"módulo." #: ../Doc/library/importlib.rst:686 msgid "The name of the module the loader can handle." -msgstr "" +msgstr "El nombre del módulo que puede manejar el cargador." #: ../Doc/library/importlib.rst:690 msgid "Path to the file of the module." -msgstr "" +msgstr "Ruta al archivo del módulo." #: ../Doc/library/importlib.rst:694 msgid "Calls super's ``load_module()``." -msgstr "" +msgstr "Llama a super's ``load_module()``." #: ../Doc/library/importlib.rst:696 msgid "Use :meth:`Loader.exec_module` instead." -msgstr "" +msgstr "Utilice :meth:`Loader.exec_module` en su lugar." #: ../Doc/library/importlib.rst:701 ../Doc/library/importlib.rst:1319 msgid "Returns :attr:`path`." -msgstr "" +msgstr "Retorna :attr:`path`." #: ../Doc/library/importlib.rst:705 msgid "Reads *path* as a binary file and returns the bytes from it." -msgstr "" +msgstr "Lee *path* como un archivo binario y devuelve los bytes de él." #: ../Doc/library/importlib.rst:710 msgid "" @@ -910,20 +1223,25 @@ msgid "" "file loading. The class inherits from both :class:`ResourceLoader` and :" "class:`ExecutionLoader`, requiring the implementation of:" msgstr "" +"Una clase base abstracta para implementar la carga de archivos fuente (y " +"opcionalmente bytecode). La clase hereda tanto de :class:`ResourceLoader` " +"como de :class:`ExecutionLoader`, lo que requiere la implementación de:" #: ../Doc/library/importlib.rst:714 msgid ":meth:`ResourceLoader.get_data`" -msgstr "" +msgstr ":meth:`ResourceLoader.get_data`" #: ../Doc/library/importlib.rst:717 msgid ":meth:`ExecutionLoader.get_filename`" -msgstr "" +msgstr ":meth:`ExecutionLoader.get_filename`" #: ../Doc/library/importlib.rst:716 msgid "" "Should only return the path to the source file; sourceless loading is not " "supported." msgstr "" +"Solo debe devolver la ruta al archivo de origen; la carga sin fuente no es " +"compatible." #: ../Doc/library/importlib.rst:719 msgid "" @@ -936,38 +1254,56 @@ msgid "" "loading by removing the parsing step of Python's compiler, and so no " "bytecode-specific API is exposed." msgstr "" +"Los métodos abstractos definidos por esta clase son para agregar soporte de " +"archivo de código de bytes opcional. No implementar estos métodos opcionales " +"(o hacer que se lance :exc:`NotImplementedError`) hace que el cargador solo " +"funcione con el código fuente. La implementación de los métodos permite que " +"el cargador trabaje con archivos fuente *y* código de bytes; no permite la " +"carga *sin fuente* donde solo se proporciona un código de bytes. Los " +"archivos de código de bytes son una optimización para acelerar la carga al " +"eliminar el paso de análisis del compilador de Python, por lo que no se " +"expone ninguna API específica de código de bytes." #: ../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 "" +"Método abstracto opcional que devuelve un :class:`dict` que contiene " +"metadatos sobre la ruta especificada. Las claves de diccionario admitidas " +"son:" #: ../Doc/library/importlib.rst:733 msgid "" "``'mtime'`` (mandatory): an integer or floating-point number representing " "the modification time of the source code;" msgstr "" +"``'mtime'`` (obligatorio): un número entero o de punto flotante que " +"representa la hora de modificación del código fuente;" #: ../Doc/library/importlib.rst:735 msgid "``'size'`` (optional): the size in bytes of the source code." -msgstr "" +msgstr "``'size'`` (opcional): el tamaño en bytes del código fuente." #: ../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 "" +"Cualquier otra clave del diccionario se ignora para permitir futuras " +"extensiones. Si no se puede manejar la ruta, se genera :exc:`OSError`." #: ../Doc/library/importlib.rst:742 ../Doc/library/importlib.rst:755 msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Lanza :exc:`OSError` en vez de :exc:`NotImplementedError`." #: ../Doc/library/importlib.rst:747 msgid "" "Optional abstract method which returns the modification time for the " "specified path." msgstr "" +"Método abstracto opcional que retorna la hora de modificación de la ruta " +"especificada." #: ../Doc/library/importlib.rst:750 msgid "" @@ -975,6 +1311,9 @@ msgid "" "to implement it, but it is still available for compatibility purposes. " "Raise :exc:`OSError` if the path cannot be handled." msgstr "" +"Este método está obsoleto en favor de :meth:`path_stats`. No tiene que " +"implementarlo, pero aún está disponible para fines de compatibilidad. Lanza :" +"exc:`OSError` si la ruta no se puede manejar." #: ../Doc/library/importlib.rst:760 msgid "" @@ -982,36 +1321,41 @@ msgid "" "Any intermediate directories which do not exist are to be created " "automatically." msgstr "" +"Método abstracto opcional que escribe los bytes especificados en una ruta de " +"archivo. Los directorios intermedios que no existan se crearán " +"automáticamente." #: ../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 "" +"Cuando la escritura en la ruta falla porque la ruta es de solo lectura (:" +"attr:`errno.EACCES`/:exc:`PermissionError`), no propague la excepción." #: ../Doc/library/importlib.rst:768 msgid "No longer raises :exc:`NotImplementedError` when called." -msgstr "" +msgstr "Ya no lanza :exc:`NotImplementedError` cuando se llama." #: ../Doc/library/importlib.rst:773 msgid "Concrete implementation of :meth:`InspectLoader.get_code`." -msgstr "" +msgstr "Implementación concreta de :meth:`InspectLoader.get_code`." #: ../Doc/library/importlib.rst:777 msgid "Concrete implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementación concreta de :meth:`Loader.exec_module`." #: ../Doc/library/importlib.rst:783 msgid "Concrete implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementación concreta de :meth:`Loader.load_module`." #: ../Doc/library/importlib.rst:785 msgid "Use :meth:`exec_module` instead." -msgstr "" +msgstr "Utilice :meth:`exec_module` en su lugar." #: ../Doc/library/importlib.rst:790 msgid "Concrete implementation of :meth:`InspectLoader.get_source`." -msgstr "" +msgstr "Implementación concreta de :meth:`InspectLoader.get_source`." #: ../Doc/library/importlib.rst:794 msgid "" @@ -1021,12 +1365,19 @@ msgid "" "extension is removed **and** the module name itself does not end in " "``__init__``." msgstr "" +"Implementación concreta de :meth:`InspectLoader.is_package`. Se determina " +"que un módulo es un paquete si su ruta de archivo (proporcionada por :meth:" +"`ExecutionLoader.get_filename`) es un archivo llamado ``__init__`` cuando se " +"elimina la extensión del archivo **y** el nombre del módulo sí lo hace no " +"termina en ``__init__``." #: ../Doc/library/importlib.rst:803 msgid "" "An object with a subset of pathlib.Path methods suitable for traversing " "directories and opening files." msgstr "" +"Un objeto con un subconjunto de métodos pathlib.Path adecuados para recorrer " +"directorios y abrir archivos." #: ../Doc/library/importlib.rst:811 msgid "" @@ -1035,14 +1386,19 @@ msgid "" "of the ResourceReader's abstract methods. Therefore, any loader supplying " "TraversableReader also supplies ResourceReader." msgstr "" +"Una clase base abstracta para lectores de recursos capaz de servir la " +"interfaz de ``files``. Subclases ResourceReader y proporciona " +"implementaciones concretas de los métodos abstractos de ResourceReader. Por " +"lo tanto, cualquier cargador que suministre TraversableReader también " +"suministra ResourceReader." #: ../Doc/library/importlib.rst:821 msgid ":mod:`importlib.resources` -- Resources" -msgstr "" +msgstr ":mod:`importlib.resources` -- Recursos" #: ../Doc/library/importlib.rst:826 msgid "**Source code:** :source:`Lib/importlib/resources.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/importlib/resources.py`" #: ../Doc/library/importlib.rst:832 msgid "" @@ -1051,6 +1407,10 @@ msgid "" "resources within that package. Resources can be opened or read, in either " "binary or text mode." msgstr "" +"Este módulo aprovecha el sistema de importación de Python para proporcionar " +"acceso a *resources* dentro de *packages*. Si puede importar un paquete, " +"puede acceder a los recursos dentro de ese paquete. Los recursos se pueden " +"abrir o leer, ya sea en modo binario o texto." #: ../Doc/library/importlib.rst:837 msgid "" @@ -1059,6 +1419,10 @@ msgid "" "packages **do not** have to exist as physical files and directories on the " "file system." msgstr "" +"Los recursos son similares a los archivos dentro de los directorios, aunque " +"es importante tener en cuenta que esto es solo una metáfora. Los recursos y " +"paquetes **no** tienen que existir como archivos y directorios físicos en el " +"sistema de archivos." #: ../Doc/library/importlib.rst:843 msgid "" @@ -1069,6 +1433,12 @@ msgid "" "makes reading resources included in packages easier, with more stable and " "consistent semantics." msgstr "" +"Este módulo proporciona una funcionalidad similar a `pkg_resources `_ `Acceso Básico a " +"Recursos `_ sin la sobrecarga de rendimiento de ese " +"paquete. Esto facilita la lectura de los recursos incluidos en los paquetes, " +"con una semántica más estable y coherente." #: ../Doc/library/importlib.rst:851 msgid "" @@ -1077,10 +1447,14 @@ msgid "" "using.html>`_ and `migrating from pkg_resources to importlib.resources " "`_." msgstr "" +"El backport independiente de este módulo proporciona más información sobre " +"`usar importlib.resources `_ y `migrar desde pkg_resources a importlib.resources " +"`_." #: ../Doc/library/importlib.rst:861 msgid "The following types are defined." -msgstr "" +msgstr "Se definen los siguientes tipos." #: ../Doc/library/importlib.rst:865 msgid "" @@ -1089,16 +1463,23 @@ msgid "" "either a string or a module. Module objects must have a resolvable " "``__spec__.submodule_search_locations`` that is not ``None``." msgstr "" +"El tipo ``Package`` se define como ``Union[str, ModuleType]``. Esto " +"significa que cuando la función describe la aceptación de un ``Package``, " +"puede pasar una cadena de caracteres o un módulo. Los objetos de módulo " +"deben tener un ``__spec__.submodule_search_locations`` que se pueda resolver " +"que no sea ``None``." #: ../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 "" +"Este tipo describe los nombres de los recursos que se pasan a las distintas " +"funciones de este paquete. Esto se define como ``Union[str, os.PathLike]``." #: ../Doc/library/importlib.rst:876 msgid "The following functions are available." -msgstr "" +msgstr "Están disponibles las siguientes funciones." #: ../Doc/library/importlib.rst:881 msgid "" @@ -1107,16 +1488,22 @@ msgid "" "(think files). A Traversable may contain other containers (think " "subdirectories)." msgstr "" +"Retorna un objeto :class:`importlib.resources.abc.Traversable` que " +"representa el contenedor de recursos para el paquete (directorio think) y " +"sus recursos (archivos think). Un Traversable puede contener otros " +"contenedores (subdirectorios think)." #: ../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 "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``." #: ../Doc/library/importlib.rst:893 msgid "Open for binary reading the *resource* within *package*." -msgstr "" +msgstr "Abra para lectura binaria el *resource* dentro del *package*." #: ../Doc/library/importlib.rst:895 msgid "" @@ -1126,12 +1513,20 @@ msgid "" "resources (i.e. it cannot be a directory). This function returns a ``typing." "BinaryIO`` instance, a binary I/O stream open for reading." msgstr "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``. *resource* es el nombre del recurso a abrir dentro de " +"*package*; puede que no contenga separadores de ruta y puede que no tenga " +"sub-recursos (es decir, no puede ser un directorio). Esta función retorna " +"una instancia de ``typing.BinaryIO``, un flujo de E/S binario abierto para " +"lectura." #: ../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 "" +"Se abre para leer el texto del *resource* dentro del *package*. De forma " +"predeterminada, el recurso está abierto para lectura como UTF-8." #: ../Doc/library/importlib.rst:907 msgid "" @@ -1141,17 +1536,26 @@ msgid "" "resources (i.e. it cannot be a directory). *encoding* and *errors* have the " "same meaning as with built-in :func:`open`." msgstr "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``. *resource* es el nombre del recurso a abrir dentro de " +"*package*; puede que no contenga separadores de ruta y puede que no tenga " +"sub-recursos (es decir, no puede ser un directorio). *encoding* y *errors* " +"tienen el mismo significado que con la función integrada :func:`open`." #: ../Doc/library/importlib.rst:913 msgid "" "This function returns a ``typing.TextIO`` instance, a text I/O stream open " "for reading." msgstr "" +"Esta función retorna una instancia de ``typing.TextIO``, un flujo de E/S de " +"texto abierto para lectura." #: ../Doc/library/importlib.rst:919 msgid "" "Read and return the contents of the *resource* within *package* as ``bytes``." msgstr "" +"Lee y retorna el contenido del *resource* dentro del *package* como " +"``bytes``." #: ../Doc/library/importlib.rst:922 msgid "" @@ -1161,12 +1565,19 @@ msgid "" "resources (i.e. it cannot be a directory). This function returns the " "contents of the resource as :class:`bytes`." msgstr "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``. *resource* es el nombre del recurso a abrir dentro de " +"*package*; puede que no contenga separadores de ruta y puede que no tenga " +"sub-recursos (es decir, no puede ser un directorio). Esta función retorna el " +"contenido del recurso como :class:`bytes`." #: ../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 "" +"Lee y retorna el contenido de *resource* dentro de *package* como un " +"``str``. De forma predeterminada, los contenidos se leen como UTF-8 estricto." #: ../Doc/library/importlib.rst:934 msgid "" @@ -1177,6 +1588,12 @@ msgid "" "same meaning as with built-in :func:`open`. This function returns the " "contents of the resource as :class:`str`." msgstr "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``. *resource* es el nombre del recurso a abrir dentro de " +"*package*; puede que no contenga separadores de ruta y puede que no tenga " +"sub-recursos (es decir, no puede ser un directorio). *encoding* y *errors* " +"tienen el mismo significado que con la función integrada :func:`open`. Esta " +"función retorna el contenido del recurso como :class:`str`." #: ../Doc/library/importlib.rst:944 msgid "" @@ -1184,12 +1601,18 @@ msgid "" "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" +"Retorna la ruta al *resource* como una ruta real del sistema de archivos. " +"Esta función retorna un administrador de contexto para usar en una " +"declaración :keyword:`with`. El administrador de contexto proporciona un " +"objeto :class:`pathlib.Path`." #: ../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 "" +"Salir del administrador de contexto limpia cualquier archivo temporal creado " +"cuando el recurso necesita ser extraído, por ejemplo, un archivo zip." #: ../Doc/library/importlib.rst:951 msgid "" @@ -1198,6 +1621,10 @@ msgid "" "within *package*; it may not contain path separators and it may not have sub-" "resources (i.e. it cannot be a directory)." msgstr "" +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``. *resource* es el nombre del recurso a abrir dentro de " +"*package*; puede que no contenga separadores de ruta y puede que no tenga " +"sub-recursos (es decir, no puede ser un directorio)." #: ../Doc/library/importlib.rst:959 msgid "" @@ -1206,6 +1633,10 @@ msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements." msgstr "" +"Retorna ``True`` si hay un recurso llamado *name* en el paquete; de lo " +"contrario, ``False``. ¡Recuerde que los directorios *no* son recursos! " +"*package* es un nombre o un objeto de módulo que cumple con los requisitos " +"de ``Package``." #: ../Doc/library/importlib.rst:967 msgid "" @@ -1213,58 +1644,73 @@ msgid "" "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." msgstr "" +"Retorna un iterable sobre los elementos nombrados dentro del paquete. El " +"iterable retorna recursos :class:`str` (por ejemplo, archivos) y no-recursos " +"(por ejemplo, directorios). El iterable no recurre a subdirectorios." #: ../Doc/library/importlib.rst:976 msgid ":mod:`importlib.machinery` -- Importers and path hooks" -msgstr "" +msgstr ":mod:`importlib.machinery` -- Importadores y enlaces de ruta" #: ../Doc/library/importlib.rst:981 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/importlib/machinery.py`" #: ../Doc/library/importlib.rst:985 msgid "" "This module contains the various objects that help :keyword:`import` find " "and load modules." msgstr "" +"Este módulo contiene varios objetos que ayudan :keyword:`import` buscar y " +"cargar módulos." #: ../Doc/library/importlib.rst:990 msgid "" "A list of strings representing the recognized file suffixes for source " "modules." msgstr "" +"Una lista de cadenas de caracteres que representan los sufijos de archivo " +"reconocidos para los módulos de origen." #: ../Doc/library/importlib.rst:997 msgid "" "A list of strings representing the file suffixes for non-optimized bytecode " "modules." msgstr "" +"Una lista de cadenas que representan los sufijos de archivo para módulos de " +"código de bytes no optimizados." #: ../Doc/library/importlib.rst:1002 ../Doc/library/importlib.rst:1012 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." -msgstr "" +msgstr "Utilice :attr:`BYTECODE_SUFFIXES` en su lugar." #: ../Doc/library/importlib.rst:1007 msgid "" "A list of strings representing the file suffixes for optimized bytecode " "modules." msgstr "" +"Una lista de cadenas de caracteres que representan los sufijos de archivo " +"para módulos de código de bytes optimizados." #: ../Doc/library/importlib.rst:1017 msgid "" "A list of strings representing the recognized file suffixes for bytecode " "modules (including the leading dot)." msgstr "" +"Una lista de cadenas de caracteres que representan los sufijos de archivo " +"reconocidos para los módulos de código de bytes (incluido el punto inicial)." #: ../Doc/library/importlib.rst:1022 msgid "The value is no longer dependent on ``__debug__``." -msgstr "" +msgstr "El valor ya no depende de ``__debug__``." #: ../Doc/library/importlib.rst:1027 msgid "" "A list of strings representing the recognized file suffixes for extension " "modules." msgstr "" +"Una lista de cadenas de caracteres que representan los sufijos de archivo " +"reconocidos para los módulos de extensión." #: ../Doc/library/importlib.rst:1034 msgid "" @@ -1274,6 +1720,12 @@ msgid "" "module without needing any details on the kind of module (for example, :func:" "`inspect.getmodulename`)." msgstr "" +"Retorna una lista combinada de cadenas de caracteres que representan todos " +"los sufijos de archivo para módulos reconocidos por la maquinaria de " +"importación estándar. Este es un ayudante para el código que simplemente " +"necesita saber si una ruta del sistema de archivos potencialmente se refiere " +"a un módulo sin necesidad de detalles sobre el tipo de módulo (por ejemplo, :" +"func:`inspect.getmodulename`)." #: ../Doc/library/importlib.rst:1045 msgid "" @@ -1281,6 +1733,10 @@ msgid "" "listed in :data:`sys.builtin_module_names`. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" +"Un :term:`importer` para módulos integrados. Todos los módulos integrados " +"conocidos se enumeran en :data:`sys.builtin_module_names`. Esta clase " +"implementa los ABC :class:`importlib.abc.MetaPathFinder` y :class:`importlib." +"abc.InspectLoader`." #: ../Doc/library/importlib.rst:1050 ../Doc/library/importlib.rst:1064 #: ../Doc/library/importlib.rst:1077 ../Doc/library/importlib.rst:1092 @@ -1288,35 +1744,48 @@ msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." msgstr "" +"Esta clase solo define los métodos de clase para aliviar la necesidad de " +"instanciación." #: ../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 "" +"Como parte de :pep:`489`, el importador integrado ahora implementa :meth:" +"`Loader.create_module` y :meth:`Loader.exec_module`" #: ../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 "" +"Un :term:`importer` para módulos congelados. Esta clase implementa los ABC :" +"class:`importlib.abc.MetaPathFinder` y :class:`importlib.abc.InspectLoader`." #: ../Doc/library/importlib.rst:1067 msgid "" "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." msgstr "" +"Métodos obtenidos :meth:`~Loader.create_module` y :meth:`~Loader." +"exec_module`." #: ../Doc/library/importlib.rst:1074 msgid "" ":term:`Finder ` for modules declared in the Windows registry. This " "class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" +":term:`Finder ` para los módulos declarados en el registro de " +"Windows. Esta clase implementa el :class:`importlib.abc.MetaPathFinder` ABC." #: ../Doc/library/importlib.rst:1082 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" +"Utilice la configuración de :mod:`site` en su lugar. Es posible que las " +"versiones futuras de Python no habiliten este buscador de forma " +"predeterminada." #: ../Doc/library/importlib.rst:1089 msgid "" @@ -1324,6 +1793,9 @@ msgid "" "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " "ABC." msgstr "" +"Un :term:`Finder ` para :data:`sys.path` y atributos del paquete " +"``__path__``. Esta clase implementa el :class:`importlib.abc.MetaPathFinder` " +"ABC." #: ../Doc/library/importlib.rst:1097 msgid "" @@ -1338,6 +1810,16 @@ msgid "" "the module. If no finder is ever found then ``None`` is both stored in the " "cache and returned." msgstr "" +"Método de clase que intenta encontrar un :term:`spec ` para el " +"módulo especificado por *fullname* en :data:`sys.path` o, si está definido, " +"en *path*. Para cada entrada de ruta que se busca, se comprueba :data:`sys." +"path_importer_cache`. Si se encuentra un objeto que no es falso, se utiliza " +"como :term:`path entry finder` para buscar el módulo que se está buscando. " +"Si no se encuentra ninguna entrada en :data:`sys.path_importer_cache`, " +"entonces :data:`sys.path_hooks` se busca un buscador para la entrada de ruta " +"y, si se encuentra, se almacena en :data:`sys.path_importer_cache` junto con " +"ser consultado sobre el módulo. Si nunca se encuentra ningún buscador, " +"entonces ``None`` se almacena en el caché y se retorna." #: ../Doc/library/importlib.rst:1111 msgid "" @@ -1345,10 +1827,13 @@ msgid "" "longer valid then ``None`` is returned but no value is cached in :data:`sys." "path_importer_cache`." msgstr "" +"Si el directorio de trabajo actual, representado por una cadena de " +"caracteres vacía, ya no es válido, se retorna``None`` pero no se almacena " +"ningún valor en :data:`sys.path_importer_cache`." #: ../Doc/library/importlib.rst:1118 msgid "A legacy wrapper around :meth:`find_spec`." -msgstr "" +msgstr "Una envoltura heredada alrededor de :meth:`find_spec`." #: ../Doc/library/importlib.rst:1125 msgid "" @@ -1356,28 +1841,38 @@ msgid "" "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 "" +"Llama :meth:`importlib.abc.PathEntryFinder.invalidate_caches` en todos los " +"buscadores almacenados en :data:`sys.path_importer_cache` que definen el " +"método. De lo contrario, las entradas en :data:`sys.path_importer_cache` " +"establecidas en ``None`` se eliminan." #: ../Doc/library/importlib.rst:1130 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." msgstr "" +"Se eliminan las entradas de ``None`` en :data:`sys.path_importer_cache`." #: ../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 "" +"Llama a objetos en :data:`sys.path_hooks` con el directorio de trabajo " +"actual para ``''`` (es decir, la cadena de caracteres vacía)." #: ../Doc/library/importlib.rst:1140 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" +"Una implementación concreta de :class:`importlib.abc.PathEntryFinder` que " +"almacena en caché los resultados del sistema de archivos." #: ../Doc/library/importlib.rst:1143 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" +"El argumento *path* es el directorio que el buscador se encarga de buscar." #: ../Doc/library/importlib.rst:1146 msgid "" @@ -1386,6 +1881,11 @@ msgid "" "The loaders are expected to be callables which accept two arguments of the " "module's name and the path to the file found." msgstr "" +"El argumento *loader_details* es un número variable de tuplas de 2 " +"elementos, cada una de las cuales contiene un cargador y una secuencia de " +"sufijos de archivo que el cargador reconoce. Se espera que los cargadores " +"sean invocables que acepten dos argumentos del nombre del módulo y la ruta " +"al archivo encontrado." #: ../Doc/library/importlib.rst:1151 msgid "" @@ -1399,22 +1899,36 @@ msgid "" "prevent this from happening, when you create a module dynamically, make sure " "to call :func:`importlib.invalidate_caches`." msgstr "" +"El buscador almacenará en caché el contenido del directorio según sea " +"necesario, haciendo llamadas estadísticas para cada búsqueda de módulo para " +"verificar que la caché no esté desactualizada. Debido a que la obsolescencia " +"de la caché se basa en la granularidad de la información de estado del " +"sistema operativo del sistema de archivos, existe una condición de carrera " +"potencial de buscar un módulo, crear un nuevo archivo y luego buscar el " +"módulo que representa el nuevo archivo. Si las operaciones ocurren lo " +"suficientemente rápido como para ajustarse a la granularidad de las llamadas " +"estadísticas, la búsqueda del módulo fallará. Para evitar que esto suceda, " +"cuando cree un módulo dinámicamente, asegúrese de llamar a :func:`importlib." +"invalidate_caches`." #: ../Doc/library/importlib.rst:1165 msgid "The path the finder will search in." -msgstr "" +msgstr "La ruta en la que buscará el buscador." #: ../Doc/library/importlib.rst:1169 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" +"Intente encontrar la especificación para manejar *fullname* dentro de :attr:" +"`path`." #: ../Doc/library/importlib.rst:1175 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." msgstr "" +"Intente encontrar el cargador para manejar *fullname* dentro de :attr:`path`." #: ../Doc/library/importlib.rst:1179 msgid "Clear out the internal cache." -msgstr "" +msgstr "Borrar el caché interno." #: ../Doc/library/importlib.rst:1183 msgid "" @@ -1422,12 +1936,18 @@ msgid "" "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" +"Un método de clase que devuelve un cierre para su uso en :attr:`sys." +"path_hooks`. Una instancia de :class:`FileFinder` es retornada por el cierre " +"usando el argumento de ruta dado al cierre directamente y *loader_details* " +"indirectamente." #: ../Doc/library/importlib.rst:1188 msgid "" "If the argument to the closure is not an existing directory, :exc:" "`ImportError` is raised." msgstr "" +"Si el argumento del cierre no es un directorio existente, se lanza :exc:" +"`ImportError`." #: ../Doc/library/importlib.rst:1194 msgid "" @@ -1435,43 +1955,53 @@ msgid "" "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" +"Una implementación concreta de :class:`importlib.abc.SourceLoader` " +"subclasificando :class:`importlib.abc.FileLoader` y proporcionando algunas " +"implementaciones concretas de otros métodos." #: ../Doc/library/importlib.rst:1202 msgid "The name of the module that this loader will handle." -msgstr "" +msgstr "El nombre del módulo que manejará este cargador." #: ../Doc/library/importlib.rst:1206 msgid "The path to the source file." -msgstr "" +msgstr "La ruta al archivo de origen." #: ../Doc/library/importlib.rst:1210 msgid "Return ``True`` if :attr:`path` appears to be for a package." -msgstr "" +msgstr "Devuelve ``True`` si :attr:`path` parece ser para un paquete." #: ../Doc/library/importlib.rst:1214 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" +"Implementación concreta de :meth:`importlib.abc.SourceLoader.path_stats`." #: ../Doc/library/importlib.rst:1218 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." msgstr "" +"Implementación concreta de :meth:`importlib.abc.SourceLoader.set_data`." #: ../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 "" +"Implementación concreta de :meth:`importlib.abc.Loader.load_module` donde " +"especificar el nombre del módulo a cargar es opcional." #: ../Doc/library/importlib.rst:1227 ../Doc/library/importlib.rst:1270 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." -msgstr "" +msgstr "Utilice :meth:`importlib.abc.Loader.exec_module` en su lugar." #: ../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 "" +"Una implementación concreta de :class:`importlib.abc.FileLoader` que puede " +"importar archivos de código de bytes (es decir, no existen archivos de " +"código fuente)." #: ../Doc/library/importlib.rst:1235 msgid "" @@ -1479,71 +2009,90 @@ msgid "" "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" +"Tenga en cuenta que el uso directo de archivos de código de bytes (y, por lo " +"tanto, no de archivos de código fuente) impide que sus módulos sean " +"utilizables por todas las implementaciones de Python o las nuevas versiones " +"de Python que cambian el formato de código de bytes." #: ../Doc/library/importlib.rst:1244 msgid "The name of the module the loader will handle." -msgstr "" +msgstr "El nombre del módulo que manejará el cargador." #: ../Doc/library/importlib.rst:1248 msgid "The path to the bytecode file." -msgstr "" +msgstr "La ruta al archivo de código de bytes." #: ../Doc/library/importlib.rst:1252 msgid "Determines if the module is a package based on :attr:`path`." -msgstr "" +msgstr "Determina si el módulo es un paquete basado en :attr:`path`." #: ../Doc/library/importlib.rst:1256 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" +"Retorna el objeto de código para :attr:`name` creado a partir de :attr:" +"`path`." #: ../Doc/library/importlib.rst:1260 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" +"Devuelve ``None`` ya que los archivos de código de bytes no tienen fuente " +"cuando se usa este cargador." #: ../Doc/library/importlib.rst:1275 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" +"Una implementación concreta de :class:`importlib.abc.ExecutionLoader` para " +"módulos de extensión." #: ../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 "" +"El argumento *fullname* especifica el nombre del módulo que el cargador debe " +"admitir. El argumento *path* es la ruta al archivo del módulo de extensión." #: ../Doc/library/importlib.rst:1285 msgid "Name of the module the loader supports." -msgstr "" +msgstr "Nombre del módulo que admite el cargador." #: ../Doc/library/importlib.rst:1289 msgid "Path to the extension module." -msgstr "" +msgstr "Ruta al módulo de extensión." #: ../Doc/library/importlib.rst:1293 msgid "" "Creates the module object from the given specification in accordance with :" "pep:`489`." msgstr "" +"Crea el objeto de módulo a partir de la especificación dada de acuerdo con :" +"pep:`489`." #: ../Doc/library/importlib.rst:1300 msgid "Initializes the given module object in accordance with :pep:`489`." -msgstr "" +msgstr "Inicializa el objeto de módulo dado de acuerdo con :pep:`489`." #: ../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 "" +"Retorna ``True`` si la ruta del archivo apunta al módulo ``__init__`` de un " +"paquete basado en :attr:`EXTENSION_SUFFIXES`." #: ../Doc/library/importlib.rst:1311 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" +"Retorna ``None`` ya que los módulos de extensión carecen de un objeto de " +"código." #: ../Doc/library/importlib.rst:1315 msgid "Returns ``None`` as extension modules do not have source code." msgstr "" +"Retorna ``None`` ya que los módulos de extensión no tienen código fuente." #: ../Doc/library/importlib.rst:1326 msgid "" @@ -1557,28 +2106,39 @@ msgid "" "``__path__`` at runtime, and this will not be automatically reflected in " "``__spec__.submodule_search_locations``." msgstr "" +"Una especificación para el estado relacionado con el sistema de importación " +"de un módulo. Esto generalmente se expone como el atributo ``__spec__`` del " +"módulo. En las descripciones siguientes, los nombres entre paréntesis dan el " +"atributo correspondiente disponible directamente en el objeto del módulo, " +"por ejemplo, ``module.__spec__.origin == module.__file__``. Sin embargo, " +"tenga en cuenta que, si bien los *values* suelen ser equivalentes, pueden " +"diferir ya que no hay sincronización entre los dos objetos. Por lo tanto, es " +"posible actualizar el ``__path__`` del módulo en tiempo de ejecución, y esto " +"no se reflejará automáticamente en ``__spec__.submodule_search_locations``." #: ../Doc/library/importlib.rst:1340 msgid "(``__name__``)" -msgstr "" +msgstr "(``__name__``)" #: ../Doc/library/importlib.rst:1342 msgid "A string for the fully-qualified name of the module." -msgstr "" +msgstr "Una cadena de caracteres para el nombre completo del módulo." #: ../Doc/library/importlib.rst:1346 msgid "(``__loader__``)" -msgstr "" +msgstr "(``__loader__``)" #: ../Doc/library/importlib.rst:1348 msgid "" "The :term:`Loader ` that should be used when loading the module. :" "term:`Finders ` should always set this." msgstr "" +"El :term:`Loader ` que debe usarse al cargar el módulo. :term:" +"`Finders ` siempre debe establecer esto." #: ../Doc/library/importlib.rst:1353 msgid "(``__file__``)" -msgstr "" +msgstr "(``__file__``)" #: ../Doc/library/importlib.rst:1355 msgid "" @@ -1587,33 +2147,44 @@ msgid "" "\"origin\" should be set, but it may be ``None`` (the default) which " "indicates it is unspecified (e.g. for namespace packages)." msgstr "" +"Nombre del lugar desde el que se carga el módulo, por ejemplo \"incorporado" +"\" (*builtin*) para los módulos incorporados y el nombre de archivo para los " +"módulos cargados desde la fuente. Normalmente se debe establecer \"origen\", " +"pero puede ser ``None`` (el valor predeterminado), lo que indica que no está " +"especificado (por ejemplo, para paquetes de espacio de nombres)." #: ../Doc/library/importlib.rst:1362 msgid "(``__path__``)" -msgstr "" +msgstr "(``__path__``)" #: ../Doc/library/importlib.rst:1364 msgid "" "List of strings for where to find submodules, if a package (``None`` " "otherwise)." msgstr "" +"Lista de cadenas de caracteres de dónde encontrar submódulos, si es un " +"paquete (``None`` de lo contrario)." #: ../Doc/library/importlib.rst:1369 msgid "" "Container of extra module-specific data for use during loading (or ``None``)." msgstr "" +"Contenedor de datos adicionales específicos del módulo para usar durante la " +"carga (o ``None``)." #: ../Doc/library/importlib.rst:1374 msgid "(``__cached__``)" -msgstr "" +msgstr "(``__cached__``)" #: ../Doc/library/importlib.rst:1376 msgid "String for where the compiled module should be stored (or ``None``)." msgstr "" +"Cadena de caracteres para el lugar donde se debe almacenar el módulo " +"compilado (o ``None``)." #: ../Doc/library/importlib.rst:1380 msgid "(``__package__``)" -msgstr "" +msgstr "(``__package__``)" #: ../Doc/library/importlib.rst:1382 msgid "" @@ -1621,32 +2192,42 @@ msgid "" "should be loaded as a submodule (or the empty string for top-level modules). " "For packages, it is the same as :attr:`__name__`." msgstr "" +"(Solo lectura) El nombre completo del paquete bajo el cual se debe cargar el " +"módulo como submódulo (o la cadena de caracteres vacía para los módulos de " +"nivel superior). Para los paquetes, es lo mismo que :attr:`__name__`." #: ../Doc/library/importlib.rst:1388 msgid "" "Boolean indicating whether or not the module's \"origin\" attribute refers " "to a loadable location." msgstr "" +"Booleano que indica si el atributo \"origen\" del módulo se refiere a una " +"ubicación cargable." #: ../Doc/library/importlib.rst:1392 msgid ":mod:`importlib.util` -- Utility code for importers" -msgstr "" +msgstr ":mod:`importlib.util` -- Código de utilidad para importadores" #: ../Doc/library/importlib.rst:1398 msgid "**Source code:** :source:`Lib/importlib/util.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/importlib/util.py`" #: ../Doc/library/importlib.rst:1402 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" +"Este módulo contiene los diversos objetos que ayudan en la construcción de " +"un :term:`importer`." #: ../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 "" +"Los bytes que representan el número de versión del código de bytes. Si " +"necesita ayuda para cargar/escribir código de bytes, considere :class:" +"`importlib.abc.SourceLoader`." #: ../Doc/library/importlib.rst:1414 msgid "" @@ -1657,6 +2238,12 @@ msgid "" "`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" "`NotImplementedError` will be raised)." msgstr "" +"Retorna la ruta :pep:`3147`/:pep:`488` al archivo compilado por bytes " +"asociado con la *path* de origen. Por ejemplo, si *path* es ``/foo/bar/baz." +"py``, el valor de retorno sería ``/foo/bar/__pycache__/baz.cpython-32.pyc`` " +"para Python 3.2. La cadena de caracteres ``cpython-32`` proviene de la " +"etiqueta mágica actual (ver :func:`get_tag`; si :attr:`sys.implementation." +"cache_tag` no está definido, se lanzará :exc:`NotImplementedError`)." #: ../Doc/library/importlib.rst:1421 msgid "" @@ -1670,6 +2257,17 @@ msgid "" "cpython-32.opt-2.pyc``. The string representation of *optimization* can only " "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" +"El parámetro *optimization* se utiliza para especificar el nivel de " +"optimización del archivo de código de bytes. Una cadena de caracteres vacía " +"no representa optimización, por lo que ``/foo/bar/baz.py`` con una " +"*optimization* de ``''`` dará como resultado una ruta de código de bytes de " +"``/foo/bar/__pycache__/baz.cpython-32.pyc``. ``None`` hace que se utilice el " +"nivel de optimización del intérprete. Se usa la representación de cadena de " +"caracteres de cualquier otro valor, por lo que ``/foo/bar/baz.py`` con una " +"*optimization* de ``2`` conducirá a la ruta del código de bytes de ``/foo/" +"bar/__pycache__/baz.cpython-32.opt-2.pyc``. La representación de cadena de " +"caracteres *optimization* solo puede ser alfanumérica, de lo contrario se " +"lanza :exc:`ValueError`." #: ../Doc/library/importlib.rst:1431 msgid "" @@ -1679,17 +2277,25 @@ msgid "" "setting *optimization* to ``1``. If both *debug_override* an *optimization* " "are not ``None`` then :exc:`TypeError` is raised." msgstr "" +"El parámetro *debug_override* está obsoleto y se puede usar para anular el " +"valor del sistema para ``__debug__``. Un valor ``True`` es el equivalente a " +"establecer *optimization* en la cadena de caracteres vacía. Un valor " +"``False`` es lo mismo que establecer *optimization* en ``1``. Si tanto " +"*debug_override* como *optimization* no es ``None``, entonces se lanza :exc:" +"`TypeError`." #: ../Doc/library/importlib.rst:1439 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" +"Se agregó el parámetro *optimization* y el parámetro *debug_override* quedó " +"obsoleto." #: ../Doc/library/importlib.rst:1443 ../Doc/library/importlib.rst:1459 #: ../Doc/library/importlib.rst:1608 msgid "Accepts a :term:`path-like object`." -msgstr "" +msgstr "Acepta un :term:`path-like object`." #: ../Doc/library/importlib.rst:1449 msgid "" @@ -1700,6 +2306,13 @@ msgid "" "format, a :exc:`ValueError` is raised. If :attr:`sys.implementation." "cache_tag` is not defined, :exc:`NotImplementedError` is raised." msgstr "" +"Dado el *path* a un nombre de archivo :pep:`3147`, retorna la ruta del " +"archivo del código fuente asociado. Por ejemplo, si *path* es ``/foo/bar/" +"__pycache__/baz.cpython-32.pyc``, la ruta retornada sería ``/foo/bar/baz." +"py``. *path* no necesita existir, sin embargo, si no se ajusta al formato :" +"pep:`3147` o :pep:`488`, se lanza un :exc:`ValueError`. Si :attr:`sys." +"implementation.cache_tag` no está definido, se lanza :exc:" +"`NotImplementedError`." #: ../Doc/library/importlib.rst:1464 msgid "" @@ -1707,10 +2320,13 @@ msgid "" "with universal newlines (as required by :meth:`importlib.abc.InspectLoader." "get_source`)." msgstr "" +"Decodifica los bytes dados que representan el código fuente y los retorna " +"como una cadena de caracteres con nuevas líneas universales (como lo " +"requiere :meth:`importlib.abc.InspectLoader.get_source`)." #: ../Doc/library/importlib.rst:1472 msgid "Resolve a relative module name to an absolute one." -msgstr "" +msgstr "Resuelve un nombre de módulo relativo a uno absoluto." #: ../Doc/library/importlib.rst:1474 msgid "" @@ -1718,6 +2334,10 @@ msgid "" "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 "" +"Si **name** no tiene puntos iniciales, entonces **name** simplemente se " +"retorna. Esto permite el uso como ``importlib.util.resolve_name('sys', " +"__spec__.parent)`` sin hacer una verificación para ver si se necesita el " +"argumento **package**." #: ../Doc/library/importlib.rst:1479 msgid "" @@ -1726,12 +2346,20 @@ msgid "" "`ImportError` is also raised a relative name would escape its containing " "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" +":exc:`ImportError` se lanza si **name** es un nombre de módulo relativo pero " +"**package** es un valor falso (por ejemplo, ``None`` o la cadena de " +"caracteres vacía). También se lanza :exc:`ImportError` un nombre relativo " +"que escaparía del paquete que lo contiene (por ejemplo, solicitando ``.." +"bacon`` desde el paquete ``spam``)." #: ../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 "" +"Para mejorar la coherencia con las declaraciones de importación, aumente :" +"exc:`ImportError` en lugar de :exc:`ValueError` para intentos de importación " +"relativa no válidos." #: ../Doc/library/importlib.rst:1493 msgid "" @@ -1742,16 +2370,25 @@ msgid "" "Otherwise a search using :attr:`sys.meta_path` is done. ``None`` is returned " "if no spec is found." msgstr "" +"Busca el :term:`spec ` para un módulo, opcionalmente relativo " +"al nombre del **package** especificado. Si el módulo está en :attr:`sys." +"modules`, se retorna ``sys.modules[name].__spec__`` (a menos que la " +"especificación sea ``None`` o no esté establecida, en cuyo caso se lanza :" +"exc:`ValueError`). De lo contrario, se realiza una búsqueda utilizando :attr:" +"`sys.meta_path`. Se retorna ``None`` si no se encuentra ninguna " +"especificación." #: ../Doc/library/importlib.rst:1500 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" +"Si **name** es para un submódulo (contiene un punto), el módulo principal se " +"importa automáticamente." #: ../Doc/library/importlib.rst:1503 msgid "**name** and **package** work the same as for :func:`import_module`." -msgstr "" +msgstr "**name** y **package** funcionan igual que para :func:`import_module`." #: ../Doc/library/importlib.rst:1507 msgid "" @@ -1759,12 +2396,17 @@ msgid "" "**package** is in fact not a package (i.e. lacks a :attr:`__path__` " "attribute)." msgstr "" +"Lanza :exc:`ModuleNotFoundError` en lugar de :exc:`AttributeError` si " +"**package** no es de hecho un paquete (es decir, carece de un atributo :attr:" +"`__path__`)." #: ../Doc/library/importlib.rst:1514 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" +"Cree un nuevo módulo basado en **spec** y :meth:`spec.loader.create_module " +"`." #: ../Doc/library/importlib.rst:1517 msgid "" @@ -1773,6 +2415,10 @@ msgid "" "reset. Also, no :exc:`AttributeError` will be raised if triggered while " "accessing **spec** or setting an attribute on the module." msgstr "" +"Si :meth:`spec.loader.create_module ` no " +"retorna ``None``, no se restablecerán los atributos preexistentes. Además, " +"no se lanzará :exc:`AttributeError` si se activa mientras se accede a " +"**spec** o se establece un atributo en el módulo." #: ../Doc/library/importlib.rst:1522 msgid "" @@ -1780,6 +2426,9 @@ msgid "" "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" +"Esta función es preferible a usar :class:`types.ModuleType` para crear un " +"nuevo módulo ya que **spec** se usa para establecer tantos atributos de " +"importación controlados en el módulo como sea posible." #: ../Doc/library/importlib.rst:1530 msgid "" @@ -1790,6 +2439,13 @@ msgid "" "module **object** to be used by the loader. Note that the decorator will not " "work on static methods because of the assumption of two arguments." msgstr "" +"Un :term:`decorator` para :meth:`importlib.abc.Loader.load_module` para " +"manejar la selección del objeto de módulo adecuado para cargar. Se espera " +"que el método decorado tenga una firma de llamada que tome dos argumentos " +"posicionales (por ejemplo, ``load_module(self, module)``) para los cuales el " +"segundo argumento será el módulo **object** que usará el cargador. Tenga en " +"cuenta que el decorador no funcionará con métodos estáticos debido a la " +"suposición de dos argumentos." #: ../Doc/library/importlib.rst:1539 msgid "" @@ -1800,6 +2456,13 @@ msgid "" "based on what :meth:`importlib.abc.InspectLoader.is_package` returns (if " "available). These attributes are set unconditionally to support reloading." msgstr "" +"El método decorado tomará el **name** del módulo que se cargará como se " +"esperaba para un :term:`loader`. Si el módulo no se encuentra en :data:`sys." +"modules`, se construye uno nuevo. Independientemente de la procedencia del " +"módulo, :attr:`__loader__` se establece en **self** y :attr:`__package__` se " +"establece en función de lo que retorna :meth:`importlib.abc.InspectLoader." +"is_package` (si está disponible) . Estos atributos se establecen " +"incondicionalmente para admitir la recarga." #: ../Doc/library/importlib.rst:1547 msgid "" @@ -1808,24 +2471,34 @@ msgid "" "initialized module from being in left in :data:`sys.modules`. If the module " "was already in :data:`sys.modules` then it is left alone." msgstr "" +"Si el método decorado lanza una excepción y se agrega un módulo a :data:`sys." +"modules`, entonces el módulo se eliminará para evitar que un módulo " +"parcialmente inicializado quede en :data:`sys.modules`. Si el módulo ya " +"estaba en :data:`sys.modules` entonces se deja solo." #: ../Doc/library/importlib.rst:1552 msgid "" ":attr:`__loader__` and :attr:`__package__` are automatically set (when " "possible)." msgstr "" +":attr:`__loader__` y :attr:`__package__` se configuran automáticamente " +"(cuando es posible)." #: ../Doc/library/importlib.rst:1556 msgid "" "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " "to support reloading." msgstr "" +"Establece :attr:`__name__`, :attr:`__loader__` :attr:`__package__` " +"incondicionalmente para apoyar la recarga." #: ../Doc/library/importlib.rst:1560 msgid "" "The import machinery now directly performs all the functionality provided by " "this function." msgstr "" +"La maquinaria de importación ahora realiza directamente toda la " +"funcionalidad proporcionada por esta función." #: ../Doc/library/importlib.rst:1566 msgid "" @@ -1835,15 +2508,22 @@ msgid "" "positional argument to the wrapped method (i.e. ``self``) is what :attr:" "`__loader__` should be set to." msgstr "" +"Un :term:`decorator` para :meth:`importlib.abc.Loader.load_module` para " +"establecer el atributo :attr:`__loader__` en el módulo retornado. Si el " +"atributo ya está configurado, el decorador no hace nada. Se asume que el " +"primer argumento posicional del método envuelto (es decir, ``self``) es lo " +"que se debe establecer en :attr:`__loader__`." #: ../Doc/library/importlib.rst:1573 msgid "" "Set ``__loader__`` if set to ``None``, as if the attribute does not exist." msgstr "" +"Establece ``__loader__`` si está configurado como ``None``, como si el " +"atributo no existiera." #: ../Doc/library/importlib.rst:1577 ../Doc/library/importlib.rst:1586 msgid "The import machinery takes care of this automatically." -msgstr "" +msgstr "La maquinaria de importación se encarga de esto automáticamente." #: ../Doc/library/importlib.rst:1582 msgid "" @@ -1851,6 +2531,10 @@ msgid "" "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 "" +"Un :term:`decorator` para :meth:`importlib.abc.Loader.load_module` para " +"establecer el atributo :attr:`__package__` en el módulo retornado. Si :attr:" +"`__package__` está configurado y tiene un valor diferente a ``None``, no se " +"cambiará." #: ../Doc/library/importlib.rst:1591 msgid "" @@ -1859,6 +2543,11 @@ msgid "" "The function uses available :term:`loader` APIs, such as :meth:" "`InspectLoader.is_package`, to fill in any missing information on the spec." msgstr "" +"Una función de fábrica para crear una instancia :class:`ModuleSpec` basada " +"en un cargador. Los parámetros tienen el mismo significado que para " +"ModuleSpec. La función utiliza APIs disponibles :term:`loader`, como :meth:" +"`InspectLoader.is_package`, para completar cualquier información que falte " +"en la especificación." #: ../Doc/library/importlib.rst:1601 msgid "" @@ -1866,6 +2555,10 @@ msgid "" "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 "" +"Una función de fábrica para crear una instancia :class:`ModuleSpec` basada " +"en la ruta a un archivo. La información que falte se completará en la " +"especificación mediante el uso de las API de carga y la implicación de que " +"el módulo estará basado en archivos." #: ../Doc/library/importlib.rst:1613 msgid "" @@ -1873,12 +2566,17 @@ msgid "" "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" +"Retorna el hash de *source_bytes* como bytes. Un archivo ``.pyc`` basado en " +"hash incrusta :func:`source_hash` del contenido del archivo fuente " +"correspondiente en su encabezado." #: ../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 "" +"Una clase que pospone la ejecución del cargador de un módulo hasta que el " +"módulo tiene acceso a un atributo." #: ../Doc/library/importlib.rst:1624 msgid "" @@ -1892,6 +2590,15 @@ msgid "" "module references throughout the interpreter safely; :exc:`ValueError` is " "raised if such a substitution is detected." msgstr "" +"Esta clase **solo** funciona con cargadores que definen :meth:`~importlib." +"abc.Loader.exec_module` ya que se requiere control sobre qué tipo de módulo " +"se usa para el módulo. Por esas mismas razones, el método del cargador :meth:" +"`~importlib.abc.Loader.create_module` debe retornar ``None`` o un tipo para " +"el cual su atributo ``__class__`` se puede mutar junto con no usar :term:" +"`slots <__slots__>`. Finalmente, los módulos que sustituyen el objeto " +"colocado en :attr:`sys.modules` no funcionarán ya que no hay forma de " +"reemplazar correctamente las referencias del módulo en todo el intérprete de " +"forma segura; :exc:`ValueError` se genera si se detecta tal sustitución." #: ../Doc/library/importlib.rst:1635 msgid "" @@ -1901,6 +2608,12 @@ msgid "" "**heavily** discouraged due to error messages created during loading being " "postponed and thus occurring out of context." msgstr "" +"Para proyectos donde el tiempo de inicio es crítico, esta clase permite " +"minimizar potencialmente el costo de cargar un módulo si nunca se usa. Para " +"proyectos en los que el tiempo de inicio no es esencial, el uso de esta " +"clase se desaconseja **en gran medida** debido a que los mensajes de error " +"creados durante la carga se posponen y, por lo tanto, ocurren fuera de " +"contexto." #: ../Doc/library/importlib.rst:1643 msgid "" @@ -1908,6 +2621,9 @@ msgid "" "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" +"Comenzó a llamar :meth:`~importlib.abc.Loader.create_module`, eliminando la " +"advertencia de compatibilidad para :class:`importlib.machinery." +"BuiltinImporter` y :class:`importlib.machinery.ExtensionFileLoader`." #: ../Doc/library/importlib.rst:1650 msgid "" @@ -1915,43 +2631,52 @@ msgid "" "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" +"Un método estático que devuelve un invocable que crea un cargador diferido. " +"Esto está destinado a utilizarse en situaciones en las que el cargador se " +"pasa por clase en lugar de por instancia. ::" #: ../Doc/library/importlib.rst:1663 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/importlib.rst:1666 msgid "Importing programmatically" -msgstr "" +msgstr "Importar programáticamente" #: ../Doc/library/importlib.rst:1668 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" +"Para importar un módulo mediante programación, use :func:`importlib." +"import_module`. ::" #: ../Doc/library/importlib.rst:1677 msgid "Checking if a module can be imported" -msgstr "" +msgstr "Comprobando si se puede importar un módulo" #: ../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 "" +"Si necesita averiguar si un módulo se puede importar sin realmente realizar " +"la importación, entonces debe usar :func:`importlib.util.find_spec`. ::" #: ../Doc/library/importlib.rst:1702 msgid "Importing a source file directly" -msgstr "" +msgstr "Importar un archivo fuente directamente" #: ../Doc/library/importlib.rst:1704 msgid "" "To import a Python source file directly, use the following recipe (Python " "3.5 and newer only)::" msgstr "" +"Para importar un archivo fuente de Python directamente, use la siguiente " +"receta (solo Python 3.5 y más reciente)::" #: ../Doc/library/importlib.rst:1723 msgid "Setting up an importer" -msgstr "" +msgstr "Configurar un importador" #: ../Doc/library/importlib.rst:1725 msgid "" @@ -1966,10 +2691,21 @@ msgid "" "will use them (for creating an importer for yourself, read the documentation " "for the appropriate classes defined within this package)::" msgstr "" +"Para personalizaciones profundas de la importación, normalmente desea " +"implementar un :term:`importador`. Esto significa administrar tanto el lado :" +"term:`finder` como :term:`loader` de las cosas. Para los buscadores, hay dos " +"sabores para elegir según sus necesidades: un :term:`meta path finder` o un :" +"term:`path entry finder`. El primero es lo que pondrías en :attr:`sys." +"meta_path` mientras que el segundo es lo que creas usando un :term:`path " +"entry hook` en :attr:`sys.path_hooks` que funciona con :attr:`sys .path` " +"entradas para crear potencialmente un buscador. Este ejemplo le mostrará " +"cómo registrar sus propios importadores para que import los utilice (para " +"crear un importador para usted, lea la documentación de las clases " +"apropiadas definidas dentro de este paquete):" #: ../Doc/library/importlib.rst:1757 msgid "Approximating :func:`importlib.import_module`" -msgstr "" +msgstr "Aproximando :func:`importlib.import_module`" #: ../Doc/library/importlib.rst:1759 msgid "" @@ -1980,3 +2716,9 @@ msgid "" "and newer for the importlib usage, Python 3.6 and newer for other parts of " "the code). ::" msgstr "" +"La importación en sí está implementada en código Python, lo que permite " +"exponer la mayor parte de la maquinaria de importación a través de " +"importlib. Lo siguiente ayuda a ilustrar las diversas API que importlib " +"expone al proporcionar una implementación aproximada de :func:`importlib." +"import_module` (Python 3.4 y más reciente para el uso de importlib, Python " +"3.6 y más reciente para otras partes del código). ::" From f0f33bfd4406623573bd415335cf52e4aae9410f Mon Sep 17 00:00:00 2001 From: Leonardo Date: Mon, 11 Oct 2021 09:34:41 -0500 Subject: [PATCH 93/94] =?UTF-8?q?Traducci=C3=B3n=20'library/zoneinfo.py'?= =?UTF-8?q?=20(#1373)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Traduccion-zone-info * Fix Words_Dictionary * Add Words_Dictionary * Add More_Words_Dictionary * powrap library/zoneinfo Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_zoneinfo.txt | 10 ++ library/zoneinfo.po | 255 +++++++++++++++++++++++++++--- 2 files changed, 242 insertions(+), 23 deletions(-) create mode 100644 dictionaries/library_zoneinfo.txt diff --git a/dictionaries/library_zoneinfo.txt b/dictionaries/library_zoneinfo.txt new file mode 100644 index 0000000000..2e6716455d --- /dev/null +++ b/dictionaries/library_zoneinfo.txt @@ -0,0 +1,10 @@ +tzdata +diferent +despickeados +datetimes +Tokyo +Repository +serializándolo +magic +deserializados +recalcula \ No newline at end of file diff --git a/library/zoneinfo.po b/library/zoneinfo.po index 7b73190e53..62be49232f 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -4,23 +4,25 @@ # 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" +"PO-Revision-Date: 2021-10-01 21:30-0500\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-Team: \n" +"X-Generator: Poedit 3.0\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" #: ../Doc/library/zoneinfo.rst:2 msgid ":mod:`zoneinfo` --- IANA time zone support" -msgstr "" +msgstr ":mod:`zoneinfo` --- Soporte de zona horaria IANA" #: ../Doc/library/zoneinfo.rst:14 msgid "" @@ -30,30 +32,40 @@ msgid "" "if no system time zone data is available, the library will fall back to " "using the first-party `tzdata`_ package available on PyPI." msgstr "" +"El módulo :mod:`zoneinfo` proporciona una implementación concreta de zonas " +"horarias para soportar la base de datos de zonas horarias de IANA tal y como " +"se especificó originalmente en :pep:`615`. Por defecto, :mod:`zoneinfo` " +"utiliza los datos de zona horaria del sistema si están disponibles; si no " +"hay datos de zona horaria del sistema, la biblioteca volverá a utilizar el " +"paquete de primera parte `tzdata`_ disponible en PyPI." #: ../Doc/library/zoneinfo.rst:24 msgid "Module: :mod:`datetime`" -msgstr "" +msgstr "Modulo: :mod:`datetime`" #: ../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 "" +"Proporciona los tipos :class:`~datetime.time` y :class:`~datetime.datetime` " +"con los que está diseñada la clase :class:`ZoneInfo`." #: ../Doc/library/zoneinfo.rst:27 msgid "Package `tzdata`_" -msgstr "" +msgstr "Paquete `tzdata`_" #: ../Doc/library/zoneinfo.rst:27 msgid "" "First-party package maintained by the CPython core developers to supply time " "zone data via PyPI." msgstr "" +"Paquete de origen mantenido por los desarrolladores del núcleo de CPython " +"para suministrar datos de zonas horarias a través de PyPI." #: ../Doc/library/zoneinfo.rst:32 msgid "Using ``ZoneInfo``" -msgstr "" +msgstr "Usando ``ZoneInfo``" #: ../Doc/library/zoneinfo.rst:34 msgid "" @@ -63,12 +75,20 @@ msgid "" "replace>` method or :meth:`datetime.astimezone `::" msgstr "" +":class:`ZoneInfo` es una implementación concreta de la clase base abstracta :" +"class:`datetime.tzinfo`, y está pensada para ser adjuntada a ``tzinfo``, " +"bien a través del constructor, del método :meth:`datetime.replace ` o de :meth:`datetime.astimezone `:" #: ../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 "" +"Las fechas construidas de esta manera son compatibles con la aritmética de " +"fechas y manejan las transiciones del horario de verano sin ninguna otra " +"intervención::" #: ../Doc/library/zoneinfo.rst:60 msgid "" @@ -78,16 +98,24 @@ msgid "" "offset from *before* the transition is used when ``fold=0``, and the offset " "*after* the transition is used when ``fold=1``, for example::" msgstr "" +"Estas zonas horarias también soportan el atributo :attr:`~datetime.datetime." +"fold` introducido en :pep:`495`. Durante las transiciones de desfase que " +"inducen tiempos ambiguos (como una transición de horario de verano a horario " +"estándar), se utiliza el desfase de *antes* de la transición cuando " +"``fold=0``, y el desfase *después* de la transición cuando ``fold=1``, por " +"ejemplo::" #: ../Doc/library/zoneinfo.rst:73 msgid "" "When converting from another time zone, the fold will be set to the correct " "value::" msgstr "" +"Al convertir desde otra zona horaria, el pliegue se ajustará al valor " +"correcto::" #: ../Doc/library/zoneinfo.rst:89 msgid "Data sources" -msgstr "" +msgstr "Fuentes de datos" #: ../Doc/library/zoneinfo.rst:91 msgid "" @@ -100,10 +128,20 @@ msgid "" "system data nor tzdata are available, all calls to :class:`ZoneInfo` will " "raise :exc:`ZoneInfoNotFoundError`." msgstr "" +"El módulo ``zoneinfo`` no proporciona directamente los datos de la zona " +"horaria, y en su lugar extrae la información de la zona horaria de la base " +"de datos de la zona horaria del sistema o del paquete de PyPI `tzdata`_, si " +"está disponible. Algunos sistemas, incluyendo notablemente los sistemas " +"Windows, no tienen una base de datos IANA disponible, por lo que para los " +"proyectos que tienen como objetivo la compatibilidad entre plataformas que " +"requieren datos de zona horaria, se recomienda declarar una dependencia de " +"tzdata. Si no están disponibles ni los datos del sistema ni los de tzdata, " +"todas las llamadas a :class:`ZoneInfo` lanzarán un :exc:" +"`ZoneInfoNotFoundError`." #: ../Doc/library/zoneinfo.rst:103 msgid "Configuring the data sources" -msgstr "" +msgstr "Configurando los orígenes de datos" #: ../Doc/library/zoneinfo.rst:105 msgid "" @@ -112,28 +150,39 @@ msgid "" "failure looks for a match in the tzdata package. This behavior can be " "configured in three ways:" msgstr "" +"Cuando se llama a ``ZoneInfo(key)``, el constructor busca primero en los " +"directorios especificados en :data:`TZPATH` un archivo que coincida con " +"``key``, y en caso de fallo busca una coincidencia en el paquete tzdata. " +"Este comportamiento puede configurarse de tres maneras:" #: ../Doc/library/zoneinfo.rst:110 msgid "" "The default :data:`TZPATH` when not otherwise specified can be configured " "at :ref:`compile time `." msgstr "" +"El :data:`TZPATH` por defecto cuando no se especifica otra cosa puede " +"configurarse en :ref:`tiempo de compilación " +"`." #: ../Doc/library/zoneinfo.rst:112 msgid "" ":data:`TZPATH` can be configured using :ref:`an environment variable " "`." msgstr "" +":data:`TZPATH` puede configurarse utilizando :ref:`una variable de entorno " +"`." #: ../Doc/library/zoneinfo.rst:114 msgid "" "At :ref:`runtime `, the search path can be " "manipulated using the :func:`reset_tzpath` function." msgstr "" +"En :ref:`runtime `, la ruta de búsqueda puede " +"ser manipulada usando la función :func:`reset_tzpath`." #: ../Doc/library/zoneinfo.rst:120 msgid "Compile-time configuration" -msgstr "" +msgstr "Configuración en tiempo de compilación" #: ../Doc/library/zoneinfo.rst:122 msgid "" @@ -145,16 +194,27 @@ msgid "" "time option ``TZPATH`` (or, more likely, the ``configure`` flag ``--with-" "tzpath``), which should be a string delimited by :data:`os.pathsep`." msgstr "" +"La ruta por defecto :data:`TZPATH` incluye varias ubicaciones comunes de " +"despliegue para la base de datos de zonas horarias (excepto en Windows, " +"donde no hay ubicaciones \"conocidas\" para los datos de zonas horarias). En " +"los sistemas POSIX, los distribuidores posteriores y aquellos que construyen " +"Python desde el código fuente que saben dónde se despliegan los datos de " +"zona horaria de su sistema pueden cambiar la ruta de zona horaria por " +"defecto especificando la opción de compilación ``TZPATH`` (o, más " +"probablemente, la bandera ``configure`` ``--with-tzpath``), que debe ser una " +"cadena delimitada por :data:`os.pathsep`." #: ../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 "" +"En todas las plataformas, el valor configurado está disponible como la clave " +"``TZPATH`` en :func:`sysconfig.get_config_var`." #: ../Doc/library/zoneinfo.rst:136 msgid "Environment configuration" -msgstr "" +msgstr "Configuración del entorno" #: ../Doc/library/zoneinfo.rst:138 msgid "" @@ -163,6 +223,10 @@ msgid "" "use the environment variable ``PYTHONTZPATH``, if it exists, to set the " "search path." msgstr "" +"Cuando se inicializa :data:`TZPATH` (ya sea en el momento de la importación " +"o cuando se llama a :func:`reset_tzpath` sin argumentos), el módulo " +"``zoneinfo`` utilizará la variable de entorno ``PYTHONTZPATH``, si existe, " +"para establecer la ruta de búsqueda." #: ../Doc/library/zoneinfo.rst:145 msgid "" @@ -174,16 +238,26 @@ msgid "" "other implementations are free to silently ignore the erroneous component or " "raise an exception." msgstr "" +"Se trata de una cadena separada por :data:`os.pathsep` que contiene la ruta " +"de búsqueda de la zona horaria a utilizar. Debe consistir sólo en rutas " +"absolutas y no relativas. Los componentes relativos especificados en " +"``PYTHONTZPATH`` no se utilizarán, pero por lo demás el comportamiento " +"cuando se especifica una ruta relativa es definido por la implementación; " +"CPython lanzará :exc:`InvalidTZPathWarning`, pero otras implementaciones son " +"libres de ignorar silenciosamente el componente erróneo o lanzar una " +"excepción." #: ../Doc/library/zoneinfo.rst:153 msgid "" "To set the system to ignore the system data and use the tzdata package " "instead, set ``PYTHONTZPATH=\"\"``." msgstr "" +"Para que el sistema ignore los datos del sistema y utilice el paquete tzdata " +"en su lugar, establezca ``PYTHONTZPATH=\"\"``." #: ../Doc/library/zoneinfo.rst:159 msgid "Runtime configuration" -msgstr "" +msgstr "Configuración de tiempo de ejecución" #: ../Doc/library/zoneinfo.rst:161 msgid "" @@ -193,10 +267,15 @@ msgid "" "a specific time zone path (or require disabling access to the system time " "zones)." msgstr "" +"La ruta de búsqueda de TZ también puede configurarse en tiempo de ejecución " +"mediante la función :func:`reset_tzpath`. Por lo general, esta operación no " +"es aconsejable, aunque es razonable utilizarla en funciones de prueba que " +"requieran el uso de una ruta de zona horaria específica (o que requieran " +"deshabilitar el acceso a las zonas horarias del sistema)." #: ../Doc/library/zoneinfo.rst:168 msgid "The ``ZoneInfo`` class" -msgstr "" +msgstr "La clase ``ZoneInfo``" #: ../Doc/library/zoneinfo.rst:172 msgid "" @@ -206,6 +285,12 @@ msgid "" "cache invalidation via :meth:`ZoneInfo.clear_cache`, for all values of " "``key``, the following assertion will always be true:" msgstr "" +"Una subclase concreta de :class:`datetime.tzinfo` que representa una zona " +"horaria IANA especificada por la cadena ``key``. Las llamadas al constructor " +"primario siempre devolverán objetos que se comparan de forma idéntica; dicho " +"de otro modo, salvo la invalidación de la caché mediante :meth:`ZoneInfo." +"clear_cache`, para todos los valores de ``key``, la siguiente afirmación " +"siempre será verdadera:" #: ../Doc/library/zoneinfo.rst:184 msgid "" @@ -213,16 +298,21 @@ msgid "" "level references. The constructor will raise :exc:`ValueError` if a non-" "conforming key is passed." msgstr "" +"La ``key`` debe tener la forma de una ruta POSIX relativa y normalizada, sin " +"referencias de nivel superior. El constructor lanzará :exc:`ValueError` si " +"se pasa una clave no conforme." #: ../Doc/library/zoneinfo.rst:188 msgid "" "If no file matching ``key`` is found, the constructor will raise :exc:" "`ZoneInfoNotFoundError`." msgstr "" +"Si no se encuentra ningún archivo que coincida con la ``clave``, el " +"constructor lanzará :exc:`ZoneInfoNotFoundError`." #: ../Doc/library/zoneinfo.rst:192 msgid "The ``ZoneInfo`` class has two alternate constructors:" -msgstr "" +msgstr "La clase ``ZoneInfo`` tiene dos constructores alternativos:" #: ../Doc/library/zoneinfo.rst:196 msgid "" @@ -230,17 +320,25 @@ msgid "" "g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " "the primary constructor, this always constructs a new object." msgstr "" +"Construye un objeto ``ZoneInfo`` a partir de un objeto tipo archivo que " +"retorna bytes (por ejemplo, un archivo abierto en modo binario o un objeto :" +"class:`io.BytesIO`). A diferencia del constructor primario, éste siempre " +"construye un nuevo objeto." #: ../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 "" +"El parámetro ``key`` establece el nombre de la zona a efectos de :py:meth:" +"`~object.__str__` y :py:meth:`~object.__repr__`." #: ../Doc/library/zoneinfo.rst:203 msgid "" "Objects created via this constructor cannot be pickled (see `pickling`_)." msgstr "" +"Los objetos creados a través de este constructor no pueden ser serializados " +"(ver `pickling`_)." #: ../Doc/library/zoneinfo.rst:207 msgid "" @@ -250,22 +348,31 @@ msgid "" "it can also be used to create a system with a different cache invalidation " "strategy." msgstr "" +"Un constructor alternativo que omite la caché del constructor. Es idéntico " +"al constructor principal, pero retorna un nuevo objeto en cada llamada. Es " +"muy probable que esto sea útil para propósitos de prueba o demostración, " +"pero también se puede utilizar para crear un sistema con una estrategia de " +"invalidación de caché diferente." #: ../Doc/library/zoneinfo.rst:213 msgid "" "Objects created via this constructor will also bypass the cache of a " "deserializing process when unpickled." msgstr "" +"Los objetos creados a través de este constructor también pasarán por encima " +"de la caché de un proceso de deserialización cuando sean deserializados." #: ../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 "" +"El uso de este constructor puede cambiar la semántica de tus datetimes de " +"manera sorprendente, sólo úsalo si sabes que lo necesitas." #: ../Doc/library/zoneinfo.rst:223 msgid "The following class methods are also available:" -msgstr "" +msgstr "También están disponibles los siguientes métodos de clase:" #: ../Doc/library/zoneinfo.rst:227 msgid "" @@ -273,6 +380,9 @@ msgid "" "arguments are passed, all caches are invalidated and the next call to the " "primary constructor for each key will return a new instance." msgstr "" +"Un método para invalidar la caché de la clase ``ZoneInfo``. Si no se pasan " +"argumentos, se invalidan todas las cachés y la siguiente llamada al " +"constructor primario de cada clave devolverá una nueva instancia." #: ../Doc/library/zoneinfo.rst:231 msgid "" @@ -280,6 +390,9 @@ msgid "" "the specified keys will be removed from the cache. Keys passed to " "``only_keys`` but not found in the cache are ignored." msgstr "" +"Si se pasa un iterable de nombres de claves al parámetro ``only_keys``, sólo " +"se eliminarán de la caché las claves especificadas. Las claves pasadas a " +"``only_keys`` pero que no se encuentran en la caché se ignoran." #: ../Doc/library/zoneinfo.rst:239 msgid "" @@ -287,10 +400,14 @@ msgid "" "``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 "" +"La invocación de esta función puede cambiar la semántica de las fechas " +"utilizando ``ZoneInfo`` de forma sorprendente; esto modifica el estado " +"global del proceso y por lo tanto puede tener efectos de gran alcance. " +"Utilícela sólo si sabe que lo necesita." #: ../Doc/library/zoneinfo.rst:244 msgid "The class has one attribute:" -msgstr "" +msgstr "La clase tiene un atributo:" #: ../Doc/library/zoneinfo.rst:248 msgid "" @@ -299,12 +416,18 @@ msgid "" "zone database (e.g. ``America/New_York``, ``Europe/Paris`` or ``Asia/" "Tokyo``)." msgstr "" +"Se trata de un :term:`attribute` de sólo lectura que retorna el valor de " +"``key`` pasado al constructor, que debe ser una clave de búsqueda en la base " +"de datos de zonas horarias de la IANA (por ejemplo, ``America/New_York``, " +"``Europe/Paris`` o ``Asia/Tokyo``." #: ../Doc/library/zoneinfo.rst:253 msgid "" "For zones constructed from file without specifying a ``key`` parameter, this " "will be set to ``None``." msgstr "" +"Para las zonas construidas a partir de un archivo sin especificar un " +"parámetro ``key``, se establecerá como ``None``." #: ../Doc/library/zoneinfo.rst:258 msgid "" @@ -314,10 +437,15 @@ msgid "" "Unicode Common Locale Data Repository) can be used to get more user-friendly " "strings from these keys." msgstr "" +"Aunque es una práctica algo común exponerlos a los usuarios finales, estos " +"valores están diseñados para ser claves primarias para representar las zonas " +"relevantes y no necesariamente elementos orientados al usuario. Se pueden " +"utilizar proyectos como CLDR (Unicode Common Locale Data Repository) para " +"obtener cadenas más fáciles de usar a partir de estas claves." #: ../Doc/library/zoneinfo.rst:265 msgid "String representations" -msgstr "" +msgstr "Representaciones de cadenas" #: ../Doc/library/zoneinfo.rst:267 msgid "" @@ -325,6 +453,9 @@ msgid "" "`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` attribute (see " "the note on usage in the attribute documentation)::" msgstr "" +"La representación de cadena que se retorna al llamar a :py:class:`str` sobre " +"un objeto :class:`ZoneInfo` utiliza por defecto el atributo :attr:`ZoneInfo." +"key` (ver la nota de uso en la documentación del atributo)::" #: ../Doc/library/zoneinfo.rst:279 msgid "" @@ -333,10 +464,15 @@ msgid "" "implementation-defined and not necessarily stable between versions, but it " "is guaranteed not to be a valid ``ZoneInfo`` key." msgstr "" +"Para los objetos construidos a partir de un fichero sin especificar un " +"parámetro ``key``, ``str`` vuelve a llamar a :func:`repr``. El parámetro " +"``repr`` de ``ZoneInfo`` está definido por la implementación y no es " +"necesariamente estable entre versiones, pero se garantiza que no es una " +"clave válida de ``ZoneInfo``.Pickled." #: ../Doc/library/zoneinfo.rst:287 msgid "Pickle serialization" -msgstr "" +msgstr "Serialización de Pickle" #: ../Doc/library/zoneinfo.rst:289 msgid "" @@ -344,10 +480,16 @@ msgid "" "serialized by key, and ``ZoneInfo`` objects constructed from files (even " "those with a value for ``key`` specified) cannot be pickled." msgstr "" +"En lugar de serializar todos los datos de transición, los objetos " +"``ZoneInfo`` se serializan por clave, y los objetos ``ZoneInfo`` construidos " +"a partir de archivos (incluso los que tienen un valor por ``key`` " +"especifico) no pueden ser serializados." #: ../Doc/library/zoneinfo.rst:293 msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" msgstr "" +"El comportamiento de un archivo ``ZoneInfo`` depende de cómo se haya " +"construido:" #: ../Doc/library/zoneinfo.rst:295 msgid "" @@ -359,6 +501,13 @@ msgid "" "constructed from ``ZoneInfo(\"Europe/Berlin\")``, one would expect the " "following behavior:" msgstr "" +"``ZoneInfo(key)``: Cuando se construye con el constructor primario, un " +"objeto ``ZoneInfo`` se serializa por la clave, y cuando se deserializa, el " +"proceso de deserialización utiliza el primario y por lo tanto se espera que " +"estos sean el mismo objeto que otras referencias a la misma zona horaria. " +"Por ejemplo, si ``europe_berlin_pkl`` es una cadena que contiene un pickle " +"construido a partir de ``ZoneInfo(\"Europe/Berlin\")``, se esperaría el " +"siguiente comportamiento:" #: ../Doc/library/zoneinfo.rst:310 msgid "" @@ -369,6 +518,12 @@ msgid "" "constructed from ``ZoneInfo.no_cache(\"Europe/Berlin\")``, one would expect " "the following behavior:" msgstr "" +"``ZoneInfo.no_cache(key)``: Cuando se construye a partir del constructor que " +"evita la caché, el objeto ``ZoneInfo`` también se serializa por clave, pero " +"cuando se deserializa, el proceso de deserialización utiliza el constructor " +"que evita la caché. Si ``europe_berlin_pkl_nc`` es una cadena que contiene " +"un pickle construido a partir de ``ZoneInfo.no_cache(\"Europe/Berlin\")``, " +"cabría esperar el siguiente comportamiento:" #: ../Doc/library/zoneinfo.rst:324 msgid "" @@ -378,6 +533,12 @@ msgid "" "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 "" +"``ZoneInfo.from_file(fobj, /, key=None)``: Cuando se construye a partir de " +"un fichero, el objeto ``ZoneInfo`` lanza una excepción al ser recogido. Si " +"un usuario final quiere recoger un ``ZoneInfo`` construido a partir de un " +"archivo, se recomienda que utilice un tipo de envoltura o una función de " +"serialización personalizada: ya sea serializando por clave o almacenando el " +"contenido del objeto archivo y serializándolo." #: ../Doc/library/zoneinfo.rst:330 msgid "" @@ -389,10 +550,18 @@ msgid "" "a ``ZoneInfo`` pickled in an environment with a different version of the " "time zone data." msgstr "" +"Este método de serialización requiere que los datos de la zona horaria para " +"la clave requerida estén disponibles tanto en el lado de serialización como " +"en el de deserialización, de forma similar a como se espera que las " +"referencias a las clases y funciones existan tanto en el entorno de " +"serialización como en el de deserialización. También significa que no se " +"garantiza la consistencia de los resultados cuando se retira un ``ZoneInfo`` " +"recogido en un entorno con una versión diferente de los datos de la zona " +"horaria." #: ../Doc/library/zoneinfo.rst:338 msgid "Functions" -msgstr "" +msgstr "Funciones" #: ../Doc/library/zoneinfo.rst:342 msgid "" @@ -400,6 +569,9 @@ msgid "" "anywhere on the time zone path. This is recalculated on every call to the " "function." msgstr "" +"Obtiene un conjunto que contiene todas las claves válidas para las zonas " +"horarias de la IANA disponibles en cualquier lugar de la ruta de zonas " +"horarias. Se recalcula en cada llamada a la función." #: ../Doc/library/zoneinfo.rst:346 msgid "" @@ -407,6 +579,9 @@ msgid "" "\"special\" zones such as those under the ``posix/`` and ``right/`` " "directories, or the ``posixrules`` zone." msgstr "" +"Esta función sólo incluye los nombres de zona canónicos y no incluye las " +"zonas \"especiales\" como las que se encuentran bajo los directorios ``posix/" +"`` y ``right/``, o la zona ``posixrules``." #: ../Doc/library/zoneinfo.rst:352 msgid "" @@ -414,6 +589,9 @@ msgid "" "if a file on the time zone path is a valid time zone is to read the \"magic " "string\" at the beginning." msgstr "" +"Esta función puede abrir un gran número de archivos, ya que la mejor manera " +"de determinar si un archivo en la ruta de la zona horaria es una zona " +"horaria válida es leer la \"magic string\" (cadena mágica) al principio." #: ../Doc/library/zoneinfo.rst:358 msgid "" @@ -422,12 +600,20 @@ msgid "" "Locale Data Repository) to get more user-friendly strings. See also the " "cautionary note on :attr:`ZoneInfo.key`." msgstr "" +"Estos valores no están diseñados para ser expuestos a los usuarios finales; " +"para los elementos de cara al usuario, las aplicaciones deberían utilizar " +"algo como CLDR (el Unicode Common Locale Data Repository) para obtener " +"cadenas más fáciles de usar. Véase también la nota de advertencia sobre :" +"attr:`ZoneInfo.key`." #: ../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 "" +"Establece o restablece la ruta de búsqueda de la zona horaria (:data:" +"`TZPATH`) para el módulo. Cuando se llama sin argumentos, :data:`TZPATH` se " +"establece en el valor por defecto." #: ../Doc/library/zoneinfo.rst:368 msgid "" @@ -435,6 +621,9 @@ msgid "" "and so calls to the primary ``ZoneInfo`` constructor will only use the new " "``TZPATH`` in the case of a cache miss." msgstr "" +"La llamada a ``reset_tzpath`` no invalidará la caché de :class:`ZoneInfo`, " +"por lo que las llamadas al constructor primario de ``ZoneInfo`` sólo " +"utilizarán el nuevo ``TZPATH`` en caso de que se pierda la caché." #: ../Doc/library/zoneinfo.rst:372 msgid "" @@ -443,10 +632,13 @@ msgid "" "`ValueError` will be raised if something other than an absolute path is " "passed." msgstr "" +"El parámetro ``to`` debe ser un :term:`sequence` de cadenas o :class:`os." +"PathLike` y no una cadena, todos los cuales deben ser rutas absolutas. :exc:" +"`ValueError` se lanzará si se pasa algo que no sea una ruta absoluta." #: ../Doc/library/zoneinfo.rst:378 msgid "Globals" -msgstr "" +msgstr "Globales" #: ../Doc/library/zoneinfo.rst:382 msgid "" @@ -454,12 +646,18 @@ msgid "" "constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " "the ``TZPATH``, and the first file found is used." msgstr "" +"Una secuencia de sólo lectura que representa la ruta de búsqueda de zonas " +"horarias -- cuando se construye un ``ZoneInfo`` a partir de una clave, la " +"clave se une a cada entrada del ``TZPATH``, y se utiliza el primer archivo " +"encontrado." #: ../Doc/library/zoneinfo.rst:386 msgid "" "``TZPATH`` may contain only absolute paths, never relative paths, regardless " "of how it is configured." msgstr "" +"``TZPATH`` sólo puede contener rutas absolutas, nunca relativas, " +"independientemente de cómo esté configurado." #: ../Doc/library/zoneinfo.rst:389 msgid "" @@ -468,16 +666,22 @@ msgid "" "TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or assigning a " "long-lived variable to ``zoneinfo.TZPATH``." msgstr "" +"El objeto al que apunta ``zoneinfo.TZPATH`` puede cambiar en respuesta a una " +"llamada a :func:`reset_tzpath`, por lo que se recomienda utilizar ``zoneinfo." +"TZPATH`` en lugar de importar ``TZPATH`` desde ``zoneinfo`` o asignar una " +"variable de larga duración a ``zoneinfo.TZPATH``." #: ../Doc/library/zoneinfo.rst:394 msgid "" "For more information on configuring the time zone search path, see :ref:" "`zoneinfo_data_configuration`." msgstr "" +"Para más información sobre la configuración de la ruta de búsqueda de zonas " +"horarias, consulte :ref:`zoneinfo_data_configuration`." #: ../Doc/library/zoneinfo.rst:398 msgid "Exceptions and warnings" -msgstr "" +msgstr "Excepciones y advertencias" #: ../Doc/library/zoneinfo.rst:402 msgid "" @@ -485,9 +689,14 @@ msgid "" "specified key could not be found on the system. This is a subclass of :exc:" "`KeyError`." msgstr "" +"Se lanza cuando la construcción de un objeto :class:`ZoneInfo` falla porque " +"la clave especificada no puede encontrarse en el sistema. Es una subclase " +"de :exc:`KeyError`." #: ../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 "" +"Se lanza cuando :envvar:`PYTHONTZPATH` contiene un componente no válido que " +"será filtrado, como una ruta relativa." From 11516f9f0049a867c0e06df5919918edc326301a Mon Sep 17 00:00:00 2001 From: dcristobalh Date: Mon, 11 Oct 2021 16:35:19 +0200 Subject: [PATCH 94/94] Doc: translate sys.po (#1382) * Doc: translate sys.po * Fix: change disparador * Fix: change ruta to path --- library/sys.po | 51 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/library/sys.po b/library/sys.po index 99006694e3..70a0f600ce 100644 --- a/library/sys.po +++ b/library/sys.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-17 03:18+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-10-11 14:39+0200\n" +"Last-Translator: Diego Cristóbal Herreros\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 3.0\n" #: ../Doc/library/sys.rst:2 msgid ":mod:`sys` --- System-specific parameters and functions" @@ -150,12 +151,20 @@ msgid "" "given event are considered a public and stable API and should not be " "modified between releases." msgstr "" +"Activar un evento de auditoría y activar cualquier hook de auditoría activo. " +"*event* es una cadena que identifica el evento, y *args* puede contener " +"argumentos opcionales con más información sobre el evento. El número y los " +"tipos de argumentos para un evento determinado se consideran una API pública " +"y estable y no deberían modificarse entre versiones." #: ../Doc/library/sys.rst:94 msgid "" "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 "" +"Por ejemplo, un evento de auditoría se llama ``os.chdir``. Este evento tiene " +"un argumento llamado *path* que contendrá el nuevo directorio de trabajo " +"solicitado." #: ../Doc/library/sys.rst:98 msgid "" @@ -166,6 +175,13 @@ msgid "" "implementations to decide how to respond to particular events: they can " "merely log the event or abort the operation by raising an exception." msgstr "" +":func:`sys.audit` llamará a los ganchos de auditoría existentes, pasando el " +"nombre del evento y los argumentos, y volverá a lanzar la primera excepción " +"de cualquier hook. En general, si se lanza una excepción, no debería ser " +"manejada y el proceso debería terminar lo más rápidamente posible. Esto " +"permite que las implementaciones de los hook decidan cómo responder a " +"determinados eventos: pueden limitarse a registrar el evento o abortar la " +"operación lanzando una excepción." #: ../Doc/library/sys.rst:106 msgid "" @@ -864,7 +880,7 @@ msgstr ":const:`dev_mode`" #: ../Doc/library/sys.rst:464 msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" -msgstr "" +msgstr ":option:`-X dev <-X>` (:ref:`Modo de desarrollo de Python `)" #: ../Doc/library/sys.rst:465 msgid ":const:`utf8_mode`" @@ -945,7 +961,7 @@ msgstr "" #: ../Doc/library/sys.rst:503 msgid "See also :func:`math.ulp`." -msgstr "" +msgstr "Vea también :func:`math.ulp`." #: ../Doc/library/sys.rst:505 msgid ":const:`dig`" @@ -1040,6 +1056,8 @@ msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." msgstr "" +"Usa :func:`math.ulp(0.0) ` para obtener el menor flotante positivo " +"*denormalizado* representable." #: ../Doc/library/sys.rst:525 msgid ":const:`min_exp`" @@ -2181,6 +2199,9 @@ 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 "" +"Nombre del directorio de la biblioteca específica de la plataforma. Se " +"utiliza para construir la ruta de la biblioteca estándar y las rutas de los " +"módulos de extensión instalados." #: ../Doc/library/sys.rst:1161 msgid "" @@ -2188,12 +2209,17 @@ msgid "" "equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." "path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" msgstr "" +"Es igual a ``\"lib\"`` en la mayoría de las plataformas. En Fedora y SuSE, " +"es igual a ``\"lib64\"`` en plataformas de 64 bits, lo que da las siguientes " +"rutas ``sys.path`` (donde ``X.Y`` es la versión ``mayor.menor`` de Python):" #: ../Doc/library/sys.rst:1165 msgid "" "``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " "module)" msgstr "" +"``/usr/lib64/pythonX.Y/``: Biblioteca estándar (como ``os.py`` del módulo :" +"mod:`os`)" #: ../Doc/library/sys.rst:1167 msgid "" @@ -2201,18 +2227,25 @@ msgid "" "library (like the :mod:`errno` module, the exact filename is platform " "specific)" msgstr "" +"``/usr/lib64/pythonX.Y/lib-dynload/``: Módulos de extensión C de la " +"biblioteca estándar (como el módulo :mod:`errno`, el nombre exacto del " +"archivo es específico de la plataforma)" #: ../Doc/library/sys.rst:1170 msgid "" "``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." "platlibdir`): Third-party modules" msgstr "" +"``/usr/lib/pythonX.Y/site-packages/`` (utilice siempre ``lib``, no :data:" +"`sys.platlibdir`): Módulos de terceros" #: ../Doc/library/sys.rst:1172 msgid "" "``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " "packages" msgstr "" +"``/usr/lib64/pythonX.Y/site-packages/``: Módulos de extensión C de paquetes " +"de terceros" #: ../Doc/library/sys.rst:1180 msgid "" @@ -2845,11 +2878,19 @@ msgid "" "the :option:`-u` command-line option or setting the :envvar:" "`PYTHONUNBUFFERED` environment variable." msgstr "" +"Cuando es interactivo, el flujo de ``stdout`` se almacena en búfer de línea. " +"En caso contrario, se almacena en búfer de bloque como los archivos de texto " +"normales. El flujo ``stderr`` tiene un búfer de línea en ambos casos. " +"Puede hacer que ambos flujos no tengan búfer pasando la opción de línea de " +"comandos :option:`-u` o estableciendo la variable de entorno :envvar:" +"`PYTHONUNBUFFERED`." #: ../Doc/library/sys.rst:1501 msgid "" "Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" +"Ahora, ``stderr`` no interactivo tiene búfer de línea en lugar de búfer " +"completo." #: ../Doc/library/sys.rst:1507 msgid ""