diff --git a/dictionaries/whatsnew_3.0.txt b/dictionaries/whatsnew_3.0.txt new file mode 100644 index 0000000000..14b1768773 --- /dev/null +++ b/dictionaries/whatsnew_3.0.txt @@ -0,0 +1,3 @@ +atractivamente +introspeccionar + diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 9331166b1f..5dccda82b7 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -6,31 +6,34 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"PO-Revision-Date: 2020-11-29 11:59-0300\n" +"Last-Translator: \n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.4.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_ES\n" +"X-Poedit-Bookmarks: -1,-1,14,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/whatsnew/3.0.rst:3 msgid "What's New In Python 3.0" -msgstr "" +msgstr "Qué hay de nuevo en Python 3.0" #: ../Doc/whatsnew/3.0.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/3.0.rst:7 msgid "Guido van Rossum" -msgstr "" +msgstr "Guido van Rossum" #: ../Doc/whatsnew/3.0.rst:54 msgid "" @@ -42,6 +45,15 @@ msgid "" "Python really hasn't changed all that much -- by and large, we're mostly " "fixing well-known annoyances and warts, and removing a lot of old cruft." msgstr "" +"En este artículo se explican las nuevas características de Python 3.0, en " +"comparación con las de 2.6. Python 3.0, también conocido como \"Python " +"3000\" o \"Py3K\". Es la primera versión de Python *intencionalmente " +"incompatible hacia atrás*. Hay más cambios que en una versión típica y más " +"que son importantes para todos los usuarios de Python. Sin embargo, después " +"de digerir los cambios, se comprobará que Python no ha cambiado tanto " +"realmente -- en general, estamos arreglando en su mayoría molestias y " +"defectos bien conocidos, y la eliminación de una gran cantidad de sobras " +"antiguas." #: ../Doc/whatsnew/3.0.rst:63 msgid "" @@ -53,6 +65,15 @@ msgid "" "have more details than the regular documentation; but note that PEPs usually " "are not kept up-to-date once a feature has been fully implemented." msgstr "" +"Este artículo no intenta proporcionar una especificación completa de todas " +"las características nuevas, sino que intenta proporcionar una visión general " +"conveniente. Para obtener más información, se debe consultar la " +"documentación de Python 3.0 y/o los muchos PEP a los que se hace referencia " +"en el texto. Si se desea comprender la lógica completa de implementación y " +"diseño para una característica determinada, los PEP suelen tener más " +"detalles que la documentación regular, pero téngase en cuenta que los PEP " +"generalmente no se mantienen actualizados una vez que una característica se " +"ha implementado completamente." #: ../Doc/whatsnew/3.0.rst:72 msgid "" @@ -61,20 +82,26 @@ msgid "" "distribution contains a wealth of detailed information about every small " "thing that was changed." msgstr "" +"Debido a restricciones de tiempo, este documento no es tan completo como " +"debería haber sido. Como siempre para una nueva versión, el archivo ``Misc/" +"NEWS`` en la distribución de origen contiene una gran cantidad de " +"información detallada sobre cada pequeña cosa que se cambió." #: ../Doc/whatsnew/3.0.rst:89 msgid "Common Stumbling Blocks" -msgstr "" +msgstr "Escollos comunes" #: ../Doc/whatsnew/3.0.rst:91 msgid "" "This section lists those few changes that are most likely to trip you up if " "you're used to Python 2.5." msgstr "" +"Esta sección contiene esos pequeños cambios que probablemente generarán " +"tropiezos si se está acostumbrado a Python 2.5." #: ../Doc/whatsnew/3.0.rst:95 msgid "Print Is A Function" -msgstr "" +msgstr "*Print* es una función" #: ../Doc/whatsnew/3.0.rst:97 msgid "" @@ -82,18 +109,21 @@ msgid "" "with keyword arguments to replace most of the special syntax of the old " "``print`` statement (:pep:`3105`). Examples::" msgstr "" +"La declaración ``print`` se ha sustituido por una función :func:`print`, con " +"argumentos de palabra clave para reemplazar la mayor parte de la sintaxis " +"especial de la antigua declaración ``print`` (:pep:`3105`). Ejemplos::" #: ../Doc/whatsnew/3.0.rst:116 msgid "You can also customize the separator between items, e.g.::" -msgstr "" +msgstr "También se puede personalizar el separador entre ítems, por ejemplo::" #: ../Doc/whatsnew/3.0.rst:120 msgid "which produces:" -msgstr "" +msgstr "que genera:" #: ../Doc/whatsnew/3.0.rst:126 msgid "Note:" -msgstr "" +msgstr "Nota:" #: ../Doc/whatsnew/3.0.rst:128 msgid "" @@ -102,12 +132,19 @@ msgid "" "\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", \"B" "\")`` writes ``\"A\\n B\\n\"``." msgstr "" +"La función :func:`print` no soporta la característica \"softspace\" de la " +"declaración ``print`` vieja. Por ejemplo, en Python 2.x ``print \"A\\n\", \"B" +"\"`` escribiría ``\"A\\nB\\n\"``; pero en Python 3.0, ``print(\"A\\n\", \"B" +"\")`` escribe ``\"A\\n B\\n\"``." #: ../Doc/whatsnew/3.0.rst:133 msgid "" "Initially, you'll be finding yourself typing the old ``print x`` a lot in " "interactive mode. Time to retrain your fingers to type ``print(x)`` instead!" msgstr "" +"Inicialmente, te encontrarás escribiendo mucho la antigua ``print x`` en " +"modo interactivo. ¡Es hora de volver a entrenar los dedos para escribir " +"``print(x)`` en su lugar!" #: ../Doc/whatsnew/3.0.rst:137 msgid "" @@ -115,14 +152,18 @@ msgid "" "statements are automatically converted to :func:`print` function calls, so " "this is mostly a non-issue for larger projects." msgstr "" +"En el uso de la herramienta de conversión fuente-a-fuente ``2to3``, todos " +"las declaraciones ``print`` son automáticamente convertidas a una llamada de " +"la función :func:`print`, por lo que en general esto no es un problema para " +"proyectos más grandes." #: ../Doc/whatsnew/3.0.rst:143 msgid "Views And Iterators Instead Of Lists" -msgstr "" +msgstr "Vistas e iteradores en lugar de listas" #: ../Doc/whatsnew/3.0.rst:145 msgid "Some well-known APIs no longer return lists:" -msgstr "" +msgstr "Algunas APIs bien conocidas no retornan más listas:" #: ../Doc/whatsnew/3.0.rst:147 msgid "" @@ -131,12 +172,18 @@ msgid "" "works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead (this " "works in Python 2.5 too and is just as efficient)." msgstr "" +"Los métodos :class:`dict` :meth:`dict.keys`, :meth:`dict.items` y :meth:" +"`dict.values` retornan \"vistas\" en lugar de listas. Por ejemplo, esto no " +"funciona más: ``k = d.keys(); k.sort()``. Se usa ``k = sorted(d)`` en su " +"lugar (esto funciona también en Python 2.5 y es igual de eficiente)." #: ../Doc/whatsnew/3.0.rst:153 msgid "" "Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict." "itervalues` methods are no longer supported." msgstr "" +"Además, los métodos :meth:`dict.iterkeys`, :meth:`dict.iteritems` y :meth:" +"`dict.itervalues` ya no son compatibles." #: ../Doc/whatsnew/3.0.rst:156 msgid "" @@ -149,6 +196,16 @@ msgid "" "function; the correct transformation is to use a regular :keyword:`for` loop " "(since creating a list would just be wasteful)." msgstr "" +":func:`map` y :func:`filter` retornan iteradores. Si realmente se necesita " +"una lista y las secuencias de entrada son todas de igual longitud, una " +"solución rápida es envolver :func:`map` en :func:`list`, por ejemplo " +"``list(map(...))``, pero una mejor solución es a menudo utilizar una lista " +"por comprensión (especialmente cuando el código original utiliza :keyword:" +"`lambda`), o reescribir el código para que no necesite una lista en " +"absoluto. Particularmente complicado es :func:`map` invocado para los " +"efectos secundarios de la función; la transformación correcta es usar un " +"bucle :keyword:`for` normal (ya que crear una lista sería simplemente un " +"desperdicio)." #: ../Doc/whatsnew/3.0.rst:167 msgid "" @@ -158,24 +215,34 @@ msgid "" "zip_longest`, e.g. ``map(func, *sequences)`` becomes ``list(map(func, " "itertools.zip_longest(*sequences)))``." msgstr "" +"Si las secuencias de entrada no tienen la misma longitud, :func:`map` se " +"detendrá en la terminación de la más corta de las secuencias. Para una " +"compatibilidad completa con :func:`map` de Python 2.x, también se envuelve " +"las secuencias en :func:`itertools.zip_longest`, por ejemplo ``map(func, " +"*sequences)`` se convierte en ``list(map(func, itertools." +"zip_longest(*sequences)))``." #: ../Doc/whatsnew/3.0.rst:173 msgid "" ":func:`range` now behaves like :func:`xrange` used to behave, except it " "works with values of arbitrary size. The latter no longer exists." msgstr "" +":func:`range` ahora se comporta como :func:`xrange` solía comportarse, " +"excepto que funciona con valores de tamaño arbitrario. Este último ya no " +"existe." #: ../Doc/whatsnew/3.0.rst:177 msgid ":func:`zip` now returns an iterator." -msgstr "" +msgstr ":func:`zip` ahora retorna un iterador." #: ../Doc/whatsnew/3.0.rst:180 msgid "Ordering Comparisons" -msgstr "" +msgstr "Comparaciones de ordenamiento" #: ../Doc/whatsnew/3.0.rst:182 msgid "Python 3.0 has simplified the rules for ordering comparisons:" msgstr "" +"Python 3.0 ha simplificado las reglas para las comparaciones de ordenamiento:" #: ../Doc/whatsnew/3.0.rst:184 msgid "" @@ -188,6 +255,15 @@ msgid "" "other. Note that this does not apply to the ``==`` and ``!=`` operators: " "objects of different incomparable types always compare unequal to each other." msgstr "" +"Los operadores de comparaciones de ordenamiento (``<``, ``<``,``'>``, ``>``) " +"lanzan una excepción *TypeError* cuando los operandos no tienen un orden " +"natural significativo. Por lo tanto, expresiones como ``1 < ''``, ``0 > " +"None`` o ``len <= len`` ya no son válidas, y por ejemplo ``Ninguno < " +"Ninguno`` lanza :exc:`TypeError` en lugar de retornar ``False``. Un " +"corolario es que ordenar una lista heterogénea ya no tiene sentido -- todos " +"los elementos deben ser comparables entre sí. Tener en cuenta que esto no se " +"aplica a los operadores ``==`` y ``!=``: los objetos de diferentes tipos " +"incomparables siempre se comparan desiguales entre sí." #: ../Doc/whatsnew/3.0.rst:195 msgid "" @@ -195,6 +271,10 @@ msgid "" "argument providing a comparison function. Use the *key* argument instead. N." "B. the *key* and *reverse* arguments are now \"keyword-only\"." msgstr "" +":meth:`builtin.sorted` y :meth:`list.sort` ya no aceptan el argumento *cmp* " +"que proporciona una función de comparación. Utilice el argumento *key* en su " +"lugar. N.B. los argumentos *key* y *reverse* ahora son \"argumentos por " +"palabra clave\"." #: ../Doc/whatsnew/3.0.rst:200 msgid "" @@ -204,10 +284,16 @@ msgid "" "(If you really need the :func:`cmp` functionality, you could use the " "expression ``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" msgstr "" +"La función :func:`cmp` debe tratarse como quitada, y el método especial :" +"meth:`__cmp__` ya no es compatible. Utilizar :meth:`__lt__` para el " +"ordenamiento, :meth:`__eq__` con :meth:`__hash__`, y otras comparaciones " +"costosas según sea necesario. (Si realmente se necesita la funcionalidad :" +"func:`cmp`, se puede utilizar la expresión ``(a > b) - (a < b)`` como el " +"equivalente para ``cmp(a, b)``.)" #: ../Doc/whatsnew/3.0.rst:207 msgid "Integers" -msgstr "" +msgstr "Enteros" #: ../Doc/whatsnew/3.0.rst:209 msgid "" @@ -215,6 +301,9 @@ msgid "" "there is only one built-in integral type, named :class:`int`; but it behaves " "mostly like the old :class:`long` type." msgstr "" +":pep:`237`: Esencialmente, :class:`long` renombrado a :class:`int`. Es " +"decir, solo hay un tipo integral incorporado, denominado :class:`int`; pero " +"se comporta sobre todo como el viejo tipo :class:`long`." #: ../Doc/whatsnew/3.0.rst:213 msgid "" @@ -222,6 +311,9 @@ msgid "" "the truncating behavior. (The latter syntax has existed for years, at least " "since Python 2.2.)" msgstr "" +":pep:`238`: Una expresión como ``1/2`` retorna un float. Utilizar ``1//2`` " +"para obtener el comportamiento de truncamiento. (Esta última sintaxis ha " +"existido durante años, al menos desde Python 2.2.)" #: ../Doc/whatsnew/3.0.rst:217 msgid "" @@ -232,6 +324,12 @@ msgid "" "data:`sys.maxint` in previous releases on the same platform (assuming the " "same build options)." msgstr "" +"Se eliminó la constante :data:`sys.maxint`, ya que ya no hay un límite para " +"el valor de los enteros. Sin embargo, :data:`sys.maxsize` se puede utilizar " +"como un entero mayor que cualquier lista práctica o índice de cadena de " +"caracteres. Se ajusta al tamaño entero \"natural\" de la implementación y " +"suele ser el mismo que :data:`sys.maxint` en versiones anteriores de la " +"misma plataforma (suponiendo las mismas opciones de compilación)." #: ../Doc/whatsnew/3.0.rst:224 msgid "" @@ -239,20 +337,25 @@ msgid "" "anymore, so code that unconditionally strips that character will chop off " "the last digit instead. (Use :func:`str` instead.)" msgstr "" +"El :func:`repr` de un entero largo ya no incluye la ``L`` final, por lo que " +"el código que elimina incondicionalmente ese carácter cortará el último " +"dígito en su lugar. (Utilizar :func:`str` en su lugar.)" #: ../Doc/whatsnew/3.0.rst:228 msgid "" "Octal literals are no longer of the form ``0720``; use ``0o720`` instead." msgstr "" +"Los literales octales ya no usan la forma ``0720``; úsese ``0o720`` en su " +"lugar." #: ../Doc/whatsnew/3.0.rst:232 msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit" -msgstr "" +msgstr "Texto vs. datos en lugar de unicode vs. 8 bits" #: ../Doc/whatsnew/3.0.rst:234 msgid "" "Everything you thought you knew about binary data and Unicode has changed." -msgstr "" +msgstr "Todo lo que pensabas saber sobre datos binarios y Unicode ha cambiado." #: ../Doc/whatsnew/3.0.rst:237 msgid "" @@ -267,6 +370,18 @@ msgid "" "contained non-ASCII values. This value-specific behavior has caused " "numerous sad faces over the years." msgstr "" +"Python 3.0 utiliza los conceptos de *text* y *datos* (binarios) en lugar de " +"cadenas de caracteres Unicode y cadenas de caracteres de 8 bits. Todo el " +"texto es Unicode; sin embargo el Unicode *codificado* se representa como " +"datos binarios. El tipo utilizado para contener texto es :class:`str`, el " +"tipo utilizado para contener datos es :class:`bytes`. La mayor diferencia " +"con la situación 2.x es que cualquier intento de mezclar texto y datos en " +"Python 3.0 lanza un :exc:`TypeError`, mientras que si se mezclan cadenas " +"Unicode y de 8 bits en Python 2.x, funcionaría si la cadena de 8 bits " +"contuviera sólo bytes de 7 bits (ASCII), pero se obtendría un :exc:" +"`UnicodeDecodeError` si contenía valores no ASCII. Este comportamiento " +"específico del valor ha causado numerosas caras tristes a lo largo de los " +"años." #: ../Doc/whatsnew/3.0.rst:250 msgid "" @@ -278,12 +393,22 @@ msgid "" "`str` for binary or encoded data only. Then the ``2to3`` tool will do most " "of the work for you." msgstr "" +"Como consecuencia de este cambio en la filosofía, prácticamente todo el " +"código que utiliza Unicode, codificaciones o datos binarios muy " +"probablemente tiene que cambiar. El cambio es para mejor, ya que en el mundo " +"2.x había numerosos errores que tenían que ver con la mezcla de texto " +"codificado y sin codificar. Para estar preparado en Python 2.x, comienza a " +"usar :class:`unicode` para todo el texto sin codificar, y :class:`str` solo " +"para datos binarios o codificados. Luego , la herramienta ``2to3`` hará la " +"mayor parte del trabajo por ti." #: ../Doc/whatsnew/3.0.rst:258 msgid "" "You can no longer use ``u\"...\"`` literals for Unicode text. However, you " "must use ``b\"...\"`` literals for binary data." msgstr "" +"Ya no se puede utilizar literales ``u\"...\"`` para texto Unicode. Sin " +"embargo, se debe usar literales ``b\"...\"`` para los datos binarios." #: ../Doc/whatsnew/3.0.rst:261 msgid "" @@ -293,6 +418,11 @@ msgid "" "`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)`` and " "``str(b, encoding=...)``, respectively." msgstr "" +"Como los tipos :class:`str` y :class:`bytes` no se pueden mezclar, siempre " +"se deben convertir explícitamente entre ellos. Utilizar :meth:`str.encode` " +"para pasar de :class:`str` a :class:`bytes`, y :meth:`bytes.decode` para " +"pasar de :class:`bytes` a :class:`str`. También se puede utilizar ``bytes(s, " +"encoding=...)`` y ``str(b, encoding=...)``, respectivamente." #: ../Doc/whatsnew/3.0.rst:268 msgid "" @@ -301,6 +431,11 @@ msgid "" "Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. " "The mutable API is based on :class:`collections.MutableSequence`." msgstr "" +"Al igual que :class:`str`, el tipo :class:`bytes` es inmutable. Hay un tipo " +"*mutable* independiente para contener datos binarios almacenados en búfer, :" +"class:`bytearray`. Casi todas las API que aceptan :class:`bytes` también " +"aceptan :class:`bytearray`. La API mutable se basa en :class:`collections. " +"MutableSequence`." #: ../Doc/whatsnew/3.0.rst:274 msgid "" @@ -311,6 +446,13 @@ msgid "" "character. (Of course, this change only affects raw string literals; the " "euro character is ``'\\u20ac'`` in Python 3.0.)" msgstr "" +"Todas las barras invertidas en literales de cadena de caracteres sin formato " +"se interpretan literalmente. Esto significa que los escapes ``'\\U'`` y " +"``'\\u'`` en cadenas de caracteres sin formato no se tratan especialmente. " +"Por ejemplo, ``r'\\u20ac'`` es una cadena de 6 caracteres en Python 3.0, " +"mientras que en 2.6, ``ur'\\u20ac'`` era el único carácter \"euro\". (Por " +"supuesto, este cambio sólo afecta a los literales de cadena de caracteres " +"sin formato; el carácter del euro es ``'\\u20ac'`` en Python 3.0.)" #: ../Doc/whatsnew/3.0.rst:281 msgid "" @@ -320,6 +462,11 @@ msgid "" "tool (see below) replaces every occurrence of :class:`basestring` with :" "class:`str`." msgstr "" +"Se eliminó el tipo abstracto :class:`basestring` incorporado. Se utiliza :" +"class:`str` en su lugar. Los tipos :class:`str` y :class:`bytes` no tienen " +"suficiente funcionalidad en común para garantizar una clase base compartida. " +"La herramienta ``2to3`` (ver más abajo) reemplaza cada aparición de :class:" +"`basestring` por :class:`str`." #: ../Doc/whatsnew/3.0.rst:287 msgid "" @@ -338,6 +485,24 @@ msgid "" "have a way to override the encoding. There is no longer any need for using " "the encoding-aware streams in the :mod:`codecs` module." msgstr "" +"Los archivos abiertos como archivos de texto (todavía el modo predeterminado " +"para :func:`open`) siempre utilizan una codificación para asignar entre " +"cadenas de caracteres(en memoria) y bytes (en disco). Los archivos binarios " +"(abiertos con una ``b`` en el argumento modo) siempre utilizan bytes en la " +"memoria. Esto significa que si un archivo se abre utilizando un modo o " +"codificación incorrectos, es probable que la E/S falle ruidosamente, en " +"lugar de producir datos incorrectos de forma silenciosa. También significa " +"que incluso los usuarios de Unix tendrán que especificar el modo correcto " +"(texto o binario) al abrir un archivo. Hay una codificación predeterminada " +"dependiente de la plataforma, que en las plataformas Unix se puede " +"establecer con la variable de entorno ``LANG`` (y a veces también con " +"algunas otras variables de entorno relacionadas con la configuración " +"regional específicas de la plataforma). En muchos casos, pero no en todos, " +"el valor predeterminado del sistema es UTF-8; nunca se debe contar con este " +"valor predeterminado. Cualquier aplicación que lea o escriba más que texto " +"ASCII puro probablemente debería tener una manera de invalidar la " +"codificación. Ya no es necesario utilizar las secuencias compatibles con la " +"codificación en el módulo :mod:`codecs`." #: ../Doc/whatsnew/3.0.rst:304 msgid "" @@ -346,6 +511,10 @@ msgid "" "`io.TextIOBase`). To read and write bytes data with these streams, you need " "to use their :data:`io.TextIOBase.buffer` attribute." msgstr "" +"Los valores iniciales de :data:`sys.stdin`, :data:`sys.stdout` y :data:`sys." +"stderr` ahora son archivos de texto solo unicode (es decir, son instancias " +"de :class:`io.TextIOBase`). Para leer y escribir datos de bytes con estas " +"secuencias, se debe usar su atributo :data:`io.TextIOBase.buffer`." #: ../Doc/whatsnew/3.0.rst:310 msgid "" @@ -362,6 +531,21 @@ msgid "" "strings, filenames that cannot be decoded properly are omitted rather than " "raising :exc:`UnicodeError`." msgstr "" +"Los nombres de archivos son pasados y retornados de cadenas desde APIs como " +"cadenas de caracteres (Unicode). Esto puede presentar problemas específicos " +"de plataformas porque en algunas plataformas los nombres de archivos son " +"cadenas de caracteres de bytes arbitrarios. (Por otro lado, en Windows los " +"nombres de archivos son almacenados de forma nativa como Unicode.) Como " +"solución alternativa, la mayoría de las APIs (por ejemplo :func:`open` y " +"muchas otras funciones en el módulo :mod:`os`) que toman nombres de archivos " +"aceptan tanto objetos :class:`bytes` como cadenas de caracteres, y algunas " +"APIs tienen una forma de demandar por un valor de retorno :class:`bytes`. " +"Por lo tanto, :func:`os.listdir` retorna una lista de instancias :class:" +"`bytes` si el argumento es una instancia :class:`bytes`, y :func:`os." +"getcwdb` retorna el directorio de trabajo actual como una instancia :class:" +"`bytes`. Tener en cuenta que cuando :func:`os.listdir` retorna una lista de " +"cadenas de caracteres, los nombres de archivo que no se pueden decodificar " +"correctamente se omiten en lugar de lanzar :exc:`UnicodeError`." #: ../Doc/whatsnew/3.0.rst:325 msgid "" @@ -370,6 +554,11 @@ msgid "" "interpretable using the default encoding. Setting the ``LANG`` variable and " "rerunning the program is probably the best approach." msgstr "" +"Algunas APIs del sistema como :data:`os.environ` y :data:`sys.argv` también " +"pueden presentar problemas cuando los bytes puestos a disposición por el " +"sistema no son interpretables usando la codificación predeterminada. " +"Probablemente el mejor abordaje sea asignando la variable ``LANG`` y " +"volviendo a ejecutar el programa." #: ../Doc/whatsnew/3.0.rst:330 msgid "" @@ -377,10 +566,14 @@ msgid "" "characters. It still escapes control characters and code points with non-" "printable status in the Unicode standard, however." msgstr "" +":pep:`3138`: El :func:`repr` de una cadena de caracteres ya no escapa " +"caracteres no ASCII. Sin embargo, todavía escapa caracteres de control " +"caracteres y puntos de código con estado no imprimible en el estándar the " +"Unicode." #: ../Doc/whatsnew/3.0.rst:334 msgid ":pep:`3120`: The default source encoding is now UTF-8." -msgstr "" +msgstr ":pep:`3120`: La codificación de fuente predeterminada ahora es UTF-8." #: ../Doc/whatsnew/3.0.rst:336 msgid "" @@ -388,6 +581,9 @@ msgid "" "standard library remains ASCII-only with the exception of contributor names " "in comments.)" msgstr "" +":pep:`3131`: Letras no ASCII ahora están permitidas en identificadores. (De " +"todas maneras, la librería estándar permanece como sólo ASCII con la " +"excepción de nombres de colaboradores en comentarios.)" #: ../Doc/whatsnew/3.0.rst:340 msgid "" @@ -395,24 +591,29 @@ msgid "" "the :mod:`io` module and use :class:`io.StringIO` or :class:`io.BytesIO` for " "text and data respectively." msgstr "" +"Los módulos :mod:`StringIO` and :mod:`cStringIO` ya no están. En su lugar, " +"se importa el módulo the :mod:`io` y se usa :class:`io.StringIO` o :class:" +"`io.BytesIO` para texto y datos respectivamente." #: ../Doc/whatsnew/3.0.rst:344 msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." -msgstr "" +msgstr "Ver también :ref:`unicode-howto`, que fue actualizado para Python 3.0." #: ../Doc/whatsnew/3.0.rst:348 msgid "Overview Of Syntax Changes" -msgstr "" +msgstr "Descripción general de los cambios de sintaxis" #: ../Doc/whatsnew/3.0.rst:350 msgid "" "This section gives a brief overview of every *syntactic* change in Python " "3.0." msgstr "" +"Esta sección brinda una descripción general breve de cada cambio " +"*sintáctico* en Python 3.0." #: ../Doc/whatsnew/3.0.rst:354 msgid "New Syntax" -msgstr "" +msgstr "Nueva sintaxis" #: ../Doc/whatsnew/3.0.rst:356 msgid "" @@ -423,6 +624,12 @@ msgid "" "intent is to encourage experimentation through metaclasses, decorators or " "frameworks." msgstr "" +":pep:`3107`: Argumento de función y anotaciones de valor retornado. Esto " +"proporciona una forma estandarizada de anotar los parámetros y el valor " +"retornado de una función. No hay semántica asociada a estas anotaciones, " +"excepto que se pueden introspeccionar en tiempo de ejecución mediante el " +"atributo :attr:`__annotations__`. La intención es fomentar la " +"experimentación a través de metaclases, decoradores o *frameworks*." #: ../Doc/whatsnew/3.0.rst:363 msgid "" @@ -432,6 +639,12 @@ msgid "" "that you don't accept a variable-length argument list, but you do have " "keyword-only arguments." msgstr "" +":pep:`3102`: Argumentos de sólo palabra clave. Los parámetros con nombre que " +"se producen después de ``*args`` en la lista de parámetros *deben* " +"especificarse mediante la sintaxis de palabra clave en la llamada. También " +"puede usarse apenas un``*`` sólo en la lista de parámetros para indicar que " +"no se acepta una lista de argumentos de longitud variable, pero se tiene " +"argumentos de sólo palabra clave." #: ../Doc/whatsnew/3.0.rst:369 msgid "" @@ -440,6 +653,10 @@ msgid "" "(see next section), but can be used for other purposes as well, as long as " "the metaclass supports it." msgstr "" +"Los argumentos de palabra clave se permiten después de la lista de clases " +"base en una definición de clase. Esto lo usa la nueva convención para " +"especificar una metaclase (consultar la sección siguiente), pero también se " +"puede usar para otros fines, siempre y cuando la metaclase la admita." #: ../Doc/whatsnew/3.0.rst:374 msgid "" @@ -447,6 +664,9 @@ msgid "" "now assign directly to a variable in an outer (but non-global) scope. :" "keyword:`!nonlocal` is a new reserved word." msgstr "" +":pep:`3104`: Declaración :keyword:`nonlocal`. Utilizando ``nonlocal x`` " +"ahora se puede asignar directamente a una variable en un entorno externo " +"(pero no global). :keyword:`!nonlocal` es una nueva palabra reservada." #: ../Doc/whatsnew/3.0.rst:378 msgid "" @@ -455,16 +675,23 @@ msgid "" "``rest`` object is always a (possibly empty) list; the right-hand side may " "be any iterable. Example::" msgstr "" +":pep:`3132`: Desempaque iterable extendido. Ahora se puede escribir cosas " +"como ``a, b, *rest = some_sequence``. E incluso ``*rest, a = cosas``. El " +"objeto ``rest`` es siempre una lista (posiblemente vacía); el lado derecho " +"puede ser cualquier iterable. Ejemplo::" #: ../Doc/whatsnew/3.0.rst:385 msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``." -msgstr "" +msgstr "Esto asigna *a* a ``0``, *b* a ``4``, y *rest* a ``[1, 2, 3]``." #: ../Doc/whatsnew/3.0.rst:387 msgid "" "Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing " "as ``dict(stuff)`` but is more flexible. (This is :pep:`274` vindicated. :-)" msgstr "" +"Comprensiones por diccionario: ``{k: v for k, v in cosas}`` significa lo " +"mismo que ``dict(cosas)``, pero es más flexible. (Esto es :pep:`274` " +"reivindicado. :-)" #: ../Doc/whatsnew/3.0.rst:391 msgid "" @@ -473,60 +700,78 @@ msgid "" "``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " "flexible." msgstr "" +"Asignar los literales, por ejemplo, ``{1, 2}``. Tener en cuenta que ``{}`` " +"es un diccionario vacío; utilizar ``set()`` para un conjunto vacío. También " +"se admiten las comprensiones de conjunto; por ejemplo, ``x for x in cosas`` " +"significa lo mismo que ``set(cosas)``, pero es más flexible." #: ../Doc/whatsnew/3.0.rst:396 msgid "" "New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals " "(``0720``) are gone." msgstr "" +"Nuevos octales literales, por ejemplo, ``0o720`` (ya en 2.6). Los octales " +"literales viejos (``0720``) se eliminaron." #: ../Doc/whatsnew/3.0.rst:399 msgid "" "New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " "corresponding built-in function, :func:`bin`." msgstr "" +"Nuevos literales binarios, por ejemplo, ``0b1010`` (ya en 2.6), y hay una " +"nueva función incorporada correspondiente, :func:`bin`." #: ../Doc/whatsnew/3.0.rst:402 msgid "" "Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " "new corresponding built-in function, :func:`bytes`." msgstr "" +"Los literales de bytes se introducen con un ``b`` o ``B`` delantero, y hay " +"una nueva función incorporada correspondiente, :func:`bytes`." #: ../Doc/whatsnew/3.0.rst:406 msgid "Changed Syntax" -msgstr "" +msgstr "Sintaxis modificada" #: ../Doc/whatsnew/3.0.rst:408 msgid "" ":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:" "`raise [{expr} [from {expr}]]`. See below." msgstr "" +":pep:`3109` y :pep:`3134`: Nueva sintaxis de la instrucción :keyword:" +"`raise`: :samp:`raise [{expr} [from {expr}]]`. Ver a continuación." #: ../Doc/whatsnew/3.0.rst:411 msgid "" ":keyword:`!as` and :keyword:`with` are now reserved words. (Since 2.6, " "actually.)" msgstr "" +":keyword:`!as` y :keyword:`with` ahora son palabras reservadas. (Desde 2.6, " +"de hecho.)" #: ../Doc/whatsnew/3.0.rst:414 msgid "" "``True``, ``False``, and ``None`` are reserved words. (2.6 partially " "enforced the restrictions on ``None`` already.)" msgstr "" +"``True``, ``False`` y ``None`` son palabras reservadas. (2.6 parcialmente " +"estableció restricciones ya en ``None``.)" #: ../Doc/whatsnew/3.0.rst:417 msgid "" "Change from :keyword:`except` *exc*, *var* to :keyword:`!except` *exc* :" "keyword:`!as` *var*. See :pep:`3110`." msgstr "" +"Cambio de :keyword:`except` *exc*, *var* a :keyword:`!except` *exc* :keyword:" +"`!as` *var*.Ver :pep:`3110`." #: ../Doc/whatsnew/3.0.rst:420 msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" -msgstr "" +msgstr ":pep:`3115`: Nueva sintaxis de metaclase. En lugar de::" #: ../Doc/whatsnew/3.0.rst:426 msgid "you must now use::" -msgstr "" +msgstr "ahora se debe usar:" #: ../Doc/whatsnew/3.0.rst:431 msgid "" @@ -534,6 +779,9 @@ msgid "" "(It was a crutch to make it easier to default to new-style classes without " "deriving every class from :class:`object`.)" msgstr "" +"Ya no se admite la variable de módulo global :data:`__metaclass__`. (Era una " +"muleta para facilitar al valor predeterminado a las clases de estilo nuevo " +"sin derivar todas las clases de :class:`object`.)" #: ../Doc/whatsnew/3.0.rst:436 msgid "" @@ -544,6 +792,13 @@ msgid "" "inside a :func:`list` constructor, and in particular the loop control " "variables are no longer leaked into the surrounding scope." msgstr "" +"Las listas por comprensión ya no admiten la forma sintáctica :samp:`[... for " +"{var} in {item1}, {item2}, ...]`. Utilizar :samp:`[... for{var} in ({item1}, " +"{item2}, ...)]` en su lugar. También tener en cuenta que las listas por " +"comprensión tienen semántica diferente: están más cerca del azúcar " +"sintáctico para una expresión de generador dentro de un constructor :func:" +"`list` y, en particular, las variables de control de bucle ya no se filtran " +"en el ámbito circundante." #: ../Doc/whatsnew/3.0.rst:444 msgid "" @@ -552,24 +807,31 @@ msgid "" "as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " "accident of the grammar.)" msgstr "" +"La *elipsis* (``...``) puede ser utilizada como una expresión atómica en " +"cualquier lugar. (Previamente sólo estaba permitida en segmentos.) Asimismo, " +"esto ahora *debe* ser escrito como ``...``. (Anteriormente, también podía " +"ser escrito como ``. . .``, por un mero accidente de la gramática.)" #: ../Doc/whatsnew/3.0.rst:450 msgid "Removed Syntax" -msgstr "" +msgstr "Sintaxis eliminada" #: ../Doc/whatsnew/3.0.rst:452 msgid "" ":pep:`3113`: Tuple parameter unpacking removed. You can no longer write " "``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead." msgstr "" +":pep:`3113`: Desempaque de parámetros de tupla eliminados. Ya no se puede " +"escribir ``def foo(a, (b, c)): ...``. Utilizar ``def foo(a, b_c): b, c = " +"b_c`` en su lugar." #: ../Doc/whatsnew/3.0.rst:456 msgid "Removed backticks (use :func:`repr` instead)." -msgstr "" +msgstr "Comillas invertidas eliminadas (usar :func:`repr` en su lugar)." #: ../Doc/whatsnew/3.0.rst:458 msgid "Removed ``<>`` (use ``!=`` instead)." -msgstr "" +msgstr "Eliminados ``<>`` (usar ``!=`` en su lugar)." #: ../Doc/whatsnew/3.0.rst:460 msgid "" @@ -578,20 +840,28 @@ msgid "" "note that :func:`exec` no longer takes a stream argument; instead of " "``exec(f)`` you can use ``exec(f.read())``." msgstr "" +"Palabra clave eliminada: :func:`exec` ya no es una palabra clave; continúa " +"siendo una función. (Afortunadamente la sintaxis de la función también era " +"aceptada en 2.x.) Asimismo, nótese que la :func:`exec` ya no toma un " +"argumento de flujo; en lugar de ``exec(f)`` se puede utilizar ``exec(f." +"read())``." #: ../Doc/whatsnew/3.0.rst:465 msgid "Integer literals no longer support a trailing ``l`` or ``L``." -msgstr "" +msgstr "Literales enteros no admiten más ``l`` o ``L`` finales." #: ../Doc/whatsnew/3.0.rst:467 msgid "String literals no longer support a leading ``u`` or ``U``." msgstr "" +"Literales de cadena de caracteres no admiten más ``u`` or ``U`` iniciales." #: ../Doc/whatsnew/3.0.rst:469 msgid "" "The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " "at the module level, no longer inside functions." msgstr "" +"La sintaxis :keyword:`from` *module* :keyword:`import` ``*`` solo se permite " +"en el nivel de módulo, ya no dentro de las funciones." #: ../Doc/whatsnew/3.0.rst:472 msgid "" @@ -599,14 +869,17 @@ msgid "" "import {name}`. All :keyword:`import` forms not starting with ``.`` are " "interpreted as absolute imports. (:pep:`328`)" msgstr "" +"La única sintaxis aceptable para *imports* relativos es :samp:`from ." +"[{module}] import {name}`. Todos los formularios :keyword:`import` que no " +"comienzan con ``.`` son interpretados como *imports* absolutos" #: ../Doc/whatsnew/3.0.rst:476 msgid "Classic classes are gone." -msgstr "" +msgstr "Se eliminaron las clases clásicas." #: ../Doc/whatsnew/3.0.rst:480 msgid "Changes Already Present In Python 2.6" -msgstr "" +msgstr "Cambios ya presentes en Python 2.6" #: ../Doc/whatsnew/3.0.rst:482 msgid "" @@ -616,6 +889,11 @@ msgid "" "corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " "longer descriptions." msgstr "" +"Dado que es de suponer que muchos usuarios saltan directamente de Python 2.5 " +"a Python 3.0, esta sección recuerda al lector nuevas características que se " +"diseñaron originalmente para Python 3.0 pero que fueron llevadas hacia atrás " +"a Python 2.6. Las secciones correspondientes en :ref:`whats-new-in-2.6` " +"deberían ser consultadas para descripciones más largas." #: ../Doc/whatsnew/3.0.rst:488 msgid "" @@ -623,20 +901,25 @@ msgid "" "and no longer needs to be imported from the :mod:`__future__`. Also check " "out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`." msgstr "" +":ref:`pep-0343`.La declaración :keyword:`with` ahora es una característica " +"estándar y ya no necesita ser importada del :mod:`__future__`. También puede " +"revisarse :ref:`new-26-context-managers` y :ref:`new-module-contextlib`." #: ../Doc/whatsnew/3.0.rst:493 msgid "" ":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option " "when the referenced module lives in a package." msgstr "" +":ref:`pep-0366`. Esto mejora la utilidad de opción :option:`-m` cuando el " +"módulo al que se hace referencia vive en un paquete." #: ../Doc/whatsnew/3.0.rst:496 msgid ":ref:`pep-0370`." -msgstr "" +msgstr ":ref:`pep-0370`." #: ../Doc/whatsnew/3.0.rst:498 msgid ":ref:`pep-0371`." -msgstr "" +msgstr ":ref:`pep-0371`." #: ../Doc/whatsnew/3.0.rst:500 msgid "" @@ -646,12 +929,20 @@ msgid "" "`bytes` type does not. The plan is to eventually make this the only API for " "string formatting, and to start deprecating the ``%`` operator in Python 3.1." msgstr "" +":ref:`pep-3101`. Nota: la descripción 2.6 menciona el método :meth:`format` " +"tanto para cadenas de caracteres 8 bits como de Unicode. En 3.0, solo el " +"tipo :class:`str` (cadenas de texto con compatibilidad con Unicode) admite " +"este método; el tipo :class:`bytes` no. El plan es a la larga convertir esta " +"en la única API para el formato de cadena de caracteres y comenzar a dejar " +"de utilizar el operador ``%`` en Python 3.1." #: ../Doc/whatsnew/3.0.rst:507 msgid "" ":ref:`pep-3105`. This is now a standard feature and no longer needs to be " "imported from :mod:`__future__`. More details were given above." msgstr "" +":ref:`pep-3105`. Esta ahora es una característica estándar y ya no necesita " +"ser importada de :mod:`__future__`. Más detalles fueron dados anteriormente." #: ../Doc/whatsnew/3.0.rst:510 msgid "" @@ -659,6 +950,9 @@ msgid "" "now standard and :keyword:`!except` *exc*, *var* is no longer supported. " "(Of course, the :keyword:`!as` *var* part is still optional.)" msgstr "" +":ref:`pep-3110`. La sintaxis :keyword:`except` *exc* :keyword:`!as` *var* " +"ahora es estándar y :keyword:`!except` *exc*, *var* ya no es compatible. " +"(Por supuesto, la parte :keyword:`!as` *var* sigue siendo opcional.)" #: ../Doc/whatsnew/3.0.rst:515 msgid "" @@ -666,6 +960,9 @@ msgid "" "like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " "literal of type :class:`bytes`." msgstr "" +":ref:`pep-3112`. La notación literal de cadena de caracteres ``b\"...\"`` (y " +"sus variantes como ``b'...'``, ``b\"\"\"...\"\"\"``, y ``br\"...\"``) ahora " +"genera un literal de tipo :class:`bytes`." #: ../Doc/whatsnew/3.0.rst:519 msgid "" @@ -678,12 +975,24 @@ msgid "" "object maintains a buffer of itself in order to speed up the encoding and " "decoding operations)." msgstr "" +":ref:`pep-3116`. El módulo :mod:`io` ahora es la forma estándar de hacer E/S " +"de archivos. La función incorporada :func:`open` ahora es un alias para :" +"func:`io.open` y tiene argumentos de palabra clave adicionales *encoding*, " +"*errors*, *newline* y *closefd*. Tener en cuenta también que un argumento " +"*mode* inválido ahora lanza :exc:`ValueError`, no :exc:`IOError`. Se puede " +"acceder al objeto de archivo binario subyacente a un objeto de archivo de " +"texto como :attr:`f.buffer` (pero tener en cuenta que el objeto de texto " +"mantiene un búfer de sí mismo para acelerar las operaciones de codificación " +"y descodificación)." #: ../Doc/whatsnew/3.0.rst:529 msgid "" ":ref:`pep-3118`. The old builtin :func:`buffer` is now really gone; the new " "builtin :func:`memoryview` provides (mostly) similar functionality." msgstr "" +":ref:`pep-3118`. El antiguo :func:`buffer` incorporado ahora realmente se ha " +"eliminado; el :func:`memoryview` incorporado nuevo proporciona (mayormente) " +"una funcionalidad similar." #: ../Doc/whatsnew/3.0.rst:533 msgid "" @@ -693,16 +1002,23 @@ msgid "" "conform to the :class:`collections.MutableMapping` and :class:`collections." "MutableSequence` ABCs, respectively." msgstr "" +":ref:`pep-3119`. El módulo :mod:`abc` y los ABC definidos en el módulo :mod:" +"`collections` desempeñan un papel algo más destacado en el lenguaje ahora, y " +"los tipos de colección incorporados como :class:`dict` y :class:`list` se " +"ajustan a los ABCs de :class:`collections.MutableMapping` y :class:" +"`collections.MutableSequence`, respectivamente." #: ../Doc/whatsnew/3.0.rst:539 msgid "" ":ref:`pep-3127`. As mentioned above, the new octal literal notation is the " "only one supported, and binary literals have been added." msgstr "" +":ref:`pep-3127`. Como se mencionó anteriormente, la nueva notación literal " +"octal es la única admitida y se han agregado literales binarios." #: ../Doc/whatsnew/3.0.rst:543 msgid ":ref:`pep-3129`." -msgstr "" +msgstr ":ref:`pep-3129`." #: ../Doc/whatsnew/3.0.rst:545 msgid "" @@ -710,10 +1026,13 @@ msgid "" "defining Python's \"numeric tower\". Also note the new :mod:`fractions` " "module which implements :class:`numbers.Rational`." msgstr "" +":ref:`pep-3141`. El módulo :mod:`numbers` es otro uso nuevo de ABCs, " +"definiendo la \"torre numérica\" de Python. También tener en cuenta el nuevo " +"módulo :mod:`fractions` que implementa :class:`numbers.Rational`." #: ../Doc/whatsnew/3.0.rst:551 msgid "Library Changes" -msgstr "" +msgstr "Cambios de biblioteca" #: ../Doc/whatsnew/3.0.rst:553 msgid "" @@ -721,6 +1040,10 @@ msgid "" "extensive changes to the standard library. :pep:`3108` is the reference for " "the major changes to the library. Here's a capsule review:" msgstr "" +"Debido a las limitaciones de tiempo, este documento no cubre exhaustivamente " +"los muy extensos cambios en la biblioteca estándar. :pep:`3108` es la " +"referencia para los principales cambios en la biblioteca. Aquí hay una " +"revisión de cápsula:" #: ../Doc/whatsnew/3.0.rst:558 msgid "" @@ -731,6 +1054,13 @@ msgid "" "were also selected for removal in Python 3.0 due to lack of use or because a " "better replacement exists. See :pep:`3108` for an exhaustive list." msgstr "" +"Se eliminaron muchos módulos antiguos. Algunos, como :mod:`gopherlib` (ya no " +"se usa) y :mod:`md5` (reemplazado por :mod:`hashlib`), ya estaban en desuso " +"por :pep:`4`. Otros fueron eliminados como resultado de la eliminación de " +"soporte para varias plataformas como Irix, BeOS y Mac OS 9 (ver :pep:`11`). " +"Algunos módulos también fueron seleccionados para su eliminación en Python " +"3.0 debido a la falta de uso o porque existe un mejor reemplazo. Consultar :" +"pep:`3108` para obtener una lista exhaustiva." #: ../Doc/whatsnew/3.0.rst:566 msgid "" @@ -740,84 +1070,92 @@ msgid "" "However, the package is alive and well, externally maintained at https://www." "jcea.es/programacion/pybsddb.htm." msgstr "" +"El paquete :mod:`bsddb3` fue eliminado porque su presencia en la biblioteca " +"estándar principal ha demostrado con el tiempo ser una particular carga para " +"los desarrolladores principales, debido a la inestabilidad de las pruebas y " +"la programación del lanzamiento de Berkeley DB. Sin embargo, el paquete está " +"vivo y bien, mantenido externamente en https://www.jcea.es/programacion/" +"pybsddb.htm." #: ../Doc/whatsnew/3.0.rst:572 msgid "" "Some modules were renamed because their old name disobeyed :pep:`8`, or for " "various other reasons. Here's the list:" msgstr "" +"Algunos módulos fueron renombrados porque su antiguo nombre desobedeció :pep:" +"`8`, o por varias otras razones. Aquí está la lista:" #: ../Doc/whatsnew/3.0.rst:576 msgid "Old Name" -msgstr "" +msgstr "Nombre anterior" #: ../Doc/whatsnew/3.0.rst:576 msgid "New Name" -msgstr "" +msgstr "Nombre nuevo" #: ../Doc/whatsnew/3.0.rst:578 msgid "_winreg" -msgstr "" +msgstr "_winreg" #: ../Doc/whatsnew/3.0.rst:578 msgid "winreg" -msgstr "" +msgstr "winreg" #: ../Doc/whatsnew/3.0.rst:579 msgid "ConfigParser" -msgstr "" +msgstr "ConfigParser" #: ../Doc/whatsnew/3.0.rst:579 msgid "configparser" -msgstr "" +msgstr "configparser" #: ../Doc/whatsnew/3.0.rst:580 msgid "copy_reg" -msgstr "" +msgstr "copy_reg" #: ../Doc/whatsnew/3.0.rst:580 msgid "copyreg" -msgstr "" +msgstr "copyreg" #: ../Doc/whatsnew/3.0.rst:581 msgid "Queue" -msgstr "" +msgstr "Queue" #: ../Doc/whatsnew/3.0.rst:581 msgid "queue" -msgstr "" +msgstr "queue" #: ../Doc/whatsnew/3.0.rst:582 msgid "SocketServer" -msgstr "" +msgstr "SocketServer" #: ../Doc/whatsnew/3.0.rst:582 msgid "socketserver" -msgstr "" +msgstr "socketserver" #: ../Doc/whatsnew/3.0.rst:583 msgid "markupbase" -msgstr "" +msgstr "markupbase" #: ../Doc/whatsnew/3.0.rst:583 msgid "_markupbase" -msgstr "" +msgstr "_markupbase" #: ../Doc/whatsnew/3.0.rst:584 msgid "repr" -msgstr "" +msgstr "repr" #: ../Doc/whatsnew/3.0.rst:584 msgid "reprlib" -msgstr "" +msgstr "reprlib" #: ../Doc/whatsnew/3.0.rst:585 msgid "test.test_support" -msgstr "" +msgstr "test.test_support" #: ../Doc/whatsnew/3.0.rst:585 msgid "test.support" -msgstr "" +msgstr "test.support" #: ../Doc/whatsnew/3.0.rst:588 msgid "" @@ -833,28 +1171,46 @@ msgid "" "The :mod:`profile` module is on the list for 3.1. The :mod:`StringIO` " "module has been turned into a class in the :mod:`io` module." msgstr "" +"Un patrón común en Python 2.x es tener una versión de un módulo implementado " +"en Python puro, con una versión acelerada opcional implementada como una " +"extensión C; por ejemplo, :mod:`pickle` y :mod:`cPickle`. Esto coloca la " +"carga de importar la versión acelerada y volver a caer en la versión de " +"Python pura en cada usuario de estos módulos. En Python 3.0, las versiones " +"aceleradas se consideran detalles de implementación de las versiones puras " +"de Python. Los usuarios siempre deberían importar la versión estándar, que " +"intenta importar la versión acelerada y vuelve a la versión de Python pura. " +"El par :mod:`pickle` / :mod:`cPickle` recibió este tratamiento. El módulo :" +"mod:`profile` está en la lista para 3.1. El módulo :mod:`StringIO` se ha " +"convertido en una clase en el módulo :mod:`io`." #: ../Doc/whatsnew/3.0.rst:602 msgid "" "Some related modules have been grouped into packages, and usually the " "submodule names have been simplified. The resulting new packages are:" msgstr "" +"Algunos módulos relacionados se han agrupado en paquetes y, por lo general, " +"los nombres de submódulo se han simplificado. Los nuevos paquetes " +"resultantes son:" #: ../Doc/whatsnew/3.0.rst:606 msgid "" ":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" "`gdbm`, :mod:`whichdb`)." msgstr "" +":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" +"`gdbm`, :mod:`whichdb`)." #: ../Doc/whatsnew/3.0.rst:609 msgid ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." -msgstr "" +msgstr ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." #: ../Doc/whatsnew/3.0.rst:611 msgid "" ":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" "mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." msgstr "" +":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" +"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." #: ../Doc/whatsnew/3.0.rst:615 msgid "" @@ -863,27 +1219,37 @@ msgid "" "`tkinter`. Also note that as of Python 2.6, the functionality of :mod:" "`turtle` has been greatly enhanced." msgstr "" +":mod:`tkinter` (todos los módulos relacionados con :mod:`Tkinter` excepto :" +"mod:`turtle`). Al público objetivo de :mod:`turtle` no le interesa " +"realmente :mod:`tkinter`. También tener en cuenta que a partir de Python " +"2.6, la funcionalidad de :mod:`turtle` se ha mejorado considerablemente." #: ../Doc/whatsnew/3.0.rst:620 msgid "" ":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" "`robotparse`)." msgstr "" +":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" +"`robotparse`)." #: ../Doc/whatsnew/3.0.rst:623 msgid "" ":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" "`SimpleXMLRPCServer`)." msgstr "" +":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" +"`SimpleXMLRPCServer`)." #: ../Doc/whatsnew/3.0.rst:626 msgid "" "Some other changes to standard library modules, not covered by :pep:`3108`:" msgstr "" +"Algunos otros cambios a los módulos de la biblioteca estándar, no cubiertos " +"por :pep:`3108`:" #: ../Doc/whatsnew/3.0.rst:629 msgid "Killed :mod:`sets`. Use the built-in :func:`set` class." -msgstr "" +msgstr "Quitado :mod:`sets`. Usar la clase incorporada :func:`set`." #: ../Doc/whatsnew/3.0.rst:631 msgid "" @@ -891,6 +1257,9 @@ msgid "" "exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." "exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" msgstr "" +"Limpiado el módulo :mod:`sys`: quitado :func:`sys.exitfunc`, :func:`sys." +"exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." +"exc_traceback`. (Notar que :data:`sys.last_type` etc. permanece.)" #: ../Doc/whatsnew/3.0.rst:636 msgid "" @@ -899,38 +1268,52 @@ msgid "" "the ``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or " "``'u'`` for Unicode characters." msgstr "" +"Limpiado del tipo :class:`array.array`: los métodos :meth:`read` y :meth:" +"`write` ya no están; usar :meth:`fromfile` y :meth:`tofile` en su lugar. " +"Asimismo, the el código de tipo ``'c'`` para arreglo ya no está-- utilizar o " +"bien ``'b'`` para bytes o ``'u'`` para caracteres Unicode." #: ../Doc/whatsnew/3.0.rst:642 msgid "" "Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :" "func:`isCallable`." msgstr "" +"Limpieza del módulo :mod:`operator`: quitados :func:`sequenceIncludes` y :" +"func:`isCallable`." #: ../Doc/whatsnew/3.0.rst:645 msgid "" "Cleanup of the :mod:`thread` module: :func:`acquire_lock` and :func:" "`release_lock` are gone; use :func:`acquire` and :func:`release` instead." msgstr "" +"Limpieza del módulo :mod:`thread`: :func:`acquire_lock` y :func:" +"`release_lock` ya no están; utilizar :func:`acquire` y :func:`release` en su " +"lugar." #: ../Doc/whatsnew/3.0.rst:649 msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." -msgstr "" +msgstr "Limpieza del módulo :mod:`random`: quitada la API :func:`jumpahead`." #: ../Doc/whatsnew/3.0.rst:651 msgid "The :mod:`new` module is gone." -msgstr "" +msgstr "El módulo :mod:`new` ya no está." #: ../Doc/whatsnew/3.0.rst:653 msgid "" "The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " "have been removed in favor of the :mod:`tempfile` module." msgstr "" +"Las funciones :func:`os.tmpnam`, :func:`os.tempnam` y :func:`os.tmpfile` se " +"han eliminado en favor del módulo :mod:`tempfile`." #: ../Doc/whatsnew/3.0.rst:657 msgid "" "The :mod:`tokenize` module has been changed to work with bytes. The main " "entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." msgstr "" +"El módulo :mod:`tokenize` se ha cambiado para trabajar con bytes. El punto " +"de entrada principal es ahora :func:`tokenize.tokenize`, en lugar de " +"generate_tokens." #: ../Doc/whatsnew/3.0.rst:661 msgid "" @@ -940,6 +1323,12 @@ msgid "" "friends had locale-specific behavior, which is a bad idea for such " "attractively-named global \"constants\".)" msgstr "" +":data:`string.letters` y sus amigos (:data:`string.lowercase` and :data:" +"`string.uppercase`) han sido eliminadas. Utilizar :data:`string." +"ascii_letters` etc. en su lugar. (La razón para la eliminación es que :data:" +"`string.letters` y sus amigos tenían un comportamiento específico de lugar, " +"que es una mala idea para tales \"constantes\" nombradas atractivamente " +"globales.)" #: ../Doc/whatsnew/3.0.rst:668 msgid "" @@ -948,10 +1337,15 @@ msgid "" "most global namespaces is unchanged. To modify a builtin, you should use :" "mod:`builtins`, not :data:`__builtins__`!" msgstr "" +"Renombrado el módulo :mod:`__builtin__` a :mod:`builtins` (quitando los " +"guiones bajos, agregando una 's'). La variable :data:`__builtins__` " +"encontrada en la mayoría de los espacios de nombres globales no tiene " +"cambios. Para modificar un *builtin*, Se debería usar :mod:`builtins`, no :" +"data:`__builtins__`!" #: ../Doc/whatsnew/3.0.rst:675 msgid ":pep:`3101`: A New Approach To String Formatting" -msgstr "" +msgstr ":pep:`3101`: Un nuevo enfoque al formateo de cadena de caracteres" #: ../Doc/whatsnew/3.0.rst:677 msgid "" @@ -960,16 +1354,23 @@ msgid "" "supported; it will be deprecated in Python 3.1 and removed from the " "language at some later time.) Read :pep:`3101` for the full scoop." msgstr "" +"Un nuevo sistema para operaciones de formateo de cadenas de caracteres " +"incorporadas reemplaza el operador de formato de cadena de caracteres ``%``. " +"(De todas maneras, el operador ``%`` sigue siento soportado; será obsoleto " +"en Python 3.1 y quitado del lenguaje en algún momento más adelante.) Leer :" +"pep:`3101` para la primicia completa." #: ../Doc/whatsnew/3.0.rst:685 msgid "Changes To Exceptions" -msgstr "" +msgstr "Cambios a excepciones" #: ../Doc/whatsnew/3.0.rst:687 msgid "" "The APIs for raising and catching exception have been cleaned up and new " "powerful features added:" msgstr "" +"Las APIs para lanzar y capturar excepciones se limpiaron y se agregaron " +"nuevas características poderosas:" #: ../Doc/whatsnew/3.0.rst:690 msgid "" @@ -980,6 +1381,13 @@ msgid "" "raised, and placed no restriction on what you can catch.) As a consequence, " "string exceptions are finally truly and utterly dead." msgstr "" +":pep:`352`: Todas las excepciones deben derivarse (directa o indirectamente) " +"de :exc:`BaseException`. Esta es la raíz de la jerarquía de excepciones. " +"Esto no es nuevo como recomendación, pero el *requisito* de heredar de :exc:" +"`BaseException` es nuevo. (Python 2.6 aún permitía que las clases clásicas " +"se lanzaran, y no ponía ninguna restricción en lo que se podía capturar.) " +"Como consecuencia, las excepciones de cadena de caracteres finalmente están " +"verdaderamente y completamente muertas." #: ../Doc/whatsnew/3.0.rst:698 msgid "" @@ -989,16 +1397,24 @@ msgid "" "`KeyboardInterrupt`. The recommended idiom for handling all exceptions " "except for this latter category is to use :keyword:`except` :exc:`Exception`." msgstr "" +"Casi todas las excepciones deberían de hecho derivarse de :exc:`Exception`; :" +"exc:`BaseException` sólo debe utilizarse como clase base para las " +"excepciones que solo deben controlarse en el nivel superior, como :exc:" +"`SystemExit` o :exc:`KeyboardInterrupt`. El modismo recomendado para " +"controlar todas las excepciones excepto esta última categoría es usar :" +"keyword:`except` :exc:`Exception`." #: ../Doc/whatsnew/3.0.rst:705 msgid ":exc:`StandardError` was removed." -msgstr "" +msgstr ":exc:`StandardError` fue eliminado." #: ../Doc/whatsnew/3.0.rst:707 msgid "" "Exceptions no longer behave as sequences. Use the :attr:`args` attribute " "instead." msgstr "" +"Las excepciones ya no se comportan como secuencias. Utilizar el atributo :" +"attr:`args` en su lugar." #: ../Doc/whatsnew/3.0.rst:710 msgid "" @@ -1008,6 +1424,11 @@ msgid "" "this, you can assign directly to the :attr:`__traceback__` attribute (see " "below)." msgstr "" +":pep:`3109`: Lanzando excepciones. Ahora se debe usar :samp:`raise " +"{Exception}({args})` en lugar de :samp:`raise {Exception}, {args}`. " +"Adicionalmente, ya no se puede especificar explícitamente un traceback; en " +"su lugar, si se *debe* hacer esto, se puede asignar directamente al " +"atributo :attr:`__traceback__` (ver debajo)." #: ../Doc/whatsnew/3.0.rst:716 msgid "" @@ -1016,6 +1437,10 @@ msgid "" "{variable}`. Moreover, the *variable* is explicitly deleted when the :" "keyword:`except` block is left." msgstr "" +":pep:`3110`: Atrapando excepciones. Ahora se debe usar :samp:`except " +"{AlgunaExcepcion} como {variable}` en lugar de :samp:`except " +"{AlgunaExcepcion}, {variable}`. Además, la *variable* es específicamente " +"eliminada cuando el bloque :keyword:`except` se deja." #: ../Doc/whatsnew/3.0.rst:722 msgid "" @@ -1027,6 +1452,14 @@ msgid "" "saved as the :attr:`__context__` attribute of the secondary exception. " "Explicit chaining is invoked with this syntax::" msgstr "" +":pep:`3134`: Encadenamiento de excepciones. Hay dos casos: encadenamiento " +"implícito y encadenamiento explícito. El encadenamiento implícito se produce " +"cuando se lanza una excepción en un bloque de controlador :keyword:`except` " +"o :keyword:`finally`. Esto suele ocurrir debido a un error en el bloque de " +"controlador; llamamos a esto una excepción *secundaria*. En este caso, la " +"excepción original (que se estaba controlando) se guarda como el atributo :" +"attr:`__context__` de la excepción secundaria. El encadenamiento explícito " +"se invoca con esta sintaxis:" #: ../Doc/whatsnew/3.0.rst:733 msgid "" @@ -1039,6 +1472,14 @@ msgid "" "with the primary exception at the top. (Java users may recognize this " "behavior.)" msgstr "" +"(donde *primary_exception* es cualquier expresión que produce un objeto de " +"excepción, probablemente una excepción que se detectó anteriormente). En " +"este caso, la excepción principal se almacena en el atributo :attr:" +"`__cause__` de la excepción secundaria. El traceback impreso recorre la " +"cadena de atributos :attr:`__cause__` y :attr:`__context__` cuando se " +"produce una excepción no controlada e imprime un traceback independiente " +"para cada componente de la cadena, con la excepción principal en la parte " +"superior. (Los usuarios de Java pueden reconocer este comportamiento.)" #: ../Doc/whatsnew/3.0.rst:742 msgid "" @@ -1047,6 +1488,10 @@ msgid "" "all the information pertaining to an exception, and there are fewer reasons " "to use :func:`sys.exc_info` (though the latter is not removed)." msgstr "" +":pep:`3134`: Los objetos de excepción ahora almacenan su traceback como el " +"atributo :attr:`__traceback__`. Esto significa que un objeto de excepción " +"ahora contiene toda la información relativa a una excepción y hay menos " +"razones para usar :func:`sys.exc_info` (aunque este último no se quita)." #: ../Doc/whatsnew/3.0.rst:748 msgid "" @@ -1054,20 +1499,26 @@ msgid "" "extension module. For example, ``error code 193`` is now ``%1 is not a " "valid Win32 application``. Strings now deal with non-English locales." msgstr "" +"Algunos mensajes de excepción se mejoraron cuando Windows falla al cargar un " +"módulo de extensión. Por ejemplo, ``error code 193`` ahora es ``%1 is not a " +"valid Win32 application``. Las cadenas de caracteres ahora tratan con " +"configuraciones regionales no inglesas." #: ../Doc/whatsnew/3.0.rst:755 msgid "Miscellaneous Other Changes" -msgstr "" +msgstr "Otros cambios diversos" #: ../Doc/whatsnew/3.0.rst:758 msgid "Operators And Special Methods" -msgstr "" +msgstr "Operadores y métodos especiales" #: ../Doc/whatsnew/3.0.rst:760 msgid "" "``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" "`NotImplemented`." msgstr "" +"``!=`` ahora retorna lo opuesto de ``==``, salvo que ``==`` retorne :data:" +"`NotImplemented`." #: ../Doc/whatsnew/3.0.rst:763 msgid "" @@ -1075,6 +1526,9 @@ msgid "" "referencing a method as a class attribute, you now get a plain function " "object." msgstr "" +"El concepto de \"métodos independientes\" fue quitado del lenguaje. Cuando " +"se refiere a un método como atributo de clase, ahora se obtiene un objeto de " +"función simple." #: ../Doc/whatsnew/3.0.rst:767 msgid "" @@ -1083,12 +1537,18 @@ msgid "" "j))`` (or :meth:`__setitem__` or :meth:`__delitem__`, when used as an " "assignment or deletion target, respectively)." msgstr "" +":meth:`__getslice__`, :meth:`__setslice__` y :meth:`__delslice__` se " +"quitaron. La sintaxis``a[i:j]`` ahora se traduce a ``a.__getitem__(slice(i, " +"j))`` (o :meth:`__setitem__` o :meth:`__delitem__`, cuando se utiliza como " +"destino de asignación o eliminación, respectivamente)." #: ../Doc/whatsnew/3.0.rst:773 msgid "" ":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" "`~iterator.__next__`." msgstr "" +":pep:`3114`: El método estándar :meth:`next` se ha renombrado como :meth:" +"`~iterator.__next__`." #: ../Doc/whatsnew/3.0.rst:776 msgid "" @@ -1096,10 +1556,13 @@ msgid "" "`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to " "an integer." msgstr "" +"Los métodos especiales :meth:`__oct__` y :meth:`__hex__` se quitaron -- :" +"func:`oct` y :func:`hex` utilizan :meth:`__index__` ahora para convertir el " +"argumento a un entero." #: ../Doc/whatsnew/3.0.rst:780 msgid "Removed support for :attr:`__members__` and :attr:`__methods__`." -msgstr "" +msgstr "Soporte eliminado para :attr:`__members__` y :attr:`__methods__`." #: ../Doc/whatsnew/3.0.rst:782 msgid "" @@ -1111,14 +1574,22 @@ msgid "" "attr:`__code__`, :attr:`__defaults__`, :attr:`~object.__dict__`, :attr:" "`__doc__`, :attr:`__globals__`, :attr:`~definition.__name__`, respectively." msgstr "" +"Se ha cambiado el nombre de los atributos de función denominados :attr:" +"`func_X` para utilizar el formulario :data:`__X__`, liberando estos nombres " +"en el espacio de nombres de atributo de función para los atributos definidos " +"por el usuario. Es decir, :attr:`func_closure`, :attr:`func_code`, :attr:" +"`func_defaults`, :attr:`func_dict`, :attr:`func_doc`, :attr:`func_globals`, :" +"attr:`func_name` se renombraron a :attr:`__closure__`, :attr:`__code__`, :" +"attr:`__defaults__`, :attr:`~object.__dict__`, :attr:`__doc__`, :attr:" +"`__globals__`, :attr:`~definition.__name__`, respectivamente." #: ../Doc/whatsnew/3.0.rst:792 msgid ":meth:`__nonzero__` is now :meth:`__bool__`." -msgstr "" +msgstr ":meth:`__nonzero__` ahora es :meth:`__bool__`." #: ../Doc/whatsnew/3.0.rst:795 msgid "Builtins" -msgstr "" +msgstr "Incorporados" #: ../Doc/whatsnew/3.0.rst:797 msgid "" @@ -1128,6 +1599,11 @@ msgid "" "automatically be chosen. With arguments, the behavior of :func:`super` is " "unchanged." msgstr "" +":pep:`3135`: Nuevo :func:`super`. Ahora se puede invocar :func:`super` sin " +"argumentos y (suponiendo que se encuentra en un método de instancia normal " +"definido dentro de una declaración :keyword:`class`) se elegirá " +"automáticamente la clase y la instancia correctas. Con argumentos, el " +"comportamiento de :func:`super` no cambia." #: ../Doc/whatsnew/3.0.rst:803 msgid "" @@ -1137,12 +1613,19 @@ msgid "" "input is terminated prematurely. To get the old behavior of :func:`input`, " "use ``eval(input())``." msgstr "" +":pep:`3111`: :func:`raw_input` se renombró a :func:`input`. Es decir, la " +"nueva función :func:`input` lee una línea de :data:`sys.stdin` y la retorna " +"con la línea final despojada. Lanza :exc:`EOFError` si la entrada se termina " +"prematuramente. Para obtener el comportamiento anterior de :func:`input`, " +"utilice ``eval(input())``." #: ../Doc/whatsnew/3.0.rst:809 msgid "" "A new built-in function :func:`next` was added to call the :meth:`~iterator." "__next__` method on an object." msgstr "" +"Se añadió una nueva función incorporada :func:`next` para llamar al método :" +"meth:`~iterator.__next__` sobre un objeto." #: ../Doc/whatsnew/3.0.rst:812 msgid "" @@ -1154,15 +1637,24 @@ msgid "" "a single argument and a value of the same type as ``x`` when called with two " "arguments." msgstr "" +"La estrategia de redondeo de la función :func:`round` y el tipo de retorno " +"han cambiado. Los casos exactamente a mitad de camino ahora se redondean al " +"resultado par más cercano en lugar de alejarse de cero. (Por ejemplo, " +"``round(2.5)`` ahora retorna ''2'' en lugar de ``3``.) ``round(x[, n])`` " +"ahora delega en ``x.__round__([n])`` en lugar de retornar siempre un float. " +"Por lo general, retorna un entero cuando se llama con un único argumento y " +"un valor del mismo tipo que ``x`` cuando se llama con dos argumentos." #: ../Doc/whatsnew/3.0.rst:821 msgid "Moved :func:`intern` to :func:`sys.intern`." -msgstr "" +msgstr "Se movió :func:`intern` a :func:`sys.intern`." #: ../Doc/whatsnew/3.0.rst:823 msgid "" "Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." msgstr "" +"Se eliminó: :func:`apply`. En lugar de ``apply(f, args)`` se utiliza " +"``f(*args)``." #: ../Doc/whatsnew/3.0.rst:826 msgid "" @@ -1170,24 +1662,34 @@ msgid "" "``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " "function is also gone." msgstr "" +"Se eliminó :func:`callable`. En lugar de ``callable(f)`` se puede utilizar " +"``isinstance(f, collections.Callable)``. La función :func:`operator." +"isCallable` también se quitó." #: ../Doc/whatsnew/3.0.rst:830 msgid "" "Removed :func:`coerce`. This function no longer serves a purpose now that " "classic classes are gone." msgstr "" +"Se eliminó :func:`coerce`. Esta función ya no sirve para nada ahora que las " +"clases clásicas se han quitado." #: ../Doc/whatsnew/3.0.rst:833 msgid "" "Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." "read())``." msgstr "" +"Se eliminó :func:`execfile`. En lugar de ``execfile(fn)`` utilizar " +"``exec(open(fn).read())``." #: ../Doc/whatsnew/3.0.rst:836 msgid "" "Removed the :class:`file` type. Use :func:`open`. There are now several " "different kinds of streams that open can return in the :mod:`io` module." msgstr "" +"Se eliminó el tipo :class:`file`. Se utiliza :func:`open`. Ahora hay varios " +"tipos diferentes de secuencias que se abren y pueden retornar en el módulo :" +"mod:`io`." #: ../Doc/whatsnew/3.0.rst:839 msgid "" @@ -1195,53 +1697,64 @@ msgid "" "however, 99 percent of the time an explicit :keyword:`for` loop is more " "readable." msgstr "" +"Se eliminó :func:`reduce`. Se puede utilizar :func:`functools.reduce` si es " +"realmente necesario; de todas maneras, 99 por ciento del tiempo un bucle :" +"keyword:`for` explícito es más legible." #: ../Doc/whatsnew/3.0.rst:843 msgid "Removed :func:`reload`. Use :func:`imp.reload`." -msgstr "" +msgstr "Se eliminó :func:`reload`. Se utiliza :func:`imp.reload`." #: ../Doc/whatsnew/3.0.rst:845 msgid "" "Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." msgstr "" +"Se eliminó :meth:`dict.has_key` -- se utiliza el operador :keyword:`in` en " +"su lugar." #: ../Doc/whatsnew/3.0.rst:852 msgid "Build and C API Changes" -msgstr "" +msgstr "Construcción y cambios a la API de C" #: ../Doc/whatsnew/3.0.rst:854 msgid "" "Due to time constraints, here is a *very* incomplete list of changes to the " "C API." msgstr "" +"Debido a restricciones de tiempo, aquí hay una *muy* incompleta lista de " +"cambios a la API de C." #: ../Doc/whatsnew/3.0.rst:857 msgid "" "Support for several platforms was dropped, including but not limited to Mac " "OS 9, BeOS, RISCOS, Irix, and Tru64." msgstr "" +"Se ha eliminado el soporte para varias plataformas, incluyendo pero no " +"limitado a Mac OS 9, BeOS, RISCOS, Irix y Tru64." #: ../Doc/whatsnew/3.0.rst:860 msgid ":pep:`3118`: New Buffer API." -msgstr "" +msgstr ":pep:`3118`: Nueva API de búfer." #: ../Doc/whatsnew/3.0.rst:862 msgid ":pep:`3121`: Extension Module Initialization & Finalization." -msgstr "" +msgstr ":pep:`3121`: Inicialización y finalización de módulos de extensión." #: ../Doc/whatsnew/3.0.rst:864 msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." -msgstr "" +msgstr ":pep:`3123`: Haciendo :c:macro:`PyObject_HEAD` conforme al estándar C." #: ../Doc/whatsnew/3.0.rst:866 msgid "No more C API support for restricted execution." -msgstr "" +msgstr "No más compatibilidad con API C para ejecución restringida." #: ../Doc/whatsnew/3.0.rst:868 msgid "" ":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" "`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed." msgstr "" +"Las API C :c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" +"`PyMember_Get`, y :c:func:`PyMember_Set` se eliminan." #: ../Doc/whatsnew/3.0.rst:871 msgid "" @@ -1249,21 +1762,27 @@ msgid "" "`PyImport_ImportModule` but won't block on the import lock (returning an " "error instead)." msgstr "" +"La nueva API C :c:func:`PyImport_ImportModuleNoBlock`, trabaja como :c:func:" +"`PyImport_ImportModule` pero no bloqueará en el bloqueo de importación (en " +"su lugar, retornará un error)." #: ../Doc/whatsnew/3.0.rst:875 msgid "" "Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " "now ``nb_bool``." msgstr "" +"Se renombró la conversión booleana de ranura de nivel C y el método: " +"``nb_nonzero`` ahora es ``nb_bool``." #: ../Doc/whatsnew/3.0.rst:878 msgid "" "Removed :c:macro:`METH_OLDARGS` and :c:macro:`WITH_CYCLE_GC` from the C API." msgstr "" +"Se eliminó :c:macro:`METH_OLDARGS` y :c:macro:`WITH_CYCLE_GC` de la API C." #: ../Doc/whatsnew/3.0.rst:884 msgid "Performance" -msgstr "" +msgstr "Rendimiento" #: ../Doc/whatsnew/3.0.rst:886 #, python-format @@ -1273,26 +1792,36 @@ msgid "" "biggest cause is the removal of special-casing for small integers. There's " "room for improvement, but it will happen after 3.0 is released!" msgstr "" +"El resultado neto de las generalizaciones 3.0 es que Python 3.0 ejecuta el " +"punto de referencia *pystone* alrededor de 10% más lenta que Python 2.5. Lo " +"más probable es que la mayor causa sea la eliminación de mayúsculas y " +"minúsculas especiales para enteros pequeños. Hay margen de mejora, ¡pero " +"sucederá después de que se publique 3.0!" #: ../Doc/whatsnew/3.0.rst:896 msgid "Porting To Python 3.0" -msgstr "" +msgstr "Migración a Python 3.0" #: ../Doc/whatsnew/3.0.rst:898 msgid "" "For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " "strategy is the following:" msgstr "" +"Para migrar código Python 2.5 o 2.6 existente a Python 3.0, la mejor " +"estrategia es la siguiente:" #: ../Doc/whatsnew/3.0.rst:901 msgid "(Prerequisite:) Start with excellent test coverage." -msgstr "" +msgstr "(Prerrequisito:) Comenzar con excelente cobertura de test." #: ../Doc/whatsnew/3.0.rst:903 msgid "" "Port to Python 2.6. This should be no more work than the average port from " "Python 2.x to Python 2.(x+1). Make sure all your tests pass." msgstr "" +"Migrar a Python 2.6. Esto no debería representar más trabajo que la " +"migración promedio de Python 2.x a Python 2.(x+1). Asegurarse que todos los " +"test pasen." #: ../Doc/whatsnew/3.0.rst:907 msgid "" @@ -1301,6 +1830,11 @@ msgid "" "Run your test suite again, and fix code that you get warnings about until " "there are no warnings left, and all your tests still pass." msgstr "" +"(Todavía utilizando 2.6:) Activar el modificador de línea de comandos :" +"option:`!-3`. Esto habilita las advertencias sobre las características que " +"se eliminarán (o cambiarán) en 3.0. Ejecutar el conjunto de pruebas de nuevo " +"y corregir el código sobre el que se recibe advertencias hasta que no queden " +"advertencias y todas las pruebas sigan pasando." #: ../Doc/whatsnew/3.0.rst:913 msgid "" @@ -1309,6 +1843,11 @@ msgid "" "translation under Python 3.0. Manually fix up any remaining issues, fixing " "problems until all tests pass again." msgstr "" +"Ejecutar el traductor de origen a origen ``2to3`` sobre el árbol de código " +"fuente. (Consultar :ref:`2to3-reference` para obtener más información sobre " +"esta herramienta.) Ejecutar el resultado de la traducción en Python 3.0. " +"Corregir manualmente los problemas restantes, solucionando problemas hasta " +"que todos las pruebas vuelvan a pasar." #: ../Doc/whatsnew/3.0.rst:918 msgid "" @@ -1320,8 +1859,17 @@ msgid "" "the source code and running the ``2to3`` translator again, rather than " "editing the 3.0 version of the source code." msgstr "" +"No se recomienda intentar escribir código fuente que se ejecute sin cambios " +"en Python 2.6 y 3.0; se tendría que usar un estilo de codificación muy " +"contorsionado, por ejemplo, evitando las sentencias ``print``, metaclases y " +"mucho más. Si se mantiene una biblioteca que necesita soportar Python 2.6 y " +"Python 3.0, el mejor enfoque es modificar el paso 3 anterior editando la " +"versión 2.6 del código fuente y ejecutando el traductor ``2to3`` de nuevo, " +"en lugar de editar la versión 3.0 del código fuente." #: ../Doc/whatsnew/3.0.rst:927 msgid "" "For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." msgstr "" +"Para migrar las extensiones C a Python 3.0, por favor ver :ref:`cporting-" +"howto`."