From 54686d2c9d2526be5fe54894c077df4a2605ce7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 23 Nov 2024 22:18:02 +0100 Subject: [PATCH 1/3] Translate whatsnew/2.0 Closes #3170 --- whatsnew/2.0.po | 1811 +++++++++++++++++++++++++---------------------- 1 file changed, 958 insertions(+), 853 deletions(-) diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 8433016763..5b3ebaa6c9 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: 2021-12-08 21:38+0100\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" #: ../Doc/whatsnew/2.0.rst:3 @@ -39,8 +39,8 @@ msgstr "Introducción" #: ../Doc/whatsnew/2.0.rst:15 msgid "" -"A new release of Python, version 2.0, was released on October 16, 2000. This " -"article covers the exciting new features in 2.0, highlights some other " +"A new release of Python, version 2.0, was released on October 16, 2000. This" +" article covers the exciting new features in 2.0, highlights some other " "useful changes, and points out a few incompatible changes that may require " "rewriting code." msgstr "" @@ -58,18 +58,19 @@ msgid "" "certainly significant. Consult the publicly available CVS logs if you want " "to see the full list. This progress is due to the five developers working " "for PythonLabs are now getting paid to spend their days fixing bugs, and " -"also due to the improved communication resulting from moving to SourceForge." +"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 envía un flujo constante de correcciones de errores y mejoras. " "Una gran cantidad de correcciones menores, algunas optimizaciones, cadenas " "de documentación adicionales y mejores mensajes de error entraron en 2.0; " "enumerarlos a todos sería imposible, pero ciertamente son significativos. " -"Consulte los registros de CVS disponibles públicamente si desea ver la lista " -"completa. Este progreso se debe a que a los cinco desarrolladores que " +"Consulte los registros de CVS disponibles públicamente si desea ver la lista" +" completa. Este progreso se debe a que a los cinco desarrolladores que " "trabajan para PythonLabs ahora se les paga por dedicar sus días a corregir " -"errores, y también a la mejora de la comunicación resultante de la migración " -"a SourceForge." +"errores, y también a la mejora de la comunicación resultante de la migración" +" a SourceForge." #: ../Doc/whatsnew/2.0.rst:33 msgid "What About Python 1.6?" @@ -78,23 +79,23 @@ msgstr "¿Qué pasa con Python 1.6?" #: ../Doc/whatsnew/2.0.rst:35 msgid "" "Python 1.6 can be thought of as the Contractual Obligations Python release. " -"After the core development team left CNRI in May 2000, CNRI requested that a " -"1.6 release be created, containing all the work on Python that had been " +"After the core development team left CNRI in May 2000, CNRI requested that a" +" 1.6 release be created, containing all the work on Python that had been " "performed at CNRI. Python 1.6 therefore represents the state of the CVS " "tree as of May 2000, with the most significant new feature being Unicode " "support. Development continued after May, of course, so the 1.6 tree " -"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." +"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." +"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 "" @@ -104,17 +105,18 @@ msgid "" "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." +"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" @@ -125,10 +127,10 @@ msgid "" "The most important change in Python 2.0 may not be to the code at all, but " "to how Python is developed: in May 2000 the Python developers began using " "the tools made available by SourceForge for storing source code, tracking " -"bug reports, and managing the queue of patch submissions. To report bugs or " -"submit patches for Python 2.0, use the bug tracking and patch manager tools " -"available from Python's project page, located at https://sourceforge.net/" -"projects/python/." +"bug reports, and managing the queue of patch submissions. To report bugs or" +" submit patches for Python 2.0, use the bug tracking and patch manager tools" +" 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 " @@ -146,8 +148,8 @@ msgid "" "Python. Previously, there were roughly 7 or so people who had write access " "to the CVS tree, and all patches had to be inspected and checked in by one " "of the people on this short list. Obviously, this wasn't very scalable. By " -"moving the CVS tree to SourceForge, it became possible to grant write access " -"to more people; as of September 2000 there were 27 people able to check in " +"moving the CVS tree to SourceForge, it became possible to grant write access" +" to more people; as of September 2000 there were 27 people able to check in " "changes, a fourfold increase. This makes possible large-scale changes that " "wouldn't be attempted if they'd have to be filtered through the small group " "of core developers. For example, one day Peter Schneider-Kamp took it into " @@ -158,8 +160,8 @@ 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 " +"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. " @@ -169,8 +171,8 @@ msgstr "" "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-" +"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, " @@ -184,8 +186,8 @@ msgid "" "increase in the speed of development. Patches now get submitted, commented " "on, revised by people other than the original submitter, and bounced back " "and forth between people until the patch is deemed worth checking in. Bugs " -"are tracked in one central location and can be assigned to a specific person " -"for fixing, and we can count the number of open bugs to measure progress. " +"are tracked in one central location and can be assigned to a specific person" +" for fixing, and we can count the number of open bugs to measure progress. " "This didn't come without a cost: developers now have more e-mail to deal " "with, more mailing lists to follow, and special tools had to be written for " "the new environment. For example, SourceForge sends default patch and bug " @@ -203,18 +205,18 @@ msgstr "" "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." +"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 " +"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 " -"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 " -"or negative slant. The most significant change from the Apache model is " +"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" +" or negative slant. The most significant change from the Apache model is " "that the voting is essentially advisory, letting Guido van Rossum, who has " "Benevolent Dictator For Life status, know what the general opinion is. He " "can still ignore the result of a vote, and approve or reject a change even " @@ -228,11 +230,11 @@ msgstr "" "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 " +"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." +"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 "" @@ -242,33 +244,34 @@ msgid "" "threads, making the discussion hard to follow, and no one can read every " "posting to python-dev. Therefore, a relatively formal process has been set " "up to write Python Enhancement Proposals (PEPs), modelled on the internet " -"RFC process. PEPs are draft documents that describe a proposed new feature, " -"and are continually revised until the community reaches a consensus, either " -"accepting or rejecting the proposal. Quoting from the introduction to :pep:" -"`1`, \"PEP Purpose and Guidelines\":" +"RFC process. PEPs are draft documents that describe a proposed new feature," +" and are continually revised until the community reaches a consensus, either" +" 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\":" +"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 "" "PEP stands for Python Enhancement Proposal. A PEP is a design document " "providing information to the Python community, or describing a new feature " -"for Python. The PEP should provide a concise technical specification of the " -"feature and a rationale for the feature." +"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 " +"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." @@ -281,26 +284,26 @@ msgid "" 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 " +"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 -#, fuzzy msgid "" "Read the rest of :pep:`1` for the details of the PEP editorial process, " "style, and format. PEPs are kept in the Python CVS tree on SourceForge, " "though they're not part of the Python 2.0 distribution, and are also " -"available in HTML form from https://peps.python.org/. As of September 2000, " -"there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " +"available in HTML form from https://peps.python.org/. As of September 2000," +" there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " "225, \"Elementwise/Objectwise Operators\"." msgstr "" -"Lea el resto de :pep:`1` para conocer los detalles del proceso editorial, el " -"estilo y el formato de 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 " +"Lea el resto de :pep:`1` para conocer los detalles del proceso editorial, el" +" estilo y el formato de PEP. Los PEP se guardan en el árbol CVS de Python en" +" SourceForge, aunque no son parte de la distribución de Python 2.0, y " "también están disponibles en formato HTML en https://peps.python.org/. A " -"partir de septiembre de 2000, hay 25 PEPS, que van desde :pep:`201`, " -"\"Iteración Lockstep\", hasta PEP 225, \"Operadores de elementos/objetos\"." +"partir de septiembre de 2000, existen 25 PEP, que van desde :pep:`201`, " +"\"Iteración en sincronía\", hasta PEP 225, \"Operadores por elementos y por " +"objetos\"." #: ../Doc/whatsnew/2.0.rst:141 msgid "Unicode" @@ -315,8 +318,8 @@ msgid "" 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." +"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 "" @@ -330,27 +333,27 @@ 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`, " +"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 -#, fuzzy msgid "" "In Python source code, Unicode strings are written as ``u\"string\"``. " -"Arbitrary Unicode characters can be written using a new escape sequence, :" -"samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number from 0000 " +"Arbitrary Unicode characters can be written using a new escape sequence, " +":samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number from 0000 " "to FFFF. The existing :samp:`\\\\x{HH}` 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``." +"En el código fuente de Python, las cadenas Unicode se escriben como " +"``u\"string\"``. Se pueden escribir caracteres Unicode arbitrarios " +"utilizando una nueva secuencia de escape, :samp:`\\\\u{HHHH}`, donde *HHHH* " +"es un número hexadecimal de 4 dígitos de 0000 a FFFF. También se puede " +"utilizar la secuencia de escape existente :samp:`\\\\x{HH}`, y se pueden " +"utilizar escapes octales para caracteres hasta U+01FF, que se representa " +"mediante ``\\777``." #: ../Doc/whatsnew/2.0.rst:161 msgid "" @@ -362,15 +365,15 @@ msgid "" "implementing and registering new encodings that are then available " "throughout a Python program. If an encoding isn't specified, the default " "encoding is usually 7-bit ASCII, though it can be changed for your Python " -"installation by calling the ``sys.setdefaultencoding(encoding)`` function in " -"a customized version of :file:`site.py`." +"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 " +"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 " @@ -383,8 +386,8 @@ msgid "" "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'``." +"Unicode, utilizando la codificación ASCII por defecto; el resultado de ``'a'" +" + u'bc'`` es ``u'abc'``." #: ../Doc/whatsnew/2.0.rst:175 msgid "" @@ -407,8 +410,8 @@ 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." +"``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 "" @@ -424,73 +427,74 @@ msgstr "" "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 " +"``'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 "" "The ``exec`` statement, and various built-ins such as ``eval()``, " -"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as " -"regular strings. (It's possible that the process of fixing this missed some " -"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.)" +"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as" +" regular strings. (It's possible that the process of fixing this missed " +"some 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)" +"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 "" -"A new module, :mod:`unicodedata`, provides an interface to Unicode character " -"properties. For example, ``unicodedata.category(u'A')`` returns the 2-" -"character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that " -"it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', " -"meaning that U+0660 is an Arabic number." +"A new module, :mod:`unicodedata`, provides an interface to Unicode character" +" properties. For example, ``unicodedata.category(u'A')`` returns the " +"2-character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning " +"that 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." +"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 "" "The :mod:`codecs` module contains functions to look up existing encodings " "and register new ones. Unless you want to implement a new encoding, you'll " -"most often use the ``codecs.lookup(encoding)`` function, which returns a 4-" -"element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``." +"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)``." +"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 "" -"*encode_func* is a function that takes a Unicode string, and returns a 2-" -"tuple ``(string, length)``. *string* is an 8-bit string containing a " +"*encode_func* is a function that takes a Unicode string, and returns a " +"2-tuple ``(string, length)``. *string* is an 8-bit string containing a " "portion (perhaps all) of the Unicode string converted into the given " "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." +"*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 "" "*decode_func* is the opposite of *encode_func*, taking an 8-bit string and " "returning a 2-tuple ``(ustring, length)``, consisting of the resulting " -"Unicode string *ustring* and the integer *length* telling how much of the 8-" -"bit string was consumed." +"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 " @@ -498,30 +502,29 @@ msgstr "" "cadena de 8 bits se consumió." #: ../Doc/whatsnew/2.0.rst:219 -#, fuzzy msgid "" "*stream_reader* is a class that supports decoding input from a stream. " -"*stream_reader(file_obj)* returns an object that supports the :meth:`!" -"read`, :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." +"*stream_reader(file_obj)* returns an object that supports the :meth:`!read`," +" :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 admite la decodificación de la entrada de " +"un flujo. *stream_reader(file_obj)* devuelve un objeto que admite los " +"métodos :meth:`!read`, :meth:`!readline` y :meth:`!readlines`. Todos estos " +"métodos traducirán a partir de la codificación dada y devolverán cadenas " +"Unicode." #: ../Doc/whatsnew/2.0.rst:224 -#, fuzzy msgid "" "*stream_writer*, similarly, is a class that supports encoding output to a " -"stream. *stream_writer(file_obj)* returns an object that supports the :meth:" -"`!write` and :meth:`!writelines` methods. These methods expect Unicode " -"strings, translating them to the given encoding on output." +"stream. *stream_writer(file_obj)* returns an object that supports the " +":meth:`!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." +"De manera similar, *stream_writer* es una clase que admite la codificación " +"de la salida en una secuencia. *stream_writer(file_obj)* devuelve un objeto " +"que admite los métodos :meth:`!write` y :meth:`!writelines`. Estos métodos " +"esperan cadenas Unicode y las traducen a la codificación dada en la salida." #: ../Doc/whatsnew/2.0.rst:229 msgid "" @@ -544,6 +547,16 @@ msgid "" "output.write( unistr )\n" "output.close()" msgstr "" +"importar códecs\n" +"\n" +"unistr = u'\\u0660\\u2000ab ...'\n" +"\n" +"(UTF8_encode, UTF8_decode,\n" +"UTF8_streamreader, UTF8_streamwriter) = codecs.lookup('UTF-8')\n" +"\n" +"salida = UTF8_streamwriter( open( '/tmp/output', 'wb') )\n" +"salida.write( unistr )\n" +"salida.close()" #: ../Doc/whatsnew/2.0.rst:243 msgid "The following code would then read UTF-8 input from the file::" @@ -555,6 +568,9 @@ msgid "" "print repr(input.read())\n" "input.close()" msgstr "" +"entrada = UTF8_streamreader( abrir( '/tmp/salida', 'rb') )\n" +"imprimir repr(entrada.leer())\n" +"entrada.cerrar()" #: ../Doc/whatsnew/2.0.rst:249 msgid "" @@ -562,23 +578,23 @@ 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." +"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 "" "A ``-U`` command line option was added which causes the Python compiler to " "interpret all string literals as Unicode string literals. This is intended " "to be used in testing and future-proofing your Python code, since some " -"future version of Python may drop support for 8-bit strings and provide only " -"Unicode strings." +"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 " +"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 @@ -597,8 +613,8 @@ 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 " +"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 @@ -607,10 +623,10 @@ msgid "" "purpose, but they require a function as one of their arguments. This is " "fine if there's an existing built-in function that can be passed directly, " "but if there isn't, you have to create a little function to do the required " -"work, and Python's scoping rules make the result ugly if the little function " -"needs additional information. Take the first example in the previous " -"paragraph, finding all the strings in the list containing a given " -"substring. You could write the following to do it::" +"work, and Python's scoping rules make the result ugly if the little function" +" needs additional information. Take the first example in the previous " +"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 " @@ -629,6 +645,11 @@ msgid "" " string.find(s, substring) != -1,\n" " L)" msgstr "" +"# Dada la lista L, crea una lista de todas las cadenas\n" +"# que contienen la subcadena S.\n" +"sublist = filter( lambda s, substring=S:\n" +"string.find(s, substring) != -1,\n" +"L)" #: ../Doc/whatsnew/2.0.rst:286 msgid "" @@ -636,14 +657,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 " +"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:290 msgid "sublist = [ s for s in L if string.find(s, S) != -1 ]" -msgstr "" +msgstr "sublista = [ s para s en L si cadena.find(s, S) != -1 ]" #: ../Doc/whatsnew/2.0.rst:292 msgid "List comprehensions have the form::" @@ -656,6 +677,10 @@ msgid "" " for exprN in sequenceN\n" " if condition ]" msgstr "" +"[ expresión para expr en secuencia1\n" +"para expr2 en secuencia2 ...\n" +"para exprN en secuenciaN\n" +"si condición ]" #: ../Doc/whatsnew/2.0.rst:299 msgid "" @@ -663,17 +688,17 @@ msgid "" "iterated over. The sequences do not have to be the same length, because " "they are *not* iterated over in parallel, but from left to right; this is " "explained more clearly in the following paragraphs. The elements of the " -"generated list will be the successive values of *expression*. The final :" -"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." +"generated list will be the successive values of *expression*. The final " +":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 "" @@ -694,6 +719,14 @@ msgid "" " # the expression to the\n" " # resulting list." msgstr "" +"para expr1 en secuencia1:\n" +"para expr2 en secuencia2:\n" +"...\n" +"para exprN en secuenciaN:\n" +"if (condición):\n" +"# Agrega el valor de\n" +"# la expresión a la\n" +"# lista resultante." #: ../Doc/whatsnew/2.0.rst:319 msgid "" @@ -702,9 +735,9 @@ 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 " +"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:324 @@ -715,6 +748,11 @@ msgid "" "[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1),\n" "('c', 2), ('c', 3)]" msgstr "" +"seq1 = 'abc'\n" +"seq2 = (1,2,3)\n" +">>> [ (x,y) para x en seq1 para y en seq2]\n" +"[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1),\n" +"('c', 2), ('c', 3)]" #: ../Doc/whatsnew/2.0.rst:330 msgid "" @@ -734,6 +772,10 @@ msgid "" "# Correct\n" "[ (x,y) for x in seq1 for y in seq2]" msgstr "" +"# Error de sintaxis\n" +"[ x,y para x en seq1 para y en seq2]\n" +"# Correcto\n" +"[ (x,y) para x en seq1 para y en seq2]" #: ../Doc/whatsnew/2.0.rst:339 msgid "" @@ -743,11 +785,11 @@ 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 " +"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 @@ -757,10 +799,10 @@ msgstr "Asignación aumentada" #: ../Doc/whatsnew/2.0.rst:351 msgid "" "Augmented assignment operators, another long-requested feature, have been " -"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``, " -"``*=``, and so forth. For example, the statement ``a += 2`` increments the " -"value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a " -"= a + 2``." +"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``," +" ``*=``, and so forth. For example, the statement ``a += 2`` increments the" +" 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 " @@ -769,7 +811,6 @@ msgstr "" "la sentencia algo más larga ``a = a + 2``." #: ../Doc/whatsnew/2.0.rst:356 -#, fuzzy msgid "" "The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, " "``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. " @@ -778,12 +819,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 ``<=``. " +"La lista completa de operadores de asignación admitidos 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." +"definiendo métodos denominados :meth:`!__iadd__`, :meth:`!__isub__`, etc. " +"Por ejemplo, la siguiente clase :class:`!Number` almacena un número y admite" +" el uso de += para crear una nueva instancia con un valor incrementado." #: ../Doc/whatsnew/2.0.rst:367 msgid "" @@ -797,19 +838,27 @@ msgid "" "n += 3\n" "print n.value" msgstr "" +"clase Número:\n" +"def __init__(self, valor):\n" +"self.valor = valor\n" +"def __iadd__(self, incremento):\n" +"return Número( self.valor + incremento)\n" +"\n" +"n = Número(5)\n" +"n += 3\n" +"print n.valor" #: ../Doc/whatsnew/2.0.rst:377 -#, fuzzy msgid "" "The :meth:`!__iadd__` special method is called with the value of the " "increment, and should return a new instance with an appropriately modified " "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." +"El método especial :meth:`!__iadd__` se llama con el valor del incremento y " +"debe devolver una nueva instancia con un valor modificado apropiadamente; " +"este valor de retorno está vinculado como el nuevo valor de la variable en " +"el lado izquierdo." #: ../Doc/whatsnew/2.0.rst:381 msgid "" @@ -818,8 +867,8 @@ 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, " +"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." @@ -828,23 +877,22 @@ msgid "String Methods" msgstr "Métodos de cadena de caracteres" #: ../Doc/whatsnew/2.0.rst:392 -#, fuzzy msgid "" -"Until now string-manipulation functionality was in the :mod:`string` module, " -"which was usually a front-end for the :mod:`!strop` module written in C. " +"Until now string-manipulation functionality was in the :mod:`string` module," +" which was usually a front-end for the :mod:`!strop` module written in C. " "The addition of Unicode posed a difficulty for the :mod:`!strop` module, " "because the functions would all need to be rewritten in order to accept " -"either 8-bit or Unicode strings. For functions such as :func:`!string." -"replace`, which 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." +"either 8-bit or Unicode strings. For functions such as " +":func:`!string.replace`, which takes 3 string arguments, that means eight " +"possible permutations, and correspondingly complicated code." +msgstr "" +"Hasta ahora, la funcionalidad de manipulación de cadenas estaba en el módulo" +" :mod:`string`, que normalmente era una interfaz para el módulo " +":mod:`!strop` escrito en C. La incorporación de Unicode planteó una " +"dificultad para el módulo :mod:`!strop`, porque todas las funciones debían " +"reescribirse para aceptar cadenas de 8 bits o Unicode. Para funciones como " +":func:`!string.replace`, que acepta 3 cadenas como argumentos, eso significa" +" ocho permutaciones posibles y, en consecuencia, un código complicado." #: ../Doc/whatsnew/2.0.rst:400 msgid "" @@ -865,6 +913,12 @@ msgid "" ">>> 'moshe'.find('sh')\n" "2" msgstr "" +">>> 'andrew'.capitalize()\n" +"'Andrew'\n" +">>> 'nombredelhost'.replace('os', 'linux')\n" +"'hlinuxtname'\n" +">>> 'moshe'.find('sh')\n" +"2" #: ../Doc/whatsnew/2.0.rst:411 msgid "" @@ -873,8 +927,8 @@ 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 " +"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 @@ -887,32 +941,30 @@ msgstr "" "de cadena de caracteres." #: ../Doc/whatsnew/2.0.rst:418 -#, fuzzy msgid "" "Two methods which have no parallel in pre-2.0 versions, although they did " -"exist in JPython for quite some time, are :meth:`!startswith` and :meth:`!" -"endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " -"``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." +"exist in JPython for quite some time, are :meth:`!startswith` and " +":meth:`!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``." +"Dos métodos que no tienen paralelo en 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 -#, fuzzy msgid "" -"One other method which deserves special mention is :meth:`!join`. The :meth:" -"`!join` method of a string receives one parameter, a sequence of strings, " -"and is equivalent to the :func:`!string.join` function from the old :mod:" -"`string` module, with the arguments reversed. In other words, ``s." -"join(seq)`` is equivalent to the old ``string.join(seq, s)``." +"One other method which deserves special mention is :meth:`!join`. The " +":meth:`!join` method of a string receives one parameter, a sequence of " +"strings, and is equivalent to the :func:`!string.join` function from the old" +" :mod:`string` 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)``." +"Otro método que merece una mención especial es el :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, el " +"``s.join(seq)`` es equivalente al antiguo ``string.join(seq, s)``." #: ../Doc/whatsnew/2.0.rst:433 msgid "Garbage Collection of Cycles" @@ -932,21 +984,21 @@ msgstr "" "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." +"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 "" -"Reference counting has some pleasant properties: it's easy to understand and " -"implement, and the resulting implementation is portable, fairly fast, and " +"Reference counting has some pleasant properties: it's easy to understand and" +" implement, and the resulting implementation is portable, fairly fast, and " "reacts well with other libraries that implement their own memory handling " "schemes. The major problem with reference counting is that it sometimes " -"doesn't realise that objects are no longer accessible, resulting in a memory " -"leak. This happens when there are cycles of references." +"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 " +"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 " @@ -965,12 +1017,14 @@ msgid "" "instance = SomeClass()\n" "instance.myself = instance" msgstr "" +"instancia = SomeClass()\n" +"instancia.myself = instancia" #: ../Doc/whatsnew/2.0.rst:455 msgid "" -"After the above two lines of code have been executed, the reference count of " -"``instance`` is 2; one reference is from the variable named ``'instance'``, " -"and the other is from the ``myself`` attribute of the instance." +"After the above two lines of code have been executed, the reference count of" +" ``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 " @@ -980,16 +1034,16 @@ msgstr "" msgid "" "If the next line of code is ``del instance``, what happens? The reference " "count of ``instance`` is decreased by 1, so it has a reference count of 1; " -"the reference in the ``myself`` attribute still exists. Yet the instance is " -"no longer accessible through Python code, and it could be deleted. Several " -"objects can participate in a cycle if they have references to each other, " +"the reference in the ``myself`` attribute still exists. Yet the instance is" +" no longer accessible through Python code, and it could be deleted. Several" +" 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 " +"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 " +"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." @@ -1001,8 +1055,8 @@ 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 " +"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." @@ -1011,9 +1065,9 @@ msgstr "" msgid "" "Running the cycle detection algorithm takes some time, and therefore will " "result in some additional overhead. It is hoped that after we've gotten " -"experience with the cycle collection from using 2.0, Python 2.1 will be able " -"to minimize the overhead with careful tuning. It's not yet obvious how much " -"performance is lost, because benchmarking this is tricky and depends " +"experience with the cycle collection from using 2.0, Python 2.1 will be able" +" to minimize the overhead with careful tuning. It's not yet obvious how " +"much performance is lost, because benchmarking this is tricky and depends " "crucially on how often the program creates and destroys objects. The " "detection of cycles can be disabled when Python is compiled, if you can't " "afford even a tiny speed penalty or suspect that the cycle collection is " @@ -1034,20 +1088,20 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:482 msgid "" -"Several people tackled this problem and contributed to a solution. An early " -"implementation of the cycle detection approach was written by Toby Kelsey. " -"The current algorithm was suggested by Eric Tiedemann during a visit to " +"Several people tackled this problem and contributed to a solution. An early" +" implementation of the cycle detection approach was written by Toby Kelsey." +" The current algorithm was suggested by Eric Tiedemann during a visit to " "CNRI, and Guido van Rossum and Neil Schemenauer wrote two different " "implementations, which were later integrated by Neil. Lots of other people " -"offered suggestions along the way; the March 2000 archives of the python-dev " -"mailing list contain most of the relevant discussion, especially in the " +"offered suggestions along the way; the March 2000 archives of the python-dev" +" mailing list contain most of the relevant discussion, especially in the " "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 " +"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 " @@ -1074,7 +1128,6 @@ msgid "Minor Language Changes" msgstr "Cambios menores del lenguaje" #: ../Doc/whatsnew/2.0.rst:504 -#, fuzzy msgid "" "A new syntax makes it more convenient to call a given function with a tuple " "of arguments and/or a dictionary of keyword arguments. In Python 1.5 and " @@ -1082,18 +1135,18 @@ msgid "" "kw)`` calls the function :func:`!f` with the argument tuple *args* and the " "keyword arguments in the dictionary *kw*. :func:`!apply` is the same in " "2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " -"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::" +"and clearer way to achieve the same effect. This syntax is symmetrical with" +" the syntax for defining functions::" +msgstr "" +"Una nueva sintaxis hace que sea 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 usaba 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 " +"lograr el mismo efecto. Esta sintaxis es simétrica con la sintaxis para " +"definir funciones:" #: ../Doc/whatsnew/2.0.rst:513 msgid "" @@ -1102,35 +1155,38 @@ msgid "" " # kw is a dictionary of keyword args\n" " ..." msgstr "" +"def f(*args, **kw):\n" +"# args es una tupla de argumentos posicionales,\n" +"# kw es un diccionario de argumentos de palabras clave\n" +"..." #: ../Doc/whatsnew/2.0.rst:518 -#, fuzzy msgid "" "The ``print`` statement can now have its output directed to a file-like " "object by following the ``print`` with ``>> file``, similar to the " -"redirection operator in Unix shells. Previously you'd either have to use " -"the :meth:`!write` method of the file-like object, which lacks the " -"convenience and simplicity of ``print``, or you could assign a new value to " +"redirection operator in Unix shells. Previously you'd either have to use the" +" :meth:`!write` method of the file-like object, which lacks the convenience " +"and simplicity of ``print``, or you could assign a new value to " "``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::" +"Ahora, la salida de la sentencia ``print`` puede dirigirse a un objeto " +"similar a un archivo si se sigue ``print`` con ``>> file``, de forma similar" +" al operador de redirección de los shells de Unix. Antes, se tenía que " +"utilizar el método :meth:`!write` del objeto similar a un archivo, que " +"carece de la comodidad y la simplicidad de ``print``, o se podía 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:526 msgid "print >> sys.stderr, \"Warning: action field not supplied\"" -msgstr "" +msgstr "imprimir >> sys.stderr, \"Advertencia: campo de acción no suministrado\"" #: ../Doc/whatsnew/2.0.rst:528 msgid "" "Modules can now be renamed on importing them, using the syntax ``import " -"module as name`` or ``from module import name as othername``. The patch was " -"submitted by Thomas Wouters." +"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 " @@ -1153,7 +1209,6 @@ msgstr "" "``'abc' abc``." #: ../Doc/whatsnew/2.0.rst:538 -#, fuzzy msgid "" "Previously there was no way to implement a class that overrode Python's " "built-in :keyword:`in` operator and implemented a custom version. ``obj in " @@ -1165,31 +1220,31 @@ 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." +"Anteriormente no había forma de implementar una clase que anulara el " +"operador :keyword:`in` incorporado de Python e implementara una versión " +"personalizada. ``obj in seq`` devuelve verdadero si *obj* está presente en " +"la secuencia *seq*; Python calcula esto simplemente probando cada índice de " +"la secuencia hasta que se encuentre *obj* o :exc:`IndexError`. Moshe Zadka " +"contribuyó con un parche que agrega 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 "" "Earlier versions of Python used a recursive algorithm for deleting objects. " "Deeply nested data structures could cause the interpreter to fill up the C " "stack and crash; Christian Tismer rewrote the deletion logic to fix this " -"problem. On a related note, comparing recursive objects recursed infinitely " -"and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a " -"useful result instead. For example, after this code::" +"problem. On a related note, comparing recursive objects recursed infinitely" +" 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; " +"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::" @@ -1200,37 +1255,40 @@ msgid "" "a.append(a)\n" "b.append(b)" msgstr "" +"a = []\n" +"b = []\n" +"a.append(a)\n" +"b.append(b)" #: ../Doc/whatsnew/2.0.rst:559 -#, fuzzy msgid "" "The comparison ``a==b`` returns true, because the two recursive data " -"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April " -"2000 archives of the python-dev mailing list for the discussion leading up " +"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April" +" 2000 archives of the python-dev mailing list for the discussion leading up " "to this implementation, and some useful relevant links. Note that " "comparisons can now also raise exceptions. In earlier versions of Python, a " "comparison operation such as ``cmp(a,b)`` would always produce an answer, " "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 " +"La comparación ``a==b`` devuelve verdadero, porque las dos estructuras de " +"datos recursivas son isomorfas. Consulte el hilo \"trashcan y PR#7\" en los " +"archivos de abril de 2000 de la lista de correo python-dev para ver 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." +"excepciones. En versiones anteriores de Python, una operación de comparación" +" como ``cmp(a,b)`` siempre produciría una respuesta, incluso si un método " +":meth:`!__cmp__` definido por el usuario encontrara un error, ya que la " +"excepción resultante simplemente se tragaría silenciosamente." #: ../Doc/whatsnew/2.0.rst:571 msgid "" "Work has been done on porting Python to 64-bit Windows on the Itanium " -"processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys." -"platform`` is still ``'win32'`` on Win64 because it seems that for ease of " -"porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also " -"supports Windows CE; see the Python CE page at https://pythonce.sourceforge." -"net/ for more information." +"processor, mostly by Trent Mick of ActiveState. (Confusingly, " +"``sys.platform`` is still ``'win32'`` on Win64 because it seems that for " +"ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin " +"also supports Windows CE; see the Python CE page at " +"https://pythonce.sourceforge.net/ for more information." msgstr "" "Se ha trabajado en la migración de Python a Windows de 64 bits en el " "procesador Itanium, principalmente por Trent Mick de ActiveState. " @@ -1248,8 +1306,8 @@ msgid "" "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 " +"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 @@ -1258,20 +1316,20 @@ msgid "" "confusing :exc:`NameError` exception when code refers to a local variable " "before the variable has been assigned a value. For example, the following " "code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " -"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new :exc:" -"`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass of :" -"exc:`NameError`, so any existing code that expects :exc:`NameError` to be " -"raised should still work. ::" +"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new " +":exc:`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass " +"of :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. ::" +"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:590 msgid "" @@ -1280,6 +1338,10 @@ msgid "" " i = i + 1\n" "f()" msgstr "" +"def f():\n" +"imprimir \"i=\",i\n" +"i = i + 1\n" +"f()" #: ../Doc/whatsnew/2.0.rst:595 msgid "" @@ -1287,9 +1349,9 @@ 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." +"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" @@ -1305,57 +1367,56 @@ msgid "" "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." +"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 -#, fuzzy msgid "" "The :func:`int` and :func:`!long` functions now accept an optional \"base\" " "parameter when the first argument is a string. ``int('123', 10)`` returns " -"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a :exc:" -"`TypeError` exception with the message \"can't convert non-string with " +"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a " +":exc:`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\"." +"Las funciones :func:`int` y :func:`!long` ahora aceptan un parámetro " +"\"base\" opcional cuando el primer argumento es una cadena. ``int('123', " +"10)`` devuelve 123, mientras que ``int('123', 16)`` devuelve 291. ``int(123," +" 16)`` genera una excepción :exc:`TypeError` con el mensaje \"no se puede " +"convertir una cadena con una base explícita\"." #: ../Doc/whatsnew/2.0.rst:616 msgid "" "A new variable holding more detailed version information has been added to " "the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " -"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, ``sys." -"version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string such " -"as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." +"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, " +"``sys.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." +"*level* es una cadena como ``\"alpha\"``, ``\"beta\"``, o ``\"final\"`` para" +" una versión final." #: ../Doc/whatsnew/2.0.rst:622 -#, fuzzy msgid "" "Dictionaries have an odd new method, ``setdefault(key, default)``, which " "behaves similarly to the existing :meth:`!get` method. However, if the key " -"is missing, :meth:`!setdefault` both returns the value of *default* as :meth:" -"`!get` would do, and also inserts it into the dictionary as the value for " -"*key*. Thus, the following lines of code::" +"is missing, :meth:`!setdefault` both returns the value of *default* as " +":meth:`!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::" +"Los diccionarios tienen un nuevo método extraño, ``setdefault(key, " +"default)``, que se comporta de manera similar al método :meth:`!get` " +"existente. Sin embargo, si falta la clave, :meth:`!setdefault` devuelve el " +"valor de *default* como lo haría :meth:`!get` y también lo inserta en el " +"diccionario como el valor de *key*. Por lo tanto, las siguientes líneas de " +"código:" #: ../Doc/whatsnew/2.0.rst:628 msgid "" @@ -1364,6 +1425,10 @@ msgid "" " dict[key] = []\n" " return dict[key]" msgstr "" +"si dict.has_key( key ): devuelve dict[key]\n" +"de lo contrario:\n" +"dict[key] = []\n" +"devuelve dict[key]" #: ../Doc/whatsnew/2.0.rst:633 msgid "" @@ -1376,19 +1441,19 @@ msgid "" "The interpreter sets a maximum recursion depth in order to catch runaway " "recursion before filling the C stack and causing a core dump or GPF.. " "Previously this limit was fixed when you compiled Python, but in 2.0 the " -"maximum recursion depth can be read and modified using :func:`sys." -"getrecursionlimit` and :func:`sys.setrecursionlimit`. The default value is " -"1000, and a rough maximum value for a given platform can be found by running " -"a new script, :file:`Misc/find_recursionlimit.py`." +"maximum recursion depth can be read and modified using " +":func:`sys.getrecursionlimit` and :func:`sys.setrecursionlimit`. The default" +" value is 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`." +"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" @@ -1398,21 +1463,20 @@ msgstr "Adaptación a la versión 2.0" msgid "" "New Python releases try hard to be compatible with previous releases, and " "the record has been pretty good. However, some changes are considered " -"useful enough, usually because they fix initial design decisions that turned " -"out to be actively mistaken, that breaking backward compatibility can't " +"useful enough, usually because they fix initial design decisions that turned" +" out to be actively mistaken, that breaking backward compatibility can't " "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 " +"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 -#, fuzzy msgid "" "The change which will probably break the most code is tightening up the " "arguments accepted by some methods. Some methods would take multiple " @@ -1420,23 +1484,22 @@ msgid "" "as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " "``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " "list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " -"with the message: 'append requires exactly 1 argument; 2 given'. The fix is " -"to simply add an extra set of parentheses to pass both values as a tuple: " +"with the message: 'append requires exactly 1 argument; 2 given'. The fix is" +" 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: " +"El cambio que probablemente romperá la mayor parte del código es el ajuste " +"de los argumentos aceptados por algunos métodos. Algunos métodos tomarían " +"múltiples argumentos y los tratarían 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 )`` agrega la " +"tupla ``(1,2)`` a la lista. En Python 2.0 esto hace que se genere una " +"excepción :exc:`TypeError`, con el mensaje: 'append requiere exactamente 1 " +"argumento; se proporcionaron 2'. La solución es simplemente agregar un " +"conjunto adicional de paréntesis para pasar ambos valores como una tupla: " "``L.append( (1,2) )``." #: ../Doc/whatsnew/2.0.rst:665 -#, fuzzy msgid "" "The earlier versions of these methods were more forgiving because they used " "an old function in Python's C interface to parse their arguments; 2.0 " @@ -1444,46 +1507,48 @@ msgid "" "parsing function, which provides more helpful error messages and treats " "multi-argument calls as errors. If you absolutely must use 2.0 but can't " "fix your code, you can edit :file:`Objects/listobject.c` and define the " -"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; " -"this isn't recommended." +"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." +"utilizaban una función antigua en la interfaz C de Python para analizar sus " +"argumentos; la versión 2.0 los moderniza para utilizar " +":c:func:`PyArg_ParseTuple`, la función de análisis de argumentos actual, que" +" proporciona mensajes de error más útiles y trata las llamadas de múltiples " +"argumentos como errores. Si es absolutamente necesario utilizar la versión " +"2.0 pero no puede corregir su código, puede editar " +":file:`Objects/listobject.c` y definir el símbolo de preprocesador " +"``NO_STRICT_LIST_APPEND`` para preservar el comportamiento anterior; esto no" +" se recomienda." #: ../Doc/whatsnew/2.0.rst:673 -#, fuzzy msgid "" "Some of the functions in the :mod:`socket` module are still forgiving in " "this way. For example, ``socket.connect( ('hostname', 25) )`` is the " -"correct form, passing a tuple representing an IP address, but ``socket." -"connect('hostname', 25)`` also works. :meth:`socket.connect_ex ` and :meth:`socket.bind ` are " -"similarly easy-going. 2.0alpha1 tightened these functions up, but because " +"correct form, passing a tuple representing an IP address, but " +"``socket.connect('hostname', 25)`` also works. :meth:`socket.connect_ex " +"` and :meth:`socket.bind ` are" +" similarly easy-going. 2.0alpha1 tightened these functions up, but because " "the documentation actually used the erroneous multiple argument form, many " "people wrote code which would break with the stricter checking. GvR backed " "out the changes in the face of public reaction, so for the :mod:`socket` " -"module, the documentation was fixed and the multiple argument form is simply " -"marked as deprecated; it *will* be tightened up again in a future Python " +"module, the documentation was fixed and the multiple 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." +"en este sentido. Por ejemplo, ``socket.connect( ('hostname', 25) )`` es la " +"forma correcta, ya que pasa una tupla que representa una dirección IP, pero " +"``socket.connect('hostname', 25)`` también funciona. " +":meth:`socket.connect_ex ` y :meth:`socket.bind " +"` son igualmente fáciles de usar. 2.0alpha1 restringió " +"estas funciones, pero debido a que la documentación en realidad usaba la " +"forma de argumentos múltiples errónea, muchas personas escribieron código " +"que rompería con la verificación más estricta. GvR retiró los cambios ante " +"la reacción del público, por lo que para el módulo :mod:`socket`, la " +"documentación se corrigió y la forma de argumentos múltiples simplemente se " +"marcó como obsoleta; *will* se ajustará nuevamente en una futura versión de " +"Python." #: ../Doc/whatsnew/2.0.rst:684 msgid "" @@ -1501,9 +1566,9 @@ msgstr "" msgid "" "The :exc:`AttributeError` and :exc:`NameError` exceptions have a more " "friendly error message, whose text will be something like ``'Spam' instance " -"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the " -"error message was just the missing attribute name ``eggs``, and code written " -"to take advantage of this fact will break in 2.0." +"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the" +" 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 " @@ -1512,14 +1577,14 @@ msgstr "" "y el código escrito para aprovechar este hecho se romperá en la versión 2.0." #: ../Doc/whatsnew/2.0.rst:694 -#, fuzzy, python-format +#, python-format msgid "" "Some work has been done to make integers and long integers a bit more " "interchangeable. In 1.5.2, large-file support was added for Solaris, to " -"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of " -"file objects return a long integer instead of a regular integer. Some code " -"would subtract two file offsets and attempt to use the result to multiply a " -"sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " +"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of" +" file objects return a long integer instead of a regular integer. Some code" +" would subtract two file offsets and attempt to use the result to multiply a" +" sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " "long integers can be used to multiply or slice a sequence, and it'll behave " "as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " "``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " @@ -1528,20 +1593,20 @@ msgid "" "the ``%`` 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\" % " +"Se ha trabajado un poco para que los números enteros y los números enteros " +"largos sean un poco más intercambiables. En 1.5.2, se agregó soporte para " +"archivos grandes para Solaris, para permitir la lectura de archivos mayores " +"a 2 GiB; esto hizo que el método :meth:`!tell` de objetos de archivo " +"devolviera un número entero largo en lugar de un número entero regular. " +"Algunos códigos restaban dos desplazamientos de archivo e intentaban usar el" +" resultado para multiplicar una secuencia o cortar una cadena, pero esto " +"generaba un :exc:`TypeError`. En 2.0, los números enteros largos se pueden " +"usar para multiplicar o cortar una secuencia, y se comportará como esperaría" +" intuitivamente; ``3L * 'abc'`` produce 'abcabcabc' y ``(0,1,2,3)[2L:4L]`` " +"produce (2,3). Los números enteros largos también se pueden usar en varios " +"contextos donde anteriormente solo se aceptaban números enteros, como en el " +"método :meth:`!seek` de objetos de archivo y en los formatos admitidos por " +"el operador ``%`` (``%d``, ``%i``, ``%x``, etc.). Por ejemplo, ``\"%d\" % " "2L**64`` producirá la cadena ``18446744073709551616``." #: ../Doc/whatsnew/2.0.rst:708 @@ -1550,40 +1615,39 @@ msgid "" "integer no longer has a trailing 'L' character, though :func:`repr` still " "includes it. The 'L' annoyed many people who wanted to print long integers " "that looked just like regular integers, since they had to go out of their " -"way to chop off the character. This is no longer a problem in 2.0, but code " -"which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose " -"the final digit." +"way to chop off the character. This is no longer a problem in 2.0, but code" +" 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 " +"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 " +"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 -#, fuzzy, python-format -msgid "" -"Taking the :func:`repr` of a float now uses a different formatting precision " -"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:`!" -"sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is that :" -"func:`repr` may occasionally show more decimal places than :func:`str`, for " -"certain numbers. For example, the number 8.1 can't be represented exactly " -"in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is " +#, python-format +msgid "" +"Taking the :func:`repr` of a float now uses a different formatting precision" +" than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's " +":func:`!sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is" +" that :func:`repr` may occasionally show more decimal places than " +":func:`str`, for certain numbers. For example, the number 8.1 can't be " +"represented exactly in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``," +" while str(8.1) is ``'8.1'``." +msgstr "" +"Ahora, al tomar el :func:`repr` de un float, se utiliza una precisión de " +"formato diferente a la de :func:`str`. :func:`repr` utiliza la cadena de " +"formato ``%.17g`` para :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 se puede representar exactamente en binario, por " +"lo que ``repr(8.1)`` es ``'8.0999999999999996'``, mientras que str(8.1) es " "``'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 -#, fuzzy msgid "" "The ``-X`` command-line option, which turned all standard exceptions into " "strings instead of classes, has been removed; the standard exceptions will " @@ -1591,10 +1655,10 @@ msgid "" "standard 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 " +"Se ha eliminado la opción de línea de comandos ``-X``, que convertía todas " +"las excepciones estándar en cadenas en lugar de clases; ahora las " +"excepciones estándar siempre serán clases. El módulo :mod:`!exceptions` que " +"contiene las excepciones estándar se tradujo de Python a un módulo C " "integrado, escrito por Barry Warsaw y Fredrik Lundh." #: ../Doc/whatsnew/2.0.rst:740 @@ -1610,31 +1674,31 @@ msgid "" 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." +"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 "" "The version number of the Python C API was incremented, so C extensions " "compiled for 1.5.2 must be recompiled in order to work with 2.0. On " "Windows, it's not possible for Python 2.0 to import a third party extension " -"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an " -"exception and the import will fail." +"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á." +"las DLL de Windows, por lo que Python lanzará una excepción y la importación" +" fallará." #: ../Doc/whatsnew/2.0.rst:753 msgid "" -"Users of Jim Fulton's ExtensionClass module will be pleased to find out that " -"hooks have been added so that ExtensionClasses are now supported by :func:" -"`isinstance` and :func:`issubclass`. This means you no longer have to " -"remember to write code such as ``if type(obj) == myExtensionClass``, but can " -"use the more natural ``if isinstance(obj, myExtensionClass)``." +"Users of Jim Fulton's ExtensionClass module will be pleased to find out that" +" hooks have been added so that ExtensionClasses are now supported by " +":func:`isinstance` and :func:`issubclass`. This means you no longer have to " +"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 " @@ -1647,38 +1711,37 @@ msgstr "" msgid "" "The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support " "dynamic loading on many different platforms, was cleaned up and reorganised " -"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific " -"code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " +"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific" +" code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " "Another cleanup: there were also a number of :file:`my\\*.h` files in the " "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 " +"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`." +"hacks de portabilidad; se han fusionado en un único archivo, " +":file:`Include/pyport.h`." #: ../Doc/whatsnew/2.0.rst:767 -#, fuzzy msgid "" "Vladimir Marangozov's long-awaited malloc restructuring was completed, to " "make it easy to have the Python interpreter use a custom allocator instead " -"of C's standard :c:func:`malloc`. For documentation, read the comments in :" -"file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " +"of C's standard :c:func:`malloc`. For documentation, read the comments in " +":file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " "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." +"La esperada reestructuración de malloc de Vladimir Marangozov se completó " +"para facilitar que el intérprete de Python use un asignador personalizado en" +" lugar del :c:func:`malloc` estándar de C. Para consultar la documentación, " +"lea los comentarios en :file:`Include/pymem.h` y :file:`Include/objimpl.h`. " +"Para consultar las extensas 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 "" @@ -1695,11 +1758,11 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:779 msgid "" "Threading support on Windows was enhanced, too. Windows supports thread " -"locks that use kernel objects only in case of contention; in the common case " -"when there's no contention, they use simpler functions which are an order of " -"magnitude faster. A threaded version of Python 1.5.2 on NT is twice as slow " -"as an unthreaded version; with the 2.0 changes, the difference is only 10%. " -"These improvements were contributed by Yakov Markovitch." +"locks that use kernel objects only in case of contention; in the common case" +" when there's no contention, they use simpler functions which are an order " +"of magnitude faster. A threaded version of Python 1.5.2 on NT is twice as " +"slow 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 " @@ -1711,9 +1774,9 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:786 msgid "" -"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now " -"requires an ANSI C compiler, and can no longer be done using a compiler that " -"only supports K&R C." +"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now" +" 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 " @@ -1722,47 +1785,46 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:790 msgid "" "Previously the Python virtual machine used 16-bit numbers in its bytecode, " -"limiting the size of source files. In particular, this affected the maximum " -"size of literal lists and dictionaries in Python source; occasionally people " -"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``." +"limiting the size of source files. In particular, this affected the maximum" +" size of literal lists and dictionaries in Python source; occasionally " +"people 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 " +"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 -#, fuzzy msgid "" "Three new convenience functions intended for adding constants to a module's " -"dictionary at module initialization time were added: :c:func:" -"`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, and :c:func:" -"`PyModule_AddStringConstant`. Each of these functions takes a module " -"object, a null-terminated C string containing the name to be added, and a " -"third argument for the value to be assigned to the name. This third " +"dictionary at module initialization time were added: " +":c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, and " +":c:func:`PyModule_AddStringConstant`. Each of these functions takes a " +"module object, a null-terminated C string containing the name to be added, " +"and a 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." +"Se agregaron tres nuevas funciones de conveniencia destinadas a agregar " +"constantes al diccionario de un módulo en el momento de inicialización del " +"módulo: :c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant` y " +":c:func:`PyModule_AddStringConstant`. Cada una de estas funciones toma un " +"objeto de módulo, una cadena C terminada en cero que contiene el nombre que " +"se agregará y un tercer argumento para el valor que se asignará al nombre. " +"Este tercer argumento es, respectivamente, un objeto Python, un long C o una" +" cadena C." #: ../Doc/whatsnew/2.0.rst:804 -#, fuzzy msgid "" -"A wrapper API was added for Unix-style signal handlers. :c:func:" -"`PyOS_getsig` gets a signal handler and :c:func:`PyOS_setsig` will set a new " -"handler." +"A wrapper API was added for Unix-style signal handlers. " +":c:func:`PyOS_getsig` gets a signal handler and :c: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." +"Se agregó una API contenedora para los controladores de señales de estilo " +"Unix. :c:func:`PyOS_getsig` obtiene un controlador de señales y " +":c:func:`PyOS_setsig` establecerá un nuevo controlador." #: ../Doc/whatsnew/2.0.rst:811 msgid "Distutils: Making Modules Easy to Install" @@ -1772,12 +1834,12 @@ msgstr "Distutils: Facilitando la instalación de módulos" msgid "" "Before Python 2.0, installing modules was a tedious affair -- there was no " "way to figure out automatically where Python is installed, or what compiler " -"options to use for extension modules. Software authors had to go through an " -"arduous ritual of editing Makefiles and configuration files, which only " +"options to use for extension modules. Software authors had to go through an" +" arduous ritual of editing Makefiles and configuration files, which only " "really work on Unix and leave Windows and MacOS unsupported. Python users " "faced wildly differing installation instructions which varied between " -"different extension packages, which made administering a Python installation " -"something of a chore." +"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é " @@ -1785,49 +1847,48 @@ msgstr "" "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 " +"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 -#, fuzzy msgid "" -"The SIG for distribution utilities, shepherded by Greg Ward, has created the " -"Distutils, a system to make package installation much easier. They form the " -"``distutils`` package, a new part of Python's standard library. In the best " -"case, installing a Python module from source will require the same steps: " -"first you simply mean unpack the tarball or zip archive, and the run " +"The SIG for distribution utilities, shepherded by Greg Ward, has created the" +" Distutils, a system to make package installation much easier. They form " +"the ``distutils`` package, a new part of Python's standard library. In the " +"best case, installing a Python module from source will require the same " +"steps: first you simply mean unpack the tarball or zip archive, and the run " "\"``python setup.py install``\". The platform will be automatically " "detected, the compiler will be recognized, C extension modules will be " "compiled, and the distribution installed into the proper directory. " "Optional command-line arguments provide more control over the installation " "process, the distutils package offers many places to override defaults -- " -"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, " +"separating the build from the install, building or installing in non-default" +" directories, and more." +msgstr "" +"El SIG para utilidades de distribución, dirigido por Greg Ward, ha creado " +"Distutils, un sistema para facilitar enormemente la instalación de paquetes." +" Forman el paquete ``distutils``, una nueva parte de la biblioteca estándar " +"de Python. En el mejor de los casos, instalar un módulo Python desde el " +"código fuente requerirá los mismos pasos: primero, simplemente hay que " +"descomprimir el archivo tarball o zip y ejecutar \"``python setup.py " +"install``\". La plataforma se detectará automáticamente, se reconocerá el " +"compilador, se compilarán los módulos de extensión de C y se instalará la " +"distribución en el directorio adecuado. 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." +"predeterminados, separando la compilación de la instalación, compilando o " +"instalando en directorios que no sean los predeterminados, y más." #: ../Doc/whatsnew/2.0.rst:833 msgid "" -"In order to use the Distutils, you need to write a :file:`setup.py` script. " -"For the simple case, when the software contains only .py files, a minimal :" -"file:`setup.py` can be just a few lines long::" +"In order to use the Distutils, you need to write a :file:`setup.py` script." +" 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::" +"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:837 msgid "" @@ -1835,14 +1896,17 @@ msgid "" "setup (name = \"foo\", version = \"1.0\",\n" " py_modules = [\"module1\", \"module2\"])" msgstr "" +"desde distutils.core import setup\n" +"setup (nombre = \"foo\", versión = \"1.0\",\n" +"py_modules = [\"módulo1\", \"módulo2\"])" #: ../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::" +"El archivo :file:`setup.py` no es mucho más complicado si el software consta" +" de unos pocos paquetes::" #: ../Doc/whatsnew/2.0.rst:844 msgid "" @@ -1850,11 +1914,14 @@ msgid "" "setup (name = \"foo\", version = \"1.0\",\n" " packages = [\"package\", \"package.subpackage\"])" msgstr "" +"desde distutils.core import setup\n" +"setup (nombre = \"foo\", versión = \"1.0\",\n" +"paquetes = [\"paquete\", \"paquete.subpaquete\"])" #: ../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::" +"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::" @@ -1874,6 +1941,18 @@ msgid "" "setup (name = \"PyXML\", version = \"0.5.4\",\n" " ext_modules =[ expat_extension ] )" msgstr "" +"de distutils.core import setup, Extensión\n" +"\n" +"expat_extension = Extension('xml.parsers.pyexpat',\n" +"define_macros = [('XML_NS', None)],\n" +"include_dirs = [ 'extensions/expat/xmltok',\n" +"'extensions/expat/xmlparse' ],\n" +"fuentes = [ 'extensions/pyexpat.c',\n" +"'extensions/expat/xmltok/xmltok.c',\n" +"'extensions/expat/xmltok/xmlrole.c', ]\n" +")\n" +"setup (nombre = \"PyXML\", versión = \"0.5.4\",\n" +"ext_modules =[ expat_extension ] )" #: ../Doc/whatsnew/2.0.rst:864 msgid "" @@ -1888,11 +1967,11 @@ msgid "" 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 " +"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 @@ -1908,56 +1987,57 @@ msgid "XML Modules" msgstr "Módulos XML" #: ../Doc/whatsnew/2.0.rst:882 -#, fuzzy msgid "" "Python 1.5.2 included a simple XML parser in the form of the :mod:`!xmllib` " "module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " "different interfaces for processing XML have become common: SAX2 (version 2 " "of the Simple API for XML) provides an event-driven interface with some " -"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides " -"a tree-based interface, transforming an XML document into a tree of nodes " +"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides" +" a tree-based interface, transforming an XML document into a tree of nodes " "that can be traversed and modified. Python 2.0 includes a SAX2 interface " -"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we " -"will give a brief overview of these new interfaces; consult the Python " -"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." +"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we" +" will give a brief overview of these new interfaces; consult the Python " +"documentation or the source code for complete details. The Python XML SIG is" +" also working on improved documentation." +msgstr "" +"Python 1.5.2 incluía un analizador XML simple en forma del módulo " +":mod:`!xmllib`, aportado por Sjoerd Mullender. Desde el lanzamiento de la " +"versión 1.5.2, se han vuelto comunes dos interfaces diferentes para procesar" +" XML: SAX2 (versión 2 de la API simple para XML) proporciona una interfaz " +"basada en eventos con algunas similitudes con :mod:`!xmllib`, y DOM " +"(Document Object Model) proporciona una interfaz basada en árboles, " +"transformando un documento XML en un árbol de nodos que se puede recorrer y " +"modificar. Python 2.0 incluye una interfaz SAX2 y una interfaz DOM " +"simplificada como parte del paquete :mod:`xml`. Aquí daremos una breve " +"descripción general de estas nuevas interfaces; consulte la documentación de" +" Python o el código fuente para obtener detalles completos. El SIG de XML de" +" Python también está trabajando en una documentación mejorada." #: ../Doc/whatsnew/2.0.rst:896 msgid "SAX2 Support" msgstr "Soporte de SAX2" #: ../Doc/whatsnew/2.0.rst:898 -#, fuzzy msgid "" -"SAX defines an event-driven interface for parsing XML. To use SAX, you must " -"write a SAX handler class. Handler classes inherit from various classes " +"SAX defines an event-driven interface for parsing XML. To use SAX, you must" +" write a SAX handler class. Handler classes inherit from various classes " "provided by SAX, and override various methods that will then be called by " -"the XML parser. For example, the :meth:`~xml.sax.handler.ContentHandler." -"startElement` and :meth:`~xml.sax.handler.ContentHandler.endElement` methods " -"are called for every starting and end tag encountered by the parser, the :" -"meth:`~xml.sax.handler.ContentHandler.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." +"the XML parser. For example, the " +":meth:`~xml.sax.handler.ContentHandler.startElement` and " +":meth:`~xml.sax.handler.ContentHandler.endElement` methods are called for " +"every starting and end tag encountered by the parser, the " +":meth:`~xml.sax.handler.ContentHandler.characters` method is called for " +"every chunk of character data, and so forth." +msgstr "" +"SAX define una interfaz controlada por eventos para analizar XML. Para " +"utilizar SAX, debe escribir una clase controladora de SAX. Las clases " +"controladoras heredan de varias clases proporcionadas por SAX y reemplazan " +"varios métodos que luego llamará el analizador XML. Por ejemplo, los métodos" +" :meth:`~xml.sax.handler.ContentHandler.startElement` y " +":meth:`~xml.sax.handler.ContentHandler.endElement` se llaman para cada " +"etiqueta de inicio y fin que encuentre el analizador, el método " +":meth:`~xml.sax.handler.ContentHandler.characters` se llama para cada " +"fragmento de datos de caracteres, y así sucesivamente." #: ../Doc/whatsnew/2.0.rst:906 msgid "" @@ -1968,16 +2048,16 @@ msgid "" "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 " +"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 "" "For example, this little example program defines a handler that prints a " -"message for every starting and ending tag, and then parses the file :file:" -"`hamlet.xml` using it::" +"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 " @@ -2004,22 +2084,38 @@ msgid "" "# Parse a file!\n" "parser.parse( 'hamlet.xml' )" msgstr "" +"from xml import sax\n" +"\n" +"class SimpleHandler(sax.ContentHandler):\n" +"def startElement(self, name, attrs):\n" +"print 'Inicio del elemento:', name, attrs.keys()\n" +"\n" +"def endElement(self, name):\n" +"print 'Fin del elemento:', name\n" +"\n" +"# Crear un objeto analizador\n" +"parser = sax.make_parser()\n" +"\n" +"# Indicarle qué controlador utilizar\n" +"handler = SimpleHandler()\n" +"parser.setContentHandler( handler )\n" +"\n" +"# ¡Analice un archivo!\n" +"parser.parse( 'hamlet.xml' )" #: ../Doc/whatsnew/2.0.rst:935 -#, fuzzy msgid "" "For more information, consult the Python documentation, or the XML HOWTO at " "https://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." +"https://pyxml.sourceforge.net/topics/howto/xml-howto.html." #: ../Doc/whatsnew/2.0.rst:940 msgid "DOM Support" msgstr "Soporte DOM" #: ../Doc/whatsnew/2.0.rst:942 -#, fuzzy msgid "" "The Document Object Model is a tree-based representation for an XML " "document. A top-level :class:`!Document` instance is the root of the tree, " @@ -2030,15 +2126,15 @@ msgid "" "access 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." +"El modelo de objetos de documento es una representación basada en árboles " +"para un documento XML. Una instancia :class:`!Document` de nivel superior es" +" la raíz del árbol y tiene un único elemento secundario que es la instancia " +":class:`!Element` de nivel superior. Este :class:`!Element` tiene nodos " +"secundarios que representan datos de caracteres y cualquier subelemento, que" +" puede tener otros elementos secundarios propios, y así sucesivamente. Con " +"el DOM, puede recorrer el árbol resultante de la forma que desee, acceder a " +"los valores de los elementos y atributos, insertar y eliminar nodos y " +"convertir el árbol nuevamente en XML." #: ../Doc/whatsnew/2.0.rst:950 msgid "" @@ -2049,53 +2145,55 @@ 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 " +"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." +"flexible de producir una salida XML que simplemente escribir ````...\\" +" ```` un archivo." #: ../Doc/whatsnew/2.0.rst:956 -#, fuzzy msgid "" -"The DOM implementation included with Python lives in the :mod:`xml.dom." -"minidom` module. It's a lightweight implementation of the Level 1 DOM with " -"support for XML namespaces. The :func:`!parse` and :func:`!parseString` " -"convenience functions are provided for generating a DOM tree::" +"The DOM implementation included with Python lives in the " +":mod:`xml.dom.minidom` module. It's a lightweight implementation of the " +"Level 1 DOM with 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::" +"La implementación del DOM incluida con Python se encuentra en el módulo " +":mod:`xml.dom.minidom`. Es una implementación liviana del DOM de nivel 1 con" +" soporte para espacios de nombres XML. Las funciones de conveniencia " +":func:`!parse` y :func:`!parseString` se proporcionan para generar un árbol " +"DOM:" #: ../Doc/whatsnew/2.0.rst:961 msgid "" "from xml.dom import minidom\n" "doc = minidom.parse('hamlet.xml')" msgstr "" +"desde xml.dom importar minidom\n" +"doc ​​= minidom.parse('hamlet.xml')" #: ../Doc/whatsnew/2.0.rst:964 -#, fuzzy msgid "" "``doc`` is a :class:`!Document` instance. :class:`!Document`, like all the " -"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass " -"of the :class:`!Node` base class. All the nodes in a DOM tree therefore " +"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass" +" of the :class:`!Node` base class. All the nodes in a DOM tree therefore " "support certain common methods, such as :meth:`!toxml` which returns a " -"string containing the XML representation of the node and its children. Each " -"class also has special methods of its own; for example, :class:`!Element` " +"string containing the XML representation of the node and its children. Each" +" class also has special methods of its own; for example, :class:`!Element` " "and :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`` es una instancia de :class:`!Document`. :class:`!Document`, al igual" +" que todas las demás clases DOM como :class:`!Element` y :class:`Text`, es " +"una subclase de la clase base :class:`!Node`. Por lo tanto, todos los nodos " +"de un árbol DOM admiten ciertos métodos comunes, como :meth:`!toxml`, que " +"devuelve una cadena que contiene la representación XML del nodo y sus hijos." +" Cada clase también tiene sus propios métodos especiales; por ejemplo, las " +"instancias :class:`!Element` y :class:`!Document` tienen un método para " +"encontrar todos los elementos secundarios con un nombre de etiqueta " +"determinado. Continuando con el ejemplo anterior de 2 líneas:" #: ../Doc/whatsnew/2.0.rst:973 msgid "" @@ -2103,6 +2201,9 @@ msgid "" "print perslist[0].toxml()\n" "print perslist[1].toxml()" msgstr "" +"lista pers = doc.getElementsByTagName( 'PERSONA' )\n" +"imprimir lista persistente[0].toxml()\n" +"imprimir lista persistente[1].toxml()" #: ../Doc/whatsnew/2.0.rst:977 msgid "For the *Hamlet* XML file, the above few lines output::" @@ -2114,6 +2215,8 @@ msgid "" "CLAUDIUS, king of Denmark. \n" "HAMLET, son to the late, and nephew to the present king." msgstr "" +"CLAUDIO, rey de Dinamarca. \n" +"HAMLET, hijo del difunto rey y sobrino del actual." #: ../Doc/whatsnew/2.0.rst:982 msgid "" @@ -2121,8 +2224,8 @@ 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 " +"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:985 @@ -2139,15 +2242,25 @@ msgid "" "# the third child) before the 20th child.\n" "root.insertBefore( root.childNodes[0], root.childNodes[20] )" msgstr "" +"root = doc.documentElement\n" +"\n" +"# Eliminar el primer hijo\n" +"root.removeChild( root.childNodes[0] )\n" +"\n" +"# Mover el nuevo primer hijo al final\n" +"root.appendChild( root.childNodes[0] )\n" +"\n" +"# Insertar el nuevo primer hijo (originalmente,\n" +"# el tercer hijo) antes del hijo número 20.\n" +"root.insertBefore( root.childNodes[0], root.childNodes[20] )" #: ../Doc/whatsnew/2.0.rst:997 -#, fuzzy 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." +"completa de las diferentes clases :class:`!Node` y sus diversos métodos." #: ../Doc/whatsnew/2.0.rst:1002 msgid "Relationship to PyXML" @@ -2162,12 +2275,13 @@ 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`." +"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 "" @@ -2176,16 +2290,16 @@ msgid "" "Many applications can get by with the XML support that is included with " "Python 2.0, but more complicated applications will require that the full " "PyXML package will be installed. When installed, PyXML versions 0.6.0 or " -"greater will replace the :mod:`xml` package shipped with Python, and will be " -"a strict superset of the standard package, adding a bunch of additional " +"greater will replace the :mod:`xml` package shipped with Python, and will be" +" 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 " +"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 " +"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:" @@ -2199,96 +2313,96 @@ msgid "The xmlproc validating parser, written by Lars Marius Garshol." msgstr "El parser de validación xmlproc, escrito por Lars Marius Garshol." #: ../Doc/whatsnew/2.0.rst:1023 -#, fuzzy -msgid "The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." +msgid "" +"The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." msgstr "" -"El módulo acelerador del parser :mod:`sgmlop`, escrito por Fredrik Lundh." +"El módulo acelerador del parser :mod:`!sgmlop`, escrito por Fredrik Lundh." #: ../Doc/whatsnew/2.0.rst:1029 msgid "Module changes" msgstr "Cambios en los módulos" #: ../Doc/whatsnew/2.0.rst:1031 -#, fuzzy msgid "" "Lots of improvements and bugfixes were made to Python's extensive standard " -"library; some of the affected modules include :mod:`readline`, :mod:" -"`ConfigParser `, :mod:`!cgi`, :mod:`calendar`, :mod:`posix`, :" -"mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :mod:`!chunk`, :mod:`wave`, :" -"mod:`random`, :mod:`shelve`, 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." +"library; some of the affected modules include :mod:`readline`, " +":mod:`ConfigParser `, :mod:`!cgi`, :mod:`calendar`, " +":mod:`posix`, :mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :mod:`!chunk`, " +":mod:`wave`, :mod:`random`, :mod:`shelve`, and :mod:`!nntplib`. Consult the" +" CVS logs for the exact patch-by-patch details." +msgstr "" +"Se realizaron muchas mejoras y correcciones de errores en la extensa " +"biblioteca estándar de Python; algunos de los módulos afectados incluyen " +":mod:`readline`, :mod:`ConfigParser `, :mod:`!cgi`, " +":mod:`calendar`, :mod:`posix`, :mod:`readline`, :mod:`!xmllib`, " +":mod:`!aifc`, :mod:`!chunk`, :mod:`wave`, :mod:`random`, :mod:`shelve` y " +":mod:`!nntplib`. Consulte los registros CVS para obtener detalles exactos de" +" cada parche." #: ../Doc/whatsnew/2.0.rst:1037 -#, fuzzy msgid "" "Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " "OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " -"data being sent over a socket. When compiling Python, you can edit :file:" -"`Modules/Setup` to include SSL support, which adds an additional function to " -"the :mod:`socket` module: ``socket.ssl(socket, keyfile, certfile)``, which " -"takes a socket object and returns an SSL socket. The :mod:`httplib ` " -"and :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." +"data being sent over a socket. When compiling Python, you can edit " +":file:`Modules/Setup` to include SSL support, which adds an additional " +"function to the :mod:`socket` module: ``socket.ssl(socket, keyfile, " +"certfile)``, which takes a socket object and returns an SSL socket. The " +":mod:`httplib ` and :mod:`urllib` modules were also changed to support" +" ``https://`` URLs, though no one has implemented FTP or SMTP over SSL." +msgstr "" +"Brian Gallew contribuyó con la compatibilidad con OpenSSL para el módulo " +":mod:`socket`. OpenSSL es una implementación de la capa de sockets seguros, " +"que cifra los datos que se envían a través de un socket. Al compilar Python," +" puede editar :file:`Modules/Setup` para incluir compatibilidad con SSL, lo " +"que agrega una función adicional al módulo :mod:`socket`: " +"``socket.ssl(socket, keyfile, certfile)``, que toma un objeto de socket y " +"devuelve un socket SSL. Los módulos :mod:`httplib ` y :mod:`urllib` " +"también se modificaron para admitir las URL de ``https://``, aunque nadie ha" +" implementado FTP o SMTP sobre SSL." #: ../Doc/whatsnew/2.0.rst:1046 msgid "" -"The :mod:`httplib ` module has been rewritten by Greg Stein to support " -"HTTP/1.1." +"The :mod:`httplib ` module has been rewritten by Greg Stein to support" +" HTTP/1.1." msgstr "" +"Greg Stein ha reescrito el módulo :mod:`httplib ` para admitir " +"HTTP/1.1." #: ../Doc/whatsnew/2.0.rst:1048 -#, fuzzy msgid "" "Backward compatibility with the 1.5 version of :mod:`!httplib` is 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." +"Se proporciona compatibilidad con versiones anteriores de la versión 1.5 de " +":mod:`!httplib`, aunque el uso de funciones HTTP/1.1 como la canalización " +"requerirá reescribir el código para usar un conjunto diferente de " +"interfaces." #: ../Doc/whatsnew/2.0.rst:1052 -#, fuzzy msgid "" -"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " -"support for the older 7.x versions has been dropped. The Tkinter module now " -"supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " +"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and" +" support for the older 7.x versions has been dropped. The Tkinter module " +"now supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " "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." +"El módulo :mod:`!Tkinter` ahora es compatible con las versiones 8.1, 8.2 u " +"8.3 de Tcl/Tk y se ha eliminado la compatibilidad con las versiones 7.x " +"anteriores. El módulo Tkinter ahora es compatible con la visualización de " +"cadenas Unicode en widgets Tk. Además, Fredrik Lundh contribuyó 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:1058 msgid "" "The :mod:`curses` module has been greatly extended, starting from Oliver " "Andrich's enhanced version, to provide many additional functions from " "ncurses and SYSV curses, such as colour, alternative character set support, " -"pads, and mouse support. This means the module is no longer compatible with " -"operating systems that only have BSD curses, but there don't seem to be any " -"currently maintained OSes that fall into this category." +"pads, and mouse support. This means the module is no longer compatible with" +" 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 " @@ -2301,17 +2415,17 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1065 msgid "" "As mentioned in the earlier discussion of 2.0's Unicode support, the " -"underlying implementation of the regular expressions provided by the :mod:" -"`re` module has been changed. SRE, a new regular expression engine written " -"by Fredrik Lundh and partially funded by Hewlett Packard, supports matching " -"against both 8-bit strings and Unicode strings." +"underlying implementation of the regular expressions provided by the " +":mod:`re` module has been changed. SRE, a new regular expression engine " +"written 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." +"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:1075 msgid "New modules" @@ -2330,60 +2444,58 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1081 msgid "" ":mod:`atexit`: For registering functions to be called before the Python " -"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should " -"be changed to use the :mod:`atexit` module instead, importing :mod:`atexit` " -"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)" +"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should" +" be changed to use the :mod:`atexit` module instead, importing " +":mod:`atexit` 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:1087 -#, fuzzy 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 " +":mod:`codecs`, :mod:`!encodings`, :mod:`unicodedata`: Añadidos como parte " "del nuevo soporte de Unicode." #: ../Doc/whatsnew/2.0.rst:1090 -#, fuzzy msgid "" -":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and :mod:`!" -"dircmp` modules, which have now become deprecated. (Contributed by Gordon " -"MacMillan and Moshe Zadka.)" +":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and " +":mod:`!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)" +":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:1094 msgid "" ":mod:`gettext`: This module provides internationalization (I18N) and " -"localization (L10N) support for Python programs by providing an interface to " -"the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " +"localization (L10N) support for Python programs by providing an interface to" +" the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " "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)" +"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:1099 -#, fuzzy msgid "" -":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " -"twin to the existing :mod:`!sunaudiodev` module. (Contributed by Peter " +":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a" +" 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 " +":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:1103 @@ -2392,40 +2504,38 @@ msgid "" "A file's contents can be mapped directly into memory, at which point it " "behaves like a mutable string, so its contents can be read and modified. " "They can even be passed to functions that expect ordinary strings, such as " -"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by A." -"M. Kuchling.)" +"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 " +":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:1109 -#, fuzzy 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 " +":mod:`!pyexpat`: Una interfaz para el analizador XML de Expat. (Contribuido " "por Paul Prescod.)" #: ../Doc/whatsnew/2.0.rst:1112 -#, fuzzy msgid "" ":mod:`robotparser `: Parse a :file:`robots.txt` file, " -"which is used for writing web spiders that politely avoid certain areas of a " -"web site. The parser accepts the contents of a :file:`robots.txt` file, " +"which is used for writing web spiders that politely avoid certain areas of a" +" web site. The parser accepts the contents of a :file:`robots.txt` file, " "builds a set of 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)" +":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:1118 msgid "" @@ -2436,75 +2546,72 @@ msgstr "" "en busca de sangrías ambiguas. (Contribuido por Tim Peters.)" #: ../Doc/whatsnew/2.0.rst:1121 -#, fuzzy 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." +":mod:`!UserString`: Una clase base útil para derivar objetos que se " +"comportan como cadenas." #: ../Doc/whatsnew/2.0.rst:1124 msgid "" ":mod:`webbrowser`: A module that provides a platform independent way to " "launch a web browser on a specific URL. For each platform, various browsers " "are tried in a specific order. The user can alter which browser is launched " -"by setting the *BROWSER* environment variable. (Originally inspired by Eric " -"S. Raymond's patch to :mod:`urllib` which added similar functionality, but " -"the final module comes from code originally implemented by Fred Drake as :" -"file:`Tools/idle/BrowserControl.py`, and adapted for the standard library by " -"Fred.)" +"by setting the *BROWSER* environment variable. (Originally inspired by Eric" +" S. Raymond's patch to :mod:`urllib` which added similar functionality, but " +"the final module comes from code originally implemented by Fred Drake as " +":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)" +"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:1133 -#, fuzzy msgid "" -":mod:`_winreg `: An interface to the Windows registry. :mod:`!" -"_winreg` is an adaptation of functions that have been part of PythonWin " -"since 1995, but has now been added to the core distribution, and enhanced " -"to support Unicode. :mod:`!_winreg` was written by Bill Tutt and Mark " -"Hammond." +":mod:`_winreg `: An interface to the Windows registry. " +":mod:`!_winreg` is an adaptation of functions that have been part of " +"PythonWin since 1995, but has 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." +":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:1138 msgid "" -":mod:`zipfile`: A module for reading and writing ZIP-format archives. These " -"are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " +":mod:`zipfile`: A module for reading and writing ZIP-format archives. These" +" are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " "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.)" +"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:1143 -#, fuzzy msgid "" -":mod:`!imputil`: A module that provides a simpler way for writing customized " -"import hooks, in comparison to the existing :mod:`!ihooks` module. " +":mod:`!imputil`: A module that provides a simpler way for writing customized" +" import hooks, in comparison to the existing :mod:`!ihooks` module. " "(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)" +":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:1151 msgid "IDLE Improvements" @@ -2517,16 +2624,16 @@ msgid "" "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:" +"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:1157 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." +"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:1160 msgid "" @@ -2547,16 +2654,16 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1166 msgid "" -"There is now support for calling browsers on various platforms, used to open " -"the Python documentation in a browser." +"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:1169 msgid "" -"IDLE now has a command line, which is largely similar to the vanilla Python " -"interpreter." +"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." @@ -2572,13 +2679,13 @@ msgstr "Ahora IDLE puede instalarse como un paquete." #: ../Doc/whatsnew/2.0.rst:1176 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." +"En la ventana del editor, ahora hay una barra de líneas/columnas en la parte" +" inferior." #: ../Doc/whatsnew/2.0.rst:1178 msgid "" -"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module (:" -"kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." +"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`)." @@ -2588,7 +2695,6 @@ msgid "Deleted and Deprecated Modules" msgstr "Módulos eliminados y obsoletos" #: ../Doc/whatsnew/2.0.rst:1187 -#, fuzzy msgid "" "A few modules have been dropped because they're obsolete, or because there " "are now better ways to do the same thing. The :mod:`!stdwin` module is " @@ -2596,28 +2702,27 @@ msgid "" "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; " +"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:1191 -#, fuzzy -msgid "" -"A number of modules have been moved to the :file:`lib-old` subdirectory: :" -"mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!dump`, :mod:`!find`, :" -"mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!util`, :mod:`!" -"whatsound`, :mod:`!zmod`. If you have code which relies on a module that's " -"been moved to :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." +msgid "" +"A number of modules have been moved to the :file:`lib-old` subdirectory: " +":mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!dump`, :mod:`!find`, " +":mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!util`, " +":mod:`!whatsound`, :mod:`!zmod`. If you have code which relies on a module" +" that's been moved to :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 "" +"Se han movido varios módulos 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 se ha movido a " +":file:`lib-old`, puede simplemente agregar ese directorio a ``sys.path`` " +"para recuperarlo, pero se le recomienda que actualice cualquier código que " +"use estos módulos." #: ../Doc/whatsnew/2.0.rst:1200 msgid "Acknowledgements" @@ -2631,8 +2736,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." +"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 ef546c0081da9b09c0d7bd8e9eea3ee951c15bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 24 Nov 2024 00:28:55 +0100 Subject: [PATCH 2/3] Update translate whatsnew/2.0 --- dictionaries/whatsnew_2.0.txt | 29 + whatsnew/2.0.po | 1355 ++++++++++++++++----------------- 2 files changed, 699 insertions(+), 685 deletions(-) diff --git a/dictionaries/whatsnew_2.0.txt b/dictionaries/whatsnew_2.0.txt index ccd36d3f9f..2e26cd629c 100644 --- a/dictionaries/whatsnew_2.0.txt +++ b/dictionaries/whatsnew_2.0.txt @@ -51,22 +51,51 @@ Waldman Ward Yakov Zadka +andrew +appendChild +childNodes codificándola crucialmente discrepantes +documentElement dyld +endElement +exprN +filter front hacks +hamlet +hlinuxtname +iadd ifdefs infórmelo +insertBefore +kw +lookup manejadora +moshe +myself +nombredelhost patches +pers pipelining recompiladas +removeChild rpm sdist +secuenciaN +startElement +streamreader +streamwriter subelemento +sublist +substring suffix +toxml trashcan +unistr wininst +xmlparse xmlproc +xmlrole +xmltok diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 5b3ebaa6c9..6b41ea97b4 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -39,8 +39,8 @@ msgstr "Introducción" #: ../Doc/whatsnew/2.0.rst:15 msgid "" -"A new release of Python, version 2.0, was released on October 16, 2000. This" -" article covers the exciting new features in 2.0, highlights some other " +"A new release of Python, version 2.0, was released on October 16, 2000. This " +"article covers the exciting new features in 2.0, highlights some other " "useful changes, and points out a few incompatible changes that may require " "rewriting code." msgstr "" @@ -58,19 +58,18 @@ msgid "" "certainly significant. Consult the publicly available CVS logs if you want " "to see the full list. This progress is due to the five developers working " "for PythonLabs are now getting paid to spend their days fixing bugs, and " -"also due to the improved communication resulting from moving to " -"SourceForge." +"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 envía un flujo constante de correcciones de errores y mejoras. " "Una gran cantidad de correcciones menores, algunas optimizaciones, cadenas " "de documentación adicionales y mejores mensajes de error entraron en 2.0; " "enumerarlos a todos sería imposible, pero ciertamente son significativos. " -"Consulte los registros de CVS disponibles públicamente si desea ver la lista" -" completa. Este progreso se debe a que a los cinco desarrolladores que " +"Consulte los registros de CVS disponibles públicamente si desea ver la lista " +"completa. Este progreso se debe a que a los cinco desarrolladores que " "trabajan para PythonLabs ahora se les paga por dedicar sus días a corregir " -"errores, y también a la mejora de la comunicación resultante de la migración" -" a SourceForge." +"errores, y también a la mejora de la comunicación resultante de la migración " +"a SourceForge." #: ../Doc/whatsnew/2.0.rst:33 msgid "What About Python 1.6?" @@ -79,23 +78,23 @@ msgstr "¿Qué pasa con Python 1.6?" #: ../Doc/whatsnew/2.0.rst:35 msgid "" "Python 1.6 can be thought of as the Contractual Obligations Python release. " -"After the core development team left CNRI in May 2000, CNRI requested that a" -" 1.6 release be created, containing all the work on Python that had been " +"After the core development team left CNRI in May 2000, CNRI requested that a " +"1.6 release be created, containing all the work on Python that had been " "performed at CNRI. Python 1.6 therefore represents the state of the CVS " "tree as of May 2000, with the most significant new feature being Unicode " "support. Development continued after May, of course, so the 1.6 tree " -"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." +"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." +"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 "" @@ -105,18 +104,17 @@ msgid "" "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." +"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" @@ -127,10 +125,10 @@ msgid "" "The most important change in Python 2.0 may not be to the code at all, but " "to how Python is developed: in May 2000 the Python developers began using " "the tools made available by SourceForge for storing source code, tracking " -"bug reports, and managing the queue of patch submissions. To report bugs or" -" submit patches for Python 2.0, use the bug tracking and patch manager tools" -" available from Python's project page, located at " -"https://sourceforge.net/projects/python/." +"bug reports, and managing the queue of patch submissions. To report bugs or " +"submit patches for Python 2.0, use the bug tracking and patch manager tools " +"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 " @@ -148,8 +146,8 @@ msgid "" "Python. Previously, there were roughly 7 or so people who had write access " "to the CVS tree, and all patches had to be inspected and checked in by one " "of the people on this short list. Obviously, this wasn't very scalable. By " -"moving the CVS tree to SourceForge, it became possible to grant write access" -" to more people; as of September 2000 there were 27 people able to check in " +"moving the CVS tree to SourceForge, it became possible to grant write access " +"to more people; as of September 2000 there were 27 people able to check in " "changes, a fourfold increase. This makes possible large-scale changes that " "wouldn't be attempted if they'd have to be filtered through the small group " "of core developers. For example, one day Peter Schneider-Kamp took it into " @@ -160,8 +158,8 @@ 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 " +"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. " @@ -171,8 +169,8 @@ msgstr "" "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-" +"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, " @@ -186,8 +184,8 @@ msgid "" "increase in the speed of development. Patches now get submitted, commented " "on, revised by people other than the original submitter, and bounced back " "and forth between people until the patch is deemed worth checking in. Bugs " -"are tracked in one central location and can be assigned to a specific person" -" for fixing, and we can count the number of open bugs to measure progress. " +"are tracked in one central location and can be assigned to a specific person " +"for fixing, and we can count the number of open bugs to measure progress. " "This didn't come without a cost: developers now have more e-mail to deal " "with, more mailing lists to follow, and special tools had to be written for " "the new environment. For example, SourceForge sends default patch and bug " @@ -205,18 +203,18 @@ msgstr "" "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." +"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 " +"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 " -"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" -" or negative slant. The most significant change from the Apache model is " +"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 " +"or negative slant. The most significant change from the Apache model is " "that the voting is essentially advisory, letting Guido van Rossum, who has " "Benevolent Dictator For Life status, know what the general opinion is. He " "can still ignore the result of a vote, and approve or reject a change even " @@ -230,11 +228,11 @@ msgstr "" "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 " +"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." +"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 "" @@ -244,34 +242,33 @@ msgid "" "threads, making the discussion hard to follow, and no one can read every " "posting to python-dev. Therefore, a relatively formal process has been set " "up to write Python Enhancement Proposals (PEPs), modelled on the internet " -"RFC process. PEPs are draft documents that describe a proposed new feature," -" and are continually revised until the community reaches a consensus, either" -" accepting or rejecting the proposal. Quoting from the introduction to " -":pep:`1`, \"PEP Purpose and Guidelines\":" +"RFC process. PEPs are draft documents that describe a proposed new feature, " +"and are continually revised until the community reaches a consensus, either " +"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\":" +"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 "" "PEP stands for Python Enhancement Proposal. A PEP is a design document " "providing information to the Python community, or describing a new feature " -"for Python. The PEP should provide a concise technical specification of the" -" feature and a rationale for the feature." +"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 " +"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." @@ -284,8 +281,8 @@ msgid "" 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 " +"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 @@ -293,17 +290,16 @@ msgid "" "Read the rest of :pep:`1` for the details of the PEP editorial process, " "style, and format. PEPs are kept in the Python CVS tree on SourceForge, " "though they're not part of the Python 2.0 distribution, and are also " -"available in HTML form from https://peps.python.org/. As of September 2000," -" there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " +"available in HTML form from https://peps.python.org/. As of September 2000, " +"there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " "225, \"Elementwise/Objectwise Operators\"." msgstr "" -"Lea el resto de :pep:`1` para conocer los detalles del proceso editorial, el" -" estilo y el formato de PEP. Los PEP se guardan en el árbol CVS de Python en" -" SourceForge, aunque no son parte de la distribución de Python 2.0, y " -"también están disponibles en formato HTML en https://peps.python.org/. A " -"partir de septiembre de 2000, existen 25 PEP, que van desde :pep:`201`, " -"\"Iteración en sincronía\", hasta PEP 225, \"Operadores por elementos y por " -"objetos\"." +"Lea el resto de :pep:`1` para conocer los detalles del proceso editorial, el " +"estilo y el formato de PEP. Los PEP se guardan en el árbol CVS de Python en " +"SourceForge, aunque no son parte de la distribución de Python 2.0, y también " +"están disponibles en formato HTML en https://peps.python.org/. A partir de " +"septiembre de 2000, existen 25 PEP, que van desde :pep:`201`, \"Iteración en " +"sincronía\", hasta PEP 225, \"Operadores por elementos y por objetos\"." #: ../Doc/whatsnew/2.0.rst:141 msgid "Unicode" @@ -318,8 +314,8 @@ msgid "" 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." +"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 "" @@ -333,16 +329,16 @@ 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`, " +"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 "" "In Python source code, Unicode strings are written as ``u\"string\"``. " -"Arbitrary Unicode characters can be written using a new escape sequence, " -":samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number from 0000 " +"Arbitrary Unicode characters can be written using a new escape sequence, :" +"samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number from 0000 " "to FFFF. The existing :samp:`\\\\x{HH}` escape sequence can also be used, " "and octal escapes can be used for characters up to U+01FF, which is " "represented by ``\\777``." @@ -365,15 +361,15 @@ msgid "" "implementing and registering new encodings that are then available " "throughout a Python program. If an encoding isn't specified, the default " "encoding is usually 7-bit ASCII, though it can be changed for your Python " -"installation by calling the ``sys.setdefaultencoding(encoding)`` function in" -" a customized version of :file:`site.py`." +"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 " +"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 " @@ -386,8 +382,8 @@ msgid "" "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'``." +"Unicode, utilizando la codificación ASCII por defecto; el resultado de ``'a' " +"+ u'bc'`` es ``u'abc'``." #: ../Doc/whatsnew/2.0.rst:175 msgid "" @@ -410,8 +406,8 @@ 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." +"``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 "" @@ -427,74 +423,73 @@ msgstr "" "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 " +"``'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 "" "The ``exec`` statement, and various built-ins such as ``eval()``, " -"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as" -" regular strings. (It's possible that the process of fixing this missed " -"some 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.)" +"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as " +"regular strings. (It's possible that the process of fixing this missed some " +"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)" +"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 "" -"A new module, :mod:`unicodedata`, provides an interface to Unicode character" -" properties. For example, ``unicodedata.category(u'A')`` returns the " -"2-character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning " -"that it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN'," -" meaning that U+0660 is an Arabic number." +"A new module, :mod:`unicodedata`, provides an interface to Unicode character " +"properties. For example, ``unicodedata.category(u'A')`` returns the 2-" +"character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that " +"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." +"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 "" "The :mod:`codecs` module contains functions to look up existing encodings " "and register new ones. Unless you want to implement a new encoding, you'll " -"most often use the ``codecs.lookup(encoding)`` function, which returns a " -"4-element tuple: ``(encode_func, decode_func, stream_reader, " -"stream_writer)``." +"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)``." +"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 "" -"*encode_func* is a function that takes a Unicode string, and returns a " -"2-tuple ``(string, length)``. *string* is an 8-bit string containing a " +"*encode_func* is a function that takes a Unicode string, and returns a 2-" +"tuple ``(string, length)``. *string* is an 8-bit string containing a " "portion (perhaps all) of the Unicode string converted into the given " "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." +"*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 "" "*decode_func* is the opposite of *encode_func*, taking an 8-bit string and " "returning a 2-tuple ``(ustring, length)``, consisting of the resulting " -"Unicode string *ustring* and the integer *length* telling how much of the " -"8-bit string was consumed." +"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 " @@ -504,9 +499,9 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:219 msgid "" "*stream_reader* is a class that supports decoding input from a stream. " -"*stream_reader(file_obj)* returns an object that supports the :meth:`!read`," -" :meth:`!readline`, and :meth:`!readlines` methods. These methods will all " -"translate from the given encoding and return Unicode strings." +"*stream_reader(file_obj)* returns an object that supports the :meth:`!" +"read`, :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 admite la decodificación de la entrada de " "un flujo. *stream_reader(file_obj)* devuelve un objeto que admite los " @@ -517,9 +512,9 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:224 msgid "" "*stream_writer*, similarly, is a class that supports encoding output to a " -"stream. *stream_writer(file_obj)* returns an object that supports the " -":meth:`!write` and :meth:`!writelines` methods. These methods expect " -"Unicode strings, translating them to the given encoding on output." +"stream. *stream_writer(file_obj)* returns an object that supports the :meth:" +"`!write` and :meth:`!writelines` methods. These methods expect Unicode " +"strings, translating them to the given encoding on output." msgstr "" "De manera similar, *stream_writer* es una clase que admite la codificación " "de la salida en una secuencia. *stream_writer(file_obj)* devuelve un objeto " @@ -578,23 +573,23 @@ 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." +"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 "" "A ``-U`` command line option was added which causes the Python compiler to " "interpret all string literals as Unicode string literals. This is intended " "to be used in testing and future-proofing your Python code, since some " -"future version of Python may drop support for 8-bit strings and provide only" -" Unicode strings." +"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 " +"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 @@ -613,8 +608,8 @@ 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 " +"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 @@ -623,10 +618,10 @@ msgid "" "purpose, but they require a function as one of their arguments. This is " "fine if there's an existing built-in function that can be passed directly, " "but if there isn't, you have to create a little function to do the required " -"work, and Python's scoping rules make the result ugly if the little function" -" needs additional information. Take the first example in the previous " -"paragraph, finding all the strings in the list containing a given substring." -" You could write the following to do it::" +"work, and Python's scoping rules make the result ugly if the little function " +"needs additional information. Take the first example in the previous " +"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 " @@ -657,8 +652,8 @@ 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 " +"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::" @@ -688,17 +683,17 @@ msgid "" "iterated over. The sequences do not have to be the same length, because " "they are *not* iterated over in parallel, but from left to right; this is " "explained more clearly in the following paragraphs. The elements of the " -"generated list will be the successive values of *expression*. The final " -":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." +"generated list will be the successive values of *expression*. The final :" +"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 "" @@ -735,9 +730,9 @@ 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 " +"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:324 @@ -785,11 +780,11 @@ 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 " +"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 @@ -799,10 +794,10 @@ msgstr "Asignación aumentada" #: ../Doc/whatsnew/2.0.rst:351 msgid "" "Augmented assignment operators, another long-requested feature, have been " -"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``," -" ``*=``, and so forth. For example, the statement ``a += 2`` increments the" -" value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a" -" = a + 2``." +"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``, " +"``*=``, and so forth. For example, the statement ``a += 2`` increments the " +"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 " @@ -823,8 +818,8 @@ msgstr "" "``*=``, ``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=`` y ``<<=``. " "Las clases de Python pueden anular los operadores de asignación aumentados " "definiendo métodos denominados :meth:`!__iadd__`, :meth:`!__isub__`, etc. " -"Por ejemplo, la siguiente clase :class:`!Number` almacena un número y admite" -" el uso de += para crear una nueva instancia con un valor incrementado." +"Por ejemplo, la siguiente clase :class:`!Number` almacena un número y admite " +"el uso de += para crear una nueva instancia con un valor incrementado." #: ../Doc/whatsnew/2.0.rst:367 msgid "" @@ -867,8 +862,8 @@ 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, " +"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." @@ -878,21 +873,21 @@ msgstr "Métodos de cadena de caracteres" #: ../Doc/whatsnew/2.0.rst:392 msgid "" -"Until now string-manipulation functionality was in the :mod:`string` module," -" which was usually a front-end for the :mod:`!strop` module written in C. " +"Until now string-manipulation functionality was in the :mod:`string` module, " +"which was usually a front-end for the :mod:`!strop` module written in C. " "The addition of Unicode posed a difficulty for the :mod:`!strop` module, " "because the functions would all need to be rewritten in order to accept " -"either 8-bit or Unicode strings. For functions such as " -":func:`!string.replace`, which takes 3 string arguments, that means eight " -"possible permutations, and correspondingly complicated code." -msgstr "" -"Hasta ahora, la funcionalidad de manipulación de cadenas estaba en el módulo" -" :mod:`string`, que normalmente era una interfaz para el módulo " -":mod:`!strop` escrito en C. La incorporación de Unicode planteó una " -"dificultad para el módulo :mod:`!strop`, porque todas las funciones debían " -"reescribirse para aceptar cadenas de 8 bits o Unicode. Para funciones como " -":func:`!string.replace`, que acepta 3 cadenas como argumentos, eso significa" -" ocho permutaciones posibles y, en consecuencia, un código complicado." +"either 8-bit or Unicode strings. For functions such as :func:`!string." +"replace`, which takes 3 string arguments, that means eight possible " +"permutations, and correspondingly complicated code." +msgstr "" +"Hasta ahora, la funcionalidad de manipulación de cadenas estaba en el " +"módulo :mod:`string`, que normalmente era una interfaz para el módulo :mod:`!" +"strop` escrito en C. La incorporación de Unicode planteó una dificultad para " +"el módulo :mod:`!strop`, porque todas las funciones debían reescribirse para " +"aceptar cadenas de 8 bits o Unicode. Para funciones como :func:`!string." +"replace`, que acepta 3 cadenas como argumentos, eso significa ocho " +"permutaciones posibles y, en consecuencia, un código complicado." #: ../Doc/whatsnew/2.0.rst:400 msgid "" @@ -927,8 +922,8 @@ 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 " +"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 @@ -943,28 +938,28 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:418 msgid "" "Two methods which have no parallel in pre-2.0 versions, although they did " -"exist in JPython for quite some time, are :meth:`!startswith` and " -":meth:`!endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``," -" while ``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." +"exist in JPython for quite some time, are :meth:`!startswith` and :meth:`!" +"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 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``." +"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 "" -"One other method which deserves special mention is :meth:`!join`. The " -":meth:`!join` method of a string receives one parameter, a sequence of " -"strings, and is equivalent to the :func:`!string.join` function from the old" -" :mod:`string` module, with the arguments reversed. In other words, " -"``s.join(seq)`` is equivalent to the old ``string.join(seq, s)``." +"One other method which deserves special mention is :meth:`!join`. The :meth:" +"`!join` method of a string receives one parameter, a sequence of strings, " +"and is equivalent to the :func:`!string.join` function from the old :mod:" +"`string` 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 el :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, el " -"``s.join(seq)`` es equivalente al antiguo ``string.join(seq, s)``." +"Otro método que merece una mención especial es el :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, el ``s." +"join(seq)`` es equivalente al antiguo ``string.join(seq, s)``." #: ../Doc/whatsnew/2.0.rst:433 msgid "Garbage Collection of Cycles" @@ -984,21 +979,21 @@ msgstr "" "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." +"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 "" -"Reference counting has some pleasant properties: it's easy to understand and" -" implement, and the resulting implementation is portable, fairly fast, and " +"Reference counting has some pleasant properties: it's easy to understand and " +"implement, and the resulting implementation is portable, fairly fast, and " "reacts well with other libraries that implement their own memory handling " "schemes. The major problem with reference counting is that it sometimes " -"doesn't realise that objects are no longer accessible, resulting in a memory" -" leak. This happens when there are cycles of references." +"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 " +"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 " @@ -1022,9 +1017,9 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:455 msgid "" -"After the above two lines of code have been executed, the reference count of" -" ``instance`` is 2; one reference is from the variable named ``'instance'``," -" and the other is from the ``myself`` attribute of the instance." +"After the above two lines of code have been executed, the reference count of " +"``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 " @@ -1034,16 +1029,16 @@ msgstr "" msgid "" "If the next line of code is ``del instance``, what happens? The reference " "count of ``instance`` is decreased by 1, so it has a reference count of 1; " -"the reference in the ``myself`` attribute still exists. Yet the instance is" -" no longer accessible through Python code, and it could be deleted. Several" -" objects can participate in a cycle if they have references to each other, " +"the reference in the ``myself`` attribute still exists. Yet the instance is " +"no longer accessible through Python code, and it could be deleted. Several " +"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 " +"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 " +"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." @@ -1055,8 +1050,8 @@ 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 " +"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." @@ -1065,9 +1060,9 @@ msgstr "" msgid "" "Running the cycle detection algorithm takes some time, and therefore will " "result in some additional overhead. It is hoped that after we've gotten " -"experience with the cycle collection from using 2.0, Python 2.1 will be able" -" to minimize the overhead with careful tuning. It's not yet obvious how " -"much performance is lost, because benchmarking this is tricky and depends " +"experience with the cycle collection from using 2.0, Python 2.1 will be able " +"to minimize the overhead with careful tuning. It's not yet obvious how much " +"performance is lost, because benchmarking this is tricky and depends " "crucially on how often the program creates and destroys objects. The " "detection of cycles can be disabled when Python is compiled, if you can't " "afford even a tiny speed penalty or suspect that the cycle collection is " @@ -1088,20 +1083,20 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:482 msgid "" -"Several people tackled this problem and contributed to a solution. An early" -" implementation of the cycle detection approach was written by Toby Kelsey." -" The current algorithm was suggested by Eric Tiedemann during a visit to " +"Several people tackled this problem and contributed to a solution. An early " +"implementation of the cycle detection approach was written by Toby Kelsey. " +"The current algorithm was suggested by Eric Tiedemann during a visit to " "CNRI, and Guido van Rossum and Neil Schemenauer wrote two different " "implementations, which were later integrated by Neil. Lots of other people " -"offered suggestions along the way; the March 2000 archives of the python-dev" -" mailing list contain most of the relevant discussion, especially in the " +"offered suggestions along the way; the March 2000 archives of the python-dev " +"mailing list contain most of the relevant discussion, especially in the " "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 " +"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 " @@ -1135,18 +1130,17 @@ msgid "" "kw)`` calls the function :func:`!f` with the argument tuple *args* and the " "keyword arguments in the dictionary *kw*. :func:`!apply` is the same in " "2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " -"and clearer way to achieve the same effect. This syntax is symmetrical with" -" the syntax for defining functions::" +"and clearer way to achieve the same effect. This syntax is symmetrical with " +"the syntax for defining functions::" msgstr "" "Una nueva sintaxis hace que sea 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 usaba 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 " -"lograr el mismo efecto. Esta sintaxis es simétrica con la sintaxis para " -"definir funciones:" +"clave. En Python 1.5 y anteriores, se usaba 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 lograr el mismo " +"efecto. Esta sintaxis es simétrica con la sintaxis para definir funciones:" #: ../Doc/whatsnew/2.0.rst:513 msgid "" @@ -1156,23 +1150,23 @@ msgid "" " ..." msgstr "" "def f(*args, **kw):\n" -"# args es una tupla de argumentos posicionales,\n" -"# kw es un diccionario de argumentos de palabras clave\n" -"..." +" # args is a tuple of positional args,\n" +" # kw is a dictionary of keyword args\n" +" ..." #: ../Doc/whatsnew/2.0.rst:518 msgid "" "The ``print`` statement can now have its output directed to a file-like " "object by following the ``print`` with ``>> file``, similar to the " -"redirection operator in Unix shells. Previously you'd either have to use the" -" :meth:`!write` method of the file-like object, which lacks the convenience " -"and simplicity of ``print``, or you could assign a new value to " +"redirection operator in Unix shells. Previously you'd either have to use " +"the :meth:`!write` method of the file-like object, which lacks the " +"convenience and simplicity of ``print``, or you could assign a new value to " "``sys.stdout`` and then restore the old value. For sending output to " "standard error, it's much easier to write this::" msgstr "" "Ahora, la salida de la sentencia ``print`` puede dirigirse a un objeto " -"similar a un archivo si se sigue ``print`` con ``>> file``, de forma similar" -" al operador de redirección de los shells de Unix. Antes, se tenía que " +"similar a un archivo si se sigue ``print`` con ``>> file``, de forma similar " +"al operador de redirección de los shells de Unix. Antes, se tenía que " "utilizar el método :meth:`!write` del objeto similar a un archivo, que " "carece de la comodidad y la simplicidad de ``print``, o se podía asignar un " "nuevo valor a ``sys.stdout`` y luego restaurar el valor anterior. Para " @@ -1180,13 +1174,14 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:526 msgid "print >> sys.stderr, \"Warning: action field not supplied\"" -msgstr "imprimir >> sys.stderr, \"Advertencia: campo de acción no suministrado\"" +msgstr "" +"imprimir >> sys.stderr, \"Advertencia: campo de acción no suministrado\"" #: ../Doc/whatsnew/2.0.rst:528 msgid "" "Modules can now be renamed on importing them, using the syntax ``import " -"module as name`` or ``from module import name as othername``. The patch was" -" submitted by Thomas Wouters." +"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 " @@ -1227,8 +1222,8 @@ msgstr "" "la secuencia hasta que se encuentre *obj* o :exc:`IndexError`. Moshe Zadka " "contribuyó con un parche que agrega 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 " +"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 @@ -1236,15 +1231,15 @@ msgid "" "Earlier versions of Python used a recursive algorithm for deleting objects. " "Deeply nested data structures could cause the interpreter to fill up the C " "stack and crash; Christian Tismer rewrote the deletion logic to fix this " -"problem. On a related note, comparing recursive objects recursed infinitely" -" and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a" -" useful result instead. For example, after this code::" +"problem. On a related note, comparing recursive objects recursed infinitely " +"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; " +"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::" @@ -1263,8 +1258,8 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:559 msgid "" "The comparison ``a==b`` returns true, because the two recursive data " -"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April" -" 2000 archives of the python-dev mailing list for the discussion leading up " +"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April " +"2000 archives of the python-dev mailing list for the discussion leading up " "to this implementation, and some useful relevant links. Note that " "comparisons can now also raise exceptions. In earlier versions of Python, a " "comparison operation such as ``cmp(a,b)`` would always produce an answer, " @@ -1276,19 +1271,19 @@ msgstr "" "archivos de abril de 2000 de la lista de correo python-dev para ver 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 produciría una respuesta, incluso si un método " -":meth:`!__cmp__` definido por el usuario encontrara un error, ya que la " +"excepciones. En versiones anteriores de Python, una operación de comparación " +"como ``cmp(a,b)`` siempre produciría una respuesta, incluso si un método :" +"meth:`!__cmp__` definido por el usuario encontrara un error, ya que la " "excepción resultante simplemente se tragaría silenciosamente." #: ../Doc/whatsnew/2.0.rst:571 msgid "" "Work has been done on porting Python to 64-bit Windows on the Itanium " -"processor, mostly by Trent Mick of ActiveState. (Confusingly, " -"``sys.platform`` is still ``'win32'`` on Win64 because it seems that for " -"ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin " -"also supports Windows CE; see the Python CE page at " -"https://pythonce.sourceforge.net/ for more information." +"processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys." +"platform`` is still ``'win32'`` on Win64 because it seems that for ease of " +"porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also " +"supports Windows CE; see the Python CE page at https://pythonce.sourceforge." +"net/ for more information." msgstr "" "Se ha trabajado en la migración de Python a Windows de 64 bits en el " "procesador Itanium, principalmente por Trent Mick de ActiveState. " @@ -1306,8 +1301,8 @@ msgid "" "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 " +"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 @@ -1316,20 +1311,20 @@ msgid "" "confusing :exc:`NameError` exception when code refers to a local variable " "before the variable has been assigned a value. For example, the following " "code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " -"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new " -":exc:`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass " -"of :exc:`NameError`, so any existing code that expects :exc:`NameError` to " -"be raised should still work. ::" +"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new :exc:" +"`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass of :" +"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. ::" +"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:590 msgid "" @@ -1349,9 +1344,9 @@ 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." +"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" @@ -1367,49 +1362,49 @@ msgid "" "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." +"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 "" "The :func:`int` and :func:`!long` functions now accept an optional \"base\" " "parameter when the first argument is a string. ``int('123', 10)`` returns " -"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a " -":exc:`TypeError` exception with the message \"can't convert non-string with " +"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a :exc:" +"`TypeError` exception with the message \"can't convert non-string with " "explicit base\"." msgstr "" "Las funciones :func:`int` y :func:`!long` ahora aceptan un parámetro " "\"base\" opcional cuando el primer argumento es una cadena. ``int('123', " -"10)`` devuelve 123, mientras que ``int('123', 16)`` devuelve 291. ``int(123," -" 16)`` genera una excepción :exc:`TypeError` con el mensaje \"no se puede " +"10)`` devuelve 123, mientras que ``int('123', 16)`` devuelve 291. ``int(123, " +"16)`` genera una excepción :exc:`TypeError` con el mensaje \"no se puede " "convertir una cadena con una base explícita\"." #: ../Doc/whatsnew/2.0.rst:616 msgid "" "A new variable holding more detailed version information has been added to " "the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " -"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, " -"``sys.version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string " -"such as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." +"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, ``sys." +"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." +"*level* es una cadena como ``\"alpha\"``, ``\"beta\"``, o ``\"final\"`` para " +"una versión final." #: ../Doc/whatsnew/2.0.rst:622 msgid "" "Dictionaries have an odd new method, ``setdefault(key, default)``, which " "behaves similarly to the existing :meth:`!get` method. However, if the key " -"is missing, :meth:`!setdefault` both returns the value of *default* as " -":meth:`!get` would do, and also inserts it into the dictionary as the value " -"for *key*. Thus, the following lines of code::" +"is missing, :meth:`!setdefault` both returns the value of *default* as :meth:" +"`!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 método extraño, ``setdefault(key, " "default)``, que se comporta de manera similar al método :meth:`!get` " @@ -1441,19 +1436,19 @@ msgid "" "The interpreter sets a maximum recursion depth in order to catch runaway " "recursion before filling the C stack and causing a core dump or GPF.. " "Previously this limit was fixed when you compiled Python, but in 2.0 the " -"maximum recursion depth can be read and modified using " -":func:`sys.getrecursionlimit` and :func:`sys.setrecursionlimit`. The default" -" value is 1000, and a rough maximum value for a given platform can be found " -"by running a new script, :file:`Misc/find_recursionlimit.py`." +"maximum recursion depth can be read and modified using :func:`sys." +"getrecursionlimit` and :func:`sys.setrecursionlimit`. The default value is " +"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`." +"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" @@ -1463,16 +1458,16 @@ msgstr "Adaptación a la versión 2.0" msgid "" "New Python releases try hard to be compatible with previous releases, and " "the record has been pretty good. However, some changes are considered " -"useful enough, usually because they fix initial design decisions that turned" -" out to be actively mistaken, that breaking backward compatibility can't " +"useful enough, usually because they fix initial design decisions that turned " +"out to be actively mistaken, that breaking backward compatibility can't " "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 " +"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." @@ -1484,8 +1479,8 @@ msgid "" "as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " "``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " "list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " -"with the message: 'append requires exactly 1 argument; 2 given'. The fix is" -" to simply add an extra set of parentheses to pass both values as a tuple: " +"with the message: 'append requires exactly 1 argument; 2 given'. The fix is " +"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 ajuste " @@ -1507,48 +1502,46 @@ msgid "" "parsing function, which provides more helpful error messages and treats " "multi-argument calls as errors. If you absolutely must use 2.0 but can't " "fix your code, you can edit :file:`Objects/listobject.c` and define the " -"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour;" -" this isn't recommended." +"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 función antigua en la interfaz C de Python para analizar sus " -"argumentos; la versión 2.0 los moderniza para utilizar " -":c:func:`PyArg_ParseTuple`, la función de análisis de argumentos actual, que" -" proporciona mensajes de error más útiles y trata las llamadas de múltiples " +"argumentos; la versión 2.0 los moderniza para utilizar :c:func:" +"`PyArg_ParseTuple`, la función de análisis de argumentos actual, que " +"proporciona mensajes de error más útiles y trata las llamadas de múltiples " "argumentos como errores. Si es absolutamente necesario utilizar la versión " -"2.0 pero no puede corregir su código, puede editar " -":file:`Objects/listobject.c` y definir el símbolo de preprocesador " -"``NO_STRICT_LIST_APPEND`` para preservar el comportamiento anterior; esto no" -" se recomienda." +"2.0 pero no puede corregir su código, puede editar :file:`Objects/listobject." +"c` y definir el símbolo de preprocesador ``NO_STRICT_LIST_APPEND`` para " +"preservar el comportamiento anterior; esto no se recomienda." #: ../Doc/whatsnew/2.0.rst:673 msgid "" "Some of the functions in the :mod:`socket` module are still forgiving in " "this way. For example, ``socket.connect( ('hostname', 25) )`` is the " -"correct form, passing a tuple representing an IP address, but " -"``socket.connect('hostname', 25)`` also works. :meth:`socket.connect_ex " -"` and :meth:`socket.bind ` are" -" similarly easy-going. 2.0alpha1 tightened these functions up, but because " +"correct form, passing a tuple representing an IP address, but ``socket." +"connect('hostname', 25)`` also works. :meth:`socket.connect_ex ` and :meth:`socket.bind ` are " +"similarly easy-going. 2.0alpha1 tightened these functions up, but because " "the documentation actually used the erroneous multiple argument form, many " "people wrote code which would break with the stricter checking. GvR backed " "out the changes in the face of public reaction, so for the :mod:`socket` " -"module, the documentation was fixed and the multiple argument form is simply" -" marked as deprecated; it *will* be tightened up again in a future Python " +"module, the documentation was fixed and the multiple 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, ``socket.connect( ('hostname', 25) )`` es la " "forma correcta, ya que pasa una tupla que representa una dirección IP, pero " -"``socket.connect('hostname', 25)`` también funciona. " -":meth:`socket.connect_ex ` y :meth:`socket.bind " -"` son igualmente fáciles de usar. 2.0alpha1 restringió " -"estas funciones, pero debido a que la documentación en realidad usaba la " -"forma de argumentos múltiples errónea, muchas personas escribieron código " -"que rompería con la verificación más estricta. GvR retiró los cambios ante " -"la reacción del público, por lo que para el módulo :mod:`socket`, la " -"documentación se corrigió y la forma de argumentos múltiples simplemente se " -"marcó como obsoleta; *will* se ajustará nuevamente en una futura versión de " -"Python." +"``socket.connect('hostname', 25)`` también funciona. :meth:`socket." +"connect_ex ` y :meth:`socket.bind ` son igualmente fáciles de usar. 2.0alpha1 restringió estas funciones, " +"pero debido a que la documentación en realidad usaba la forma de argumentos " +"múltiples errónea, muchas personas escribieron código que rompería con la " +"verificación más estricta. GvR retiró los cambios ante la reacción del " +"público, por lo que para el módulo :mod:`socket`, la documentación se " +"corrigió y la forma de argumentos múltiples simplemente se marcó como " +"obsoleta; *will* se ajustará nuevamente en una futura versión de Python." #: ../Doc/whatsnew/2.0.rst:684 msgid "" @@ -1566,9 +1559,9 @@ msgstr "" msgid "" "The :exc:`AttributeError` and :exc:`NameError` exceptions have a more " "friendly error message, whose text will be something like ``'Spam' instance " -"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the" -" error message was just the missing attribute name ``eggs``, and code " -"written to take advantage of this fact will break in 2.0." +"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the " +"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 " @@ -1581,10 +1574,10 @@ msgstr "" msgid "" "Some work has been done to make integers and long integers a bit more " "interchangeable. In 1.5.2, large-file support was added for Solaris, to " -"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of" -" file objects return a long integer instead of a regular integer. Some code" -" would subtract two file offsets and attempt to use the result to multiply a" -" sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " +"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of " +"file objects return a long integer instead of a regular integer. Some code " +"would subtract two file offsets and attempt to use the result to multiply a " +"sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " "long integers can be used to multiply or slice a sequence, and it'll behave " "as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " "``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " @@ -1598,11 +1591,11 @@ msgstr "" "archivos grandes para Solaris, para permitir la lectura de archivos mayores " "a 2 GiB; esto hizo que el método :meth:`!tell` de objetos de archivo " "devolviera un número entero largo en lugar de un número entero regular. " -"Algunos códigos restaban dos desplazamientos de archivo e intentaban usar el" -" resultado para multiplicar una secuencia o cortar una cadena, pero esto " +"Algunos códigos restaban dos desplazamientos de archivo e intentaban usar el " +"resultado para multiplicar una secuencia o cortar una cadena, pero esto " "generaba un :exc:`TypeError`. En 2.0, los números enteros largos se pueden " -"usar para multiplicar o cortar una secuencia, y se comportará como esperaría" -" intuitivamente; ``3L * 'abc'`` produce 'abcabcabc' y ``(0,1,2,3)[2L:4L]`` " +"usar para multiplicar o cortar una secuencia, y se comportará como esperaría " +"intuitivamente; ``3L * 'abc'`` produce 'abcabcabc' y ``(0,1,2,3)[2L:4L]`` " "produce (2,3). Los números enteros largos también se pueden usar en varios " "contextos donde anteriormente solo se aceptaban números enteros, como en el " "método :meth:`!seek` de objetos de archivo y en los formatos admitidos por " @@ -1615,28 +1608,28 @@ msgid "" "integer no longer has a trailing 'L' character, though :func:`repr` still " "includes it. The 'L' annoyed many people who wanted to print long integers " "that looked just like regular integers, since they had to go out of their " -"way to chop off the character. This is no longer a problem in 2.0, but code" -" which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now " -"lose the final digit." +"way to chop off the character. This is no longer a problem in 2.0, but code " +"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 " +"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 " +"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 msgid "" -"Taking the :func:`repr` of a float now uses a different formatting precision" -" than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's " -":func:`!sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is" -" that :func:`repr` may occasionally show more decimal places than " -":func:`str`, for certain numbers. For example, the number 8.1 can't be " -"represented exactly in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``," -" while str(8.1) is ``'8.1'``." +"Taking the :func:`repr` of a float now uses a different formatting precision " +"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:`!" +"sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is that :" +"func:`repr` may occasionally show more decimal places than :func:`str`, for " +"certain numbers. For example, the number 8.1 can't be represented exactly " +"in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is " +"``'8.1'``." msgstr "" "Ahora, al tomar el :func:`repr` de un float, se utiliza una precisión de " "formato diferente a la de :func:`str`. :func:`repr` utiliza la cadena de " @@ -1674,31 +1667,31 @@ msgid "" 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." +"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 "" "The version number of the Python C API was incremented, so C extensions " "compiled for 1.5.2 must be recompiled in order to work with 2.0. On " "Windows, it's not possible for Python 2.0 to import a third party extension " -"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an" -" exception and the import will fail." +"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á." +"las DLL de Windows, por lo que Python lanzará una excepción y la importación " +"fallará." #: ../Doc/whatsnew/2.0.rst:753 msgid "" -"Users of Jim Fulton's ExtensionClass module will be pleased to find out that" -" hooks have been added so that ExtensionClasses are now supported by " -":func:`isinstance` and :func:`issubclass`. This means you no longer have to " -"remember to write code such as ``if type(obj) == myExtensionClass``, but can" -" use the more natural ``if isinstance(obj, myExtensionClass)``." +"Users of Jim Fulton's ExtensionClass module will be pleased to find out that " +"hooks have been added so that ExtensionClasses are now supported by :func:" +"`isinstance` and :func:`issubclass`. This means you no longer have to " +"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 " @@ -1711,33 +1704,33 @@ msgstr "" msgid "" "The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support " "dynamic loading on many different platforms, was cleaned up and reorganised " -"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific" -" code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " +"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific " +"code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " "Another cleanup: there were also a number of :file:`my\\*.h` files in the " "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 " +"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`." +"hacks de portabilidad; se han fusionado en un único archivo, :file:`Include/" +"pyport.h`." #: ../Doc/whatsnew/2.0.rst:767 msgid "" "Vladimir Marangozov's long-awaited malloc restructuring was completed, to " "make it easy to have the Python interpreter use a custom allocator instead " -"of C's standard :c:func:`malloc`. For documentation, read the comments in " -":file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " +"of C's standard :c:func:`malloc`. For documentation, read the comments in :" +"file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " "discussions during which the interface was hammered out, see the web " "archives of the 'patches' and 'python-dev' lists at python.org." msgstr "" "La esperada reestructuración de malloc de Vladimir Marangozov se completó " -"para facilitar que el intérprete de Python use un asignador personalizado en" -" lugar del :c:func:`malloc` estándar de C. Para consultar la documentación, " +"para facilitar que el intérprete de Python use un asignador personalizado en " +"lugar del :c:func:`malloc` estándar de C. Para consultar la documentación, " "lea los comentarios en :file:`Include/pymem.h` y :file:`Include/objimpl.h`. " "Para consultar las extensas discusiones durante las cuales se elaboró ​​la " "interfaz, consulte los archivos web de las listas 'patches' y 'python-dev' " @@ -1758,11 +1751,11 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:779 msgid "" "Threading support on Windows was enhanced, too. Windows supports thread " -"locks that use kernel objects only in case of contention; in the common case" -" when there's no contention, they use simpler functions which are an order " -"of magnitude faster. A threaded version of Python 1.5.2 on NT is twice as " -"slow as an unthreaded version; with the 2.0 changes, the difference is only " -"10%. These improvements were contributed by Yakov Markovitch." +"locks that use kernel objects only in case of contention; in the common case " +"when there's no contention, they use simpler functions which are an order of " +"magnitude faster. A threaded version of Python 1.5.2 on NT is twice as slow " +"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 " @@ -1774,9 +1767,9 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:786 msgid "" -"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now" -" requires an ANSI C compiler, and can no longer be done using a compiler " -"that only supports K&R C." +"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now " +"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 " @@ -1785,46 +1778,46 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:790 msgid "" "Previously the Python virtual machine used 16-bit numbers in its bytecode, " -"limiting the size of source files. In particular, this affected the maximum" -" size of literal lists and dictionaries in Python source; occasionally " -"people 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``." +"limiting the size of source files. In particular, this affected the maximum " +"size of literal lists and dictionaries in Python source; occasionally people " +"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 " +"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 "" "Three new convenience functions intended for adding constants to a module's " -"dictionary at module initialization time were added: " -":c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, and " -":c:func:`PyModule_AddStringConstant`. Each of these functions takes a " -"module object, a null-terminated C string containing the name to be added, " -"and a third argument for the value to be assigned to the name. This third " +"dictionary at module initialization time were added: :c:func:" +"`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, and :c:func:" +"`PyModule_AddStringConstant`. Each of these functions takes a module " +"object, a null-terminated C string containing the name to be added, and a " +"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 agregaron tres nuevas funciones de conveniencia destinadas a agregar " "constantes al diccionario de un módulo en el momento de inicialización del " -"módulo: :c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant` y " -":c:func:`PyModule_AddStringConstant`. Cada una de estas funciones toma un " +"módulo: :c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant` y :c:" +"func:`PyModule_AddStringConstant`. Cada una de estas funciones toma un " "objeto de módulo, una cadena C terminada en cero que contiene el nombre que " "se agregará y un tercer argumento para el valor que se asignará al nombre. " -"Este tercer argumento es, respectivamente, un objeto Python, un long C o una" -" cadena C." +"Este tercer argumento es, respectivamente, un objeto Python, un long C o una " +"cadena C." #: ../Doc/whatsnew/2.0.rst:804 msgid "" -"A wrapper API was added for Unix-style signal handlers. " -":c:func:`PyOS_getsig` gets a signal handler and :c:func:`PyOS_setsig` will " -"set a new handler." +"A wrapper API was added for Unix-style signal handlers. :c:func:" +"`PyOS_getsig` gets a signal handler and :c:func:`PyOS_setsig` will set a new " +"handler." msgstr "" "Se agregó una API contenedora para los controladores de señales de estilo " -"Unix. :c:func:`PyOS_getsig` obtiene un controlador de señales y " -":c:func:`PyOS_setsig` establecerá un nuevo controlador." +"Unix. :c:func:`PyOS_getsig` obtiene un controlador de señales y :c:func:" +"`PyOS_setsig` establecerá un nuevo controlador." #: ../Doc/whatsnew/2.0.rst:811 msgid "Distutils: Making Modules Easy to Install" @@ -1834,12 +1827,12 @@ msgstr "Distutils: Facilitando la instalación de módulos" msgid "" "Before Python 2.0, installing modules was a tedious affair -- there was no " "way to figure out automatically where Python is installed, or what compiler " -"options to use for extension modules. Software authors had to go through an" -" arduous ritual of editing Makefiles and configuration files, which only " +"options to use for extension modules. Software authors had to go through an " +"arduous ritual of editing Makefiles and configuration files, which only " "really work on Unix and leave Windows and MacOS unsupported. Python users " "faced wildly differing installation instructions which varied between " -"different extension packages, which made administering a Python installation" -" something of a chore." +"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é " @@ -1847,28 +1840,28 @@ msgstr "" "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 " +"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 "" -"The SIG for distribution utilities, shepherded by Greg Ward, has created the" -" Distutils, a system to make package installation much easier. They form " -"the ``distutils`` package, a new part of Python's standard library. In the " -"best case, installing a Python module from source will require the same " -"steps: first you simply mean unpack the tarball or zip archive, and the run " +"The SIG for distribution utilities, shepherded by Greg Ward, has created the " +"Distutils, a system to make package installation much easier. They form the " +"``distutils`` package, a new part of Python's standard library. In the best " +"case, installing a Python module from source will require the same steps: " +"first you simply mean unpack the tarball or zip archive, and the run " "\"``python setup.py install``\". The platform will be automatically " "detected, the compiler will be recognized, C extension modules will be " "compiled, and the distribution installed into the proper directory. " "Optional command-line arguments provide more control over the installation " "process, the distutils package offers many places to override defaults -- " -"separating the build from the install, building or installing in non-default" -" directories, and more." +"separating the build from the install, building or installing in non-default " +"directories, and more." msgstr "" "El SIG para utilidades de distribución, dirigido por Greg Ward, ha creado " -"Distutils, un sistema para facilitar enormemente la instalación de paquetes." -" Forman el paquete ``distutils``, una nueva parte de la biblioteca estándar " +"Distutils, un sistema para facilitar enormemente la instalación de paquetes. " +"Forman el paquete ``distutils``, una nueva parte de la biblioteca estándar " "de Python. En el mejor de los casos, instalar un módulo Python desde el " "código fuente requerirá los mismos pasos: primero, simplemente hay que " "descomprimir el archivo tarball o zip y ejecutar \"``python setup.py " @@ -1882,13 +1875,13 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:833 msgid "" -"In order to use the Distutils, you need to write a :file:`setup.py` script." -" For the simple case, when the software contains only .py files, a minimal " -":file:`setup.py` can be just a few lines long::" +"In order to use the Distutils, you need to write a :file:`setup.py` script. " +"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::" +"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:837 msgid "" @@ -1905,8 +1898,8 @@ 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::" +"El archivo :file:`setup.py` no es mucho más complicado si el software consta " +"de unos pocos paquetes::" #: ../Doc/whatsnew/2.0.rst:844 msgid "" @@ -1920,8 +1913,8 @@ msgstr "" #: ../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::" +"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::" @@ -1967,11 +1960,11 @@ msgid "" 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 " +"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 @@ -1992,26 +1985,26 @@ msgid "" "module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " "different interfaces for processing XML have become common: SAX2 (version 2 " "of the Simple API for XML) provides an event-driven interface with some " -"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides" -" a tree-based interface, transforming an XML document into a tree of nodes " +"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides " +"a tree-based interface, transforming an XML document into a tree of nodes " "that can be traversed and modified. Python 2.0 includes a SAX2 interface " -"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we" -" will give a brief overview of these new interfaces; consult the Python " -"documentation or the source code for complete details. The Python XML SIG is" -" also working on improved documentation." -msgstr "" -"Python 1.5.2 incluía un analizador XML simple en forma del módulo " -":mod:`!xmllib`, aportado por Sjoerd Mullender. Desde el lanzamiento de la " -"versión 1.5.2, se han vuelto comunes dos interfaces diferentes para procesar" -" XML: SAX2 (versión 2 de la API simple para XML) proporciona una interfaz " -"basada en eventos con algunas similitudes con :mod:`!xmllib`, y DOM " -"(Document Object Model) proporciona una interfaz basada en árboles, " -"transformando un documento XML en un árbol de nodos que se puede recorrer y " -"modificar. Python 2.0 incluye una interfaz SAX2 y una interfaz DOM " -"simplificada como parte del paquete :mod:`xml`. Aquí daremos una breve " -"descripción general de estas nuevas interfaces; consulte la documentación de" -" Python o el código fuente para obtener detalles completos. El SIG de XML de" -" Python también está trabajando en una documentación mejorada." +"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we " +"will give a brief overview of these new interfaces; consult the Python " +"documentation or the source code for complete details. The Python XML SIG is " +"also working on improved documentation." +msgstr "" +"Python 1.5.2 incluía un analizador XML simple en forma del módulo :mod:`!" +"xmllib`, aportado por Sjoerd Mullender. Desde el lanzamiento de la versión " +"1.5.2, se han vuelto comunes dos interfaces diferentes para procesar XML: " +"SAX2 (versión 2 de la API simple para XML) proporciona una interfaz basada " +"en eventos con algunas similitudes con :mod:`!xmllib`, y DOM (Document " +"Object Model) proporciona una interfaz basada en árboles, transformando un " +"documento XML en un árbol de nodos que se puede recorrer y modificar. Python " +"2.0 incluye una interfaz SAX2 y una interfaz DOM simplificada como parte del " +"paquete :mod:`xml`. Aquí daremos una breve descripción general de estas " +"nuevas interfaces; consulte la documentación de Python o el código fuente " +"para obtener detalles completos. El SIG de XML de Python también está " +"trabajando en una documentación mejorada." #: ../Doc/whatsnew/2.0.rst:896 msgid "SAX2 Support" @@ -2019,25 +2012,24 @@ msgstr "Soporte de SAX2" #: ../Doc/whatsnew/2.0.rst:898 msgid "" -"SAX defines an event-driven interface for parsing XML. To use SAX, you must" -" write a SAX handler class. Handler classes inherit from various classes " +"SAX defines an event-driven interface for parsing XML. To use SAX, you must " +"write a SAX handler class. Handler classes inherit from various classes " "provided by SAX, and override various methods that will then be called by " -"the XML parser. For example, the " -":meth:`~xml.sax.handler.ContentHandler.startElement` and " -":meth:`~xml.sax.handler.ContentHandler.endElement` methods are called for " -"every starting and end tag encountered by the parser, the " -":meth:`~xml.sax.handler.ContentHandler.characters` method is called for " -"every chunk of character data, and so forth." +"the XML parser. For example, the :meth:`~xml.sax.handler.ContentHandler." +"startElement` and :meth:`~xml.sax.handler.ContentHandler.endElement` methods " +"are called for every starting and end tag encountered by the parser, the :" +"meth:`~xml.sax.handler.ContentHandler.characters` method is called for every " +"chunk of character data, and so forth." msgstr "" "SAX define una interfaz controlada por eventos para analizar XML. Para " "utilizar SAX, debe escribir una clase controladora de SAX. Las clases " "controladoras heredan de varias clases proporcionadas por SAX y reemplazan " -"varios métodos que luego llamará el analizador XML. Por ejemplo, los métodos" -" :meth:`~xml.sax.handler.ContentHandler.startElement` y " -":meth:`~xml.sax.handler.ContentHandler.endElement` se llaman para cada " -"etiqueta de inicio y fin que encuentre el analizador, el método " -":meth:`~xml.sax.handler.ContentHandler.characters` se llama para cada " -"fragmento de datos de caracteres, y así sucesivamente." +"varios métodos que luego llamará el analizador XML. Por ejemplo, los " +"métodos :meth:`~xml.sax.handler.ContentHandler.startElement` y :meth:`~xml." +"sax.handler.ContentHandler.endElement` se llaman para cada etiqueta de " +"inicio y fin que encuentre el analizador, el método :meth:`~xml.sax.handler." +"ContentHandler.characters` se llama para cada fragmento de datos de " +"caracteres, y así sucesivamente." #: ../Doc/whatsnew/2.0.rst:906 msgid "" @@ -2048,16 +2040,16 @@ msgid "" "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 " +"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 "" "For example, this little example program defines a handler that prints a " -"message for every starting and ending tag, and then parses the file " -":file:`hamlet.xml` using it::" +"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 " @@ -2127,14 +2119,14 @@ msgid "" "the tree back into XML." msgstr "" "El modelo de objetos de documento es una representación basada en árboles " -"para un documento XML. Una instancia :class:`!Document` de nivel superior es" -" la raíz del árbol y tiene un único elemento secundario que es la instancia " -":class:`!Element` de nivel superior. Este :class:`!Element` tiene nodos " -"secundarios que representan datos de caracteres y cualquier subelemento, que" -" puede tener otros elementos secundarios propios, y así sucesivamente. Con " -"el DOM, puede recorrer el árbol resultante de la forma que desee, acceder a " -"los valores de los elementos y atributos, insertar y eliminar nodos y " -"convertir el árbol nuevamente en XML." +"para un documento XML. Una instancia :class:`!Document` de nivel superior es " +"la raíz del árbol y tiene un único elemento secundario que es la instancia :" +"class:`!Element` de nivel superior. Este :class:`!Element` tiene nodos " +"secundarios que representan datos de caracteres y cualquier subelemento, que " +"puede tener otros elementos secundarios propios, y así sucesivamente. Con el " +"DOM, puede recorrer el árbol resultante de la forma que desee, acceder a los " +"valores de los elementos y atributos, insertar y eliminar nodos y convertir " +"el árbol nuevamente en XML." #: ../Doc/whatsnew/2.0.rst:950 msgid "" @@ -2145,26 +2137,24 @@ 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 " +"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." +"flexible de producir una salida XML que simplemente escribir ````...\\ " +"```` un archivo." #: ../Doc/whatsnew/2.0.rst:956 msgid "" -"The DOM implementation included with Python lives in the " -":mod:`xml.dom.minidom` module. It's a lightweight implementation of the " -"Level 1 DOM with support for XML namespaces. The :func:`!parse` and " -":func:`!parseString` convenience functions are provided for generating a DOM" -" tree::" +"The DOM implementation included with Python lives in the :mod:`xml.dom." +"minidom` module. It's a lightweight implementation of the Level 1 DOM with " +"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 con Python se encuentra en el módulo " -":mod:`xml.dom.minidom`. Es una implementación liviana del DOM de nivel 1 con" -" soporte para espacios de nombres XML. Las funciones de conveniencia " -":func:`!parse` y :func:`!parseString` se proporcionan para generar un árbol " -"DOM:" +"La implementación del DOM incluida con Python se encuentra en el módulo :mod:" +"`xml.dom.minidom`. Es una implementación liviana del DOM de nivel 1 con " +"soporte para espacios de nombres XML. Las funciones de conveniencia :func:`!" +"parse` y :func:`!parseString` se proporcionan para generar un árbol DOM:" #: ../Doc/whatsnew/2.0.rst:961 msgid "" @@ -2177,20 +2167,20 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:964 msgid "" "``doc`` is a :class:`!Document` instance. :class:`!Document`, like all the " -"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass" -" of the :class:`!Node` base class. All the nodes in a DOM tree therefore " +"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass " +"of the :class:`!Node` base class. All the nodes in a DOM tree therefore " "support certain common methods, such as :meth:`!toxml` which returns a " -"string containing the XML representation of the node and its children. Each" -" class also has special methods of its own; for example, :class:`!Element` " +"string containing the XML representation of the node and its children. Each " +"class also has special methods of its own; for example, :class:`!Element` " "and :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`. :class:`!Document`, al igual" -" que todas las demás clases DOM como :class:`!Element` y :class:`Text`, es " +"``doc`` es una instancia de :class:`!Document`. :class:`!Document`, al igual " +"que todas las demás clases DOM como :class:`!Element` y :class:`Text`, es " "una subclase de la clase base :class:`!Node`. Por lo tanto, todos los nodos " "de un árbol DOM admiten ciertos métodos comunes, como :meth:`!toxml`, que " -"devuelve una cadena que contiene la representación XML del nodo y sus hijos." -" Cada clase también tiene sus propios métodos especiales; por ejemplo, las " +"devuelve una cadena que contiene la representación XML del nodo y sus hijos. " +"Cada clase también tiene sus propios métodos especiales; por ejemplo, las " "instancias :class:`!Element` y :class:`!Document` tienen un método para " "encontrar todos los elementos secundarios con un nombre de etiqueta " "determinado. Continuando con el ejemplo anterior de 2 líneas:" @@ -2224,8 +2214,8 @@ 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 " +"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:985 @@ -2275,13 +2265,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`." +"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 "" @@ -2290,16 +2279,16 @@ msgid "" "Many applications can get by with the XML support that is included with " "Python 2.0, but more complicated applications will require that the full " "PyXML package will be installed. When installed, PyXML versions 0.6.0 or " -"greater will replace the :mod:`xml` package shipped with Python, and will be" -" a strict superset of the standard package, adding a bunch of additional " +"greater will replace the :mod:`xml` package shipped with Python, and will be " +"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 " +"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 " +"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:" @@ -2313,8 +2302,7 @@ msgid "The xmlproc validating parser, written by Lars Marius Garshol." 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." +msgid "The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." msgstr "" "El módulo acelerador del parser :mod:`!sgmlop`, escrito por Fredrik Lundh." @@ -2325,45 +2313,44 @@ msgstr "Cambios en los módulos" #: ../Doc/whatsnew/2.0.rst:1031 msgid "" "Lots of improvements and bugfixes were made to Python's extensive standard " -"library; some of the affected modules include :mod:`readline`, " -":mod:`ConfigParser `, :mod:`!cgi`, :mod:`calendar`, " -":mod:`posix`, :mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :mod:`!chunk`, " -":mod:`wave`, :mod:`random`, :mod:`shelve`, and :mod:`!nntplib`. Consult the" -" CVS logs for the exact patch-by-patch details." +"library; some of the affected modules include :mod:`readline`, :mod:" +"`ConfigParser `, :mod:`!cgi`, :mod:`calendar`, :mod:`posix`, :" +"mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :mod:`!chunk`, :mod:`wave`, :" +"mod:`random`, :mod:`shelve`, and :mod:`!nntplib`. Consult the CVS logs for " +"the exact patch-by-patch details." msgstr "" "Se realizaron muchas mejoras y correcciones de errores en la extensa " -"biblioteca estándar de Python; algunos de los módulos afectados incluyen " -":mod:`readline`, :mod:`ConfigParser `, :mod:`!cgi`, " -":mod:`calendar`, :mod:`posix`, :mod:`readline`, :mod:`!xmllib`, " -":mod:`!aifc`, :mod:`!chunk`, :mod:`wave`, :mod:`random`, :mod:`shelve` y " -":mod:`!nntplib`. Consulte los registros CVS para obtener detalles exactos de" -" cada parche." +"biblioteca estándar de Python; algunos de los módulos afectados incluyen :" +"mod:`readline`, :mod:`ConfigParser `, :mod:`!cgi`, :mod:" +"`calendar`, :mod:`posix`, :mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :" +"mod:`!chunk`, :mod:`wave`, :mod:`random`, :mod:`shelve` y :mod:`!nntplib`. " +"Consulte los registros CVS para obtener detalles exactos de cada parche." #: ../Doc/whatsnew/2.0.rst:1037 msgid "" "Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " "OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " -"data being sent over a socket. When compiling Python, you can edit " -":file:`Modules/Setup` to include SSL support, which adds an additional " -"function to the :mod:`socket` module: ``socket.ssl(socket, keyfile, " -"certfile)``, which takes a socket object and returns an SSL socket. The " -":mod:`httplib ` and :mod:`urllib` modules were also changed to support" -" ``https://`` URLs, though no one has implemented FTP or SMTP over SSL." -msgstr "" -"Brian Gallew contribuyó con la compatibilidad con OpenSSL para el módulo " -":mod:`socket`. OpenSSL es una implementación de la capa de sockets seguros, " -"que cifra los datos que se envían a través de un socket. Al compilar Python," -" puede editar :file:`Modules/Setup` para incluir compatibilidad con SSL, lo " -"que agrega una función adicional al módulo :mod:`socket`: " -"``socket.ssl(socket, keyfile, certfile)``, que toma un objeto de socket y " -"devuelve un socket SSL. Los módulos :mod:`httplib ` y :mod:`urllib` " -"también se modificaron para admitir las URL de ``https://``, aunque nadie ha" -" implementado FTP o SMTP sobre SSL." +"data being sent over a socket. When compiling Python, you can edit :file:" +"`Modules/Setup` to include SSL support, which adds an additional function to " +"the :mod:`socket` module: ``socket.ssl(socket, keyfile, certfile)``, which " +"takes a socket object and returns an SSL socket. The :mod:`httplib ` " +"and :mod:`urllib` modules were also changed to support ``https://`` URLs, " +"though no one has implemented FTP or SMTP over SSL." +msgstr "" +"Brian Gallew contribuyó con la compatibilidad con OpenSSL para el módulo :" +"mod:`socket`. OpenSSL es una implementación de la capa de sockets seguros, " +"que cifra los datos que se envían a través de un socket. Al compilar Python, " +"puede editar :file:`Modules/Setup` para incluir compatibilidad con SSL, lo " +"que agrega una función adicional al módulo :mod:`socket`: ``socket." +"ssl(socket, keyfile, certfile)``, que toma un objeto de socket y devuelve un " +"socket SSL. Los módulos :mod:`httplib ` y :mod:`urllib` también se " +"modificaron para admitir las URL de ``https://``, aunque nadie ha " +"implementado FTP o SMTP sobre SSL." #: ../Doc/whatsnew/2.0.rst:1046 msgid "" -"The :mod:`httplib ` module has been rewritten by Greg Stein to support" -" HTTP/1.1." +"The :mod:`httplib ` module has been rewritten by Greg Stein to support " +"HTTP/1.1." msgstr "" "Greg Stein ha reescrito el módulo :mod:`httplib ` para admitir " "HTTP/1.1." @@ -2374,16 +2361,15 @@ msgid "" "though using HTTP/1.1 features such as pipelining will require rewriting " "code to use a different set of interfaces." msgstr "" -"Se proporciona compatibilidad con versiones anteriores de la versión 1.5 de " -":mod:`!httplib`, aunque el uso de funciones HTTP/1.1 como la canalización " -"requerirá reescribir el código para usar un conjunto diferente de " -"interfaces." +"Se proporciona compatibilidad con versiones anteriores de la versión 1.5 de :" +"mod:`!httplib`, aunque el uso de funciones HTTP/1.1 como la canalización " +"requerirá reescribir el código para usar un conjunto diferente de interfaces." #: ../Doc/whatsnew/2.0.rst:1052 msgid "" -"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and" -" support for the older 7.x versions has been dropped. The Tkinter module " -"now supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " +"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " +"support for the older 7.x versions has been dropped. The Tkinter module now " +"supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " "contributed an optimization which makes operations like ``create_line`` and " "``create_polygon`` much faster, especially when using lots of coordinates." msgstr "" @@ -2400,9 +2386,9 @@ msgid "" "The :mod:`curses` module has been greatly extended, starting from Oliver " "Andrich's enhanced version, to provide many additional functions from " "ncurses and SYSV curses, such as colour, alternative character set support, " -"pads, and mouse support. This means the module is no longer compatible with" -" operating systems that only have BSD curses, but there don't seem to be any" -" currently maintained OSes that fall into this category." +"pads, and mouse support. This means the module is no longer compatible with " +"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 " @@ -2415,17 +2401,17 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1065 msgid "" "As mentioned in the earlier discussion of 2.0's Unicode support, the " -"underlying implementation of the regular expressions provided by the " -":mod:`re` module has been changed. SRE, a new regular expression engine " -"written by Fredrik Lundh and partially funded by Hewlett Packard, supports " -"matching against both 8-bit strings and Unicode strings." +"underlying implementation of the regular expressions provided by the :mod:" +"`re` module has been changed. SRE, a new regular expression engine written " +"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." +"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:1075 msgid "New modules" @@ -2444,17 +2430,16 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1081 msgid "" ":mod:`atexit`: For registering functions to be called before the Python " -"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should" -" be changed to use the :mod:`atexit` module instead, importing " -":mod:`atexit` 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)" +"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should " +"be changed to use the :mod:`atexit` module instead, importing :mod:`atexit` " +"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:1087 msgid "" @@ -2466,32 +2451,32 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1090 msgid "" -":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and " -":mod:`!dircmp` modules, which have now become deprecated. (Contributed by " -"Gordon MacMillan and Moshe Zadka.)" +":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and :mod:`!" +"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)" +":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:1094 msgid "" ":mod:`gettext`: This module provides internationalization (I18N) and " -"localization (L10N) support for Python programs by providing an interface to" -" the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " +"localization (L10N) support for Python programs by providing an interface to " +"the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " "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)" +"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:1099 msgid "" -":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a" -" twin to the existing :mod:`!sunaudiodev` module. (Contributed by Peter " +":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " +"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 " @@ -2504,11 +2489,11 @@ msgid "" "A file's contents can be mapped directly into memory, at which point it " "behaves like a mutable string, so its contents can be read and modified. " "They can even be passed to functions that expect ordinary strings, such as " -"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by " -"A.M. Kuchling.)" +"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 " +":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 " @@ -2525,17 +2510,17 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1112 msgid "" ":mod:`robotparser `: Parse a :file:`robots.txt` file, " -"which is used for writing web spiders that politely avoid certain areas of a" -" web site. The parser accepts the contents of a :file:`robots.txt` file, " +"which is used for writing web spiders that politely avoid certain areas of a " +"web site. The parser accepts the contents of a :file:`robots.txt` file, " "builds a set of 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)" +":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:1118 msgid "" @@ -2558,60 +2543,60 @@ msgid "" ":mod:`webbrowser`: A module that provides a platform independent way to " "launch a web browser on a specific URL. For each platform, various browsers " "are tried in a specific order. The user can alter which browser is launched " -"by setting the *BROWSER* environment variable. (Originally inspired by Eric" -" S. Raymond's patch to :mod:`urllib` which added similar functionality, but " -"the final module comes from code originally implemented by Fred Drake as " -":file:`Tools/idle/BrowserControl.py`, and adapted for the standard library " -"by Fred.)" +"by setting the *BROWSER* environment variable. (Originally inspired by Eric " +"S. Raymond's patch to :mod:`urllib` which added similar functionality, but " +"the final module comes from code originally implemented by Fred Drake as :" +"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)" +"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:1133 msgid "" -":mod:`_winreg `: An interface to the Windows registry. " -":mod:`!_winreg` is an adaptation of functions that have been part of " -"PythonWin since 1995, but has now been added to the core distribution, and " -"enhanced to support Unicode. :mod:`!_winreg` was written by Bill Tutt and " -"Mark Hammond." +":mod:`_winreg `: An interface to the Windows registry. :mod:`!" +"_winreg` is an adaptation of functions that have been part of PythonWin " +"since 1995, but has 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 " +":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." +"y se ha mejorado para soportar Unicode. :mod:`!_winreg` fue escrito por Bill " +"Tutt y Mark Hammond." #: ../Doc/whatsnew/2.0.rst:1138 msgid "" -":mod:`zipfile`: A module for reading and writing ZIP-format archives. These" -" are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " +":mod:`zipfile`: A module for reading and writing ZIP-format archives. These " +"are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " "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.)" +"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:1143 msgid "" -":mod:`!imputil`: A module that provides a simpler way for writing customized" -" import hooks, in comparison to the existing :mod:`!ihooks` module. " +":mod:`!imputil`: A module that provides a simpler way for writing customized " +"import hooks, in comparison to the existing :mod:`!ihooks` module. " "(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)" +"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:1151 msgid "IDLE Improvements" @@ -2624,16 +2609,16 @@ msgid "" "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:" +"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:1157 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." +"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:1160 msgid "" @@ -2654,16 +2639,16 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1166 msgid "" -"There is now support for calling browsers on various platforms, used to open" -" the Python documentation in a browser." +"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:1169 msgid "" -"IDLE now has a command line, which is largely similar to the vanilla Python" -" interpreter." +"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." @@ -2679,13 +2664,13 @@ msgstr "Ahora IDLE puede instalarse como un paquete." #: ../Doc/whatsnew/2.0.rst:1176 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." +"En la ventana del editor, ahora hay una barra de líneas/columnas en la parte " +"inferior." #: ../Doc/whatsnew/2.0.rst:1178 msgid "" -"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module " -"(:kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." +"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`)." @@ -2708,21 +2693,21 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:1191 msgid "" -"A number of modules have been moved to the :file:`lib-old` subdirectory: " -":mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!dump`, :mod:`!find`, " -":mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!util`, " -":mod:`!whatsound`, :mod:`!zmod`. If you have code which relies on a module" -" that's been moved to :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 "" -"Se han movido varios módulos 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 se ha movido a " -":file:`lib-old`, puede simplemente agregar ese directorio a ``sys.path`` " -"para recuperarlo, pero se le recomienda que actualice cualquier código que " -"use estos módulos." +"A number of modules have been moved to the :file:`lib-old` subdirectory: :" +"mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!dump`, :mod:`!find`, :" +"mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!util`, :mod:`!" +"whatsound`, :mod:`!zmod`. If you have code which relies on a module that's " +"been moved to :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 "" +"Se han movido varios módulos 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 se ha movido a :file:" +"`lib-old`, puede simplemente agregar ese directorio a ``sys.path`` para " +"recuperarlo, pero se le recomienda que actualice cualquier código que use " +"estos módulos." #: ../Doc/whatsnew/2.0.rst:1200 msgid "Acknowledgements" @@ -2736,8 +2721,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." +"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 22e6eb8a941382db4b2870f26d8d0fa29101cbb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 24 Nov 2024 00:53:44 +0100 Subject: [PATCH 3/3] Update snippets wrongly translated --- whatsnew/2.0.po | 145 ++++++++++++++++++++++++------------------------ 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 6b41ea97b4..9257d4305b 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -542,16 +542,16 @@ msgid "" "output.write( unistr )\n" "output.close()" msgstr "" -"importar códecs\n" +"import codecs\n" "\n" "unistr = u'\\u0660\\u2000ab ...'\n" "\n" "(UTF8_encode, UTF8_decode,\n" -"UTF8_streamreader, UTF8_streamwriter) = codecs.lookup('UTF-8')\n" +" UTF8_streamreader, UTF8_streamwriter) = codecs.lookup('UTF-8')\n" "\n" -"salida = UTF8_streamwriter( open( '/tmp/output', 'wb') )\n" -"salida.write( unistr )\n" -"salida.close()" +"output = UTF8_streamwriter( open( '/tmp/output', 'wb') )\n" +"output.write( unistr )\n" +"output.close()" #: ../Doc/whatsnew/2.0.rst:243 msgid "The following code would then read UTF-8 input from the file::" @@ -563,9 +563,9 @@ msgid "" "print repr(input.read())\n" "input.close()" msgstr "" -"entrada = UTF8_streamreader( abrir( '/tmp/salida', 'rb') )\n" -"imprimir repr(entrada.leer())\n" -"entrada.cerrar()" +"input = UTF8_streamreader( open( '/tmp/output', 'rb') )\n" +"print repr(input.read())\n" +"input.close()" #: ../Doc/whatsnew/2.0.rst:249 msgid "" @@ -640,11 +640,11 @@ msgid "" " string.find(s, substring) != -1,\n" " L)" msgstr "" -"# Dada la lista L, crea una lista de todas las cadenas\n" -"# que contienen la subcadena S.\n" +"# Given the list L, make a list of all strings\n" +"# containing the substring S.\n" "sublist = filter( lambda s, substring=S:\n" -"string.find(s, substring) != -1,\n" -"L)" +" string.find(s, substring) != -1,\n" +" L)" #: ../Doc/whatsnew/2.0.rst:286 msgid "" @@ -672,10 +672,10 @@ msgid "" " for exprN in sequenceN\n" " if condition ]" msgstr "" -"[ expresión para expr en secuencia1\n" -"para expr2 en secuencia2 ...\n" -"para exprN en secuenciaN\n" -"si condición ]" +"[ expression for expr in sequence1\n" +" for expr2 in sequence2 ...\n" +" for exprN in sequenceN\n" +" if condition ]" #: ../Doc/whatsnew/2.0.rst:299 msgid "" @@ -714,14 +714,14 @@ msgid "" " # the expression to the\n" " # resulting list." msgstr "" -"para expr1 en secuencia1:\n" -"para expr2 en secuencia2:\n" -"...\n" -"para exprN en secuenciaN:\n" -"if (condición):\n" -"# Agrega el valor de\n" -"# la expresión a la\n" -"# lista resultante." +"for expr1 in sequence1:\n" +" for expr2 in sequence2:\n" +" ...\n" +" for exprN in sequenceN:\n" +" if (condition):\n" +" # Append the value of\n" +" # the expression to the\n" +" # resulting list." #: ../Doc/whatsnew/2.0.rst:319 msgid "" @@ -745,7 +745,7 @@ msgid "" msgstr "" "seq1 = 'abc'\n" "seq2 = (1,2,3)\n" -">>> [ (x,y) para x en seq1 para y en seq2]\n" +">>> [ (x,y) for x in seq1 for y in seq2]\n" "[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1),\n" "('c', 2), ('c', 3)]" @@ -767,10 +767,10 @@ msgid "" "# Correct\n" "[ (x,y) for x in seq1 for y in seq2]" msgstr "" -"# Error de sintaxis\n" -"[ x,y para x en seq1 para y en seq2]\n" -"# Correcto\n" -"[ (x,y) para x en seq1 para y en seq2]" +"# Syntax error\n" +"[ x,y for x in seq1 for y in seq2]\n" +"# Correct\n" +"[ (x,y) for x in seq1 for y in seq2]" #: ../Doc/whatsnew/2.0.rst:339 msgid "" @@ -833,15 +833,15 @@ msgid "" "n += 3\n" "print n.value" msgstr "" -"clase Número:\n" -"def __init__(self, valor):\n" -"self.valor = valor\n" -"def __iadd__(self, incremento):\n" -"return Número( self.valor + incremento)\n" +"class Number:\n" +" def __init__(self, value):\n" +" self.value = value\n" +" def __iadd__(self, increment):\n" +" return Number( self.value + increment)\n" "\n" -"n = Número(5)\n" +"n = Number(5)\n" "n += 3\n" -"print n.valor" +"print n.value" #: ../Doc/whatsnew/2.0.rst:377 msgid "" @@ -910,7 +910,7 @@ msgid "" msgstr "" ">>> 'andrew'.capitalize()\n" "'Andrew'\n" -">>> 'nombredelhost'.replace('os', 'linux')\n" +">>> 'hostname'.replace('os', 'linux')\n" "'hlinuxtname'\n" ">>> 'moshe'.find('sh')\n" "2" @@ -1174,8 +1174,7 @@ msgstr "" #: ../Doc/whatsnew/2.0.rst:526 msgid "print >> sys.stderr, \"Warning: action field not supplied\"" -msgstr "" -"imprimir >> sys.stderr, \"Advertencia: campo de acción no suministrado\"" +msgstr "print >> sys.stderr, \"Warning: action field not supplied\"" #: ../Doc/whatsnew/2.0.rst:528 msgid "" @@ -1334,8 +1333,8 @@ msgid "" "f()" msgstr "" "def f():\n" -"imprimir \"i=\",i\n" -"i = i + 1\n" +" print \"i=\",i\n" +" i = i + 1\n" "f()" #: ../Doc/whatsnew/2.0.rst:595 @@ -1420,10 +1419,10 @@ msgid "" " dict[key] = []\n" " return dict[key]" msgstr "" -"si dict.has_key( key ): devuelve dict[key]\n" -"de lo contrario:\n" -"dict[key] = []\n" -"devuelve dict[key]" +"if dict.has_key( key ): return dict[key]\n" +"else:\n" +" dict[key] = []\n" +" return dict[key]" #: ../Doc/whatsnew/2.0.rst:633 msgid "" @@ -1889,9 +1888,9 @@ msgid "" "setup (name = \"foo\", version = \"1.0\",\n" " py_modules = [\"module1\", \"module2\"])" msgstr "" -"desde distutils.core import setup\n" -"setup (nombre = \"foo\", versión = \"1.0\",\n" -"py_modules = [\"módulo1\", \"módulo2\"])" +"from distutils.core import setup\n" +"setup (name = \"foo\", version = \"1.0\",\n" +" py_modules = [\"module1\", \"module2\"])" #: ../Doc/whatsnew/2.0.rst:841 msgid "" @@ -1907,9 +1906,9 @@ msgid "" "setup (name = \"foo\", version = \"1.0\",\n" " packages = [\"package\", \"package.subpackage\"])" msgstr "" -"desde distutils.core import setup\n" -"setup (nombre = \"foo\", versión = \"1.0\",\n" -"paquetes = [\"paquete\", \"paquete.subpaquete\"])" +"from distutils.core import setup\n" +"setup (name = \"foo\", version = \"1.0\",\n" +" packages = [\"package\", \"package.subpackage\"])" #: ../Doc/whatsnew/2.0.rst:848 msgid "" @@ -1934,18 +1933,18 @@ msgid "" "setup (name = \"PyXML\", version = \"0.5.4\",\n" " ext_modules =[ expat_extension ] )" msgstr "" -"de distutils.core import setup, Extensión\n" +"from distutils.core import setup, Extension\n" "\n" "expat_extension = Extension('xml.parsers.pyexpat',\n" -"define_macros = [('XML_NS', None)],\n" -"include_dirs = [ 'extensions/expat/xmltok',\n" -"'extensions/expat/xmlparse' ],\n" -"fuentes = [ 'extensions/pyexpat.c',\n" -"'extensions/expat/xmltok/xmltok.c',\n" -"'extensions/expat/xmltok/xmlrole.c', ]\n" -")\n" -"setup (nombre = \"PyXML\", versión = \"0.5.4\",\n" -"ext_modules =[ expat_extension ] )" +" define_macros = [('XML_NS', None)],\n" +" include_dirs = [ 'extensions/expat/xmltok',\n" +" 'extensions/expat/xmlparse' ],\n" +" sources = [ 'extensions/pyexpat.c',\n" +" 'extensions/expat/xmltok/xmltok.c',\n" +" 'extensions/expat/xmltok/xmlrole.c', ]\n" +" )\n" +"setup (name = \"PyXML\", version = \"0.5.4\",\n" +" ext_modules =[ expat_extension ] )" #: ../Doc/whatsnew/2.0.rst:864 msgid "" @@ -2079,20 +2078,20 @@ msgstr "" "from xml import sax\n" "\n" "class SimpleHandler(sax.ContentHandler):\n" -"def startElement(self, name, attrs):\n" -"print 'Inicio del elemento:', name, attrs.keys()\n" +" def startElement(self, name, attrs):\n" +" print 'Start of element:', name, attrs.keys()\n" "\n" -"def endElement(self, name):\n" -"print 'Fin del elemento:', name\n" +" def endElement(self, name):\n" +" print 'End of element:', name\n" "\n" -"# Crear un objeto analizador\n" +"# Create a parser object\n" "parser = sax.make_parser()\n" "\n" -"# Indicarle qué controlador utilizar\n" +"# Tell it what handler to use\n" "handler = SimpleHandler()\n" "parser.setContentHandler( handler )\n" "\n" -"# ¡Analice un archivo!\n" +"# Parse a file!\n" "parser.parse( 'hamlet.xml' )" #: ../Doc/whatsnew/2.0.rst:935 @@ -2161,8 +2160,8 @@ msgid "" "from xml.dom import minidom\n" "doc = minidom.parse('hamlet.xml')" msgstr "" -"desde xml.dom importar minidom\n" -"doc ​​= minidom.parse('hamlet.xml')" +"from xml.dom import minidom\n" +"doc = minidom.parse('hamlet.xml')" #: ../Doc/whatsnew/2.0.rst:964 msgid "" @@ -2191,9 +2190,9 @@ msgid "" "print perslist[0].toxml()\n" "print perslist[1].toxml()" msgstr "" -"lista pers = doc.getElementsByTagName( 'PERSONA' )\n" -"imprimir lista persistente[0].toxml()\n" -"imprimir lista persistente[1].toxml()" +"perslist = doc.getElementsByTagName( 'PERSONA' )\n" +"print perslist[0].toxml()\n" +"print perslist[1].toxml()" #: ../Doc/whatsnew/2.0.rst:977 msgid "For the *Hamlet* XML file, the above few lines output::"