From 9070a57ab8ba29c99cd32a9676d36abccc667478 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 26 May 2020 16:43:27 -0300 Subject: [PATCH 001/153] =?UTF-8?q?inicio=20de=20traducci=C3=B3n.=20prueba?= =?UTF-8?q?=20pre-commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/turtle.po | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 794246f878..9c7bc8f155 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -6,31 +6,33 @@ # Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-05-26 16:42-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.3.1\n" +"Last-Translator: Alvar Maciel \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\n" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" -msgstr "" +msgstr ":mod:`turtle` --- Gráficas Turtle" #: ../Doc/library/turtle.rst:10 msgid "**Source code:** :source:`Lib/turtle.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/turtle.py`" #: ../Doc/library/turtle.rst:20 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/library/turtle.rst:22 msgid "" @@ -38,6 +40,9 @@ msgid "" "was part of the original Logo programming language developed by Wally " "Feurzeig, Seymour Papert and Cynthia Solomon in 1967." msgstr "" +"Gráficas Turtle es una forma muy habitual de introducción a la programación " +"para niñas y niños. Era parte original del lenguaje de programación Logo, " +"desarrollado por Wally Feurzeig, Seymour Papert y Cynthia Solomon in 1967." #: ../Doc/library/turtle.rst:26 msgid "" @@ -47,23 +52,34 @@ msgid "" "moves. Give it the command ``turtle.right(25)``, and it rotates in-place 25 " "degrees clockwise." msgstr "" +"Imagina una tortuga robot que empieza en las coordenadas (0, 0) en un plano " +"x-y. Después de un ``import turtle``, dele el comando ``turtle." +"forward(15)``, y se mueve (en la pantalla) 15 pixeles en la dirección en la " +"que se encuentra, dibujando una línea mientras se mueve. Dele el comando " +"``turtle.right(25)``, y rotará en el lugar, 25 grados, en sentido horario." #: ../Doc/library/turtle.rst:33 msgid "" "Turtle can draw intricate shapes using programs that repeat simple moves." msgstr "" +"Turtle puede dibujar intrincadas figuras usando programas que repiten " +"movimientos simples." #: ../Doc/library/turtle.rst:41 msgid "" "By combining together these and similar commands, intricate shapes and " "pictures can easily be drawn." msgstr "" +"Al combinar estos comandos y otros similares, se pueden dibujar intrincadas " +"figuras y formas." #: ../Doc/library/turtle.rst:44 msgid "" "The :mod:`turtle` module is an extended reimplementation of the same-named " "module from the Python standard distribution up to version Python 2.5." msgstr "" +"El módulo :mod:`turtle` es una reimplementación extendida del mismo módulo " +"de la distribución estándar Python hasta la versión 2.5." #: ../Doc/library/turtle.rst:47 #, python-format @@ -74,6 +90,11 @@ msgid "" "interactively when using the module from within IDLE run with the ``-n`` " "switch." msgstr "" +"Trata de mantener los méritos del viejo módulo y ser (casi) 100% compatible " +"con él. Esto implica en primer lugar, habilitar al programador que está " +"aprendiendo, el uso de todos los comandos, clases y métodos de forma " +"interactiva cuando usa el módulo desde el IDLE ejecutado con la opción ``-" +"n``." #: ../Doc/library/turtle.rst:52 msgid "" @@ -82,10 +103,14 @@ msgid "" "the underlying graphics, it needs a version of Python installed with Tk " "support." msgstr "" +"El módulo turtle provee las primitivas gráficas, tanto en orientación " +"procedimental como orientada a objetos, Como usa el módulo mod:`tkinter` " +"para las gráficas subyacentes, necesita una tener instalada una versión de " +"Python con soporte TK." #: ../Doc/library/turtle.rst:56 msgid "The object-oriented interface uses essentially two+two classes:" -msgstr "" +msgstr "La interface orientada a objetos usa esencialmente clases dos+dos:" #: ../Doc/library/turtle.rst:58 msgid "" @@ -94,6 +119,8 @@ msgid "" "class:`ScrolledCanvas` as argument. It should be used when :mod:`turtle` is " "used as part of some application." msgstr "" +"La clase :class:`TurtleScreen` define una ventana gráfica como base para las " +"tortugas dibujantes." #: ../Doc/library/turtle.rst:63 msgid "" From b031cefb49935719dc74db5c4766c4447bca022f Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 26 May 2020 16:45:41 -0300 Subject: [PATCH 002/153] turtle added --- dict | 1 + 1 file changed, 1 insertion(+) diff --git a/dict b/dict index c98569b13e..f710089d88 100644 --- a/dict +++ b/dict @@ -502,6 +502,7 @@ tokens tty tupla tuplas +turtle tutorial txt uid From 12c71aa65a73963be1eb0019f9a63eb2dba43da6 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Wed, 27 May 2020 16:46:37 -0300 Subject: [PATCH 003/153] adiciones a dict y correcciones .po --- dict | 15 ++ library/turtle.po | 349 ++++++++++++++++++++++++++++------------------ 2 files changed, 228 insertions(+), 136 deletions(-) diff --git a/dict b/dict index f710089d88..fed59f95b9 100644 --- a/dict +++ b/dict @@ -531,3 +531,18 @@ zip zipimporter zlib ésimo +Wally +Feurzeig +Seymour +Papert +Cynthia +reimplementación +mod +interface +innombrado +TurtleScreen +Screen +and +None +call +None diff --git a/library/turtle.po b/library/turtle.po index 9c7bc8f155..7187d34fa3 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-26 16:42-0300\n" +"PO-Revision-Date: 2020-05-27 16:45-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -129,12 +129,18 @@ msgid "" "used as a standalone tool for doing graphics. As a singleton object, " "inheriting from its class is not possible." msgstr "" +"La función :func:`Screen` devuelve un objeto *singleton* de la subclase :" +"class:`TurtleScreen`. Esta función debe utilizarse cuando :mod:`turtle` se " +"usa como una herramienta independiente para hacer gráficos. Siendo un objeto " +"*sigleton*, no es posible que tenga herencias de su clase." #: ../Doc/library/turtle.rst:68 msgid "" "All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " "the procedure-oriented interface." msgstr "" +"Todos los métodos de *TurtleScreen/Screen* también existen como funciones. " +"Por ejemplo. como parte de la interface orientada a procedimientos." #: ../Doc/library/turtle.rst:71 msgid "" @@ -143,6 +149,10 @@ msgid "" "ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " "where to draw." msgstr "" +":class:`RawTurtle` (alias: :class:`RawPen`) Define los objetos *Turtle* con " +"los cuales dibujar con la clase :class:`TurtleScreen`. Su constructor " +"necesita como argumento un *Canvas, ScrolledCanvas o TurtleScreen*, así el " +"objeto *RawTurtle* sabe donde dibujar." #: ../Doc/library/turtle.rst:75 msgid "" @@ -150,12 +160,17 @@ msgid "" "`Pen`), which draws on \"the\" :class:`Screen` instance which is " "automatically created, if not already present." msgstr "" +"Derivada de *RawTurtle* está la subclase :class:`Turtle` (alias: :class:" +"`Pen`), que dibuja en \"la\" instancia :class:`Screen` que se crea " +"automáticamente, si no está presente." #: ../Doc/library/turtle.rst:79 msgid "" "All methods of RawTurtle/Turtle also exist as functions, i.e. part of the " "procedure-oriented interface." msgstr "" +"Todos los métodos de *RawTurtle/Turtle* también existen como funciones. Por " +"ejemplo. como parte de la interface orientada a procedimientos." #: ../Doc/library/turtle.rst:82 msgid "" @@ -166,12 +181,20 @@ msgid "" "(unnamed) turtle object is automatically created whenever any of the " "functions derived from a Turtle method is called." msgstr "" +"La interface procedimental provee funciones que son derivadas de los métodos " +"de las clases :class:`Screen` y :class:`Turtle`. Tienen los mismos nombres " +"que los métodos correspondientes. Un objeto *Screen* es creado " +"automáticamente cada vez que una función derivada de un método *Screen* es " +"llamado. Un objeto *Turtle* (innombrado) se crea automáticamente cada vez " +"que se llama a una función derivada de un método *Turtle*." #: ../Doc/library/turtle.rst:89 msgid "" "To use multiple turtles on a screen one has to use the object-oriented " "interface." msgstr "" +"Para usar varias tortuga en una pantalla se tiene que usar la interface " +"orientada a objetos." #: ../Doc/library/turtle.rst:92 msgid "" @@ -179,496 +202,505 @@ msgid "" "Methods, of course, have the additional first argument *self* which is " "omitted here." msgstr "" +"En la siguiente documentación se proporciona la listas de argumentos para " +"las funciones. Los métodos, por su puesto, tienen el argumento principal " +"adicional *self* que se omite aquí." #: ../Doc/library/turtle.rst:98 msgid "Overview of available Turtle and Screen methods" -msgstr "" +msgstr "Reseña de los métodos disponibles para *Turtle* y *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" -msgstr "" +msgstr "Métodos *Turtle*" #: ../Doc/library/turtle.rst:132 ../Doc/library/turtle.rst:242 msgid "Turtle motion" -msgstr "" +msgstr "Movimiento de la tortuga" #: ../Doc/library/turtle.rst:120 msgid "Move and draw" -msgstr "" +msgstr "Mover y dibujar" #: ../Doc/library/turtle.rst msgid ":func:`forward` | :func:`fd`" -msgstr "" +msgstr ":func:`forward` | :func:`fd`" #: ../Doc/library/turtle.rst msgid ":func:`backward` | :func:`bk` | :func:`back`" -msgstr "" +msgstr ":func:`backward` | :func:`bk` | :func:`back`" #: ../Doc/library/turtle.rst msgid ":func:`right` | :func:`rt`" -msgstr "" +msgstr ":func:`right` | :func:`rt`" #: ../Doc/library/turtle.rst msgid ":func:`left` | :func:`lt`" -msgstr "" +msgstr ":func:`left` | :func:`lt`" #: ../Doc/library/turtle.rst msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" -msgstr "" +msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" #: ../Doc/library/turtle.rst msgid ":func:`setx`" -msgstr "" +msgstr ":func:`setx`" #: ../Doc/library/turtle.rst msgid ":func:`sety`" -msgstr "" +msgstr ":func:`sety`" #: ../Doc/library/turtle.rst msgid ":func:`setheading` | :func:`seth`" -msgstr "" +msgstr ":func:`setheading` | :func:`seth`" #: ../Doc/library/turtle.rst msgid ":func:`home`" -msgstr "" +msgstr ":func:`home`" #: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2456 msgid ":func:`circle`" -msgstr "" +msgstr ":func:`circle`" #: ../Doc/library/turtle.rst msgid ":func:`dot`" -msgstr "" +msgstr ":func:`dot`" #: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2434 msgid ":func:`stamp`" -msgstr "" +msgstr ":func:`stamp`" #: ../Doc/library/turtle.rst msgid ":func:`clearstamp`" -msgstr "" +msgstr ":func:`clearstamp`" #: ../Doc/library/turtle.rst msgid ":func:`clearstamps`" -msgstr "" +msgstr ":func:`clearstamps`" #: ../Doc/library/turtle.rst msgid ":func:`undo`" -msgstr "" +msgstr ":func:`undo`" #: ../Doc/library/turtle.rst msgid ":func:`speed`" -msgstr "" +msgstr ":func:`speed`" #: ../Doc/library/turtle.rst:128 ../Doc/library/turtle.rst:644 msgid "Tell Turtle's state" -msgstr "" +msgstr "Mostrar el estado de la tortuga" #: ../Doc/library/turtle.rst msgid ":func:`position` | :func:`pos`" -msgstr "" +msgstr ":func:`position` | :func:`pos`" #: ../Doc/library/turtle.rst msgid ":func:`towards`" -msgstr "" +msgstr ":func:`towards`" #: ../Doc/library/turtle.rst msgid ":func:`xcor`" -msgstr "" +msgstr ":func:`xcor`" #: ../Doc/library/turtle.rst msgid ":func:`ycor`" -msgstr "" +msgstr ":func:`ycor`" #: ../Doc/library/turtle.rst msgid ":func:`heading`" -msgstr "" +msgstr ":func:`heading`" #: ../Doc/library/turtle.rst msgid ":func:`distance`" -msgstr "" +msgstr ":func:`distance`" #: ../Doc/library/turtle.rst:132 msgid "Setting and measurement" -msgstr "" +msgstr "Ajuste y unidades de medida" #: ../Doc/library/turtle.rst msgid ":func:`degrees`" -msgstr "" +msgstr ":func:`degrees`" #: ../Doc/library/turtle.rst msgid ":func:`radians`" -msgstr "" +msgstr ":func:`radians`" #: ../Doc/library/turtle.rst:155 ../Doc/library/turtle.rst:795 msgid "Pen control" -msgstr "" +msgstr "Control del lápiz" #: ../Doc/library/turtle.rst:140 ../Doc/library/turtle.rst:798 msgid "Drawing state" -msgstr "" +msgstr "Estado de dibujo" #: ../Doc/library/turtle.rst msgid ":func:`pendown` | :func:`pd` | :func:`down`" -msgstr "" +msgstr ":func:`pendown` | :func:`pd` | :func:`down`" #: ../Doc/library/turtle.rst msgid ":func:`penup` | :func:`pu` | :func:`up`" -msgstr "" +msgstr ":func:`penup` | :func:`pu` | :func:`up`" #: ../Doc/library/turtle.rst msgid ":func:`pensize` | :func:`width`" -msgstr "" +msgstr ":func:`pensize` | :func:`width`" #: ../Doc/library/turtle.rst msgid ":func:`pen`" -msgstr "" +msgstr ":func:`pen`" #: ../Doc/library/turtle.rst msgid ":func:`isdown`" -msgstr "" +msgstr ":func:`isdown`" #: ../Doc/library/turtle.rst:145 ../Doc/library/turtle.rst:890 msgid "Color control" -msgstr "" +msgstr "Control del color" #: ../Doc/library/turtle.rst msgid ":func:`color`" -msgstr "" +msgstr ":func:`color`" #: ../Doc/library/turtle.rst msgid ":func:`pencolor`" -msgstr "" +msgstr ":func:`pencolor`" #: ../Doc/library/turtle.rst msgid ":func:`fillcolor`" -msgstr "" +msgstr ":func:`fillcolor`" #: ../Doc/library/turtle.rst:150 ../Doc/library/turtle.rst:1022 msgid "Filling" -msgstr "" +msgstr "Relleno" #: ../Doc/library/turtle.rst msgid ":func:`filling`" -msgstr "" +msgstr ":func:`filling`" #: ../Doc/library/turtle.rst msgid ":func:`begin_fill`" -msgstr "" +msgstr ":func:`begin_fill`" #: ../Doc/library/turtle.rst msgid ":func:`end_fill`" -msgstr "" +msgstr ":func:`end_fill`" #: ../Doc/library/turtle.rst:155 ../Doc/library/turtle.rst:1069 msgid "More drawing control" -msgstr "" +msgstr "Más controles de dibujo" #: ../Doc/library/turtle.rst msgid ":func:`reset`" -msgstr "" +msgstr ":func:`reset`" #: ../Doc/library/turtle.rst msgid ":func:`clear`" -msgstr "" +msgstr ":func:`clear`" #: ../Doc/library/turtle.rst msgid ":func:`write`" -msgstr "" +msgstr ":func:`write`" #: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1115 msgid "Turtle state" -msgstr "" +msgstr "Estado de la Tortuga" #: ../Doc/library/turtle.rst:161 ../Doc/library/turtle.rst:1118 msgid "Visibility" -msgstr "" +msgstr "Visibilidad" #: ../Doc/library/turtle.rst msgid ":func:`showturtle` | :func:`st`" -msgstr "" +msgstr ":func:`showturtle` | :func:`st`" #: ../Doc/library/turtle.rst msgid ":func:`hideturtle` | :func:`ht`" -msgstr "" +msgstr ":func:`hideturtle` | :func:`ht`" #: ../Doc/library/turtle.rst msgid ":func:`isvisible`" -msgstr "" +msgstr ":func:`isvisible`" #: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1157 msgid "Appearance" -msgstr "" +msgstr "Apariencia" #: ../Doc/library/turtle.rst msgid ":func:`shape`" -msgstr "" +msgstr ":func:`shape`" #: ../Doc/library/turtle.rst msgid ":func:`resizemode`" -msgstr "" +msgstr ":func:`resizemode`" #: ../Doc/library/turtle.rst msgid ":func:`shapesize` | :func:`turtlesize`" -msgstr "" +msgstr ":func:`shapesize` | :func:`turtlesize`" #: ../Doc/library/turtle.rst msgid ":func:`shearfactor`" -msgstr "" +msgstr ":func:`shearfactor`" #: ../Doc/library/turtle.rst msgid ":func:`settiltangle`" -msgstr "" +msgstr ":func:`settiltangle`" #: ../Doc/library/turtle.rst msgid ":func:`tiltangle`" -msgstr "" +msgstr ":func:`tiltangle`" #: ../Doc/library/turtle.rst msgid ":func:`tilt`" -msgstr "" +msgstr ":func:`tilt`" #: ../Doc/library/turtle.rst msgid ":func:`shapetransform`" -msgstr "" +msgstr ":func:`shapetransform`" #: ../Doc/library/turtle.rst msgid ":func:`get_shapepoly`" -msgstr "" +msgstr ":func:`get_shapepoly`" #: ../Doc/library/turtle.rst:177 ../Doc/library/turtle.rst:1362 msgid "Using events" -msgstr "" +msgstr "Usando eventos" #: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2428 msgid ":func:`onclick`" -msgstr "" +msgstr ":func:`onclick`" #: ../Doc/library/turtle.rst msgid ":func:`onrelease`" -msgstr "" +msgstr ":func:`onrelease`" #: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2411 msgid ":func:`ondrag`" -msgstr "" +msgstr ":func:`ondrag`" #: ../Doc/library/turtle.rst:188 ../Doc/library/turtle.rst:1435 msgid "Special Turtle methods" -msgstr "" +msgstr "Métodos especiales de *Turtle*" #: ../Doc/library/turtle.rst msgid ":func:`begin_poly`" -msgstr "" +msgstr ":func:`begin_poly`" #: ../Doc/library/turtle.rst msgid ":func:`end_poly`" -msgstr "" +msgstr ":func:`end_poly`" #: ../Doc/library/turtle.rst msgid ":func:`get_poly`" -msgstr "" +msgstr ":func:`get_poly`" #: ../Doc/library/turtle.rst ../Doc/library/turtle.rst:2447 msgid ":func:`clone`" -msgstr "" +msgstr ":func:`clone`" #: ../Doc/library/turtle.rst msgid ":func:`getturtle` | :func:`getpen`" -msgstr "" +msgstr ":func:`getturtle` | :func:`getpen`" #: ../Doc/library/turtle.rst msgid ":func:`getscreen`" -msgstr "" +msgstr ":func:`getscreen`" #: ../Doc/library/turtle.rst msgid ":func:`setundobuffer`" -msgstr "" +msgstr ":func:`setundobuffer`" #: ../Doc/library/turtle.rst msgid ":func:`undobufferentries`" -msgstr "" +msgstr ":func:`undobufferentries`" #: ../Doc/library/turtle.rst:191 msgid "Methods of TurtleScreen/Screen" -msgstr "" +msgstr "Métodos de TurtleScreen/Screen" #: ../Doc/library/turtle.rst:199 ../Doc/library/turtle.rst:1589 msgid "Window control" -msgstr "" +msgstr "Control de ventana" #: ../Doc/library/turtle.rst msgid ":func:`bgcolor`" -msgstr "" +msgstr ":func:`bgcolor`" #: ../Doc/library/turtle.rst msgid ":func:`bgpic`" -msgstr "" +msgstr ":func:`bgpic`" #: ../Doc/library/turtle.rst msgid ":func:`clear` | :func:`clearscreen`" -msgstr "" +msgstr ":func:`clear` | :func:`clearscreen`" #: ../Doc/library/turtle.rst msgid ":func:`reset` | :func:`resetscreen`" -msgstr "" +msgstr ":func:`reset` | :func:`resetscreen`" #: ../Doc/library/turtle.rst msgid ":func:`screensize`" -msgstr "" +msgstr ":func:`screensize`" #: ../Doc/library/turtle.rst msgid ":func:`setworldcoordinates`" -msgstr "" +msgstr ":func:`setworldcoordinates`" #: ../Doc/library/turtle.rst:204 ../Doc/library/turtle.rst:1706 msgid "Animation control" -msgstr "" +msgstr "Control de animación" #: ../Doc/library/turtle.rst msgid ":func:`delay`" -msgstr "" +msgstr ":func:`delay`" #: ../Doc/library/turtle.rst msgid ":func:`tracer`" -msgstr "" +msgstr ":func:`tracer`" #: ../Doc/library/turtle.rst msgid ":func:`update`" -msgstr "" +msgstr ":func:`update`" #: ../Doc/library/turtle.rst:212 ../Doc/library/turtle.rst:1759 msgid "Using screen events" -msgstr "" +msgstr "Usando eventos de pantalla" #: ../Doc/library/turtle.rst msgid ":func:`listen`" -msgstr "" +msgstr ":func:`listen`" #: ../Doc/library/turtle.rst msgid ":func:`onkey` | :func:`onkeyrelease`" -msgstr "" +msgstr ":func:`onkey` | :func:`onkeyrelease`" #: ../Doc/library/turtle.rst msgid ":func:`onkeypress`" -msgstr "" +msgstr ":func:`onkeypress`" #: ../Doc/library/turtle.rst msgid ":func:`onclick` | :func:`onscreenclick`" -msgstr "" +msgstr ":func:`onclick` | :func:`onscreenclick`" #: ../Doc/library/turtle.rst msgid ":func:`ontimer`" -msgstr "" +msgstr ":func:`ontimer`" #: ../Doc/library/turtle.rst msgid ":func:`mainloop` | :func:`done`" -msgstr "" +msgstr ":func:`mainloop` | :func:`done`" #: ../Doc/library/turtle.rst:222 ../Doc/library/turtle.rst:1904 msgid "Settings and special methods" -msgstr "" +msgstr "Configuración y métodos especiales" #: ../Doc/library/turtle.rst msgid ":func:`mode`" -msgstr "" +msgstr ":func:`mode`" #: ../Doc/library/turtle.rst msgid ":func:`colormode`" -msgstr "" +msgstr ":func:`colormode`" #: ../Doc/library/turtle.rst msgid ":func:`getcanvas`" -msgstr "" +msgstr ":func:`getcanvas`" #: ../Doc/library/turtle.rst msgid ":func:`getshapes`" -msgstr "" +msgstr ":func:`getshapes`" #: ../Doc/library/turtle.rst msgid ":func:`register_shape` | :func:`addshape`" -msgstr "" +msgstr ":func:`register_shape` | :func:`addshape`" #: ../Doc/library/turtle.rst msgid ":func:`turtles`" -msgstr "" +msgstr ":func:`turtles`" #: ../Doc/library/turtle.rst msgid ":func:`window_height`" -msgstr "" +msgstr ":func:`window_height`" #: ../Doc/library/turtle.rst msgid ":func:`window_width`" -msgstr "" +msgstr ":func:`window_width`" #: ../Doc/library/turtle.rst:226 ../Doc/library/turtle.rst:1868 msgid "Input methods" -msgstr "" +msgstr "Métodos de entrada" #: ../Doc/library/turtle.rst msgid ":func:`textinput`" -msgstr "" +msgstr ":func:`textinput`" #: ../Doc/library/turtle.rst msgid ":func:`numinput`" -msgstr "" +msgstr ":func:`numinput`" #: ../Doc/library/turtle.rst:233 msgid "Methods specific to Screen" -msgstr "" +msgstr "Métodos específicos para *Screen*" #: ../Doc/library/turtle.rst msgid ":func:`bye`" -msgstr "" +msgstr ":func:`bye`" #: ../Doc/library/turtle.rst msgid ":func:`exitonclick`" -msgstr "" +msgstr ":func:`exitonclick`" #: ../Doc/library/turtle.rst msgid ":func:`setup`" -msgstr "" +msgstr ":func:`setup`" #: ../Doc/library/turtle.rst msgid ":func:`title`" -msgstr "" +msgstr ":func:`title`" #: ../Doc/library/turtle.rst:236 msgid "Methods of RawTurtle/Turtle and corresponding functions" -msgstr "" +msgstr "Métodos de *RawTurtle/Turtle* Y sus correspondientes funciones" #: ../Doc/library/turtle.rst:238 msgid "" "Most of the examples in this section refer to a Turtle instance called " "``turtle``." msgstr "" +"Casi todos los ejemplos de esta sección se refieren a una instancia *Turtle* " +"llamada ``turtle``." #: ../Doc/library/turtle.rst msgid "Parameters" -msgstr "" +msgstr "Parámetros" #: ../Doc/library/turtle.rst:247 ../Doc/library/turtle.rst:292 #: ../Doc/library/turtle.rst:317 ../Doc/library/turtle.rst:377 #: ../Doc/library/turtle.rst:400 ../Doc/library/turtle.rst:423 msgid "a number (integer or float)" -msgstr "" +msgstr "un número (entero o flotante)" #: ../Doc/library/turtle.rst:249 msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" +"Mover hacia adelante la la tortuga la *ditancia* especificada, en la " +"dirección en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 #: ../Doc/library/turtle.rst:748 ../Doc/library/turtle.rst:1256 #: ../Doc/library/turtle.rst:1275 msgid "a number" -msgstr "" +msgstr "un número" #: ../Doc/library/turtle.rst:271 msgid "" "Move the turtle backward by *distance*, opposite to the direction the turtle " "is headed. Do not change the turtle's heading." msgstr "" +"Mover hacia atrás la tortuga la *distancia* especificada, opuesta a la " +"dirección en que la tortuga apunta. No cambia la dirección de la tortuga." #: ../Doc/library/turtle.rst:294 msgid "" @@ -676,6 +708,10 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" +"Gira la tortuga a la derecha tomando los *ángulos* como unidad de medida. " +"(La unidad de medida por defecto son los grado, pero se puede configurar a " +"través de las funciones :func:`degrees` and :func:`radians`.) La orientación " +"de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." #: ../Doc/library/turtle.rst:319 msgid "" @@ -683,96 +719,113 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" +"Gira la tortuga a la izquierda tomando los *ángulos* como unidad de medida. " +"(La unidad de medida por defecto son los grado, pero se puede configurar a " +"través de las funciones :func:`degrees` and :func:`radians`.) La orientación " +"de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." #: ../Doc/library/turtle.rst:343 msgid "a number or a pair/vector of numbers" -msgstr "" +msgstr "un número o un par/vector de números" #: ../Doc/library/turtle.rst:344 msgid "a number or ``None``" -msgstr "" +msgstr "un número o ` None``" #: ../Doc/library/turtle.rst:346 msgid "" "If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." "g. as returned by :func:`pos`)." msgstr "" +"Si *y* es ``None``, *x* debe ser un par de coordenadas o un class:`Vec2D` " +"(ejemplo: según lo devuelto por :func:`pos`)." #: ../Doc/library/turtle.rst:349 msgid "" "Move turtle to an absolute position. If the pen is down, draw line. Do not " "change the turtle's orientation." msgstr "" +"Mueve la tortuga a una posición absoluta. SI el lápiz está bajo, traza una " +"linea. No cambia la orientación de la tortuga." #: ../Doc/library/turtle.rst:379 msgid "" "Set the turtle's first coordinate to *x*, leave second coordinate unchanged." msgstr "" +"Establece la primera coordenada de la tortuga a , deja la segunda coordenada " +"sin cambios." #: ../Doc/library/turtle.rst:402 msgid "" "Set the turtle's second coordinate to *y*, leave first coordinate unchanged." msgstr "" +"Establece la segunda coordenada de la tortuga a *y*, deja la primera " +"coordenada sin cambios." #: ../Doc/library/turtle.rst:425 msgid "" "Set the orientation of the turtle to *to_angle*. Here are some common " "directions in degrees:" msgstr "" +"Establece la orientación de la tortuga a *to_angle*. Aquí hay algunas " +"direcciones comunes en grados:" #: ../Doc/library/turtle.rst:429 msgid "standard mode" -msgstr "" +msgstr "modo estándar" #: ../Doc/library/turtle.rst:429 msgid "logo mode" -msgstr "" +msgstr "modo logo" #: ../Doc/library/turtle.rst:431 msgid "0 - east" -msgstr "" +msgstr "o - este" #: ../Doc/library/turtle.rst:431 msgid "0 - north" -msgstr "" +msgstr "0 - norte" #: ../Doc/library/turtle.rst:432 msgid "90 - north" -msgstr "" +msgstr "90 - norte" #: ../Doc/library/turtle.rst:432 msgid "90 - east" -msgstr "" +msgstr "90 - este" #: ../Doc/library/turtle.rst:433 msgid "180 - west" -msgstr "" +msgstr "180 - oeste" #: ../Doc/library/turtle.rst:433 msgid "180 - south" -msgstr "" +msgstr "180 - sur" #: ../Doc/library/turtle.rst:434 msgid "270 - south" -msgstr "" +msgstr "270 - sur" #: ../Doc/library/turtle.rst:434 msgid "270 - west" -msgstr "" +msgstr "270 - oeste" #: ../Doc/library/turtle.rst:447 msgid "" "Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " "start-orientation (which depends on the mode, see :func:`mode`)." msgstr "" +"Mueve la tortuga al origen -- coordenadas (0,0) -- y establece la " +"orientación a la orientación original (que depende del modo, ver :func:" +"`mode`)." #: ../Doc/library/turtle.rst:474 msgid "a number (or ``None``)" -msgstr "" +msgstr "un número (o ``None``)" #: ../Doc/library/turtle.rst:475 ../Doc/library/turtle.rst:569 msgid "an integer (or ``None``)" -msgstr "" +msgstr "un entero (o ``None``)" #: ../Doc/library/turtle.rst:477 msgid "" @@ -784,6 +837,13 @@ msgid "" "otherwise in clockwise direction. Finally the direction of the turtle is " "changed by the amount of *extent*." msgstr "" +"Dibuja un círculo con el *radius* (radio) dado. El centro es *radius* " +"unidades a la izquierda de la tortuga; *extent* -- un ángulo -- determina " +"que parte del círculo se dibuja. Si no se pasa *extent*, dibuja el círculo " +"entero. Si *extent* no es un círculo completo, un punto final del arco es la " +"posición actual de lápiz. Dibuja el arco en dirección antihorario si " +"*radius* es positivo, si no en dirección horaria. Finalmente la dirección de " +"la tortuga es modificada por el aumento de *extent*." #: ../Doc/library/turtle.rst:485 msgid "" @@ -791,20 +851,25 @@ msgid "" "determines the number of steps to use. If not given, it will be calculated " "automatically. May be used to draw regular polygons." msgstr "" +"Como el círculo se aproxima a un polígono regular inscripto, *steps* " +"determina el número de pasos a usar. SI no se da, será calculado " +"automáticamente. Puede ser usado para dibujar polígonos regulares." #: ../Doc/library/turtle.rst:511 msgid "an integer >= 1 (if given)" -msgstr "" +msgstr "un entero >= 1 (si se da)" #: ../Doc/library/turtle.rst:512 msgid "a colorstring or a numeric color tuple" -msgstr "" +msgstr "un *colorstring* o una tupla numérica de color" #: ../Doc/library/turtle.rst:514 msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " "given, the maximum of pensize+4 and 2*pensize is used." msgstr "" +"Dibuja un punto circular con diámetro *size*, usando *color*. Si *size* no " +"se da, el máximo de *pensize+4* y 2 es usado." #: ../Doc/library/turtle.rst:532 msgid "" @@ -812,14 +877,19 @@ msgid "" "position. Return a stamp_id for that stamp, which can be used to delete it " "by calling ``clearstamp(stamp_id)``." msgstr "" +"Estampa una copia de la forma de la tortuga en el lienzo en la posición " +"actual. Devuelve un *stamp_id* por cada estampa, que puede ser usado para " +"borrarlo al llamar ``clearstamp(stamp_id)``." #: ../Doc/library/turtle.rst:547 msgid "an integer, must be return value of previous :func:`stamp` call" msgstr "" +"un entero, debe devolver el valor de la llamada previa de la función :func:" +"`stamp` call" #: ../Doc/library/turtle.rst:550 msgid "Delete stamp with given *stampid*." -msgstr "" +msgstr "Borra la estampa con el *stampid* dado." #: ../Doc/library/turtle.rst:571 msgid "" @@ -827,22 +897,29 @@ msgid "" "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " "*n* stamps." msgstr "" +"Borra todas o las primeros/últimos *n* estampas de la tortuga. *if* *n* es " +"``None`` , borra todas las estampas, *if* *n* *> 0* borra la primera estampa " +"*n*, *else if* *n* *< 0* borra la última estampa *n*." #: ../Doc/library/turtle.rst:594 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." msgstr "" +"Deshace (repetidamente) l última(s) acción(es) de la tortuga. EL número de " +"acciones a deshacer es determinado por el tamaño del *undobuffer*." #: ../Doc/library/turtle.rst:609 msgid "an integer in the range 0..10 or a speedstring (see below)" -msgstr "" +msgstr "un entero en el rango 0..10 o un *speedstring* (ver abajo)" #: ../Doc/library/turtle.rst:611 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." msgstr "" +"Establecer la velocidad de la tortuga a un valor entero en el rango 0..10. " +"Si no se pasa ningún argumento, vuelve a la velocidad actual." #: ../Doc/library/turtle.rst:614 msgid "" From 956471dc8e1d2e4eda0291b34a262eda16070a43 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Wed, 27 May 2020 17:03:09 -0300 Subject: [PATCH 004/153] =?UTF-8?q?eleiminaci=C3=B3n=20de=20duplicados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 1 - 1 file changed, 1 deletion(-) diff --git a/dict b/dict index fed59f95b9..1ad544c736 100644 --- a/dict +++ b/dict @@ -545,4 +545,3 @@ Screen and None call -None From ba2e423dbb9540e856d1bc3733ee990e17281a70 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Thu, 28 May 2020 08:32:00 -0300 Subject: [PATCH 005/153] plabras agregadas --- dict | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dict b/dict index 1ad544c736..97f2c40fec 100644 --- a/dict +++ b/dict @@ -1,3 +1,6 @@ +Logo +logo +pixeles API ASCII Aahz From ce894f25d1f6dfc51f4ad5598ac0a68d4e5e81e1 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:00:53 -0300 Subject: [PATCH 006/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 7187d34fa3..c03e59b43f 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -54,7 +54,7 @@ msgid "" msgstr "" "Imagina una tortuga robot que empieza en las coordenadas (0, 0) en un plano " "x-y. Después de un ``import turtle``, dele el comando ``turtle." -"forward(15)``, y se mueve (en la pantalla) 15 pixeles en la dirección en la " +"forward(15)``, y se mueve (¡en la pantalla!) 15 pixeles en la dirección en la " "que se encuentra, dibujando una línea mientras se mueve. Dele el comando " "``turtle.right(25)``, y rotará en el lugar, 25 grados, en sentido horario." From 068973c48c0dbeccebd0d41649801bd35359414d Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:02:13 -0300 Subject: [PATCH 007/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index c03e59b43f..b8cf11e9f8 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -62,7 +62,7 @@ msgstr "" msgid "" "Turtle can draw intricate shapes using programs that repeat simple moves." msgstr "" -"Turtle puede dibujar intrincadas figuras usando programas que repiten " +"Turtle puede dibujar figuras intrincadas usando programas que repiten " "movimientos simples." #: ../Doc/library/turtle.rst:41 From 9cd155f79334dfba9daf1df4cd4298ff4b8638da Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:02:49 -0300 Subject: [PATCH 008/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index b8cf11e9f8..ac00c7c33c 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -70,8 +70,8 @@ msgid "" "By combining together these and similar commands, intricate shapes and " "pictures can easily be drawn." msgstr "" -"Al combinar estos comandos y otros similares, se pueden dibujar intrincadas " -"figuras y formas." +"Al combinar estos comandos y otros similares, se pueden dibujar figuras " +"intricadas y formas." #: ../Doc/library/turtle.rst:44 msgid "" From df4333c6b634bfd02d2d0036c969ba5f7aaadaea Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:03:14 -0300 Subject: [PATCH 009/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index ac00c7c33c..baf7a81d2a 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -104,7 +104,7 @@ msgid "" "support." msgstr "" "El módulo turtle provee las primitivas gráficas, tanto en orientación " -"procedimental como orientada a objetos, Como usa el módulo mod:`tkinter` " +"procedimental como orientada a objetos. Como usa el módulo mod:`tkinter` " "para las gráficas subyacentes, necesita una tener instalada una versión de " "Python con soporte TK." From e87b2273e70d1f78c9fb307fae0c388b0029517e Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:03:51 -0300 Subject: [PATCH 010/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index baf7a81d2a..9e5481df09 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -105,7 +105,7 @@ msgid "" msgstr "" "El módulo turtle provee las primitivas gráficas, tanto en orientación " "procedimental como orientada a objetos. Como usa el módulo mod:`tkinter` " -"para las gráficas subyacentes, necesita una tener instalada una versión de " +"para las gráficas subyacentes, necesita tener instalada una versión de " "Python con soporte TK." #: ../Doc/library/turtle.rst:56 From 0943db29d643b4f07e3d8ae0d4ca3123785b831f Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:05:15 -0300 Subject: [PATCH 011/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 9e5481df09..1b8da77992 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -897,7 +897,7 @@ msgid "" "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " "*n* stamps." msgstr "" -"Borra todas o las primeros/últimos *n* estampas de la tortuga. *if* *n* es " +"Borra todas o las primeros/últimos *n* estampas de la tortuga. Si *n* es " "``None`` , borra todas las estampas, *if* *n* *> 0* borra la primera estampa " "*n*, *else if* *n* *< 0* borra la última estampa *n*." From d2bdafbac30cb4d2b03222be078b762a30dbfff7 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:05:28 -0300 Subject: [PATCH 012/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 1b8da77992..21dc613763 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -898,7 +898,7 @@ msgid "" "*n* stamps." msgstr "" "Borra todas o las primeros/últimos *n* estampas de la tortuga. Si *n* es " -"``None`` , borra todas las estampas, *if* *n* *> 0* borra la primera estampa " +"``None`` , borra todas las estampas, Si *n* *> 0* borra la primera estampa " "*n*, *else if* *n* *< 0* borra la última estampa *n*." #: ../Doc/library/turtle.rst:594 From 50688ceef18cbf89dcf0e0ae3ab3e048267e4600 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:05:40 -0300 Subject: [PATCH 013/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 21dc613763..76cb6424da 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -899,7 +899,7 @@ msgid "" msgstr "" "Borra todas o las primeros/últimos *n* estampas de la tortuga. Si *n* es " "``None`` , borra todas las estampas, Si *n* *> 0* borra la primera estampa " -"*n*, *else if* *n* *< 0* borra la última estampa *n*." +"*n*, sino y *n* *< 0* borra la última estampa *n*." #: ../Doc/library/turtle.rst:594 msgid "" From 0523785577cd0e5a0de002d17c035be0a12a2c4c Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:05:58 -0300 Subject: [PATCH 014/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 76cb6424da..1b1b1ca91f 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -906,7 +906,7 @@ msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." msgstr "" -"Deshace (repetidamente) l última(s) acción(es) de la tortuga. EL número de " +"Deshace (repetidamente) la(s) última(s) acción(es) de la tortuga. El número de " "acciones a deshacer es determinado por el tamaño del *undobuffer*." #: ../Doc/library/turtle.rst:609 From 41f30091bdfca4fff714d60b7541204b70abf2aa Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:06:29 -0300 Subject: [PATCH 015/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 1b1b1ca91f..1500a33db0 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -878,7 +878,7 @@ msgid "" "by calling ``clearstamp(stamp_id)``." msgstr "" "Estampa una copia de la forma de la tortuga en el lienzo en la posición " -"actual. Devuelve un *stamp_id* por cada estampa, que puede ser usado para " +"actual. Devuelve un stamp_id por cada estampa, que puede ser usado para " "borrarlo al llamar ``clearstamp(stamp_id)``." #: ../Doc/library/turtle.rst:547 From 003bf6122cdb09b83e47851025ee79954bab3c19 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:08:05 -0300 Subject: [PATCH 016/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ok, no sabía como dejarlos. Los agrego al dict Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 1500a33db0..7c755f468d 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -139,7 +139,7 @@ msgid "" "All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " "the procedure-oriented interface." msgstr "" -"Todos los métodos de *TurtleScreen/Screen* también existen como funciones. " +"Todos los métodos de TurtleScreen/Screen también existen como funciones. " "Por ejemplo. como parte de la interface orientada a procedimientos." #: ../Doc/library/turtle.rst:71 From 50328ad516ac790487b190014fd043d47e7f4960 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:08:57 -0300 Subject: [PATCH 017/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit yo lo reviso cunado retomo, falta para der la traducción como terminada Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 7c755f468d..b38eecfe97 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -149,7 +149,7 @@ msgid "" "ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " "where to draw." msgstr "" -":class:`RawTurtle` (alias: :class:`RawPen`) Define los objetos *Turtle* con " +":class:`RawTurtle` (alias: :class:`RawPen`) Define los objetos Turtle con " "los cuales dibujar con la clase :class:`TurtleScreen`. Su constructor " "necesita como argumento un *Canvas, ScrolledCanvas o TurtleScreen*, así el " "objeto *RawTurtle* sabe donde dibujar." From 7f0de06d25ee9b07771aa1ee9dfe6e64aee6bbe6 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:10:07 -0300 Subject: [PATCH 018/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index b38eecfe97..24caa83c74 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -193,7 +193,7 @@ msgid "" "To use multiple turtles on a screen one has to use the object-oriented " "interface." msgstr "" -"Para usar varias tortuga en una pantalla se tiene que usar la interface " +"Para usar varias tortugas en una pantalla se tiene que usar la interface " "orientada a objetos." #: ../Doc/library/turtle.rst:92 From 17d1e503e1a65b6571165573f84c6901cad4b389 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:10:41 -0300 Subject: [PATCH 019/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 24caa83c74..0a855f9afd 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -667,7 +667,7 @@ msgid "" "Most of the examples in this section refer to a Turtle instance called " "``turtle``." msgstr "" -"Casi todos los ejemplos de esta sección se refieren a una instancia *Turtle* " +"Casi todos los ejemplos de esta sección se refieren a una instancia Turtle " "llamada ``turtle``." #: ../Doc/library/turtle.rst From 29feb77a7542e9790b1459367b057409650cabb5 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:11:44 -0300 Subject: [PATCH 020/153] Update library/turtle.po bien Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 0a855f9afd..73712422f9 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -699,7 +699,7 @@ msgid "" "Move the turtle backward by *distance*, opposite to the direction the turtle " "is headed. Do not change the turtle's heading." msgstr "" -"Mover hacia atrás la tortuga la *distancia* especificada, opuesta a la " +"Mover hacia atrás la tortuga la *distance* especificada, opuesta a la " "dirección en que la tortuga apunta. No cambia la dirección de la tortuga." #: ../Doc/library/turtle.rst:294 From dd12b9bad71754fb462ef9bd01d1f50744a142da Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:12:40 -0300 Subject: [PATCH 021/153] Update library/turtle.po si, no problem Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 73712422f9..41702196ce 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -708,7 +708,7 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" -"Gira la tortuga a la derecha tomando los *ángulos* como unidad de medida. " +"Gira la tortuga a la derecha tomando los *angle* como unidad de medida. " "(La unidad de medida por defecto son los grado, pero se puede configurar a " "través de las funciones :func:`degrees` and :func:`radians`.) La orientación " "de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." From 36f6f48be6151fef790bfc148425886b74176141 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:13:16 -0300 Subject: [PATCH 022/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 41702196ce..3e1148aaf3 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -745,7 +745,7 @@ msgid "" "Move turtle to an absolute position. If the pen is down, draw line. Do not " "change the turtle's orientation." msgstr "" -"Mueve la tortuga a una posición absoluta. SI el lápiz está bajo, traza una " +"Mueve la tortuga a una posición absoluta. Si el lápiz está bajo, traza una " "linea. No cambia la orientación de la tortuga." #: ../Doc/library/turtle.rst:379 From 8a1ea86e9d511f5f2504bbff26a3721582afcce7 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:14:02 -0300 Subject: [PATCH 023/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 3e1148aaf3..d072b58f62 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -752,7 +752,7 @@ msgstr "" msgid "" "Set the turtle's first coordinate to *x*, leave second coordinate unchanged." msgstr "" -"Establece la primera coordenada de la tortuga a , deja la segunda coordenada " +"Establece la primera coordenada de la tortuga a *x*, deja la segunda coordenada " "sin cambios." #: ../Doc/library/turtle.rst:402 From 0048533ceb24cf59266167474944886b6c627a76 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:14:45 -0300 Subject: [PATCH 024/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index d072b58f62..0ea1090c80 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -780,7 +780,7 @@ msgstr "modo logo" #: ../Doc/library/turtle.rst:431 msgid "0 - east" -msgstr "o - este" +msgstr "0 - este" #: ../Doc/library/turtle.rst:431 msgid "0 - north" From 443f9ef5c4a990a5ad11dacab91c562e90d0cb56 Mon Sep 17 00:00:00 2001 From: Alvar Date: Sat, 30 May 2020 09:15:13 -0300 Subject: [PATCH 025/153] Update library/turtle.po Co-authored-by: Manuel Kaufmann --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 0ea1090c80..89238a8780 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -869,7 +869,7 @@ msgid "" "given, the maximum of pensize+4 and 2*pensize is used." msgstr "" "Dibuja un punto circular con diámetro *size*, usando *color*. Si *size* no " -"se da, el máximo de *pensize+4* y 2 es usado." +"se da, el máximo de pensize+4 y 2*pensize es usado." #: ../Doc/library/turtle.rst:532 msgid "" From ec79d239a29b1c9f5b5ff474cc77778fd66321c3 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Mon, 1 Jun 2020 15:43:47 -0300 Subject: [PATCH 026/153] avance al 40% + palabras agregadas al dict --- dict | 7 ++++ library/turtle.po | 102 ++++++++++++++++++++++++++++++---------------- 2 files changed, 73 insertions(+), 36 deletions(-) diff --git a/dict b/dict index 97f2c40fec..27629b07b7 100644 --- a/dict +++ b/dict @@ -1,3 +1,10 @@ +pensize +stamp +id +standard +world +resizemode +turtleshape Logo logo pixeles diff --git a/library/turtle.po b/library/turtle.po index 89238a8780..43c2c705fc 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-27 16:45-0300\n" +"PO-Revision-Date: 2020-06-01 15:43-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" -msgstr ":mod:`turtle` --- Gráficas Turtle" +msgstr ":mod:`turtle` --- Turtle graphics" #: ../Doc/library/turtle.rst:10 msgid "**Source code:** :source:`Lib/turtle.py`" @@ -54,8 +54,8 @@ msgid "" msgstr "" "Imagina una tortuga robot que empieza en las coordenadas (0, 0) en un plano " "x-y. Después de un ``import turtle``, dele el comando ``turtle." -"forward(15)``, y se mueve (¡en la pantalla!) 15 pixeles en la dirección en la " -"que se encuentra, dibujando una línea mientras se mueve. Dele el comando " +"forward(15)``, y se mueve (¡en la pantalla!) 15 pixeles en la dirección en " +"la que se encuentra, dibujando una línea mientras se mueve. Dele el comando " "``turtle.right(25)``, y rotará en el lugar, 25 grados, en sentido horario." #: ../Doc/library/turtle.rst:33 @@ -139,8 +139,8 @@ msgid "" "All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " "the procedure-oriented interface." msgstr "" -"Todos los métodos de TurtleScreen/Screen también existen como funciones. " -"Por ejemplo. como parte de la interface orientada a procedimientos." +"Todos los métodos de TurtleScreen/Screen también existen como funciones. Por " +"ejemplo. como parte de la interface orientada a procedimientos." #: ../Doc/library/turtle.rst:71 msgid "" @@ -708,8 +708,8 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" -"Gira la tortuga a la derecha tomando los *angle* como unidad de medida. " -"(La unidad de medida por defecto son los grado, pero se puede configurar a " +"Gira la tortuga a la derecha tomando los *angle* como unidad de medida. (La " +"unidad de medida por defecto son los grado, pero se puede configurar a " "través de las funciones :func:`degrees` and :func:`radians`.) La orientación " "de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." @@ -752,8 +752,8 @@ msgstr "" msgid "" "Set the turtle's first coordinate to *x*, leave second coordinate unchanged." msgstr "" -"Establece la primera coordenada de la tortuga a *x*, deja la segunda coordenada " -"sin cambios." +"Establece la primera coordenada de la tortuga a *x*, deja la segunda " +"coordenada sin cambios." #: ../Doc/library/turtle.rst:402 msgid "" @@ -906,8 +906,8 @@ msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." msgstr "" -"Deshace (repetidamente) la(s) última(s) acción(es) de la tortuga. El número de " -"acciones a deshacer es determinado por el tamaño del *undobuffer*." +"Deshace (repetidamente) la(s) última(s) acción(es) de la tortuga. El número " +"de acciones a deshacer es determinado por el tamaño del *undobuffer*." #: ../Doc/library/turtle.rst:609 msgid "an integer in the range 0..10 or a speedstring (see below)" @@ -926,51 +926,61 @@ msgid "" "If input is a number greater than 10 or smaller than 0.5, speed is set to " "0. Speedstrings are mapped to speedvalues as follows:" msgstr "" +"Si el parámetro de entrada es un número mayor que 10 o menor que 0.5, la " +"velocidad se establece a 0. La frase acerca de la velocidad es mapeada a " +"valores de velocidad de la siguiente manera:" #: ../Doc/library/turtle.rst:617 msgid "\"fastest\": 0" -msgstr "" +msgstr "\"fastest\": 0" #: ../Doc/library/turtle.rst:618 msgid "\"fast\": 10" -msgstr "" +msgstr "\"fast\": 10" #: ../Doc/library/turtle.rst:619 msgid "\"normal\": 6" -msgstr "" +msgstr "\"normal\": 6" #: ../Doc/library/turtle.rst:620 msgid "\"slow\": 3" -msgstr "" +msgstr "\"slow\": 3" #: ../Doc/library/turtle.rst:621 msgid "\"slowest\": 1" -msgstr "" +msgstr "\"slowest\": 1" #: ../Doc/library/turtle.rst:623 msgid "" "Speeds from 1 to 10 enforce increasingly faster animation of line drawing " "and turtle turning." msgstr "" +"Velocidades de 1 a 10 generan una animación cada vez más rápida al dibujar " +"las líneas y en el giro de la tortuga." #: ../Doc/library/turtle.rst:626 msgid "" "Attention: *speed* = 0 means that *no* animation takes place. forward/back " "makes turtle jump and likewise left/right make the turtle turn instantly." msgstr "" +"Atención: *speed* = 0 implica que *no* habrá ninguna animación. Los métodos " +"*fordward/back* harán que la tortuga salte, de la misma manera que *left/" +"right* hará que la tortuga gire instantáneamente." #: ../Doc/library/turtle.rst:649 msgid "" "Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." msgstr "" +"Devuelve la posición actual de la tortuga (x,y) (como un vector :class:" +"`Vec2D`)" #: ../Doc/library/turtle.rst:660 ../Doc/library/turtle.rst:723 msgid "a number or a pair/vector of numbers or a turtle instance" -msgstr "" +msgstr "un número o par de vectores numéricos o una instancia de la tortuga" #: ../Doc/library/turtle.rst:661 ../Doc/library/turtle.rst:724 msgid "a number if *x* is a number, else ``None``" -msgstr "" +msgstr "un número si *x* es un número, si no ``None``" #: ../Doc/library/turtle.rst:663 msgid "" @@ -979,54 +989,66 @@ msgid "" "start orientation which depends on the mode - \"standard\"/\"world\" or " "\"logo\")." msgstr "" +"Devuelve el ángulo entre la línea en la posición de la tortuga a la posición " +"especificada en (x, y), el vector o la otra tortuga. Esto depende de la " +"posición inicial de la tortuga, que depende del modo - \"standard\"/\"world" +"\" o \"logo\")." #: ../Doc/library/turtle.rst:677 msgid "Return the turtle's x coordinate." -msgstr "" +msgstr "Devuelve la coordinada *x* de la tortuga." #: ../Doc/library/turtle.rst:693 msgid "Return the turtle's y coordinate." -msgstr "" +msgstr "Devuelve la coordenada *y* de la tortuga." #: ../Doc/library/turtle.rst:709 msgid "" "Return the turtle's current heading (value depends on the turtle mode, see :" "func:`mode`)." msgstr "" +"Devuelve la orientación actual de la tortuga (el valor depende del modo de " +"la tortuga, ver :func:`mode`)." #: ../Doc/library/turtle.rst:726 msgid "" "Return the distance from the turtle to (x,y), the given vector, or the given " "other turtle, in turtle step units." msgstr "" +"Devuelve la distancia desde la tortuga al vector (x,y) dado, otra instancia " +"de la tortuga, el valor es unidad pasos de tortuga." #: ../Doc/library/turtle.rst:744 msgid "Settings for measurement" -msgstr "" +msgstr "Configuración de las medidas" #: ../Doc/library/turtle.rst:750 msgid "" "Set angle measurement units, i.e. set number of \"degrees\" for a full " "circle. Default value is 360 degrees." msgstr "" +"Establece la unidad de medida del ángulo, por ejemplo establece el número de " +"\"grados\" para un círculo completo. El valor por defecto es 36 grados." #: ../Doc/library/turtle.rst:773 msgid "" "Set the angle measurement units to radians. Equivalent to ``degrees(2*math." "pi)``." msgstr "" +"Establece la unidad de medida del ángulo a radianes. Equivalente a " +"``degrees(2*math.pi)``." #: ../Doc/library/turtle.rst:804 msgid "Pull the pen down -- drawing when moving." -msgstr "" +msgstr "Baja el lápiz -- dibuja mientras se mueve." #: ../Doc/library/turtle.rst:811 msgid "Pull the pen up -- no drawing when moving." -msgstr "" +msgstr "Sube el lápiz -- no dibuja mientras se mueve." #: ../Doc/library/turtle.rst:817 msgid "a positive number" -msgstr "" +msgstr "un número positivo" #: ../Doc/library/turtle.rst:819 msgid "" @@ -1034,60 +1056,68 @@ msgid "" "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " "line thickness. If no argument is given, the current pensize is returned." msgstr "" +"Establece el grosos de la línea a *width* o lo devuelve. Si resizemode se " +"establece a \"auto\" y turtleshape es un polígono, ese polígono es dibujado " +"con el mismo grosor de línea. Si no se dan argumentos, devuelve el grosor " +"del lápiz actual." #: ../Doc/library/turtle.rst:833 msgid "a dictionary with some or all of the below listed keys" -msgstr "" +msgstr "un diccionario con algunos o todos las claves listadas debajo" #: ../Doc/library/turtle.rst:834 msgid "one or more keyword-arguments with the below listed keys as keywords" msgstr "" +"uno o más argumentos-palabras claves con las claves listadas debajo como " +"palabras claves" #: ../Doc/library/turtle.rst:836 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" msgstr "" +"Devuelve o establece los atributos del lápiz en un \"diccionario-lápiz\" con " +"el siguiente para de valores/claves:" #: ../Doc/library/turtle.rst:839 msgid "\"shown\": True/False" -msgstr "" +msgstr "\"shown\": True/False" #: ../Doc/library/turtle.rst:840 msgid "\"pendown\": True/False" -msgstr "" +msgstr "\"pendown\": True/False" #: ../Doc/library/turtle.rst:841 msgid "\"pencolor\": color-string or color-tuple" -msgstr "" +msgstr "\"pencolor\": color-string or color-tuple" #: ../Doc/library/turtle.rst:842 msgid "\"fillcolor\": color-string or color-tuple" -msgstr "" +msgstr "\"fillcolor\": color-string or color-tuple" #: ../Doc/library/turtle.rst:843 msgid "\"pensize\": positive number" -msgstr "" +msgstr "\"pensize\": positive number" #: ../Doc/library/turtle.rst:844 msgid "\"speed\": number in range 0..10" -msgstr "" +msgstr "\"speed\": number in range 0..10" #: ../Doc/library/turtle.rst:845 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -msgstr "" +msgstr "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" #: ../Doc/library/turtle.rst:846 msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "" +msgstr "\"stretchfactor\": (positive number, positive number)" #: ../Doc/library/turtle.rst:847 msgid "\"outline\": positive number" -msgstr "" +msgstr "\"outline\": positive number" #: ../Doc/library/turtle.rst:848 msgid "\"tilt\": number" -msgstr "" +msgstr "\"tilt\": number" #: ../Doc/library/turtle.rst:850 msgid "" From f1a92878b8f882e2ac8547de17510f1d5bcee365 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 3 Jun 2020 13:53:26 -0300 Subject: [PATCH 027/153] =?UTF-8?q?peque=C3=B1o=20avance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 6 ++++++ library/turtle.po | 39 +++++++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/dict b/dict index 27629b07b7..d51cbebcc9 100644 --- a/dict +++ b/dict @@ -1,3 +1,9 @@ +stretchfactor +outline +tilt +speed +Solomon +antihorario pensize stamp id diff --git a/library/turtle.po b/library/turtle.po index 43c2c705fc..7708e72e35 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-01 15:43-0300\n" +"PO-Revision-Date: 2020-06-03 13:52-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,7 +42,7 @@ msgid "" msgstr "" "Gráficas Turtle es una forma muy habitual de introducción a la programación " "para niñas y niños. Era parte original del lenguaje de programación Logo, " -"desarrollado por Wally Feurzeig, Seymour Papert y Cynthia Solomon in 1967." +"desarrollado por Wally Feurzeig, Seymour Papert y Cynthia Solomon en 1967." #: ../Doc/library/turtle.rst:26 msgid "" @@ -71,7 +71,7 @@ msgid "" "pictures can easily be drawn." msgstr "" "Al combinar estos comandos y otros similares, se pueden dibujar figuras " -"intricadas y formas." +"intrincadas y formas." #: ../Doc/library/turtle.rst:44 msgid "" @@ -1097,11 +1097,11 @@ msgstr "\"fillcolor\": color-string or color-tuple" #: ../Doc/library/turtle.rst:843 msgid "\"pensize\": positive number" -msgstr "\"pensize\": positive number" +msgstr "\"pensize\": número positivo" #: ../Doc/library/turtle.rst:844 msgid "\"speed\": number in range 0..10" -msgstr "\"speed\": number in range 0..10" +msgstr "\"speed\": número en rango 0..10" #: ../Doc/library/turtle.rst:845 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" @@ -1109,15 +1109,15 @@ msgstr "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" #: ../Doc/library/turtle.rst:846 msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "\"stretchfactor\": (positive number, positive number)" +msgstr "\"stretchfactor\": (número positivo, número positivo)" #: ../Doc/library/turtle.rst:847 msgid "\"outline\": positive number" -msgstr "\"outline\": positive number" +msgstr "\"outline\": número positivo" #: ../Doc/library/turtle.rst:848 msgid "\"tilt\": number" -msgstr "\"tilt\": number" +msgstr "\"tilt\": número" #: ../Doc/library/turtle.rst:850 msgid "" @@ -1126,42 +1126,53 @@ msgid "" "can be provided as keyword-arguments. This can be used to set several pen " "attributes in one statement." msgstr "" +"Este diccionario puede usarse como argumento de una llamada subsecuente a la " +"función :func:`pen` para restaurar el estado anterior del lápiz. Más aún, " +"uno o más de estos atributos pueden darse como argumentos claves. Esto " +"puede usarse para establecer diferentes atributos del lápiz en una sola " +"definición." #: ../Doc/library/turtle.rst:876 msgid "Return ``True`` if pen is down, ``False`` if it's up." -msgstr "" +msgstr "Devuelve ``True``si el lápiz está abajo, si está arriba ``False``." #: ../Doc/library/turtle.rst:894 msgid "Return or set the pencolor." -msgstr "" +msgstr "Devuelve o establece el color del lápiz." #: ../Doc/library/turtle.rst:896 ../Doc/library/turtle.rst:945 msgid "Four input formats are allowed:" -msgstr "" +msgstr "Se permiten cuatro formatos de entrada:" #: ../Doc/library/turtle.rst:901 msgid "``pencolor()``" -msgstr "" +msgstr "``pencolor()``" #: ../Doc/library/turtle.rst:899 msgid "" "Return the current pencolor as color specification string or as a tuple (see " "example). May be used as input to another color/pencolor/fillcolor call." msgstr "" +"Devuelve el color del lápiz actual como una palabra específica de algún " +"color o como una tupla (ver ejemplo). Puede ser usado como una entrada para " +"otra llamada de *color/pencolor/fillcolor*." #: ../Doc/library/turtle.rst:905 msgid "``pencolor(colorstring)``" -msgstr "" +msgstr "``pencolor(colorstring)``" #: ../Doc/library/turtle.rst:904 msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Establece el color del lápiz a *colorstring*, que es una palabra que " +"especifica un color *Tk*, tales como ``\"red\"``, ``\"yellow\"``, o ``" +"\"#33cc8c\"``." #: ../Doc/library/turtle.rst:910 msgid "``pencolor((r, g, b))``" -msgstr "" +msgstr "``pencolor((r, g, b))``" #: ../Doc/library/turtle.rst:908 msgid "" From 86ecf1c019a8dde60cdd7174aad4f32bfc0a9658 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 3 Jun 2020 14:21:48 -0300 Subject: [PATCH 028/153] radianes agregado --- dict | 1 + 1 file changed, 1 insertion(+) diff --git a/dict b/dict index d51cbebcc9..80d99ebb40 100644 --- a/dict +++ b/dict @@ -1,3 +1,4 @@ +radianes stretchfactor outline tilt From ca627a1e4599d8970534e6ae1a50c3ef18fd3e4d Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 3 Jun 2020 14:45:10 -0300 Subject: [PATCH 029/153] frase que faltaba --- library/turtle.po | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 7708e72e35..fa44d2e17e 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-03 13:52-0300\n" +"PO-Revision-Date: 2020-06-03 14:44-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,7 +104,7 @@ msgid "" "support." msgstr "" "El módulo turtle provee las primitivas gráficas, tanto en orientación " -"procedimental como orientada a objetos. Como usa el módulo mod:`tkinter` " +"procedimental como orientada a objetos. Como usa el módulo :mod:`tkinter` " "para las gráficas subyacentes, necesita tener instalada una versión de " "Python con soporte TK." @@ -120,7 +120,9 @@ msgid "" "used as part of some application." msgstr "" "La clase :class:`TurtleScreen` define una ventana gráfica como base para las " -"tortugas dibujantes." +"tortugas dibujantes. Su constructor necesita una clase class:`tkinter." +"Canvas` o una a :class:`ScrolledCanvas` como argumento. Se debe usar cuando :" +"mod:`turtle` es usado como parte de una aplicación." #: ../Doc/library/turtle.rst:63 msgid "" From 93a3a2d5deb334ae6bcd50488b3224cf34196d1f Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 3 Jun 2020 14:47:03 -0300 Subject: [PATCH 030/153] frase que faltaba --- library/turtle.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index fa44d2e17e..ec2fc3d4e1 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-03 14:44-0300\n" +"PO-Revision-Date: 2020-06-03 14:46-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -739,7 +739,7 @@ msgid "" "If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." "g. as returned by :func:`pos`)." msgstr "" -"Si *y* es ``None``, *x* debe ser un par de coordenadas o un class:`Vec2D` " +"Si *y* es ``None``, *x* debe ser un par de coordenadas o un :class:`Vec2D` " "(ejemplo: según lo devuelto por :func:`pos`)." #: ../Doc/library/turtle.rst:349 From 3d55f7e674e24c9ff5755492b112b95455ed1d0b Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 3 Jun 2020 15:01:40 -0300 Subject: [PATCH 031/153] fix id 12 --- library/turtle.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index ec2fc3d4e1..8fd7514d21 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-03 14:46-0300\n" +"PO-Revision-Date: 2020-06-03 14:58-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -120,7 +120,7 @@ msgid "" "used as part of some application." msgstr "" "La clase :class:`TurtleScreen` define una ventana gráfica como base para las " -"tortugas dibujantes. Su constructor necesita una clase class:`tkinter." +"tortugas dibujantes. Su constructor necesita una clase :class:`tkinter." "Canvas` o una a :class:`ScrolledCanvas` como argumento. Se debe usar cuando :" "mod:`turtle` es usado como parte de una aplicación." @@ -134,7 +134,7 @@ msgstr "" "La función :func:`Screen` devuelve un objeto *singleton* de la subclase :" "class:`TurtleScreen`. Esta función debe utilizarse cuando :mod:`turtle` se " "usa como una herramienta independiente para hacer gráficos. Siendo un objeto " -"*sigleton*, no es posible que tenga herencias de su clase." +"*singleton*, no es posible que tenga herencias de su clase." #: ../Doc/library/turtle.rst:68 msgid "" From c3ec80f697fd73b1f15a09032ec6e80cc2519603 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Mon, 8 Jun 2020 11:19:23 -0300 Subject: [PATCH 032/153] colormode dict --- dict | 1 + library/turtle.po | 62 +++++++++++++++++++++++++++++++++++------------ 2 files changed, 48 insertions(+), 15 deletions(-) diff --git a/dict b/dict index 80d99ebb40..20d8acfa6e 100644 --- a/dict +++ b/dict @@ -562,3 +562,4 @@ Screen and None call +colormode diff --git a/library/turtle.po b/library/turtle.po index 8fd7514d21..4d9a3717c7 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-03 14:58-0300\n" +"PO-Revision-Date: 2020-06-08 11:10-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -712,7 +712,7 @@ msgid "" msgstr "" "Gira la tortuga a la derecha tomando los *angle* como unidad de medida. (La " "unidad de medida por defecto son los grado, pero se puede configurar a " -"través de las funciones :func:`degrees` and :func:`radians`.) La orientación " +"través de las funciones :func:`degrees` y :func:`radians`.) La orientación " "de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." #: ../Doc/library/turtle.rst:319 @@ -723,7 +723,7 @@ msgid "" msgstr "" "Gira la tortuga a la izquierda tomando los *ángulos* como unidad de medida. " "(La unidad de medida por defecto son los grado, pero se puede configurar a " -"través de las funciones :func:`degrees` and :func:`radians`.) La orientación " +"través de las funciones :func:`degrees` y :func:`radians`.) La orientación " "de los ángulos depende del modo en que está la tortuga, ver :func:`mode`." #: ../Doc/library/turtle.rst:343 @@ -1182,30 +1182,37 @@ msgid "" "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " "colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" +"Establece el color del lápiz representado como una tupla de *r*, *g*, y " +"*b*. Cada valor *r*, *g*, y *b* debe ser un valor entero en el rango 0.." +"colormode, donde colormode es 1.0 o 255 (ver :func:`colormode`)." #: ../Doc/library/turtle.rst:917 msgid "``pencolor(r, g, b)``" -msgstr "" +msgstr "``pencolor(r, g, b)``" #: ../Doc/library/turtle.rst:913 msgid "" "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." msgstr "" +"Establece el color del lápiz al color RGB representado por *r*, *g*, y *b*. " +"Cada valor *r*, *g*, y *b* debe estar en el rango 0..colormode." #: ../Doc/library/turtle.rst:916 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." msgstr "" +"Si *turtleshape* es un polígono, la línea del polígono es dibujado con el " +"muevo color de lápiz elegido." #: ../Doc/library/turtle.rst:943 msgid "Return or set the fillcolor." -msgstr "" +msgstr "Devuelve o establece *fillcolor*" #: ../Doc/library/turtle.rst:950 msgid "``fillcolor()``" -msgstr "" +msgstr "``fillcolor()``" #: ../Doc/library/turtle.rst:948 msgid "" @@ -1213,20 +1220,26 @@ msgid "" "tuple format (see example). May be used as input to another color/pencolor/" "fillcolor call." msgstr "" +"Devuelve el valor actual de *fillcolor* como una palabra, posiblemente en " +"formato de tupla (ver ejemplo). Puede ser usado como entrada de otra llamada " +"*color/pencolor/fillcolor*." #: ../Doc/library/turtle.rst:954 msgid "``fillcolor(colorstring)``" -msgstr "" +msgstr "``fillcolor(colorstring)``" #: ../Doc/library/turtle.rst:953 msgid "" "Set fillcolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Establece *fillcolor* a *colorstring*, que es un color TK especificado como " +"una palabra (en inglés), tales como *\"red\"*, *\"yellow\"*, o `\"#33cc8c" +"\"``." #: ../Doc/library/turtle.rst:959 msgid "``fillcolor((r, g, b))``" -msgstr "" +msgstr "``fillcolor((r, g, b))``" #: ../Doc/library/turtle.rst:957 msgid "" @@ -1234,35 +1247,44 @@ msgid "" "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " "colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" +"Establece *fillcolor* al color RGB representado por la tupla *r*, *g*, y " +"*b*. Cada uno de los valores *r*, *g*, y *b* debe estar en el rango 0.." +"colormode, donde *colormode* es 1.0 o 255 (ver :func:`colormode`)." #: ../Doc/library/turtle.rst:966 msgid "``fillcolor(r, g, b)``" -msgstr "" +msgstr "``fillcolor(r, g, b)``" #: ../Doc/library/turtle.rst:962 msgid "" "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." msgstr "" +"Establece *fillcolor* al color RGB representado por *r*, *g*, y *b*. Cada " +"uno de los valores *r*, *g* y *b* debe ser un valor en el rango 0..colormode." #: ../Doc/library/turtle.rst:965 msgid "" "If turtleshape is a polygon, the interior of that polygon is drawn with the " "newly set fillcolor." msgstr "" +"Si *turtleshape* es un polígono, el interior de ese polígono es dibujado con " +"el color establecido en *fillcolor*." #: ../Doc/library/turtle.rst:986 msgid "Return or set pencolor and fillcolor." -msgstr "" +msgstr "Devuelve o establece el color del lápiz y el color de relleno." #: ../Doc/library/turtle.rst:988 msgid "" "Several input formats are allowed. They use 0 to 3 arguments as follows:" msgstr "" +"Se permiten varios formatos de entrada. Usan de 0 a 3 argumentos como se " +"muestra a continuación:" #: ../Doc/library/turtle.rst:994 msgid "``color()``" -msgstr "" +msgstr "``color()``" #: ../Doc/library/turtle.rst:992 msgid "" @@ -1270,45 +1292,55 @@ msgid "" "specification strings or tuples as returned by :func:`pencolor` and :func:" "`fillcolor`." msgstr "" +"Devuelve el valor actual de *pencolor* y el valor actual de *fillcolor* como " +"un par de colores especificados como palabras o tuplas, como devuelven las " +"funciones :func:`pencolor` y :func:`fillcolor`." #: ../Doc/library/turtle.rst:998 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -msgstr "" +msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" #: ../Doc/library/turtle.rst:997 msgid "" "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " "given value." msgstr "" +"Entradas como en :func:`pencolor`, establece al valor dado tanto, " +"*fillcolor* como *pencolor*." #: ../Doc/library/turtle.rst:1005 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" +"``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" #: ../Doc/library/turtle.rst:1001 msgid "" "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " "analogously if the other input format is used." msgstr "" +"Equivalente a ``pencolor(colorstring1)`` y ``fillcolor(colorstring2)`` y " +"análogamente si se usa el otro formato de entrada." #: ../Doc/library/turtle.rst:1004 msgid "" "If turtleshape is a polygon, outline and interior of that polygon is drawn " "with the newly set colors." msgstr "" +"Si *turtleshape* es un polígono, la línea y el interior de ese polígono e " +"dibujado con los nuevos colores que se establecieron." #: ../Doc/library/turtle.rst:1018 msgid "See also: Screen method :func:`colormode`." -msgstr "" +msgstr "Ver también: Método *Screeen* :func:`colormode`." #: ../Doc/library/turtle.rst:1032 msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "" +msgstr "Devuelve *fillstate* (``True`` si está lleno, sino``False``)." #: ../Doc/library/turtle.rst:1047 msgid "To be called just before drawing a shape to be filled." -msgstr "" +msgstr "Para ser llamada justo antes de dibujar una forma a rellenar." #: ../Doc/library/turtle.rst:1052 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." From d4109048d9c083993dd582563aa19c80239b9e28 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Mon, 8 Jun 2020 13:26:06 -0300 Subject: [PATCH 033/153] =?UTF-8?q?eliminaci=C3=B3n=20de=20duplicados=20y?= =?UTF-8?q?=20correcci=C3=B3n=20de=20erratas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 1 - library/turtle.po | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dict b/dict index 5cb64b6ea3..e7742158e9 100644 --- a/dict +++ b/dict @@ -625,7 +625,6 @@ interface innombrado TurtleScreen Screen -and None call colormode diff --git a/library/turtle.po b/library/turtle.po index 4d9a3717c7..0d7ae19f4e 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-08 11:10-0300\n" +"PO-Revision-Date: 2020-06-08 13:23-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1208,7 +1208,7 @@ msgstr "" #: ../Doc/library/turtle.rst:943 msgid "Return or set the fillcolor." -msgstr "Devuelve o establece *fillcolor*" +msgstr "Devuelve o establece *fillcolor*." #: ../Doc/library/turtle.rst:950 msgid "``fillcolor()``" From cc5f4282e876489f37f935eb3a7a61bd90d67628 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Thu, 11 Jun 2020 09:14:44 -0300 Subject: [PATCH 034/153] avance al 50% --- dict | 1 + library/turtle.po | 57 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/dict b/dict index e7742158e9..7c385c3f6c 100644 --- a/dict +++ b/dict @@ -628,3 +628,4 @@ Screen None call colormode +intersectados diff --git a/library/turtle.po b/library/turtle.po index 0d7ae19f4e..aa5bcb380b 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-08 13:23-0300\n" +"PO-Revision-Date: 2020-06-11 09:14-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1208,7 +1208,7 @@ msgstr "" #: ../Doc/library/turtle.rst:943 msgid "Return or set the fillcolor." -msgstr "Devuelve o establece *fillcolor*." +msgstr "Return or set the fillcolor." #: ../Doc/library/turtle.rst:950 msgid "``fillcolor()``" @@ -1345,6 +1345,8 @@ msgstr "Para ser llamada justo antes de dibujar una forma a rellenar." #: ../Doc/library/turtle.rst:1052 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." msgstr "" +"Rellena la forma dibujada después de última llamada a la función :func:" +"`begin_fill`." #: ../Doc/library/turtle.rst:1054 msgid "" @@ -1353,12 +1355,19 @@ msgid "" "and number of overlaps. For example, the Turtle star above may be either " "all yellow or have some white regions." msgstr "" +"Superponer o no, regiones de polígonos auto-intersectados o múltiples " +"formas, estas son rellenadas dependiendo de los gráficos del sistema " +"operativo, tipo de superposición y número de superposiciones. Por ejemplo, " +"la flecha de la tortuga de arriba, puede ser toda amarilla o tener algunas " +"regiones blancas." #: ../Doc/library/turtle.rst:1073 msgid "" "Delete the turtle's drawings from the screen, re-center the turtle and set " "variables to the default values." msgstr "" +"Borra el dibujo de la tortuga de la pantalla, centra la tortuga y establece " +"las variables a los valores por defecto." #: ../Doc/library/turtle.rst:1094 msgid "" @@ -1366,22 +1375,25 @@ msgid "" "and position of the turtle as well as drawings of other turtles are not " "affected." msgstr "" +"Borra el dibujo de la tortuga de la pantalla. No mueve la tortuga. El estado " +"y posición de la tortuga así como los todos los dibujos de las otras " +"tortugas no son afectados." #: ../Doc/library/turtle.rst:1100 msgid "object to be written to the TurtleScreen" -msgstr "" +msgstr "objeto que se escribirá en la pantalla de la tortuga" #: ../Doc/library/turtle.rst:1101 msgid "True/False" -msgstr "" +msgstr "True/False" #: ../Doc/library/turtle.rst:1102 msgid "one of the strings \"left\", \"center\" or right\"" -msgstr "" +msgstr "una de las frases *\"left*, *center* o *right\"*" #: ../Doc/library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" -msgstr "" +msgstr "un trió (nombre de fuente, tamaño de fuente, tipo de fuente)" #: ../Doc/library/turtle.rst:1105 msgid "" @@ -1390,6 +1402,11 @@ msgid "" "given font. If *move* is true, the pen is moved to the bottom-right corner " "of the text. By default, *move* is ``False``." msgstr "" +"Escribe un texto la representación de la cadena de caracteres de *arg* en " +"la posición actual de la tortuga de acuerdo a el alineamiento *align* " +"(\"*left*\", \"*center*\" o \"*right*\") y con la fuente que se estableció. " +"Si *move* es verdadero, el lápiz se mueve a la esquina inferior derecha del " +"texto. Por defecto, *move* es ``False``." #: ../Doc/library/turtle.rst:1123 msgid "" @@ -1397,18 +1414,21 @@ msgid "" "middle of doing some complex drawing, because hiding the turtle speeds up " "the drawing observably." msgstr "" +"Hace invisible a la tortuga, Es una buena idea hacer eso mientras está " +"haciendo dibujos complejos, ya que esconder a la tortuga acelera dibujo de " +"manera observable." #: ../Doc/library/turtle.rst:1136 msgid "Make the turtle visible." -msgstr "" +msgstr "Hace visible la tortuga." #: ../Doc/library/turtle.rst:1146 msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." -msgstr "" +msgstr "Devuelve ``True`` si la tortuga se muestra, ``False`` si está oculta." #: ../Doc/library/turtle.rst:1161 msgid "a string which is a valid shapename" -msgstr "" +msgstr "una cadena de caracteres que es un nombre de forma valido" #: ../Doc/library/turtle.rst:1163 msgid "" @@ -1418,10 +1438,17 @@ msgid "" "\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". To learn " "about how to deal with shapes see Screen method :func:`register_shape`." msgstr "" +"Establece la forma de la tortuga al *name\" que se establece o, si no se " +"establece un nmbre, devuelve el nombre actual de su forma. La forma *name* " +"debe existir en el diccionario de formas de *TurtleScreen*. Inicialmente " +"están las siguientes formas poligonales: \"*arrow*\", \"*turtle*\", " +"\"*circle*\", \"*square*\", \"*triangle*\", \"*classic*\". Para aprender " +"como trabajar con estas formas ver los métodos de Screen :func:" +"`register_shape`." #: ../Doc/library/turtle.rst:1181 msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "" +msgstr "una de las cadenas \"*auto*\", \"*user*\", \"*noresize*\"" #: ../Doc/library/turtle.rst:1183 msgid "" @@ -1429,22 +1456,30 @@ msgid "" "*rmode* is not given, return current resizemode. Different resizemodes have " "the following effects:" msgstr "" +"Establece *resizemode* a alguno de los valores: \"*auto*\", \"*user*\", " +"\"*noresize*\". SI *mode* no se aporta, devuelve el actual *resizemode*. " +"Distintos *resizemode* tienen los siguientes efectos:" #: ../Doc/library/turtle.rst:1187 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." msgstr "" +"\"*auto*\": adapta la apariencia de la tortuga al correspondiente valor del " +"lápiz." #: ../Doc/library/turtle.rst:1188 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." msgstr "" +"\"*user*\": adapta la apariencia de la tortuga de acuerdo a los valores de " +"*sretchfactor* y *outlinewidth* (contorno), que se establece con la función :" +"func:`shapesize`." #: ../Doc/library/turtle.rst:1191 msgid "\"noresize\": no adaption of the turtle's appearance takes place." -msgstr "" +msgstr "\"*noresize*\": no se adapta la apariencia de la tortuga." #: ../Doc/library/turtle.rst:1193 msgid "" From 3901bf3be45a4c4f982d7ed69fb67d52d56ad306 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Thu, 11 Jun 2020 10:53:28 -0300 Subject: [PATCH 035/153] removiendo duplicados --- dict | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/dict b/dict index b962466056..0ca8ef3430 100644 --- a/dict +++ b/dict @@ -186,7 +186,6 @@ build byte bytecode bytes -bzip búfer búferes bzip @@ -371,7 +370,6 @@ microsegundos milisegundo milisegundos mini -mod modularidad monoespaciada monofásica @@ -438,7 +436,6 @@ prompt prompts proxy pseudo -pseudoaleatorios py pyc python @@ -587,8 +584,6 @@ zipimporter zlib ésimo option -octales -permutación Gaussianas log von @@ -609,7 +604,7 @@ Simulation January comparablemente reestablece - sofisticado +sofisticado cumulativos interopere random @@ -624,7 +619,6 @@ reproducible retrocompatible remuestreo Modeling -ésimo Wally Feurzeig Seymour From 430346bad3a284e397e2a1c00eee1cc3a7cd9bc6 Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Thu, 11 Jun 2020 11:06:57 -0300 Subject: [PATCH 036/153] =?UTF-8?q?subclasificaci=C3=B3n=20agregadoal=20di?= =?UTF-8?q?ct?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 1 + 1 file changed, 1 insertion(+) diff --git a/dict b/dict index 0ca8ef3430..fa96be3985 100644 --- a/dict +++ b/dict @@ -634,3 +634,4 @@ None call colormode intersectados +subclasificación From 01a5ec259d71c034c0d61e9cdd376fa9b90e330c Mon Sep 17 00:00:00 2001 From: Alvar Maciel Date: Sat, 20 Jun 2020 10:49:55 -0300 Subject: [PATCH 037/153] =?UTF-8?q?peque=C3=B1os=20avances?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/turtle.po | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index aa5bcb380b..dfea908fca 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-11 09:14-0300\n" +"PO-Revision-Date: 2020-06-20 10:49-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" -msgstr ":mod:`turtle` --- Turtle graphics" +msgstr ":mod:`turtle` --- Gráficos con *Turtle*" #: ../Doc/library/turtle.rst:10 msgid "**Source code:** :source:`Lib/turtle.py`" @@ -1485,11 +1485,13 @@ msgstr "\"*noresize*\": no se adapta la apariencia de la tortuga." msgid "" "resizemode(\"user\") is called by :func:`shapesize` when used with arguments." msgstr "" +"*resizemode(\"user\")* es llamado por la función :func:`shapesize` cuando se " +"usa con argumentos." #: ../Doc/library/turtle.rst:1208 ../Doc/library/turtle.rst:1209 #: ../Doc/library/turtle.rst:1210 msgid "positive number" -msgstr "" +msgstr "número positivo" #: ../Doc/library/turtle.rst:1212 msgid "" @@ -1500,20 +1502,29 @@ msgid "" "*stretch_len* is stretchfactor in direction of its orientation, *outline* " "determines the width of the shapes's outline." msgstr "" +"Devuelve o establece los atributos del lápiz los factores x/y de " +"estiramiento y contorno. Establece *resizemode* a *\"user\"* si y solo si " +"*resizemode* está definido como *\"user\"*, la tortuga será verá estirada " +"acorde a sus factores de estiramiento: *stretch_wid* es el factor de " +"estiramiento perpendicular a su orientación, *stretch_len* es su factor de " +"estiramiento en dirección a su orientación, *outline* determina el grosor de " +"contorno de la forma." #: ../Doc/library/turtle.rst:1235 ../Doc/library/turtle.rst:1887 #: ../Doc/library/turtle.rst:1888 ../Doc/library/turtle.rst:1889 msgid "number (optional)" -msgstr "" +msgstr "número (opcional)" +# shearfacto se refiere a una inclinación y estiramiento, gira y estira la figura por un factor. No se si hay alguna palabra mejor que inclinar y estirar. #: ../Doc/library/turtle.rst:1237 +#, fuzzy msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " "*not* change the turtle's heading (direction of movement). If shear is not " "given: return the current shearfactor, i. e. the tangent of the shear angle, " "by which lines parallel to the heading of the turtle are sheared." -msgstr "" +msgstr "Establece o devuelve el valor actual del estiramiento e inclinación. " #: ../Doc/library/turtle.rst:1258 msgid "" From 8094a57526a08f5d0bf090ad06846cbb01801b74 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Fri, 26 Jun 2020 09:04:43 -0300 Subject: [PATCH 038/153] =?UTF-8?q?peque=C3=B1o=20pero=20dif=C3=ADcil=20av?= =?UTF-8?q?ance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dict | 1 + library/turtle.po | 36 +++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/dict b/dict index 0df98baf78..e2b0f8f7e5 100644 --- a/dict +++ b/dict @@ -1,3 +1,4 @@ +False radianes stretchfactor outline diff --git a/library/turtle.po b/library/turtle.po index dfea908fca..65771be08b 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-20 10:49-0300\n" +"PO-Revision-Date: 2020-06-26 09:03-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1515,22 +1515,29 @@ msgstr "" msgid "number (optional)" msgstr "número (opcional)" -# shearfacto se refiere a una inclinación y estiramiento, gira y estira la figura por un factor. No se si hay alguna palabra mejor que inclinar y estirar. +# shearfacto se refiere a una inclinación y estiramiento, gira y estira la figura por un factor. No se si hay alguna palabra mejor que inclinar o estirar. #: ../Doc/library/turtle.rst:1237 -#, fuzzy msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " "*not* change the turtle's heading (direction of movement). If shear is not " "given: return the current shearfactor, i. e. the tangent of the shear angle, " "by which lines parallel to the heading of the turtle are sheared." -msgstr "Establece o devuelve el valor actual del estiramiento e inclinación. " +msgstr "" +"Establece o devuelve el valor actual del estiramiento. Estira la forma de la " +"tortuga de acuerdo a la inclinación del factor de corte, que es la tangente " +"del ángulo de corte. No cambia el rumbo de la tortuga (dirección del " +"movimiento). Si no de da un valor de inclinación: devuelve el factor actual, " +"por ejemplo la tangente del ángulo de inclinación, por el cual se cortan la " +"líneas paralelas al rumbo de la tortuga." #: ../Doc/library/turtle.rst:1258 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." msgstr "" +"Rota la forma de la tortuga en *ángulo* desde su ángulo de inclinación " +"actual, pero no cambia el rumbo de la tortuga (dirección del movimiento)." #: ../Doc/library/turtle.rst:1277 msgid "" @@ -1538,12 +1545,15 @@ msgid "" "regardless of its current tilt-angle. *Do not* change the turtle's heading " "(direction of movement)." msgstr "" +"Rota la forma de la tortuga apuntando en la dirección especificada por el " +"*ángulo*, independientemente de su ángulo de dirección actual. No cambia el " +"rumbo de la tortuga (dirección de movimiento)." #: ../Doc/library/turtle.rst:1297 ../Doc/library/turtle.rst:1320 #: ../Doc/library/turtle.rst:1321 ../Doc/library/turtle.rst:1322 #: ../Doc/library/turtle.rst:1323 msgid "a number (optional)" -msgstr "" +msgstr "un número (opcional)" #: ../Doc/library/turtle.rst:1299 msgid "" @@ -1554,10 +1564,19 @@ msgid "" "angle between the orientation of the turtleshape and the heading of the " "turtle (its direction of movement)." msgstr "" +" Establece o devuelve el ángulo de inclinación actual. Si se otorga un " +"ángulo, rota la forma de la tortuga para apuntar en la dirección del ángulo " +"especificado, independientemente de su actual ángulo de inclinación. No " +"cambia el rumbo de la tortuga (dirección del movimiento). Si no se da el " +"ángulo: devuelve el ángulo de inclinación actual, por ejemplo: el ángulo " +"entre la orientación de la forma de la tortuga y el rumbo de la tortuga (su " +"dirección de movimiento)." #: ../Doc/library/turtle.rst:1325 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" +"Establece o devuelve la matriz de transformación actual de la forma de la " +"tortuga." #: ../Doc/library/turtle.rst:1327 msgid "" @@ -1568,6 +1587,13 @@ msgid "" "otherwise an error is raised. Modify stretchfactor, shearfactor and " "tiltangle according to the given matrix." msgstr "" +"Si no se proporciona ninguno de los elementos de la matriz, devuelve la " +"matriz de transformación como una tupla de 4 elementos. De lo contrario, " +"establezca los elementos dados y transforme la forma de tortuga de acuerdo " +"con la matriz consistente en una primer columna *t11*, t12 y la segunda " +"columna t21, 22. El determinante t11 * t22 - t12 * t21 no debe ser cero, de " +"lo contrario se genera un error. Modificar el factor de estiramiento, factor " +"de corte y el ángulo de inclinación de acuerdo con la matriz dada." #: ../Doc/library/turtle.rst:1349 msgid "" From 091eb5f56c60b4ac674e53cb6e62493fc731a927 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Fri, 26 Jun 2020 09:53:25 -0300 Subject: [PATCH 039/153] update --- dict | 2 ++ library/turtle.po | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/dict b/dict index bf061433b9..acbb01bad8 100644 --- a/dict +++ b/dict @@ -1,3 +1,5 @@ +click +mouse False radianes stretchfactor diff --git a/library/turtle.po b/library/turtle.po index 65771be08b..4ac5735183 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-26 09:03-0300\n" +"PO-Revision-Date: 2020-06-26 09:53-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1564,7 +1564,7 @@ msgid "" "angle between the orientation of the turtleshape and the heading of the " "turtle (its direction of movement)." msgstr "" -" Establece o devuelve el ángulo de inclinación actual. Si se otorga un " +"Establece o devuelve el ángulo de inclinación actual. Si se otorga un " "ángulo, rota la forma de la tortuga para apuntar en la dirección del ángulo " "especificado, independientemente de su actual ángulo de inclinación. No " "cambia el rumbo de la tortuga (dirección del movimiento). Si no se da el " @@ -1600,6 +1600,9 @@ msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." msgstr "" +"Devuelve el polígono de la forma actual como tupla de pares de coordenadas. " +"Esto puede ser usado para definir una nueva forma o componentes de una forma " +"compuesta." #: ../Doc/library/turtle.rst:1366 ../Doc/library/turtle.rst:1388 #: ../Doc/library/turtle.rst:1413 ../Doc/library/turtle.rst:1811 @@ -1607,11 +1610,15 @@ msgid "" "a function with two arguments which will be called with the coordinates of " "the clicked point on the canvas" msgstr "" +"una función con dos argumentos que se invocará con las coordenadas del punto " +"en el que se hizo clic en el lienzo" #: ../Doc/library/turtle.rst:1368 ../Doc/library/turtle.rst:1390 #: ../Doc/library/turtle.rst:1415 ../Doc/library/turtle.rst:1813 msgid "number of the mouse-button, defaults to 1 (left mouse button)" msgstr "" +"número del botón del mouse, el valor predeterminado es 1 (botón izquierdo " +"del mouse)" #: ../Doc/library/turtle.rst:1369 ../Doc/library/turtle.rst:1391 #: ../Doc/library/turtle.rst:1416 ../Doc/library/turtle.rst:1814 @@ -1619,6 +1626,8 @@ msgid "" "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " "it will replace a former binding" msgstr "" +"``True`` o ``False`` -- si ``True``, se agrega un nuevo enlace, de lo " +"contrario reemplazará el enlace anterior" #: ../Doc/library/turtle.rst:1372 msgid "" @@ -1626,6 +1635,9 @@ msgid "" "existing bindings are removed. Example for the anonymous turtle, i.e. the " "procedural way:" msgstr "" +"Enlaza *acciones divertidas* a los eventos de click en la tortuga. Si las " +"*acciones* son ``None``, se remueven los enlaces existentes. Ejemplo pala la " +"tortuga anónima, en la forma procedimental:" #: ../Doc/library/turtle.rst:1394 msgid "" From 828e395f7872dd8499d73bdbd1b7a16c4616edc0 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 1 Jul 2020 10:15:57 -0300 Subject: [PATCH 040/153] =?UTF-8?q?peque=C3=B1isomo=20avance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/turtle.po | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 4ac5735183..834a9ee239 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-26 09:53-0300\n" +"PO-Revision-Date: 2020-07-01 10:15-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1635,8 +1635,8 @@ msgid "" "existing bindings are removed. Example for the anonymous turtle, i.e. the " "procedural way:" msgstr "" -"Enlaza *acciones divertidas* a los eventos de click en la tortuga. Si las " -"*acciones* son ``None``, se remueven los enlaces existentes. Ejemplo pala la " +"Enlaza *acciones divertidas* a eventos de click en la tortuga. Si la " +"*accion* es ``None``, las acciones asociadas son borradas. Ejemplo para la " "tortuga anónima, en la forma procedimental:" #: ../Doc/library/turtle.rst:1394 @@ -1644,18 +1644,24 @@ msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." msgstr "" +" Enlaza *acciones divertidas* a eventos del tipo soltar botón del mouse en " +"la tortuga. SI la *acción* es ``None``, las acciones asociadas son borradas." #: ../Doc/library/turtle.rst:1419 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"Enlaza *acciones divertidas* a eventos en los movimientos del mouse. Si la " +"*acción* es ``None``, las acciones asociadas son borradas." #: ../Doc/library/turtle.rst:1422 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." msgstr "" +"Observación: cada secuencia de los eventos de movimiento del mouse en una " +"tortuga es precedida por un evento de click del mouse en esa tortuga." #: ../Doc/library/turtle.rst:1430 msgid "" From 147d2d1ed9e26a7237e30088815fa13a841f4962 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:18:42 -0300 Subject: [PATCH 041/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 65771be08b..ad151769cc 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -134,7 +134,7 @@ msgstr "" "La función :func:`Screen` devuelve un objeto *singleton* de la subclase :" "class:`TurtleScreen`. Esta función debe utilizarse cuando :mod:`turtle` se " "usa como una herramienta independiente para hacer gráficos. Siendo un objeto " -"*singleton*, no es posible que tenga herencias de su clase." +"singleton, no es posible que tenga herencias de su clase." #: ../Doc/library/turtle.rst:68 msgid "" From 9f516936beb61f43e34146f201215e8f0f099c29 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:19:11 -0300 Subject: [PATCH 042/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index ad151769cc..7555fae6d0 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -210,7 +210,7 @@ msgstr "" #: ../Doc/library/turtle.rst:98 msgid "Overview of available Turtle and Screen methods" -msgstr "Reseña de los métodos disponibles para *Turtle* y *Screen*" +msgstr "Reseña de los métodos disponibles para Turtle y *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" From 68eb0f516372ebb05d41ea8c8906303a05a7fbf3 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:19:29 -0300 Subject: [PATCH 043/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 7555fae6d0..4be2414390 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -214,7 +214,7 @@ msgstr "Reseña de los métodos disponibles para Turtle y *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" -msgstr "Métodos *Turtle*" +msgstr "Métodos Turtle" #: ../Doc/library/turtle.rst:132 ../Doc/library/turtle.rst:242 msgid "Turtle motion" From 7f3df36b5bc97107e47a8d5c7fb9856482a159da Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:21:47 -0300 Subject: [PATCH 044/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 4be2414390..91c6d6a1fd 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -687,7 +687,7 @@ msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" -"Mover hacia adelante la la tortuga la *ditancia* especificada, en la " +"Mover hacia adelante la la tortuga la *distance* especificada, en la " "dirección en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 From b37568aa084a0fcbb1b5b84d6ad82612bf2b1d7d Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:22:22 -0300 Subject: [PATCH 045/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 91c6d6a1fd..33a8391723 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1046,7 +1046,7 @@ msgstr "Baja el lápiz -- dibuja mientras se mueve." #: ../Doc/library/turtle.rst:811 msgid "Pull the pen up -- no drawing when moving." -msgstr "Sube el lápiz -- no dibuja mientras se mueve." +msgstr "Levanta el lápiz -- no dibuja mientras se mueve." #: ../Doc/library/turtle.rst:817 msgid "a positive number" From e7100632d2f5a7f047621370ddefa072e1225d80 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:22:39 -0300 Subject: [PATCH 046/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 33a8391723..eb7c6a216d 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1393,7 +1393,7 @@ msgstr "una de las frases *\"left*, *center* o *right\"*" #: ../Doc/library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" -msgstr "un trió (nombre de fuente, tamaño de fuente, tipo de fuente)" +msgstr "un trio (nombre de fuente, tamaño de fuente, tipo de fuente)" #: ../Doc/library/turtle.rst:1105 msgid "" From d188dfd1526f9c7faa05cf202c85731e8a5f8046 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:23:03 -0300 Subject: [PATCH 047/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index eb7c6a216d..cc494d7971 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1564,7 +1564,7 @@ msgid "" "angle between the orientation of the turtleshape and the heading of the " "turtle (its direction of movement)." msgstr "" -" Establece o devuelve el ángulo de inclinación actual. Si se otorga un " +"Establece o devuelve el ángulo de inclinación actual. Si se otorga un " "ángulo, rota la forma de la tortuga para apuntar en la dirección del ángulo " "especificado, independientemente de su actual ángulo de inclinación. No " "cambia el rumbo de la tortuga (dirección del movimiento). Si no se da el " From 96a51556764badd3852aaeac73a7ededf85e3285 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:23:17 -0300 Subject: [PATCH 048/153] Update dict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- dict | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dict b/dict index 1d62f4dd0f..90467961ee 100644 --- a/dict +++ b/dict @@ -444,7 +444,6 @@ iteradores j json kernel - k kernel KiB @@ -908,4 +907,4 @@ post autocompletado inf especificam -parser \ No newline at end of file +parser From e510ffa0af44dababbba336f706a6c0149ab3450 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:23:32 -0300 Subject: [PATCH 049/153] Update dict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- dict | 1 - 1 file changed, 1 deletion(-) diff --git a/dict b/dict index 90467961ee..e54dee3a26 100644 --- a/dict +++ b/dict @@ -443,7 +443,6 @@ iterador iteradores j json -kernel k kernel KiB From 0a69af8eb3c581568f24bc64fdbf49ce0ba58f45 Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:26:35 -0300 Subject: [PATCH 050/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index cc494d7971..bfd5dc82af 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1336,7 +1336,7 @@ msgstr "Ver también: Método *Screeen* :func:`colormode`." #: ../Doc/library/turtle.rst:1032 msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "Devuelve *fillstate* (``True`` si está lleno, sino``False``)." +msgstr "Devuelve *fillstate* (``True`` si está lleno, sino ``False``)." #: ../Doc/library/turtle.rst:1047 msgid "To be called just before drawing a shape to be filled." From d7db38f92e5d675a47a1e06e2cc8fb7c8365bbce Mon Sep 17 00:00:00 2001 From: Alvar Date: Tue, 7 Jul 2020 07:27:18 -0300 Subject: [PATCH 051/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index bfd5dc82af..64d33863c4 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1389,7 +1389,7 @@ msgstr "True/False" #: ../Doc/library/turtle.rst:1102 msgid "one of the strings \"left\", \"center\" or right\"" -msgstr "una de las frases *\"left*, *center* o *right\"*" +msgstr "una de las frases \"*left*\", \"*center*\" o \"*right*\"" #: ../Doc/library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" From 31a822d8ded0a261b1a51ad53d677a42ebcd5fda Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 14 Jul 2020 08:36:35 -0300 Subject: [PATCH 052/153] avance al 58 --- dict | 2 ++ library/turtle.po | 56 +++++++++++++++++++++++++++++++++++++---------- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/dict b/dict index acbb01bad8..4dbf1ec3bf 100644 --- a/dict +++ b/dict @@ -1,3 +1,5 @@ +Subsecuentemente +clickear click mouse False diff --git a/library/turtle.po b/library/turtle.po index 834a9ee239..e43f544f70 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-01 10:15-0300\n" +"PO-Revision-Date: 2020-07-14 08:34-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1644,8 +1644,8 @@ msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." msgstr "" -" Enlaza *acciones divertidas* a eventos del tipo soltar botón del mouse en " -"la tortuga. SI la *acción* es ``None``, las acciones asociadas son borradas." +"Enlaza *acciones divertidas* a eventos del tipo soltar botón del mouse en la " +"tortuga. SI la *acción* es ``None``, las acciones asociadas son borradas." #: ../Doc/library/turtle.rst:1419 msgid "" @@ -1668,44 +1668,60 @@ msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." msgstr "" +"Subsecuentemente, clickear y arrastrar la Tortuga la moverá a través de la " +"pantalla produciendo dibujos a mano alzada (si el lápiz está abajo)." #: ../Doc/library/turtle.rst:1439 msgid "" "Start recording the vertices of a polygon. Current turtle position is first " "vertex of polygon." msgstr "" +"Comienza a grabar los vértices de un polígono. La posición actual de la " +"tortuga es el primer vértice del polígono." #: ../Doc/library/turtle.rst:1445 msgid "" "Stop recording the vertices of a polygon. Current turtle position is last " "vertex of polygon. This will be connected with the first vertex." msgstr "" +"Deja de grabar los vértices de un polígono. La posición actual de la tortuga " +"es el último vértice del polígono. Esto se conectará con el primer vértice." #: ../Doc/library/turtle.rst:1451 msgid "Return the last recorded polygon." -msgstr "" +msgstr "Devuelve el último polígono grabado." #: ../Doc/library/turtle.rst:1470 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." msgstr "" +"Crea y devuelve un clon de la tortuga con la misma posición, dirección y " +"propiedades de la tortuga." #: ../Doc/library/turtle.rst:1483 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" msgstr "" +"Devuelve el objeto Tortuga en si. El único uso razonable: es como una " +"función para devolver la \"tortuga anónima\":" +# Return the TurtleScreen object the turtle is drawing on. +# no se si "sobre el cual" es la traducción adecuada. #: ../Doc/library/turtle.rst:1497 +#, fuzzy msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." msgstr "" +"Devuelve el objeto :class:`TurtleScreen` sobre el cual la tortuga está " +"dibujando. Los métodos *TurtleScreen* luego pueden ser llamados para ese " +"objeto." #: ../Doc/library/turtle.rst:1511 msgid "an integer or ``None``" -msgstr "" +msgstr "un entero o ``None``" #: ../Doc/library/turtle.rst:1513 msgid "" @@ -1714,14 +1730,19 @@ msgid "" "that can be undone by the :func:`undo` method/function. If *size* is " "``None``, the undobuffer is disabled." msgstr "" +"Establece o deshabilita el buffer para deshacer acciones. Si *size* es un " +"entero se instala un buffer para deshacer acciones del tamaño. *size* da el " +"máximo número de acciones que la tortuga puede deshacer con la función o " +"método :func:`undo`. Si *size* es ``None``, se deshabilita el buffer para " +"deshacer acciones." #: ../Doc/library/turtle.rst:1526 msgid "Return number of entries in the undobuffer." -msgstr "" +msgstr "Devuelve el número de entradas en el buffer para deshacer acciones." #: ../Doc/library/turtle.rst:1539 msgid "Compound shapes" -msgstr "" +msgstr "Formas compuestas" #: ../Doc/library/turtle.rst:1541 msgid "" @@ -1729,24 +1750,29 @@ msgid "" "different color, you must use the helper class :class:`Shape` explicitly as " "described below:" msgstr "" +"Para usar formas complejas con la tortuga, que consiste en varios polígonos " +"de diferentes colores, deberá usar la clase de ayuda :class:`Shape` " +"explícitamente como se describe debajo:" #: ../Doc/library/turtle.rst:1545 msgid "Create an empty Shape object of type \"compound\"." -msgstr "" +msgstr "Crear una objeto de forma vacía del tupo *compound*." #: ../Doc/library/turtle.rst:1546 msgid "" "Add as many components to this object as desired, using the :meth:" "`addcomponent` method." msgstr "" +"Agregar todos los componentes deseados a este objeto, usando el método :meth:" +"`addcomponent`." #: ../Doc/library/turtle.rst:1549 msgid "For example:" -msgstr "" +msgstr "Por ejemplo:" #: ../Doc/library/turtle.rst:1560 msgid "Now add the Shape to the Screen's shapelist and use it:" -msgstr "" +msgstr "Ahora agregar la forma a la lista de formas de la pantalla y úsela:" #: ../Doc/library/turtle.rst:1571 msgid "" @@ -1754,22 +1780,30 @@ msgid "" "method in different ways. The application programmer has to deal with the " "Shape class *only* when using compound shapes like shown above!" msgstr "" +"La clase :class:`Shape` es usada internamente por el método :func:" +"`register_shape` en maneras diferentes. El programador deberá lidiar con la " +"clase *Shape* ¡solo cuando use formas compuestas como las que se mostraron " +"arriba!" #: ../Doc/library/turtle.rst:1577 msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "" +msgstr "Métodos de *TurtleScreen/Screen* y sus correspondientes funciones" #: ../Doc/library/turtle.rst:1579 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." msgstr "" +"La mayoría de los ejemplos en esta sección se refieren a la instancia de " +"*TurtleScreen* llamada ``screen``." #: ../Doc/library/turtle.rst:1593 msgid "" "a color string or three numbers in the range 0..colormode or a 3-tuple of " "such numbers" msgstr "" +"una cadena de color o tres números en el rango 0..*colormode* o una tupla de " +"3 de esos números" #: ../Doc/library/turtle.rst:1597 msgid "Set or return background color of the TurtleScreen." From db19751b1a2b4e85e387255e9caa47857f605d93 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 14 Jul 2020 09:01:35 -0300 Subject: [PATCH 053/153] dict arreglado --- dict | 421 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 350 insertions(+), 71 deletions(-) diff --git a/dict b/dict index 4dbf1ec3bf..d9f8c8ed9d 100644 --- a/dict +++ b/dict @@ -1,25 +1,26 @@ -Subsecuentemente -clickear -click -mouse -False -radianes -stretchfactor -outline -tilt -speed -Solomon -antihorario -pensize -stamp -id -standard -world -resizemode -turtleshape -Logo -logo -pixeles +Title +Type +Component +Versions +Comment +Create +New +Register +issue +inclúyela +incluyéndola +tracker +slice +slices +idiomática +classmethods +obtenedor +asignador +suprimidor +escribibles +heredable +reintenta +malformados API ASCII Aahz @@ -28,24 +29,48 @@ Adler Ahlstrom Alex Android +asincrónico +asincrónicos +Associates +atómicamente +autenticación +autentificación and Associates Asincrónicamente asincrónicas +auditoría Autocompletado +autocomprobación +Arg +Aqua +auxiliar Awk B +bidireccional +Bare +Bones +Brett BSD Boddie +booleano Brian Built biyección +bztar C +Cmd +cmd CPU +Calculations +Calendrical Cameron Chapman Circus +clon Cocoa +comando +comandos Tim Peters Algorithms @@ -62,10 +87,17 @@ Conceptualmente Cookbook Ctrl Cython +Desafortunadamente +Dershowitz Distutils +dúplex +etc +Delphi Escribible FLTK Fibonacci +finalización +finalizador Finder Flags Flying @@ -81,9 +113,12 @@ HTML Hammond Hat Henstridge +heredable +heredables Hewlett Hugunin I +Implementación Identación Idiomático Index @@ -101,12 +136,14 @@ Kivy L Laird Linux +Lisp Lloyd Ltd Lucasfilm Mac MacOS Macintosh +MacPython Mandrake Mark Microsoft @@ -119,6 +156,7 @@ Nd None Neumann NumPy +NotImplemented Numerical Octales Olsen @@ -140,6 +178,7 @@ PyQt PyRun PySide Python +PyObjC Pythónico Qt R @@ -148,6 +187,7 @@ Refactorizados Refactorizar redireccionamiento Reilly +Reingold ReturnType Rezinsky Rossum @@ -176,6 +216,7 @@ Tutorial TypedDict Unicode Unix +unix Usenet UTF VM @@ -189,12 +230,14 @@ Z Zip ab aleatoriamente +añadió aleatorizar append aproximarla argv array arrays +ascii asignadores asincrónica asincrónico @@ -203,18 +246,20 @@ assert asserts attr autenticación -autocompletado autodocumentada -b +autoreferenciados backspace backtick bash batch bdist +Big big-endian +bin bloqueante booleano booleanos +Boehm buffer buffering bug @@ -225,16 +270,23 @@ build byte bytecode bytes +capturable +capturador +bzip +bz +bytearray búfer búferes bzip cargable cargables class +clonación coerción collector coleccionable coleccionables +colectivamente collector comilla command @@ -247,13 +299,16 @@ códec códecs configúrelo computacionalmente +conectable configúrelo conceptualmente consolelib contravariante contravariantes +constructos conversor correlacionan +correlacionarán corrutina corrutinas covariante @@ -262,13 +317,17 @@ criptográficamente curses customización customizarlo +customizables cíclicamente +cp códec códecs datagramas debugueando darwin debugueando +def +darwin default desasignar deserialización @@ -290,77 +349,103 @@ desasignadores desasignar desasignarán desasigne +desasignan descargable descompresor +descriptor +desempacador desempaquetamiento deserializar +deserialización desinstalador designadores desinstalador +deshabilitará desreferenciación desreferenciar desreferenciarlas dict dinámicamente +disponibilidad distutils docstring docstrings ecualizadora else encriptada +endian +enlace enrutamiento entendible enumerador env +escribible +ésimo especificador especificadores estáticamente +escapándolo except exclude explícitamente exponenciación exit +explícitamente +exponenciación +exit f +fee +fd finalizador finalizadores flag -flags float +fiefoo foo foobar format formateador formateadores fraccional +free freeze from future +from +fum garbage gcc +get gid +glob globals +go +goto granularidad gzip +gztar h hardware hash hashables heurístico +helper host i identación id idiomáticas -idiomático if implementación implementaciones +implementación implementadores import imports imprimible imprimibles include +index indentación indentada indentadas @@ -370,6 +455,7 @@ indexables inicialicen indexación inf +infijo inicializa inicialización inicializaciones @@ -384,6 +470,7 @@ inicializando inicializar inicializarse inicializó +internal insert install instanciación @@ -399,11 +486,21 @@ intérpreter invocable invocables isinstance +iso iterador iteradores +iterativamente j +join json +k +keys kernel +KiB +kernel +KiB +Latín +latín Latin latin l @@ -414,9 +511,12 @@ lexicográfico libtclsam libtksam linters +list +ListWrapper log lowecase m +malloc main manejador manejadores @@ -426,6 +526,7 @@ map mapear mapeo mapeos +mbcs metacaracteres metaclase metaclases @@ -433,14 +534,19 @@ metadatos metatipo metatipos mezclarlos +MiB microsegundo microsegundos +misceláneos milisegundo milisegundos mini +miscelánea +mod modularidad monoespaciada monofásica +monitorearon mortem muestrea multi @@ -448,6 +554,9 @@ multicast multifase multihilo multilínea +multiproceso +multiprocesos +mungear naif nonlocal object @@ -466,11 +575,7 @@ naíf naífs namedtuple ncurses -<<<<<<< HEAD -octales -======= nonlocal ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 normalización object obsérvese @@ -480,26 +585,37 @@ octales on one onexit +normalización operando +onexit +option operandos option options +or +ordenables onexit os p pads +paralelizar parsea parseada parsear +perfilador +pax pasándole +pasándoles path pathlib perfilador +perfiladores pasándole permitiéndole permutación permutaciones personalizadamente +pid pip podés point @@ -511,28 +627,37 @@ portable posicional posicionales posicionalmente -post posteriori +pre precompilado precompiladas predeclarando +presumiblemente preprocesador print preinstalar +preinstalado presumiblemente proléptico prolépticos prompt prompts +probabilísticamente +proxies proxy +purify pseudo pseudoaleatorios py pyc +R python +PyChecker q +R quit quote +r raw read readline @@ -542,7 +667,11 @@ recompilación recompilada recompilar recompilarse +recordarle +recursión recursivamente +recursivo +recurrencia redefinido redefinidos redefinir @@ -555,11 +684,10 @@ redimensionado redimensionados redimensionar redireccionamiento +rediseñado redondeándolo ref refactorización -refactorizados -refactorizar referenciable referenciables referenciada @@ -571,20 +699,24 @@ referenciarse regex reinicializador reinicializar +reintentar remove renombramiento reordenar repr +reposicionamiento reproducibles reproducible retrocompatible remuestreo request reubicar +rmtree root run s str +scanf script scripting scripts @@ -593,16 +725,24 @@ search secuencialmente seguirle self +seleccionables semánticamente +semialeatorio +semialeatoria semiabierto separándolos serializa +serializable +serializables serialización serializados serializar shell +shutil shells +shutil sincronización +sincronizaciones singleton singletons sintácticamente @@ -616,26 +756,27 @@ sockets solucionadores sorprendentemente sort +SortKey spam stderr stdin +Stats stdout str strings +stub sub -<<<<<<< HEAD +subfunciones +subcarpetas +subclasificación subárbol subárboles subcadena subcadenas -subcarpetas -======= -subcadena -subcadenas +subclasificado subcarpetas subclaseada subclasificación ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 subclasificar subcomandos subscripción @@ -651,6 +792,8 @@ subproceso subprocesos subsectores subsecuencias +subárbol +subárboles subíndices subtipable subtipado @@ -658,7 +801,7 @@ subtiparse subárbol subárboles subíndice ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 +sudoriental subíndices super superclase @@ -672,33 +815,45 @@ tar tarball termcap testeo +temporizaciones +temporización +Ted timestamp tipado tipear token tokenizador tokens +transcodificaciones +transcodificación trick truncarlo +try tty tupla tuplas -turtle -tutorial tzname txt uid unario unices unicode +unidireccional uninstall urllib +us utf +uuencode UTF vía versionados Win +vía +versionados +Win +von wchar +with web while widget @@ -707,50 +862,76 @@ wiki wxPython wxWidgets wxwidgets +write x xz +xztar ydel z zip +zombie +zombies zipimporter zlib ésimo -<<<<<<< HEAD +caching +proxies +slots +functions +ítems +memorizador +hashable +wrapped +user +function +lt +freezes +itables +decórela +cls +term +decorator +attribute +faltantes +see +issue +call +option +octales +permutación +ı +ſ option +octales +permutación Gaussianas log von semiabierto Mersenne -======= -ı -ſ -Gaussianas ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 Twister subprocesos determinístico subclaseada Matsumoto Nishimura -<<<<<<< HEAD Transactions on -Modelling +Modeling and -======= Modeling Callable ClassVar ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 Computer Simulation January comparablemente reestablece +Mersenne sofisticado cumulativos interopere +func random subsectores gaussiana @@ -759,26 +940,124 @@ Weibull pseudoaleatorios reproducibles Reproducibilidad -<<<<<<< HEAD +keyword +offset +setuptools reproducible retrocompatible remuestreo +kernel +pasándole +StreamReader +StreamReaderWriter +StreamWriter +StreamRecoder +IncrementalEncoder +IncrementalDecoder +str +pasándole +kit +multiplataforma +multiventana +grep +breakpoints +Apple +click +portapapeles +deindentación +descomentada +tabs +indentar +destabulada +Reformatea +rstrip +multilíneas +comandos +pila +deiconificándolo +docs +org +Turtle +turtledemo +subsección +breakpoint +Ln +Emacs +subsecciones +tkinter +tutoriales +monoespaciadas +Highlights +Dock +framework +tk +config +extensions +def +idlelib +coloreación +Visualizador +visualizador +etc +deindenta +autocompletamiento +sep +Idle +itertools +turtle +idle +configurable +stdlib +firewall +desinstalar +zombie +pythonw +exe +SystemExit +multilingual +glifo +SyntaxError +PyShell +AutoCompleteWindow +VxWorks +setuptools Modeling -Wally -Feurzeig -Seymour -Papert -Cynthia -reimplementación -mod -interface -innombrado -TurtleScreen -Screen -None -call -colormode -intersectados -subclasificación -======= ->>>>>>> 431f2918cfe80c4e12b113b74ac08e20dc1151f0 +ésimo +pasándole +subíndice +estandarización +recursión +Reelaborando +unicode +x +latin +flags +zip +distutils +wxwidgets +l +b +identación +refactorizar +refactorizados +sobreescriben +idiomático +octales +i +built +python +post +autocompletado +inf +especificam +parser +resucitarlo +bloqueantes +reentrante +reentrantes +rastrearlo +readquirir +Dijkstra +Edsger +Subsecuentemente +clickear From ba594baa7c1de635527b9679daf96b784cb8e5ee Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 14 Jul 2020 12:43:39 -0300 Subject: [PATCH 054/153] avance al 62% --- dict | 4 +++ library/turtle.po | 62 ++++++++++++++++++++++++++++++----------------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/dict b/dict index dd4fb697ec..8d461cb35c 100644 --- a/dict +++ b/dict @@ -1091,3 +1091,7 @@ colormode intersectados mouse trio +False +gif +ej +redimensiona diff --git a/library/turtle.po b/library/turtle.po index 7652cbe1de..06a36b8b2c 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-14 08:34-0300\n" +"PO-Revision-Date: 2020-07-14 12:43-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -134,7 +134,7 @@ msgstr "" "La función :func:`Screen` devuelve un objeto *singleton* de la subclase :" "class:`TurtleScreen`. Esta función debe utilizarse cuando :mod:`turtle` se " "usa como una herramienta independiente para hacer gráficos. Siendo un objeto " -"singleton, no es posible que tenga herencias de su clase." +"*singleton*, no es posible que tenga herencias de su clase." #: ../Doc/library/turtle.rst:68 msgid "" @@ -210,11 +210,11 @@ msgstr "" #: ../Doc/library/turtle.rst:98 msgid "Overview of available Turtle and Screen methods" -msgstr "Reseña de los métodos disponibles para Turtle y *Screen*" +msgstr "Reseña de los métodos disponibles para *Turtle* y *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" -msgstr "Métodos Turtle" +msgstr "Métodos *Turtle*" #: ../Doc/library/turtle.rst:132 ../Doc/library/turtle.rst:242 msgid "Turtle motion" @@ -687,7 +687,7 @@ msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" -"Mover hacia adelante la la tortuga la *distance* especificada, en la " +"Mover hacia adelante la la tortuga la *ditancia* especificada, en la " "dirección en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 @@ -1046,7 +1046,7 @@ msgstr "Baja el lápiz -- dibuja mientras se mueve." #: ../Doc/library/turtle.rst:811 msgid "Pull the pen up -- no drawing when moving." -msgstr "Levanta el lápiz -- no dibuja mientras se mueve." +msgstr "Sube el lápiz -- no dibuja mientras se mueve." #: ../Doc/library/turtle.rst:817 msgid "a positive number" @@ -1336,7 +1336,7 @@ msgstr "Ver también: Método *Screeen* :func:`colormode`." #: ../Doc/library/turtle.rst:1032 msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "Devuelve *fillstate* (``True`` si está lleno, sino ``False``)." +msgstr "Devuelve *fillstate* (``True`` si está lleno, sino``False``)." #: ../Doc/library/turtle.rst:1047 msgid "To be called just before drawing a shape to be filled." @@ -1389,11 +1389,11 @@ msgstr "True/False" #: ../Doc/library/turtle.rst:1102 msgid "one of the strings \"left\", \"center\" or right\"" -msgstr "una de las frases \"*left*\", \"*center*\" o \"*right*\"" +msgstr "una de las frases *\"left*, *center* o *right\"*" #: ../Doc/library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" -msgstr "un trio (nombre de fuente, tamaño de fuente, tipo de fuente)" +msgstr "un trió (nombre de fuente, tamaño de fuente, tipo de fuente)" #: ../Doc/library/turtle.rst:1105 msgid "" @@ -1707,10 +1707,9 @@ msgstr "" "Devuelve el objeto Tortuga en si. El único uso razonable: es como una " "función para devolver la \"tortuga anónima\":" -# Return the TurtleScreen object the turtle is drawing on. +# Return the TurtleScreen object the turtle is drawing on. # no se si "sobre el cual" es la traducción adecuada. #: ../Doc/library/turtle.rst:1497 -#, fuzzy msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." @@ -1807,11 +1806,11 @@ msgstr "" #: ../Doc/library/turtle.rst:1597 msgid "Set or return background color of the TurtleScreen." -msgstr "" +msgstr "Establece o devuelve el color de fondo de *TurtleScreen*." #: ../Doc/library/turtle.rst:1612 msgid "a string, name of a gif-file or ``\"nopic\"``, or ``None``" -msgstr "" +msgstr "una cadena, nombre o archivo gif o ``\"nopic\"``, o ``None``" #: ../Doc/library/turtle.rst:1614 msgid "" @@ -1820,6 +1819,11 @@ msgid "" "*picname* is ``\"nopic\"``, delete background image, if present. If " "*picname* is ``None``, return the filename of the current backgroundimage. ::" msgstr "" +"Establece la imagen de fondo o devuelve el nombre de la imagen de fondo " +"actual. Si *picname* es un nombre de archivo, establece la imagen " +"correspondiente como fondo. Si *picname* es ``\"nopic\"``, borra la imagen " +"de fondo, si hay alguna presente. Si *picname* es ``None``, devuelve el " +"nombre de archivo de la imagen de fondo actual. ::" #: ../Doc/library/turtle.rst:1629 msgid "" @@ -1827,6 +1831,9 @@ msgid "" "empty TurtleScreen to its initial state: white background, no background " "image, no event bindings and tracing on." msgstr "" +"Borra todos los dibujos y todas las tortugas del la pantalla de la tortuga. " +"Reinicia la ahora vacía pantalla de la tortuga a su estado inicial: fondo " +"blanco, sin imagen de fondo, sin enlaces a eventos o seguimientos." #: ../Doc/library/turtle.rst:1634 msgid "" @@ -1834,10 +1841,13 @@ msgid "" "name ``clearscreen``. The global function ``clear`` is a different one " "derived from the Turtle method ``clear``." msgstr "" +"Este método de *TurtleScreen* está disponible como una función global solo " +"bajo el nombre `clearscreen``. La función global ``clear`` es otra, derivada " +"del método de *Turtle* ``clear``." #: ../Doc/library/turtle.rst:1642 msgid "Reset all Turtles on the Screen to their initial state." -msgstr "" +msgstr "Reinicia todas las tortugas de la pantalla a su estado inicial." #: ../Doc/library/turtle.rst:1645 msgid "" @@ -1845,18 +1855,21 @@ msgid "" "name ``resetscreen``. The global function ``reset`` is another one derived " "from the Turtle method ``reset``." msgstr "" +"Este método *TurtleScreen* esta disponible como una función global solo bajo " +"el nombre ``resetscreen``. La función global ``reset`` es otra, derivada del " +"método *Turtle* ``reset``." #: ../Doc/library/turtle.rst:1652 msgid "positive integer, new width of canvas in pixels" -msgstr "" +msgstr "entero positivo, nueva anchura del lienzo en pixeles" #: ../Doc/library/turtle.rst:1653 msgid "positive integer, new height of canvas in pixels" -msgstr "" +msgstr "entero positivo, nueva altura del lienzo en pixeles" #: ../Doc/library/turtle.rst:1654 msgid "colorstring or color-tuple, new background color" -msgstr "" +msgstr "*colorstrng* o tupla de color, muevo color de fondo" #: ../Doc/library/turtle.rst:1656 msgid "" @@ -1866,26 +1879,31 @@ msgid "" "this method, one can make visible those parts of a drawing which were " "outside the canvas before." msgstr "" +"Si no se dan argumentos, devuelve el actual (ancho y alto del lienzo). Sino " +"redimensiona el lienzo en el que la tortuga está dibujando. No altera la " +"ventana de dibujo. Para ver las partes ocultas del lienzo, use la barra de " +"desplazamiento. Con este método, se pueden hacer visibles aquellas partes de " +"un dibujo que antes estaban fuera del lienzo." #: ../Doc/library/turtle.rst:1668 msgid "e.g. to search for an erroneously escaped turtle ;-)" -msgstr "" +msgstr "p.ej. buscar una tortuga que se escapó por error ;-)" #: ../Doc/library/turtle.rst:1673 msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "" +msgstr "un número, coordenada x de la esquina inferior izquierda del lienzo" #: ../Doc/library/turtle.rst:1674 msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "" +msgstr "un número, coordenada y de la esquina inferior izquierda del lienzo" #: ../Doc/library/turtle.rst:1675 msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "" +msgstr "un número, coordenada x de la esquina superior derecha del lienzo" #: ../Doc/library/turtle.rst:1676 msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "" +msgstr "un número, coordenada z de la esquina superior derecha del lienzo" #: ../Doc/library/turtle.rst:1678 msgid "" From 40f0892e615dda230d83ab0a5bd47c3e6e61cf7b Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 14 Jul 2020 17:13:10 -0300 Subject: [PATCH 055/153] avance al 65 --- dict | 3 +++ library/turtle.po | 50 +++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/dict b/dict index 8d461cb35c..3dd76ef75e 100644 --- a/dict +++ b/dict @@ -1095,3 +1095,6 @@ False gif ej redimensiona +re +mili +space diff --git a/library/turtle.po b/library/turtle.po index 06a36b8b2c..819968f06c 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-14 12:43-0300\n" +"PO-Revision-Date: 2020-07-14 17:12-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1911,16 +1911,21 @@ msgid "" "necessary. This performs a ``screen.reset()``. If mode \"world\" is " "already active, all drawings are redrawn according to the new coordinates." msgstr "" +"Configurar coordenadas definidas por el usuario y cambiar al modo *world* si " +"es necesario. Esto realiza un ``screen.reset()``. Si el modo *world* ya está " +"activo, todos los dibujos se re dibujan de acuerdo a las nuevas coordenadas." #: ../Doc/library/turtle.rst:1682 msgid "" "**ATTENTION**: in user-defined coordinate systems angles may appear " "distorted." msgstr "" +"**ATENCIÓN**: en los sistemas de coordenadas definidos por el usuario, los " +"ángulos pueden aparecer distorsionados." #: ../Doc/library/turtle.rst:1710 msgid "positive integer" -msgstr "" +msgstr "entero positivo." #: ../Doc/library/turtle.rst:1712 msgid "" @@ -1928,16 +1933,22 @@ msgid "" "the time interval between two consecutive canvas updates.) The longer the " "drawing delay, the slower the animation." msgstr "" +"Establece o devuelve el *retraso* del dibujo en mili segundos. ( Este es " +"aproximadamente, el tiempo de intervalo entre dos actualizaciones " +"consecutivas del lienzo). Mientras más largo sea el retraso, más lenta la " +"animación." #: ../Doc/library/turtle.rst:1716 msgid "Optional argument:" -msgstr "" +msgstr "Argumento opcional:" #: ../Doc/library/turtle.rst:1730 ../Doc/library/turtle.rst:1731 msgid "nonnegative integer" -msgstr "" +msgstr "entero no negativo" +# n-th lo enconté como enésima, pero no se si se entiende la frase #: ../Doc/library/turtle.rst:1733 +#, fuzzy msgid "" "Turn turtle animation on/off and set delay for update drawings. If *n* is " "given, only each n-th regular screen update is really performed. (Can be " @@ -1945,14 +1956,22 @@ msgid "" "arguments, returns the currently stored value of n. Second argument sets " "delay value (see :func:`delay`)." msgstr "" +"Activa o desactiva la animación de la tortuga y establece el retraso para la " +"actualización de los dibujos. Si se da *n*, solo cada enésima actualización " +"regular de pantalla se realiza realmente. (Puede usarse para acelerar los " +"dibujos de gráficos complejos). Cuando es llamada sin argumentos, devuelve " +"el valor de *n* guardado actualmente. El segundo argumento establece el " +"valor de retraso (ver :func:`delay`)." #: ../Doc/library/turtle.rst:1753 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" +"Realiza una actualización de la pantalla de la tortuga. Para ser usada " +"cuando *tracer* está deshabilitada." #: ../Doc/library/turtle.rst:1755 msgid "See also the RawTurtle/Turtle method :func:`speed`." -msgstr "" +msgstr "Ver también el método *RawTurtle/Turtle* `speed`." #: ../Doc/library/turtle.rst:1763 msgid "" @@ -1960,14 +1979,18 @@ msgid "" "are provided in order to be able to pass :func:`listen` to the onclick " "method." msgstr "" +"Establece el foco en la pantalla de la tortuga (para recoger eventos de " +"teclado). Los argumentos *dummy* se proveen en orden de ser capaces de " +"pasar :func:`listen` a los métodos *onclick*." #: ../Doc/library/turtle.rst:1770 ../Doc/library/turtle.rst:1790 msgid "a function with no arguments or ``None``" -msgstr "" +msgstr "una función sin argumentos o ``None``" #: ../Doc/library/turtle.rst:1771 ../Doc/library/turtle.rst:1791 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" +"una palabra: tecla (p. ej. \"a\") o una acción del teclado (p. ej. \"space\")" #: ../Doc/library/turtle.rst:1773 msgid "" @@ -1975,6 +1998,10 @@ msgid "" "bindings are removed. Remark: in order to be able to register key-events, " "TurtleScreen must have the focus. (See method :func:`listen`.)" msgstr "" +"Vincula *fun* a un evento de liberación de una tecla. Si *fun* es ``None``, " +"los eventos vinculados son removidos. Aclaración: para poder registrar " +"eventos de teclado, *TurtleScreen* tiene que tener el foco. (ver el método :" +"func:`listen`.)" #: ../Doc/library/turtle.rst:1793 msgid "" @@ -1982,18 +2009,26 @@ msgid "" "event if no key is given. Remark: in order to be able to register key-" "events, TurtleScreen must have focus. (See method :func:`listen`.)" msgstr "" +"Vincula *fun* a un evento de pulsado de una tecla, o a cualquier evento de " +"pulsado de tecla si no se da una. Aclaración: para poder registrar eventos " +"de teclado, *TurtleScreen* tiene que tener el foco. (ver el método :func:" +"`listen`.)" #: ../Doc/library/turtle.rst:1817 msgid "" "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"vincula *fun* a eventos de click del mouse en esta pantalla. Si *fun* es " +"``None``, los vínculos existentes son removidos." #: ../Doc/library/turtle.rst:1820 msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " "named turtle:" msgstr "" +"Ejemplo de una instancia *TurtleScreen* llamada ``screen`` y una instancia " +"*Turtle* llamada *turtle*:" #: ../Doc/library/turtle.rst:1831 msgid "" @@ -2001,6 +2036,9 @@ msgid "" "name ``onscreenclick``. The global function ``onclick`` is another one " "derived from the Turtle method ``onclick``." msgstr "" +"Este método *TurtleScreen* está disponible como una función global solo bajo " +"el nombre `onscreenclick``. La función global ``onclick`` es otra derivada " +"del método *Turtle* ``onclick``." #: ../Doc/library/turtle.rst:1838 msgid "a function with no arguments" From 82ac5736e3117bfacd41b57e95ee645cca65abbf Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:54:18 -0300 Subject: [PATCH 056/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 819968f06c..97a2c13220 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1911,7 +1911,7 @@ msgid "" "necessary. This performs a ``screen.reset()``. If mode \"world\" is " "already active, all drawings are redrawn according to the new coordinates." msgstr "" -"Configurar coordenadas definidas por el usuario y cambiar al modo *world* si " +"Configura coordenadas definidas por el usuario y cambia al modo *world* si " "es necesario. Esto realiza un ``screen.reset()``. Si el modo *world* ya está " "activo, todos los dibujos se re dibujan de acuerdo a las nuevas coordenadas." From d10036d42de1ef08266de13fb6f1710aedb42fe1 Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:54:31 -0300 Subject: [PATCH 057/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 97a2c13220..7a6bbc887a 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1925,7 +1925,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1710 msgid "positive integer" -msgstr "entero positivo." +msgstr "entero positivo" #: ../Doc/library/turtle.rst:1712 msgid "" From 63a0961503f789425786c7b300d4473842840532 Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:54:47 -0300 Subject: [PATCH 058/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 7a6bbc887a..a1c99a01ff 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1971,7 +1971,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1755 msgid "See also the RawTurtle/Turtle method :func:`speed`." -msgstr "Ver también el método *RawTurtle/Turtle* `speed`." +msgstr "Ver también el método *RawTurtle/Turtle* :func:`speed`." #: ../Doc/library/turtle.rst:1763 msgid "" From a0152d7a9fcfe05fde59ccb264b2e0a979ae8092 Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:55:10 -0300 Subject: [PATCH 059/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index a1c99a01ff..35fd445f55 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1933,7 +1933,7 @@ msgid "" "the time interval between two consecutive canvas updates.) The longer the " "drawing delay, the slower the animation." msgstr "" -"Establece o devuelve el *retraso* del dibujo en mili segundos. ( Este es " +"Establece o retorna el *retraso* del dibujo en mili segundos. ( Este es " "aproximadamente, el tiempo de intervalo entre dos actualizaciones " "consecutivas del lienzo). Mientras más largo sea el retraso, más lenta la " "animación." From 9f5de8bcdfb025e92bce67bb24ff1f0a11dd020f Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:55:51 -0300 Subject: [PATCH 060/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 35fd445f55..71d2c58470 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1990,7 +1990,7 @@ msgstr "una función sin argumentos o ``None``" #: ../Doc/library/turtle.rst:1771 ../Doc/library/turtle.rst:1791 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" -"una palabra: tecla (p. ej. \"a\") o una acción del teclado (p. ej. \"space\")" +"una cadena de caracteres: tecla (por ejemplo, \"a\") o una acción del teclado (por ejemplo, \"space\")" #: ../Doc/library/turtle.rst:1773 msgid "" From 3ae40e1f5e743a3a88ecf6da48e6c7f00544acdd Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:56:13 -0300 Subject: [PATCH 061/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 71d2c58470..b0f96783d3 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -2028,7 +2028,7 @@ msgid "" "named turtle:" msgstr "" "Ejemplo de una instancia *TurtleScreen* llamada ``screen`` y una instancia " -"*Turtle* llamada *turtle*:" +"*Turtle* llamada turtle:" #: ../Doc/library/turtle.rst:1831 msgid "" From f9212d1ce79046b5711c93ed32e8a3608dddb273 Mon Sep 17 00:00:00 2001 From: Alvar Date: Wed, 15 Jul 2020 13:56:27 -0300 Subject: [PATCH 062/153] Update library/turtle.po MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristián Maureira-Fredes --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index b0f96783d3..a3b437ac40 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -2038,7 +2038,7 @@ msgid "" msgstr "" "Este método *TurtleScreen* está disponible como una función global solo bajo " "el nombre `onscreenclick``. La función global ``onclick`` es otra derivada " -"del método *Turtle* ``onclick``." +"del método Turtle ``onclick``." #: ../Doc/library/turtle.rst:1838 msgid "a function with no arguments" From 34f7bc3932d440a0f92ed92692efd116f7629e2c Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 15 Jul 2020 14:07:05 -0300 Subject: [PATCH 063/153] dictionary agregado --- dictionary/library_turtle.txt | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 dictionary/library_turtle.txt diff --git a/dictionary/library_turtle.txt b/dictionary/library_turtle.txt new file mode 100644 index 0000000000..1b506296c9 --- /dev/null +++ b/dictionary/library_turtle.txt @@ -0,0 +1,41 @@ +Dijkstra +Edsger +Subsecuentemente +clickear +Logo +Wally +Feurzeig +Seymour +Papert +Cynthia +Solomon +pixeles +reimplementación +interface +TurtleScreen +Screen +innombrado +logo +antihorario +pensize +stamp +standard +world +resizemode +turtleshape +pensize +speed +stretchfactor +outline +tilt +colormode +intersectados +mouse +trio +False +gif +ej +redimensiona +re +mili +space From d4bb7562eba03a8cc483478cfba7686f6d372165 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 28 Jul 2020 07:38:06 -0300 Subject: [PATCH 064/153] =?UTF-8?q?=20actualizaci=C3=B3n=20sin=20precomit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 2 +- dict | 39 ------------------- .../library_turtle.txt | 20 ++++++++++ errores.txt | 0 library/turtle.po | 24 ++++++++---- 5 files changed, 37 insertions(+), 48 deletions(-) rename {dictionary => dictionaries}/library_turtle.txt (73%) create mode 100644 errores.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ca16be657c..04598b5112 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,4 +8,4 @@ repos: rev: pre-commit hooks: - id: pospell - args: ['--personal-dict', 'dict', '--modified', '--language', 'es_ES', '--language', 'es_AR'] + args: ['--personal-dict', 'dictionaries/library_turtle.txt', '--modified', '--language', 'es_ES', '--language', 'es_AR'] diff --git a/dict b/dict index 3dd76ef75e..0d6881eb00 100644 --- a/dict +++ b/dict @@ -1059,42 +1059,3 @@ rastrearlo readquirir Dijkstra Edsger -Subsecuentemente -clickear -Logo -Wally -Feurzeig -Seymour -Papert -Cynthia -Solomon -pixeles -reimplementación -interface -TurtleScreen -Screen -innombrado -logo -antihorario -pensize -stamp -standard -world -resizemode -turtleshape -pensize -speed -stretchfactor -outline -tilt -colormode -intersectados -mouse -trio -False -gif -ej -redimensiona -re -mili -space diff --git a/dictionary/library_turtle.txt b/dictionaries/library_turtle.txt similarity index 73% rename from dictionary/library_turtle.txt rename to dictionaries/library_turtle.txt index 1b506296c9..8e53b9d2ba 100644 --- a/dictionary/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -39,3 +39,23 @@ redimensiona re mili space +Turtle +x +Python +turtle +None +tupla +call +s +t +click +buffer +milisegundos +TKinter +script +subproceso +tuplas +p +z +eventollamando +n diff --git a/errores.txt b/errores.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/library/turtle.po b/library/turtle.po index a3b437ac40..b3294dfaa3 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-14 17:12-0300\n" +"PO-Revision-Date: 2020-07-28 07:37-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1948,7 +1948,6 @@ msgstr "entero no negativo" # n-th lo enconté como enésima, pero no se si se entiende la frase #: ../Doc/library/turtle.rst:1733 -#, fuzzy msgid "" "Turn turtle animation on/off and set delay for update drawings. If *n* is " "given, only each n-th regular screen update is really performed. (Can be " @@ -1990,7 +1989,8 @@ msgstr "una función sin argumentos o ``None``" #: ../Doc/library/turtle.rst:1771 ../Doc/library/turtle.rst:1791 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" -"una cadena de caracteres: tecla (por ejemplo, \"a\") o una acción del teclado (por ejemplo, \"space\")" +"una cadena de caracteres: tecla (por ejemplo, \"a\") o una acción del " +"teclado (por ejemplo, \"space\")" #: ../Doc/library/turtle.rst:1773 msgid "" @@ -2019,7 +2019,7 @@ msgid "" "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " "existing bindings are removed." msgstr "" -"vincula *fun* a eventos de click del mouse en esta pantalla. Si *fun* es " +"Vincula *fun* a eventos de click del mouse en esta pantalla. Si *fun* es " "``None``, los vínculos existentes son removidos." #: ../Doc/library/turtle.rst:1820 @@ -2042,15 +2042,15 @@ msgstr "" #: ../Doc/library/turtle.rst:1838 msgid "a function with no arguments" -msgstr "" +msgstr "una función sin argumentos" #: ../Doc/library/turtle.rst:1839 msgid "a number >= 0" -msgstr "" +msgstr "un número >= 0" #: ../Doc/library/turtle.rst:1841 msgid "Install a timer that calls *fun* after *t* milliseconds." -msgstr "" +msgstr "Instala un temporizador que llama a *fun* cada *t* milisegundos." #: ../Doc/library/turtle.rst:1859 msgid "" @@ -2059,11 +2059,15 @@ msgid "" "run from within IDLE in -n mode (No subprocess) - for interactive use of " "turtle graphics. ::" msgstr "" +"Comienza un bucle de evento - llamando a la función *mainloop* del " +"*Tkinter*. Debe ser la última declaración en un programa gráfico de turtle. " +"*No* debe ser usado si algún script es corrido dentro del IDLE en modo -n " +"(Sin subproceso) - para uso interactivo de gráficos turtle.::" #: ../Doc/library/turtle.rst:1872 ../Doc/library/turtle.rst:1873 #: ../Doc/library/turtle.rst:1885 ../Doc/library/turtle.rst:1886 msgid "string" -msgstr "" +msgstr "cadena de caracteres" #: ../Doc/library/turtle.rst:1875 msgid "" @@ -2072,6 +2076,10 @@ msgid "" "input. Return the string input. If the dialog is canceled, return " "``None``. ::" msgstr "" +"Abre una ventana de diálogo para ingresar una cadena de caracteres. El " +"parámetro *title* es el título de la ventana de diálogo, *prompt* es un " +"texto que usualmente describe que información se debe ingresar. Devuelve la " +"cadena ingresada. Si el diálogo es cancelado, devuelve `None``. ::" #: ../Doc/library/turtle.rst:1891 msgid "" From 88381f79ed82aa87d0b44be78528f53f71872e80 Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Tue, 28 Jul 2020 08:51:00 -0300 Subject: [PATCH 065/153] avance al 72% --- dictionaries/library_turtle.txt | 2 + library/turtle.po | 76 ++++++++++++++++++++++++--------- 2 files changed, 59 insertions(+), 19 deletions(-) diff --git a/dictionaries/library_turtle.txt b/dictionaries/library_turtle.txt index 8e53b9d2ba..23753bf40a 100644 --- a/dictionaries/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -59,3 +59,5 @@ p z eventollamando n +maxval +mode diff --git a/library/turtle.po b/library/turtle.po index b3294dfaa3..23dee50f06 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-28 07:37-0300\n" +"PO-Revision-Date: 2020-07-28 08:48-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2091,16 +2091,26 @@ msgid "" "open for correction. Return the number input. If the dialog is canceled, " "return ``None``. ::" msgstr "" +"Abre una ventana de diálogo para el ingreso de un número. *title* es el " +"título de la ventana de diálogo, *prompt* es un texto que usualmente " +"describe qué información numérica ingresar. *default*: valor por defecto, " +"*minval*: mínimo valor aceptado, *maxval*: máximo valor aceptado. Si se " +"aportan estos parámetros, el número a ingresar debe estar en el rango " +"*minval*..*maxval*. Si no, se da una pista y el diálogo permanece abierto " +"para su corrección. Devuelve el número ingresado. Si el diálogo es " +"cancelado, devuelve ``None``.::" #: ../Doc/library/turtle.rst:1908 msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "" +msgstr "una de las cadenas *\"standard\"*, *\"logo*\" o *\"world*\"" #: ../Doc/library/turtle.rst:1910 msgid "" "Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " "mode is not given, current mode is returned." msgstr "" +"Establece el mode de la tortuga (*\"standard\"*, *\"logo\"* o *\"world\"*) " +"y realiza un reinicio. Si no se da \"*mode*\", retorna el modo actual." #: ../Doc/library/turtle.rst:1913 msgid "" @@ -2109,120 +2119,143 @@ msgid "" "\"world coordinates\". **Attention**: in this mode angles appear distorted " "if ``x/y`` unit-ratio doesn't equal 1." msgstr "" +"El modo *\"standard\"* es compatible con el antiguo :mod:`turtle`. El modo *" +"\"logo\"* es compatible con la mayoría de los gráficos de tortuga Logo. El " +"modo *\"world\"* usa coordenadas de mundo definidas por el usuario. " +"**Atención**: en este modo los ángulos aparecen distorsionados si la " +"relación de unidad ``x/y`` no es igual a 1." #: ../Doc/library/turtle.rst:1919 msgid "Mode" -msgstr "" +msgstr "Modo" #: ../Doc/library/turtle.rst:1919 msgid "Initial turtle heading" -msgstr "" +msgstr "Rumbo inicial de la tortuga" #: ../Doc/library/turtle.rst:1919 msgid "positive angles" -msgstr "" +msgstr "ángulos positivos" #: ../Doc/library/turtle.rst:1921 msgid "\"standard\"" -msgstr "" +msgstr "*\"standard\"*" #: ../Doc/library/turtle.rst:1921 msgid "to the right (east)" -msgstr "" +msgstr "hacia la derecha (este)" #: ../Doc/library/turtle.rst:1921 msgid "counterclockwise" -msgstr "" +msgstr "sentido antihorario" #: ../Doc/library/turtle.rst:1922 msgid "\"logo\"" -msgstr "" +msgstr "*\"logo\"*" #: ../Doc/library/turtle.rst:1922 msgid "upward (north)" -msgstr "" +msgstr "hacia arriba (norte)" #: ../Doc/library/turtle.rst:1922 msgid "clockwise" -msgstr "" +msgstr "sentido horario" #: ../Doc/library/turtle.rst:1935 msgid "one of the values 1.0 or 255" -msgstr "" +msgstr "uno de los valores 1.0 o 255" #: ../Doc/library/turtle.rst:1937 msgid "" "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " "values of color triples have to be in the range 0..\\ *cmode*." msgstr "" +"Devuelve el *colormode* o lo establece a 1.0 o 255. Subsecuentemente, los " +"valores triples de color *r*, *g*, *b* tienen que estar en el rango 0..\\ " +"*cmode*." #: ../Doc/library/turtle.rst:1958 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." msgstr "" +"Devuelve el lienzo de este *TurtleScreen*. Útil para conocedores que saben " +"que hace con un *TKinter* *Canvas*." #: ../Doc/library/turtle.rst:1971 msgid "Return a list of names of all currently available turtle shapes." msgstr "" +"Devuelve la lista de nombres de todas las formas de la tortuga actualmente " +"disponibles." #: ../Doc/library/turtle.rst:1983 msgid "There are three different ways to call this function:" -msgstr "" +msgstr "Hay tres formas distintas de llamar a esta función:" #: ../Doc/library/turtle.rst:1985 msgid "" "*name* is the name of a gif-file and *shape* is ``None``: Install the " "corresponding image shape. ::" msgstr "" +"*name* es el nombre de un archivo gif y *shape* es ``None``: instala la " +"imagen correspondiente. ::" #: ../Doc/library/turtle.rst:1991 msgid "" "Image shapes *do not* rotate when turning the turtle, so they do not display " "the heading of the turtle!" msgstr "" +"Las imágenes de tipo *shapes* no rotan cuando la tortuga gira, así que ellas " +"no muestran el rumbo de la tortuga." #: ../Doc/library/turtle.rst:1994 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." msgstr "" +"*name* es una cadena de caracteres arbitraria y *shape* es una tupla de " +"pares de coordenadas: Instala la forma poligonal correspondiente." #: ../Doc/library/turtle.rst:2002 msgid "" "*name* is an arbitrary string and shape is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." msgstr "" +"*name* es una cadena de caracteres arbitraria y *shape* es un objeto :class:" +"`Shape` (compuesto): Instala la correspondiente forma compuesta." #: ../Doc/library/turtle.rst:2005 msgid "" "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " "shapes can be used by issuing the command ``shape(shapename)``." msgstr "" +"Agregar una forma de tortuga a la lista de formas de *TurtleScreen*. Solo " +"las formas registradas de esta manera pueden ser usadas invocando el comando " +"``shape(shapename)``." #: ../Doc/library/turtle.rst:2011 msgid "Return the list of turtles on the screen." -msgstr "" +msgstr "Devuelve la lista de tortugas en la pantalla." #: ../Doc/library/turtle.rst:2022 msgid "Return the height of the turtle window. ::" -msgstr "" +msgstr "Devuelve la altura de la ventana de la tortuga. ::" #: ../Doc/library/turtle.rst:2030 msgid "Return the width of the turtle window. ::" -msgstr "" +msgstr "Devuelve el ancho de la ventana de la tortuga. ::" #: ../Doc/library/turtle.rst:2039 msgid "Methods specific to Screen, not inherited from TurtleScreen" -msgstr "" +msgstr "Métodos específicos de *Screen*, no heredados de *TurtleScreen*" #: ../Doc/library/turtle.rst:2043 msgid "Shut the turtlegraphics window." -msgstr "" +msgstr "Apaga la ventana gráfica de la tortuga." #: ../Doc/library/turtle.rst:2048 msgid "Bind bye() method to mouse clicks on the Screen." -msgstr "" +msgstr "Ata el método *bye()* al click del ratón sobre la pantalla." #: ../Doc/library/turtle.rst:2051 msgid "" @@ -2232,6 +2265,11 @@ msgid "" "file:`turtle.cfg`. In this case IDLE's own mainloop is active also for the " "client script." msgstr "" +"Si el valor *\"using_IDLE\"* en la configuración del diccionario es " +"``False`` (valor por defecto), también ingresa *mainloop*. Observaciones: si " +"se usa la *IDLE* con el modificador (no subproceso) ``-n``, este valor debe " +"establecerse a ``True`` en :file:`turtle.cfg`. En este caso el propio " +"*mainloop* de la *IDLE* está activa también para script cliente." #: ../Doc/library/turtle.rst:2060 msgid "" From 8522f87c016868583f649310c2064d3fc8a75dcd Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 29 Jul 2020 08:34:53 -0300 Subject: [PATCH 066/153] update al 80% --- library/turtle.po | 92 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 66 insertions(+), 26 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 23dee50f06..f3e8d49f85 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-28 08:48-0300\n" +"PO-Revision-Date: 2020-07-29 08:34-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2206,7 +2206,7 @@ msgid "" "the heading of the turtle!" msgstr "" "Las imágenes de tipo *shapes* no rotan cuando la tortuga gira, así que ellas " -"no muestran el rumbo de la tortuga." +"¡no muestran el rumbo de la tortuga!" #: ../Doc/library/turtle.rst:1994 msgid "" @@ -2268,7 +2268,7 @@ msgstr "" "Si el valor *\"using_IDLE\"* en la configuración del diccionario es " "``False`` (valor por defecto), también ingresa *mainloop*. Observaciones: si " "se usa la *IDLE* con el modificador (no subproceso) ``-n``, este valor debe " -"establecerse a ``True`` en :file:`turtle.cfg`. En este caso el propio " +"establecerse a ``True`` en :file:`turtle.cfg`. En este caso el propio " "*mainloop* de la *IDLE* está activa también para script cliente." #: ../Doc/library/turtle.rst:2060 @@ -2277,6 +2277,9 @@ msgid "" "are stored in the configuration dictionary and can be changed via a :file:" "`turtle.cfg` file." msgstr "" +"Establece el tamaño y la posición de la ventana principal. Los valores por " +"defecto de los argumentos son guardados en el diccionario de configuración y " +"puede ser cambiado a través del archivo :file:`turtle.cfg`." #: ../Doc/library/turtle.rst:2064 #, python-format @@ -2284,6 +2287,8 @@ msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " "default is 50% of screen" msgstr "" +"si es un entero, el tamaño en pixeles, si es un número flotante, una " +"fracción de la pantalla; el valor por defecto es 50% de la pantalla" #: ../Doc/library/turtle.rst:2066 #, python-format @@ -2291,139 +2296,170 @@ msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " "default is 75% of screen" msgstr "" +"si es un entero, la altura en pixeles, si es un número flotante, una " +"fracción de la pantalla; el valor por defecto es 75% de la pantalla" #: ../Doc/library/turtle.rst:2068 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" msgstr "" +"si es positivo, punto de inicio en pixeles desde la esquina izquierda de la " +"pantalla, si es negativo desde la esquina derecha de la pantalla, si es " +"``None``, centra la ventana horizontalmente" #: ../Doc/library/turtle.rst:2071 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" msgstr "" +"si es positivo, punto de inicio en pixeles desde la parte superior de la " +"pantalla, si es negativo desde la parte inferior de la pantalla, si es " +"``None``, centra la ventana verticalmente" #: ../Doc/library/turtle.rst:2086 msgid "a string that is shown in the titlebar of the turtle graphics window" msgstr "" +"una cadena de caracteres que se muestra en la barra de título de la ventana " +"gráfica de la tortuga" #: ../Doc/library/turtle.rst:2089 msgid "Set title of turtle window to *titlestring*." -msgstr "" +msgstr "Establece el título de la ventana de la tortuga a *titlestring*." #: ../Doc/library/turtle.rst:2098 msgid "Public classes" -msgstr "" +msgstr "Clases públicas" #: ../Doc/library/turtle.rst:2104 msgid "" "a :class:`tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" "`TurtleScreen`" msgstr "" +"una clase :class:`tkinter.Canvas`, una :class:`ScrolledCanvas` o una clase :" +"class:`TurtleScreen`" #: ../Doc/library/turtle.rst:2107 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." msgstr "" +"Crea una tortuga. La tortuga tiene todos los métodos descriptos " +"anteriormente como \"métodos de *\"Turtle/RawTurtle\"*." #: ../Doc/library/turtle.rst:2113 msgid "" "Subclass of RawTurtle, has the same interface but draws on a default :class:" "`Screen` object created automatically when needed for the first time." msgstr "" +"Subclase de *RawTurtle*, tiene la misma interface pero dibuja sobre una " +"objeto por defecto :class:`Screen` creado automáticamente cuando es " +"necesario por primera vez." #: ../Doc/library/turtle.rst:2119 msgid "a :class:`tkinter.Canvas`" -msgstr "" +msgstr "un :class:`tkinter.Canvas`" #: ../Doc/library/turtle.rst:2121 msgid "" "Provides screen oriented methods like :func:`setbg` etc. that are described " "above." msgstr "" +"Provee métodos orientados a la pantalla como :func:`setbg` etc. descriptos " +"anteriormente." #: ../Doc/library/turtle.rst:2126 msgid "" "Subclass of TurtleScreen, with :ref:`four methods added `." msgstr "" +"Subclase de *TurtleScreen*, con :ref:`cuatro métodos agregados " +"`." #: ../Doc/library/turtle.rst:2131 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" msgstr "" +"algunos *widgets* *TKinter* para contener el *ScrollCanvas*, por ejemplo un " +"lienzo *Tkinter* con barras de desplazamiento agregadas" #: ../Doc/library/turtle.rst:2134 msgid "" "Used by class Screen, which thus automatically provides a ScrolledCanvas as " "playground for the turtles." msgstr "" +"Usado por la clase *Screen*, que proporciona automáticamente un " +"*ScrolledCanvas* como espacio de trabajo para las tortugas." #: ../Doc/library/turtle.rst:2139 msgid "one of the strings \"polygon\", \"image\", \"compound\"" msgstr "" +"una de las cadenas de caracteres *\"polygon\"*, *\"image\"*, *\"compound\"*" #: ../Doc/library/turtle.rst:2141 msgid "" "Data structure modeling shapes. The pair ``(type_, data)`` must follow this " "specification:" msgstr "" +"Estructura de datos que modela las formas. El par `(type_, data)`` debe " +"seguir estas especificaciones:" #: ../Doc/library/turtle.rst:2146 msgid "*type_*" -msgstr "" +msgstr "*type_*" #: ../Doc/library/turtle.rst:2146 msgid "*data*" -msgstr "" +msgstr "*data*" #: ../Doc/library/turtle.rst:2148 msgid "\"polygon\"" -msgstr "" +msgstr "*\"polygon\"*" #: ../Doc/library/turtle.rst:2148 msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" msgstr "" +"una tupla para el polígono, por ejemplo: una tupla de par de coordenadas" #: ../Doc/library/turtle.rst:2149 msgid "\"image\"" -msgstr "" +msgstr "*\"image\"*" #: ../Doc/library/turtle.rst:2149 msgid "an image (in this form only used internally!)" -msgstr "" +msgstr "una imagen (en esta forma solo se usa ¡internamente!)" #: ../Doc/library/turtle.rst:2150 msgid "\"compound\"" -msgstr "" +msgstr "*\"compound\"*" #: ../Doc/library/turtle.rst:2150 msgid "" "``None`` (a compound shape has to be constructed using the :meth:" "`addcomponent` method)" msgstr "" +"``None`` (una forma compuesta tiene que ser construida usando el método :" +"meth:`addcomponent`)" #: ../Doc/library/turtle.rst:2156 msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "" +msgstr "un polígono, por ejemplo una tupla de pares de números" #: ../Doc/library/turtle.rst:2157 msgid "a color the *poly* will be filled with" -msgstr "" +msgstr "un color con el que el polígono será llenado" #: ../Doc/library/turtle.rst:2158 msgid "a color for the poly's outline (if given)" -msgstr "" +msgstr "un color con el que se delineará el polígono (se de ingresa)" #: ../Doc/library/turtle.rst:2160 msgid "Example:" -msgstr "" +msgstr "Ejemplo:" #: ../Doc/library/turtle.rst:2170 msgid "See :ref:`compoundshapes`." -msgstr "" +msgstr "Ver :ref:`compoundshapes`." #: ../Doc/library/turtle.rst:2175 msgid "" @@ -2431,42 +2467,46 @@ msgid "" "turtle graphics. May be useful for turtle graphics programs too. Derived " "from tuple, so a vector is a tuple!" msgstr "" +"Una clase de vectores bidimensionales, usado como clase de ayuda para " +"implementar gráficos de tortuga. Puede ser útil para los programas de " +"gráficos de tortugas también. Derivado de la tupla, ¡por lo que un vector es " +"una tupla!" #: ../Doc/library/turtle.rst:2179 msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "" +msgstr "Proporciona (para *a*, *b* vectores, *k* números)" #: ../Doc/library/turtle.rst:2181 msgid "``a + b`` vector addition" -msgstr "" +msgstr "``a + b`` suma de vectores" #: ../Doc/library/turtle.rst:2182 msgid "``a - b`` vector subtraction" -msgstr "" +msgstr "``a - b`` resta de vectores" #: ../Doc/library/turtle.rst:2183 msgid "``a * b`` inner product" -msgstr "" +msgstr "``a * b`` producto interno" #: ../Doc/library/turtle.rst:2184 msgid "``k * a`` and ``a * k`` multiplication with scalar" -msgstr "" +msgstr "``k * a`` y ``a * k`` multiplicación con escalar" #: ../Doc/library/turtle.rst:2185 msgid "``abs(a)`` absolute value of a" -msgstr "" +msgstr "``abs(a)`` valor absoluto de a" #: ../Doc/library/turtle.rst:2186 msgid "``a.rotate(angle)`` rotation" -msgstr "" +msgstr "``a.rotate(angle)`` rotación" #: ../Doc/library/turtle.rst:2190 msgid "Help and configuration" -msgstr "" +msgstr "Ayuda y configuración" #: ../Doc/library/turtle.rst:2193 msgid "How to use help" -msgstr "" +msgstr "Cómo usar la ayuda" #: ../Doc/library/turtle.rst:2195 msgid "" From 77401c47ca0691773b53de4199cf010255392ada Mon Sep 17 00:00:00 2001 From: alvarmaciel Date: Wed, 29 Jul 2020 08:45:47 -0300 Subject: [PATCH 067/153] resolviendo dict --- dict | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dict b/dict index c2f3817807..dadbb5ed40 100644 --- a/dict +++ b/dict @@ -1115,3 +1115,5 @@ rastrearlo readquirir Dijkstra Edsger +asyncore +interoperar From 0dc26ead258c56982c5c165a201513b2cf969c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Sun, 6 Sep 2020 22:28:00 +0200 Subject: [PATCH 068/153] Add RDCH106 to TRANSLATORS --- TRANSLATORS | 1 + 1 file changed, 1 insertion(+) diff --git a/TRANSLATORS b/TRANSLATORS index 8dffa55f61..675aa7816d 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -76,3 +76,4 @@ David Revillas (@r3v1) Xavi Rambla Centellas (@xavirambla) Santiago E Fraire Willemoes (@Woile) Gustavo Adolfo Huarcaya Delgado (@diavolo) +Rubén de Celis Hernández (@RDCH106) From 59ad211e2d01f32d0094e92f4ce8fb35d08c2a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Sun, 13 Sep 2020 23:21:16 +0200 Subject: [PATCH 069/153] Partial commit (smtplib) --- library/smtplib.po | 52 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index e429d71406..a2c1a5ab8d 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -6,27 +6,29 @@ # Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-09-10 22:19+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Rubén de Celis Hernández \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" -msgstr "" +msgstr ":mod:`smtplib` --- Cliente de protocolo SMTP" #: ../Doc/library/smtplib.rst:9 msgid "**Source code:** :source:`Lib/smtplib.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/smtplib.py`" #: ../Doc/library/smtplib.rst:17 msgid "" @@ -35,6 +37,11 @@ msgid "" "daemon. For details of SMTP and ESMTP operation, consult :rfc:`821` (Simple " "Mail Transfer Protocol) and :rfc:`1869` (SMTP Service Extensions)." msgstr "" +"El módulo :mod:`smtplib` define un objeto de sesión de cliente SMTP que se " +"puede usar para mandar correo a cualquier máquina de Internet con un demonio " +"de escucha SMTP o ESMTP. Para detalles sobre el funcionamiento de SMTP o " +"ESMTP, consulta :rfc:`821` (Simple Mail Transfer Protocol) y :rfc:`1869` " +"(SMTP Service Extensions)." #: ../Doc/library/smtplib.rst:25 msgid "" @@ -55,6 +62,24 @@ msgid "" "bind to as its source address before connecting. If omitted (or if host or " "port are ``''`` and/or 0 respectively) the OS default behavior will be used." msgstr "" +"Una instancia :class:`SMTP` encapsula una conexión SMTP. Tiene métodos que " +"admiten un repertorio completo de operaciones SMTP y ESMTP. Si se " +"proporcionan los parámetros opcionales de host y puerto, el método :meth:" +"`connect` de SMTP se llama con esos parámetros durante la inicialización. " +"Si se especifica, *local_hostname* se usa como FQDN del host local in el " +"comando HELO/EHLO. De lo contrario, el hostname local se busca usando :func:" +"`socket.getfqdn`. Si la llamada a :meth:`connect` devuelve cualquier cosa " +"que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " +"parámetro *timeout* opcional especifica un timeout in segundos para bloquear " +"operaciones como el intento de conexión (si no se especifica, se utilizará " +"la configuración global del tiemout por defecto). Si el timeout de espera " +"expira, se lanza :exc:`socket.timeout`. El parámetro opcional " +"source_address permite el enlace a alguna dirección de origen específica en " +"una máquina con múltiples interfaces de red, y/o a algún puerto TCP de " +"origen específico. Se necesita una tupla de 2 (host, puerto), para que el " +"socket se enlace como su dirección de origen antes de conectarse. Si se " +"omite (os si el host o el puerto son ``''`` y/o 0 respectivamente) se " +"utilizara el comportamiento por defecto del SO." #: ../Doc/library/smtplib.rst:43 msgid "" @@ -87,7 +112,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:67 ../Doc/library/smtplib.rst:96 msgid "source_address argument was added." -msgstr "" +msgstr "se agrego el argumento source_address." #: ../Doc/library/smtplib.rst:70 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." @@ -116,7 +141,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:93 ../Doc/library/smtplib.rst:416 msgid "*context* was added." -msgstr "" +msgstr "se agregó *contexto*." #: ../Doc/library/smtplib.rst:99 msgid "" @@ -193,25 +218,28 @@ msgstr "" #: ../Doc/library/smtplib.rst:169 msgid "The SMTP server refused to accept the message data." -msgstr "" +msgstr "El servidor SMTP se negó a aceptar los datos del mensaje." #: ../Doc/library/smtplib.rst:174 msgid "Error occurred during establishment of a connection with the server." msgstr "" +"Se produjo un error durante el establecimiento de conexión con el servidor." #: ../Doc/library/smtplib.rst:179 msgid "The server refused our ``HELO`` message." -msgstr "" +msgstr "El servidor rechazó nuestro mensaje ``HELO``." #: ../Doc/library/smtplib.rst:184 msgid "The command or option attempted is not supported by the server." -msgstr "" +msgstr "El servidor no admite el comando o la opción que se intentó." #: ../Doc/library/smtplib.rst:191 msgid "" "SMTP authentication went wrong. Most probably the server didn't accept the " "username/password combination provided." msgstr "" +"La autenticación SMTP salió mal. Lo más probable es que el servidor no " +"aceptó la combinación proporcionada de username/password." #: ../Doc/library/smtplib.rst:199 msgid ":rfc:`821` - Simple Mail Transfer Protocol" @@ -698,7 +726,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:554 msgid "SMTP Example" -msgstr "" +msgstr "Ejemplo SMTP" #: ../Doc/library/smtplib.rst:556 msgid "" From 4a4997ca240ade407db9a6f720940e050f98765b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Sun, 13 Sep 2020 23:59:38 +0200 Subject: [PATCH 070/153] =?UTF-8?q?Fix=20=E2=8C=A8=EF=B8=8F=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/smtplib.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index a2c1a5ab8d..2ed23a1ff8 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-10 22:19+0200\n" +"PO-Revision-Date: 2020-09-13 23:58+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -72,7 +72,7 @@ msgstr "" "que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " "parámetro *timeout* opcional especifica un timeout in segundos para bloquear " "operaciones como el intento de conexión (si no se especifica, se utilizará " -"la configuración global del tiemout por defecto). Si el timeout de espera " +"la configuración global del timeout por defecto). Si el timeout de espera " "expira, se lanza :exc:`socket.timeout`. El parámetro opcional " "source_address permite el enlace a alguna dirección de origen específica en " "una máquina con múltiples interfaces de red, y/o a algún puerto TCP de " From f6735baab0796e3d65cf262b0ad6b016aaa5bf48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Tue, 15 Sep 2020 23:22:59 +0200 Subject: [PATCH 071/153] Add smtplib dictionary --- dictionaries/library_smtplib.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 dictionaries/library_smtplib.txt diff --git a/dictionaries/library_smtplib.txt b/dictionaries/library_smtplib.txt new file mode 100644 index 0000000000..790851a6bb --- /dev/null +++ b/dictionaries/library_smtplib.txt @@ -0,0 +1 @@ +timeout From 428da5995a79b20140a018b80be6494652a898a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Tue, 15 Sep 2020 23:24:42 +0200 Subject: [PATCH 072/153] Minor updates --- library/smtplib.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 2ed23a1ff8..baff5445d1 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-13 23:58+0200\n" +"PO-Revision-Date: 2020-09-15 23:23+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,7 +40,7 @@ msgstr "" "El módulo :mod:`smtplib` define un objeto de sesión de cliente SMTP que se " "puede usar para mandar correo a cualquier máquina de Internet con un demonio " "de escucha SMTP o ESMTP. Para detalles sobre el funcionamiento de SMTP o " -"ESMTP, consulta :rfc:`821` (Simple Mail Transfer Protocol) y :rfc:`1869` " +"ESMTP, consulta :rfc:`821` (**Simple Mail Transfer Protocol**) y :rfc:`1869` " "(SMTP Service Extensions)." #: ../Doc/library/smtplib.rst:25 @@ -70,7 +70,7 @@ msgstr "" "comando HELO/EHLO. De lo contrario, el hostname local se busca usando :func:" "`socket.getfqdn`. Si la llamada a :meth:`connect` devuelve cualquier cosa " "que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " -"parámetro *timeout* opcional especifica un timeout in segundos para bloquear " +"parámetro *timeout* opcional especifica un timeout en segundos para bloquear " "operaciones como el intento de conexión (si no se especifica, se utilizará " "la configuración global del timeout por defecto). Si el timeout de espera " "expira, se lanza :exc:`socket.timeout`. El parámetro opcional " From f51a9ee785a01748d9fc53a26ec4bb772bf20cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Wed, 16 Sep 2020 00:10:21 +0200 Subject: [PATCH 073/153] Partial commit (smtplib) --- .overrides/translation-memory.rst | 12 ++++++++++++ dictionaries/library_smtplib.txt | 2 ++ library/smtplib.po | 10 ++++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst index 5b688adff4..529fbfbdc1 100644 --- a/.overrides/translation-memory.rst +++ b/.overrides/translation-memory.rst @@ -73,6 +73,14 @@ Términos y bigramas handle exception gestionar excepción. ``tutorial/inputoutput.po`` + host + host ``library/smtplib.po`` + Significado: máquina conectada a una red que provee de servicios + + hostname + hostname ``library/smtplib.po`` + Significado: nombre de la máquina conectada a una red que provee de servicios + i. e. en otras palabras. ``library/sqlite3.po`` @@ -140,6 +148,10 @@ Términos y bigramas third-party de terceros ``library/typing.po`` + timeout + timeout ``library/smtplib.po`` + Significado: tiempo de espera para establecer/reintentar una conexión de red + type hint indicador de tipo ``library/typing.po`` diff --git a/dictionaries/library_smtplib.txt b/dictionaries/library_smtplib.txt index 790851a6bb..46e4660c97 100644 --- a/dictionaries/library_smtplib.txt +++ b/dictionaries/library_smtplib.txt @@ -1 +1,3 @@ timeout +host +hostname diff --git a/library/smtplib.po b/library/smtplib.po index baff5445d1..102765b5ff 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-15 23:23+0200\n" +"PO-Revision-Date: 2020-09-16 00:09+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +41,7 @@ msgstr "" "puede usar para mandar correo a cualquier máquina de Internet con un demonio " "de escucha SMTP o ESMTP. Para detalles sobre el funcionamiento de SMTP o " "ESMTP, consulta :rfc:`821` (**Simple Mail Transfer Protocol**) y :rfc:`1869` " -"(SMTP Service Extensions)." +"(Extensiones de Servicio SMTP)." #: ../Doc/library/smtplib.rst:25 msgid "" @@ -208,6 +208,9 @@ msgid "" "`SMTPResponseException` exceptions, this sets 'sender' to the string that " "the SMTP server refused." msgstr "" +"Dirección del remitente rechazada. Además de los atributos establecidos por " +"todas las excepciones :exc:`SMTPResponseException`, éste establece " +"'remitente' para la cadena de caracteres que el servidor SMTP rechazó." #: ../Doc/library/smtplib.rst:162 msgid "" @@ -215,6 +218,9 @@ msgid "" "accessible through the attribute :attr:`recipients`, which is a dictionary " "of exactly the same sort as :meth:`SMTP.sendmail` returns." msgstr "" +"Se rechazaron todas las direcciones de destinatarios. Los errores para cada " +"destinatario son accesibles mediante el atributo :attr:`recipients`, el cual " +"es un diccionario del mismo tipo que el :meth:`SMTP.sendmail` devuelve." #: ../Doc/library/smtplib.rst:169 msgid "The SMTP server refused to accept the message data." From bd065c9aae55f80dc950a72716b1a5035565d9be Mon Sep 17 00:00:00 2001 From: rdecelis Date: Fri, 18 Sep 2020 17:17:46 +0200 Subject: [PATCH 074/153] Partial commit (smtplib) --- library/smtplib.po | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 102765b5ff..142573d394 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-16 00:09+0200\n" +"PO-Revision-Date: 2020-09-16 17:59+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -108,7 +108,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:64 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "Se agregó soporte para la declaración :keyword:`with`." #: ../Doc/library/smtplib.rst:67 ../Doc/library/smtplib.rst:96 msgid "source_address argument was added." @@ -116,7 +116,7 @@ msgstr "se agrego el argumento source_address." #: ../Doc/library/smtplib.rst:70 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." -msgstr "" +msgstr "La extensión SMTPUTF8 (:rfc:`6531`) ahora es compatible." #: ../Doc/library/smtplib.rst:78 msgid "" @@ -138,6 +138,9 @@ msgid "" "point to a PEM formatted private key and certificate chain file for the SSL " "connection." msgstr "" +"*keyfile* y *certfile* son una alternativa heredada a *context*, y pueden " +"apuntar a una clave privada en formato PEM y un archivo de cadena de " +"certificados para la conexión SSL." #: ../Doc/library/smtplib.rst:93 ../Doc/library/smtplib.rst:416 msgid "*context* was added." From 5cd9445094aa8e67cdc6c73d435cc7b5f70b66aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20de=20Celis=20Hern=C3=A1ndez?= Date: Thu, 1 Oct 2020 23:22:10 +0200 Subject: [PATCH 075/153] Partial commit (smtplib) --- .overrides/translation-memory.rst | 3 + library/smtplib.po | 99 ++++++++++++++++++++++--------- 2 files changed, 74 insertions(+), 28 deletions(-) diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst index 529fbfbdc1..ce3143ecdd 100644 --- a/.overrides/translation-memory.rst +++ b/.overrides/translation-memory.rst @@ -135,6 +135,9 @@ Términos y bigramas slicing segmentación ``datamodel.po`` + statement + sentencia ``smtplib.po`` + static type checker Validador estático de tipos Notas: mantener la mayúscula, usar validación cuando se refiera a la acción y no al agente. diff --git a/library/smtplib.po b/library/smtplib.po index 142573d394..a8aaeac646 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-16 17:59+0200\n" +"PO-Revision-Date: 2020-10-01 23:21+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -98,6 +98,8 @@ msgid "" "Raises an :ref:`auditing event ` ``smtplib.send`` with arguments " "``self``, ``data``." msgstr "" +"Genera un :ref:`auditing event ` ``smtplib.send`` con argumentos " +"``self``, ``data``." #: ../Doc/library/smtplib.rst:60 msgid "" @@ -108,7 +110,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:64 msgid "Support for the :keyword:`with` statement was added." -msgstr "Se agregó soporte para la declaración :keyword:`with`." +msgstr "Se agregó soporte para la sentencia :keyword:`with`." #: ../Doc/library/smtplib.rst:67 ../Doc/library/smtplib.rst:96 msgid "source_address argument was added." @@ -138,9 +140,6 @@ msgid "" "point to a PEM formatted private key and certificate chain file for the SSL " "connection." msgstr "" -"*keyfile* y *certfile* son una alternativa heredada a *context*, y pueden " -"apuntar a una clave privada en formato PEM y un archivo de cadena de " -"certificados para la conexión SSL." #: ../Doc/library/smtplib.rst:93 ../Doc/library/smtplib.rst:416 msgid "*context* was added." @@ -178,17 +177,19 @@ msgstr "" #: ../Doc/library/smtplib.rst:126 msgid "A nice selection of exceptions is defined as well:" -msgstr "" +msgstr "También se define una buena selección de excepciones:" #: ../Doc/library/smtplib.rst:131 msgid "" "Subclass of :exc:`OSError` that is the base exception class for all the " "other exceptions provided by this module." msgstr "" +"Subclase de :exc:`OSError` que es la clase de excepción base para todas las " +"demás excepciones proporcionadas por este módulo." #: ../Doc/library/smtplib.rst:134 msgid "SMTPException became subclass of :exc:`OSError`" -msgstr "" +msgstr "SMTPException se convirtió en subclase de :exc:`OSError`" #: ../Doc/library/smtplib.rst:140 msgid "" @@ -252,7 +253,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:199 msgid ":rfc:`821` - Simple Mail Transfer Protocol" -msgstr "" +msgstr ":rfc:`821` - Simple Mail Transfer Protocol" #: ../Doc/library/smtplib.rst:198 msgid "" @@ -262,7 +263,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:203 msgid ":rfc:`1869` - SMTP Service Extensions" -msgstr "" +msgstr ":rfc:`1869` - Extensiones de Servicio SMTP" #: ../Doc/library/smtplib.rst:202 msgid "" @@ -273,11 +274,11 @@ msgstr "" #: ../Doc/library/smtplib.rst:210 msgid "SMTP Objects" -msgstr "" +msgstr "Objetos SMTP" #: ../Doc/library/smtplib.rst:212 msgid "An :class:`SMTP` instance has the following methods:" -msgstr "" +msgstr "Una instancia :class:`SMTP` tiene los siguientes métodos:" #: ../Doc/library/smtplib.rst:217 msgid "" @@ -289,7 +290,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:222 msgid "Added debuglevel 2." -msgstr "" +msgstr "Se agregó el nivel de depuración 2." #: ../Doc/library/smtplib.rst:227 msgid "" @@ -377,12 +378,12 @@ msgstr "" #: ../Doc/library/smtplib.rst:286 ../Doc/library/smtplib.rst:316 #: ../Doc/library/smtplib.rst:408 ../Doc/library/smtplib.rst:477 msgid ":exc:`SMTPHeloError`" -msgstr "" +msgstr ":exc:`SMTPHeloError`" #: ../Doc/library/smtplib.rst:287 ../Doc/library/smtplib.rst:316 #: ../Doc/library/smtplib.rst:408 ../Doc/library/smtplib.rst:477 msgid "The server didn't reply properly to the ``HELO`` greeting." -msgstr "" +msgstr "El servidor no respondió correctamente al saludo ``HELO``." #: ../Doc/library/smtplib.rst:291 msgid "" @@ -413,24 +414,24 @@ msgstr "" #: ../Doc/library/smtplib.rst:319 msgid ":exc:`SMTPAuthenticationError`" -msgstr "" +msgstr ":exc:`SMTPAuthenticationError`" #: ../Doc/library/smtplib.rst:319 msgid "The server didn't accept the username/password combination." -msgstr "" +msgstr "El servidor no aceptó la combinación de nombre de username/password." #: ../Doc/library/smtplib.rst:322 ../Doc/library/smtplib.rst:411 #: ../Doc/library/smtplib.rst:488 msgid ":exc:`SMTPNotSupportedError`" -msgstr "" +msgstr ":exc:`SMTPNotSupportedError`" #: ../Doc/library/smtplib.rst:322 msgid "The ``AUTH`` command is not supported by the server." -msgstr "" +msgstr "El servidor no admite el comando ``AUTH``." #: ../Doc/library/smtplib.rst:325 msgid ":exc:`SMTPException`" -msgstr "" +msgstr ":exc:`SMTPException`" #: ../Doc/library/smtplib.rst:325 msgid "No suitable authentication method was found." @@ -475,10 +476,12 @@ msgstr "" msgid "" "*authobject* must be a callable object taking an optional single argument:" msgstr "" +"*authobject* debe ser un objeto invocable que tome un único argumento " +"opcional:" #: ../Doc/library/smtplib.rst:353 msgid "data = authobject(challenge=None)" -msgstr "" +msgstr "data = authobject(challenge=None)" #: ../Doc/library/smtplib.rst:355 msgid "" @@ -530,6 +533,8 @@ msgid "" "If *keyfile* and *certfile* are provided, they are used to create an :class:" "`ssl.SSLContext`." msgstr "" +"Si se proporcionan *keyfile* y *certfile*, se utilizan para crear una :class:" +"`ssl.SSLContext`." #: ../Doc/library/smtplib.rst:393 msgid "" @@ -543,18 +548,22 @@ msgid "" "If there has been no previous ``EHLO`` or ``HELO`` command this session, " "this method tries ESMTP ``EHLO`` first." msgstr "" +"Si no ha habido ningún comando ``EHLO`` o ``HELO`` anterior en esta sesión, " +"este método intenta ESMTP ``EHLO`` primero." #: ../Doc/library/smtplib.rst:411 msgid "The server does not support the STARTTLS extension." -msgstr "" +msgstr "El servidor no admite la extensión STARTTLS." #: ../Doc/library/smtplib.rst:414 msgid ":exc:`RuntimeError`" -msgstr "" +msgstr ":exc:`RuntimeError`" #: ../Doc/library/smtplib.rst:414 msgid "SSL/TLS support is not available to your Python interpreter." msgstr "" +"La compatibilidad con SSL/TLS no está disponible para su intérprete de " +"Python." #: ../Doc/library/smtplib.rst:419 msgid "" @@ -620,14 +629,16 @@ msgid "" "If ``SMTPUTF8`` is included in *mail_options*, and the server supports it, " "*from_addr* and *to_addrs* may contain non-ASCII characters." msgstr "" +"Si se incluye ``SMTPUTF8``' en *mail_options * y el servidor lo admite, " +"*from_addr* y *to_addrs* pueden contener caracteres no ASCII." #: ../Doc/library/smtplib.rst:468 msgid "This method may raise the following exceptions:" -msgstr "" +msgstr "Este método puede lanzar las siguientes excepciones:" #: ../Doc/library/smtplib.rst:474 msgid ":exc:`SMTPRecipientsRefused`" -msgstr "" +msgstr ":exc:`SMTPRecipientsRefused`" #: ../Doc/library/smtplib.rst:471 msgid "" @@ -643,33 +654,38 @@ msgstr "" #: ../Doc/library/smtplib.rst:480 msgid "The server didn't accept the *from_addr*." -msgstr "" +msgstr "El servidor no aceptó el *from_addr*." #: ../Doc/library/smtplib.rst:484 msgid ":exc:`SMTPDataError`" -msgstr "" +msgstr ":exc:`SMTPDataError`" #: ../Doc/library/smtplib.rst:483 msgid "" "The server replied with an unexpected error code (other than a refusal of a " "recipient)." msgstr "" +"El servidor respondió con un código de error inesperado (que no sea el " +"rechazo de un destinatario)." #: ../Doc/library/smtplib.rst:487 msgid "" "``SMTPUTF8`` was given in the *mail_options* but is not supported by the " "server." msgstr "" +"Se proporcionó ``SMTPUTF8`` en *mail_options* pero el servidor no lo admite." #: ../Doc/library/smtplib.rst:490 msgid "" "Unless otherwise noted, the connection will be open even after an exception " "is raised." msgstr "" +"A menos que se indique lo contrario, la conexión estará abierta incluso " +"después de que se lance una excepción." #: ../Doc/library/smtplib.rst:493 msgid "*msg* may be a byte string." -msgstr "" +msgstr "*msg* puede ser una cadena de bytes." #: ../Doc/library/smtplib.rst:496 msgid "" @@ -714,16 +730,29 @@ msgid "" "attribute set to ``True``, and ``SMTPUTF8`` and ``BODY=8BITMIME`` are added " "to *mail_options*." msgstr "" +"``send_message`` serializa *msg* usando :class:`~ email.generator." +"BytesGenerator` con``\\ r \\ n`` como *linesep*, y llama a :meth:`sendmail` " +"para transmitir el mensaje resultante. Independientemente de los valores de " +"*from_addr* y *to_addrs*, ``send_message`` no transmite ningún encabezado :" +"mailheader: `Bcc` o :mailheader:`Resent-Bcc` que puedan aparecer en *msg*. " +"Si alguna de las direcciones en *from_addr* y *to_addrs* contiene caracteres " +"que no son ASCII y el servidor no anuncia la compatibilidad con " +"``SMTPUTF8``, se lanza un error :exc:`SMTPNotSupported`. De lo contrario, " +"el ``Message`` se serializa con un clon de su :mod: `~ email.policy` con el " +"atributo :attr:` ~ email.policy.EmailPolicy.utf8` establecido en ``True`` y " +"``SMTPUTF8`` y ``BODY=8BITMIME`` se agregan a *mail_options*." #: ../Doc/library/smtplib.rst:535 msgid "Support for internationalized addresses (``SMTPUTF8``)." -msgstr "" +msgstr "Soporte para direcciones internacionalizadas (``SMTPUTF8``)." #: ../Doc/library/smtplib.rst:541 msgid "" "Terminate the SMTP session and close the connection. Return the result of " "the SMTP ``QUIT`` command." msgstr "" +"Termine la sesión SMTP y cierre la conexión. Devuelve el resultado del " +"comando SMTP ``QUIT``." #: ../Doc/library/smtplib.rst:545 msgid "" @@ -732,6 +761,11 @@ msgid "" "supported. Normally these do not need to be called directly, so they are not " "documented here. For details, consult the module code." msgstr "" +"Los métodos de bajo nivel correspondientes a los comandos estándar SMTP/" +"ESMTP ```HELP``, ``RSET``, ``NOOP``, ``MAIL``, ``RCPT``, y ``DATA`` también " +"están soportados. Normalmente, no es necesario llamarlos directamente, por " +"lo que no se documentan aquí. Para más detalles, consulte el código del " +"módulo." #: ../Doc/library/smtplib.rst:554 msgid "SMTP Example" @@ -746,6 +780,12 @@ msgid "" "In particular, the 'To' and 'From' addresses must be included in the message " "headers explicitly. ::" msgstr "" +"Este ejemplo solicita al usuario las direcciones necesarias en el sobre del " +"mensaje (direcciones 'To' y 'From' ) y el mensaje que se entregará. Tenga " +"en cuenta que los encabezados que se incluirán con el mensaje deben " +"incluirse en el mensaje tal y como se introdujeron; este ejemplo no procesa " +"los encabezados :rfc:`822` . En particular, las direcciones 'To' y 'From " +"deben incluirse explícitamente en los encabezados de los mensajes. ::" #: ../Doc/library/smtplib.rst:592 msgid "" @@ -753,3 +793,6 @@ msgid "" "construct an email message, which you can then send via :meth:`~smtplib.SMTP." "send_message`; see :ref:`email-examples`." msgstr "" +"En general, querrá usar las características del paquete :mod:`email` para " +"construir un mensaje de correo electrónico, que luego puede enviar a través " +"de :meth:`~smtplib.SMTP.send_message`; ver :ref:`email-examples`." From 7172e065e29d9f0821edf2c16c9c13224764e2fd Mon Sep 17 00:00:00 2001 From: Emmanuel Arias Date: Mon, 14 Dec 2020 11:59:10 -0300 Subject: [PATCH 076/153] Fix fuzzy comments (#1170) --- library/asyncio-task.po | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index ba15056003..211025f6b8 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-25 18:11-0300\n" +"PO-Revision-Date: 2020-12-12 14:25-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Alcides Rivarola\n" +"Last-Translator: Emmanuel Arias \n" "Language: es\n" "X-Generator: Poedit 2.4.2\n" @@ -1037,9 +1037,7 @@ msgstr "Los marcos siempre se ordenan de más antiguo a más nuevo." msgid "Only one stack frame is returned for a suspended coroutine." msgstr "Solo se retorna un marco de pila para una corrutina suspendida." -# No se muy bien como se traduciría traceback. Podría ser seguimiento #: ../Doc/library/asyncio-task.rst:851 -#, fuzzy msgid "" "The optional *limit* argument sets the maximum number of frames to return; " "by default all available frames are returned. The ordering of the returned " @@ -1050,9 +1048,9 @@ msgstr "" "El argumento opcional *limit* establece el número máximo de marcos que se " "retornarán; de forma predeterminada se retornan todos los marcos " "disponibles. El orden de la lista devuelta varía en función de si se retorna " -"una pila o un traceback: se devuelven los marcos más recientes de una pila, " -"pero se devuelven los marcos más antiguos de un traceback. (Esto coincide " -"con el comportamiento del módulo traceback.)" +"una pila o un *traceback*: se devuelven los marcos más recientes de una " +"pila, pero se devuelven los marcos más antiguos de un *traceback*. (Esto " +"coincide con el comportamiento del módulo traceback.)ss" #: ../Doc/library/asyncio-task.rst:860 msgid "Print the stack or traceback for this Task." @@ -1190,15 +1188,13 @@ msgstr "" msgid "Decorator to mark generator-based coroutines." msgstr "Decorador para marcar corrutinas basadas en generadores." -# No sé si legacy está bien traducido dado el contexto #: ../Doc/library/asyncio-task.rst:947 -#, fuzzy msgid "" "This decorator enables legacy generator-based coroutines to be compatible " "with async/await code::" msgstr "" -"Este decorador permite que las corrutinas basadas en generadores heredados " -"sean compatibles con el código async/await::" +"Este decorador permite que las corrutinas basadas en generadores de " +"versiones anteriores (*legacy*) sean compatibles con el código async/await::" #: ../Doc/library/asyncio-task.rst:957 msgid "This decorator should not be used for :keyword:`async def` coroutines." From a8c18c9f5c158d4f2b773915ebaf50b089015de0 Mon Sep 17 00:00:00 2001 From: Emmanuel Arias Date: Mon, 14 Dec 2020 12:01:51 -0300 Subject: [PATCH 077/153] Uso de pahlib en conf.py (#1171) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Este PR busco de alguna manera reemplazar el uso de os.walk con pathlib.glob(). Esto desde mi punto de vista simplifica en cierto grado el entendimiento del código. --- conf.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/conf.py b/conf.py index 4b6fce0378..8ecc6c9d56 100644 --- a/conf.py +++ b/conf.py @@ -47,19 +47,15 @@ if not os.environ.get('SPHINX_GETTEXT') == 'True': # Override all the files from ``.overrides`` directory - import glob - for root, dirs, files in os.walk('.overrides'): - for fname in files: - if fname == 'README.rst' and root == '.overrides': - continue - destroot = root.replace('.overrides', '').lstrip('/') - outputdir = os.path.join( - 'cpython', - 'Doc', - destroot, - fname, - ) - os.system(f'ln -nfs `pwd`/{root}/{fname} {outputdir}') + from pathlib import Path + overrides_paths = Path('.overrides') + + for path in overrides_paths.glob('**/*.*'): + if path.name == 'README.rst' and path.parent == '.overrides': + continue + destroot = str(path.parent).replace('.overrides', '').lstrip('/') + outputdir = Path('cpython/Doc') / destroot / path.name + os.system(f'ln -nfs `pwd`/{path.parent}/{path.name} {outputdir}') gettext_compact = False locale_dirs = ['../locales', 'cpython/locales'] # relative to the sourcedir From b555cee62efda2ade093a47769ad879ae5595dfe Mon Sep 17 00:00:00 2001 From: Yennifer Paola Herrera Ariza Date: Mon, 14 Dec 2020 10:38:36 -0500 Subject: [PATCH 078/153] =?UTF-8?q?Traducci=C3=B3n=20archivo=20'library/em?= =?UTF-8?q?ail.contentmanager.po'=20(#1167)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/email.contentmanager.po | 147 ++++++++++++++++++++++++++++---- 1 file changed, 131 insertions(+), 16 deletions(-) diff --git a/library/email.contentmanager.po b/library/email.contentmanager.po index 37f54bb43d..a7dec96601 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -1,33 +1,35 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-12 11:22-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/email.contentmanager.rst:2 msgid ":mod:`email.contentmanager`: Managing MIME Content" -msgstr "" +msgstr ":mod:`email.contentmanager`: Gestión de contenido MIME" #: ../Doc/library/email.contentmanager.rst:10 msgid "**Source code:** :source:`Lib/email/contentmanager.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/email/contentmanager.py`" #: ../Doc/library/email.contentmanager.rst:14 msgid "[1]_" -msgstr "" +msgstr "[1]_" #: ../Doc/library/email.contentmanager.rst:19 msgid "" @@ -35,6 +37,10 @@ msgid "" "to register converters between MIME content and other representations, as " "well as the ``get_content`` and ``set_content`` dispatch methods." msgstr "" +"Clase base para gestores de contenido. Proporciona los mecanismos de " +"registro estándar para registrar convertidores entre contenido MIME y otras " +"representaciones, así como los métodos de envío ``get_content`` y " +"``set_content``." #: ../Doc/library/email.contentmanager.rst:26 msgid "" @@ -43,30 +49,39 @@ msgid "" "the call. The expectation is that the handler will extract the payload from " "*msg* and return an object that encodes information about the extracted data." msgstr "" +"Busca una función de controlador basada en el ``mimetype`` de *msg* (ver el " +"siguiente párrafo), la llama, le pasa todos los argumentos y retorna el " +"resultado de la llamada. La expectativa es que el controlador extraiga la " +"carga útil de *msg* y retorne un objeto que codifica información sobre los " +"datos extraídos." #: ../Doc/library/email.contentmanager.rst:32 msgid "" "To find the handler, look for the following keys in the registry, stopping " "with the first one found:" msgstr "" +"Para encontrar el controlador, busca las siguientes llaves en el registro, " +"deteniéndose con la primera que encuentre:" #: ../Doc/library/email.contentmanager.rst:35 msgid "the string representing the full MIME type (``maintype/subtype``)" -msgstr "" +msgstr "la cadena que representa el tipo MIME completo (``maintype/subtype``)" #: ../Doc/library/email.contentmanager.rst:36 msgid "the string representing the ``maintype``" -msgstr "" +msgstr "la cadena de caracteres que representa el ``maintype``" #: ../Doc/library/email.contentmanager.rst:37 msgid "the empty string" -msgstr "" +msgstr "la cadena de caracteres vacía" #: ../Doc/library/email.contentmanager.rst:39 msgid "" "If none of these keys produce a handler, raise a :exc:`KeyError` for the " "full MIME type." msgstr "" +"Si ninguna de estas llaves produce un controlador, se lanza una excepción :" +"exc:`KeyError` para el tipo MIME completo." #: ../Doc/library/email.contentmanager.rst:45 msgid "" @@ -78,6 +93,14 @@ msgid "" "making other changes to *msg* as well, such as adding various MIME headers " "to encode information needed to interpret the stored data." msgstr "" +"Si el ``maintype`` es ``multipart``, se lanza un :exc:`TypeError`; de lo " +"contrario, busca una función de controlador basada en el tipo de *obj* (ver " +"el siguiente párrafo), llama a :meth:`~email.message.EmailMessage." +"clear_content` en el *msg* y llama a la función de controlador, pasando " +"todos los argumentos. La expectativa es que el controlador transforme y " +"almacene *obj* en *msg*, posiblemente realizando otros cambios a *msg* " +"también, como agregar varios encabezados MIME para codificar la información " +"necesaria para interpretar los datos almacenados." #: ../Doc/library/email.contentmanager.rst:54 msgid "" @@ -85,24 +108,29 @@ msgid "" "look for the following keys in the registry, stopping with the first one " "found:" msgstr "" +"Para encontrar el controlador, obtiene el tipo de *obj* (``typ = " +"type(obj)``), y busca las siguientes llaves en el registro, deteniéndose con " +"la primera encontrada:" #: ../Doc/library/email.contentmanager.rst:58 msgid "the type itself (``typ``)" -msgstr "" +msgstr "el tipo en sí (``typ``)" #: ../Doc/library/email.contentmanager.rst:59 msgid "" "the type's fully qualified name (``typ.__module__ + '.' + typ." "__qualname__``)." msgstr "" +"el nombre completo de calificación del tipo (``typ.__module__ + '.' + typ." +"__qualname__``)." #: ../Doc/library/email.contentmanager.rst:61 msgid "the type's qualname (``typ.__qualname__``)" -msgstr "" +msgstr "el nombre de calificación del tipo (``typ.__qualname__``)" #: ../Doc/library/email.contentmanager.rst:62 msgid "the type's name (``typ.__name__``)." -msgstr "" +msgstr "el nombre del tipo (``typ.__name__``)." #: ../Doc/library/email.contentmanager.rst:64 msgid "" @@ -112,18 +140,27 @@ msgid "" "for ``None``, raise a :exc:`KeyError` for the fully qualified name of the " "type." msgstr "" +"Si ninguno de los anteriores coincide, repite todas las comprobaciones " +"anteriores para cada uno de los tipos en el :term:`MRO` (``typ.__mro__``). " +"Finalmente, si ninguna otra llave produce un controlador, busca un " +"controlador para la llave ``None``. Si no hay un controlador para ``None``, " +"lanza un :exc:`KeyError` para el nombre completo de calificación del tipo." #: ../Doc/library/email.contentmanager.rst:70 msgid "" "Also add a :mailheader:`MIME-Version` header if one is not present (see " "also :class:`.MIMEPart`)." msgstr "" +"También agrega un encabezado :mailheader:`MIME-Version` si no hay uno " +"presente (vea también :class:`.MIMEPart`)." #: ../Doc/library/email.contentmanager.rst:76 msgid "" "Record the function *handler* as the handler for *key*. For the possible " "values of *key*, see :meth:`get_content`." msgstr "" +"Registra el *handler* de funciones como el manejador de *key*. Para los " +"posibles valores de *key*, consulte :meth:`get_content`." #: ../Doc/library/email.contentmanager.rst:82 msgid "" @@ -131,10 +168,13 @@ msgid "" "*typekey* is passed to :meth:`set_content`. For the possible values of " "*typekey*, see :meth:`set_content`." msgstr "" +"Registra el *handler* como la función a llamar cuando un objeto de un tipo " +"coincidente *typekey* se pasa a :meth:`set_content`. Para los posibles " +"valores de *typekey*, consulte :meth:`set_content`." #: ../Doc/library/email.contentmanager.rst:88 msgid "Content Manager Instances" -msgstr "" +msgstr "Instancias gestoras de contenido" #: ../Doc/library/email.contentmanager.rst:90 msgid "" @@ -143,6 +183,11 @@ msgid "" "`raw_data_manager` is the :attr:`~email.policy.EmailPolicy.content_manager` " "provided by :attr:`~email.policy.EmailPolicy` and its derivatives." msgstr "" +"Actualmente, el paquete de correo electrónico solo proporciona un " +"administrador de contenido concreto, :data:`raw_data_manager`, aunque en el " +"futuro se pueden agregar más. :data:`raw_data_manager` es el :attr:`~email." +"policy.EmailPolicy.content_manager` proporcionado por :attr:`~email.policy." +"EmailPolicy` y sus derivados." #: ../Doc/library/email.contentmanager.rst:99 msgid "" @@ -156,6 +201,16 @@ msgid "" "encoding, and it enables the use of the various ``add_`` methods, thereby " "simplifying the creation of multipart messages." msgstr "" +"Este administrador de contenido proporciona sólo una interfaz mínima más " +"allá de la proporcionada por :class:`~email.message.Message` en sí: trata " +"solo con texto, cadenas de bytes sin procesar, y objetos :class:`~email." +"message.Message`. Sin embargo, proporciona ventajas significativas en " +"comparación con la API base: ``get_content`` en una parte de texto retornará " +"una cadena de caracteres unicode sin que la aplicación tenga que " +"decodificarla manualmente, ``set_content`` proporciona un amplio conjunto de " +"opciones para controlar los encabezados añadidos a una parte y controlar la " +"codificación de transferencia de contenido, y permite el uso de los diversos " +"métodos ``add_``, simplificando así la creación de mensajes multiparte." #: ../Doc/library/email.contentmanager.rst:111 msgid "" @@ -166,27 +221,40 @@ msgid "" "*errors* is specified, use it as the error handler when decoding the payload " "to unicode. The default error handler is ``replace``." msgstr "" +"Retorna la carga útil de la parte como una cadena de caracteres (para partes " +"de ``text``), un objeto :class:`~email.message.EmailMessage` (para partes de " +"``message/rfc822``), o un objeto de ``bytes`` (para todos los demás tipos " +"que no son multiparte). Lanza un :exc:`KeyError` si se llama en un " +"``multipart``. Si la parte es una parte de ``text`` y se especifica " +"*errors*, se usa como el controlador de errores al decodificar la carga útil " +"a unicode. El controlador de errores predeterminado es ``replace``." #: ../Doc/library/email.contentmanager.rst:130 msgid "Add headers and payload to *msg*:" -msgstr "" +msgstr "Añade cabeceras y carga útil al *msg*:" #: ../Doc/library/email.contentmanager.rst:132 msgid "" "Add a :mailheader:`Content-Type` header with a ``maintype/subtype`` value." msgstr "" +"Añade un encabezado :mailheader:`Content-Type` con un valor ``maintype/" +"subtype``." #: ../Doc/library/email.contentmanager.rst:135 msgid "" "For ``str``, set the MIME ``maintype`` to ``text``, and set the subtype to " "*subtype* if it is specified, or ``plain`` if it is not." msgstr "" +"Para ``str``, establece el ``maintype`` de MIME en ``text``, y establece el " +"subtipo en *subtype* si se especifica, o ``plain`` si no está presente." #: ../Doc/library/email.contentmanager.rst:137 msgid "" "For ``bytes``, use the specified *maintype* and *subtype*, or raise a :exc:" "`TypeError` if they are not specified." msgstr "" +"Para ``bytes``, usa el *maintype* y *subtype* especificados, o lanza un :exc:" +"`TypeError` si no se especifican." #: ../Doc/library/email.contentmanager.rst:139 msgid "" @@ -195,6 +263,11 @@ msgid "" "``rfc822`` if it is not. If *subtype* is ``partial``, raise an error " "(``bytes`` objects must be used to construct ``message/partial`` parts)." msgstr "" +"Para objetos :class:`~email.message.EmailMessage`, establece el *maintype* " +"en ``message``, y establece el *subtype* en *subtype* si se especifica o " +"``rfc822`` si no se especifica. Si *subtype* es ``partial``, se lanza un " +"error (los objetos de ``bytes`` deben usarse para construir partes ``message/" +"partial``)." #: ../Doc/library/email.contentmanager.rst:145 msgid "" @@ -203,6 +276,11 @@ msgid "" "``utf-8``. If the specified *charset* is a known alias for a standard MIME " "charset name, use the standard charset instead." msgstr "" +"Si se proporciona *charset* (lo cual solo es válido para ``str``), codifica " +"la cadena de caracteres en bytes utilizando el conjunto de caracteres " +"especificado. El valor por defecto es ``utf-8``. Si el *charset* " +"especificado es un alias conocido del nombre de un conjunto de caracteres " +"del estándar MIME, utiliza el conjunto de caracteres estándar en su lugar." #: ../Doc/library/email.contentmanager.rst:150 msgid "" @@ -213,12 +291,21 @@ msgid "" "specified encoding (for example, specifying a *cte* of ``7bit`` for an input " "that contains non-ASCII values), raise a :exc:`ValueError`." msgstr "" +"Si se establece *cte*, codifica la carga útil mediante la codificación de " +"transferencia de contenido especificada y establece el encabezado :" +"mailheader:`Content-Transfer-Encoding` en ese valor. Los valores posibles " +"para *cte* son ``quoted-printable``, ``base64``, ``7bit``, ``8bit``, y " +"``binary``. Si la entrada no se puede codificar en la codificación " +"especificada (por ejemplo, especificando un *cte* de ``7bit`` para una " +"entrada que contiene valores no ASCII), se lanza un :exc:`ValueError`." #: ../Doc/library/email.contentmanager.rst:158 msgid "" "For ``str`` objects, if *cte* is not set use heuristics to determine the " "most compact encoding." msgstr "" +"Para objetos ``str``, si *cte* no está configurado, se usa la heurística " +"para determinar la codificación más compacta." #: ../Doc/library/email.contentmanager.rst:160 msgid "" @@ -228,6 +315,12 @@ msgid "" "body``. For ``message/rfc822``, use ``8bit`` if *cte* is not specified. " "For all other values of *subtype*, use ``7bit``." msgstr "" +"Para :class:`~email.message.EmailMessage`, según :rfc:`2046`, se lanza un " +"error si se solicita un *cte* de ``quoted-printable`` o ``base64`` para el " +"*subtype* ``rfc822``, y para cualquier *cte* que no sea ``7bit`` para el " +"*subtype* ``external-body``. Para ``message/rfc822``, se usa ``8bit`` si no " +"se especifica *cte*. Para todos los demás valores de *subtype*, se usa " +"``7bit``." #: ../Doc/library/email.contentmanager.rst:167 msgid "" @@ -235,6 +328,9 @@ msgid "" "``EmailMessage`` object as modified by ``set_content`` is correct, but :" "class:`~email.generator.BytesGenerator` does not serialize it correctly." msgstr "" +"Un *cte* de ``binary`` todavía no funciona correctamente. El objeto " +"``EmailMessage`` modificado por ``set_content`` es correcto, pero :class:" +"`~email.generator.BytesGenerator` no lo serializa correctamente." #: ../Doc/library/email.contentmanager.rst:172 msgid "" @@ -244,18 +340,28 @@ msgid "" "*filename* is also not specified, do not add the header. The only valid " "values for *disposition* are ``attachment`` and ``inline``." msgstr "" +"Si se establece *disposición*, se usa como valor del encabezado :mailheader:" +"`Content-Disposition`. Si no se especifica y se especifica *filename*, " +"agrega el encabezado con el valor ``attachment``. Si no se especifica " +"*disposition* y tampoco se especifica *filename*, no agrega el encabezado. " +"Los únicos valores válidos para *disposition* son ``attachment`` e " +"``inline``." #: ../Doc/library/email.contentmanager.rst:179 msgid "" "If *filename* is specified, use it as the value of the ``filename`` " "parameter of the :mailheader:`Content-Disposition` header." msgstr "" +"Si se especifica el *filename*, se usa como el valor del parámetro " +"``filename`` del encabezado :mailheader:`Content-Disposition`." #: ../Doc/library/email.contentmanager.rst:182 msgid "" "If *cid* is specified, add a :mailheader:`Content-ID` header with *cid* as " "its value." msgstr "" +"Si se especifica *cid*, agrega un encabezado :mailheader:`Content-ID` con " +"valor *cid*." #: ../Doc/library/email.contentmanager.rst:185 msgid "" @@ -263,6 +369,9 @@ msgid "" "``(key, value)`` pairs to set additional parameters on the :mailheader:" "`Content-Type` header." msgstr "" +"Si se especifica *params*, itera su método ``items`` y use los pares " +"resultantes ``(key, value)`` para establecer parámetros adicionales en el " +"encabezado :mailheader:`Content-Type`." #: ../Doc/library/email.contentmanager.rst:189 msgid "" @@ -270,12 +379,18 @@ msgid "" "headervalue`` or a list of ``header`` objects (distinguished from strings by " "having a ``name`` attribute), add the headers to *msg*." msgstr "" +"Si se especifica *headers* y es una lista de cadenas de caracteres de la " +"forma ``headername: headervalue`` o una lista de objetos ``header`` (que se " +"distinguen de las cadenas de caracteres por tener un atributo ``name``), " +"agrega los encabezados a *msg*." #: ../Doc/library/email.contentmanager.rst:196 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie de página" #: ../Doc/library/email.contentmanager.rst:197 msgid "" "Originally added in 3.4 as a :term:`provisional module `" msgstr "" +"Originalmente añadido en la versión 3.4 como un :term:`módulo provisional " +"`" From 04d39c1b1f5265eec6f19a7fde7fbb72f18f2594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Fri, 18 Dec 2020 10:49:49 +0100 Subject: [PATCH 079/153] Migrar CI de TravisCI a Github Actions (#1158) * Migrar CI de TravisCI a Github Actions * Actualizado CI con nuevo script 'create_dict.py'. * Crear falso '.travis.yml' * Eliminar '.travis.yml' * Lanzamiento manual * Vuelta al lanzamiento desde ramas --- .github/workflows/main.yml | 38 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 19 ------------------- 2 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/main.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..4b85fd9c1d --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,38 @@ +name: Test + +on: + push: + branches: + - 3.* + pull_request: + +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Preparar Python v3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Sincronizar con CPython + run: | + git submodule sync + git submodule update --init --force cpython + - name: Instalar dependencias + run: | + sudo apt-get update + sudo apt-get install -y hunspell hunspell-es gettext + python -m pip install -r requirements.txt + pip list + pospell --version + powrap --version + - name: Powrap + run: powrap --check --quiet **/*.po + - name: Pospell + run: | + python scripts/create_dict.py + pospell -p dict.txt -l es_AR -l es_ES **/*.po + - name: Construir documentación + run: PYTHONWARNINGS=ignore::FutureWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index caef7bfecb..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: python -dist: bionic -python: 3.8 -before_install: - - sudo apt-get update - - sudo apt-get install -y hunspell hunspell-es -install: - - make setup - - pospell --version - - powrap --version -script: - - powrap --check --quiet **/*.po - - python scripts/create_dict.py - - pospell -p dict.txt -l es_AR -l es_ES **/*.po - - pip install -q -r requirements.txt - - PYTHONWARNINGS=ignore::FutureWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html -branches: - only: - - /^3\.\d$/ From 1d80b9ee002d2fd18b02b386391afdfedf9d2203 Mon Sep 17 00:00:00 2001 From: Victor Carlos Date: Sat, 19 Dec 2020 04:55:44 -0600 Subject: [PATCH 080/153] Traduce `library/debug.po` (#1163) --- TRANSLATORS | 1 + library/debug.po | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 43e4b740c7..5ba857a379 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -122,3 +122,4 @@ Jaume Montané (@jaumemy) Endika Gil (@endikagil) Federico Zuccolo (@fzuccolo) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) +Victor Carlos (@tuxtitlan) diff --git a/library/debug.po b/library/debug.po index 926dabd1d4..1d50b1c53c 100644 --- a/library/debug.po +++ b/library/debug.po @@ -6,23 +6,24 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-02 01:34-0600\n" +"Last-Translator: Victor Carlos \n" "Language-Team: python-doc-es\n" +"Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/debug.rst:3 msgid "Debugging and Profiling" -msgstr "" +msgstr "Depuración y perfilado" #: ../Doc/library/debug.rst:5 msgid "" @@ -33,3 +34,10 @@ msgid "" "provide visibility into runtime behaviors that would otherwise require " "intrusive debugging or patching." msgstr "" +"Estas bibliotecas le ayudan con el desarrollo de Python: el depurador le " +"permite recorrer paso a paso el código, analizar marcos de pila y establecer " +"puntos de interrupción, etc., y los perfiladores ejecutan código y le " +"proporcionan un desglose detallado de los tiempos de ejecución, lo que le " +"permite identificar cuellos de botella en sus programas. Los eventos de " +"auditoría proporcionan visibilidad de los comportamientos en tiempo de " +"ejecución que, de lo contrario, requerirían depuración o parches intrusivos." From 208236e7c1cda49566e2d063a506e7f105bb9c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 19 Dec 2020 12:08:56 +0100 Subject: [PATCH 081/153] Dejar solo es_ES como diccionario (#960) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Dejar solo es_ES como diccionario Actualmente 'make spell' verifica todo localmente utilizando solo el diccionario es_ES, pero en la configuración de travis, estamos usando también es_AR. Para tener consistencia, sugiero que sería mejor dejar solo es_ES por defecto en ambos lados y aceptar las variaciones del lenguaje para cada pais mediante los diccionarios de cada archivo. --- .pre-commit-config.yaml | 2 +- dictionaries/tutorial_classes.txt | 8 ++++++++ dictionaries/tutorial_datastructures.txt | 2 ++ dictionaries/tutorial_floatingpoint.txt | 7 +++++++ dictionaries/tutorial_inputoutput.txt | 6 ++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 dictionaries/tutorial_classes.txt create mode 100644 dictionaries/tutorial_datastructures.txt create mode 100644 dictionaries/tutorial_floatingpoint.txt create mode 100644 dictionaries/tutorial_inputoutput.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c7efaa4324..72807d02b4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,4 +14,4 @@ repos: rev: v1.0.5 hooks: - id: pospell - args: ['--personal-dict', 'dict.txt', '--modified', '--language', 'es_ES', '--language', 'es_AR'] + args: ['--personal-dict', 'dict.txt', '--modified', '--language', 'es_ES'] diff --git a/dictionaries/tutorial_classes.txt b/dictionaries/tutorial_classes.txt new file mode 100644 index 0000000000..b0b24ba265 --- /dev/null +++ b/dictionaries/tutorial_classes.txt @@ -0,0 +1,8 @@ +sorpresivo +necesitás +Notá +Hacé +Debés +Observá +Fijate +llamás diff --git a/dictionaries/tutorial_datastructures.txt b/dictionaries/tutorial_datastructures.txt new file mode 100644 index 0000000000..db9aa71b48 --- /dev/null +++ b/dictionaries/tutorial_datastructures.txt @@ -0,0 +1,2 @@ +Considerá +usás diff --git a/dictionaries/tutorial_floatingpoint.txt b/dictionaries/tutorial_floatingpoint.txt new file mode 100644 index 0000000000..f745df91c1 --- /dev/null +++ b/dictionaries/tutorial_floatingpoint.txt @@ -0,0 +1,7 @@ +ingresás +Frená +recordá +esperás +mostrás +redondeás +probá diff --git a/dictionaries/tutorial_inputoutput.txt b/dictionaries/tutorial_inputoutput.txt new file mode 100644 index 0000000000..92b8ed842d --- /dev/null +++ b/dictionaries/tutorial_inputoutput.txt @@ -0,0 +1,6 @@ +Mirá +mirá +querés +tenés +Asegurate +consultá From 5debc1ac20590287ee665ba7a3833dc26221d560 Mon Sep 17 00:00:00 2001 From: Gibran Herrera <61842675+GibranHL0@users.noreply.github.com> Date: Sat, 19 Dec 2020 05:09:46 -0600 Subject: [PATCH 082/153] Traducido archivo library/superseded (#1154) --- TRANSLATORS | 3 ++- library/superseded.po | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 5ba857a379..35443ab17a 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -121,5 +121,6 @@ Enrique Zárate (@enrique-zarate) Jaume Montané (@jaumemy) Endika Gil (@endikagil) Federico Zuccolo (@fzuccolo) +Gibran Herrera (@gibranhl) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) -Victor Carlos (@tuxtitlan) +Victor Carlos (@tuxtitlan) \ No newline at end of file diff --git a/library/superseded.po b/library/superseded.po index d7e71b3e61..9185de29f8 100644 --- a/library/superseded.po +++ b/library/superseded.po @@ -1,28 +1,33 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-05 23:47-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/superseded.rst:5 msgid "Superseded Modules" -msgstr "" +msgstr "Módulos Reemplazados" #: ../Doc/library/superseded.rst:7 msgid "" "The modules described in this chapter are deprecated and only kept for " "backwards compatibility. They have been superseded by other modules." msgstr "" +"Los módulos descritos en este capítulo se encuentran obsoletos, y sólo se " +"conservan por compatibilidad con versiones anteriores. Han sido reemplazados " +"por otros módulos." From 77c4db346962ce35d7b7d74e9c6f7c2f40f7abf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Sat, 19 Dec 2020 16:38:44 +0100 Subject: [PATCH 083/153] =?UTF-8?q?Dejar=20s=C3=B3lo=20diccionario=20ES=20?= =?UTF-8?q?en=20CI=20(#1172)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b85fd9c1d..55d3a879a3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,6 +33,6 @@ jobs: - name: Pospell run: | python scripts/create_dict.py - pospell -p dict.txt -l es_AR -l es_ES **/*.po + pospell -p dict.txt -l es_ES **/*.po - name: Construir documentación run: PYTHONWARNINGS=ignore::FutureWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html From 8731fef93396ac949d5f304a78394865e37af6aa Mon Sep 17 00:00:00 2001 From: Andres Bermeo Date: Sat, 19 Dec 2020 11:10:04 -0500 Subject: [PATCH 084/153] Traducido whatsnew/3.7.po (#1048) --- whatsnew/3.7.po | 1859 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 1690 insertions(+), 169 deletions(-) diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 1853365668..c72e0ee124 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.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: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-12 05:44-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es_EC\n" +"X-Generator: Poedit 2.4.1\n" +"X-Poedit-Bookmarks: 26,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/whatsnew/3.7.rst:3 msgid "What's New In Python 3.7" -msgstr "" +msgstr "Que hay de nuevo en Python 3.7" #: ../Doc/whatsnew/3.7.rst msgid "Editor" -msgstr "" +msgstr "Editor" #: ../Doc/whatsnew/3.7.rst:5 msgid "Elvis Pranskevichus " -msgstr "" +msgstr "*Elvis Pranskevichus* " #: ../Doc/whatsnew/3.7.rst:47 msgid "" @@ -38,69 +41,83 @@ msgid "" "Python 3.7 was released on June 27, 2018. For full details, see the :ref:" "`changelog `." msgstr "" +"El artículo explica las nuevas características en Python 3.7, comparado con " +"3.6. Python 3.7 fue lanzado el 27, Junio, 2018. Para más detalles, consultar " +"la :ref:`changelog `." #: ../Doc/whatsnew/3.7.rst:53 msgid "Summary -- Release Highlights" -msgstr "" +msgstr "Resumen -- Lanzamientos Destacados" #: ../Doc/whatsnew/3.7.rst:58 msgid "New syntax features:" -msgstr "" +msgstr "Sintaxis de nuevas características:" #: ../Doc/whatsnew/3.7.rst:60 msgid "" ":ref:`PEP 563 `, postponed evaluation of type annotations." msgstr "" +":ref:`PEP 563 `, evaluación pospuesta de anotaciones de " +"tipo." #: ../Doc/whatsnew/3.7.rst:62 msgid "Backwards incompatible syntax changes:" -msgstr "" +msgstr "Cambios de sintaxis incompatibles hacia atrás:" #: ../Doc/whatsnew/3.7.rst:64 msgid ":keyword:`async` and :keyword:`await` are now reserved keywords." msgstr "" +":keyword:`async` y :keyword:`await` ahora son palabras clave reservadas." #: ../Doc/whatsnew/3.7.rst:66 msgid "New library modules:" -msgstr "" +msgstr "Nuevos módulos de biblioteca:" #: ../Doc/whatsnew/3.7.rst:68 msgid "" ":mod:`contextvars`: :ref:`PEP 567 -- Context Variables `" msgstr "" +":mod:`contextvars`: :ref:`PEP 567 -- Variables de Contexto `" #: ../Doc/whatsnew/3.7.rst:69 msgid ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes `" msgstr "" +":mod:`dataclasses`: :ref:`PEP 557 -- Clases de Datos `" #: ../Doc/whatsnew/3.7.rst:70 msgid ":ref:`whatsnew37_importlib_resources`" -msgstr "" +msgstr ":ref:`whatsnew37_importlib_resources`" #: ../Doc/whatsnew/3.7.rst:72 msgid "New built-in features:" -msgstr "" +msgstr "Nuevas funciones integradas:" #: ../Doc/whatsnew/3.7.rst:74 msgid "" ":ref:`PEP 553 `, the new :func:`breakpoint` function." msgstr "" +":ref:`PEP 553 `, la nueva función :func:`breakpoint`." #: ../Doc/whatsnew/3.7.rst:76 msgid "Python data model improvements:" -msgstr "" +msgstr "Mejoras en el modelo de datos de Python:" #: ../Doc/whatsnew/3.7.rst:78 msgid "" ":ref:`PEP 562 `, customization of access to module " "attributes." msgstr "" +":ref:`PEP 562 `, personalización del acceso a los " +"atributos del módulo." #: ../Doc/whatsnew/3.7.rst:81 msgid "" ":ref:`PEP 560 `, core support for typing module and " "generic types." msgstr "" +":ref:`PEP 560 `, soporte básico para módulo de " +"mecanografía y tipos genéricos." #: ../Doc/whatsnew/3.7.rst:84 msgid "" @@ -108,68 +125,82 @@ msgid "" "objects `has been declared`_ to be an official part of the Python language " "spec." msgstr "" +"la naturaleza de conservación del orden de inserción de objetos :ref:`dict " +"` `han sido declarado`_ para ser una parte oficial de la " +"especificación del lenguaje Python." #: ../Doc/whatsnew/3.7.rst:90 msgid "Significant improvements in the standard library:" -msgstr "" +msgstr "Mejoras significativas in la librería estándar:" #: ../Doc/whatsnew/3.7.rst:92 msgid "" "The :mod:`asyncio` module has received new features, significant :ref:" "`usability and performance improvements `." msgstr "" +"El modulo :mod:`asyncio` ha recibido nuevas funciones, significativas :ref:" +"`mejoras de usabilidad y rendimiento `." #: ../Doc/whatsnew/3.7.rst:95 msgid "" "The :mod:`time` module gained support for :ref:`functions with nanosecond " "resolution `." msgstr "" +"El modulo :mod:`time` adquirió soporte de :ref:`funciones con resolución de " +"nanosegundos `." #: ../Doc/whatsnew/3.7.rst:98 msgid "CPython implementation improvements:" -msgstr "" +msgstr "Mejoras en la implementación de CPython:" #: ../Doc/whatsnew/3.7.rst:100 msgid "Avoiding the use of ASCII as a default text encoding:" -msgstr "" +msgstr "Evitando el uso de ASCII como codificación de texto predeterminada:" #: ../Doc/whatsnew/3.7.rst:102 msgid ":ref:`PEP 538 `, legacy C locale coercion" msgstr "" +":ref:`PEP 538 `, coerción de configuración regional de C " +"heredada" #: ../Doc/whatsnew/3.7.rst:103 msgid ":ref:`PEP 540 `, forced UTF-8 runtime mode" msgstr "" +":ref:`PEP 540 `, modo de tiempo de ejecución UTF-8 forzado" #: ../Doc/whatsnew/3.7.rst:104 msgid ":ref:`PEP 552 `, deterministic .pycs" -msgstr "" +msgstr ":ref:`PEP 552 `, determinista *.pycs*" #: ../Doc/whatsnew/3.7.rst:105 msgid ":ref:`the new development runtime mode `" -msgstr "" +msgstr ":ref:`el nuevo modo de ejecución de desarrollo `" #: ../Doc/whatsnew/3.7.rst:106 msgid "" ":ref:`PEP 565 `, improved :exc:`DeprecationWarning` " "handling" msgstr "" +":ref:`PEP 565 `, manejo mejorado :exc:`DeprecationWarning`" #: ../Doc/whatsnew/3.7.rst:109 msgid "C API improvements:" -msgstr "" +msgstr "Mejoras en la API de C:" #: ../Doc/whatsnew/3.7.rst:111 msgid ":ref:`PEP 539 `, new C API for thread-local storage" msgstr "" +":ref:`PEP 539 `, nueva API de C para almacenamiento local " +"de subprocesos" #: ../Doc/whatsnew/3.7.rst:113 msgid "Documentation improvements:" -msgstr "" +msgstr "Mejoras de Documentación:" #: ../Doc/whatsnew/3.7.rst:115 msgid ":ref:`PEP 545 `, Python documentation translations" msgstr "" +":ref:`PEP 545 `, Traducción de documentación de Python" #: ../Doc/whatsnew/3.7.rst:116 msgid "" @@ -177,26 +208,34 @@ msgid "" "`French `_, and `Korean `_." msgstr "" +"Nuevas traducciones de documentación: `Japonés `_, `Francés `_, y `Coreano `_." #: ../Doc/whatsnew/3.7.rst:120 msgid "" "This release features notable performance improvements in many areas. The :" "ref:`whatsnew37-perf` section lists them in detail." msgstr "" +"Esta versión presenta notables mejoras de rendimiento en muchas áreas. La " +"sección :ref:`whatsnew37-perf` los enumera en detalle." #: ../Doc/whatsnew/3.7.rst:123 msgid "" "For a list of changes that may affect compatibility with previous Python " "releases please refer to the :ref:`porting-to-python-37` section." msgstr "" +"Para obtener una lista de cambios que pueden afectar la compatibilidad con " +"versiones anteriores de Python por favor consultar la sección :ref:`porting-" +"to-python-37`." #: ../Doc/whatsnew/3.7.rst:128 msgid "New Features" -msgstr "" +msgstr "Nuevas Características" #: ../Doc/whatsnew/3.7.rst:133 msgid "PEP 563: Postponed Evaluation of Annotations" -msgstr "" +msgstr "PEP 563: Evaluación pospuesta de anotaciones" #: ../Doc/whatsnew/3.7.rst:135 msgid "" @@ -204,18 +243,26 @@ msgid "" "with the functionality of annotations added in :pep:`3107` and refined " "further in :pep:`526`:" msgstr "" +"La llegada de las sugerencias de tipo en Python descubrió dos problemas de " +"usabilidad evidentes con la funcionalidad de las anotaciones agregadas en :" +"pep:`3107` y mas refinado en :pep:`526`:" #: ../Doc/whatsnew/3.7.rst:139 msgid "" "annotations could only use names which were already available in the current " "scope, in other words they didn't support forward references of any kind; and" msgstr "" +"las anotaciones solo podían usar nombres que ya estaban disponibles en el " +"alcance actual, en otras palabras, no admitían referencias futuras de ningún " +"tipo; y" #: ../Doc/whatsnew/3.7.rst:143 msgid "" "annotating source code had adverse effects on startup time of Python " "programs." msgstr "" +"anotar el código fuente tuvo efectos adversos en el tiempo de inicio de los " +"programas Python." #: ../Doc/whatsnew/3.7.rst:146 msgid "" @@ -228,34 +275,48 @@ msgid "" "(since short strings are interned by the interpreter) and make startup time " "faster." msgstr "" +"Ambos problemas se solucionan posponiendo la evaluación de anotaciones. En " +"lugar de compilar código que ejecuta expresiones en anotaciones en su " +"momento de definición, el compilador almacena la anotación en forma de " +"cadena equivalente al AST de la expresión en cuestión. Si es necesario, las " +"anotaciones se pueden resolver en tiempo de ejecución usando :func:`typing." +"get_type_hints`. En el común de los casos esto no es necesario, las " +"anotaciones son más fáciles de almacenar (dado que las cadenas cortas son " +"internadas por el intérprete.) y hacen que el tiempo de inicio sea mas " +"rápido." #: ../Doc/whatsnew/3.7.rst:155 msgid "" "Usability-wise, annotations now support forward references, making the " "following syntax valid::" msgstr "" +"En términos de usabilidad, las anotaciones ahora admiten referencias hacia " +"adelante, lo que hace que la siguiente sintaxis sea válida:" #: ../Doc/whatsnew/3.7.rst:169 msgid "" "Since this change breaks compatibility, the new behavior needs to be enabled " "on a per-module basis in Python 3.7 using a :mod:`__future__` import::" msgstr "" +"Dado que este cambio rompe la compatibilidad, el nuevo comportamiento debe " +"habilitarse por modulo en Python 3.7 usando una importación :mod:" +"`__future__`:" #: ../Doc/whatsnew/3.7.rst:174 msgid "It will become the default in Python 4.0." -msgstr "" +msgstr "Se convertirá en el predeterminado en Python 4.0." #: ../Doc/whatsnew/3.7.rst:178 msgid ":pep:`563` -- Postponed evaluation of annotations" -msgstr "" +msgstr ":pep:`563` -- Evaluación aplazada de anotaciones" #: ../Doc/whatsnew/3.7.rst:179 msgid "PEP written and implemented by Łukasz Langa." -msgstr "" +msgstr "PEP escrito y implementado por *Łukasz Langa*." #: ../Doc/whatsnew/3.7.rst:185 msgid "PEP 538: Legacy C Locale Coercion" -msgstr "" +msgstr "PEP 538: Coerción de configuración regional del Legado de C" #: ../Doc/whatsnew/3.7.rst:187 msgid "" @@ -264,6 +325,11 @@ msgid "" "assumption currently implied by the use of the default C or POSIX locale on " "non-Windows platforms." msgstr "" +"Un desafío continuo dentro de la serie Python 3 ha sido determinar una " +"estrategia predeterminada sensata para manejar el supuesto de codificación " +"de texto “ASCII de 7 bits” implícito actualmente en el uso de la " +"configuración regional C o POSIX predeterminada en plataformas que no son " +"Windows." #: ../Doc/whatsnew/3.7.rst:192 msgid "" @@ -275,12 +341,23 @@ msgid "" "`readline`) will assume the use of UTF-8 as the default text encoding, " "rather than ASCII." msgstr "" +":pep:`538` actualiza la interfaz de línea de comandos del intérprete " +"predeterminada para convertir automáticamente esa configuración regional en " +"una configuración regional basada en UTF-8 disponible, como se describe en " +"la documentación de la nueva variable de entorno :envvar:" +"`PYTHONCOERCECLOCALE`. Configurar automáticamente ``LC_CTYPE`` de esta " +"manera significa que tanto el intérprete central como las extensiones C que " +"reconocen la configuración regional (por ejemplo :mod:`readline`) asumirá el " +"uso de UTF-8 como codificación de texto predeterminada, en lugar de ASCII." #: ../Doc/whatsnew/3.7.rst:200 msgid "" "The platform support definition in :pep:`11` has also been updated to limit " "full text handling support to suitably configured non-ASCII based locales." msgstr "" +"La definición de soporte de plataforma en :pep:`11` también se ha " +"actualizado para limitar la compatibilidad con el manejo de texto completo a " +"configuraciones regionales no basadas en ASCII configuradas adecuadamente." #: ../Doc/whatsnew/3.7.rst:203 msgid "" @@ -290,6 +367,12 @@ msgid "" "UTF-8``, ``C.utf8``, and ``UTF-8``). The default error handler for :data:" "`~sys.stderr` continues to be ``backslashreplace``, regardless of locale." msgstr "" +"Como parte de este cambio, el controlador de errores predeterminado para :" +"data:`~sys.stdin` y :data:`~sys.stdout` es ahora ``surrogateescape`` (antes " +"que ``strict``) al usar cualquiera de las configuraciones regionales de " +"destino de coerción definidas (actualmente ``C.UTF-8``, ``C.utf8``, y " +"``UTF-8``). El controlador de errores predeterminado para :data:`~sys." +"stderr` continua siendo ``backslashreplace``, independientemente de local." #: ../Doc/whatsnew/3.7.rst:209 msgid "" @@ -300,6 +383,13 @@ msgid "" "runtime to emit a warning if the legacy C locale remains active when the " "core interpreter is initialized." msgstr "" +"La coerción local es silenciosa de forma predeterminada, pero para ayudar a " +"depurar problemas de integración potencialmente relacionados con la " +"configuración regional, advertencias explícitas (emitido directamente en :" +"data:`~sys.stderr`) se puede solicitar configurando " +"``PYTHONCOERCECLOCALE=warn``. Esta configuración también hará que el tiempo " +"de ejecución de Python emita una advertencia si la configuración regional C " +"heredada permanece activa cuando se inicializa el intérprete principal." #: ../Doc/whatsnew/3.7.rst:215 msgid "" @@ -311,24 +401,37 @@ msgid "" "target locale is available (as occurs on RHEL/CentOS 7, for example), Python " "3.7 also implements :ref:`whatsnew37-pep540`." msgstr "" +"Mientras la coerción local :pep:`538` tiene la ventaja de afectar también a " +"los módulos de extensión (como GNU ``readline``), así como procesos " +"secundarios (incluidos los que ejecutan aplicaciones que no son de Python y " +"versiones anteriores de Python), tiene la desventaja de requerir que esté " +"presente una ubicación de destino adecuada en el sistema en ejecución. Para " +"manejar mejor el caso en el que no hay una configuración regional de destino " +"adecuada disponible (como ocurre en RHEL / CentOS 7, por ejemplo), Python " +"3.7 también implementa :ref:`whatsnew37-pep540`." #: ../Doc/whatsnew/3.7.rst:225 msgid ":pep:`538` -- Coercing the legacy C locale to a UTF-8 based locale" msgstr "" +":pep:`538` -- Coaccionar la configuración regional C heredada a una " +"configuración regional basada en UTF-8" #: ../Doc/whatsnew/3.7.rst:226 msgid "PEP written and implemented by Nick Coghlan." -msgstr "" +msgstr "PEP escrito y implementado por *Nick Coghlan*." #: ../Doc/whatsnew/3.7.rst:232 msgid "PEP 540: Forced UTF-8 Runtime Mode" -msgstr "" +msgstr "PEP 540: Modo de tiempo de ejecución UTF-8 forzado" #: ../Doc/whatsnew/3.7.rst:234 msgid "" "The new :option:`-X` ``utf8`` command line option and :envvar:`PYTHONUTF8` " "environment variable can be used to enable the CPython *UTF-8 mode*." msgstr "" +"La nueva opción de lineas de comando :option:`-X` ``utf8`` y la variable de " +"entorno :envvar:`PYTHONUTF8` se puede utilizar para habilitar el modo " +"*CPython* *modo UTF-8*." #: ../Doc/whatsnew/3.7.rst:237 msgid "" @@ -336,6 +439,10 @@ msgid "" "encoding by default. The error handlers for :data:`sys.stdin` and :data:" "`sys.stdout` streams are set to ``surrogateescape``." msgstr "" +"Cuando está en modo UTF-8, CPython ignora la configuración regional y usa la " +"codificación UTF-8 de forma predeterminada. Los controladores de errores " +"para los flujos :data:`sys.stdin` y :data:`sys.stdout` se establecen en " +"``surrogateescape``." #: ../Doc/whatsnew/3.7.rst:241 msgid "" @@ -343,6 +450,9 @@ msgid "" "embedded Python interpreter without changing the locale settings of an " "embedding application." msgstr "" +"El modo UTF-8 forzado se puede usar para cambiar el comportamiento de manejo " +"de texto en un intérprete de Python integrado sin cambiar la configuración " +"regional de una aplicación de inserción." #: ../Doc/whatsnew/3.7.rst:245 msgid "" @@ -353,6 +463,14 @@ msgid "" "of Python. To reduce the risk of corrupting text data when communicating " "with such components, Python 3.7 also implements :ref:`whatsnew37-pep540`)." msgstr "" +"Mientras el modo UTF-8 :pep:`540` tiene la ventaja de funcionar " +"independientemente de las configuraciones regionales disponibles en el " +"sistema en ejecución, tiene la desventaja de no tener ningún efecto en los " +"módulos de extensión (como GNU ``readline``), procesos secundarios que " +"ejecutan aplicaciones que no son de Python y procesos secundarios que " +"ejecutan versiones anteriores de Python. Para reducir el riesgo de dañar los " +"datos de texto al comunicarse con dichos componentes, Python 3.7 también " +"implementa :ref:`whatsnew37-pep540`." #: ../Doc/whatsnew/3.7.rst:252 msgid "" @@ -361,24 +479,31 @@ msgid "" "based alternative (whether that failure is due to ``PYTHONCOERCECLOCALE=0`` " "being set, ``LC_ALL`` being set, or the lack of a suitable target locale)." msgstr "" +"El modo UTF-8 está habilitado de forma predeterminada cuando la " +"configuración regional es ``C`` o ``POSIX``, y la función de coerción local :" +"pep:`538` no lo cambia a una alternativa basada en UTF-8 (si ese fallo se " +"debe a que se ha establecido ``PYTHONCOERCECLOCALE=0``, ``LC_ALL`` se esta " +"configurando, o la falta de un lugar de destino adecuado)." #: ../Doc/whatsnew/3.7.rst:259 msgid ":pep:`540` -- Add a new UTF-8 mode" -msgstr "" +msgstr ":pep:`540` -- Agrega un nuevo modo UTF-8" #: ../Doc/whatsnew/3.7.rst:260 ../Doc/whatsnew/3.7.rst:362 msgid "PEP written and implemented by Victor Stinner" -msgstr "" +msgstr "PEP escrito y implementado por *Victor Stinner*" #: ../Doc/whatsnew/3.7.rst:266 msgid "PEP 553: Built-in ``breakpoint()``" -msgstr "" +msgstr "PEP 553: Incorporada en ``breakpoint()``" #: ../Doc/whatsnew/3.7.rst:268 msgid "" "Python 3.7 includes the new built-in :func:`breakpoint` function as an easy " "and consistent way to enter the Python debugger." msgstr "" +"Python 3.7 incluye la nueva función incorporada :func:`breakpoint` como una " +"forma fácil y consistente de ingresar al depurador de Python." #: ../Doc/whatsnew/3.7.rst:271 msgid "" @@ -389,18 +514,25 @@ msgid "" "`PYTHONBREAKPOINT` can be set to the callable of your debugger of choice. " "Set ``PYTHONBREAKPOINT=0`` to completely disable built-in ``breakpoint()``." msgstr "" +"Llamadas ``breakpoint()`` incorporadas en :func:`sys.breakpointhook`. Por " +"defecto, este último importa :mod:`pdb` y luego llama ``pdb.set_trace()``, " +"pero vinculando ``sys.breakpointhook()`` a la función de su elección, " +"``breakpoint()`` puede entrar en cualquier depurador. Adicionalmente, la " +"variable de entorno :envvar:`PYTHONBREAKPOINT` se puede configurar como el " +"depurador que elija. Configure ``PYTHONBREAKPOINT=0`` para deshabilitar " +"completamente el ``breakpoint()``." #: ../Doc/whatsnew/3.7.rst:281 msgid ":pep:`553` -- Built-in breakpoint()" -msgstr "" +msgstr ":pep:`553` -- Incorporada en *breakpoint()*" #: ../Doc/whatsnew/3.7.rst:282 msgid "PEP written and implemented by Barry Warsaw" -msgstr "" +msgstr "PEP escrito y implementado por *Barry Warsaw*" #: ../Doc/whatsnew/3.7.rst:288 msgid "PEP 539: New C API for Thread-Local Storage" -msgstr "" +msgstr "PEP 539: Nueva API C para almacenamiento local de subprocesos" #: ../Doc/whatsnew/3.7.rst:290 msgid "" @@ -410,6 +542,12 @@ msgid "" "not generally been a problem for officially-support platforms, but that is " "neither POSIX-compliant, nor portable in any practical sense." msgstr "" +"Mientras que Python proporciona una API C para soporte de almacenamiento " +"local de subprocesos; la existencia :ref:`Almacenamiento local de " +"subprocesos (TLS) API ` ha usado :c:type:`int` " +"para representar llaves TLS a través de todas las plataformas. En general, " +"esto no ha sido un problema para las plataformas de soporte oficial, pero no " +"es compatible con POSIX ni es portátil en ningún sentido práctico." #: ../Doc/whatsnew/3.7.rst:296 msgid "" @@ -422,6 +560,15 @@ msgid "" "build CPython on platforms where the native TLS key is defined in a way that " "cannot be safely cast to :c:type:`int`." msgstr "" +":pep:`539` cambio esto proporcionado un nuevo :ref:`Almacenamiento " +"especifico de subprocesos (TSS) API ` para " +"CPython que reemplaza el uso de la API de TLS existente dentro del " +"intérprete de CPython, mientras que desaprueba la API existente. La API de " +"TSS usa un nuevo tipo :c:type:`Py_tss_t` en lugar de :c:type:`int` para " +"representar llaves TSS — un tipo opaco cuya definición puede depender de la " +"implementación TLS subyacente. Por lo tanto, esto permitirá construir " +"CPython en plataformas dónde la clave TLS nativa está definida de una manera " +"que no se puede convertir de manera segura a :c:type:`int`." #: ../Doc/whatsnew/3.7.rst:305 msgid "" @@ -431,18 +578,27 @@ msgid "" "that the old API is not supported on platforms where it cannot be used " "reliably, and that no effort will be made to add such support." msgstr "" +"Tenga en cuenta que en las plataformas donde la clave TLS nativa se define " +"de una manera que no se puede convertir de forma segura a :c:type:`int`, " +"todas las funciones de la API TLS existente serán inactivas y devolverán el " +"error inmediatamente. Esto indica claramente que la API anterior no es " +"compatible con plataformas en las que no se puede usar de manera confiable y " +"que no se hará ningún esfuerzo para agregar dicha compatibilidad." #: ../Doc/whatsnew/3.7.rst:313 msgid ":pep:`539` -- A New C-API for Thread-Local Storage in CPython" msgstr "" +":pep:`539` -- Un nueva *API-C* para almacenamiento local de subprocesos en " +"*CPython*" #: ../Doc/whatsnew/3.7.rst:314 msgid "PEP written by Erik M. Bray; implementation by Masayuki Yamamoto." msgstr "" +"PEP escrito por *Erik M. Bray*; implementación por *Masayuki Yamamoto*." #: ../Doc/whatsnew/3.7.rst:320 msgid "PEP 562: Customization of Access to Module Attributes" -msgstr "" +msgstr "PEP 562: Personalización del acceso a los atributos del módulo" #: ../Doc/whatsnew/3.7.rst:322 msgid "" @@ -450,24 +606,29 @@ msgid "" "whenever a module attribute is otherwise not found. Defining :meth:" "`__dir__` on modules is now also allowed." msgstr "" +"Python 3.7 permite definir :meth:`__getattr__` en módulos y lo llamará " +"siempre que no se encuentre un atributo de módulo. Definir :meth:`__dir__` " +"en modules ahora también esta permitido." #: ../Doc/whatsnew/3.7.rst:326 msgid "" "A typical example of where this may be useful is module attribute " "deprecation and lazy loading." msgstr "" +"Un ejemplo típico de dónde esto puede ser útil es la desaprobación de los " +"atributos del módulo y la carga diferida." #: ../Doc/whatsnew/3.7.rst:331 msgid ":pep:`562` -- Module ``__getattr__`` and ``__dir__``" -msgstr "" +msgstr ":pep:`562` -- Módulo ``__getattr__`` y ``__dir__``" #: ../Doc/whatsnew/3.7.rst:332 ../Doc/whatsnew/3.7.rst:421 msgid "PEP written and implemented by Ivan Levkivskyi" -msgstr "" +msgstr "PEP escrito y implementado por *Ivan Levkivskyi*" #: ../Doc/whatsnew/3.7.rst:338 msgid "PEP 564: New Time Functions With Nanosecond Resolution" -msgstr "" +msgstr "PEP 564: Nuevas funciones de tiempo con resolución de nanosegundos" #: ../Doc/whatsnew/3.7.rst:340 msgid "" @@ -477,34 +638,41 @@ msgid "" "\"nanosecond\" variants of the existing timer functions to the :mod:`time` " "module:" msgstr "" +"La resolución de los relojes en los sistemas modernos puede exceder la " +"precisión limitada de un número de punto flotante devuelto por la función :" +"func:`time.time` y sus variantes. Para evitar la pérdida de precisión, :pep:" +"`564` agrega seis nuevas variantes de “nanosegundos” de las funciones de " +"temporizador existentes para el módulo :mod:`time`:" #: ../Doc/whatsnew/3.7.rst:346 ../Doc/whatsnew/3.7.rst:1446 msgid ":func:`time.clock_gettime_ns`" -msgstr "" +msgstr ":func:`time.clock_gettime_ns`" #: ../Doc/whatsnew/3.7.rst:347 ../Doc/whatsnew/3.7.rst:1447 msgid ":func:`time.clock_settime_ns`" -msgstr "" +msgstr ":func:`time.clock_settime_ns`" #: ../Doc/whatsnew/3.7.rst:348 ../Doc/whatsnew/3.7.rst:1448 msgid ":func:`time.monotonic_ns`" -msgstr "" +msgstr ":func:`time.monotonic_ns`" #: ../Doc/whatsnew/3.7.rst:349 ../Doc/whatsnew/3.7.rst:1449 msgid ":func:`time.perf_counter_ns`" -msgstr "" +msgstr ":func:`time.perf_counter_ns`" #: ../Doc/whatsnew/3.7.rst:350 ../Doc/whatsnew/3.7.rst:1450 msgid ":func:`time.process_time_ns`" -msgstr "" +msgstr ":func:`time.process_time_ns`" #: ../Doc/whatsnew/3.7.rst:351 ../Doc/whatsnew/3.7.rst:1451 msgid ":func:`time.time_ns`" -msgstr "" +msgstr ":func:`time.time_ns`" #: ../Doc/whatsnew/3.7.rst:353 msgid "The new functions return the number of nanoseconds as an integer value." msgstr "" +"Las nuevas funciones devuelven el número de nanosegundos como un valor " +"entero." #: ../Doc/whatsnew/3.7.rst:355 msgid "" @@ -513,14 +681,18 @@ msgid "" "func:`time.time_ns` is approximately 3 times better than that of :func:`time." "time`." msgstr "" +"`Mediciones `_ se muestra en Linux y Windows la resolución de :func:" +"`time.time_ns` es aproximadamente 3 veces mejor que el de :func:`time.time`." #: ../Doc/whatsnew/3.7.rst:361 msgid ":pep:`564` -- Add new time functions with nanosecond resolution" msgstr "" +":pep:`564` -- Agrega nuevas funciones de tiempo y resolución de nanosegundos" #: ../Doc/whatsnew/3.7.rst:368 msgid "PEP 565: Show DeprecationWarning in ``__main__``" -msgstr "" +msgstr "PEP 565: Mostrar *DeprecationWarning* en ``__main__``" #: ../Doc/whatsnew/3.7.rst:370 msgid "" @@ -532,12 +704,23 @@ msgid "" "APIs they use, but deprecation warnings triggered by imported application, " "library and framework modules will continue to be hidden by default." msgstr "" +"El manejo predeterminado de :exc:`DeprecationWarning` Se ha cambiado de modo " +"que estas advertencias se muestren una vez más de forma predeterminada, pero " +"solo cuando el código que las activa se ejecuta directamente en el módulo :" +"mod:`__main__`. Como resultado, los desarrolladores de scripts de un solo " +"archivo y aquellos que usan Python de forma interactiva deberían comenzar a " +"ver una vez más advertencias de desaprobación para las API que usan, pero " +"las advertencias de desaprobación activadas por la aplicación importada, la " +"biblioteca y los módulos de marco seguirán ocultos de forma predeterminada." #: ../Doc/whatsnew/3.7.rst:378 msgid "" "As a result of this change, the standard library now allows developers to " "choose between three different deprecation warning behaviours:" msgstr "" +"Como resultado de este cambio, la biblioteca estándar ahora permite a los " +"desarrolladores elegir entre tres comportamientos de advertencia de " +"obsolescencia diferentes:" #: ../Doc/whatsnew/3.7.rst:381 msgid "" @@ -545,6 +728,9 @@ msgid "" "intended to be seen by application end users (e.g. for deprecated " "application configuration settings)." msgstr "" +":exc:`FutureWarning`: siempre se muestra por defecto, recomendado para las " +"advertencias destinadas a los usuarios finales de la aplicación (por " +"ejemplo, para los ajustes de configuración de la aplicación obsoletos)." #: ../Doc/whatsnew/3.7.rst:384 msgid "" @@ -553,6 +739,10 @@ msgid "" "Python developers where a version upgrade may result in changed behaviour or " "an error." msgstr "" +":exc:`DeprecationWarning`: se muestra por defecto solo en :mod:`__main__` y " +"cuando se ejecutan pruebas, se recomienda para advertencias destinadas a ser " +"vistas por otros desarrolladores de Python donde una actualización de la " +"versión puede resultar en un cambio de comportamiento o un error." #: ../Doc/whatsnew/3.7.rst:388 msgid "" @@ -560,6 +750,10 @@ msgid "" "tests, intended for cases where a future version upgrade will change the " "warning category to :exc:`DeprecationWarning` or :exc:`FutureWarning`." msgstr "" +":exc:`PendingDeprecationWarning`: se muestra de forma predeterminada solo " +"cuando se ejecutan pruebas, diseñado para casos en los que una actualización " +"de versión futura cambiará la categoría de advertencia a :exc:" +"`DeprecationWarning` o :exc:`FutureWarning`." #: ../Doc/whatsnew/3.7.rst:392 msgid "" @@ -568,18 +762,23 @@ msgid "" "meant that developers primarily writing single file scripts or using Python " "interactively could be surprised by breaking changes in the APIs they used." msgstr "" +"Anteriormente ambos :exc:`DeprecationWarning` y :exc:" +"`PendingDeprecationWarning` solo eran visibles cuando se ejecutaban pruebas, " +"lo que significaba que los desarrolladores que escribían principalmente " +"scripts de un solo archivo o usaban Python de forma interactiva podrían " +"sorprenderse al ver cambios importantes en las API que usaban." #: ../Doc/whatsnew/3.7.rst:399 msgid ":pep:`565` -- Show DeprecationWarning in ``__main__``" -msgstr "" +msgstr ":pep:`565` -- Muestra *DeprecationWarning* en ``__main__``" #: ../Doc/whatsnew/3.7.rst:400 msgid "PEP written and implemented by Nick Coghlan" -msgstr "" +msgstr "PEP escrito y implementado por *Nick Coghlan*" #: ../Doc/whatsnew/3.7.rst:406 msgid "PEP 560: Core Support for ``typing`` module and Generic Types" -msgstr "" +msgstr "PEP 560: Soporte básico para el módulo de ``typing`` y tipos genéricos" #: ../Doc/whatsnew/3.7.rst:408 msgid "" @@ -593,14 +792,25 @@ msgid "" "without metaclass conflicts, and several long standing bugs in :mod:`typing` " "module are fixed." msgstr "" +"Inicialmente :pep:`484` fue diseñado de tal manera que no introduciría * " +"ningún * cambio en el intérprete principal de CPython. Ahora escriba " +"sugerencias y el módulo :mod:`typing` son ampliamente utilizados por la " +"comunidad, por lo que se elimina esta restricción. El PEP introduce dos " +"métodos especiales :meth:`__class_getitem__` y ``__mro_entries__``, estos " +"métodos ahora son utilizados por la mayoría de las clases y construcciones " +"especiales en :mod:`typing`. Como resultado, la velocidad de varias " +"operaciones con tipos aumentó hasta 7 veces, los tipos genéricos se pueden " +"usar sin conflictos de metaclase, y varios errores de larga data en el " +"módulo :mod:`typing` han sido arreglados." #: ../Doc/whatsnew/3.7.rst:420 msgid ":pep:`560` -- Core support for typing module and generic types" msgstr "" +":pep:`560` -- Soporte básico para el modulo de escritura y tipos genéricos" #: ../Doc/whatsnew/3.7.rst:427 msgid "PEP 552: Hash-based .pyc Files" -msgstr "" +msgstr "PEP 552: Archivos .pyc basados en hash" #: ../Doc/whatsnew/3.7.rst:429 msgid "" @@ -613,6 +823,16 @@ msgid "" "in the cache file is problematic for `build reproducibility `_ and content-based build systems." msgstr "" +"Python ha verificado tradicionalmente la actualización de los archivos de " +"caché de código de bytes (es decir, archivos ``.pyc``) comparando los " +"metadatos de origen (marca de tiempo y tamaño de última modificación) con la " +"fuente de metadatos guardados en el encabezado del archivo de caché cuando " +"se generó. Si bien es efectivo, este método de invalidación tiene sus " +"inconvenientes. Cuando las marcas de tiempo del sistema de archivos son " +"demasiado burdas, Python puede perder las actualizaciones de origen, lo que " +"genera confusión en el usuario. Además, tener una marca de tiempo en el " +"archivo de caché es problemático para `construir reproducibilidad `_ y sistemas de construcción basados en contenido." #: ../Doc/whatsnew/3.7.rst:438 msgid "" @@ -623,6 +843,13 @@ msgid "" "Hash-based ``.pyc`` files may be generated with :mod:`py_compile` or :mod:" "`compileall`." msgstr "" +":pep:`552` extendiendo el formato *ppc* para permitir que el hash del " +"archivo de origen se utilice para invalidación en lugar de la marca de " +"tiempo de origen. Estos archivos ``.pyc`` se denominan “hash-based”. Por " +"defecto, Python todavía usa la invalidación basada en la marca de tiempo y " +"no genera archivos ``.pyc`` basados en has de tiempos de ejecución. Los " +"archivos ``.pyc`` basados en hash se pueden generar con :mod:`py_compile` o :" +"mod:`compileall`." #: ../Doc/whatsnew/3.7.rst:444 msgid "" @@ -633,58 +860,69 @@ msgid "" "for environments where a system external to Python (e.g., the build system) " "is responsible for keeping ``.pyc`` files up-to-date." msgstr "" +"Archivos ``.pyc`` basados en hash Vienen en dos variantes: marcada y no " +"marcada. Python valida los archivos ``.pyc`` basados en hash comprobados con " +"los archivos de origen correspondientes en tiempo de ejecución, pero no lo " +"hace para *pycs* basados en hash no verificados. Archivos ``.pyc`` no " +"comprobados son una optimización de rendimiento útil para entornos donde un " +"sistema externo a Python (por ejemplo, el sistema de compilación) es " +"responsable de mantener actualizados los archivos ``.pyc``." #: ../Doc/whatsnew/3.7.rst:451 msgid "See :ref:`pyc-invalidation` for more information." -msgstr "" +msgstr "Consultar :ref:`pyc-invalidation` para mas información." #: ../Doc/whatsnew/3.7.rst:455 msgid ":pep:`552` -- Deterministic pycs" -msgstr "" +msgstr ":pep:`552` -- *Pycs* deterministas" #: ../Doc/whatsnew/3.7.rst:456 msgid "PEP written and implemented by Benjamin Peterson" -msgstr "" +msgstr "PEP escrito y implementado por *Benjamin Peterson*" #: ../Doc/whatsnew/3.7.rst:462 msgid "PEP 545: Python Documentation Translations" -msgstr "" +msgstr "PEP 545: Traducciones de Documentaciones de Python" #: ../Doc/whatsnew/3.7.rst:464 msgid "" ":pep:`545` describes the process of creating and maintaining Python " "documentation translations." msgstr "" +":pep:`545` describe el proceso de creación y mantenimiento de traducciones " +"de documentación de Python." #: ../Doc/whatsnew/3.7.rst:467 msgid "Three new translations have been added:" -msgstr "" +msgstr "Tres nuevas traducciones han sido agregadas:" #: ../Doc/whatsnew/3.7.rst:469 msgid "Japanese: https://docs.python.org/ja/" -msgstr "" +msgstr "Japonés: https://docs.python.org/ja/" #: ../Doc/whatsnew/3.7.rst:470 msgid "French: https://docs.python.org/fr/" -msgstr "" +msgstr "Francés: https://docs.python.org/fr/" #: ../Doc/whatsnew/3.7.rst:471 msgid "Korean: https://docs.python.org/ko/" -msgstr "" +msgstr "Coreano: https://docs.python.org/ko/" #: ../Doc/whatsnew/3.7.rst:476 msgid ":pep:`545` -- Python Documentation Translations" -msgstr "" +msgstr ":pep:`545` -- Traducciones de Documentación de *Python*" #: ../Doc/whatsnew/3.7.rst:476 msgid "" "PEP written and implemented by Julien Palard, Inada Naoki, and Victor " "Stinner." msgstr "" +"PEP escrito y implementado por *Julien Palard*, *Inada Naoki* y *Victor " +"Stinner*." #: ../Doc/whatsnew/3.7.rst:483 msgid "Development Runtime Mode: -X dev" -msgstr "" +msgstr "Modo de tiempo de ejecución de desarrollo: -X *dev*" #: ../Doc/whatsnew/3.7.rst:485 msgid "" @@ -695,10 +933,16 @@ msgid "" "`-X` ``dev`` documentation for the full description of the effects of this " "mode." msgstr "" +"La nueva linea de comandos módulo :option:`-X` ``dev`` o la nueva variable " +"de entorno :envvar:`PYTHONDEVMODE` se puede utilizar para habilitar el * " +"modo de desarrollo* de CPython. Cuando está en modo de desarrollo, CPython " +"realiza comprobaciones de tiempo de ejecución adicionales que son demasiado " +"caras para habilitarse de forma predeterminada. Ver :option:`-X` ``dev`` en " +"la documentación para la descripción completa de los efectos de este modo." #: ../Doc/whatsnew/3.7.rst:494 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios en el lenguaje" #: ../Doc/whatsnew/3.7.rst:496 msgid "" @@ -707,6 +951,10 @@ msgid "" "literals ` due to a problem with the implementation. In Python " "3.7 this restriction was lifted." msgstr "" +"Una expresión :keyword:`await` y compresiones que contienen una cláusula :" +"keyword:`async for` eran ilegales en las expresiones en :ref:`formatted " +"string literals ` debido a un problema con la implementación. En " +"Python 3.7 se eliminó esta restricción." #: ../Doc/whatsnew/3.7.rst:501 msgid "" @@ -714,12 +962,18 @@ msgid "" "now have more than 255 parameters. (Contributed by Serhiy Storchaka in :" "issue:`12844` and :issue:`18896`.)" msgstr "" +"Ahora se pueden pasar más de 255 argumentos a una función y una función " +"ahora puede tener más de 255 parámetros. (Contribuido por *Serhiy Storchaka* " +"en :issue:`12844` y :issue:`18896`.)" #: ../Doc/whatsnew/3.7.rst:505 msgid "" ":meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now ignore all ASCII " "whitespace, not only spaces. (Contributed by Robert Xiao in :issue:`28927`.)" msgstr "" +":meth:`bytes.fromhex` y :meth:`bytearray.fromhex` ahora ignore todos los " +"espacios en blanco ASCII, no solo los espacios. (Contribuido por *Robert " +"Xiao* en :issue:`28927`.)" #: ../Doc/whatsnew/3.7.rst:508 msgid "" @@ -728,6 +982,10 @@ msgid "" "string or bytes contain only the ASCII characters. (Contributed by INADA " "Naoki in :issue:`32677`.)" msgstr "" +":class:`str`, :class:`bytes`, y :class:`bytearray` adquirió soporte para el " +"nuevo método :meth:`isascii() `, que se puede usar para probar " +"si una cadena o bytes contienen solo los caracteres ASCII. (Contribuido por " +"*INADA Naoki* en :issue:`32677`.)" #: ../Doc/whatsnew/3.7.rst:513 msgid "" @@ -735,12 +993,18 @@ msgid "" "when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :" "issue:`29546`.)" msgstr "" +":exc:`ImportError` ahora muestra el nombre del módulo y la ruta del módulo " +"``__file__`` cuando falla ``from … import …``. (Contribuido por *Matthias " +"Bussonnier* en :issue:`29546`.)" #: ../Doc/whatsnew/3.7.rst:517 msgid "" "Circular imports involving absolute imports with binding a submodule to a " "name are now supported. (Contributed by Serhiy Storchaka in :issue:`30024`.)" msgstr "" +"Ahora se admiten las importaciones circulares que involucran importaciones " +"absolutas con un submódulo vinculado a un nombre. (Contribuido por *Serhiy " +"Storchaka* en :issue:`30024`.)" #: ../Doc/whatsnew/3.7.rst:521 msgid "" @@ -748,6 +1012,9 @@ msgid "" "``format(str(self), '')``. (Contributed by Serhiy Storchaka in :issue:" "`28974`.)" msgstr "" +"``object.__format__(x, ‘’)`` ahora es equivalente a ``str(x)`` antes que " +"``format(str(self), ‘’)``. (Contribuido por *Serhiy Storchaka* en :issue:" +"`28974`.)" #: ../Doc/whatsnew/3.7.rst:525 msgid "" @@ -756,6 +1023,11 @@ msgid "" "attribute on :ref:`tracebacks ` is now writable. " "(Contributed by Nathaniel J. Smith in :issue:`30579`.)" msgstr "" +"Para soportar mejor la creación dinámica de seguimientos de pila, :class:" +"`types.TracebackType` ahora se puede crear una instancia desde el código " +"Python, y el atributo ``tb_next`` en on :ref:`rastreos ` " +"ahora se puede escribir. (Contribuido por *Nathaniel J. Smith* en :issue:" +"`30579`.)" #: ../Doc/whatsnew/3.7.rst:531 msgid "" @@ -764,6 +1036,11 @@ msgid "" "directory (which allows imports from the *current* working directory at the " "time when an import occurs) (Contributed by Nick Coghlan in :issue:`33053`.)" msgstr "" +"Al usar la :option:`-m` switch, ``sys.path[0]`` ahora se expande con " +"entusiasmo a la ruta completa del directorio de inicio, en lugar de dejarse " +"como el directorio vacío (que permite importaciones desde el directorio de " +"trabajo * actual * en el momento en que ocurre una importación) (Contribuido " +"por *Nick Coghlan* en :issue:`33053`.)" #: ../Doc/whatsnew/3.7.rst:537 msgid "" @@ -772,14 +1049,18 @@ msgid "" "timing of each module import. (Contributed by Victor Stinner in :issue:" "`31415`.)" msgstr "" +"La nueva opción :option:`-X` ``importtime`` o la variable de entorno :envvar:" +"`PYTHONPROFILEIMPORTTIME` se puede utilizar para mostrar la sincronización " +"de cada importación de módulo. (Contribuido por *Victor Stinner* en :issue:" +"`31415`.)" #: ../Doc/whatsnew/3.7.rst:544 msgid "New Modules" -msgstr "" +msgstr "Nuevos módulos" #: ../Doc/whatsnew/3.7.rst:549 msgid "contextvars" -msgstr "" +msgstr "*contextvars*" #: ../Doc/whatsnew/3.7.rst:551 msgid "" @@ -788,6 +1069,11 @@ msgid "" "variables are conceptually similar to thread-local variables. Unlike TLS, " "context variables support asynchronous code correctly." msgstr "" +"El nuevo módulo :mod:`contextvars` y un conjunto de :ref:`nuevas APIs C " +"` introducir soporte para *variables de contexto*. Las " +"variables de contexto son conceptualmente similares a las variables locales " +"del proceso. A diferencia de TLS, las variables de contexto admiten l código " +"asincrónico correctamente." #: ../Doc/whatsnew/3.7.rst:557 msgid "" @@ -796,18 +1082,23 @@ msgid "" "context is now stored in a context variable, which allows decimal operations " "to work with the correct context in asynchronous code." msgstr "" +"Los módulos :mod:`asyncio` y :mod:`decimal` se han actualizado para utilizar " +"y admitir variables de contexto listas para usar. En particular, el contexto " +"decimal activo ahora se almacena en una variable de contexto, lo que permite " +"que las operaciones decimales funcionen con el contexto correcto en código " +"asincrónico." #: ../Doc/whatsnew/3.7.rst:564 msgid ":pep:`567` -- Context Variables" -msgstr "" +msgstr ":pep:`567` -- Variables de Contexto" #: ../Doc/whatsnew/3.7.rst:565 msgid "PEP written and implemented by Yury Selivanov" -msgstr "" +msgstr "PEP escrito y implementado por *Yury Selivanov*" #: ../Doc/whatsnew/3.7.rst:571 msgid "dataclasses" -msgstr "" +msgstr "*dataclasses*" #: ../Doc/whatsnew/3.7.rst:573 msgid "" @@ -817,22 +1108,27 @@ msgid "" "`~object.__repr__`, :meth:`~object.__eq__`, and :meth:`~object.__hash__` are " "generated automatically." msgstr "" +"El nuevo decorador :func:`~dataclasses.dataclass` proporciona una forma de " +"declarar *data classes*. Una clase de datos describe sus atributos usando " +"anotaciones de variables de clase. Su constructor y otros métodos mágicos, " +"como :meth:`~object.__repr__`, :meth:`~object.__eq__`, y :meth:`~object." +"__hash__` se generan automáticamente." #: ../Doc/whatsnew/3.7.rst:579 msgid "Example::" -msgstr "" +msgstr "Ejemplo:" #: ../Doc/whatsnew/3.7.rst:592 msgid ":pep:`557` -- Data Classes" -msgstr "" +msgstr ":pep:`557` -- Clases de Datos" #: ../Doc/whatsnew/3.7.rst:593 msgid "PEP written and implemented by Eric V. Smith" -msgstr "" +msgstr "PEP escrito y implementado por *Eric V. Smith*" #: ../Doc/whatsnew/3.7.rst:599 msgid "importlib.resources" -msgstr "" +msgstr "*importlib.resources*" #: ../Doc/whatsnew/3.7.rst:601 msgid "" @@ -844,24 +1140,34 @@ msgid "" "ResourceReader` instance to support this new API. Built-in file path " "loaders and zip file loaders both support this." msgstr "" +"El nuevo módulo :mod:`importlib.resources` proporciona varias API nuevas y " +"un ABC nuevo para acceder, abrir y leer * recursos * dentro de los paquetes. " +"Los recursos son más o menos similares a los archivos dentro de los " +"paquetes, pero no es necesario que sean archivos reales en el sistema de " +"archivos físico. Los cargadores de módulos proporcionar una función :meth:" +"`get_resource_reader()` que devuelve una instancia :class:`importlib.abc." +"ResourceReader` para admitir esta nueva API. Los cargadores de ruta de " +"archivo integrados y los cargadores de archivos zip admiten esto." #: ../Doc/whatsnew/3.7.rst:609 msgid "Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`." -msgstr "" +msgstr "Contribuido por *Barry Warsaw* y *Brett Cannon* en :issue:`32248`." #: ../Doc/whatsnew/3.7.rst:613 msgid "" "`importlib_resources `_ -- a PyPI backport for earlier Python versions." msgstr "" +"`importlib_resources `_ -- un *backport* de PyPI para versiones anteriores de Python." #: ../Doc/whatsnew/3.7.rst:618 msgid "Improved Modules" -msgstr "" +msgstr "Módulos mejorados" #: ../Doc/whatsnew/3.7.rst:622 msgid "argparse" -msgstr "" +msgstr "*argparse*" #: ../Doc/whatsnew/3.7.rst:624 msgid "" @@ -869,10 +1175,13 @@ msgid "" "ArgumentParser.parse_intermixed_args>` method allows intermixing options and " "positional arguments. (Contributed by paul.j3 in :issue:`14191`.)" msgstr "" +"El nuevo método :meth:`ArgumentParser.parse_intermixed_args() ` permite permite entremezclar opciones " +"y argumentos posicionales. (Contribuido por *paul.j3* en :issue:`14191`.)" #: ../Doc/whatsnew/3.7.rst:633 ../Doc/whatsnew/3.7.rst:1950 msgid "asyncio" -msgstr "" +msgstr "*asyncio*" #: ../Doc/whatsnew/3.7.rst:635 msgid "" @@ -880,6 +1189,9 @@ msgid "" "`performance improvements `. Notable changes " "include:" msgstr "" +"El modulo :mod:`asyncio` ha recibido muchas funciones nuevas, usabilidad y :" +"ref:`mejoras de rendimiento `. Los cambios notables " +"incluyen:" #: ../Doc/whatsnew/3.7.rst:639 msgid "" @@ -888,6 +1200,10 @@ msgid "" "creating and destroying the event loop. (Contributed by Yury Selivanov in :" "issue:`32314`.)" msgstr "" +"La nueva función :term:`provisional ` :func:`asyncio.run` " +"se puede utilizar para ejecutar una corrutina desde código síncrono creando " +"y destruyendo automáticamente el bucle de eventos. (Contribuido por *Yury " +"Selivanov* en :issue:`32314`.)" #: ../Doc/whatsnew/3.7.rst:644 msgid "" @@ -900,6 +1216,14 @@ msgid "" "track their context automatically. See :pep:`567` for more details. " "(Contributed by Yury Selivanov in :issue:`32436`.)" msgstr "" +"asyncio adquirió soporte para :mod:`contextvars`. :meth:`loop.call_soon() " +"`, :meth:`loop.call_soon_threadsafe() `, :meth:`loop.call_later() `, :meth:`loop.call_at() `, y :meth:`Future." +"add_done_callback() ` tener un nuevo " +"parámetro opcional * de contexto * solo de palabras clave. :class:`Tasks " +"` ahora rastrea su contexto automáticamente. Ver :pep:`567` " +"para mas detalles. (Contribuido por *Yury Selivanov* en :issue:`32436`.)" #: ../Doc/whatsnew/3.7.rst:655 msgid "" @@ -907,6 +1231,9 @@ msgid "" "``asyncio.get_event_loop().create_task()``. (Contributed by Andrew Svetlov " "in :issue:`32311`.)" msgstr "" +"La nueva función :func:`asyncio.create_task`se ha agregado como un atajo a " +"``asyncio.get_event_loop().create_task()``. (Contribuido por *Andrew " +"Svetlov* en :issue:`32311`.)" #: ../Doc/whatsnew/3.7.rst:659 msgid "" @@ -914,6 +1241,9 @@ msgid "" "to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in :" "issue:`23749`.)" msgstr "" +"El nuevo método :meth:`loop.start_tls() ` puede ser " +"usado para actualizar una conexión existente para TLS. (Contribuido por " +"*Yury Selivanov* en :issue:`23749`.)" #: ../Doc/whatsnew/3.7.rst:663 msgid "" @@ -922,6 +1252,10 @@ msgid "" "possible to reduce data copies. (Contributed by Antoine Pitrou in :issue:" "`31819`.)" msgstr "" +"El nuevo método :meth:`loop.sock_recv_into() ` " +"permite leer datos de un socket directamente en un búfer proporcionado, lo " +"que permite reducir las copias de datos. (Contribuido por *Antoine Pitrou* " +"en :issue:`31819`.)" #: ../Doc/whatsnew/3.7.rst:668 msgid "" @@ -932,6 +1266,13 @@ msgid "" "all_tasks() ` methods have been deprecated. " "(Contributed by Andrew Svetlov in :issue:`32250`.)" msgstr "" +"La nueva función :func:`asyncio.current_task` devuelve la instancia actual " +"en ejecución :class:`~asyncio.Task`, y la nueva función :func:`asyncio." +"all_tasks` devuelve un conjunto de todas las instancias de ``Task`` " +"existentes en un bucle determinado. Los métodos :meth:`Task.current_task() " +"` y :meth:`Task.all_tasks() ` han quedado obsoletos. (Contribuido por *Andrew Svetlov* en :" +"issue:`32250`.)" #: ../Doc/whatsnew/3.7.rst:675 msgid "" @@ -939,6 +1280,9 @@ msgid "" "implementing streaming protocols with manual control over the receive " "buffer. (Contributed by Yury Selivanov in :issue:`32251`.)" msgstr "" +"La nueva clase *provisional* :class:`~asyncio.BufferedProtocol` permite " +"implementar protocolos de transmisión con control manual sobre el búfer de " +"recepción. (Contribuido por *Yury Selivanov* en :issue:`32251`.)" #: ../Doc/whatsnew/3.7.rst:679 msgid "" @@ -948,6 +1292,11 @@ msgid "" "new event loop if none is running. (Contributed by Yury Selivanov in :issue:" "`32269`.)" msgstr "" +"La nueva función :func:`asyncio.get_running_loop` devuelve el bucle que se " +"está ejecutando actualmente, y genera un :exc:`RuntimeError` si el bucle " +"esta corriendo. Esto contrasta con :func:`asyncio.get_event_loop`, que * " +"creará * un nuevo bucle de eventos si no se está ejecutando ninguno. " +"(Contribuido por *Yury Selivanov* en :issue:`32269`.)" #: ../Doc/whatsnew/3.7.rst:685 msgid "" @@ -957,6 +1306,11 @@ msgid "" "is_closing>` method can be used to determine if the writer is closing. " "(Contributed by Andrew Svetlov in :issue:`32391`.)" msgstr "" +"El nuevo método de rutina :meth:`StreamWriter.wait_closed() ` permite esperar hasta que se cierre el escritor " +"de secuencias. El nuevo método :meth:`StreamWriter.is_closing() ` puede ser usado para determinar si el escritor " +"esta cerrando. (Contribuido por *Andrew Svetlov* en :issue:`32391`.)" #: ../Doc/whatsnew/3.7.rst:691 msgid "" @@ -964,6 +1318,9 @@ msgid "" "method allows sending files using :mod:`os.sendfile` when possible. " "(Contributed by Andrew Svetlov in :issue:`32410`.)" msgstr "" +"El nuevo método de rutina :meth:`loop.sock_sendfile() ` permite enviar archivos usando :mod:`os.sendfile` cuando sea " +"posible. (Contribuido por *Andrew Svetlov* en :issue:`32410`.)" #: ../Doc/whatsnew/3.7.rst:695 msgid "" @@ -974,6 +1331,12 @@ msgid "" "Yury Selivanov in :issue:`32415` and Srinivas Reddy Thatiparthy in :issue:" "`32418`.)" msgstr "" +"El nuevo método :meth:`Future.get_loop() ` y ``Task." +"get_loop()`` devuelve la instancia del bucle en el que se creó una tarea o " +"un futuro. :meth:`Server.get_loop() ` permite hacer " +"lo mismo para objetos de :class:`asyncio.Server`. (Contribuido por *Yury " +"Selivanov* en :issue:`32415` y *Srinivas Reddy Thatiparthy* en :issue:" +"`32418`.)" #: ../Doc/whatsnew/3.7.rst:703 msgid "" @@ -989,10 +1352,21 @@ msgid "" "serving. :class:`~asyncio.Server` objects are now asynchronous context " "managers::" msgstr "" +"Ahora es posible controlar las instancias de :class:`asyncio.Server` cuando " +"comienzan. Anteriormente, el servidor comenzaba a funcionar inmediatamente " +"cuando se creaba. El nuevo argumento de palabra clave *start_serving* para :" +"meth:`loop.create_server() ` y :meth:`loop." +"create_unix_server() `, así como :meth:" +"`Server.start_serving() `, y :meth:`Server." +"serve_forever() ` se puede usar para " +"desacoplar la instanciación y el servicio de servidor. El nuevo método :meth:" +"`Server.is_serving() ` devuelve ``True`` si el " +"servidor esta iniciando. :class:`~asyncio.Server` los objetos ahora son " +"administradores de contexto asíncronos:" #: ../Doc/whatsnew/3.7.rst:722 msgid "(Contributed by Yury Selivanov in :issue:`32662`.)" -msgstr "" +msgstr "(Contribuido por *Yury Selivanov* en :issue:`32662`.)" #: ../Doc/whatsnew/3.7.rst:724 msgid "" @@ -1001,6 +1375,10 @@ msgid "" "which returns an absolute scheduled callback timestamp. (Contributed by " "Andrew Svetlov in :issue:`32741`.)" msgstr "" +"Objetos de devolución de llamada devueltos por :func:`loop.call_later() " +"` conseguir el nuevo método :meth:`when() ` que devuelve una marca de tiempo de devolución de llamada " +"programada absoluta. (Contribuido por *Andrew Svetlov* en :issue:`32741`.)" #: ../Doc/whatsnew/3.7.rst:730 msgid "" @@ -1008,6 +1386,9 @@ msgid "" "create_datagram_endpoint>` method gained support for Unix sockets. " "(Contributed by Quentin Dawans in :issue:`31245`.)" msgstr "" +"El método :meth:`loop.create_datagram_endpoint() \\ ` adquirió soporte para *sockets* *UNIX*." +"(Contribuido por *Quentin Dawans* en :issue:`31245`.)" #: ../Doc/whatsnew/3.7.rst:735 msgid "" @@ -1019,6 +1400,13 @@ msgid "" "variants now accept the *ssl_handshake_timeout* keyword argument. " "(Contributed by Neil Aspinall in :issue:`29970`.)" msgstr "" +"Los métodos :func:`asyncio.open_connection`, :func:`asyncio.start_server` " +"functions, :meth:`loop.create_connection() `, :meth:`loop.create_server() `, :meth:`loop.create_accepted_socket() `y sus correspondientes variantes de socket UNIX " +"ahora aceptan el argumento de palabra clave *ssl_handshake_timeout*. " +"(Contribuido por *Neil Aspinall* en :issue:`29970`.)" #: ../Doc/whatsnew/3.7.rst:743 msgid "" @@ -1026,12 +1414,18 @@ msgid "" "``True`` if the callback was cancelled. (Contributed by Marat Sharafutdinov " "in :issue:`31943`.)" msgstr "" +"El nuevo método :meth:`Handle.cancelled() ` " +"devuelve ``True`` si se canceló la devolución de llamada. (Contribuido por " +"*Marat Sharafutdinov* en :issue:`31943`.)" #: ../Doc/whatsnew/3.7.rst:747 msgid "" "The asyncio source has been converted to use the :keyword:`async`/:keyword:" "`await` syntax. (Contributed by Andrew Svetlov in :issue:`32193`.)" msgstr "" +"La fuente asyncio se ha convertido para utilizar la sintaxis :keyword:" +"`async`/:keyword:`await`. (Contribuido por *Andrew Svetlov* en :issue:" +"`32193`.)" #: ../Doc/whatsnew/3.7.rst:751 msgid "" @@ -1042,6 +1436,12 @@ msgid "" "pause_reading() ` are now idempotent. " "(Contributed by Yury Selivanov in :issue:`32356`.)" msgstr "" +"El nuevo método :meth:`ReadTransport.is_reading() ` puede ser usado para determinar el estado de lectura del " +"transporte. Adicionalmente, las llamadas a :meth:`ReadTransport." +"resume_reading() ` y :meth:" +"`ReadTransport.pause_reading() ` ahora " +"son idempotentes. (Contribuido por *Yury Selivanov* en :issue:`32356`.)" #: ../Doc/whatsnew/3.7.rst:759 msgid "" @@ -1049,6 +1449,9 @@ msgid "" "objects `. (Contributed by Yury Selivanov in :issue:" "`32066`.)" msgstr "" +"Los métodos de bucle que aceptan rutas de socket ahora admiten el paso :term:" +"`objetos con forma de ruta `. (Contribuido por *Yury " +"Selivanov* en :issue:`32066`.)" #: ../Doc/whatsnew/3.7.rst:763 msgid "" @@ -1056,12 +1459,17 @@ msgid "" "flag set by default. (Contributed by Yury Selivanov and Victor Stinner in :" "issue:`27456`.)" msgstr "" +"En :mod:`asyncio`, los sockets TCP en Linux ahora son creados con el " +"indicador ``TCP_NODELAY`` configurado por defecto. (Contribuido por *Yury " +"Selivanov* y *Victor Stinner* en :issue:`27456`.)" #: ../Doc/whatsnew/3.7.rst:767 msgid "" "Exceptions occurring in cancelled tasks are no longer logged. (Contributed " "by Yury Selivanov in :issue:`30508`.)" msgstr "" +"Las excepciones que ocurren en tareas canceladas ya no se registran. " +"(Contribuido por *Yury Selivanov* en :issue:`30508`.)" #: ../Doc/whatsnew/3.7.rst:770 msgid "" @@ -1069,16 +1477,21 @@ msgid "" "``WindowsProactorEventLoopPolicy`` classes. (Contributed by Yury Selivanov " "in :issue:`33792`.)" msgstr "" +"Nuevas clases ``WindowsSelectorEventLoopPolicy`` y " +"``WindowsProactorEventLoopPolicy``. (Contribuido por *Yury Selivanov* en :" +"issue:`33792`.)" #: ../Doc/whatsnew/3.7.rst:774 msgid "" "Several ``asyncio`` APIs have been :ref:`deprecated `." msgstr "" +"Varias APIs ``asyncio`` se han :ref:`obsoleta `." #: ../Doc/whatsnew/3.7.rst:779 msgid "binascii" -msgstr "" +msgstr "*binascii*" #: ../Doc/whatsnew/3.7.rst:781 msgid "" @@ -1086,10 +1499,14 @@ msgid "" "keyword argument. When it's true, zeros are represented by ``'`'`` instead " "of spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" msgstr "" +"La función :func:`~binascii.b2a_uu` ahora acepta un argumento de palabra " +"clave opcional *backtick*. Cuando es cierto, los ceros están representados " +"por ``’`’`` en lugar de espacios. (Contribuido por *Xiang Zhang* en :issue:" +"`30103`.)" #: ../Doc/whatsnew/3.7.rst:787 msgid "calendar" -msgstr "" +msgstr "*calendar*" #: ../Doc/whatsnew/3.7.rst:789 msgid "" @@ -1097,20 +1514,25 @@ msgid "" "ease the customization of CSS classes in the produced HTML calendar. " "(Contributed by Oz Tiram in :issue:`30095`.)" msgstr "" +"La clase :class:`~calendar.HTMLCalendar`tiene nuevos atributos de clase que " +"facilitan la personalización de clases CSS en el calendario HTML producido. " +"(Contribuido por *Oz Tiram* en :issue:`30095`.)" #: ../Doc/whatsnew/3.7.rst:795 ../Doc/whatsnew/3.7.rst:1964 msgid "collections" -msgstr "" +msgstr "*collections*" #: ../Doc/whatsnew/3.7.rst:797 msgid "" "``collections.namedtuple()`` now supports default values. (Contributed by " "Raymond Hettinger in :issue:`32320`.)" msgstr "" +"``collections.namedtuple()`` ahora soporta valores por defecto. (Contribuido " +"por *Raymond Hettinger* en :issue:`32320`.)" #: ../Doc/whatsnew/3.7.rst:802 msgid "compileall" -msgstr "" +msgstr "*compileall*" #: ../Doc/whatsnew/3.7.rst:804 msgid "" @@ -1120,10 +1542,15 @@ msgid "" "command line using the new ``--invalidation-mode`` argument. (Contributed by " "Benjamin Peterson in :issue:`31650`.)" msgstr "" +":func:`compileall.compile_dir` aprendió el nuevo parámetro " +"*invalidation_mode*, que se puede utilizar para habilitar :ref:`invalidación " +"de .pyc basada en hash `. El modo de invalidación también " +"se puede especificar en la línea de comando usando el nuevo argumento ``—" +"invalidation-mode``. (Contribuido por *Benjamin Peterson* en :issue:`31650`.)" #: ../Doc/whatsnew/3.7.rst:813 msgid "concurrent.futures" -msgstr "" +msgstr "*concurrent.futures*" #: ../Doc/whatsnew/3.7.rst:815 msgid "" @@ -1132,6 +1559,10 @@ msgid "" "support the new *initializer* and *initargs* constructor arguments. " "(Contributed by Antoine Pitrou in :issue:`21423`.)" msgstr "" +":class:`ProcessPoolExecutor ` y :" +"class:`ThreadPoolExecutor ` ahora " +"soporta los nuevos argumentos de constructor *initializer* y *initargs*. " +"(Contribuido por *Antoine Pitrou* en :issue:`21423`.)" #: ../Doc/whatsnew/3.7.rst:820 msgid "" @@ -1139,10 +1570,13 @@ msgid "" "can now take the multiprocessing context via the new *mp_context* argument. " "(Contributed by Thomas Moreau in :issue:`31540`.)" msgstr "" +"La :class:`ProcessPoolExecutor ` " +"puede ahora tomar el contexto de multiprocesamiento a través del nuevo " +"argumento *mp_context*. (Contribuido por *Thomas Moreau* en :issue:`31540`.)" #: ../Doc/whatsnew/3.7.rst:826 msgid "contextlib" -msgstr "" +msgstr "*contextlib*" #: ../Doc/whatsnew/3.7.rst:828 msgid "" @@ -1150,6 +1584,9 @@ msgid "" "context manager than :class:`~contextlib.ExitStack`. (Contributed by Jesse-" "Bakker in :issue:`10049`.)" msgstr "" +"El nuevo :func:`~contextlib.nullcontext` es un administrador de contexto sin " +"operaciones simple y rápido que :class:`~contextlib.ExitStack`. (Contribuido " +"por *Jesse-Bakker* en :issue:`10049`.)" #: ../Doc/whatsnew/3.7.rst:832 msgid "" @@ -1159,10 +1596,15 @@ msgid "" "Jelle Zijlstra in :issue:`29679` and :issue:`30241`, and by Alexander Mohr " "and Ilya Kulakov in :issue:`29302`.)" msgstr "" +"Se han añadido los nuevos :func:`~contextlib.asynccontextmanager`, :class:" +"`~contextlib.AbstractAsyncContextManager`, y :class:`~contextlib." +"AsyncExitStack` para complementar sus partes sincronicas. (Contribuido por " +"*Jelle Zijlstra* en :issue:`29679` y :issue:`30241`, y por *Alexander Mohr* " +"y *Ilya Kulakov* en :issue:`29302`.)" #: ../Doc/whatsnew/3.7.rst:841 msgid "cProfile" -msgstr "" +msgstr "*cProfile*" #: ../Doc/whatsnew/3.7.rst:843 msgid "" @@ -1170,26 +1612,33 @@ msgid "" "alternative to script path. (Contributed by Sanyam Khurana in :issue:" "`21862`.)" msgstr "" +"La linea de comandos :mod:`cProfile` ahora acepta ``-m module_name`` como " +"alternativa a la ruta del *script*. (Contribuido por *Sanyam Khurana* en :" +"issue:`21862`.)" #: ../Doc/whatsnew/3.7.rst:848 msgid "crypt" -msgstr "" +msgstr "*crypt*" #: ../Doc/whatsnew/3.7.rst:850 msgid "" "The :mod:`crypt` module now supports the Blowfish hashing method. " "(Contributed by Serhiy Storchaka in :issue:`31664`.)" msgstr "" +"El módulo :mod:`crypt` ahora es compatible con el método de hash Blowfish. " +"(Contribuido por *Serhiy Storchaka* en :issue:`31664`.)" #: ../Doc/whatsnew/3.7.rst:853 msgid "" "The :func:`~crypt.mksalt` function now allows specifying the number of " "rounds for hashing. (Contributed by Serhiy Storchaka in :issue:`31702`.)" msgstr "" +"La función :func:`~crypt.mksalt` ahora permite especificar el número de " +"rondas para el hash. (Contribuido por *Serhiy Storchaka* en :issue:`31702`.)" #: ../Doc/whatsnew/3.7.rst:858 msgid "datetime" -msgstr "" +msgstr "*datetime*" #: ../Doc/whatsnew/3.7.rst:860 msgid "" @@ -1198,26 +1647,35 @@ msgid "" "of the formats output by :meth:`datetime.isoformat() `. (Contributed by Paul Ganssle in :issue:`15873`.)" msgstr "" +"Los nuevos objetos :meth:`datetime.fromisoformat() ` un método constructor :class:`~datetime.datetime` de una " +"cadena en uno de los formatos de salida de :meth:`datetime.isoformat() " +"`. (Contribuido por *Paul Ganssle* en :issue:" +"`15873`.)" #: ../Doc/whatsnew/3.7.rst:866 msgid "" "The :class:`tzinfo ` class now supports sub-minute offsets. " "(Contributed by Alexander Belopolsky in :issue:`5288`.)" msgstr "" +"La clase :class:`tzinfo ` ahora admite compensaciones de " +"subminutos. (Contribuido por *Alexander Belopolsky* en :issue:`5288`.)" #: ../Doc/whatsnew/3.7.rst:871 ../Doc/whatsnew/3.7.rst:1974 msgid "dbm" -msgstr "" +msgstr "*dbm*" #: ../Doc/whatsnew/3.7.rst:873 msgid "" ":mod:`dbm.dumb` now supports reading read-only files and no longer writes " "the index file when it is not changed." msgstr "" +":mod:`dbm.dumb` ahora admite la lectura de archivos de solo lectura y ya no " +"escribe el archivo de índice cuándo no se cambia." #: ../Doc/whatsnew/3.7.rst:878 msgid "decimal" -msgstr "" +msgstr "*decimal*" #: ../Doc/whatsnew/3.7.rst:880 msgid "" @@ -1225,10 +1683,13 @@ msgid "" "pep567>` to store the decimal context. (Contributed by Yury Selivanov in :" "issue:`32630`.)" msgstr "" +"El módulo :mod:`decimal` ahora usa :ref:`variables de contexto ` para almacenar el contexto decimal. (Contribuido por *Yury " +"Selivanov* en :issue:`32630`.)" #: ../Doc/whatsnew/3.7.rst:886 msgid "dis" -msgstr "" +msgstr "*dis*" #: ../Doc/whatsnew/3.7.rst:888 msgid "" @@ -1238,10 +1699,16 @@ msgid "" "disassembly recursion is controlled by the new *depth* parameter. " "(Contributed by Serhiy Storchaka in :issue:`11822`.)" msgstr "" +"La función :func:`~dis.dis` ahora puede desensamblar objetos de código " +"anidados (el código de comprensiones, expresiones generadoras y funciones " +"anidadas, y el código utilizado para construir clases anidadas). La " +"profundidad máxima de la recursividad de desmontaje se controla mediante el " +"nuevo parámetro * profundidad *. (Contribuido por *Serhiy Storchaka* en :" +"issue:`11822`.)" #: ../Doc/whatsnew/3.7.rst:897 msgid "distutils" -msgstr "" +msgstr "*distutils*" #: ../Doc/whatsnew/3.7.rst:899 msgid "" @@ -1249,10 +1716,13 @@ msgid "" "therefore included in source distributions. (Contributed by Ryan Gonzalez " "in :issue:`11913`.)" msgstr "" +"``README.rst`` ahora se incluye en la lista de READMEs estándar de distutils " +"y, por lo tanto, se incluye en las distribuciones de código fuente. " +"(Contribuido por *Ryan Gonzalez* en :issue:`11913`.)" #: ../Doc/whatsnew/3.7.rst:905 ../Doc/whatsnew/3.7.rst:1984 msgid "enum" -msgstr "" +msgstr "*enum*" #: ../Doc/whatsnew/3.7.rst:907 msgid "" @@ -1260,6 +1730,10 @@ msgid "" "which allows listing the names of properties which should not become enum " "members. (Contributed by Ethan Furman in :issue:`31801`.)" msgstr "" +"La :class:`Enum ` aprendió la nueva propiedad de clase " +"``_ignore_``, que permite enumerar los nombres de propiedades que no deben " +"convertirse en miembros de enumeración. (Contribuido por *Ethan Furman* en :" +"issue:`31801`.)" #: ../Doc/whatsnew/3.7.rst:912 msgid "" @@ -1270,20 +1744,29 @@ msgid "" "return :const:`False` instead and are deprecated. (Contributed by Ethan " "Furman in :issue:`33217`.)" msgstr "" +"En Python 3.8, intentar buscar objetos que no sean Enum en :class:`Enum` " +"generará un :exc:`TypeError` (por ejemplo, ``1 in Color``); de manera " +"similar, si se intenta buscar objetos que no sean Flag en un miembro :class:" +"`Flag` se generará :exc:`TypeError` (por ejemplo, ``1 in Perm.RW``); " +"actualmente, ambas operaciones devuelven :const:`False` en su lugar y están " +"obsoletas." #: ../Doc/whatsnew/3.7.rst:921 msgid "functools" -msgstr "" +msgstr "*functools*" #: ../Doc/whatsnew/3.7.rst:923 msgid "" ":func:`functools.singledispatch` now supports registering implementations " "using type annotations. (Contributed by Łukasz Langa in :issue:`32227`.)" msgstr "" +":func:`functools.singledispatch` ahora admite el registro de " +"implementaciones mediante anotaciones de tipo. (Contribuido por *Łukasz " +"Langa* en :issue:`32227`.)" #: ../Doc/whatsnew/3.7.rst:929 msgid "gc" -msgstr "" +msgstr "*gc*" #: ../Doc/whatsnew/3.7.rst:931 msgid "" @@ -1295,10 +1778,17 @@ msgid "" "obtain the number of frozen objects. (Contributed by Li Zekun in :issue:" "`31558`.)" msgstr "" +"La nueva función :func:`gc.freeze` permite congelar todos los objetos " +"rastreados por el recolector de basura y excluirlos de colecciones futuras. " +"Esto se puede utilizar antes de llamar POSIX ``fork()`` para hacer que la " +"copia en escritura de GC sea amigable o para acelerar la recopilación. La " +"nuevas funciones :func:`gc.unfreeze` revierten esta operación. Además, :func:" +"`gc.get_freeze_count` se puede utilizar para obtener el número de objetos " +"congelados. (Contribuido por *Li Zekun* en :issue:`31558`.)" #: ../Doc/whatsnew/3.7.rst:941 msgid "hmac" -msgstr "" +msgstr "*hmac*" #: ../Doc/whatsnew/3.7.rst:943 msgid "" @@ -1306,10 +1796,12 @@ msgid "" "function, which is up to three times faster than :func:`~hmac.HMAC`. " "(Contributed by Christian Heimes in :issue:`32433`.)" msgstr "" +"El módulo :mod:`hmac` ahora tiene una función one-shot optimizada :func:" +"`~hmac.digest`, que es hasta tres veces más rápida que :func:`~hmac.HMAC`." #: ../Doc/whatsnew/3.7.rst:949 msgid "http.client" -msgstr "" +msgstr "*http.client*" #: ../Doc/whatsnew/3.7.rst:951 msgid "" @@ -1317,10 +1809,13 @@ msgid "" "HTTPSConnection` now support the new *blocksize* argument for improved " "upload throughput. (Contributed by Nir Soffer in :issue:`31945`.)" msgstr "" +":class:`~http.client.HTTPConnection` y :class:`~http.client.HTTPSConnection` " +"ahora admite el nuevo argumento * tamaño de bloque * para mejorar el " +"rendimiento de carga. (Contribuido por *Nir Soffer* en :issue:`31945`.)" #: ../Doc/whatsnew/3.7.rst:957 msgid "http.server" -msgstr "" +msgstr "*http.server*" #: ../Doc/whatsnew/3.7.rst:959 msgid "" @@ -1329,6 +1824,10 @@ msgid "" "target file was not modified after the time specified in the header. " "(Contributed by Pierre Quentel in :issue:`29654`.)" msgstr "" +":class:`~http.server.SimpleHTTPRequestHandler` ahora admite el encabezado " +"HTTP ``If-Modified-Since``. El servidor devuelve el estado de respuesta 304 " +"si el archivo de destino no se modificó después del tiempo especificado en " +"el encabezado. (Contribuido por *Pierre Quentel* en :issue:`29654`.)" #: ../Doc/whatsnew/3.7.rst:964 msgid "" @@ -1338,6 +1837,11 @@ msgid "" "uses the current working directory. (Contributed by Stéphane Wirtel and " "Julien Palard in :issue:`28707`.)" msgstr "" +":class:`~http.server.SimpleHTTPRequestHandler` acepta el nuevo argumento " +"*directorio*, además del nuevo argumento de línea de comando ``—directory``. " +"Con este parámetro, el servidor sirve el directorio especificado, por " +"defecto usa el directorio de trabajo actual. (Contribuido por *Stéphane " +"Wirtel* y *Julien Palard* en :issue:`28707`.)" #: ../Doc/whatsnew/3.7.rst:970 msgid "" @@ -1346,16 +1850,22 @@ msgid "" "It is used when ``http.server`` is run with ``-m``. (Contributed by Julien " "Palard in :issue:`31639`.)" msgstr "" +"La nueva clase :class:`ThreadingHTTPServer ` usa procesos para manejar solicitudes usando :class:" +"`~socketserver.ThreadingMixin`. Se usa cuando se ejecuta ``http.server`` con " +"``-m``. (Contribuido por *Julien Palard* en :issue:`31639`.)" #: ../Doc/whatsnew/3.7.rst:977 msgid "idlelib and IDLE" -msgstr "" +msgstr "*idlelib and IDLE*" #: ../Doc/whatsnew/3.7.rst:979 msgid "" "Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:" "`15786`.)" msgstr "" +"Varias correcciones para autocompletar. (Contribuido por *Louie Lu* en :" +"issue:`15786`.)" #: ../Doc/whatsnew/3.7.rst:981 msgid "" @@ -1364,6 +1874,10 @@ msgid "" "classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan Reedy " "in :issue:`1612262`.)" msgstr "" +"El Explorador de módulos (en el menú Archivo, antes llamado Explorador de " +"clases), ahora muestra funciones y clases anidadas además de funciones y " +"clases de nivel superior. (Contribuido por *Guilherme Polo*, *Cheryl " +"Sabella*, y *Terry Jan Reedy* en :issue:`1612262`.)" #: ../Doc/whatsnew/3.7.rst:987 msgid "" @@ -1371,6 +1885,9 @@ msgid "" "improve both appearance and function. (Contributed by Cheryl Sabella and " "Terry Jan Reedy in multiple issues.)" msgstr "" +"El cuadro de diálogo Configuración (Opciones, Configurar IDLE) se ha " +"reescrito parcialmente para mejorar tanto la apariencia como la función. " +"(Contribuido por *Cheryl Sabella* y *Terry Jan Reedy* en múltiple issues.)" #: ../Doc/whatsnew/3.7.rst:991 msgid "" @@ -1379,6 +1896,11 @@ msgid "" "by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include " "other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)" msgstr "" +"La muestra de fuente ahora incluye una selección de caracteres no latinos " +"para que los usuarios puedan ver mejor el efecto de seleccionar una fuente " +"en particular. (Contribuido por *Terry Jan Reedy* en :issue:`13802`.). La " +"muestra se puede editar para incluir otros caracteres. (Contribuido por " +"*Serhiy Storchaka* en :issue:`31860`.)" #: ../Doc/whatsnew/3.7.rst:997 msgid "" @@ -1387,6 +1909,10 @@ msgid "" "to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan Reedy " "in :issue:`27099`.)" msgstr "" +"Las funciones IDLE implementadas anteriormente como extensiones se han " +"vuelto a implementar como funciones normales. Su configuración se ha movido " +"de la pestaña Extensiones a otras pestañas de diálogo. (Contribuido por " +"*Charles Wohlganger* y *Terry Jan Reedy* en :issue:`27099`.)" #: ../Doc/whatsnew/3.7.rst:1002 msgid "" @@ -1396,6 +1922,12 @@ msgid "" "dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" "`33642`, :issue:`33768`, and :issue:`33679`.)" msgstr "" +"Se revisó la opción de contexto del código del editor. El cuadro muestra " +"todas las líneas de contexto hasta las líneas máximas. Al hacer clic en una " +"línea de contexto, el editor pasa a esa línea. Los colores de contexto para " +"temas personalizados se agregan a la pestaña Destacados del cuadro de " +"diálogo Configuración. (Contribuido por *Cheryl Sabella* y *Terry Jan Reedy* " +"en :issue:`33642`, :issue:`33768`, y :issue:`33679`.)" #: ../Doc/whatsnew/3.7.rst:1008 msgid "" @@ -1405,10 +1937,16 @@ msgid "" "text and lines sharper. It should otherwise have no effect. (Contributed by " "Terry Jan Reedy in :issue:`33656`.)" msgstr "" +"En Windows, una nueva llamada a la API le dice a Windows que tk escala para " +"DPI. En Windows 8.1+ o 10, con las propiedades de compatibilidad de DPI del " +"binario de Python sin cambios y una resolución de monitor superior a 96 DPI, " +"esto debería hacer que el texto y las líneas sean más nítidos. De lo " +"contrario, no debería tener ningún efecto. (Contribuido por *Terry Jan " +"Reedy* en :issue:`33656`.)" #: ../Doc/whatsnew/3.7.rst:1014 msgid "New in 3.7.1:" -msgstr "" +msgstr "Nuevo en 3.7.1:" #: ../Doc/whatsnew/3.7.rst:1016 msgid "" @@ -1419,14 +1957,23 @@ msgid "" "button or into the clipboard or a separate window by right-clicking the " "button. (Contributed by Tal Einat in :issue:`1529353`.)" msgstr "" +"La salida sobre N líneas (50 por defecto) se reduce a un botón. N se puede " +"cambiar en la sección PyShell de la página General del cuadro de diálogo " +"Configuración. Se pueden comprimir menos líneas, pero posiblemente más " +"largas, haciendo clic derecho en la salida. La salida comprimida se puede " +"expandir en su lugar haciendo doble clic en el botón o en el portapapeles o " +"en una ventana separada haciendo clic derecho en el botón. (Contribuido por " +"*Tal Einat* en :issue:`1529353`.)" #: ../Doc/whatsnew/3.7.rst:1023 msgid "The changes above have been backported to 3.6 maintenance releases." msgstr "" +"Los cambios anteriores se han actualizado a las versiones de mantenimiento " +"3.6." #: ../Doc/whatsnew/3.7.rst:1025 msgid "NEW in 3.7.4:" -msgstr "" +msgstr "Nuevo en 3.7.4:" #: ../Doc/whatsnew/3.7.rst:1027 msgid "" @@ -1436,10 +1983,16 @@ msgid "" "normal Shell main module restart. (Contributed by Cheryl Sabella, Terry Jan " "Reedy, and others in :issue:`5680` and :issue:`37627`.)" msgstr "" +"Agregado “Run Customized” al menú Correr para ejecutar un módulo con " +"configuraciones personalizadas. Cualquier argumento de línea de comando " +"ingresado se agrega a sys.argv. Vuelven a aparecer en el cuadro para la " +"siguiente ejecución personalizada. También se puede suprimir el reinicio " +"normal del módulo principal de Shell. (Contribuidor por *Cheryl Sabella*, " +"*Terry Jan Reedy*, y otros en :issue:`5680` y :issue:`37627`.)" #: ../Doc/whatsnew/3.7.rst:1033 msgid "New in 3.7.5:" -msgstr "" +msgstr "Nuevo en 3.7.5:" #: ../Doc/whatsnew/3.7.rst:1035 msgid "" @@ -1449,10 +2002,16 @@ msgid "" "Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" "`17535`.)" msgstr "" +"Agregue números de línea opcionales para las ventanas del editor IDLE. Las " +"ventanas se abren sin números de línea a menos que se establezca lo " +"contrario en la pestaña General del cuadro de diálogo de configuración. Los " +"números de línea de una ventana existente se muestran y ocultan en el menú " +"Opciones. (Contribuido por *Tal Einat* y *Saimadhav Heblikar* en :issue:" +"`17535`.)" #: ../Doc/whatsnew/3.7.rst:1043 ../Doc/whatsnew/3.7.rst:2003 msgid "importlib" -msgstr "" +msgstr "*importlib*" #: ../Doc/whatsnew/3.7.rst:1045 msgid "" @@ -1461,12 +2020,19 @@ msgid "" "`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett Cannon " "in :issue:`32248`.)" msgstr "" +"El :class:`importlib.abc.ResourceReader` ABC se introdujo para admitir la " +"carga de recursos desde paquetes. Ver también :ref:" +"`whatsnew37_importlib_resources`. (Contribuido por *Barry Warsaw*, *Brett " +"Cannon* en :issue:`32248`.)" #: ../Doc/whatsnew/3.7.rst:1050 msgid "" ":func:`importlib.reload` now raises :exc:`ModuleNotFoundError` if the module " "lacks a spec. (Contributed by Garvit Khatri in :issue:`29851`.)" msgstr "" +":func:`importlib.reload` ahora mejora :exc:`ModuleNotFoundError` si el " +"módulo carece de especificación. (Contribuido por *Garvit Khatri* en :issue:" +"`29851`.)" #: ../Doc/whatsnew/3.7.rst:1054 msgid "" @@ -1475,6 +2041,10 @@ msgid "" "e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in :" "issue:`30436`.)" msgstr "" +":func:`importlib.find_spec` ahora mejora :exc:`ModuleNotFoundError` en lugar " +"de :exc:`AttributeError` si el modulo principal especifico no ese un paquete " +"(es decir, carece de un atributo ``__path__``). (Contribuido por *Milan " +"Oberkirch* en :issue:`30436`.)" #: ../Doc/whatsnew/3.7.rst:1059 msgid "" @@ -1482,10 +2052,13 @@ msgid "" "passed source. A :ref:`hash-based .pyc file ` embeds the " "value returned by this function." msgstr "" +"La nueva :func:`importlib.source_hash` se puede utilizar para calcular el " +"hash de la fuente pasada. Un :ref:`archivo .pyc basado en hash ` incrusta el valor devuelto por esta función." #: ../Doc/whatsnew/3.7.rst:1065 msgid "io" -msgstr "" +msgstr "*io*" #: ../Doc/whatsnew/3.7.rst:1067 msgid "" @@ -1494,10 +2067,14 @@ msgid "" "(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki in :issue:" "`15216`.)" msgstr "" +"El nuevo método :meth:`TextIOWrapper.reconfigure() ` se puede utilizar para reconfigurar el flujo de texto con la " +"nueva configuración. (Contribuido por *Antoine Pitrou* en :issue:`30526` y " +"*INADA Naoki* en :issue:`15216`.)" #: ../Doc/whatsnew/3.7.rst:1074 msgid "ipaddress" -msgstr "" +msgstr "*ipaddress*" #: ../Doc/whatsnew/3.7.rst:1076 msgid "" @@ -1506,10 +2083,14 @@ msgid "" "containment tests. (Contributed by Michel Albert and Cheryl Sabella in :" "issue:`20825`.)" msgstr "" +"Los nuevos métodos ``subnet_of()`` y ``supernet_of()`` de :class:`ipaddress." +"IPv6Network` y :class:`ipaddress.IPv4Network` pueden ser usados para pruebas " +"de contención de redes. (Contribuido por *Michel Albert* y *Cheryl Sabella* " +"en :issue:`20825`.)" #: ../Doc/whatsnew/3.7.rst:1083 msgid "itertools" -msgstr "" +msgstr "*itertools*" #: ../Doc/whatsnew/3.7.rst:1085 msgid "" @@ -1517,10 +2098,13 @@ msgid "" "__index__>` as start, stop, and slice arguments. (Contributed by Will " "Roberts in :issue:`30537`.)" msgstr "" +":func:`itertools.islice` ahora acepta :meth:`integer-like objects ` como argumentos de inicio, parada y corte. (Contribuido por " +"*Will Roberts* en :issue:`30537`.)" #: ../Doc/whatsnew/3.7.rst:1092 ../Doc/whatsnew/3.7.rst:2021 msgid "locale" -msgstr "" +msgstr "*locale*" #: ../Doc/whatsnew/3.7.rst:1094 msgid "" @@ -1528,6 +2112,10 @@ msgid "" "make the conversion use monetary thousands separators and grouping strings. " "(Contributed by Garvit in :issue:`10379`.)" msgstr "" +"El nuevo argumento * monetario * para :func:`locale.format_string` se puede " +"utilizar para hacer que la conversión utilice separadores de miles " +"monetarios y cadenas de agrupación. (Contribuido por *Garvit* en :issue:" +"`10379`.)" #: ../Doc/whatsnew/3.7.rst:1098 msgid "" @@ -1535,16 +2123,21 @@ msgid "" "``'UTF-8'`` on Android or when in the :ref:`forced UTF-8 mode `." msgstr "" +"La función :func:`locale.getpreferredencoding` ahora siempre devuelve " +"``’UTF-8’`` en Android o cuando está en el :ref:`modo UTF-8 forzado " +"`." #: ../Doc/whatsnew/3.7.rst:1103 msgid "logging" -msgstr "" +msgstr "*logging*" #: ../Doc/whatsnew/3.7.rst:1105 msgid "" ":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay " "Sajip in :issue:`30520`.)" msgstr "" +":class:`~logging.Logger` instancias ahora pueden ser decapadas. (Contribuido " +"por *Vinay Sajip* en :issue:`30520`.)" #: ../Doc/whatsnew/3.7.rst:1108 msgid "" @@ -1552,6 +2145,10 @@ msgid "" "method can be used to replace the logger stream after handler creation. " "(Contributed by Vinay Sajip in :issue:`30522`.)" msgstr "" +"El nuevo método :meth:`StreamHandler.setStream() ` se puede utilizar para reemplazar la secuencia del registrador " +"después de la creación del controlador. (Contribuido por *Vinay Sajip* en :" +"issue:`30522`.)" #: ../Doc/whatsnew/3.7.rst:1112 msgid "" @@ -1559,30 +2156,37 @@ msgid "" "configuration passed to :func:`logging.config.fileConfig`. (Contributed by " "Preston Landers in :issue:`31080`.)" msgstr "" +"Ahora es posible especificar argumentos de palabras clave para los " +"constructores de manejadores en la configuración pasada a :func:`logging." +"config.fileConfig`. (Contribuido por *Preston Landers* en :issue:`31080`.)" #: ../Doc/whatsnew/3.7.rst:1118 msgid "math" -msgstr "" +msgstr "*math*" #: ../Doc/whatsnew/3.7.rst:1120 msgid "" "The new :func:`math.remainder` function implements the IEEE 754-style " "remainder operation. (Contributed by Mark Dickinson in :issue:`29962`.)" msgstr "" +"La nueva función :func:`math.remainder` implementa la operación de resto de " +"estilo IEEE 754. (Contribuido por *Mark Dickinson* en :issue:`29962`.)" #: ../Doc/whatsnew/3.7.rst:1125 msgid "mimetypes" -msgstr "" +msgstr "*mimetypes*" #: ../Doc/whatsnew/3.7.rst:1127 msgid "" "The MIME type of .bmp has been changed from ``'image/x-ms-bmp'`` to ``'image/" "bmp'``. (Contributed by Nitish Chandra in :issue:`22589`.)" msgstr "" +"El tipo MIME de .bmp se ha cambiado de ``’image/x-ms-bmp’`` a ``’image/" +"bmp’``. (Contribuido por *Nitish Chandra* en :issue:`22589`.)" #: ../Doc/whatsnew/3.7.rst:1133 msgid "msilib" -msgstr "" +msgstr "*msilib*" #: ../Doc/whatsnew/3.7.rst:1135 msgid "" @@ -1590,10 +2194,13 @@ msgid "" "to close the :abbr:`MSI` database. (Contributed by Berker Peksag in :issue:" "`20486`.)" msgstr "" +"El nuevo método :meth:`Database.Close() ` se puede " +"utilizar para cerrar la base de datos :abbr:`MSI`. (Contribuido por *Berker " +"Peksag* en :issue:`20486`.)" #: ../Doc/whatsnew/3.7.rst:1141 msgid "multiprocessing" -msgstr "" +msgstr "*multiprocessing*" #: ../Doc/whatsnew/3.7.rst:1143 msgid "" @@ -1602,6 +2209,10 @@ msgid "" "with it. :exc:`ValueError` is raised if the underlying process is still " "running. (Contributed by Antoine Pitrou in :issue:`30596`.)" msgstr "" +"El nuevo método :meth:`Process.close() ` " +"cierra explícitamente el objeto de proceso y libera todos los recursos " +"asociados con él. :exc:`ValueError` se genera si el proceso subyacente aún " +"se está ejecutando. (Contribuido por *Antoine Pitrou* en :issue:`30596`.)" #: ../Doc/whatsnew/3.7.rst:1149 msgid "" @@ -1609,28 +2220,38 @@ msgid "" "used to terminate the process using the :data:`SIGKILL` signal on Unix. " "(Contributed by Vitor Pereira in :issue:`30794`.)" msgstr "" +"El nuevo método :meth:`Process.kill() ` se " +"puede usar para terminar el proceso usando la señal :data:`SIGKILL` en Unix. " +"(Contribuido por *Vitor Pereira* en :issue:`30794`.)" #: ../Doc/whatsnew/3.7.rst:1153 msgid "" "Non-daemonic threads created by :class:`~multiprocessing.Process` are now " "joined on process exit. (Contributed by Antoine Pitrou in :issue:`18966`.)" msgstr "" +"Subprocesos no demoníacos creados por :class:`~multiprocessing.Process` " +"ahora se unen al salir del proceso. (Contribuido por *Antoine Pitrou* en :" +"issue:`18966`.)" #: ../Doc/whatsnew/3.7.rst:1159 msgid "os" -msgstr "" +msgstr "*os*" #: ../Doc/whatsnew/3.7.rst:1161 msgid "" ":func:`os.fwalk` now accepts the *path* argument as :class:`bytes`. " "(Contributed by Serhiy Storchaka in :issue:`28682`.)" msgstr "" +":func:`os.fwalk` ahora acepta el argumento *path* como :class:`bytes`. " +"(Contribuido por *Serhiy Storchaka* en :issue:`28682`.)" #: ../Doc/whatsnew/3.7.rst:1164 msgid "" ":func:`os.scandir` gained support for :ref:`file descriptors `. " "(Contributed by Serhiy Storchaka in :issue:`25996`.)" msgstr "" +":func:`os.scandir` obtuvo soporte de :ref:`descriptores de archivo " +"`. (Contribuido por *Serhiy Storchaka* en :issue:`25996`.)" #: ../Doc/whatsnew/3.7.rst:1167 msgid "" @@ -1638,6 +2259,9 @@ msgid "" "callbacks to be executed at process fork. (Contributed by Antoine Pitrou in :" "issue:`16500`.)" msgstr "" +"La nueva función :func:`~os.register_at_fork` permite registrar " +"devoluciones de llamada de Python para que se ejecuten en la bifurcación del " +"proceso. (Contribuido por *Antoine Pitrou* en :issue:`16500`.)" #: ../Doc/whatsnew/3.7.rst:1171 msgid "" @@ -1646,6 +2270,10 @@ msgid "" "of :func:`os.writev` and :func:`os.pwrite`). (Contributed by Pablo Galindo " "in :issue:`31368`.)" msgstr "" +"Agrega funciones :func:`os.preadv` (combinando la funcionalidad de :func:`os." +"readv` y :func:`os.pread`) y :func:`os.pwritev` (combinando la funcionalidad " +"de :func:`os.writev` y :func:`os.pwrite`). (Contribuido por *Pablo Galindo* " +"en :issue:`31368`.)" #: ../Doc/whatsnew/3.7.rst:1176 msgid "" @@ -1653,12 +2281,18 @@ msgid "" "permission bits of newly-created intermediate-level directories. " "(Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" +"El argumento de modo de :func:`os.makedirs` ya no afecta a los bits de " +"permisos de archivos de los directorios de nivel intermedio recién creados. " +"(Contribuido por *Serhiy Storchaka* en :issue:`19930`.)" #: ../Doc/whatsnew/3.7.rst:1180 msgid "" ":func:`os.dup2` now returns the new file descriptor. Previously, ``None`` " "was always returned. (Contributed by Benjamin Peterson in :issue:`32441`.)" msgstr "" +":func:`os.dup2` ahora retorna el nuevo descriptor de archivo. Previamente, " +"``None`` siempre fue retornado. (Contribuido por *Benjamin Peterson* en :" +"issue:`32441`.)" #: ../Doc/whatsnew/3.7.rst:1184 msgid "" @@ -1666,10 +2300,13 @@ msgid "" "stat_result.st_fstype` attribute on Solaris and its derivatives. " "(Contributed by Jesús Cea Avión in :issue:`32659`.)" msgstr "" +"La estructura retornada por :func:`os.stat` ahora contiene el atributo :" +"attr:`~os.stat_result.st_fstype` en Solaris y sus derivados. (Contribuido " +"por *Jesús Cea Avión* en :issue:`32659`.)" #: ../Doc/whatsnew/3.7.rst:1190 msgid "pathlib" -msgstr "" +msgstr "*pathlib*" #: ../Doc/whatsnew/3.7.rst:1192 msgid "" @@ -1677,10 +2314,14 @@ msgid "" "available on POSIX systems and can be used to determine whether a path is a " "mount point. (Contributed by Cooper Ry Lees in :issue:`30897`.)" msgstr "" +"El nuevo método :meth:`Path.is_mount() ` ahora está " +"disponible en los sistemas POSIX y se puede utilizar para determinar si una " +"ruta es un punto de montaje. (Contribuido por *Cooper Ry Lees* en :issue:" +"`30897`.)" #: ../Doc/whatsnew/3.7.rst:1198 msgid "pdb" -msgstr "" +msgstr "*pdb*" #: ../Doc/whatsnew/3.7.rst:1200 msgid "" @@ -1688,16 +2329,23 @@ msgid "" "If given, it is printed to the console just before debugging begins. " "(Contributed by Barry Warsaw in :issue:`31389`.)" msgstr "" +":func:`pdb.set_trace` ahora toma un argumento opcional *header* solo de " +"palabra clave. Si se proporciona, se imprime en la consola justo antes de " +"que comience la depuración. (Contribuido por *Barry Warsaw* en :issue:" +"`31389`.)" #: ../Doc/whatsnew/3.7.rst:1204 msgid "" ":mod:`pdb` command line now accepts ``-m module_name`` as an alternative to " "script file. (Contributed by Mario Corchero in :issue:`32206`.)" msgstr "" +":mod:`pdb` la línea de comando ahora acepta ``-m module_name`` como una " +"alternativa al archivo de script. (Contribuido por *Mario Corchero* en :" +"issue:`32206`.)" #: ../Doc/whatsnew/3.7.rst:1209 msgid "py_compile" -msgstr "" +msgstr "*py_compile*" #: ../Doc/whatsnew/3.7.rst:1211 msgid "" @@ -1708,10 +2356,16 @@ msgid "" "org/>`_ of ``.pyc`` files when they are created eagerly. (Contributed by " "Bernhard M. Wiedemann in :issue:`29708`.)" msgstr "" +":func:`py_compile.compile` — y por extensión, :mod:`compileall` — ahora " +"respeta la variable de entorno :envvar:`SOURCE_DATE_EPOCH` creando " +"incondicionalmente archivos ``.pyc`` para la validación basada en hash. Esto " +"permite garantizar `compilaciones reproducibles `_ de archivos ``.pyc`` cuando se crean con entusiasmo. (Contribuido " +"por *Bernhard M. Wiedemann* en :issue:`29708`.)" #: ../Doc/whatsnew/3.7.rst:1221 msgid "pydoc" -msgstr "" +msgstr "*pydoc*" #: ../Doc/whatsnew/3.7.rst:1223 msgid "" @@ -1719,20 +2373,25 @@ msgid "" "``-n`` command-line argument. (Contributed by Feanil Patel in :issue:" "`31128`.)" msgstr "" +"El servidor *pydoc* ahora puede vincularse a un nombre de host arbitrario " +"especificado por el nuevo argumento de línea de comandos ``-n``. " +"(Contribuido por *Feanil Patel* en :issue:`31128`.)" #: ../Doc/whatsnew/3.7.rst:1229 msgid "queue" -msgstr "" +msgstr "*queue*" #: ../Doc/whatsnew/3.7.rst:1231 msgid "" "The new :class:`~queue.SimpleQueue` class is an unbounded :abbr:`FIFO` " "queue. (Contributed by Antoine Pitrou in :issue:`14976`.)" msgstr "" +"La nueva clase :class:`~queue.SimpleQueue` es una cola ilimitada :abbr:" +"`FIFO`. (Contribuido por *Antoine Pitrou* en :issue:`14976`.)" #: ../Doc/whatsnew/3.7.rst:1236 msgid "re" -msgstr "" +msgstr "*re*" #: ../Doc/whatsnew/3.7.rst:1238 msgid "" @@ -1740,6 +2399,9 @@ msgid "" "be set within the scope of a group. (Contributed by Serhiy Storchaka in :" "issue:`31690`.)" msgstr "" +"Las banderas :const:`re.ASCII`, :const:`re.LOCALE` y :const:`re.UNICODE` se " +"pueden establecer dentro del alcance de un grupo. (Contribuido por *Serhiy " +"Storchaka* en :issue:`31690`.)" #: ../Doc/whatsnew/3.7.rst:1242 msgid "" @@ -1747,6 +2409,9 @@ msgid "" "$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " "Storchaka in :issue:`25054`.)" msgstr "" +":func:`re.split` ahora admite la división en un patrón como ``r’\\b’``, ``’^" +"$’`` or ``(?=-)`` que coincide con una cadena vacía. (Contribuido por " +"*Serhiy Storchaka* en :issue:`25054`.)" #: ../Doc/whatsnew/3.7.rst:1246 msgid "" @@ -1755,6 +2420,10 @@ msgid "" "the compiled regular expression is used. (Contributed by Serhiy Storchaka " "in :issue:`30215`.)" msgstr "" +"Las expresiones regulares compiladas con el indicador :const:`re.LOCALE` ya " +"no dependen de la configuración regional en el momento de la compilación. La " +"configuración regional se aplica solo cuando se utiliza la expresión regular " +"compilada. (Contribuido por *Serhiy Storchaka* en :issue:`30215`.)" #: ../Doc/whatsnew/3.7.rst:1251 msgid "" @@ -1763,6 +2432,10 @@ msgid "" "as nested sets and set operations. (Contributed by Serhiy Storchaka in :" "issue:`30349`.)" msgstr "" +":exc:`FutureWarning` ahora se emite si una expresión regular contiene " +"construcciones de conjuntos de caracteres que cambiarán semánticamente en el " +"futuro, como conjuntos anidados y operaciones de conjuntos. (Contribuido por " +"*Serhiy Storchaka* en :issue:`30349`.)" #: ../Doc/whatsnew/3.7.rst:1256 msgid "" @@ -1770,10 +2443,13 @@ msgid "" "`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy Storchaka in :" "issue:`10076`.)" msgstr "" +"Las expresiones regulares compiladas y los objetos coincidentes ahora se " +"pueden copiar usando :func:`copy.copy` y :func:`copy.deepcopy`. (Contribuido " +"por *Serhiy Storchaka* en :issue:`10076`.)" #: ../Doc/whatsnew/3.7.rst:1262 msgid "signal" -msgstr "" +msgstr "*signal*" #: ../Doc/whatsnew/3.7.rst:1264 msgid "" @@ -1782,10 +2458,14 @@ msgid "" "stderr when the wakeup buffer overflows. (Contributed by Nathaniel J. Smith " "in :issue:`30050`.)" msgstr "" +"El nuevo argumento * warn_on_full_buffer * para la función :func:`signal." +"set_wakeup_fd` permite especificar si Python imprime una advertencia en " +"*stderr* cuando el búfer de activación se desborda. (Contribuido por " +"*Nathaniel J. Smith* en :issue:`30050`.)" #: ../Doc/whatsnew/3.7.rst:1271 ../Doc/whatsnew/3.7.rst:2044 msgid "socket" -msgstr "" +msgstr "*socket*" #: ../Doc/whatsnew/3.7.rst:1273 msgid "" @@ -1793,6 +2473,9 @@ msgid "" "returns ``True`` if the socket is in blocking mode and ``False`` otherwise. " "(Contributed by Yury Selivanov in :issue:`32373`.)" msgstr "" +"El nuevo método :func:`socket.getblocking() ` " +"retorna ``True`` si el socket esta en modo bloqueo y ``False`` en caso " +"contrario. (Contribuido por *Yury Selivanov* en :issue:`32373`.)" #: ../Doc/whatsnew/3.7.rst:1277 msgid "" @@ -1801,6 +2484,10 @@ msgid "" "better compatibility across platforms. (Contributed by Christian Heimes in :" "issue:`32454`.)" msgstr "" +"La nueva función :func:`socket.close` cierra el descriptor de archivo de " +"socket pasado. Esta función debe usarse en lugar de :func:`os.close` para " +"una mejor compatibilidad entre plataformas. (Contribuido por *Christian " +"Heimes* en :issue:`32454`.)" #: ../Doc/whatsnew/3.7.rst:1282 msgid "" @@ -1809,6 +2496,10 @@ msgid "" "`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by Omar " "Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" msgstr "" +"El módulo :mod:`socket` ahora expone las constantes :data:`socket." +"TCP_CONGESTION` (Linux 2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux " +"2.6.37), y :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12). (Contribuido por " +"*Omar Sandoval* en :issue:`26273` y *Nathaniel J. Smith* en :issue:`29728`.)" #: ../Doc/whatsnew/3.7.rst:1288 msgid "" @@ -1816,16 +2507,22 @@ msgid "" "communication between virtual machines and their hosts. (Contributed by " "Cathy Avery in :issue:`27584`.)" msgstr "" +"Se ha agregado soporte para :data:`socket.AF_VSOCK` *sockets* para permitir " +"la comunicación entre las máquinas virtuales y sus hosts. (Contribuido por " +"*Cathy Avery* en :issue:`27584`.)" #: ../Doc/whatsnew/3.7.rst:1292 msgid "" "Sockets now auto-detect family, type and protocol from file descriptor by " "default. (Contributed by Christian Heimes in :issue:`28134`.)" msgstr "" +"Los sockets ahora detectan automáticamente la familia, el tipo y el " +"protocolo del descriptor de archivo de forma predeterminada. (Contribuido " +"por *Christian Heimes* en :issue:`28134`.)" #: ../Doc/whatsnew/3.7.rst:1298 msgid "socketserver" -msgstr "" +msgstr "*socketserver*" #: ../Doc/whatsnew/3.7.rst:1300 msgid "" @@ -1833,6 +2530,10 @@ msgid "" "daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now " "waits until all child processes complete." msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` ahora espera hasta que se " +"completen todos los subprocesos que no son demonios. :meth:`socketserver." +"ForkingMixIn.server_close` ahora espera hasta que se completen todos los " +"procesos secundarios." #: ../Doc/whatsnew/3.7.rst:1304 msgid "" @@ -1841,10 +2542,14 @@ msgid "" "ThreadingMixIn` classes. Set the class attribute to ``False`` to get the " "pre-3.7 behaviour." msgstr "" +"Agregue un nuevo atributo de clase :attr:`socketserver.ForkingMixIn." +"block_on_close` a las clases :class:`socketserver.ForkingMixIn` y :class:" +"`socketserver.ThreadingMixIn`. Establece el atributo de clase en ``False`` " +"para obtener el comportamiento anterior a 3.7." #: ../Doc/whatsnew/3.7.rst:1310 msgid "sqlite3" -msgstr "" +msgstr "*sqlite3*" #: ../Doc/whatsnew/3.7.rst:1312 msgid "" @@ -1852,6 +2557,9 @@ msgid "" "backup` method when the underlying SQLite library is at version 3.6.11 or " "higher. (Contributed by Lele Gaifax in :issue:`27645`.)" msgstr "" +":class:`sqlite3.Connection` ahora expone el método :meth:`~sqlite3." +"Connection.backup` cuando la biblioteca SQLite subyacente está en la versión " +"3.6.11 o superior. (Contribuido por *Lele Gaifax* en :issue:`27645`.)" #: ../Doc/whatsnew/3.7.rst:1316 msgid "" @@ -1859,10 +2567,13 @@ msgid "" "`path-like object`, instead of just a string. (Contributed by Anders " "Lorentsen in :issue:`31843`.)" msgstr "" +"El argumento * base de datos * de :func:`sqlite3.connect` ahora acepta " +"cualquier :term:`path-like object`, en lugar de solo una cadena. " +"(Contribuido por *Anders Lorentsen* en :issue:`31843`.)" #: ../Doc/whatsnew/3.7.rst:1322 ../Doc/whatsnew/3.7.rst:2053 msgid "ssl" -msgstr "" +msgstr "*ssl*" #: ../Doc/whatsnew/3.7.rst:1324 msgid "" @@ -1876,20 +2587,37 @@ msgid "" "hostname_checks_common_name>`. (Contributed by Christian Heimes in :issue:" "`31399`.)" msgstr "" +"El módulo :mod:`ssl` ahora usa la API integrada de OpenSSL en lugar de :func:" +"`~ssl.match_hostname` para comprobar un nombre de host o una dirección IP. " +"Los valores se validan durante el protocolo de enlace TLS. Cualquier error " +"de validación de certificado, incluida la falla en la verificación del " +"nombre de host, ahora aumenta :exc:`~ssl.SSLCertVerificationError` y aborta " +"el protocolo de enlace con un mensaje de alerta TLS adecuado. La nueva " +"excepción contiene información adicional. La validación del nombre de host " +"se puede personalizar con :attr:`SSLContext.hostname_checks_common_name `. (Contribuido por *Christian " +"Heimes* en :issue:`31399`.)" #: ../Doc/whatsnew/3.7.rst:1335 msgid "" -"The improved host name check requires a *libssl* implementation compatible " +"The improved host name check requires a libssl implementation compatible " "with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no " "longer supported (see :ref:`37-platform-support-removals` for more details). " "The ssl module is mostly compatible with LibreSSL 2.7.2 and newer." msgstr "" +"La verificación mejorada del nombre de host requiere una implementación " +"*libssl* compatible con OpenSSL 1.0.2 o 1.1. En consecuencia, OpenSSL 0.9.8 " +"y 1.0.1 ya no son compatibles (consulte :ref:`37-platform-support-removals` " +"para más detalles). El módulo *ssl* es principalmente compatible con " +"LibreSSL 2.7.2 y versiones posteriores." #: ../Doc/whatsnew/3.7.rst:1340 msgid "" "The ``ssl`` module no longer sends IP addresses in SNI TLS extension. " "(Contributed by Christian Heimes in :issue:`32185`.)" msgstr "" +"El módulo ``ssl`` ya no envía direcciones IP en la extensión SNI TLS. " +"(Contribuido por *Christian Heimes* en :issue:`32185`.)" #: ../Doc/whatsnew/3.7.rst:1343 msgid "" @@ -1897,6 +2625,9 @@ msgid "" "example.org``. (Contributed by Mandeep Singh in :issue:`23033` and Christian " "Heimes in :issue:`31399`.)" msgstr "" +":func:`~ssl.match_hostname` ya no admite comodines parciales como ``www*." +"example.org``. (Contribuido por *Mandeep Singh* en :issue:`23033` y " +"*Christian Heimes* en :issue:`31399`.)" #: ../Doc/whatsnew/3.7.rst:1348 msgid "" @@ -1906,6 +2637,12 @@ msgid "" "cipher suite selection can be configured at compile time. (Contributed by " "Christian Heimes in :issue:`31429`.)" msgstr "" +"La selección del conjunto de cifrado predeterminado del módulo ``ssl`` ahora " +"usa un enfoque de lista negra en lugar de una lista blanca codificada. " +"Python ya no vuelve a habilitar los cifrados que han sido bloqueados por las " +"actualizaciones de seguridad de OpenSSL. La selección del conjunto de " +"cifrado predeterminado se puede configurar en tiempo de compilación. " +"(Contribuido por *Christian Heimes* en :issue:`31429`.)" #: ../Doc/whatsnew/3.7.rst:1354 msgid "" @@ -1916,6 +2653,13 @@ msgid "" "the U-label form (``\"pythön.org\"``). (Contributed by Nathaniel J. Smith " "and Christian Heimes in :issue:`28414`.)" msgstr "" +"Ahora se admite la validación de certificados de servidor que contienen " +"nombres de dominio internacionalizados (IDN). Como parte de este cambio, el " +"atributo :attr:`SSLSocket.server_hostname ` " +"ahora almacena el nombre de host esperado en forma de etiqueta A (``”xn--" +"pythn-mua.org”``), en lugar de la forma de etiqueta U (``”pythön.org”``). " +"(Contribuido por *Nathaniel J. Smith* y *Christian Heimes* en :issue:" +"`28414`.)" #: ../Doc/whatsnew/3.7.rst:1361 msgid "" @@ -1926,6 +2670,13 @@ msgid "" "earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes in :issue:" "`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and :issue:`33618`)" msgstr "" +"El módulo ``ssl`` tiene soporte preliminar y experimental para TLS 1.3 y " +"OpenSSL 1.1.1. En el momento del lanzamiento de Python 3.7.0, OpenSSL 1.1.1 " +"todavía está en desarrollo y TLS 1.3 aún no se ha finalizado. El protocolo y " +"el protocolo de enlace TLS 1.3 se comportan de forma ligeramente diferente a " +"TLS 1.2 y versiones anteriores, consulte :ref:`ssl-tlsv1_3`. (Contribuido " +"por *Christian Heimes* en :issue:`32947`, :issue:`20995`, :issue:`29136`, :" +"issue:`30622` y :issue:`33618`)" #: ../Doc/whatsnew/3.7.rst:1369 msgid "" @@ -1935,6 +2686,11 @@ msgid "" "meth:`~ssl.SSLContext.wrap_socket` and :meth:`~ssl.SSLContext.wrap_bio`. " "(Contributed by Christian Heimes in :issue:`32951`)" msgstr "" +":class:`~ssl.SSLSocket` y :class:`~ssl.SSLObject` ya no tiene un constructor " +"público. La creación de instancias directa nunca fue una característica " +"documentada y compatible. Las instancias deben crearse con métodos :class:" +"`~ssl.SSLContext` :meth:`~ssl.SSLContext.wrap_socket` y :meth:`~ssl." +"SSLContext.wrap_bio`. (Contribuido por *Christian Heimes* en :issue:`32951`)" #: ../Doc/whatsnew/3.7.rst:1375 msgid "" @@ -1945,10 +2701,16 @@ msgid "" "such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by Christian Heimes in :issue:" "`32609`.)" msgstr "" +"Las API de OpenSSL 1.1 para configurar la versión mínima y máxima del " +"protocolo TLS están disponibles como :attr:`SSLContext.minimum_version ` y :attr:`SSLContext.maximum_version `. Los protocolos admitidos se indican mediante " +"varios indicadores nuevos, como :data:`~ssl.HAS_TLSv1_1`. (Contribuido por " +"*Christian Heimes* en :issue:`32609`.)" #: ../Doc/whatsnew/3.7.rst:1384 msgid "string" -msgstr "" +msgstr "*string*" #: ../Doc/whatsnew/3.7.rst:1386 msgid "" @@ -1956,10 +2718,14 @@ msgid "" "expression pattern for braced placeholders and non-braced placeholders " "separately. (Contributed by Barry Warsaw in :issue:`1198569`.)" msgstr "" +":class:`string.Template` ahora le permite modificar opcionalmente el patrón " +"de expresión regular para marcadores de posición reforzados y marcadores de " +"posición no reforzados por separado. (Contribuido por *Barry Warsaw* en :" +"issue:`1198569`.)" #: ../Doc/whatsnew/3.7.rst:1392 msgid "subprocess" -msgstr "" +msgstr "*subprocess*" #: ../Doc/whatsnew/3.7.rst:1394 msgid "" @@ -1968,6 +2734,10 @@ msgid "" "to passing :data:`subprocess.PIPE` as *stdout* and *stderr* arguments. " "(Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" +"La función :func:`subprocess.run` acepta el nuevo argumento de palabra clave " +"*capture_output*. Cuando es verdadero, se capturarán *stdout* y *stderr*. " +"Esto es equivalente a pasar :data:`subprocess.PIPE` como argumentos *stdout* " +"y *stderr*. (Contribuido por *Bo Bayles* en :issue:`32102`.)" #: ../Doc/whatsnew/3.7.rst:1400 msgid "" @@ -1975,6 +2745,9 @@ msgid "" "constructor now accept the *text* keyword argument as an alias to " "*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)" msgstr "" +"La función ``subprocess.run`` y el constructor :class:`subprocess.Popen` " +"ahora aceptan la palabra clave del argumento *text* como un alias para " +"*universal_newlines*. (Contribuido por *Andrew Clegg* en :issue:`31756`.)" #: ../Doc/whatsnew/3.7.rst:1405 msgid "" @@ -1984,6 +2757,12 @@ msgid "" "`subprocess.Popen`. This means that *close_fds* now defaults to ``True`` on " "all supported platforms. (Contributed by Segev Finer in :issue:`19764`.)" msgstr "" +"En Windows, el valor predeterminado de *close_fds* se cambió de ``False`` a " +"``True`` al redirigir los identificadores estándar. Ahora es posible " +"establecer *close_fds* en verdadero al redirigir los identificadores " +"estándar. Ver :class:`subprocess.Popen`. Esto significa que *close_fds* " +"ahora tiene el valor predeterminado de ``True`` en todas las plataformas " +"compatibles. (Contribuido por *Segev Finer* en :issue:`19764`.)" #: ../Doc/whatsnew/3.7.rst:1412 msgid "" @@ -1994,22 +2773,34 @@ msgid "" "``KeyboardInterrupt`` exception. (Contributed by Gregory P. Smith in :issue:" "`25942`.)" msgstr "" +"El módulo de subproceso ahora es más elegante al manejar :exc:" +"`KeyboardInterrupt` durante: :func:`subprocess.call`, :func:`subprocess." +"run`, o en un administrador de contexto :class:`~subprocess.Popen`. Ahora " +"espera un corto período de tiempo para que el niño salga, antes de continuar " +"con el manejo de la excepción ``KeyboardInterrupt``. (Contribuido por " +"*Gregory P. Smith* en :issue:`25942`.)" #: ../Doc/whatsnew/3.7.rst:1422 ../Doc/whatsnew/3.7.rst:2069 msgid "sys" -msgstr "" +msgstr "*sys*" #: ../Doc/whatsnew/3.7.rst:1424 msgid "" "The new :func:`sys.breakpointhook` hook function is called by the built-in :" "func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" msgstr "" +"La nueva función de enganche :func:`sys.breakpointhook` es llamada por la " +"incorporada :func:`breakpoint`. (Contribuido por *Barry Warsaw* en :issue:" +"`31353`.)" #: ../Doc/whatsnew/3.7.rst:1428 msgid "" "On Android, the new :func:`sys.getandroidapilevel` returns the build-time " "Android API version. (Contributed by Victor Stinner in :issue:`28740`.)" msgstr "" +"En Android, la nueva :func:`sys.getandroidapilevel` devuelve la versión de " +"la API de Android en tiempo de compilación. (Contribuido por *Victor " +"Stinner* en :issue:`28740`.)" #: ../Doc/whatsnew/3.7.rst:1432 msgid "" @@ -2020,20 +2811,28 @@ msgid "" "set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in :issue:" "`32591`.)" msgstr "" +"La nueva función :func:`sys.get_coroutine_origin_tracking_depth` devuelve la " +"profundidad de seguimiento del origen de la corrutina actual, según lo " +"establecido por el nuevo :func:`sys.set_coroutine_origin_tracking_depth`. :" +"mod:`asyncio` se ha convertido para usar esta nueva API en lugar de la " +"obsoleta :func:`sys.set_coroutine_wrapper`. (Contribuido por *Nathaniel J. " +"Smith* en :issue:`32591`.)" #: ../Doc/whatsnew/3.7.rst:1441 msgid "time" -msgstr "" +msgstr "*time*" #: ../Doc/whatsnew/3.7.rst:1443 msgid "" ":pep:`564` adds six new functions with nanosecond resolution to the :mod:" "`time` module:" msgstr "" +":pep:`564` añade seis nuevas funciones con resolución de nanosegundos al " +"modulo :mod:`time`:" #: ../Doc/whatsnew/3.7.rst:1453 msgid "New clock identifiers have been added:" -msgstr "" +msgstr "Se han agregado nuevos identificadores de reloj:" #: ../Doc/whatsnew/3.7.rst:1455 msgid "" @@ -2041,12 +2840,17 @@ msgid "" "CLOCK_MONOTONIC`, except it also includes any time that the system is " "suspended." msgstr "" +":data:`time.CLOCK_BOOTTIME` (Linux): Idéntico a :data:`time." +"CLOCK_MONOTONIC`, excepto que también incluye cualquier momento en que el " +"sistema esté suspendido." #: ../Doc/whatsnew/3.7.rst:1458 msgid "" ":data:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" "process CPU timer." msgstr "" +":data:`time.CLOCK_PROF` (FreeBSD, NetBSD y OpenBSD): Temporizador de CPU por " +"proceso de alta resolución." #: ../Doc/whatsnew/3.7.rst:1460 msgid "" @@ -2054,6 +2858,9 @@ msgid "" "the time the system has been running and not suspended, providing accurate " "uptime measurement." msgstr "" +":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Hora cuyo valor absoluto es el " +"tiempo que el sistema ha estado funcionando y no suspendido, proporcionando " +"una medición precisa del tiempo de actividad." #: ../Doc/whatsnew/3.7.rst:1464 msgid "" @@ -2061,26 +2868,33 @@ msgid "" "can be used to get per-thread CPU time measurements. (Contributed by Antoine " "Pitrou in :issue:`32025`.)" msgstr "" +"La nuevas funciones :func:`time.thread_time` y :func:`time.thread_time_ns` " +"se puede utilizar para obtener medidas de tiempo de CPU por subproceso. " +"(Contribuido por *Antoine Pitrou* en :issue:`32025`.)" #: ../Doc/whatsnew/3.7.rst:1468 msgid "" "The new :func:`time.pthread_getcpuclockid` function returns the clock ID of " "the thread-specific CPU-time clock." msgstr "" +"La nueva función :func:`time.pthread_getcpuclockid` devuelve el ID de reloj " +"del reloj de tiempo de CPU específico del subproceso." #: ../Doc/whatsnew/3.7.rst:1473 msgid "tkinter" -msgstr "" +msgstr "*tkinter*" #: ../Doc/whatsnew/3.7.rst:1475 msgid "" "The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by " "Alan Moore in :issue:`32585`.)" msgstr "" +"La nueva clase :class:`tkinter.ttk.Spinbox` esta disponible ahora. " +"(Contribuido por *Alan Moore* en :issue:`32585`.)" #: ../Doc/whatsnew/3.7.rst:1480 msgid "tracemalloc" -msgstr "" +msgstr "*tracemalloc*" #: ../Doc/whatsnew/3.7.rst:1482 msgid "" @@ -2091,10 +2905,17 @@ msgid "" "the new *most_recent_first* argument to ``Traceback.format()``. (Contributed " "by Jesse Bakker in :issue:`32121`.)" msgstr "" +":class:`tracemalloc.Traceback` se comporta más como rastreos regulares, " +"ordenando los fotogramas del más antiguo al más reciente. :meth:`Traceback." +"format() ` ahora acepta *límite* negativo, " +"truncando el resultado a los marcos más antiguos de ``abs(limit)``. Para " +"obtener el comportamiento anterior, use el nuevo argumento " +"*most_recent_first* para ``Traceback.format()``. (Contribuido por *Jesse " +"Bakker* en :issue:`32121`.)" #: ../Doc/whatsnew/3.7.rst:1492 msgid "types" -msgstr "" +msgstr "*types*" #: ../Doc/whatsnew/3.7.rst:1494 msgid "" @@ -2104,6 +2925,11 @@ msgid "" "Krebber and Guido van Rossum in :issue:`29377`, and Serhiy Storchaka in :" "issue:`32265`.)" msgstr "" +"Las nuevas clases :class:`~types.WrapperDescriptorType`, :class:`~types." +"MethodWrapperType`, :class:`~types.MethodDescriptorType`, y :class:`~types." +"ClassMethodDescriptorType` ahora están disponibles. (Contribuido por *Manuel " +"Krebber* y *Guido van Rossum* en :issue:`29377`, y *Serhiy Storchaka* en :" +"issue:`32265`.)" #: ../Doc/whatsnew/3.7.rst:1500 msgid "" @@ -2111,10 +2937,13 @@ msgid "" "dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in :" "issue:`32717`.)" msgstr "" +"La nueva función :func:`types.resolve_bases` resuelve las entradas MRO " +"dinámicamente según lo especificado por :pep:`560`. (Contribuido por *Ivan " +"Levkivskyi* en :issue:`32717`.)" #: ../Doc/whatsnew/3.7.rst:1506 msgid "unicodedata" -msgstr "" +msgstr "*unicodedata*" #: ../Doc/whatsnew/3.7.rst:1508 msgid "" @@ -2122,10 +2951,13 @@ msgid "" "11 `_. (Contributed by " "Benjamin Peterson.)" msgstr "" +"La base de datos interna :mod:`unicodedata` ha sido actualizada para usar " +"`Unicode 11 `_. (Contribuido " +"por *Benjamin Peterson*.)" #: ../Doc/whatsnew/3.7.rst:1514 msgid "unittest" -msgstr "" +msgstr "*unittest*" #: ../Doc/whatsnew/3.7.rst:1516 msgid "" @@ -2135,10 +2967,15 @@ msgid "" "test_foo``, but not ``bar_tests.FooTest.test_something``. (Contributed by " "Jonas Haag in :issue:`32071`.)" msgstr "" +"La nueva opción de la linea de comandos ``-k`` permite filtrar pruebas por " +"una subcadena de nombre o un patrón similar a un shell de Unix. Por ejemplo, " +"`python -m unittest -k foo`` ejecuta ``foo_tests.SomeTest.test_something``, " +"``bar_tests.SomeTest.test_foo``, pero no ``bar_tests.FooTest." +"test_something``. (Contribuido por *Jonas Haag* en :issue:`32071`.)" #: ../Doc/whatsnew/3.7.rst:1525 msgid "unittest.mock" -msgstr "" +msgstr "*unittest.mock*" #: ../Doc/whatsnew/3.7.rst:1527 msgid "" @@ -2146,6 +2983,9 @@ msgid "" "when they are :mod:`copied ` or :mod:`pickled `. (Contributed " "by Serhiy Storchaka in :issue:`20804`.)" msgstr "" +"Los atributos :const:`~unittest.mock.sentinel` ahora preservan su identidad " +"cuando están :mod:`copied ` o :mod:`pickled `. (Contribuido " +"por *Serhiy Storchaka* en :issue:`20804`.)" #: ../Doc/whatsnew/3.7.rst:1531 msgid "" @@ -2154,10 +2994,15 @@ msgid "" "attribute mocks. The seal is applied recursively to all attributes that are " "themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)" msgstr "" +"La nueva función :func:`~unittest.mock.seal` permite sellar instancias :" +"class:`~unittest.mock.Mock`, que no permitirá la creación de simulacros de " +"atributos. El sello se aplica de forma recursiva a todos los atributos que " +"en sí mismos son burlas. (Contribuido por *Mario Corchero* en :issue:" +"`30541`.)" #: ../Doc/whatsnew/3.7.rst:1539 msgid "urllib.parse" -msgstr "" +msgstr "*urllib.parse*" #: ../Doc/whatsnew/3.7.rst:1541 msgid "" @@ -2165,10 +3010,14 @@ msgid "" "adding ``~`` to the set of characters that are never quoted by default. " "(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)" msgstr "" +":func:`urllib.parse.quote` ha sido actualizada desde :rfc:`2396` a :rfc:" +"`3986`, agregado ``~`` para el conjunto de caracteres que nunca se cotizan " +"por defecto. (Contribuido por *Christian Theune* y *Ratnadeep Debnath* en :" +"issue:`16285`.)" #: ../Doc/whatsnew/3.7.rst:1547 msgid "uu" -msgstr "" +msgstr "*uu*" #: ../Doc/whatsnew/3.7.rst:1549 msgid "" @@ -2176,10 +3025,14 @@ msgid "" "argument. When it's true, zeros are represented by ``'`'`` instead of " "spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" msgstr "" +"La nueva función :func:`uu.encode` ahora acepta un argumento opcional de " +"palabra clave *backtick*. Mientras esto se verdadero, los ceros son " +"representados por ``’`’`` en lugar de espacios. (Contribuido por *Xiang " +"Zhang* en :issue:`30103`.)" #: ../Doc/whatsnew/3.7.rst:1555 msgid "uuid" -msgstr "" +msgstr "*uuid*" #: ../Doc/whatsnew/3.7.rst:1557 msgid "" @@ -2188,6 +3041,10 @@ msgid "" "with a multiprocessing-safe method. (Contributed by Barry Warsaw in :issue:" "`22807`.)" msgstr "" +"El nuevo atributo :attr:`UUID.is_safe ` transmite " +"información de la plataforma sobre si los UUID generados se generan con un " +"método seguro para multiprocesamiento. (Contribuido por *Barry Warsaw* en :" +"issue:`22807`.)" #: ../Doc/whatsnew/3.7.rst:1562 msgid "" @@ -2197,15 +3054,23 @@ msgid "" "administered MAC addresses are available, the first such one found is " "returned. (Contributed by Barry Warsaw in :issue:`32107`.)" msgstr "" +":func:`uuid.getnode` ahora prefiere las direcciones MAC administradas " +"universalmente a las direcciones MAC administradas localmente. Esto ofrece " +"una mejor garantía de la unicidad global de los UUID devueltos desde :func:" +"`uuid.uuid1`. Si solo hay disponibles direcciones MAC administradas " +"localmente, se devuelve la primera que se encuentre. (Contribuido por *Barry " +"Warsaw* en :issue:`32107`.)" #: ../Doc/whatsnew/3.7.rst:1571 msgid "warnings" -msgstr "" +msgstr "*warnings*" #: ../Doc/whatsnew/3.7.rst:1573 msgid "" "The initialization of the default warnings filters has changed as follows:" msgstr "" +"La inicialización de los filtros de advertencias predeterminados ha cambiado " +"de la siguiente manera:" #: ../Doc/whatsnew/3.7.rst:1575 msgid "" @@ -2213,47 +3078,64 @@ msgid "" "and the new CPython-specific :option:`-X` ``dev`` option) are always passed " "to the warnings machinery via the :data:`sys.warnoptions` attribute." msgstr "" +"advertencias habilitadas a través de opciones de línea de comando (incluidos " +"los de :option:`-b` y la nueva opción específica de CPython :option:`-X` " +"``dev``) siempre se pasan a la maquinaria de advertencias a través del " +"atributo :data:`sys.warnoptions`." #: ../Doc/whatsnew/3.7.rst:1579 msgid "" "warnings filters enabled via the command line or the environment now have " "the following order of precedence:" msgstr "" +"los filtros de advertencias habilitados a través de la línea de comandos o " +"el entorno ahora tienen el siguiente orden de prioridad:" #: ../Doc/whatsnew/3.7.rst:1582 msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)" -msgstr "" +msgstr "el filtro ``BytesWarning`` para :option:`-b` (o ``-bb``)" #: ../Doc/whatsnew/3.7.rst:1583 msgid "any filters specified with the :option:`-W` option" -msgstr "" +msgstr "cualquier filtro especificado con la opción :option:`-W`" #: ../Doc/whatsnew/3.7.rst:1584 msgid "" "any filters specified with the :envvar:`PYTHONWARNINGS` environment variable" msgstr "" +"cualquier filtro especificado con la variable de entorno :envvar:" +"`PYTHONWARNINGS`" #: ../Doc/whatsnew/3.7.rst:1586 msgid "" "any other CPython specific filters (e.g. the ``default`` filter added for " "the new ``-X dev`` mode)" msgstr "" +"cualquier otro filtro específico de CPython (por ejemplo, el filtro " +"``default`` agregado para el nuevo modo ``-X dev``)" #: ../Doc/whatsnew/3.7.rst:1588 msgid "any implicit filters defined directly by the warnings machinery" msgstr "" +"cualquier filtro implícito definido directamente por la maquinaria de " +"advertencias" #: ../Doc/whatsnew/3.7.rst:1590 msgid "" "in CPython debug builds, all warnings are now displayed by default (the " "implicit filter list is empty)" msgstr "" +"en las compilaciones de depuración de CPython, ahora todas las advertencias " +"se muestran de forma predeterminada (la lista de filtros implícitos está " +"vacía)" #: ../Doc/whatsnew/3.7.rst:1593 msgid "" "(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, :issue:" "`32043`, and :issue:`32230`.)" msgstr "" +"(Contribuido por *Nick Coghlan* y *Victor Stinner* en :issue:`20361`, :issue:" +"`32043`, and :issue:`32230`.)" #: ../Doc/whatsnew/3.7.rst:1596 msgid "" @@ -2261,10 +3143,14 @@ msgid "" "and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. " "(Contributed by Nick Coghlan in :issue:`31975`.)" msgstr "" +"Las advertencias de obsolescencia se muestran una vez más de forma " +"predeterminada en scripts de un solo archivo y en el indicador interactivo. " +"Consultar :ref:`whatsnew37-pep565` para mas detalles. (Contribuido por *Nick " +"Coghlan* en :issue:`31975`.)" #: ../Doc/whatsnew/3.7.rst:1602 msgid "xml.etree" -msgstr "" +msgstr "*xml.etree*" #: ../Doc/whatsnew/3.7.rst:1604 msgid "" @@ -2273,10 +3159,15 @@ msgid "" "not only text in children. Predicates also allow adding spaces for better " "readability. (Contributed by Stefan Behnel in :issue:`31648`.)" msgstr "" +":ref:`ElementPath ` predicados en los métodos :meth:" +"`find` ahora pueden comparar el texto del nodo actual con ```[. = “text”]``, " +"no solo texto en niños. Los predicados también permiten agregar espacios " +"para una mejor legibilidad. (Contribuido por *Stefan Behnel* en :issue:" +"`31648`.)" #: ../Doc/whatsnew/3.7.rst:1611 msgid "xmlrpc.server" -msgstr "" +msgstr "*xmlrpc.server*" #: ../Doc/whatsnew/3.7.rst:1613 msgid "" @@ -2284,10 +3175,13 @@ msgid "" "SimpleXMLRPCDispatcher>` can now be used as a decorator. (Contributed by " "Xiang Zhang in :issue:`7769`.)" msgstr "" +":meth:`SimpleXMLRPCDispatcher.register_function ` ahora puede ser usado como un decorador. " +"(Contribuido por *Xiang Zhang* en :issue:`7769`.)" #: ../Doc/whatsnew/3.7.rst:1619 msgid "zipapp" -msgstr "" +msgstr "*zipapp*" #: ../Doc/whatsnew/3.7.rst:1621 msgid "" @@ -2295,6 +3189,9 @@ msgid "" "argument to allow the user to select which files should be included in the " "archive. (Contributed by Irmen de Jong in :issue:`31072`.)" msgstr "" +"Función :func:`~zipapp.create_archive` ahora acepta un argumento opcional " +"*filter* para permitir al usuario seleccionar que archivos deben incluirse " +"en el" #: ../Doc/whatsnew/3.7.rst:1625 msgid "" @@ -2303,26 +3200,36 @@ msgid "" "compress`` has also been added to support compression. (Contributed by " "Zhiming Wang in :issue:`31638`.)" msgstr "" +"Función :func:`~zipapp.create_archive` ahora acepta un argumento opcional * " +"comprimido * para generar un archivo comprimido. También se ha agregado una " +"opción de línea de comando ``—compress`` para admitir la compresión. " +"(Contribuido por *Zhiming Wang* en :issue:`31638`.)" #: ../Doc/whatsnew/3.7.rst:1632 msgid "zipfile" -msgstr "" +msgstr "*zipfile*" #: ../Doc/whatsnew/3.7.rst:1634 msgid "" ":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to " "control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)" msgstr "" +":class:`~zipfile.ZipFile` ahora acepta el nuevo parámetro *compresslevel* " +"para controlar el nivel de compresión. (Contribuido por *Bo Bayles* en :" +"issue:`21417`.)" #: ../Doc/whatsnew/3.7.rst:1638 msgid "" "Subdirectories in archives created by ``ZipFile`` are now stored in " "alphabetical order. (Contributed by Bernhard M. Wiedemann in :issue:`30693`.)" msgstr "" +"Subdirectorios en archivos creados por ``ZipFile`` ahora son guardados en " +"orden alfabético. (Contribuido por *Bernhard M. Wiedemann* en :issue:" +"`30693`.)" #: ../Doc/whatsnew/3.7.rst:1644 msgid "C API Changes" -msgstr "" +msgstr "Cambios en la API C" #: ../Doc/whatsnew/3.7.rst:1646 msgid "" @@ -2331,12 +3238,18 @@ msgid "" "for a complete reference. (Contributed by Masayuki Yamamoto in :issue:" "`25658`.)" msgstr "" +"Se implementó una nueva API para el almacenamiento local de subprocesos. " +"Ver :ref:`whatsnew37-pep539` para una descripción general y :ref:`thread-" +"specific-storage-api` para una referencia completa. (Contribuido por " +"*Masayuki Yamamoto* en :issue:`25658`.)" #: ../Doc/whatsnew/3.7.rst:1651 msgid "" "The new :ref:`context variables ` functionality exposes a " "number of :ref:`new C APIs `." msgstr "" +"La nueva funcionalidad :ref:`variables de contexto ` " +"expone un numero de :ref:`nuevas APIs C `." #: ../Doc/whatsnew/3.7.rst:1654 msgid "" @@ -2344,18 +3257,27 @@ msgid "" "imported module with the given name. (Contributed by Eric Snow in :issue:" "`28411`.)" msgstr "" +"La nueva función :c:func:`PyImport_GetModule` devuelve el módulo previamente " +"importado con el nombre dado. (Contribuido por *Eric Snow* en :issue:" +"`28411`.)" #: ../Doc/whatsnew/3.7.rst:1658 msgid "" "The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison " "functions. (Contributed by Petr Victorin in :issue:`23699`.)" msgstr "" +"El nuevo macro :c:macro:`Py_RETURN_RICHCOMPARE` facilita la escritura de " +"funciones de comparación enriquecidas. (Contribuido por *Petr Victorin* en :" +"issue:`23699`.)" #: ../Doc/whatsnew/3.7.rst:1662 msgid "" "The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code " "paths. (Contributed by Barry Warsaw in :issue:`31338`.)" msgstr "" +"El nuevo macro :c:macro:`Py_UNREACHABLE` se puede utilizar para marcar " +"rutas de código inalcanzables. (Contribuido por *Barry Warsaw* en :issue:" +"`31338`.)" #: ../Doc/whatsnew/3.7.rst:1666 msgid "" @@ -2363,6 +3285,9 @@ msgid "" "`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions. " "(Contributed by Victor Stinner in :issue:`30054`.)" msgstr "" +"El :mod:`tracemalloc` ahora expone una API C a través de las nuevas " +"funciones :c:func:`PyTraceMalloc_Track` y :c:func:`PyTraceMalloc_Untrack`. " +"(Contribuido por *Victor Stinner* en :issue:`30054`.)" #: ../Doc/whatsnew/3.7.rst:1671 msgid "" @@ -2370,6 +3295,10 @@ msgid "" "`import__find__load__done` static markers can be used to trace module " "imports. (Contributed by Christian Heimes in :issue:`31574`.)" msgstr "" +"Los nuevos marcadores estáticos :c:func:`import__find__load__start` y :c:" +"func:`import__find__load__done` se pueden usar para rastrear las " +"importaciones de módulos. (Contribuido por *Christian Heimes* en :issue:" +"`31574`.)" #: ../Doc/whatsnew/3.7.rst:1676 msgid "" @@ -2379,6 +3308,11 @@ msgid "" "``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :" "issue:`28761`.)" msgstr "" +"Los campos :c:member:`name` and :c:member:`doc` de estructuras :c:type:" +"`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:" +"type:`PyStructSequence_Desc`, y :c:type:`wrapperbase` ahora son de tipo " +"``const char *`` en lugar de ``char *``. (Contribuido por *Serhiy Storchaka* " +"en :issue:`28761`.)" #: ../Doc/whatsnew/3.7.rst:1682 msgid "" @@ -2386,6 +3320,9 @@ msgid "" "`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char *``. " "(Contributed by Serhiy Storchaka in :issue:`28769`.)" msgstr "" +"El resultado de :c:func:`PyUnicode_AsUTF8AndSize` y :c:func:" +"`PyUnicode_AsUTF8` es ahora de tipo ``const char *`` en lugar de ``char *``. " +"(Contribuido por *Serhiy Storchaka* en :issue:`28769`.)" #: ../Doc/whatsnew/3.7.rst:1686 msgid "" @@ -2393,12 +3330,18 @@ msgid "" "func:`PyMapping_Items` is now always a list, rather than a list or a tuple. " "(Contributed by Oren Milman in :issue:`28280`.)" msgstr "" +"El resultado de :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` y :c:" +"func:`PyMapping_Items` ahora es siempre una lista, en lugar de una lista o " +"una tupla. (Contribuido por *Oren Milman* en :issue:`28280`.)" #: ../Doc/whatsnew/3.7.rst:1690 msgid "" "Added functions :c:func:`PySlice_Unpack` and :c:func:" "`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in :issue:`27867`.)" msgstr "" +"Funciones agregadas :c:func:`PySlice_Unpack` y :c:func:" +"`PySlice_AdjustIndices`. (Contribuido por *Serhiy Storchaka* en :issue:" +"`27867`.)" #: ../Doc/whatsnew/3.7.rst:1693 msgid "" @@ -2406,6 +3349,9 @@ msgid "" "func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and :c:func:" "`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in :issue:`16500`.)" msgstr "" +":c:func:`PyOS_AfterFork` está en desuso en favor de las nuevas funciones :c:" +"func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` y :c:func:" +"`PyOS_AfterFork_Child`. (Contribuido por *Antoine Pitrou* en :issue:`16500`.)" #: ../Doc/whatsnew/3.7.rst:1698 msgid "" @@ -2414,6 +3360,10 @@ msgid "" "during finalization of the interpreter. Contributed by Xavier de Gaye in :" "issue:`22898` and :issue:`30697`." msgstr "" +"El único ``PyExc_RecursionErrorInst`` que formaba parte de la API pública se " +"ha eliminado ya que sus miembros nunca borrados pueden causar un error de " +"segmentación durante la finalización del intérprete. Contribuido por *Xavier " +"de Gaye* en :issue:`22898` y :issue:`30697`." #: ../Doc/whatsnew/3.7.rst:1703 msgid "" @@ -2422,6 +3372,10 @@ msgid "" "access to the UTC singleton with :c:data:`PyDateTime_TimeZone_UTC`. " "Contributed by Paul Ganssle in :issue:`10381`." msgstr "" +"Se agregó compatibilidad con C API para zonas horarias con constructores de " +"zonas horarias :c:func:`PyTimeZone_FromOffset` and :c:func:" +"`PyTimeZone_FromOffsetAndName`, y acceso único al UTC con :c:data:" +"`PyDateTime_TimeZone_UTC`. Contribuido por *Paul Ganssle* en :issue:`10381`." #: ../Doc/whatsnew/3.7.rst:1708 msgid "" @@ -2430,6 +3384,10 @@ msgid "" "`PyThreadState_SetAsyncExc` changed from :c:type:`long` to :c:type:`unsigned " "long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" msgstr "" +"El tipo de resultados de :c:func:`PyThread_start_new_thread` y :c:func:" +"`PyThread_get_thread_ident`, y el parámetro *id* de :c:func:" +"`PyThreadState_SetAsyncExc` cambiaron desde :c:type:`long` a :c:type:" +"`unsigned long`. (Contribuido por *Serhiy Storchaka* en :issue:`6532`.)" #: ../Doc/whatsnew/3.7.rst:1714 msgid "" @@ -2437,6 +3395,9 @@ msgid "" "second argument is ``NULL`` and the :c:type:`wchar_t*` string contains null " "characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" msgstr "" +":c:func:`PyUnicode_AsWideCharString` ahora genera un :exc:`ValueError` si el " +"segundo argumento es ``NULL`` y la cadena :c:type:`wchar_t*` contiene " +"caracteres nulos. (Contribuido por *Serhiy Storchaka* en :issue:`30708`.)" #: ../Doc/whatsnew/3.7.rst:1718 msgid "" @@ -2448,12 +3409,21 @@ msgid "" "and the :ref:`pre-init-safe` section in the C API documentation for more " "details." msgstr "" +"Los cambios en la secuencia de inicio y la gestión de los asignadores de " +"memoria dinámica significan que el requisito documentado durante mucho " +"tiempo de llamar :c:func:`Py_Initialize` antes de llamar a la mayoría de las " +"funciones de la API de C, ahora se confía más en él, y no cumplirlo puede " +"provocar errores de segmentación en las aplicaciones integradas. Ver la " +"sección :ref:`porting-to-python-37` en este documento y en la sección :ref:" +"`pre-init-safe` en la documentación de la API de C para obtener más detalles." #: ../Doc/whatsnew/3.7.rst:1726 msgid "" "The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given " "interpreter. (Contributed by Eric Snow in :issue:`29102`.)" msgstr "" +"El nuevo: c: func :c:func:`PyInterpreterState_GetID` devuelve él ID único " +"para un intérprete dado. (Contribuido por *Eric Snow* en :issue:`29102`.)" #: ../Doc/whatsnew/3.7.rst:1730 msgid "" @@ -2461,6 +3431,9 @@ msgid "" "encoding when the :ref:`UTF-8 mode ` is enabled. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" +":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` ahora usa la " +"codificación UTF-8 cuando el :ref:`modo UTF-8 ` esta " +"habilitado. (Contribuido por *Victor Stinner* en :issue:`29240`.)" #: ../Doc/whatsnew/3.7.rst:1734 msgid "" @@ -2468,6 +3441,9 @@ msgid "" "now use the current locale encoding for ``surrogateescape`` error handler. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" +":c:func:`PyUnicode_DecodeLocaleAndSize` y :c:func:`PyUnicode_EncodeLocale` " +"ahora usan la codificación local actual para el controlador de errores " +"``surrogateescape``. (Contribuido por *Victor Stinner* en :issue:`29240`.)" #: ../Doc/whatsnew/3.7.rst:1738 msgid "" @@ -2475,10 +3451,13 @@ msgid "" "adjusted to behave like string slices. (Contributed by Xiang Zhang in :issue:" "`28822`.)" msgstr "" +"Los parámetros *start* y *end* de :c:func:`PyUnicode_FindChar` ahora se " +"ajustan para comportarse como cortes de cuerda. (Contribuido por *Xiang " +"Zhang* en :issue:`28822`.)" #: ../Doc/whatsnew/3.7.rst:1744 msgid "Build Changes" -msgstr "" +msgstr "Construir cambios" #: ../Doc/whatsnew/3.7.rst:1746 msgid "" @@ -2486,6 +3465,9 @@ msgid "" "`threading` module is now always available. (Contributed by Antoine Pitrou " "in :issue:`31370`.)." msgstr "" +"Se ha eliminado el soporte para construir ``—without-threads``. El módulo :" +"mod:`threading` ahora está siempre disponible. (Contribuido por *Antoine " +"Pitrou* en :issue:`31370`.)." #: ../Doc/whatsnew/3.7.rst:1750 msgid "" @@ -2494,6 +3476,10 @@ msgid "" "libffi is now required when building ``_ctypes`` on such platforms. " "(Contributed by Zachary Ware in :issue:`27979`.)" msgstr "" +"Ya no se incluye una copia completa de *libffi* para su uso al compilar el " +"módulo :mod:`_ctypes ` en plataformas que no son OSX UNIX. Ahora se " +"requiere una copia instalada de *libffi* al construir ``_ctypes`` en tales " +"plataformas. (Contribuido por *Zachary Ware* en :issue:`27979`.)" #: ../Doc/whatsnew/3.7.rst:1755 msgid "" @@ -2503,6 +3489,12 @@ msgid "" "is used to download a copy of 32-bit Python for this purpose. (Contributed " "by Zachary Ware in :issue:`30450`.)" msgstr "" +"El proceso de compilación de Windows ya no depende de una sub versión para " +"extraer fuentes externas; en su lugar, se usa un script de Python para " +"descargar archivos zip desde GitHub. Si no se encuentra Python 3.6 en el " +"sistema (a través de ``py -3.6``), *NuGet* se usa para descargar una copia " +"de Python de 32 bits para este propósito. (Contribuido por *Zachary Ware* " +"en :issue:`30450`.)" #: ../Doc/whatsnew/3.7.rst:1761 msgid "" @@ -2511,10 +3503,15 @@ msgid "" "supported. LibreSSL is temporarily not supported as well. LibreSSL releases " "up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs." msgstr "" +"El módulo :mod:`ssl` requiere *libssl* compatible con OpenSSL 1.0.2 o 1.1. " +"OpenSSL 1.0.1 llegó al final de su vida útil el 31 de diciembre de 2016 y ya " +"no es compatible. LibreSSL tampoco es compatible temporalmente. Las " +"versiones de LibreSSL hasta la versión 2.6.4 carecen de las API de OpenSSL " +"1.0.2 necesarias." #: ../Doc/whatsnew/3.7.rst:1770 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/3.7.rst:1772 msgid "" @@ -2523,6 +3520,11 @@ msgid "" "the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner in :issue:" "`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" msgstr "" +"La sobrecarga de llamar a muchos métodos de varias clases de biblioteca " +"estándar implementadas en C se ha reducido significativamente al portar más " +"código para usar la convención ``METH_FASTCALL``. (Contribuido por *Victor " +"Stinner* en :issue:`29300`, :issue:`29507`, :issue:`29452`, y :issue:" +"`29286`.)" #: ../Doc/whatsnew/3.7.rst:1778 #, python-format @@ -2531,6 +3533,9 @@ msgid "" "up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in :issue:" "`29585`, and Ivan Levkivskyi in :issue:`31333`.)" msgstr "" +"Varias optimizaciones han reducido el tiempo de inicio de Python en un " +"10% en Linux y hasta en un 30% en macOS. (Contribuido por *Victor Stinner*, " +"*INADA Naoki* en :issue:`29585`, y *Ivan Levkivskyi* en :issue:`31333`.)" #: ../Doc/whatsnew/3.7.rst:1783 #, python-format @@ -2539,12 +3544,18 @@ msgid "" "avoid creating bound method instances. (Contributed by Yury Selivanov and " "INADA Naoki in :issue:`26110`.)" msgstr "" +"Las llamadas a métodos ahora son hasta un 20% más rápidas debido a los " +"cambios de código de bytes que evitan la creación de instancias de métodos " +"enlazados. (Contribuidos por *Yury Selivanov* y *INADA Naoki* en :issue:" +"`26110`.)" #: ../Doc/whatsnew/3.7.rst:1789 msgid "" "The :mod:`asyncio` module received a number of notable optimizations for " "commonly used functions:" msgstr "" +"El módulo :mod:`asyncio` recibió una serie de optimizaciones notables para " +"funciones de uso común:" #: ../Doc/whatsnew/3.7.rst:1792 msgid "" @@ -2552,12 +3563,17 @@ msgid "" "make it up to 15 times faster. (Contributed by Yury Selivanov in :issue:" "`32296`.)" msgstr "" +"La función :func:`asyncio.get_event_loop` se ha vuelto a implementar en C " +"para hacerlo hasta 15 veces más rápido. (Contribuido por *Yury Selivanov* " +"en :issue:`32296`.)" #: ../Doc/whatsnew/3.7.rst:1796 msgid "" ":class:`asyncio.Future` callback management has been optimized. (Contributed " "by Yury Selivanov in :issue:`32348`.)" msgstr "" +"Se ha optimizado la gestión de devolución de llamada :class:`asyncio." +"Future`. (Contribuido por *Yury Selivanov* en :issue:`32348`.)" #: ../Doc/whatsnew/3.7.rst:1799 #, python-format @@ -2565,18 +3581,25 @@ msgid "" ":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury " "Selivanov in :issue:`32355`.)" msgstr "" +":func:`asyncio.gather` ahora es hasta un 15% más rápido. (Contribuido por " +"*Yury Selivanov* en :issue:`32355`.)" #: ../Doc/whatsnew/3.7.rst:1802 msgid "" ":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument " "is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)" msgstr "" +":func:`asyncio.sleep` ahora es hasta 2 veces más rápido cuando el argumento " +"*delay* es cero o negativo. (Contribuido por *Andrew Svetlov* en :issue:" +"`32351`.)" #: ../Doc/whatsnew/3.7.rst:1806 msgid "" "The performance overhead of asyncio debug mode has been reduced. " "(Contributed by Antoine Pitrou in :issue:`31970`.)" msgstr "" +"Se ha reducido la sobrecarga de rendimiento del modo de depuración asyncio. " +"(Contribuido por *Antoine Pitrou* en :issue:`31970`.)" #: ../Doc/whatsnew/3.7.rst:1809 msgid "" @@ -2584,6 +3607,10 @@ msgid "" "mod:`typing` has been reduced by a factor of 7, and many typing operations " "are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)" msgstr "" +"Como resultado de :ref:`PEP 560 trabajo `, el tiempo de " +"importación de :mod:`typing` se ha reducido en un factor de 7, y muchas " +"operaciones de mecanografía ahora son más rápidas. (Contribuido por *Ivan " +"Levkivskyi* en :issue:`32226`.)" #: ../Doc/whatsnew/3.7.rst:1814 #, python-format @@ -2592,12 +3619,17 @@ msgid "" "be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in :issue:" "`28685`.)" msgstr "" +":func:`sorted` y :meth:`list.sort` se han optimizado para que los casos " +"comunes sean hasta un 40-75% más rápidos. (Contribuido por *Elliot " +"Gorokhovsky* en :issue:`28685`.)" #: ../Doc/whatsnew/3.7.rst:1818 msgid "" ":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury " "Selivanov in :issue:`31179`.)" msgstr "" +":meth:`dict.copy` es ahora 5.5 veces más rápido. (Contribuido por *Yury " +"Selivanov* en :issue:`31179`.)" #: ../Doc/whatsnew/3.7.rst:1821 msgid "" @@ -2605,6 +3637,10 @@ msgid "" "is not found and *obj* does not override :meth:`object.__getattr__` or :meth:" "`object.__getattribute__`. (Contributed by INADA Naoki in :issue:`32544`.)" msgstr "" +":func:`hasattr` y :func:`getattr` ahora son aproximadamente 4 veces más " +"rápidos cuando *name* no se encuentra y *obj* no se anula :meth:`object." +"__getattr__` o :meth:`object.__getattribute__`. (Contribuido por *INADA " +"Naoki* en :issue:`32544`.)" #: ../Doc/whatsnew/3.7.rst:1826 msgid "" @@ -2613,6 +3649,10 @@ msgid "" "now only 3 times slower in the worst case. (Contributed by Serhiy Storchaka " "in :issue:`24821`.)" msgstr "" +"La búsqueda de ciertos caracteres Unicode (como la mayúscula ucraniana “Є”) " +"en una cadena fue hasta 25 veces más lenta que la búsqueda de otros " +"caracteres. Ahora es solo 3 veces más lento en el peor de los casos. " +"(Contribuido por *Serhiy Storchaka* en :issue:`24821`.)" #: ../Doc/whatsnew/3.7.rst:1831 msgid "" @@ -2621,6 +3661,10 @@ msgid "" "Zijlstra with further improvements by INADA Naoki, Serhiy Storchaka, and " "Raymond Hettinger in :issue:`28638`.)" msgstr "" +"La fábrica :func:`collections.namedtuple` ha sido re-implementada para hacer " +"que la creación de tuplas con nombre sea de 4 a 6 veces más rápida. " +"(Contribuido por *Jelle Zijlstra* con nuevas mejoras de *INADA Naoki*, " +"*Serhiy Storchaka*, y *Raymond Hettinger* en :issue:`28638`.)" #: ../Doc/whatsnew/3.7.rst:1836 #, python-format @@ -2629,12 +3673,17 @@ msgid "" "30% faster in the common case. (Contributed by Paul Ganssle in :issue:" "`32403`.)" msgstr "" +":meth:`date.fromordinal` y :meth:`date.fromtimestamp` ahora son hasta un 30% " +"más rápidos en el caso común. (Contribuido por *Paul Ganssle* en :issue:" +"`32403`.)" #: ../Doc/whatsnew/3.7.rst:1840 msgid "" "The :func:`os.fwalk` function is now up to 2 times faster thanks to the use " "of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)" msgstr "" +"La función :func:`os.fwalk` es ahora 2 veces mas rápida gracias al uso de :" +"func:`os.scandir`. (Contribuido por *Serhiy Storchaka* en :issue:`25996`.)" #: ../Doc/whatsnew/3.7.rst:1844 msgid "" @@ -2642,6 +3691,9 @@ msgid "" "thanks to the use of the :func:`os.scandir` function. (Contributed by Serhiy " "Storchaka in :issue:`28564`.)" msgstr "" +"La rapidez de la función :func:`shutil.rmtree` se ha mejorado en un 20-40% " +"gracias al uso de la función :func:`os.scandir`. (Contribuido por *Serhiy " +"Storchaka* en :issue:`28564`.)" #: ../Doc/whatsnew/3.7.rst:1848 msgid "" @@ -2649,6 +3701,10 @@ msgid "" "expressions `. Searching some patterns can now be up to 20 times " "faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)" msgstr "" +"Búsqueda y coincidencia optimizadas que no distinguen entre mayúsculas y " +"minúsculas de :mod:`expresiones regulares `. La búsqueda de algunos " +"patrones ahora puede ser hasta 20 veces más rápida. (Contribuido por *Serhiy " +"Storchaka* en :issue:`30285`.)" #: ../Doc/whatsnew/3.7.rst:1852 #, python-format @@ -2658,6 +3714,10 @@ msgid "" "by about 10% depending on the pattern. (Contributed by INADA Naoki in :issue:" "`31671`.)" msgstr "" +":func:`re.compile` ahora convierte el parámetro ``flags`` en un objeto int " +"si es ``RegexFlag``. Ahora es tan rápido como Python 3.5 y más rápido que " +"Python 3.6 en aproximadamente un 10% dependiendo del patrón. (Contribuido " +"por *INADA Naoki* en :issue:`31671`.)" #: ../Doc/whatsnew/3.7.rst:1857 #, python-format @@ -2667,6 +3727,10 @@ msgid "" "`selectors.DevpollSelector` may be around 10% faster under heavy loads. " "(Contributed by Giampaolo Rodola' in :issue:`30014`)" msgstr "" +"El método :meth:`~selectors.BaseSelector.modify` de la clase :class:" +"`selectors.EpollSelector`, :class:`selectors.PollSelector` y :class:" +"`selectors.DevpollSelector` puede ser alrededor de un 10% más rápido bajo " +"cargas pesadas. (Contribuido por *Giampaolo Rodola* en :issue:`30014`)" #: ../Doc/whatsnew/3.7.rst:1862 msgid "" @@ -2675,6 +3739,10 @@ msgid "" "(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` and :issue:" "`11549`.)" msgstr "" +"El plegado constante se ha movido del optimizador de mirilla al nuevo " +"optimizador AST, que puede realizar optimizaciones de manera más " +"consistente. (Contribuid por *Eugene Toder* y *INADA Naoki* en :issue:" +"`29469` y :issue:`11549`.)" #: ../Doc/whatsnew/3.7.rst:1867 msgid "" @@ -2684,6 +3752,11 @@ msgid "" "time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki in :issue:" "`31333`)" msgstr "" +"La mayoría de funciones y métodos en :mod:`abc` se han reescrito en C. Esto " +"hace que la creación de clases base abstractas y la llamada a :func:" +"`isinstance` y :func:`issubclass` en ellas sean 1.5 veces más rápidas. Esto " +"también reduce el tiempo de inicio de Python hasta en un 10%. (Contribuido " +"por *Ivan Levkivskyi* y *INADA Naoki* en :issue:`31333`)" #: ../Doc/whatsnew/3.7.rst:1873 msgid "" @@ -2692,6 +3765,10 @@ msgid "" "constructors when not constructing subclasses. (Contributed by Paul Ganssle " "in :issue:`32403`)" msgstr "" +"Mejoras significativas de velocidad para constructores alternativos para :" +"class:`datetime.date` y :class:`datetime.datetime` mediante el uso de " +"constructores de ruta rápida cuando no se construyen subclases. (Contribuido " +"por *Paul Ganssle* en :issue:`32403`)" #: ../Doc/whatsnew/3.7.rst:1878 msgid "" @@ -2700,6 +3777,10 @@ msgid "" "comparing arrays holding values of the same integer type. (Contributed by " "Adrian Wielgosik in :issue:`24700`.)" msgstr "" +"La velocidad de comparación de instancias de :class:`array.array` se ha " +"mejorado considerablemente en determinados casos. Ahora es de 10 a 70 veces " +"más rápido cuando se comparan matrices que contienen valores del mismo tipo " +"de entero. (Contribuido por *Adrian Wielgosik* en :issue:`24700`.)" #: ../Doc/whatsnew/3.7.rst:1883 msgid "" @@ -2707,10 +3788,13 @@ msgid "" "library implementation on most platforms. (Contributed by Serhiy Storchaka " "in :issue:`26121`.)" msgstr "" +"Las funciones :func:`math.erf` y :func:`math.erfc` ahora use la " +"implementación de la biblioteca C (más rápida) en la mayoría de las " +"plataformas. (Contribuido por *Serhiy Storchaka* en :issue:`26121`.)" #: ../Doc/whatsnew/3.7.rst:1889 msgid "Other CPython Implementation Changes" -msgstr "" +msgstr "Otros cambios de implementación de CPython" #: ../Doc/whatsnew/3.7.rst:1891 msgid "" @@ -2719,6 +3803,11 @@ msgid "" "``f_trace_lines`` and ``f_trace_opcodes`` attributes on the frame being " "traced. (Contributed by Nick Coghlan in :issue:`31344`.)" msgstr "" +"Los ganchos de seguimiento ahora pueden optar por no recibir la ``linea`` y " +"optar por recibir los eventos ``opcode`` del intérprete configurando los " +"nuevos atributos correspondientes ``f_trace_lines`` y ``f_trace_opcodes`` en " +"el marco que se está rastreando . (Contribuido por *Nick Coghlan* en :issue:" +"`31344`.)" #: ../Doc/whatsnew/3.7.rst:1896 msgid "" @@ -2730,6 +3819,14 @@ msgid "" "``__loader__`` (previously, the former was set to ``None``). See :issue:" "`32303`." msgstr "" +"Se corrigieron algunos problemas de coherencia con los atributos del módulo " +"del paquete de espacio de nombres. Los objetos del módulo de espacio de " +"nombres ahora tienen un ``__file__`` que está configurado como ``None`` " +"(previamente no configurado), y su ``__spec__.origin`` también está " +"configurado como ``None`` (anteriormente la cadena ``”espacio de nombres”`). " +"Ver :issue:`32305`. Además, el ``__spec__.loader`` del objeto del módulo de " +"espacio de nombres se establece en el mismo valor que ``__loader__`` " +"(anteriormente, el primero se estableció en ``None``). Ver :issue:`32303`." #: ../Doc/whatsnew/3.7.rst:1904 msgid "" @@ -2737,6 +3834,9 @@ msgid "" "variables were defined. Previously, the order was undefined. (Contributed " "by Raymond Hettinger in :issue:`32690`.)" msgstr "" +"El diccionario :func:`locals` ahora se muestra en el orden léxico en que se " +"definieron las variables. Anteriormente, el orden no estaba definido. " +"(Contribuido por *Raymond Hettinger* en :issue:`32690`.)" #: ../Doc/whatsnew/3.7.rst:1908 msgid "" @@ -2745,10 +3845,14 @@ msgid "" "ended with a byte equivalent to CR. (Contributed by Bo Bayles in :issue:" "`32304`.)" msgstr "" +"El comando :mod:`distutils` ``upload`` ya no intenta cambiar los caracteres " +"de fin de línea de CR a CRLF. Esto soluciona un problema de corrupción con " +"*sdists* que terminaba con un byte equivalente a CR. (Contribuido por *Bo " +"Bayles* en :issue:`32304`.)" #: ../Doc/whatsnew/3.7.rst:1915 msgid "Deprecated Python Behavior" -msgstr "" +msgstr "Comportamiento obsoleto de Python" #: ../Doc/whatsnew/3.7.rst:1917 msgid "" @@ -2763,6 +3867,17 @@ msgid "" "in Python 3.8 this will be a :exc:`SyntaxError`. (Contributed by Serhiy " "Storchaka in :issue:`10544`.)" msgstr "" +"Las expresiones de rendimiento (tanto las cláusulas ``yield`` como las " +"cláusulas ``yield from``) ahora están en desuso en las comprensiones y las " +"expresiones generadoras (aparte de la expresión iterable en la cláusula más " +"a la izquierda :keyword:`!for`). Esto asegura que las comprensiones siempre " +"devuelvan inmediatamente un contenedor del tipo apropiado (en lugar de " +"potencialmente devolver un objeto :term:`generator iterator`), mientras que " +"las expresiones generadoras no intentarán intercalar su salida implícita con " +"la salida de ninguna expresión de rendimiento explícita. En Python 3.7, " +"tales expresiones emiten :exc:`DeprecationWarning` cuando se compilan, en " +"Python 3.8 será un :exc:`SyntaxError`. (Contribuido por *Serhiy Storchaka* " +"en :issue:`10544`.)" #: ../Doc/whatsnew/3.7.rst:1928 msgid "" @@ -2771,14 +3886,19 @@ msgid "" "``__complex__()`` consistent with :meth:`object.__int__` and :meth:`object." "__float__`. (Contributed by Serhiy Storchaka in :issue:`28894`.)" msgstr "" +"Devolviendo una subclase de :class:`complex` desde :meth:`object." +"__complex__` está obsoleto y será un error en futuras versiones de Python. " +"Esto hace que ``__complex__()`` se compatible con :meth:`object.__int__` y :" +"meth:`object.__float__`. (Contribuido por *Serhiy Storchaka* en :issue:" +"`28894`.)" #: ../Doc/whatsnew/3.7.rst:1937 msgid "Deprecated Python modules, functions and methods" -msgstr "" +msgstr "Módulos, funciones y métodos de Python obsoletos" #: ../Doc/whatsnew/3.7.rst:1940 msgid "aifc" -msgstr "" +msgstr "*aifc*" #: ../Doc/whatsnew/3.7.rst:1942 msgid "" @@ -2786,6 +3906,9 @@ msgid "" "Use :func:`aifc.open` instead. (Contributed by Brian Curtin in :issue:" "`31985`.)" msgstr "" +":func:`aifc.openfp` ha quedado obsoleto y se eliminará en Python 3.9. En su " +"lugar use :func:`aifc.open`. (Contribuido por *Brian Curtin* en :issue:" +"`31985`.)" #: ../Doc/whatsnew/3.7.rst:1952 msgid "" @@ -2795,6 +3918,11 @@ msgid "" "the synchronization resource. (Contributed by Andrew Svetlov in :issue:" "`32253`.)" msgstr "" +"Se ha desaprobado el soporte para instancias en ``await`` de :class:`asyncio." +"Lock` y otras primitivas de sincronización asyncio directamente. Se debe " +"utilizar un administrador de contexto asincrónico para adquirir y liberar el " +"recurso de sincronización. (Contribuido por *Andrew Svetlov* en :issue:" +"`32253`.)" #: ../Doc/whatsnew/3.7.rst:1958 msgid "" @@ -2802,6 +3930,9 @@ msgid "" "methods have been deprecated. (Contributed by Andrew Svetlov in :issue:" "`32250`.)" msgstr "" +"Los métodos :meth:`asyncio.Task.current_task` y :meth:`asyncio.Task." +"all_tasks` han quedado obsoletos. (Contribuido por *Andrew Svetlov* en :" +"issue:`32250`.)" #: ../Doc/whatsnew/3.7.rst:1966 msgid "" @@ -2810,6 +3941,10 @@ msgid "" "create a clearer distinction between the concrete classes and the abstract " "base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)" msgstr "" +"En Python 3.8, las clases base abstractas en :mod:`collections.abc` ya no " +"estará expuesto en el módulo regular :mod:`collections`. Esto ayudará a " +"crear una distinción más clara entre las clases concretas y las clases base " +"abstractas. (Contribuido por *Serhiy Storchaka* en :issue:`25988`.)" #: ../Doc/whatsnew/3.7.rst:1976 msgid "" @@ -2819,6 +3954,11 @@ msgid "" "(this will be an error in future Python releases). (Contributed by Serhiy " "Storchaka in :issue:`28847`.)" msgstr "" +":mod:`dbm.dumb` ahora admite la lectura de archivos de solo lectura y ya no " +"escribe el archivo de índice cuando no se cambia. Ahora se emite una " +"advertencia de obsolescencia si falta el archivo de índice y se recrea en " +"los modos ``’r’`` y ``’w’`` (esto será un error en futuras versiones de " +"Python). (Contribuido por *Serhiy Storchaka* en :issue:`28847`.)" #: ../Doc/whatsnew/3.7.rst:1986 msgid "" @@ -2829,10 +3969,15 @@ msgid "" "return :const:`False` instead. (Contributed by Ethan Furman in :issue:" "`33217`.)" msgstr "" +"En Python 3.8, intentar buscar objetos que no sean Enum en clases :class:" +"`Enum` generará un :exc:`TypeError` (por ejemplo, ``1 in Color``); de manera " +"similar, si se intenta buscar objetos que no sean miembro de la :class:" +"`Flag` se generará :exc:`TypeError` (por ejemplo, ``1 in Perm.RW``); " +"actualmente, ambas operaciones devuelven :const:`False` en su lugar." #: ../Doc/whatsnew/3.7.rst:1995 msgid "gettext" -msgstr "" +msgstr "*gettext*" #: ../Doc/whatsnew/3.7.rst:1997 msgid "" @@ -2840,6 +3985,9 @@ msgid "" "deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in :" "issue:`28692`.)" msgstr "" +"Usando un valor no entero para seleccionar una forma plural en :mod:" +"`gettext` ahora está en desuso. Nunca funcionó correctamente. (Contribuido " +"por *Serhiy Storchaka* en :issue:`28692`.)" #: ../Doc/whatsnew/3.7.rst:2005 msgid "" @@ -2851,32 +3999,45 @@ msgid "" "both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. " "(Contributed by Matthias Bussonnier in :issue:`29576`)" msgstr "" +"Métodos :meth:`MetaPathFinder.find_module() ` (reemplazado por :meth:`MetaPathFinder.find_spec() `) y :meth:`PathEntryFinder.find_loader() " +"` (reemplazado por :meth:" +"`PathEntryFinder.find_spec() `) " +"ambas en desuso en Python 3.4 ahora emiten :exc:`DeprecationWarning`. " +"(Contribuido por *Matthias Bussonnier* en :issue:`29576`)" #: ../Doc/whatsnew/3.7.rst:2016 msgid "" "The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour " "of :class:`importlib.abc.ResourceReader`." msgstr "" +"El :class:`importlib.abc.ResourceLoader` ABC ha quedado obsoleto en favor " +"de :class:`importlib.abc.ResourceReader`." #: ../Doc/whatsnew/3.7.rst:2023 msgid "" ":func:`locale.format` has been deprecated, use :meth:`locale.format_string` " "instead. (Contributed by Garvit in :issue:`10379`.)" msgstr "" +":func:`locale.format` ha sido obsoleto, en su lugar use :meth:`locale." +"format_string`. (Contribuido por *Garvit* en :issue:`10379`.)" #: ../Doc/whatsnew/3.7.rst:2028 msgid "macpath" -msgstr "" +msgstr "*macpath*" #: ../Doc/whatsnew/3.7.rst:2030 msgid "" "The :mod:`macpath` is now deprecated and will be removed in Python 3.8. " "(Contributed by Chi Hsuan Yen in :issue:`9850`.)" msgstr "" +"El :mod:`macpath` esta ahora en desuso y se eliminará en Python 3.8. " +"(Contribuido por *Chi Hsuan Yen* en :issue:`9850`.)" #: ../Doc/whatsnew/3.7.rst:2035 msgid "threading" -msgstr "" +msgstr "*threading*" #: ../Doc/whatsnew/3.7.rst:2037 msgid "" @@ -2884,6 +4045,9 @@ msgid "" "no longer possible to build Python with threading disabled. Use :mod:" "`threading` instead. (Contributed by Antoine Pitrou in :issue:`31370`.)" msgstr "" +":mod:`dummy_threading` y :mod:`_dummy_thread` han quedado en desuso. ya no " +"es posible compilar Python con el subproceso desactivado. En lugar use :mod:" +"`threading`. (Contribuido por *Antoine Pitrou* en :issue:`31370`.)" #: ../Doc/whatsnew/3.7.rst:2046 msgid "" @@ -2892,16 +4056,23 @@ msgid "" "passed argument is larger than 16 bits, an exception will be raised. " "(Contributed by Oren Milman in :issue:`28332`.)" msgstr "" +"El truncamiento del valor del argumento silencioso en :func:`socket.htons` " +"y :func:`socket.ntohs` ha quedado en desuso. En futuras versiones de Python, " +"si el argumento pasado es mayor de 16 bits, se generará una excepción. " +"(Contribuido por *Oren Milman* en :issue:`28332`.)" #: ../Doc/whatsnew/3.7.rst:2055 msgid "" ":func:`ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext." "wrap_socket` instead. (Contributed by Christian Heimes in :issue:`28124`.)" msgstr "" +":func:`ssl.wrap_socket` esta en desuso. En su lugar use :meth:`ssl." +"SSLContext.wrap_socket`. (Contribuido por *Christian Heimes* en :issue:" +"`28124`.)" #: ../Doc/whatsnew/3.7.rst:2061 msgid "sunau" -msgstr "" +msgstr "*sunau*" #: ../Doc/whatsnew/3.7.rst:2063 msgid "" @@ -2909,12 +4080,17 @@ msgid "" "Use :func:`sunau.open` instead. (Contributed by Brian Curtin in :issue:" "`31985`.)" msgstr "" +":func:`sunau.openfp` ha quedado obsoleto y se eliminará en Python 3.9. En " +"lugar use :func:`sunau.open`. (Contribuido por *Brian Curtin* en :issue:" +"`31985`.)" #: ../Doc/whatsnew/3.7.rst:2071 msgid "" "Deprecated :func:`sys.set_coroutine_wrapper` and :func:`sys." "get_coroutine_wrapper`." msgstr "" +":func:`sys.set_coroutine_wrapper` y :func:`sys.get_coroutine_wrapper` en " +"desuso." #: ../Doc/whatsnew/3.7.rst:2074 msgid "" @@ -2922,10 +4098,13 @@ msgid "" "be removed in a future Python version. (Contributed by Victor Stinner in :" "issue:`28799`.)" msgstr "" +"La función indocumentada ``sys.callstats()`` ha quedado obsoleto y se " +"eliminará en una futura versión de Python. (Contribuido por *Victor Stinner* " +"en :issue:`28799`.)" #: ../Doc/whatsnew/3.7.rst:2080 msgid "wave" -msgstr "" +msgstr "*wave*" #: ../Doc/whatsnew/3.7.rst:2082 msgid "" @@ -2933,10 +4112,13 @@ msgid "" "Use :func:`wave.open` instead. (Contributed by Brian Curtin in :issue:" "`31985`.)" msgstr "" +":func:`wave.openfp` ha quedado obsoleta y sera removida en Python 3.9. En su " +"lugar use :func:`wave.open`. (Contribuido por *Brian Curtin* en :issue:" +"`31985`.)" #: ../Doc/whatsnew/3.7.rst:2088 msgid "Deprecated functions and types of the C API" -msgstr "" +msgstr "Funciones y tipos obsoletos de la API C" #: ../Doc/whatsnew/3.7.rst:2090 msgid "" @@ -2946,6 +4128,11 @@ msgid "" "``0x03060100`` or higher. (Contributed by Serhiy Storchaka in :issue:" "`27867`.)" msgstr "" +"Función :c:func:`PySlice_GetIndicesEx` está en desuso y se reemplaza con una " +"macro si ``Py_LIMITED_API`` no está configurado o configurado en un valor en " +"el rango entre ``0x03050400``y ``0x03060000`` (no incluido), o es " +"``0x03060100`` o superior. (Contribuido por *Serhiy Storchaka* en :issue:" +"`27867`.)" #: ../Doc/whatsnew/3.7.rst:2095 msgid "" @@ -2954,14 +4141,19 @@ msgid "" "`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou in :issue:" "`16500`.)" msgstr "" +":c:func:`PyOS_AfterFork` ha quedado obsoleto. En su lugar usar :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` o :c:func:" +"`PyOS_AfterFork_Child()`. (Contribuido por *Antoine Pitrou* en :issue:" +"`16500`.)" #: ../Doc/whatsnew/3.7.rst:2103 msgid "Platform Support Removals" -msgstr "" +msgstr "Eliminación de soporte de plataforma" #: ../Doc/whatsnew/3.7.rst:2105 msgid "FreeBSD 9 and older are no longer officially supported." msgstr "" +"*FreeBSD* 9 y las versiones anteriores ya no son compatibles oficialmente." #: ../Doc/whatsnew/3.7.rst:2106 msgid "" @@ -2970,6 +4162,12 @@ msgid "" "locale), ``C.utf8`` (full locale) or ``UTF-8`` (``LC_CTYPE``-only locale) as " "an alternative to the legacy ``ASCII``-based ``C`` locale." msgstr "" +"Para una compatibilidad total con Unicode, incluso dentro de los módulos de " +"extensión, ahora se espera que las plataformas \\*nix proporcionen al menos " +"uno de ``C.UTF-8`` (configuración regional completa), ``C." +"utf8``(configuración regional completa) o ``UTF-8`` (configuración regional " +"exclusiva de ``LC_CTYPE``) como una alternativa a la configuración regional " +"``C`` heredada basada en ``ASCII``." #: ../Doc/whatsnew/3.7.rst:2110 msgid "" @@ -2978,6 +4176,10 @@ msgid "" "versions requires custom build options that link to a more recent version of " "OpenSSL." msgstr "" +"OpenSSL 0.9.8 y 1.0.1 ya no son compatibles, lo que significa que la " +"compilación de CPython 3.7 con compatibilidad con SSL / TLS en plataformas " +"más antiguas que aún usan estas versiones requiere opciones de compilación " +"personalizadas que se vinculan a una versión más reciente de OpenSSL." #: ../Doc/whatsnew/3.7.rst:2114 msgid "" @@ -2985,6 +4187,9 @@ msgid "" "(aka \"Trusty\") LTS Linux distributions, as they still use OpenSSL 1.0.1 by " "default." msgstr "" +"En particular, este problema afecta a las distribuciones LTS Linux Debian 8 " +"(también conocido como “jessie”) y *Ubuntu* 14.04 (también conocido como " +"“Trusty”), ya que todavía usan OpenSSL 1.0.1 por defecto." #: ../Doc/whatsnew/3.7.rst:2118 msgid "" @@ -2993,6 +4198,10 @@ msgid "" "use OpenSSL 1.0.2 or later, and remain supported in the default build " "configuration." msgstr "" +"Debian 9 (“stretch”) y *Ubuntu* 16.04 (“xenial”), así como las versiones " +"recientes de otras versiones de LTS Linux (por ejemplo, RHEL / CentOS 7.5, " +"SLES 12-SP3), usan OpenSSL 1.0.2 o posterior y siguen siendo compatibles en " +"la configuración de compilación predeterminada." #: ../Doc/whatsnew/3.7.rst:2122 msgid "" @@ -3001,14 +4210,19 @@ msgid "" "` in CPython's test suite to build and link " "against OpenSSL 1.1.0 rather than an outdated system provided OpenSSL." msgstr "" +"El propio :source:`archivo de configuración CI <.travis.yml>` de CPython " +"proporciona un ejemplo del uso de SSL :source:`compatibilidad con la " +"estructura de testing ` en el conjunto de " +"pruebas de CPython para compilar y vincular contra OpenSSL 1.1.0 en lugar de " +"un sistema obsoleto proporcionado OpenSSL." #: ../Doc/whatsnew/3.7.rst:2130 msgid "API and Feature Removals" -msgstr "" +msgstr "Eliminaciones de API y funciones" #: ../Doc/whatsnew/3.7.rst:2132 msgid "The following features and APIs have been removed from Python 3.7:" -msgstr "" +msgstr "Las siguientes funciones y API se han eliminado de Python 3.7:" #: ../Doc/whatsnew/3.7.rst:2134 msgid "" @@ -3016,6 +4230,9 @@ msgid "" "in Python 2.3 for backward compatibility with Python 2.2, and was deprecated " "since Python 3.1." msgstr "" +"La función ``os.stat_float_times()`` ha sido removida. Se introdujo en " +"Python 2.3 por compatibilidad con versiones anteriores de Python 2.2 y quedó " +"obsoleto desde Python 3.1." #: ../Doc/whatsnew/3.7.rst:2138 msgid "" @@ -3023,12 +4240,18 @@ msgid "" "templates for :func:`re.sub` were deprecated in Python 3.5, and will now " "cause an error." msgstr "" +"Los escapes desconocidos que consisten en ``’\\’`` y una letra ASCII en las " +"plantillas de reemplazo para :func:`re.sub` quedaron obsoletos en Python 3.5 " +"y ahora causarán un error." #: ../Doc/whatsnew/3.7.rst:2142 msgid "" "Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It " "was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." msgstr "" +"Se eliminó el soporte del argumento * exclude * en :meth:`tarfile.TarFile." +"add`. Fue obsoleto en Python 2.7 y 3.2. Utilice el argumento * filtro * en " +"su lugar." #: ../Doc/whatsnew/3.7.rst:2145 msgid "" @@ -3036,6 +4259,9 @@ msgid "" "Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` " "function instead." msgstr "" +"La función ``splitunc()`` en el módulo :mod:`ntpath` quedó obsoleto en " +"Python 3.1 y ahora se ha eliminado. Utilice la función :func:`~os.path." +"splitdrive` en su lugar." #: ../Doc/whatsnew/3.7.rst:2149 msgid "" @@ -3045,6 +4271,11 @@ msgid "" "creation. (Contributed by Jelle Zijlstra with further improvements by INADA " "Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" msgstr "" +":func:`collections.namedtuple` ya no admite el parámetro *verbose* o el " +"atributo ``_source`` que mostraba el código fuente generado para la clase de " +"tupla nombrada. Esto fue parte de una optimización diseñada para acelerar la " +"creación de clases. (Contribuido por *Jelle Zijlstra* con nuevas mejoras de " +"*INADA Naoki*, *Serhiy Storchaka*, y *Raymond Hettinger* en :issue:`28638`.)" #: ../Doc/whatsnew/3.7.rst:2155 msgid "" @@ -3052,6 +4283,9 @@ msgid "" "longer take keyword arguments. The first argument of :func:`int` can now be " "passed only as positional argument." msgstr "" +"Funciones :func:`bool`, :func:`float`, :func:`list` y :func:`tuple` ya no " +"aceptan argumentos de palabras clave. El primer argumento de :func:`int` " +"ahora solo se puede pasar como argumento posicional." #: ../Doc/whatsnew/3.7.rst:2159 msgid "" @@ -3061,6 +4295,11 @@ msgid "" "readPlistFromBytes` are now normal dicts. You no longer can use attribute " "access to access items of these dictionaries." msgstr "" +"Eliminado anteriormente en desuso en las clases de Python 2.4 ``Plist``, " +"``Dict`` y ``_InternalDict`` en el módulo :mod:`plistlib`. Dictar valores en " +"el resultado de funciones :func:`~plistlib.readPlist` y :func:`~plistlib." +"readPlistFromBytes` ahora son dictados normales. Ya no puede utilizar el " +"acceso a atributos para acceder a elementos de estos diccionarios." #: ../Doc/whatsnew/3.7.rst:2165 msgid "" @@ -3069,6 +4308,10 @@ msgid "" "platforms since Python 3.5. ``asyncio.windows_utils.socketpair`` was just an " "alias to ``socket.socketpair`` on Python 3.5 and newer." msgstr "" +"La función ``asyncio.windows_utils.socketpair()`` ha sido removida. En su " +"lugar use la función :func:`socket.socketpair`, está disponible en todas las " +"plataformas desde Python 3.5. ``asyncio.windows_utils.socketpair`` era un " +"alias para ``socket.socketpair`` en Python 3.5 y mas nuevo." #: ../Doc/whatsnew/3.7.rst:2171 msgid "" @@ -3076,6 +4319,9 @@ msgid "" "modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from " "asyncio import selectors`` with ``import selectors``." msgstr "" +":mod:`asyncio` ya no exporta el :mod:`selectors` y módulos como :mod:" +"`_overlapped` ``asyncio.selectors`` y ``asyncio._overlapped``. reemplazar " +"por ``from asyncio import selectors`` y ``import selectors``." #: ../Doc/whatsnew/3.7.rst:2176 msgid "" @@ -3085,16 +4331,23 @@ msgid "" "wrap_socket` or :class:`ssl.SSLContext`. (Contributed by Christian Heimes " "in :issue:`32951`.)" msgstr "" +"Instanciación directa de objetos :class:`ssl.SSLSocket` y :class:`ssl." +"SSLObject` ahora está prohibido. Los constructores nunca fueron " +"documentados, probados o diseñados como constructores públicos. Se suponía " +"que los usuarios usaban :func:`ssl.wrap_socket` o :class:`ssl.SSLContext`. " +"(Contribuido por *Christian Heimes* en :issue:`32951`.)" #: ../Doc/whatsnew/3.7.rst:2182 msgid "" "The unused :mod:`distutils` ``install_misc`` command has been removed. " "(Contributed by Eric N. Vander Weele in :issue:`29218`.)" msgstr "" +"El comando no utilizado :mod:`distutils` ``install_misc`` ha sido eliminado. " +"(Contribuido por *Eric N. Vander Weele* en :issue:`29218`.)" #: ../Doc/whatsnew/3.7.rst:2187 msgid "Module Removals" -msgstr "" +msgstr "Eliminaciones de módulos" #: ../Doc/whatsnew/3.7.rst:2189 msgid "" @@ -3103,10 +4356,14 @@ msgid "" "caused unexpected breakage of C extensions. (Contributed by Nathaniel J. " "Smith in :issue:`29137`.)" msgstr "" +"El modulo ``fpectl`` ha sido removido. Nunca se habilitó de forma " +"predeterminada, nunca funcionó correctamente en x86-64 y cambió la ABI de " +"Python de manera que causó la rotura inesperada de las extensiones C. " +"(Contribuido por *Nathaniel J. Smith* en :issue:`29137`.)" #: ../Doc/whatsnew/3.7.rst:2196 ../Doc/whatsnew/3.7.rst:2472 msgid "Windows-only Changes" -msgstr "" +msgstr "Cambios solo en Windows" #: ../Doc/whatsnew/3.7.rst:2198 msgid "" @@ -3117,6 +4374,13 @@ msgid "" "been used. If the specified version is not available py.exe will error exit. " "(Contributed by Steve Barnes in :issue:`30291`.)" msgstr "" +"El lanzador de python, (py.exe), puede aceptar especificadores de 32 y 64 " +"bits **sin** tener que especificar también una versión secundaria. Entonces, " +"``py -3-32`` y ``py -3-64`` se vuelven válidos, así como ``py -3.7-32``, " +"también los -*m*-64 and -*m.n*-64. Los formularios ahora se aceptan para " +"forzar Python de 64 bits incluso si de otro modo se hubieran utilizado 32 " +"bits. Si la versión especificada no está disponible, py.exe saldrá del " +"error. (Contribuido por *Steve Barnes* en :issue:`30291`.)" #: ../Doc/whatsnew/3.7.rst:2205 msgid "" @@ -3126,20 +4390,28 @@ msgid "" "matched it will also print the *short form* list of available specifiers. " "(Contributed by Steve Barnes in :issue:`30362`.)" msgstr "" +"El lanzador se puede ejecutar como ``py -0`` para producir una lista de las " +"pitones instaladas, *con las marcas predeterminadas con un asterisco*. La " +"ejecución de ``py -0p`` incluirá las rutas. Si py se ejecuta con un " +"especificador de versión que no puede coincidir, también imprimirá la *forma " +"corta* lista de especificadores disponibles. (Contribuido por *Steve Barnes* " +"en :issue:`30362`.)" #: ../Doc/whatsnew/3.7.rst:2215 msgid "Porting to Python 3.7" -msgstr "" +msgstr "Portando a Python 3.7" #: ../Doc/whatsnew/3.7.rst:2217 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" +"Esta sección enumera los cambios descritos anteriormente y otras " +"correcciones de errores que pueden requerir cambios en su código." #: ../Doc/whatsnew/3.7.rst:2222 msgid "Changes in Python Behavior" -msgstr "" +msgstr "Cambios en el comportamiento de Python" #: ../Doc/whatsnew/3.7.rst:2224 msgid "" @@ -3147,6 +4419,10 @@ msgid "" "using these names as identifiers will now raise a :exc:`SyntaxError`. " "(Contributed by Jelle Zijlstra in :issue:`30406`.)" msgstr "" +":keyword:`async` y :keyword:`await` los nombres ahora son palabras clave " +"reservadas. El código que usa estos nombres como identificadores generará " +"ahora un :exc:`SyntaxError`. (Contribuido por *Jelle Zijlstra* en :issue:" +"`30406`.)" #: ../Doc/whatsnew/3.7.rst:2228 msgid "" @@ -3155,18 +4431,26 @@ msgid "" "generators are transformed into :exc:`RuntimeError` exceptions. (Contributed " "by Yury Selivanov in :issue:`32670`.)" msgstr "" +":pep:`479` está habilitado para todo el código en Python 3.7, lo que " +"significa que las excepciones de :exc:`StopIteration` generadas directa o " +"indirectamente en corutinas y generadores se transforman en excepciones de :" +"exc:`RuntimeError`. (Contribuido por *Yury Selivanov* en :issue:`32670`.)" #: ../Doc/whatsnew/3.7.rst:2234 msgid "" ":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " "(Contributed by Yury Selivanov in :issue:`31709`.)" msgstr "" +"Los métodos :meth:`object.__aiter__` ya no se pueden declarar cómo " +"asincrónicos. (Contribuido por *Yury Selivanov* en :issue:`31709`.)" #: ../Doc/whatsnew/3.7.rst:2237 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" +"Debido a un descuido, las versiones anteriores de Python aceptaron " +"erróneamente la siguiente sintaxis:" #: ../Doc/whatsnew/3.7.rst:2245 msgid "" @@ -3176,6 +4460,11 @@ msgid "" "can be omitted only on calls. (Contributed by Serhiy Storchaka in :issue:" "`32012` and :issue:`32023`.)" msgstr "" +"Python 3.7 ahora levanta correctamente una :exc:`SyntaxError`, como una " +"expresión generadora siempre debe estar directamente dentro de un conjunto " +"de paréntesis y no puede tener una coma a ambos lados, y la duplicación de " +"los paréntesis solo se puede omitir en las llamadas. (Contribuido por " +"*Serhiy Storchaka* en :issue:`32012` y :issue:`32023`.)" #: ../Doc/whatsnew/3.7.rst:2251 msgid "" @@ -3188,10 +4477,18 @@ msgid "" "depending on why the code was checking for the empty string in the first " "place)." msgstr "" +"Al usar el interruptor :option:`-m`, el directorio de trabajo inicial ahora " +"se agrega a: data :data:`sys.path`, en lugar de una cadena vacía (que denota " +"dinámicamente el directorio de trabajo actual en el momento de cada " +"importación). Cualquier programa que esté comprobando la cadena vacía, o que " +"dependa de otro modo del comportamiento anterior, deberá actualizarse en " +"consecuencia (por ejemplo, comprobando también si hay ``os.getcwd()`` o ``os." +"path.dirname(__main__.__file__)``, dependiendo de por qué el código buscaba " +"la cadena vacía en primer lugar)." #: ../Doc/whatsnew/3.7.rst:2261 msgid "Changes in the Python API" -msgstr "" +msgstr "Cambios en la API Python" #: ../Doc/whatsnew/3.7.rst:2263 msgid "" @@ -3200,6 +4497,11 @@ msgid "" "block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " "(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` ahora espera hasta que se " +"completen todos los subprocesos que no son demonios. Establezca el nuevo " +"atributo de clase :attr:`socketserver.ThreadingMixIn.block_on_close` en " +"``False`` para obtener el comportamiento anterior a 3.7. (Contribuido por " +"*Victor Stinner* en :issue:`31233` y :issue:`33540`.)" #: ../Doc/whatsnew/3.7.rst:2269 msgid "" @@ -3208,6 +4510,11 @@ msgid "" "block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " "(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` ahora espera hasta que se " +"completen todos los procesos secundarios. Establezca el nuevo atributo de " +"clase :attr:`socketserver.ForkingMixIn.block_on_close` en ``False`` para " +"obtener el comportamiento anterior a 3.7. (Contribuido por *Victor Stinner* " +"en :issue:`31151` y :issue:`33540`.)" #: ../Doc/whatsnew/3.7.rst:2275 msgid "" @@ -3215,6 +4522,9 @@ msgid "" "locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" +"La función :func:`locale.localeconv` ahora establece temporalmente la " +"configuración regional ``LC_CTYPE`` en el valor de ```LC_NUMERIC`` en " +"algunos casos. (Contribuido por *Victor Stinner* en :issue:`31900`.)" #: ../Doc/whatsnew/3.7.rst:2279 msgid "" @@ -3222,6 +4532,9 @@ msgid "" "string. Previously an empty list was returned. (Contributed by Sanyam " "Khurana in :issue:`24744`.)" msgstr "" +":meth:`pkgutil.walk_packages` ahora genera un :exc:`ValueError` si la* ruta " +"* es una cadena. Anteriormente se devolvió una lista vacía. (Contribuido por " +"*Sanyam Khurana* en :issue:`24744`.)" #: ../Doc/whatsnew/3.7.rst:2283 msgid "" @@ -3230,6 +4543,10 @@ msgid "" "argument was deprecated in Python 3.5. (Contributed by Serhiy Storchaka in :" "issue:`29193`.)" msgstr "" +"Un argumento de cadena de formato para :meth:`string.Formatter.format` es " +"ahora :ref:`solo posicional `. Pasarlo como un " +"argumento de palabra clave quedó obsoleto en Python 3.5. (Contribuido por " +"*Serhiy Storchaka* en :issue:`29193`.)" #: ../Doc/whatsnew/3.7.rst:2288 msgid "" @@ -3239,6 +4556,11 @@ msgid "" "Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method for setting " "them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" msgstr "" +"Atributos :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." +"value` y :attr:`~http.cookies.Morsel.coded_value` de la clase :class:`http." +"cookies.Morsel` ahora son de solo lectura. La asignación a ellos quedó " +"obsoleta en Python 3.5. Utilizar el método :meth:`~http.cookies.Morsel.set` " +"para configurarlos. (Contribuido por *Serhiy Storchaka* en :issue:`29192`.)" #: ../Doc/whatsnew/3.7.rst:2296 msgid "" @@ -3247,12 +4569,19 @@ msgid "" "their file permission bits you can set the umask before invoking " "``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" +"El argumento * modo * de :func:`os.makedirs` ya no afecta a los bits de " +"permisos de archivos de los directorios de nivel intermedio recién creados. " +"Para configurar sus bits de permiso de archivo, puede configurar la máscara " +"de usuario antes de invocar ```makedirs()``. (Contribuido por *Serhiy " +"Storchaka* en :issue:`19930`.)" #: ../Doc/whatsnew/3.7.rst:2302 msgid "" "The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:" "`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" msgstr "" +"El tipo :attr:`struct.Struct.format` ahora es :class:`str` en lugar de: " +"class :class:`bytes`. (Contribuido por *Victor Stinner* en :issue:`21071`.)" #: ../Doc/whatsnew/3.7.rst:2305 msgid "" @@ -3261,6 +4590,11 @@ msgid "" "file fields, the value associated to a key is a list of strings, not bytes. " "(Contributed by Pierre Quentel in :issue:`29979`.)" msgstr "" +":func:`~cgi.parse_multipart` ahora acepta los argumentos * codificación * y " +"* errores * y devuelve los mismos resultados que :class:`~FieldStorage`: " +"para campos que no son de archivo, el valor asociado a una clave es una " +"lista de cadenas, no bytes. (Contribuido por *Pierre Quentel* en :issue:" +"`29979`.)" #: ../Doc/whatsnew/3.7.rst:2311 msgid "" @@ -3268,6 +4602,9 @@ msgid "" "on a socket created by :func:`socket.share ` in older " "Python versions is not supported." msgstr "" +"Debido a cambios internos en :mod:`socket`, llamar :func:`socket.fromshare` " +"en un socket creado por :func:`socket.share ` en " +"versiones anteriores de Python no es compatible." #: ../Doc/whatsnew/3.7.rst:2315 msgid "" @@ -3275,12 +4612,18 @@ msgid "" "comma. Most exceptions are affected by this change. (Contributed by Serhiy " "Storchaka in :issue:`30399`.)" msgstr "" +"``repr`` para :exc:`BaseException` ha cambiado para no incluir la coma " +"final. La mayoría de las excepciones se ven afectadas por este cambio. " +"(Contribuido por *Serhiy Storchaka* en :issue:`30399`.)" #: ../Doc/whatsnew/3.7.rst:2319 msgid "" "``repr`` for :class:`datetime.timedelta` has changed to include the keyword " "arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)" msgstr "" +"``repr`` para :class:`datetime.timedelta` ha cambiado para incluir los " +"argumentos de palabras clave en la salida. (Contribuido por *Utkarsh " +"Upadhyay* en :issue:`30302`.)" #: ../Doc/whatsnew/3.7.rst:2322 msgid "" @@ -3289,6 +4632,10 @@ msgid "" "the first argument ``os.scandir`` instead of ``os.listdir`` when listing the " "directory is failed." msgstr "" +"Debido a que :func:`shutil.rmtree` ahora se implementa usando la función :" +"func:`os.scandir`, el controlador especificado por el usuario *onerror* " +"ahora se llama con el primer argumento ``os.scandir`` en lugar de ``os." +"listdir`` cuando falla el listado del directorio." #: ../Doc/whatsnew/3.7.rst:2327 msgid "" @@ -3300,6 +4647,14 @@ msgid "" "``'--'``, ``'&&'``, ``'~~'``, and ``'||'``. To avoid a warning, escape them " "with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" msgstr "" +"Es posible que en el futuro se agregue soporte para conjuntos anidados y " +"operaciones de conjuntos en expresiones regulares como en `Unicode Technical " +"Standard #18`_. Esto cambiaría la sintaxis. Para facilitar este cambio " +"futuro, por el momento, se planteará un :exc:`FutureWarning` en casos " +"ambiguos. Que incluyen conjuntos que comienzan con un literal ``’[‘`` o que " +"contienen secuencias de caracteres literales ``’—‘``, ``’&&’``, ``’~~’``, " +"and ``’||’``. Para evitar una advertencia, escapa de ellos con una barra " +"invertida. (Contribuido por *Serhiy Storchaka* en :issue:`30349`.)" #: ../Doc/whatsnew/3.7.rst:2338 msgid "" @@ -3311,6 +4666,13 @@ msgid "" "pattern to ``r'\\s+'``. A :exc:`FutureWarning` was emitted for such " "patterns since Python 3.5." msgstr "" +"El resultado de dividir una cuerda en un :mod:`expresión regular ` que " +"podría coincidir con una cadena vacía. Por ejemplo, dividir en ``r’\\s*’`` " +"ahora dividirá no solo en espacios en blanco como lo hizo anteriormente, " +"sino también en cadenas vacías antes de todos los caracteres que no sean " +"espacios en blanco y justo antes del final de la cadena. El comportamiento " +"anterior se puede restaurar cambiando el patrón a ``r’\\s+’``. Una :exc:" +"`FutureWarning` se emitió para tales patrones desde Python 3.5." #: ../Doc/whatsnew/3.7.rst:2347 msgid "" @@ -3321,6 +4683,12 @@ msgid "" "positions 2--3. To match only blank lines, the pattern should be rewritten " "as ``r'(?m)^[^\\S\\n]*$'``." msgstr "" +"Para patrones que coinciden con cadenas vacías y no vacías, el resultado de " +"la búsqueda de todas las coincidencias también puede cambiarse en otros " +"casos. Por ejemplo en la cadena ``’a\\n\\n’``, el patrón ``’\\n’`` no solo " +"coincidirá con cadenas vacías en las posiciones 2 y 3, sino también la " +"cadena `` ‘\\ n’`` en las posiciones 2–3. Para hacer coincidir solo líneas " +"en blanco, el patrón debe reescribirse como ``r’(?m)^[^\\S\\n]*$’``." #: ../Doc/whatsnew/3.7.rst:2354 msgid "" @@ -3329,10 +4697,16 @@ msgid "" "instead of ``'-a-b-d-'`` (the first minus between 'b' and 'd' replaces 'x', " "and the second minus replaces an empty string between 'x' and 'd')." msgstr "" +":func:`re.sub()` ahora reemplaza las coincidencias vacías adyacentes a una " +"coincidencia anterior no vacía. Por ejemplo ``re.sub(‘x*’, ‘-‘, ‘abxd’)`` " +"retorno ahora ``’-a-b—d-‘`` en lugar de ``’-a-b-d-‘`` (el primer signo menos " +"entre ‘b’ y ‘d’ reemplaza a ‘x’, y el segundo signo menos reemplaza una " +"cadena vacía entre ‘x’ y ‘d’)." #: ../Doc/whatsnew/3.7.rst:2360 msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" msgstr "" +"(Contribuido por *Serhiy Storchaka* en :issue:`25054` y :issue:`32308`.)" #: ../Doc/whatsnew/3.7.rst:2362 msgid "" @@ -3340,6 +4714,9 @@ msgid "" "escaping all characters other than ASCII letters, numbers, and ``'_'``. " "(Contributed by Serhiy Storchaka in :issue:`29995`.)" msgstr "" +"Cambie :func:`re.escape` para escapar solo de los caracteres especiales " +"regex en lugar de escapar de todos los caracteres que no sean letras ASCII, " +"números y ``’_’``. (Contribuido por *Serhiy Storchaka* en :issue:`29995`.)" #: ../Doc/whatsnew/3.7.rst:2366 msgid "" @@ -3347,6 +4724,9 @@ msgid "" "recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " "Bakker in :issue:`32121`.)" msgstr "" +"Los marcos :class:`tracemalloc.Traceback` ahora se ordenan del más antiguo " +"al más reciente para ser más coherentes con :mod:`traceback`. (Contribuido " +"por *Jesse Bakker* en :issue:`32121`.)" #: ../Doc/whatsnew/3.7.rst:2370 msgid "" @@ -3356,6 +4736,11 @@ msgid "" "SOCK_STREAM`` work as expected on all platforms. (Contributed by Yury " "Selivanov in :issue:`32331`.)" msgstr "" +"En sistemas operativos que admiten banderas de bits :const:`socket." +"SOCK_NONBLOCK` o :const:`socket.SOCK_CLOEXEC`, el :attr:`socket.type ` ya no los tiene aplicados. Por lo tanto, comprobaciones como " +"``if sock.type == socket.SOCK_STREAM`` funcionan como se espera en todas las " +"plataformas. (Contribuido por *Yury Selivanov* en :issue:`32331`.)" #: ../Doc/whatsnew/3.7.rst:2377 msgid "" @@ -3366,6 +4751,13 @@ msgid "" "to pass ``close_fds=False`` to preserve the previous behaviour, or use :attr:" "`STARTUPINFO.lpAttributeList `." msgstr "" +"En Windows, el valor predeterminado para el argumento *close_fds* de :class:" +"`subprocess.Popen` se cambió de :const:`False` a :const:`True` al redirigir " +"los identificadores estándar. Si anteriormente dependía de que los " +"identificadores fueran heredados al usar :class:`subprocess.Popen` con la " +"redirección estándar de io, tendrá que pasar ``close_fds=False`` para " +"preservar el comportamiento anterior, o usar :attr:`STARTUPINFO." +"lpAttributeList `." #: ../Doc/whatsnew/3.7.rst:2385 msgid "" @@ -3374,6 +4766,10 @@ msgid "" "`sys.path_importer_cache` which are set to ``None``. (Contributed by Brett " "Cannon in :issue:`33169`.)" msgstr "" +":meth:`importlib.machinery.PathFinder.invalidate_caches` -- que afecta " +"implícitamente a :func:`importlib.invalidate_caches` -- ahora borra entradas " +"en :data:`sys.path_importer_cache` que están configuradas en ``None``. " +"(Contribuido por *Brett Cannon* en :issue:`33169`.)" #: ../Doc/whatsnew/3.7.rst:2390 msgid "" @@ -3385,6 +4781,13 @@ msgid "" "Previously, these methods returned :class:`asyncio.Future` instances. " "(Contributed by Yury Selivanov in :issue:`32327`.)" msgstr "" +"En :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" +"`loop.sock_sendall() `, :meth:`loop.sock_accept() " +"`, :meth:`loop.getaddrinfo() `, :meth:`loop.getnameinfo() ` se han " +"cambiado para que sean métodos de rutina adecuados para que coincidan con su " +"documentación. Anteriormente, estos métodos devolvían instancias :class:" +"`asyncio.Future`. (Contribuido por *Yury Selivanov* en :issue:`32327`.)" #: ../Doc/whatsnew/3.7.rst:2401 msgid "" @@ -3392,6 +4795,9 @@ msgid "" "server sockets, instead of returning it directly. (Contributed by Yury " "Selivanov in :issue:`32662`.)" msgstr "" +":attr:`asyncio.Server.sockets` ahora devuelve una copia de la lista interna " +"de sockets del servidor, en lugar de devolverla directamente. (Contribuido " +"por *Yury Selivanov* en :issue:`32662`.)" #: ../Doc/whatsnew/3.7.rst:2405 msgid "" @@ -3399,6 +4805,9 @@ msgid "" "instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" "issue:`21071`.)" msgstr "" +":attr:`Struct.format ` es ahora una instancia :class:" +"`str` en lugar de una instancia :class:`bytes`. (Contribuido por *Victor " +"Stinner* en :issue:`21071`.)" #: ../Doc/whatsnew/3.7.rst:2409 msgid "" @@ -3407,6 +4816,10 @@ msgid "" "ArgumentParser.add_subparsers>`. (Contributed by Anthony Sottile in :issue:" "`26510`.)" msgstr "" +":mod:`argparse` *subparsers* ahora pueden hacerse obligatorios pasando " +"``required=True`` a :meth:`ArgumentParser.add_subparsers() `. (Contribuido por *Anthony Sottile* en :" +"issue:`26510`.)" #: ../Doc/whatsnew/3.7.rst:2413 msgid "" @@ -3414,6 +4827,9 @@ msgid "" "arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka " "in :issue:`31778`.)" msgstr "" +":meth:`ast.literal_eval()` ahora es más estricto. Ya no se permiten sumas y " +"restas de números arbitrarios. (Contribuido por *Serhiy Storchaka* en :issue:" +"`31778`.)" #: ../Doc/whatsnew/3.7.rst:2417 msgid "" @@ -3426,12 +4842,22 @@ msgid "" "tuples and are not restricted by the range supported by :class:`datetime." "date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" msgstr "" +":meth:`Calendar.itermonthdates ` ahora " +"generará una excepción cuando una fecha cae fuera del rango de " +"``0001-01-01`` a ``9999-12-31``. Para admitir aplicaciones que no pueden " +"tolerar tales excepciones, se puede utilizar el nuevo :meth:`Calendar." +"itermonthdays3 ` y :meth:`Calendar." +"itermonthdays4 `. Los nuevos métodos " +"devuelven tuplas y no están restringidos por el rango admitido por :class:" +"`datetime.date`. (Contribuido por *Alexander Belopolsky* en :issue:`28292`.)" #: ../Doc/whatsnew/3.7.rst:2427 msgid "" ":class:`collections.ChainMap` now preserves the order of the underlying " "mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" msgstr "" +":class:`collections.ChainMap` ahora conserva el orden de las asignaciones " +"subyacentes. (Contribuido por *Raymond Hettinger* en :issue:`32792`.)" #: ../Doc/whatsnew/3.7.rst:2430 msgid "" @@ -3440,6 +4866,10 @@ msgid "" "`RuntimeError` if called during interpreter shutdown. (Contributed by Mark " "Nemec in :issue:`33097`.)" msgstr "" +"El método ``submit()`` de :class:`concurrent.futures.ThreadPoolExecutor` y :" +"class:`concurrent.futures.ProcessPoolExecutor` ahora genera un :exc:" +"`RuntimeError` si se llama durante el cierre del intérprete. (Contribuido " +"por *Mark Nemec* en :issue:`33097`.)" #: ../Doc/whatsnew/3.7.rst:2435 msgid "" @@ -3449,6 +4879,12 @@ msgid "" "now being implicitly converted to strings. (Contributed by James Tocknell " "in :issue:`23835`.)" msgstr "" +"El constructor :class:`configparser.ConfigParser` ahora usa ``read_dict()`` " +"para procesar los valores predeterminados, haciendo que su comportamiento " +"sea coherente con el resto del analizador. Las claves y los valores que no " +"son cadenas en el diccionario de valores predeterminados ahora se están " +"convirtiendo implícitamente en cadenas. (Contribuido por *James Tocknell* " +"en :issue:`23835`.)" #: ../Doc/whatsnew/3.7.rst:2441 msgid "" @@ -3457,10 +4893,15 @@ msgid "" "that such undocumented internal imports may be removed any time without " "notice, even in micro version releases." msgstr "" +"Se eliminaron varias importaciones internas indocumentadas. Un ejemplo es " +"que ``os.errno`` ya no está disponible; use ``import errno`` directamente en " +"su lugar. Tenga en cuenta que estas importaciones internas no documentadas " +"pueden eliminarse en cualquier momento sin previo aviso, incluso en las " +"versiones micro." #: ../Doc/whatsnew/3.7.rst:2449 msgid "Changes in the C API" -msgstr "" +msgstr "Cambios en la API de C" #: ../Doc/whatsnew/3.7.rst:2451 msgid "" @@ -3473,22 +4914,36 @@ msgid "" "`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy " "Storchaka in :issue:`27867`.)" msgstr "" +"La función :c:func:`PySlice_GetIndicesEx` se considera insegura para " +"secuencias de tamaño variable. Si los índices de corte no son instancias de :" +"class:`int`, sino objetos que implementan el método meth:`!__index__`, la " +"secuencia se puede cambiar de tamaño después de pasar su longitud a :c:func:" +"`!PySlice_GetIndicesEx`. Esto puede llevar a que se devuelvan índices fuera " +"de la longitud de la secuencia. Esto puede llevar a devolver índices fuera " +"de la longitud de la secuencia. Para evitar posibles problemas, use las " +"nuevas funciones :c:func:`PySlice_Unpack` y :c:func:`PySlice_AdjustIndices`. " +"(Contribuido por *Serhiy Storchaka* en :issue:`27867`.)" #: ../Doc/whatsnew/3.7.rst:2462 msgid "CPython bytecode changes" -msgstr "" +msgstr "Cambios en el código de bytes de CPython" #: ../Doc/whatsnew/3.7.rst:2464 msgid "" "There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" msgstr "" +"Hay dos nuevos códigos de operación: :opcode:`LOAD_METHOD` y :opcode:" +"`CALL_METHOD`. (Contribuido por *Yury Selivanov* y *INADA Naoki* en :issue:" +"`26110`.)" #: ../Doc/whatsnew/3.7.rst:2467 msgid "" "The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " "Shannon in :issue:`32550`.)" msgstr "" +"El código de operación :opcode:`STORE_ANNOTATION` ha sido removido. " +"(Contribuido por *Mark Shannon* en :issue:`32550`.)" #: ../Doc/whatsnew/3.7.rst:2474 msgid "" @@ -3496,10 +4951,14 @@ msgid "" "executable>._pth`` instead of ``'sys.path'``. See :ref:`finding_modules` for " "more information. (Contributed by Steve Dower in :issue:`28137`.)" msgstr "" +"El archivo utilizado para anular :data:`sys.path` es ahora llamado ``._pth`` en lugar de ``’sys.path’``. Consultar :ref:" +"`finding_modules` para mas información. (Contribuido por *Steve Dower* en :" +"issue:`28137`.)" #: ../Doc/whatsnew/3.7.rst:2481 msgid "Other CPython implementation changes" -msgstr "" +msgstr "Otra implementación de cambios en CPython" #: ../Doc/whatsnew/3.7.rst:2483 msgid "" @@ -3515,6 +4974,19 @@ msgid "" "part of :issue:`22257`, and further updated by Nick, Eric, and Victor " "Stinner in a number of other issues). Some known details affected:" msgstr "" +"En preparación para posibles cambios futuros en la API pública de " +"inicialización del tiempo de ejecución de CPython (ver :pep:`432` para un " +"borrador inicial, pero algo desactualizado), La lógica de gestión de " +"configuración y puesta en marcha interna de CPython se ha re-factorizado " +"significativamente. Si bien estas actualizaciones están destinadas a ser " +"completamente transparentes tanto para las aplicaciones integradas como para " +"los usuarios de la CLI de CPython normal, se mencionan aquí ya que la " +"refactorización cambia el orden interno de varias operaciones durante el " +"inicio del intérprete y, por lo tanto, pueden descubrir defectos previamente " +"latentes, ya sea en aplicaciones incrustadas, o en el propio CPython. " +"( Inicialmente contribuido por *Nick Coghlan* y *Eric Snow* como parte de :" +"issue:`22257`, y actualizado por *Nick*, *Eric*, y *Victor Stinner* en " +"varios otros números). Algunos detalles conocidos afectados:" #: ../Doc/whatsnew/3.7.rst:2496 msgid "" @@ -3522,6 +4994,9 @@ msgid "" "applications due to the requirement to create a Unicode object prior to " "calling `Py_Initialize`. Use :c:func:`PySys_AddWarnOption` instead." msgstr "" +":c:func:`PySys_AddWarnOptionUnicode` actualmente no se puede utilizar para " +"incrustar aplicaciones debido al requisito de crear un objeto Unicode antes " +"de llamar `Py_Initialize`. En su lugar use :c:func:`PySys_AddWarnOption`." #: ../Doc/whatsnew/3.7.rst:2500 msgid "" @@ -3529,6 +5004,9 @@ msgid "" "`PySys_AddWarnOption` should now more consistently take precedence over the " "default filters set by the interpreter" msgstr "" +"filtros de advertencias agregados por una aplicación de incrustación con :c:" +"func:`PySys_AddWarnOption` ahora debería tener prioridad sobre los filtros " +"predeterminados establecidos por el intérprete" #: ../Doc/whatsnew/3.7.rst:2504 msgid "" @@ -3539,6 +5017,13 @@ msgid "" "warnings to be emitted in the first place), and an explicit ``error::" "BytesWarning`` warnings filter added to convert them to exceptions." msgstr "" +"Debido a cambios en la forma en que se configuran los filtros de " +"advertencias predeterminados, establecer :c:data:`Py_BytesWarningFlag` en un " +"valor mayor que uno ya no es suficiente para que ambos emitan mensajes :exc:" +"`BytesWarning` y los conviertan en excepciones. En su lugar, se debe " +"establecer la bandera (para hacer que las advertencias se emitan en primer " +"lugar) y se debe agregar un filtro de advertencias explícito ``error::" +"BytesWarning`` para convertirlas en excepciones." #: ../Doc/whatsnew/3.7.rst:2511 msgid "" @@ -3547,6 +5032,11 @@ msgid "" "is now marked as occurring on the same line as the docstring, not on the " "function's header line." msgstr "" +"Debido a un cambio en la forma en que el compilador maneja las cadenas de " +"documentos, el implícito ``return None`` en el cuerpo de una función que " +"consiste únicamente en una cadena de documentos ahora se marca como " +"ocurriendo en la misma línea que la cadena de documentos, no en la línea de " +"encabezado de la función." #: ../Doc/whatsnew/3.7.rst:2516 msgid "" @@ -3555,10 +5045,14 @@ msgid "" "caused by having swap exception state when entering or exiting a generator. " "(Contributed by Mark Shannon in :issue:`25612`.)" msgstr "" +"El estado de excepción actual se ha movido del objeto de trama a la co-" +"rutina. Esto simplificó el intérprete y corrigió un par de errores oscuros " +"causados por tener un estado de excepción de intercambio al ingresar o salir " +"de un generador. (Contribuido por *Mark Shannon* en :issue:`25612`.)" #: ../Doc/whatsnew/3.7.rst:2522 msgid "Notable changes in Python 3.7.1" -msgstr "" +msgstr "Cambios notables en Python 3.7.1" #: ../Doc/whatsnew/3.7.rst:2524 msgid "" @@ -3569,6 +5063,13 @@ msgid "" "to :issue:`34247`). If this behavior is unwanted, set :c:data:" "`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." msgstr "" +"A partir de 3.7.1, :c:func:`Py_Initialize` ahora lee y respeta " +"constantemente todos los mismos ajustes de entorno que :c:func:`Py_Main` (en " +"versiones anteriores de Python, respetaba un subconjunto mal definido de " +"esas variables de entorno, mientras que en Python 3.7.0 no leyó ninguna de " +"ellas debido a :issue:`34247`). Si este comportamiento no es deseado, " +"establezca :c:data:`Py_IgnoreEnvironmentFlag` en 1 antes de llamar a :c:func:" +"`Py_Initialize`." #: ../Doc/whatsnew/3.7.rst:2531 msgid "" @@ -3576,6 +5077,9 @@ msgid "" "` to use :c:type:`PyObject` " "pointers. See also :issue:`34762`." msgstr "" +"En 3.7.1 la API C para las variables de Contexto :ref:`ha sido actualizada " +"` para usar punteros :c:type:" +"`PyObject`. Ver también :issue:`34762`." #: ../Doc/whatsnew/3.7.rst:2535 msgid "" @@ -3584,10 +5088,14 @@ msgid "" "behavior now matches what the C tokenizer does internally. (Contributed by " "Ammar Askar in :issue:`33899`.)" msgstr "" +"En 3.7.1 el módulo :mod:`tokenize` ahora emite un token ``NEWLINE`` cuando " +"se le proporciona una entrada que no tiene una nueva línea al final. Este " +"comportamiento ahora coincide con lo que hace el tokenizador C internamente. " +"(Contribuido por *Ammar Askar* en :issue:`33899`.)" #: ../Doc/whatsnew/3.7.rst:2541 msgid "Notable changes in Python 3.7.2" -msgstr "" +msgstr "Cambios notables en Python 3.7.2" #: ../Doc/whatsnew/3.7.rst:2543 msgid "" @@ -3598,10 +5106,17 @@ msgid "" "this release will still require recreation of virtual environments in order " "to get the new scripts." msgstr "" +"En 3.7.2, :mod:`venv` en Windows ya no copia los binarios originales, sino " +"que crea scripts de redireccionamiento llamados ``python.exe`` y ``pythonw." +"exe`` en su lugar. Esto resuelve un problema de larga data en el que todos " +"los entornos virtuales tendrían que actualizarse o recrearse con cada " +"actualización de Python. Sin embargo, tenga en cuenta que esta versión aún " +"requerirá la recreación de entornos virtuales para obtener los nuevos " +"scripts." #: ../Doc/whatsnew/3.7.rst:2551 msgid "Notable changes in Python 3.7.6" -msgstr "" +msgstr "Cambios notables en Python 3.7.6" #: ../Doc/whatsnew/3.7.rst:2553 msgid "" @@ -3612,3 +5127,9 @@ msgid "" "(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" "`37228`.)" msgstr "" +"Debido a importantes problemas de seguridad, el parámetro *reuse_address* " +"de :meth:`asyncio.loop.create_datagram_endpoint` ya no es compatible. Esto " +"se debe al comportamiento de la opción socket ``SO_REUSEADDR`` en UDP. Para " +"obtener más detalles, consulte la documentación de ``loop." +"create_datagram_endpoint()``. (Contribuido por *Kyle Stanley*, *Antoine " +"Pitrou*, y *Yury Selivanov* en :issue:`37228`.)" From d28fa7fa64d422b5073ebccfa6a9189a40942a76 Mon Sep 17 00:00:00 2001 From: Samantha Valdez Date: Sun, 20 Dec 2020 10:55:38 -0400 Subject: [PATCH 085/153] =?UTF-8?q?Traducci=C3=B3n=20distutils/apiref.po?= =?UTF-8?q?=20(#756)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TRANSLATORS | 1 + dictionaries/distutils_apiref.txt | 9 + distutils/apiref.po | 1279 +++++++++++++++++++++++++---- 3 files changed, 1122 insertions(+), 167 deletions(-) create mode 100644 dictionaries/distutils_apiref.txt diff --git a/TRANSLATORS b/TRANSLATORS index 35443ab17a..6ee9c0d7a9 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -88,6 +88,7 @@ Rodrigo Poblete Diaz (@rodpoblete) Elias Urios Alacreu (@Buzzeitor30) Santiago E Fraire Willemoes (@Woile) Gustavo Adolfo Huarcaya Delgado (@diavolo) +Samantha Valdez A. (@samvaldez) Adrian Carrillo (@oropher) Alfonso Reyes (@mxarc) Enrique Giménez (@fenriquegimenez) diff --git a/dictionaries/distutils_apiref.txt b/dictionaries/distutils_apiref.txt new file mode 100644 index 0000000000..4c160e8075 --- /dev/null +++ b/dictionaries/distutils_apiref.txt @@ -0,0 +1,9 @@ +cygwin +vinculador +desactualizado +edítelo +únela +definirla +Preprocesa +configúralo +Redhat diff --git a/distutils/apiref.po b/distutils/apiref.po index 3a6c299fd7..28408efa73 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-09-13 20:10-0400\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" +"Last-Translator: Samantha Valdez\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" #: ../Doc/distutils/apiref.rst:5 msgid "API Reference" -msgstr "" +msgstr "Referencia de la API" #: ../Doc/distutils/apiref.rst:11 msgid "`New and changed setup.py arguments in setuptools`_" -msgstr "" +msgstr "`Argumentos nuevos y cambiados de setup.py en setuptools`_" #: ../Doc/distutils/apiref.rst:10 msgid "" @@ -34,6 +36,9 @@ msgid "" "and other APIs, makes the API consistent across different Python versions, " "and is hence recommended over using ``distutils`` directly." msgstr "" +"El proyecto ``setuptools`` añade nuevas capacidades a la función ``setup`` y " +"otras API, hace que la API sea coherente en diferentes versiones de Python " +"y, por lo tanto, se recomienda usar ``distutils`` directamente." #: ../Doc/distutils/_setuptools_disclaimer.rst:3 msgid "" @@ -41,10 +46,14 @@ msgid "" "documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " "independently covers all of the relevant information currently included here." msgstr "" +"Este documento se conserva únicamente hasta que la documentación de " +"``setuptools`` en https://setuptools.readthedocs.io/en/latest/setuptools." +"html cubra de forma independiente toda la información relevante que " +"actualmente se incluye aquí." #: ../Doc/distutils/apiref.rst:19 msgid ":mod:`distutils.core` --- Core Distutils functionality" -msgstr "" +msgstr ":mod:`distutils.core` --- Funcionalidad Core Distutils" #: ../Doc/distutils/apiref.rst:25 msgid "" @@ -53,39 +62,48 @@ msgid "" "called from the setup script). Indirectly provides the :class:`distutils." "dist.Distribution` and :class:`distutils.cmd.Command` class." msgstr "" +"El módulo :mod:`distutils.core` es el único módulo que necesita ser " +"instalado para utilizar *Distutils*. Proporciona el :func:`setup` (que es " +"llamado desde el script de configuración). Indirectamente proporciona la " +"clase :class:`distutils.dist.Distribution` y la clase :class:`distutils.cmd." +"Command`." #: ../Doc/distutils/apiref.rst:33 msgid "" "The basic do-everything function that does most everything you could ever " "ask for from a Distutils method." msgstr "" +"La función básica *do-everything* hace casi todo lo que podrías pedir de un " +"método *Distutils*." #: ../Doc/distutils/apiref.rst:36 msgid "" "The setup function takes a large number of arguments. These are laid out in " "the following table." msgstr "" +"La función de configuración toma un gran número de argumentos. Estos se " +"presentan en la siguiente tabla." #: ../Doc/distutils/apiref.rst:42 ../Doc/distutils/apiref.rst:185 msgid "argument name" -msgstr "" +msgstr "nombre del argumento" #: ../Doc/distutils/apiref.rst:42 ../Doc/distutils/apiref.rst:143 #: ../Doc/distutils/apiref.rst:185 msgid "value" -msgstr "" +msgstr "valor" #: ../Doc/distutils/apiref.rst:42 ../Doc/distutils/apiref.rst:185 msgid "type" -msgstr "" +msgstr "tipo" #: ../Doc/distutils/apiref.rst:44 ../Doc/distutils/apiref.rst:187 msgid "*name*" -msgstr "" +msgstr "*name*" #: ../Doc/distutils/apiref.rst:44 msgid "The name of the package" -msgstr "" +msgstr "El nombre del paquete" #: ../Doc/distutils/apiref.rst:44 ../Doc/distutils/apiref.rst:46 #: ../Doc/distutils/apiref.rst:50 ../Doc/distutils/apiref.rst:53 @@ -95,51 +113,51 @@ msgstr "" #: ../Doc/distutils/apiref.rst:96 ../Doc/distutils/apiref.rst:106 #: ../Doc/distutils/apiref.rst:187 ../Doc/distutils/apiref.rst:278 msgid "a string" -msgstr "" +msgstr "un string" #: ../Doc/distutils/apiref.rst:46 msgid "*version*" -msgstr "" +msgstr "*version*" #: ../Doc/distutils/apiref.rst:46 msgid "The version number of the package; see :mod:`distutils.version`" -msgstr "" +msgstr "El número de versión del paquete; ver :mod:`distutils.version`" #: ../Doc/distutils/apiref.rst:50 msgid "*description*" -msgstr "" +msgstr "*description*" #: ../Doc/distutils/apiref.rst:50 msgid "A single line describing the package" -msgstr "" +msgstr "Una sola línea describiendo el paquete" #: ../Doc/distutils/apiref.rst:53 msgid "*long_description*" -msgstr "" +msgstr "*long_description*" #: ../Doc/distutils/apiref.rst:53 msgid "Longer description of the package" -msgstr "" +msgstr "Descripción larga del paquete" #: ../Doc/distutils/apiref.rst:56 msgid "*author*" -msgstr "" +msgstr "*author*" #: ../Doc/distutils/apiref.rst:56 msgid "The name of the package author" -msgstr "" +msgstr "El nombre del autor del paquete" #: ../Doc/distutils/apiref.rst:58 msgid "*author_email*" -msgstr "" +msgstr "*author_email*" #: ../Doc/distutils/apiref.rst:58 msgid "The email address of the package author" -msgstr "" +msgstr "La dirección de correo electrónico del autor del paquete" #: ../Doc/distutils/apiref.rst:61 msgid "*maintainer*" -msgstr "" +msgstr "*maintainer*" #: ../Doc/distutils/apiref.rst:61 msgid "" @@ -147,39 +165,44 @@ msgid "" "if the maintainer is provided, distutils will use it as the author in :file:" "`PKG-INFO`" msgstr "" +"El nombre del mantenedor actual, si es diferente del autor. Ten en cuenta " +"que si se proporciona el mantenedor, *distuils* lo usará como el autor en :" +"file:`PKG-INFO`" #: ../Doc/distutils/apiref.rst:68 msgid "*maintainer_email*" -msgstr "" +msgstr "*maintainer_email*" #: ../Doc/distutils/apiref.rst:68 msgid "" "The email address of the current maintainer, if different from the author" msgstr "" +"La dirección de correo electrónico del mantenedor actual, si es diferente " +"del autor" #: ../Doc/distutils/apiref.rst:72 msgid "*url*" -msgstr "" +msgstr "*url*" #: ../Doc/distutils/apiref.rst:72 msgid "A URL for the package (homepage)" -msgstr "" +msgstr "Una URL para el paquete (página principal)" #: ../Doc/distutils/apiref.rst:75 msgid "*download_url*" -msgstr "" +msgstr "*download_url*" #: ../Doc/distutils/apiref.rst:75 msgid "A URL to download the package" -msgstr "" +msgstr "Una URL para descargar el paquete" #: ../Doc/distutils/apiref.rst:77 msgid "*packages*" -msgstr "" +msgstr "*packages*" #: ../Doc/distutils/apiref.rst:77 msgid "A list of Python packages that distutils will manipulate" -msgstr "" +msgstr "Una lista de paquetes Python que *distutils* podrá manipular" #: ../Doc/distutils/apiref.rst:77 ../Doc/distutils/apiref.rst:80 #: ../Doc/distutils/apiref.rst:83 ../Doc/distutils/apiref.rst:100 @@ -190,142 +213,148 @@ msgstr "" #: ../Doc/distutils/apiref.rst:258 ../Doc/distutils/apiref.rst:267 #: ../Doc/distutils/apiref.rst:275 msgid "a list of strings" -msgstr "" +msgstr "una lista de strings" #: ../Doc/distutils/apiref.rst:80 msgid "*py_modules*" -msgstr "" +msgstr "*py_modules*" #: ../Doc/distutils/apiref.rst:80 msgid "A list of Python modules that distutils will manipulate" -msgstr "" +msgstr "Una lista de módulos Python que *distutils* podrá manipular" #: ../Doc/distutils/apiref.rst:83 msgid "*scripts*" -msgstr "" +msgstr "*scripts*" #: ../Doc/distutils/apiref.rst:83 msgid "A list of standalone script files to be built and installed" -msgstr "" +msgstr "Una lista de archivos únicos de scripts que serán creados e instalados" #: ../Doc/distutils/apiref.rst:87 msgid "*ext_modules*" -msgstr "" +msgstr "*ext_modules*" #: ../Doc/distutils/apiref.rst:87 msgid "A list of Python extensions to be built" -msgstr "" +msgstr "Una lista de extensiones Python para ser creadas" #: ../Doc/distutils/apiref.rst:87 msgid "a list of instances of :class:`distutils.core.Extension`" msgstr "" +"una lista de las instancias de la clase :class:`distutils.core.Extension`" #: ../Doc/distutils/apiref.rst:90 msgid "*classifiers*" -msgstr "" +msgstr "*classifiers*" #: ../Doc/distutils/apiref.rst:90 msgid "A list of categories for the package" -msgstr "" +msgstr "Una lista de categorías para el paquete" #: ../Doc/distutils/apiref.rst:90 msgid "" "a list of strings; valid classifiers are listed on `PyPI `_." msgstr "" +"una lista de strings; los clasificadores válidos están listados en `PyPI " +"`_." #: ../Doc/distutils/apiref.rst:93 msgid "*distclass*" -msgstr "" +msgstr "*distclass*" #: ../Doc/distutils/apiref.rst:93 msgid "the :class:`Distribution` class to use" -msgstr "" +msgstr "la clase para usar la clase :class:`Distribution`" #: ../Doc/distutils/apiref.rst:93 msgid "a subclass of :class:`distutils.core.Distribution`" -msgstr "" +msgstr "una sub-clase de la clase :class:`distutils.core.Distribution`" #: ../Doc/distutils/apiref.rst:96 msgid "*script_name*" -msgstr "" +msgstr "*script_name*" #: ../Doc/distutils/apiref.rst:96 msgid "The name of the setup.py script - defaults to ``sys.argv[0]``" msgstr "" +"El nombre del script del setup.py - el predeterminado es ``sys.argv[0]``" #: ../Doc/distutils/apiref.rst:100 msgid "*script_args*" -msgstr "" +msgstr "*script_args*" #: ../Doc/distutils/apiref.rst:100 msgid "Arguments to supply to the setup script" -msgstr "" +msgstr "Argumentos para suministrar el script de configuración" #: ../Doc/distutils/apiref.rst:103 msgid "*options*" -msgstr "" +msgstr "*options*" #: ../Doc/distutils/apiref.rst:103 msgid "default options for the setup script" -msgstr "" +msgstr "opciones por defecto para el script de configuración" #: ../Doc/distutils/apiref.rst:103 ../Doc/distutils/apiref.rst:113 #: ../Doc/distutils/apiref.rst:119 msgid "a dictionary" -msgstr "" +msgstr "un diccionario" #: ../Doc/distutils/apiref.rst:106 msgid "*license*" -msgstr "" +msgstr "*license*" #: ../Doc/distutils/apiref.rst:106 msgid "The license for the package" -msgstr "" +msgstr "La licencia para el paquete" #: ../Doc/distutils/apiref.rst:108 msgid "*keywords*" -msgstr "" +msgstr "*keywords*" #: ../Doc/distutils/apiref.rst:108 msgid "Descriptive meta-data, see :pep:`314`" -msgstr "" +msgstr "Metadatos descriptivos, ver :pep:`314`" #: ../Doc/distutils/apiref.rst:108 ../Doc/distutils/apiref.rst:111 msgid "a list of strings or a comma-separated string" -msgstr "" +msgstr "una lista de strings o un string separado por comas" #: ../Doc/distutils/apiref.rst:111 msgid "*platforms*" -msgstr "" +msgstr "*platforms*" #: ../Doc/distutils/apiref.rst:113 msgid "*cmdclass*" -msgstr "" +msgstr "*cmdclass*" #: ../Doc/distutils/apiref.rst:113 msgid "A mapping of command names to :class:`Command` subclasses" msgstr "" +"Una asignación de los nombres de los comandos a las sub-clases de la clase :" +"class:`Command`" #: ../Doc/distutils/apiref.rst:116 msgid "*data_files*" -msgstr "" +msgstr "*data_files*" #: ../Doc/distutils/apiref.rst:116 msgid "A list of data files to install" -msgstr "" +msgstr "Una lista de archivos de datos para instalar" #: ../Doc/distutils/apiref.rst:116 msgid "a list" -msgstr "" +msgstr "una lista" #: ../Doc/distutils/apiref.rst:119 msgid "*package_dir*" -msgstr "" +msgstr "*package_dir*" #: ../Doc/distutils/apiref.rst:119 msgid "A mapping of package to directory names" -msgstr "" +msgstr "Una asignación de directorios a los nombres de los paquetes" #: ../Doc/distutils/apiref.rst:127 msgid "" @@ -335,6 +364,12 @@ msgid "" "keyword args from *script* to :func:`setup`), or the contents of the config " "files or command-line." msgstr "" +"Ejecuta un script de instalación en un entorno algo controlado y retorna la " +"instancia de la clase :class:`distutils.dist.Distribution` que maneja las " +"cosas. Esto es útil si se necesitan encontrar los metadatos de distribución " +"(pasados ​​como palabra clave *args* desde un script a la función :func:" +"`setup`), o el contenido de los archivos de configuración o la línea de " +"comandos." #: ../Doc/distutils/apiref.rst:133 msgid "" @@ -343,96 +378,128 @@ msgid "" "*script_args* is a list of strings; if supplied, ``sys.argv[1:]`` will be " "replaced by *script_args* for the duration of the call." msgstr "" +"*script_name* o nombre del script es un archivo que será leído y ejecutado " +"con la función :func:`exec`. ``sys.argv[0]`` será reemplazado con un script " +"durante la duración de la llamada. *script_args* es una lista de strings; si " +"se proporciona, ``sys.argv[1:]`` será reemplazado por *script_args* durante " +"la duración de la llamada." #: ../Doc/distutils/apiref.rst:138 msgid "" "*stop_after* tells :func:`setup` when to stop processing; possible values:" msgstr "" +"*stop_after* le dice a la función :func:`setup` cuando parar el " +"procesamiento; los valores posibles son:" #: ../Doc/distutils/apiref.rst:143 ../Doc/distutils/apiref.rst:562 #: ../Doc/distutils/apiref.rst:1583 msgid "description" -msgstr "" +msgstr "descripción" #: ../Doc/distutils/apiref.rst:145 msgid "*init*" -msgstr "" +msgstr "*init*" #: ../Doc/distutils/apiref.rst:145 msgid "" "Stop after the :class:`Distribution` instance has been created and " "populated with the keyword arguments to :func:`setup`" msgstr "" +"Detiene después de que la instancia de la clase :class:`Distribution` haya " +"sido creada y llenada con los argumentos de la palabra clave para la " +"función :func:`setup`" #: ../Doc/distutils/apiref.rst:149 msgid "*config*" -msgstr "" +msgstr "*config*" #: ../Doc/distutils/apiref.rst:149 msgid "" "Stop after config files have been parsed (and their data stored in the :" "class:`Distribution` instance)" msgstr "" +"Detiene después que los archivos de configuración hayan sido analizados (y " +"sus datos almacenados en la instancia de la clase :class:`Distribution`)" #: ../Doc/distutils/apiref.rst:153 msgid "*commandline*" -msgstr "" +msgstr "*commandline*" #: ../Doc/distutils/apiref.rst:153 msgid "" "Stop after the command-line (``sys.argv[1:]`` or *script_args*) have been " "parsed (and the data stored in the :class:`Distribution` instance.)" msgstr "" +"Detiene después de que la línea de comandos (``sys.argv[1:]`` o " +"*script_args*) se haya analizado (y los datos almacenados en la instancia de " +"la clase :class:`Distribution`.)" #: ../Doc/distutils/apiref.rst:158 msgid "*run*" -msgstr "" +msgstr "*run*" #: ../Doc/distutils/apiref.rst:158 msgid "" "Stop after all commands have been run (the same as if :func:`setup` had " "been called in the usual way). This is the default value." msgstr "" +"Detiene después de que todos los comandos hayan sido ejecutados (lo mismo " +"que si la función :func:`setup` haya sido llamada de forma habitual). Este " +"es el valor predeterminado." #: ../Doc/distutils/apiref.rst:164 msgid "" "In addition, the :mod:`distutils.core` module exposed a number of classes " "that live elsewhere." msgstr "" +"Además, el módulo :mod:`distutils.core` expuso una serie de clases que " +"residen en otros lugares." #: ../Doc/distutils/apiref.rst:167 msgid ":class:`~distutils.extension.Extension` from :mod:`distutils.extension`" msgstr "" +"la clase :class:`~distutils.extension.Extension` del módulo :mod:`distutils." +"extension`" #: ../Doc/distutils/apiref.rst:169 msgid ":class:`~distutils.cmd.Command` from :mod:`distutils.cmd`" msgstr "" +"la clase :class:`~distutils.cmd.Command` del módulo :mod:`distutils.cmd`" #: ../Doc/distutils/apiref.rst:171 msgid ":class:`~distutils.dist.Distribution` from :mod:`distutils.dist`" msgstr "" +"la clase :class:`~distutils.dist.Distribution` del módulo :mod:`distutils." +"dist`" #: ../Doc/distutils/apiref.rst:173 msgid "" "A short description of each of these follows, but see the relevant module " "for the full reference." msgstr "" +"A continuación una breve descripción de cada uno de estos, pero para una " +"referencia completa consulta el módulo correspondiente." #: ../Doc/distutils/apiref.rst:179 msgid "" "The Extension class describes a single C or C++ extension module in a setup " "script. It accepts the following keyword arguments in its constructor:" msgstr "" +"La clase *Extension* describe un solo módulo de extensión C o C++ en un " +"script de configuración. Acepta los siguientes argumentos de palabras clave " +"de su constructor:" #: ../Doc/distutils/apiref.rst:187 msgid "" "the full name of the extension, including any packages --- ie. *not* a " "filename or pathname, but Python dotted name" msgstr "" +"el nombre completo de la extensión, incluidos los paquetes --- es decir, no " +"un nombre de archivo o ruta, sino un nombre punteado Python" #: ../Doc/distutils/apiref.rst:193 msgid "*sources*" -msgstr "" +msgstr "*sources*" #: ../Doc/distutils/apiref.rst:193 msgid "" @@ -442,20 +509,28 @@ msgid "" "is recognized by the :command:`build_ext` command as source for a Python " "extension." msgstr "" +"lista de nombres de archivos de origen, en relación con la raíz de " +"distribución (donde reside el script de configuración), en forma Unix " +"(separados por barras) para su portabilidad. Los archivos fuente pueden ser " +"C, C ++, SWIG (.i), archivos de recursos específicos de la plataforma o " +"cualquier otra cosa que el comando :command:`build_ext` reconozca como " +"fuente para una extensión de Python." #: ../Doc/distutils/apiref.rst:207 msgid "*include_dirs*" -msgstr "" +msgstr "*include_dirs*" #: ../Doc/distutils/apiref.rst:207 msgid "" "list of directories to search for C/C++ header files (in Unix form for " "portability)" msgstr "" +"lista de los directorios para buscar archivos de encabezados de C/C++ (en " +"forma de Unix para portabilidad)" #: ../Doc/distutils/apiref.rst:211 msgid "*define_macros*" -msgstr "" +msgstr "*define_macros*" #: ../Doc/distutils/apiref.rst:211 msgid "" @@ -464,48 +539,57 @@ msgid "" "define it without a particular value (equivalent of ``#define FOO`` in " "source or :option:`!-DFOO` on Unix C compiler command line)" msgstr "" +"lista de macros para definir; cada macro se define usando una tupla de 2 " +"``(*name*, *value*)``, donde *value* es el string para definirla o ``None`` " +"para definirla sin un valor particular (equivalente a ``#define FOO`` en la " +"fuente o :option:`!-DFOO` en la línea de comandos de un compilador de Unix C)" #: ../Doc/distutils/apiref.rst:211 msgid "a list of tuples" -msgstr "" +msgstr "una lista de tuplas" #: ../Doc/distutils/apiref.rst:223 msgid "*undef_macros*" -msgstr "" +msgstr "*undef_macros*" #: ../Doc/distutils/apiref.rst:223 msgid "list of macros to undefine explicitly" -msgstr "" +msgstr "lista de macros para indefinir explícitamente" #: ../Doc/distutils/apiref.rst:226 msgid "*library_dirs*" -msgstr "" +msgstr "*library_dirs*" #: ../Doc/distutils/apiref.rst:226 msgid "list of directories to search for C/C++ libraries at link time" msgstr "" +"lista de directorios para buscar bibliotecas C/C++ en el momento del enlace" #: ../Doc/distutils/apiref.rst:230 msgid "*libraries*" -msgstr "" +msgstr "*libraries*" #: ../Doc/distutils/apiref.rst:230 msgid "list of library names (not filenames or paths) to link against" msgstr "" +"lista de nombres de bibliotecas para vincular (no nombres de archivos o " +"rutas)" #: ../Doc/distutils/apiref.rst:234 msgid "*runtime_library_dirs*" -msgstr "" +msgstr "*runtime_library_dirs*" #: ../Doc/distutils/apiref.rst:234 msgid "" "list of directories to search for C/C++ libraries at run time (for shared " "extensions, this is when the extension is loaded)" msgstr "" +"lista de directorios para buscar bibliotecas C/C++ en tiempo de ejecución " +"(para extensiones compartidas, esto es cuando se carga una extensión)" #: ../Doc/distutils/apiref.rst:240 msgid "*extra_objects*" -msgstr "" +msgstr "*extra_objects*" #: ../Doc/distutils/apiref.rst:240 msgid "" @@ -513,10 +597,13 @@ msgid "" "static library that must be explicitly specified, binary resource files, " "etc.)" msgstr "" +"lista de archivos adicionales para vincular (por ejemplo, archivos de objeto " +"no implícitos en `*sources*`, una biblioteca estática que debe especificarse " +"explicitamente, archivos de recursos binarios, etc.)" #: ../Doc/distutils/apiref.rst:247 msgid "*extra_compile_args*" -msgstr "" +msgstr "*extra_compile_args*" #: ../Doc/distutils/apiref.rst:247 msgid "" @@ -525,10 +612,15 @@ msgid "" "line makes sense, this is typically a list of command-line arguments, but " "for other platforms it could be anything." msgstr "" +"cualquier adicional específico de la plataforma y del compilador para usar " +"cuando compila los archivos fuente en `*sources*`. Para plataformas y " +"compiladores donde una línea de comando tiene sentido, esta es típicamente " +"una lista de argumentos de línea de comando pero para otras plataformas " +"podría ser cualquier cosa." #: ../Doc/distutils/apiref.rst:258 msgid "*extra_link_args*" -msgstr "" +msgstr "*extra_link_args*" #: ../Doc/distutils/apiref.rst:258 msgid "" @@ -536,10 +628,14 @@ msgid "" "object files together to create the extension (or to create a new static " "Python interpreter). Similar interpretation as for 'extra_compile_args'." msgstr "" +"cualquier adicional específico de la plataforma y del compilador para usar " +"al vincular archivos del tipo objeto para crear la extensión (o para crear " +"un nuevo intérprete de Python estático). Interpretación similar a la de " +"`*extra_compile_args*`." #: ../Doc/distutils/apiref.rst:267 msgid "*export_symbols*" -msgstr "" +msgstr "*export_symbols*" #: ../Doc/distutils/apiref.rst:267 msgid "" @@ -547,56 +643,71 @@ msgid "" "platforms, and not generally necessary for Python extensions, which " "typically export exactly one symbol: ``init`` + extension_name." msgstr "" +"lista de símbolos que se exportarán desde una extensión compartida. No se " +"usa en todas las plataformas y, en general, no es necesario para las " +"extensiones de Python, que normalmente exportan exactamente un símbolo: " +"``init`` + *extension_name*." #: ../Doc/distutils/apiref.rst:275 msgid "*depends*" -msgstr "" +msgstr "*depends*" #: ../Doc/distutils/apiref.rst:275 msgid "list of files that the extension depends on" -msgstr "" +msgstr "lista de archivos de los que depende la extensión" #: ../Doc/distutils/apiref.rst:278 msgid "*language*" -msgstr "" +msgstr "*language*" #: ../Doc/distutils/apiref.rst:278 msgid "" "extension language (i.e. ``'c'``, ``'c++'``, ``'objc'``). Will be detected " "from the source extensions if not provided." msgstr "" +"lenguaje de extensión (es decir, ``'c'``, ``'c++'``, ``'objc'``). Se " +"detectará en las extensiones de origen si no se proporcionan." #: ../Doc/distutils/apiref.rst:284 msgid "*optional*" -msgstr "" +msgstr "*optional*" #: ../Doc/distutils/apiref.rst:284 msgid "" "specifies that a build failure in the extension should not abort the build " "process, but simply skip the extension." msgstr "" +"especifica que una falla de compilación en la extensión no debe abortar el " +"proceso de compilación, sino simplemente omitir la extensión." #: ../Doc/distutils/apiref.rst:284 msgid "a boolean" -msgstr "" +msgstr "un booleano" #: ../Doc/distutils/apiref.rst:292 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin." msgstr "" +"En Unix, las extensiones C ya no están vinculadas a libpython excepto en " +"Android y Cygwin." #: ../Doc/distutils/apiref.rst:298 msgid "" "A :class:`Distribution` describes how to build, install and package up a " "Python software package." msgstr "" +"Una clase :class:`Distribution` describe cómo construir, instalar y " +"empaquetar un paquete de software Python." #: ../Doc/distutils/apiref.rst:301 msgid "" "See the :func:`setup` function for a list of keyword arguments accepted by " "the Distribution constructor. :func:`setup` creates a Distribution instance." msgstr "" +"Consulta la función :func:`setup` para obtener una lista de argumentos de " +"palabras clave aceptados por el constructor de distribución. La función :" +"func:`setup` crea una instancia de distribución." #: ../Doc/distutils/apiref.rst:304 msgid "" @@ -604,16 +715,21 @@ msgid "" "``keywords`` and ``platforms`` fields are not specified as a list or a " "string." msgstr "" +"La clase :class:`~distutils.core.Distribution` ahora advierte si los campos " +"``*classifiers*``, ``*keywords*`` y ``*platforms*`` no se especifican como " +"una lista o un string." #: ../Doc/distutils/apiref.rst:311 msgid "" "A :class:`Command` class (or rather, an instance of one of its subclasses) " "implement a single distutils command." msgstr "" +"Una clase :class:`Command` (o más bien, una instancia de una de sus " +"subclases) implementa un solo comando distutils." #: ../Doc/distutils/apiref.rst:316 msgid ":mod:`distutils.ccompiler` --- CCompiler base class" -msgstr "" +msgstr ":mod:`distutils.ccompiler` --- Clase base CCompiler" #: ../Doc/distutils/apiref.rst:322 msgid "" @@ -623,10 +739,16 @@ msgid "" "options for the compiler --- macro definitions, include directories, link " "path, libraries and the like." msgstr "" +"Este módulo proporciona la clase base abstracta para las clases :class:" +"`CCompiler`. Una instancia de la clase :class:`CCompiler` se puede usar para " +"todos los pasos de compilación y enlace necesarios para construir un solo " +"proyecto. Se proporcionan métodos para establecer opciones para el " +"compilador --- definiciones de macros, que incluyen directorios, ruta de " +"enlace, bibliotecas y similares." #: ../Doc/distutils/apiref.rst:328 msgid "This module provides the following functions." -msgstr "" +msgstr "Este módulo proporciona las siguientes funciones." #: ../Doc/distutils/apiref.rst:333 msgid "" @@ -636,6 +758,12 @@ msgid "" "command-line options suitable for use with some compiler (depending on the " "two format strings passed in)." msgstr "" +"Genera opciones de vinculador para buscar directorios de bibliotecas y " +"vincular con bibliotecas específicas. *libraries* y * library_dirs* son, " +"respectivamente, listas de nombres de bibliotecas (no nombres de archivos!) " +"y directorios de búsqueda. Retorna una lista de opciones de línea de " +"comandos adecuadas para su uso con algún compilador (dependiendo de los dos " +"strings de formato suministrados)." #: ../Doc/distutils/apiref.rst:342 msgid "" @@ -648,10 +776,21 @@ msgid "" "file search path (:option:`!-I`). Returns a list of command-line options " "suitable for either Unix compilers or Visual C++." msgstr "" +"Genera opciones de preprocesador de C (:option:`!-D`, :option:`!-U`, :option:" +"`!-I`) tal como lo utilizan al menos dos tipos de compiladores: el " +"compilador típico de Unix y el Visual C++. *macros* es lo habitual, una " +"lista de 1 o 2 tuplas, donde ``(*name*,)`` significa indefinir (:option:`!-" +"U`) macro *name*, y ``(*name*, *value*)`` significa definir (:option:`!-D`) " +"macro de *name* a *value*. *include_dirs* es solo una lista de nombres de " +"directorio que se agregarán a la ruta de búsqueda del archivo de encabezado " +"(:option:`!-I`). Retorna una lista de opciones de línea de comandos " +"adecuadas para compiladores de Unix o Visual C++." #: ../Doc/distutils/apiref.rst:354 msgid "Determine the default compiler to use for the given platform." msgstr "" +"Determina el compilador predeterminado que se utilizará para la plataforma " +"dada." #: ../Doc/distutils/apiref.rst:356 msgid "" @@ -659,12 +798,17 @@ msgid "" "returned by ``os.name``) and *platform* the common value returned by ``sys." "platform`` for the platform in question." msgstr "" +"*osname* debe ser uno de los nombres estándar de Python OS (es decir, los " +"retornados por ``os.name``) y *platform* el valor común retornado por ``sys." +"platform`` para la plataforma en cuestión." #: ../Doc/distutils/apiref.rst:360 msgid "" "The default values are ``os.name`` and ``sys.platform`` in case the " "parameters are not given." msgstr "" +"Los valores predeterminados son ``os.name`` y ``sys.platform`` en caso de " +"que no se proporcionen los parámetros." #: ../Doc/distutils/apiref.rst:366 msgid "" @@ -678,12 +822,25 @@ msgid "" "Windows, and a Microsoft compiler object under Unix---if you supply a value " "for *compiler*, *plat* is ignored." msgstr "" +"Función de fábrica para generar una instancia de alguna subclase *CCompiler* " +"para la combinación de plataforma/compilador proporcionada. *plat* por " +"defecto es ``os.name`` (por ejemplo, ``'posix'``, ``'nt'``), y *compiler* " +"por defecto es el compilador por defecto para esa plataforma. Actualmente " +"solo se admiten ``'posix'`` y ``'nt'``, y los compiladores predeterminados " +"son la \"interfaz Unix tradicional\" (clase :class:`UnixCCompiler`) y Visual " +"C++ (clase :class:`MSVCCompiler`). Tenga en cuenta que es perfectamente " +"posible solicitar un objeto de compilador de Unix en Windows y un objeto de " +"compilador de Microsoft en Unix --- si proporciona un valor para *compiler*, " +"*plat* es ignorado." #: ../Doc/distutils/apiref.rst:382 msgid "" "Print list of available compilers (used by the :option:`!--help-compiler` " "options to :command:`build`, :command:`build_ext`, :command:`build_clib`)." msgstr "" +"Imprime la lista de compiladores disponibles (usado por las opciones :option:" +"`! - help-compiler` para :command:`build`, :command: `build_ext`, :command:" +"`build_clib`)." #: ../Doc/distutils/apiref.rst:388 msgid "" @@ -691,6 +848,9 @@ msgid "" "be implemented by real compiler classes. The class also has some utility " "methods used by several compiler classes." msgstr "" +"La clase base abstracta :class:`CCompiler` define la interfaz que deben " +"implementar las clases de compiladores reales. La clase también tiene " +"algunos métodos de utilidad utilizados por varias clases de compiladores." #: ../Doc/distutils/apiref.rst:392 msgid "" @@ -702,6 +862,14 @@ msgid "" "individual files are treated, most of those attributes may be varied on a " "per-compilation or per-link basis." msgstr "" +"La idea básica detrás de una clase de abstracción de compilador es que cada " +"instancia se puede usar para todos los pasos de compilación/enlace en la " +"construcción de un solo proyecto. Por lo tanto, los atributos comunes a " +"todos esos pasos de compilación y enlace --- incluyen directorios, macros " +"para definir, bibliotecas para enlazar, etc. --- son atributos de la " +"instancia del compilador. Para permitir la variabilidad en la forma en que " +"se tratan los archivos individuales, la mayoría de esos atributos se pueden " +"variar por compilación o por enlace." #: ../Doc/distutils/apiref.rst:400 msgid "" @@ -713,12 +881,22 @@ msgid "" "subclasses directly - use the :func:`distutils.CCompiler.new_compiler` " "factory function instead." msgstr "" +"El constructor de cada subclase crea una instancia del objeto *Compiler*. " +"Los indicadores son *verbose* (muestra un resultado detallado), *dry_run* " +"(en realidad no ejecuta los pasos) y *force* (reconstruye todo, " +"independientemente de las dependencias). Todos estos indicadores están " +"predeterminados en ``0`` (desactivado). Ten en cuenta que probablemente no " +"desees crear una instancia de :class:`CCompiler` o una de sus subclases " +"directamente; usa la función de fábrica :func:`distutils.CCompiler." +"new_compiler` en su lugar." #: ../Doc/distutils/apiref.rst:407 msgid "" "The following methods allow you to manually alter compiler options for the " "instance of the Compiler class." msgstr "" +"Los siguientes métodos te permiten modificar manualmente las opciones del " +"compilador para la instancia de la clase *Compiler*." #: ../Doc/distutils/apiref.rst:413 msgid "" @@ -726,6 +904,9 @@ msgid "" "The compiler is instructed to search directories in the order in which they " "are supplied by successive calls to :meth:`add_include_dir`." msgstr "" +"Agrega *dir* a la lista de directorios en los que se buscarán archivos de " +"encabezado. Se le indica al compilador que busque directorios en el orden en " +"que son proporcionados por llamadas sucesivas a :meth:`add_include_dir`." #: ../Doc/distutils/apiref.rst:420 msgid "" @@ -735,6 +916,11 @@ msgid "" "`set_include_dirs`. This does not affect any list of standard include " "directories that the compiler may search by default." msgstr "" +"Establece la lista de directorios que se buscarán en *dirs* (una lista de " +"strings). Anula cualquier llamada anterior a :meth:`add_include_dir`; " +"llamadas posteriores a :meth:`add_include_dir` agrega a la lista pasada a :" +"meth:`set_include_dirs`. Esto no afecta a ninguna lista de directorios de " +"inclusión estándar que el compilador pueda buscar de forma predeterminada." #: ../Doc/distutils/apiref.rst:429 msgid "" @@ -744,6 +930,11 @@ msgid "" "actual filename will be inferred by the linker, the compiler, or the " "compiler class (depending on the platform)." msgstr "" +"Agrega *libname* a la lista de bibliotecas que se incluirán en todos los " +"enlaces manejados por este compilador de objeto. Ten en cuenta que *libname* " +"debería no ser el nombre de un archivo que contenga una biblioteca, sino el " +"nombre de la biblioteca en sí: el enlazador, el compilador o la clase del " +"compilador deducirán el nombre del archivo actual (según el plataforma)." #: ../Doc/distutils/apiref.rst:435 msgid "" @@ -752,6 +943,10 @@ msgid "" "perfectly valid to duplicate library names; the linker will be instructed to " "link against libraries as many times as they are mentioned." msgstr "" +"Se le indicará al enlazador que se vincule con las bibliotecas en el orden " +"en que se proporcionaron :meth:`add_library` y/o :meth:`set_libraries`. Es " +"perfectamente válido duplicar nombres de bibliotecas; se le indicará al " +"enlazador que se vincule con las bibliotecas tantas veces como se mencionen." #: ../Doc/distutils/apiref.rst:443 msgid "" @@ -759,6 +954,10 @@ msgid "" "compiler object to *libnames* (a list of strings). This does not affect any " "standard system libraries that the linker may include by default." msgstr "" +"Establece la lista de bibliotecas que se incluirán en todos los enlaces " +"manejados ​​por este compilador de objeto en *libnames* (una lista de " +"strings). Esto no afecta a las bibliotecas del sistema estándar que el " +"vinculador pueda incluir de forma predeterminada." #: ../Doc/distutils/apiref.rst:450 msgid "" @@ -767,6 +966,10 @@ msgid "" "be instructed to search for libraries in the order they are supplied to :" "meth:`add_library_dir` and/or :meth:`set_library_dirs`." msgstr "" +"Agrega *dir* a la lista de directorios en los que se buscarán las " +"bibliotecas especificadas para :meth:`add_library` y :meth:`set_libraries`. " +"Se le indicará al enlazador que busque bibliotecas en el orden en que se " +"suministran a :meth:`add_library_dir` y/o :meth:`set_library_dirs`." #: ../Doc/distutils/apiref.rst:458 msgid "" @@ -774,12 +977,17 @@ msgid "" "This does not affect any standard library search path that the linker may " "search by default." msgstr "" +"Establece la lista de directorios de búsqueda de bibliotecas en *dirs* (una " +"lista de strings). Esto no afecta a ninguna ruta de búsqueda de biblioteca " +"estándar que el enlazador pueda buscar de forma predeterminada." #: ../Doc/distutils/apiref.rst:465 msgid "" "Add *dir* to the list of directories that will be searched for shared " "libraries at runtime." msgstr "" +"Agrega *dir* a la lista de directorios en los que se buscarán bibliotecas " +"compartidas en tiempo de ejecución." #: ../Doc/distutils/apiref.rst:471 msgid "" @@ -787,6 +995,10 @@ msgid "" "*dirs* (a list of strings). This does not affect any standard search path " "that the runtime linker may search by default." msgstr "" +"Establece la lista de directorios para buscar bibliotecas compartidas en " +"tiempo de ejecución en *dirs* (una lista de strings). Esto no afecta a " +"ninguna ruta de búsqueda estándar que el enlazador en tiempo de ejecución " +"pueda buscar de forma predeterminada." #: ../Doc/distutils/apiref.rst:478 msgid "" @@ -795,6 +1007,10 @@ msgid "" "supplied, then the macro will be defined without an explicit value and the " "exact outcome depends on the compiler used." msgstr "" +"Define una macro de preprocesador para todas las compilaciones impulsadas " +"por este objeto compilador. El parámetro opcional *value* debe ser un " +"string; si no se proporciona, la macro se definirá sin un valor explícito y " +"el resultado exacto depende del compilador utilizado." #: ../Doc/distutils/apiref.rst:488 msgid "" @@ -805,6 +1021,13 @@ msgid "" "per-compilation basis (ie. in the call to :meth:`compile`), then that takes " "precedence." msgstr "" +"Anula la definición de una macro de preprocesador para todas las " +"compilaciones impulsadas por este compilador de objeto. Si la misma macro " +"está definida por :meth:`define_macro` y la indefinida por :meth:" +"`undefine_macro`, la última llamada tiene prioridad (incluidas varias " +"redefiniciones o indefiniciones). Si la macro está redefinida/indefinida por " +"compilación (es decir, en la llamada a :meth:`compile`), entonces eso tiene " +"prioridad." #: ../Doc/distutils/apiref.rst:498 msgid "" @@ -812,6 +1035,10 @@ msgid "" "named library files or the output of \"resource compilers\") to be included " "in every link driven by this compiler object." msgstr "" +"Agrega *object* a la lista de archivos de objeto (o análogos, como archivos " +"de biblioteca nombrados explícitamente o la salida de \"*resource compilers*" +"\" o compiladores de recursos) para que se incluyan en cada enlace impulsado " +"por este objeto de compilador." #: ../Doc/distutils/apiref.rst:505 msgid "" @@ -819,12 +1046,19 @@ msgid "" "*objects*. This does not affect any standard object files that the linker " "may include by default (such as system libraries)." msgstr "" +"Establece la lista de archivos de objetos (o análogos) que se incluirán en " +"cada enlace a *objects*. Esto no afecta a ningún archivo de objeto estándar " +"que el enlazador pueda incluir de forma predeterminada (como las bibliotecas " +"del sistema)." #: ../Doc/distutils/apiref.rst:509 msgid "" "The following methods implement methods for autodetection of compiler " "options, providing some functionality similar to GNU :program:`autoconf`." msgstr "" +"Los siguientes métodos implementan métodos para la detección automática de " +"opciones del compilador, proporcionando alguna funcionalidad similar a GNU :" +"program: `autoconf`." #: ../Doc/distutils/apiref.rst:515 msgid "" @@ -832,6 +1066,9 @@ msgid "" "attributes :attr:`language_map` (a dictionary), and :attr:`language_order` " "(a list) to do the job." msgstr "" +"Detecta el idioma de un archivo determinado o una lista de archivos. Utiliza " +"los atributos de instancia :attr:`language_map` (un diccionario) y :attr:" +"`language_order` (una lista) para hacer el trabajo." #: ../Doc/distutils/apiref.rst:522 msgid "" @@ -840,6 +1077,11 @@ msgid "" "debugging version (if that makes sense on the current platform). Return " "``None`` if *lib* wasn't found in any of the specified directories." msgstr "" +"Busca en la lista especificada de directorios un archivo de biblioteca " +"estático o compartido y retorna la ruta completa a ese archive *lib*. Si " +"*debug* es verdadero, busca una versión de depuración (si tiene sentido en " +"la plataforma actual). Retorna ``None`` si *lib* no se encontró en ninguno " +"de los directorios especificados." #: ../Doc/distutils/apiref.rst:530 msgid "" @@ -848,24 +1090,34 @@ msgid "" "environment by providing additional include files and paths and libraries " "and paths." msgstr "" +"Retorna un valor booleano que indica si *funcname* es compatible con la " +"plataforma actual. Los argumentos opcionales se pueden utilizar para " +"aumentar el entorno de compilación proporcionando archivos y rutas de " +"inclusión adicionales y bibliotecas y rutas." #: ../Doc/distutils/apiref.rst:538 msgid "" "Return the compiler option to add *dir* to the list of directories searched " "for libraries." msgstr "" +"Retorna la opción del compilador para agregar *dir* a la lista de " +"directorios buscados por bibliotecas." #: ../Doc/distutils/apiref.rst:544 msgid "" "Return the compiler option to add *lib* to the list of libraries linked into " "the shared library or executable." msgstr "" +"Retorna la opción del compilador para agregar *lib* a la lista de " +"bibliotecas vinculadas a la biblioteca compartida o ejecutable." #: ../Doc/distutils/apiref.rst:550 msgid "" "Return the compiler option to add *dir* to the list of directories searched " "for runtime libraries." msgstr "" +"Retorna la opción del compilador para agregar *dir* a la lista de " +"directorios buscados por bibliotecas en tiempo de ejecución." #: ../Doc/distutils/apiref.rst:556 msgid "" @@ -874,42 +1126,47 @@ msgid "" "specified here depends on the compiler class (via the 'executables' class " "attribute), but most will have:" msgstr "" +"Define los ejecutables (y las opciones para ellos) que se ejecutarán para " +"realizar las distintas etapas de compilación. El conjunto exacto de " +"ejecutables que se pueden especificar aquí depende de la clase del " +"compilador (a través del atributo de clase '*executables*'), pero la mayoría " +"tendrá:" #: ../Doc/distutils/apiref.rst:562 msgid "attribute" -msgstr "" +msgstr "atributo" #: ../Doc/distutils/apiref.rst:564 msgid "*compiler*" -msgstr "" +msgstr "*compiler*" #: ../Doc/distutils/apiref.rst:564 msgid "the C/C++ compiler" -msgstr "" +msgstr "el compilador C/C++" #: ../Doc/distutils/apiref.rst:566 msgid "*linker_so*" -msgstr "" +msgstr "*linker_so*" #: ../Doc/distutils/apiref.rst:566 msgid "linker used to create shared objects and libraries" -msgstr "" +msgstr "enlazador utilizado para crear bibliotecas y objetos compartidos" #: ../Doc/distutils/apiref.rst:569 msgid "*linker_exe*" -msgstr "" +msgstr "*linker_exe*" #: ../Doc/distutils/apiref.rst:569 msgid "linker used to create binary executables" -msgstr "" +msgstr "enlazador utilizado para crear ejecutables binarios" #: ../Doc/distutils/apiref.rst:571 msgid "*archiver*" -msgstr "" +msgstr "*archiver*" #: ../Doc/distutils/apiref.rst:571 msgid "static library creator" -msgstr "" +msgstr "creador de biblioteca estática" #: ../Doc/distutils/apiref.rst:574 msgid "" @@ -919,16 +1176,24 @@ msgid "" "operate: words are delimited by spaces, but quotes and backslashes can " "override this. See :func:`distutils.util.split_quoted`.)" msgstr "" +"En plataformas con una línea de comandos (Unix, DOS/Windows), cada uno de " +"estos es un string que se dividirá en un nombre ejecutable y una lista de " +"argumentos (opcional). (La división de la cadena se realiza de manera " +"similar a como funcionan los *shells* de Unix: las palabras están " +"delimitadas por espacios, pero las comillas y las barras invertidas pueden " +"anular esto. Ver :func:`distutils.util.split_quoted`.)" #: ../Doc/distutils/apiref.rst:580 msgid "The following methods invoke stages in the build process." -msgstr "" +msgstr "Los siguientes métodos invocan etapas en el proceso de construcción." #: ../Doc/distutils/apiref.rst:585 msgid "" "Compile one or more source files. Generates object files (e.g. transforms " "a :file:`.c` file to a :file:`.o` file.)" msgstr "" +"Compila uno o más archivos fuente. Genera archivos de objeto (por ejemplo, " +"transforma un archivo :file:`.c` en un archivo :file:`.o`)." #: ../Doc/distutils/apiref.rst:588 msgid "" @@ -939,6 +1204,14 @@ msgid "" "Depending on the implementation, not all source files will necessarily be " "compiled, but all corresponding object filenames will be returned." msgstr "" +"*sources* debe ser una lista de nombres de archivo, probablemente archivos C/" +"C ++, pero en realidad cualquier cosa que pueda ser manejada por un " +"compilador particular y un compilador de clase (por ejemplo :class:" +"`MSVCCompiler` puede manejar archivos de recursos en *source*). Retorna una " +"lista de nombres de archivos de objetos, uno por nombre de archivo fuente en " +"*sources*. Dependiendo de la implementación, no se compilarán necesariamente " +"todos los archivos fuente, pero se retornarán todos los nombres de archivo " +"de objeto correspondientes." #: ../Doc/distutils/apiref.rst:595 msgid "" @@ -947,6 +1220,11 @@ msgid "" "to :file:`foo/bar.o` (for a Unix implementation); if *output_dir* is " "*build*, then it would compile to :file:`build/foo/bar.o`." msgstr "" +"Si se indica el *output_dir*, los objeto de archivos se colocarán debajo de " +"él, conservando su componente de ruta original. Es decir, :file:`foo/bar.c` " +"normalmente se compila en :file:`foo/bar.o` (para una implementación de " +"Unix); si *output_dir* es *build*, entonces se compilaría en :file:`build/" +"foo/bar.o`." #: ../Doc/distutils/apiref.rst:600 msgid "" @@ -956,18 +1234,29 @@ msgid "" "explicit value. The 1-tuple case undefines a macro. Later definitions/" "redefinitions/undefinitions take precedence." msgstr "" +"*macros*, si se proporciona, debe ser una lista de definiciones de una " +"macro. Una definición de una macro es un ``(*name*, *value*)`` 2-tupla o un " +"``(*name*,)`` 1-tupla. El primero define una macro; si el valor es ``None``, " +"la macro se define sin un valor explícito. El caso de 1 tupla no define una " +"macro. Las definiciones/redefiniciones/indefiniciones posteriores tienen " +"prioridad." #: ../Doc/distutils/apiref.rst:606 msgid "" "*include_dirs*, if given, must be a list of strings, the directories to add " "to the default include file search path for this compilation only." msgstr "" +"*include_dirs*, si se proporciona, debe ser una lista de strings, para esta " +"compilación solo se agregarán a la ruta de búsqueda de archivos los " +"directorios de inclusión predeterminada." #: ../Doc/distutils/apiref.rst:609 msgid "" "*debug* is a boolean; if true, the compiler will be instructed to output " "debug symbols in (or alongside) the object file(s)." msgstr "" +"*debug* es un booleano; si es verdadero, se le indicará al compilador que " +"genere símbolos de depuración en (o junto a) los archivos de objetos." #: ../Doc/distutils/apiref.rst:612 msgid "" @@ -979,6 +1268,14 @@ msgid "" "an escape hatch for those occasions when the abstract compiler framework " "doesn't cut the mustard." msgstr "" +"*extra_preargs* y *extra_postargs* dependen de la implementación. En " +"plataformas que tienen la noción de línea de comandos (por ejemplo, Unix, " +"DOS/Windows), lo más probable es que sean listas de strings: argumentos de " +"línea de comandos adicionales para anteponer/agregar a la línea de comandos " +"del compilador. En otras plataformas, consulta la documentación de la clase " +"de implementación. En cualquier caso, están pensados ​​como una vía de escape " +"para aquellas ocasiones en las que la marco del compilador abstracto no es " +"suficiente." #: ../Doc/distutils/apiref.rst:619 msgid "" @@ -987,10 +1284,15 @@ msgid "" "be recompiled. This supports dependency tracking, but only at a coarse " "granularity." msgstr "" +"*depends*, si se proporciona, es una lista de nombres de archivos de los que " +"dependen todos los destinos. Si un archivo de origen es más antiguo que " +"cualquier archivo en *depends*, se volverá a compilar el archivo de origen. " +"Esto admite el seguimiento de dependencias, pero solo con una granularidad " +"aproximada." #: ../Doc/distutils/apiref.rst:624 msgid "Raises :exc:`CompileError` on failure." -msgstr "" +msgstr "Lanza :exc:`CompileError` en caso de falla." #: ../Doc/distutils/apiref.rst:629 msgid "" @@ -1000,6 +1302,12 @@ msgid "" "`set_link_objects`, the libraries supplied to :meth:`add_library` and/or :" "meth:`set_libraries`, and the libraries supplied as *libraries* (if any)." msgstr "" +"Enlaza un montón de cosas para crear un archivo de biblioteca estático. El " +"\"montón de cosas\" o \"*bunch of stuff*\" consiste en la lista de archivos " +"de objeto suministrados como *objects*, los archivos de objeto adicionales " +"suministrados a :meth:`add_link_object` y/o :meth:`set_link_objects`, las " +"bibliotecas suministradas a :meth:`add_library` y/o :meth:`set_libraries`, y " +"las bibliotecas proporcionadas como *libraries* (si las hay)." #: ../Doc/distutils/apiref.rst:635 msgid "" @@ -1007,6 +1315,9 @@ msgid "" "be inferred from the library name. *output_dir* is the directory where the " "library file will be put." msgstr "" +"*output_libname* debe ser un nombre de biblioteca, no un nombre de archivo; " +"el nombre del archivo se deducirá del nombre de la biblioteca. *output_dir* " +"es el directorio donde se colocará el archivo de la biblioteca." #: ../Doc/distutils/apiref.rst:641 msgid "" @@ -1014,22 +1325,31 @@ msgid "" "library (note that on most platforms, it is the compile step where this " "matters: the *debug* flag is included here just for consistency)." msgstr "" +"*debug* es un booleano; si es verdadero, la depuración se incluirá en la " +"biblioteca (ten en cuenta que en la mayoría de las plataformas, es el paso " +"de compilación donde esto es importante: el indicador *debug* se incluye " +"aquí solo por coherencia)." #: ../Doc/distutils/apiref.rst:645 ../Doc/distutils/apiref.rst:687 msgid "" "*target_lang* is the target language for which the given objects are being " "compiled. This allows specific linkage time treatment of certain languages." msgstr "" +"*target_lang* es el idioma de destino para el que se compilan los objetos " +"dados. Esto permite un tratamiento específico del tiempo de vinculación de " +"ciertos idiomas." #: ../Doc/distutils/apiref.rst:648 msgid "Raises :exc:`LibError` on failure." -msgstr "" +msgstr "Lanza :exc:`LibError` en caso de falla." #: ../Doc/distutils/apiref.rst:653 msgid "" "Link a bunch of stuff together to create an executable or shared library " "file." msgstr "" +"Enlaza un montón de cosas (o *bunch of stuff*) juntos para crear un archivo " +"de biblioteca ejecutable o compartido." #: ../Doc/distutils/apiref.rst:655 msgid "" @@ -1038,6 +1358,11 @@ msgid "" "supplied, *output_filename* is relative to it (i.e. *output_filename* can " "provide directory components if needed)." msgstr "" +"El \"montón de cosas\" o (*bunch of stuff*) consiste en la lista de archivos " +"de objeto suministrados como *objects *. *output_filename* debe ser un " +"nombre del archivo. Si se proporciona *output_dir*, *output_filename* es " +"relativo a él (es decir, *output_filename* puede proporcionar componentes de " +"directorio si es necesario)." #: ../Doc/distutils/apiref.rst:660 msgid "" @@ -1048,6 +1373,13 @@ msgid "" "means the linker will look in that specific directory rather than searching " "all the normal locations." msgstr "" +"*libraries* es una lista de bibliotecas para enlazar. Estos son nombres de " +"bibliotecas, no nombres de archivos, ya que se traducen a nombres de " +"archivos de una manera específica de la plataforma (por ejemplo, *foo* se " +"convierte en :file:`libfoo.a` en Unix y :file:`foo.lib` en DOS/Windows). Sin " +"embargo, pueden incluir un componente de directorio, lo que significa que el " +"enlazador buscará en ese directorio específico en lugar de buscar en todas " +"las ubicaciones normales." #: ../Doc/distutils/apiref.rst:667 msgid "" @@ -1059,12 +1391,22 @@ msgid "" "the shared library and used to search for other shared libraries that \\*it" "\\* depends on at run-time. (This may only be relevant on Unix.)" msgstr "" +"*library_dirs*, si se proporciona, debe ser una lista de directorios para " +"buscar bibliotecas que se especificaron como nombres de bibliotecas " +"descubiertos (es decir, sin componentes de directorio). Estos están en la " +"parte superior del sistema predeterminado y los suministrados a :meth:" +"`add_library_dir` y/o :meth:`set_library_dirs`. *runtime_library_dirs* es " +"una lista de directorios que se incrustarán en la biblioteca compartida y se " +"usarán para buscar otras bibliotecas compartidas de las que depende en " +"tiempo de ejecución. (Esto solo puede ser relevante en Unix)." #: ../Doc/distutils/apiref.rst:675 msgid "" "*export_symbols* is a list of symbols that the shared library will export. " "(This appears to be relevant only on Windows.)" msgstr "" +"*export_symbols* es una lista de símbolos que exportará la biblioteca " +"compartida. (Esto parece ser relevante solo en Windows)." #: ../Doc/distutils/apiref.rst:678 msgid "" @@ -1073,6 +1415,10 @@ msgid "" "to :meth:`create_static_lib`, which includes a *debug* flag mostly for " "form's sake)." msgstr "" +"*debug* es para métodos como :meth:`compile` y :meth:`create_static_lib`, " +"con la ligera distinción de que en realidad es relevante en la mayoría de " +"las plataformas (a diferencia de :meth:`create_static_lib`, que incluye un " +"indicador *debug* principalmente por el bien de la forma)." #: ../Doc/distutils/apiref.rst:683 msgid "" @@ -1080,10 +1426,13 @@ msgid "" "course that they supply command-line arguments for the particular linker " "being used)." msgstr "" +"*extra_preargs* y *extra_postargs* son para métodos como :meth:`compile` " +"(excepto, por supuesto, que proporcionan argumentos de línea de comandos " +"para el enlazador particular que se está utilizando)." #: ../Doc/distutils/apiref.rst:690 msgid "Raises :exc:`LinkError` on failure." -msgstr "" +msgstr "Lanza :exc:`LinkError` en caso de falla." #: ../Doc/distutils/apiref.rst:695 msgid "" @@ -1091,6 +1440,9 @@ msgid "" "while *objects* are a list of object filenames to link in. Other arguments " "are as for the :meth:`link` method." msgstr "" +"Enlaza un ejecutable. *output_progname* es el nombre del archivo ejecutable, " +"mientras que *objects* son una lista de nombres de archivos de objetos para " +"vincular. Otros argumentos son para métodos como :meth:`link`." #: ../Doc/distutils/apiref.rst:702 msgid "" @@ -1098,6 +1450,10 @@ msgid "" "while *objects* is a list of object filenames to link in. Other arguments " "are as for the :meth:`link` method." msgstr "" +"Enlaza una biblioteca compartida. *output_libname* es el nombre de la " +"biblioteca de salida, mientras que *objects* es una lista de nombres de " +"archivos de objetos para vincular. Otros argumentos son para métodos como :" +"meth:`link`." #: ../Doc/distutils/apiref.rst:709 msgid "" @@ -1105,6 +1461,10 @@ msgid "" "that will be created, while *objects* is a list of object filenames to link " "in. Other arguments are as for the :meth:`link` method." msgstr "" +"Enlaza un objeto compartido. *output_filename* es el nombre del objeto " +"compartido que se creará, mientras que *objects* es una lista de nombres de " +"archivos de objetos para vincular. Otros argumentos son para métodos como :" +"meth:`link`." #: ../Doc/distutils/apiref.rst:716 msgid "" @@ -1115,16 +1475,25 @@ msgid "" "`undefine_macro`. *include_dirs* is a list of directory names that will be " "added to the default list, in the same way as :meth:`add_include_dir`." msgstr "" +"Preprocesa un solo archivo fuente C/C ++, nombrado en *source*. La salida se " +"escribirá en el archivo llamado *output_file*, o *stdout* si *output_file* " +"no se proporciona. *macros* es una lista de definiciones de macros para " +"métodos como :meth:`compile`, que aumentará el conjunto de macros con :meth:" +"`define_macro` y :meth:`undefine_macro`. *include_dirs* es una lista de " +"nombres de directorio que se agregarán a la lista predeterminada, de la " +"misma manera que :meth:`add_include_dir`." #: ../Doc/distutils/apiref.rst:723 msgid "Raises :exc:`PreprocessError` on failure." -msgstr "" +msgstr "Lanza :exc:`PreprocessError` en caso de falla." #: ../Doc/distutils/apiref.rst:725 msgid "" "The following utility methods are defined by the :class:`CCompiler` class, " "for use by the various concrete subclasses." msgstr "" +"Los siguientes métodos de utilidad están definidos por la clase :class:" +"`CCompiler`, para uso de las distintas subclases concretas." #: ../Doc/distutils/apiref.rst:731 msgid "" @@ -1132,6 +1501,9 @@ msgid "" "for non-Windows platforms this is the same as the basename, while Windows " "will get a :file:`.exe` added." msgstr "" +"Retorna el nombre de archivo del ejecutable para el *basename* dado. Por lo " +"general, para las plataformas que no son de Windows, este es el mismo que el " +"nombre base, mientras que Windows obtendrá un archivo :file:`.exe` agregado." #: ../Doc/distutils/apiref.rst:738 msgid "" @@ -1140,17 +1512,25 @@ msgid "" "form :file:`liblibname.a`, while a *lib_type* of ``'dynamic'`` will be of " "the form :file:`liblibname.so`." msgstr "" +"Retorna el nombre de archivo para el nombre de biblioteca dado en la " +"plataforma actual. En Unix, una biblioteca con *lib_type* de ``'static'`` " +"normalmente tendrá la forma :file:`liblibname.a`, mientras que *lib_type* de " +"``'dynamic'`` tendrá la forma :file:`liblibname.so`." #: ../Doc/distutils/apiref.rst:746 msgid "" "Returns the name of the object files for the given source files. " "*source_filenames* should be a list of filenames." msgstr "" +"Retorna el nombre de los archivos de objeto para los archivos de origen " +"dados. *source_filenames* debe ser una lista de nombres de archivo." #: ../Doc/distutils/apiref.rst:752 msgid "" "Returns the name of a shared object file for the given file name *basename*." msgstr "" +"Retorna el nombre de un archivo de objeto compartido para el nombre de " +"archivo *basename*." #: ../Doc/distutils/apiref.rst:757 msgid "" @@ -1158,86 +1538,107 @@ msgid "" "function *func* with the given arguments *args*, after logging and taking " "into account the *dry_run* flag." msgstr "" +"Invoca el método :func:`distutils.util.execute`. Este método invoca una " +"función de Python *func* con los argumentos *args* dados, después de iniciar " +"sesión y teniendo en cuenta el indicador *dry_run*." #: ../Doc/distutils/apiref.rst:764 msgid "" "Invokes :func:`distutils.util.spawn`. This invokes an external process to " "run the given command." msgstr "" +"Invoca :func:`distutils.util.spawn`. Esto invoca un proceso externo para " +"ejecutar el comando dado." #: ../Doc/distutils/apiref.rst:770 msgid "" "Invokes :func:`distutils.dir_util.mkpath`. This creates a directory and any " "missing ancestor directories." msgstr "" +"Invoca :func:`distutils.dir_util.mkpath`. Esto crea un directorio y los " +"directorios ancestros que faltan." #: ../Doc/distutils/apiref.rst:776 msgid "Invokes :meth:`distutils.file_util.move_file`. Renames *src* to *dst*." msgstr "" +"Invoca :meth:`distutils.file_util.move_file`. Cambia el nombre de *src* a " +"*dst*." #: ../Doc/distutils/apiref.rst:781 msgid "Write a message using :func:`distutils.log.debug`." -msgstr "" +msgstr "Escribe un mensaje usando :func:`distutils.log.debug`." #: ../Doc/distutils/apiref.rst:786 msgid "Write a warning message *msg* to standard error." -msgstr "" +msgstr "Escribe un mensaje de advertencia *msg* al error estándar." #: ../Doc/distutils/apiref.rst:791 msgid "" "If the *debug* flag is set on this :class:`CCompiler` instance, print *msg* " "to standard output, otherwise do nothing." msgstr "" +"Si el indicador *debug* está configurado en la instancia de la clase :class:" +"`CCompiler`, imprime *msg* en la salida estándar; de lo contrario, no hace " +"nada." #: ../Doc/distutils/apiref.rst:803 msgid ":mod:`distutils.unixccompiler` --- Unix C Compiler" -msgstr "" +msgstr ":mod:`distutils.unixccompiler` --- Unix CCompiler" #: ../Doc/distutils/apiref.rst:809 msgid "" "This module provides the :class:`UnixCCompiler` class, a subclass of :class:" "`CCompiler` that handles the typical Unix-style command-line C compiler:" msgstr "" +"Este módulo proporciona la clase :class:`UnixCCompiler`, una subclase de :" +"class:`CCompiler` que maneja el típico compilador C de línea de comandos " +"estilo Unix:" #: ../Doc/distutils/apiref.rst:812 msgid "macros defined with :option:`!-Dname[=value]`" -msgstr "" +msgstr "macros definidas con :option:`!-Dname[= value]`" #: ../Doc/distutils/apiref.rst:814 msgid "macros undefined with :option:`!-Uname`" -msgstr "" +msgstr "macros definidas con :option:`!-Uname`" #: ../Doc/distutils/apiref.rst:816 msgid "include search directories specified with :option:`!-Idir`" -msgstr "" +msgstr "incluye directorios de búsqueda especificados con :option:`!-Idir`" #: ../Doc/distutils/apiref.rst:818 msgid "libraries specified with :option:`!-llib`" -msgstr "" +msgstr "bibliotecas especificadas con :option:`!-llib`" #: ../Doc/distutils/apiref.rst:820 msgid "library search directories specified with :option:`!-Ldir`" msgstr "" +"directorios de búsqueda de bibliotecas especificados con :option:`!-Ldir`" #: ../Doc/distutils/apiref.rst:822 msgid "" "compile handled by :program:`cc` (or similar) executable with :option:`!-c` " "option: compiles :file:`.c` to :file:`.o`" msgstr "" +"compilación manejada por :program:`cc` (o similar) ejecutable con :option:`!-" +"c` opción: compilar :file:`.c` a :file:`.o`" #: ../Doc/distutils/apiref.rst:825 msgid "" "link static library handled by :program:`ar` command (possibly with :program:" "`ranlib`)" msgstr "" +"enlaza la biblioteca estática manejada por el comando :program:`ar` " +"(posiblemente con :program:`ranlib`)" #: ../Doc/distutils/apiref.rst:828 msgid "link shared library handled by :program:`cc` :option:`!-shared`" msgstr "" +"enlaza la biblioteca compartida manejada por :program:`cc` :option:`!-shared`" #: ../Doc/distutils/apiref.rst:832 msgid ":mod:`distutils.msvccompiler` --- Microsoft Compiler" -msgstr "" +msgstr ":mod:`distutils.msvccompiler` --- Compilador de Microsoft" #: ../Doc/distutils/apiref.rst:839 msgid "" @@ -1247,6 +1648,12 @@ msgid "" "to compile Python. For Python 2.3 and earlier, the compiler was Visual " "Studio 6. For Python 2.4 and 2.5, the compiler is Visual Studio .NET 2003." msgstr "" +"Este módulo proporciona :class:`MSVCCompiler`, una implementación de la " +"clase abstracta :class:`CCompiler` para Microsoft Visual Studio. Por lo " +"general, los módulos de extensión deben compilarse con el mismo compilador " +"Python que se utilizó para compilar. Para Python 2.3 y versiones anteriores, " +"el compilador fue Visual Studio 6. Para Python 2.4 y 2.5, el compilador es " +"Visual Studio .NET 2003." #: ../Doc/distutils/apiref.rst:845 msgid "" @@ -1258,20 +1665,30 @@ msgid "" "installed; *DISTUTILS_USE_SDK* indicates that the distutils user has made an " "explicit choice to override the compiler selection by :class:`MSVCCompiler`." msgstr "" +":class:`MSVCCompiler` normalmente elegirá el compilador, enlazador, etc. " +"correcto por sí solo. Para anular esta opción, las variables de entorno " +"*DISTUTILS_USE_SDK* y *MSSdk* deben estar configuradas. *MSSdk* indica que " +"el entorno actual ha sido configurado por el script ``SetEnv.Cmd`` del SDK, " +"o que las variables de entorno se habían registrado cuando se instaló el " +"SDK; *DISTUTILS_USE_SDK* indica que el usuario de *distutils* ha hecho una " +"elección explícita para anular la selección del compilador por :class:" +"`MSVCCompiler`." #: ../Doc/distutils/apiref.rst:855 msgid ":mod:`distutils.bcppcompiler` --- Borland Compiler" -msgstr "" +msgstr ":mod:`distutils.bcppcompiler` --- Compilador Borland" #: ../Doc/distutils/apiref.rst:860 msgid "" "This module provides :class:`BorlandCCompiler`, a subclass of the abstract :" "class:`CCompiler` class for the Borland C++ compiler." msgstr "" +"Este módulo proporciona :class:`BorlandCCompiler`, una subclase de la clase " +"abstracta :class:`CCompiler` para el compilador Borland C++." #: ../Doc/distutils/apiref.rst:865 msgid ":mod:`distutils.cygwincompiler` --- Cygwin Compiler" -msgstr "" +msgstr ":mod:`distutils.cygwincompiler` --- Compilador Cygwin" #: ../Doc/distutils/apiref.rst:870 msgid "" @@ -1280,16 +1697,22 @@ msgid "" "Windows. It also contains the Mingw32CCompiler class which handles the " "mingw32 port of GCC (same as cygwin in no-cygwin mode)." msgstr "" +"Este módulo proporciona la clase :class:`CygwinCCompiler`, una subclase de :" +"class:`UnixCCompiler` que maneja el puerto Cygwin del compilador GNU C a " +"Windows. También contiene la clase Mingw32CCompiler que maneja el puerto " +"mingw32 de GCC (igual que cygwin en modo no-cygwin)." #: ../Doc/distutils/apiref.rst:877 msgid ":mod:`distutils.archive_util` --- Archiving utilities" -msgstr "" +msgstr ":mod:`distutils.archive_util` --- Utilidades de archivo" #: ../Doc/distutils/apiref.rst:883 msgid "" "This module provides a few functions for creating archive files, such as " "tarballs or zipfiles." msgstr "" +"Este módulo proporciona algunas funciones para crear archivos de " +"almacenamiento, como *tarballs* o *zipfiles*." #: ../Doc/distutils/apiref.rst:889 msgid "" @@ -1303,10 +1726,20 @@ msgid "" "archive. *root_dir* and *base_dir* both default to the current directory. " "Returns the name of the archive file." msgstr "" +"Crea un archivo de almacenamiento (por ejemplo, ``zip`` o ``tar``). " +"*base_name* es el nombre del archivo a crear, menos cualquier extensión " +"específica del formato; *format* es el formato de archivo: como ``zip``, " +"``tar``, ``gztar``, ``bztar``, ``xztar`` o ``ztar``. *root_dir* es un " +"directorio que será el directorio raíz del archivo; es decir, normalmente " +"``chdir`` en *root_dir* antes de crear el archivo. *base_dir* es el " +"directorio desde donde comenzamos a archivar; es decir, *base_dir* será el " +"prefijo común de todos los archivos y directorios del archivo. *root_dir* y " +"*base_dir* ambos predeterminados al directorio actual. Retorna el nombre del " +"archivo de almacenamiento." #: ../Doc/distutils/apiref.rst:899 msgid "Added support for the ``xztar`` format." -msgstr "" +msgstr "Se agregó soporte para el formato ``xztar``." #: ../Doc/distutils/apiref.rst:905 msgid "" @@ -1319,10 +1752,19 @@ msgid "" "compression extension (``.gz``, ``.bz2``, ``.xz`` or ``.Z``). Return the " "output filename." msgstr "" +"Crea un archivo (opcionalmente comprimido) como un archivo ``tar`` de todos " +"los archivos en y bajo *base_dir*. *compress* debe ser ``'gzip'`` (el valor " +"predeterminado), ``'bzip2'``, ``'xz'``, ``'compress``' o ``None``. Para el " +"método ``'compress'``, la utilidad de compresión nombrada por :program:" +"`compress` debe estar en la ruta de búsqueda del programa predeterminada, " +"por lo que probablemente sea específica de Unix. El archivo ``tar`` de " +"salida se llamará :file:`base_dir.tar`, posiblemente más la extensión de " +"compresión apropiada (``.gz``,``.bz2``,``.xz`` o ``.Z``). Retorna el nombre " +"del archivo de salida." #: ../Doc/distutils/apiref.rst:914 msgid "Added support for the ``xz`` compression." -msgstr "" +msgstr "Se agregó soporte para la compresión ``xz``." #: ../Doc/distutils/apiref.rst:920 msgid "" @@ -1333,10 +1775,17 @@ msgid "" "available, raises :exc:`DistutilsExecError`. Returns the name of the " "output zip file." msgstr "" +"Crea un archivo *zip* a partir de todos los archivos incluidos en " +"*base_dir*. El archivo *zip* de salida se llamará *base_name* + :file:`." +"zip`. Utiliza el módulo Python :mod:`zipfile` (si está disponible) o la " +"utilidad InfoZIP :file:`zip` (si está instalada y se encuentra en la ruta de " +"búsqueda predeterminada). Si ninguna de las herramientas está disponible, " +"lanza :exc:`DistutilsExecError`. Retorna el nombre del archivo *zip* de " +"salida." #: ../Doc/distutils/apiref.rst:928 msgid ":mod:`distutils.dep_util` --- Dependency checking" -msgstr "" +msgstr ":mod:`distutils.dep_util` --- Comprobación de dependencias" #: ../Doc/distutils/apiref.rst:934 msgid "" @@ -1344,6 +1793,10 @@ msgid "" "dependency of files and groups of files; also, functions based entirely on " "such timestamp dependency analysis." msgstr "" +"Este módulo proporciona funciones para realizar una dependencia simple " +"basada en marcas de tiempo de archivos y grupos de archivos; también, " +"funciones basadas completamente en dicho análisis de dependencia de marca de " +"tiempo." #: ../Doc/distutils/apiref.rst:941 msgid "" @@ -1352,6 +1805,10 @@ msgid "" "*target* is the same age or newer than *source*. Raise :exc:" "`DistutilsFileError` if *source* does not exist." msgstr "" +"Retorna verdadero si *source* existe y se ha modificado más recientemente " +"que *target*, o si *source* existe y *target* no. Retorna falso si ambos " +"existen y si *target* tiene el mismo tiempo o es más reciente que *source*. " +"Lanza :exc:`DistutilsFileError` si *source* no existe." #: ../Doc/distutils/apiref.rst:949 msgid "" @@ -1360,6 +1817,10 @@ msgid "" "where source is newer than target, according to the semantics of :func:" "`newer`." msgstr "" +"Recorre dos listas de nombres de archivos en paralelo, probando si cada " +"fuente es más nueva que su correspondiente destino. Retorna un par de listas " +"(*sources*, *target*) donde la fuente es más nueva que el destino, de " +"acuerdo con la semántica de :func:`newer`." #: ../Doc/distutils/apiref.rst:958 msgid "" @@ -1374,16 +1835,30 @@ msgid "" "work because inputs are missing, but that doesn't matter because you're not " "actually going to run the commands)." msgstr "" +"Retorna verdadero si *target* no está actualizado con respecto a cualquier " +"archivo listado en *sources*. En otras palabras, si *target* existe y es más " +"reciente que todos los archivos en *sources*, retorna falso; de lo " +"contrario, retorna verdadero. *missing* controla lo que hacemos cuando falta " +"un archivo fuente; el valor predeterminado (``'error'``) explota con un :exc:" +"`OSError` desde :func:`os.stat`; si es ``'ignore'``, eliminamos " +"silenciosamente cualquier archivo fuente faltante; si es ``'newer'``, " +"cualquier archivo fuente que falte nos hace suponer que *target* está " +"desactualizado (esto es útil en el modo de \"*dry-run*\" (o ejecución en " +"seco): que hará que pretenda ejecutar comandos que no funcionaría porque " +"faltan entradas, pero no importa porque en realidad no va a ejecutar los " +"comandos)." #: ../Doc/distutils/apiref.rst:971 msgid ":mod:`distutils.dir_util` --- Directory tree operations" -msgstr "" +msgstr ":mod:`distutils.dir_util` --- Operaciones del árbol de directorios" #: ../Doc/distutils/apiref.rst:977 msgid "" "This module provides functions for operating on directories and trees of " "directories." msgstr "" +"Este módulo proporciona funciones para operar en directorios y árboles de " +"directorios." #: ../Doc/distutils/apiref.rst:983 msgid "" @@ -1395,6 +1870,13 @@ msgid "" "is true, print a one-line summary of each mkdir to stdout. Return the list " "of directories actually created." msgstr "" +"Crea un directorio y cualquier directorio ancestro que falte. Si el " +"directorio ya existe (o si *name* es el string vacío, significa que el " +"directorio actual, por supuesto existe), no hace nada. Lanza :exc:" +"`DistutilsFileError` si no puede crear algún directorio en el camino (por " +"ejemplo, existe alguna subruta, pero es un archivo en lugar de un " +"directorio). Si *verbose* es verdadero, imprime un resumen de una línea de " +"cada *mkdir* en *stdout*. Retorna la lista de directorios realmente creados." #: ../Doc/distutils/apiref.rst:994 msgid "" @@ -1405,6 +1887,13 @@ msgid "" "be created if it doesn't already exist. *mode*, *verbose* and *dry_run* " "flags are as for :func:`mkpath`." msgstr "" +"Crea todos los directorios vacíos en *base_dir* necesarios para colocar " +"*files* allí. *base_dir* es solo el nombre de un directorio que no existe " +"necesariamente todavía; *files* es una lista de nombres de archivos que se " +"interpretarán en relación con *base_dir*. *base_dir* + la parte del " +"directorio de cada archivo en *files* se creará si aún no existe. Los " +"indicadores *mode*, *verbose* y *dry_run* son para funciones como :func:" +"`mkpath`." #: ../Doc/distutils/apiref.rst:1004 msgid "" @@ -1418,6 +1907,15 @@ msgid "" "it is simply the list of all files under *src*, with the names changed to be " "under *dst*." msgstr "" +"Copia un árbol de directorio completo *src* en una nueva ubicación *dst*. " +"Tanto *src* como *dst* deben ser nombres de directorio. Si *src* no es un " +"directorio, lanza :exc:`DistutilsFileError`. Si *dst* no existe, se crea " +"con :func:`mkpath`. El resultado final de la copia es que todos los archivos " +"de *src* se copian en *dst*, y los directorios de *src* se copian de forma " +"recursiva en *dst*. Retorna la lista de archivos que se copiaron o que " +"podrían haberse copiado, utilizando su nombre de salida. El valor de retorno " +"no se ve afectado por *update* o *dry_run*: es simplemente la lista de todos " +"los archivos bajo *src *, con los nombres cambiados para estar bajo *dst*." #: ../Doc/distutils/apiref.rst:1014 msgid "" @@ -1428,6 +1926,12 @@ msgid "" "destination of the symlink will be copied. *update* and *verbose* are the " "same as for :func:`copy_file`." msgstr "" +"*preserve_mode* y *preserve_times* son los mismos que para :func:`distutils." +"file_util.copy_file`; ten en cuenta que solo se aplican a archivos normales, " +"no a directorios. Si *preserve_symlinks* es verdadero, los enlaces " +"simbólicos se copiarán como enlaces simbólicos (en plataformas que los " +"admitan!); de lo contrario (por defecto), se copiará el destino del enlace " +"simbólico. *update* y *verbose* son los mismos que para :func:`copy_file`." #: ../Doc/distutils/apiref.rst:1022 msgid "" @@ -1435,10 +1939,13 @@ msgid "" "these files is available in answer D2 of the `NFS FAQ page `_)." msgstr "" +"Los archivos en *src* que comienzan con :file:`.nfs` se omiten (hay más " +"sobre estos archivos disponible en la respuesta D2 de la página de preguntas " +"frecuentes de`NFS `_ )." #: ../Doc/distutils/apiref.rst:1026 msgid "NFS files are ignored." -msgstr "" +msgstr "Se ignoran los archivos NFS." #: ../Doc/distutils/apiref.rst:1031 msgid "" @@ -1446,16 +1953,21 @@ msgid "" "Any errors are ignored (apart from being reported to ``sys.stdout`` if " "*verbose* is true)." msgstr "" +"Elimina de forma recursiva *directory* y todos los archivos y directorios " +"que se encuentran debajo. Cualquier error se ignora (aparte de ser informado " +"a ``sys.stdout`` si *verbose* es verdadero)." #: ../Doc/distutils/apiref.rst:1037 msgid ":mod:`distutils.file_util` --- Single file operations" -msgstr "" +msgstr ":mod:`distutils.file_util` --- Operaciones de un solo archivo" #: ../Doc/distutils/apiref.rst:1043 msgid "" "This module contains some utility functions for operating on individual " "files." msgstr "" +"Este módulo contiene algunas funciones de utilidad para operar en archivos " +"individuales." #: ../Doc/distutils/apiref.rst:1048 msgid "" @@ -1468,6 +1980,15 @@ msgid "" "If *update* is true, *src* will only be copied if *dst* does not exist, or " "if *dst* does exist but is older than *src*." msgstr "" +"Copia el archivo desde *src* a *dst*. Si *dst* es un directorio, entonces " +"*src* se copia allí con el mismo nombre; de lo contrario, debe ser un nombre " +"de archivo. (Si el archivo existe, será atacado). Si *preserve_mode* es " +"verdadero (el valor predeterminado), se copia el modo del archivo (*bits* de " +"tipo y permiso, o lo que sea análogo en la plataforma actual). Si " +"*preserve_times* es verdadero (el valor predeterminado), también se copian " +"las horas de última modificación y de último acceso. Si *update* es " +"verdadero, *src* solo se copiará si *dst* no existe, o si *dst* existe pero " +"es anterior a *src*." #: ../Doc/distutils/apiref.rst:1057 msgid "" @@ -1478,6 +1999,13 @@ msgid "" "hard or symbolic linking is available. It uses :func:`_copy_file_contents` " "to copy file contents." msgstr "" +"*link* te permite crear enlaces físicos (usando :func:`os.link`) o enlaces " +"simbólicos (usando :func:`os.symlink`) en lugar de copiar: configúralo en " +"``'hard'`` o ``'sym'``; si es ``None`` (el predeterminado), los archivos se " +"copian. No establezcas *link* en sistemas que no lo admitan: :func:" +"`copy_file` pues no comprueba si hay enlaces físicos o simbólicos " +"disponibles. Utiliza :func:`_copy_file_contents` para copiar el contenido " +"del archivo." #: ../Doc/distutils/apiref.rst:1064 msgid "" @@ -1485,6 +2013,9 @@ msgid "" "the output file, and *copied* is true if the file was copied (or would have " "been copied, if *dry_run* true)." msgstr "" +"Retorna una tupla ``(dest_name, copied)``: *dest_name* es el nombre real del " +"archivo de salida, y *copied* es verdadero si el archivo fue copiado (o se " +"habría copiado, si *dry_run* es verdadero)." #: ../Doc/distutils/apiref.rst:1078 msgid "" @@ -1492,28 +2023,37 @@ msgid "" "into it with the same name; otherwise, *src* is just renamed to *dst*. " "Returns the new full name of the file." msgstr "" +"Mueve el archivo *src* a *dst*. Si *dst* es un directorio, el archivo se " +"moverá a el con el mismo nombre; de lo contrario, *src* simplemente se " +"renombra a *dst*. Retorna el nuevo nombre completo del archivo." #: ../Doc/distutils/apiref.rst:1084 msgid "" "Handles cross-device moves on Unix using :func:`copy_file`. What about " "other systems?" msgstr "" +"Maneja movimientos entre dispositivos en Unix usando :func:`copy_file`. ¿Qué " +"pasa con otros sistemas?" #: ../Doc/distutils/apiref.rst:1090 msgid "" "Create a file called *filename* and write *contents* (a sequence of strings " "without line terminators) to it." msgstr "" +"Crea un archivo llamado *filename* y escribe *contents* (una secuencia de " +"strings sin terminadores de línea) en el." #: ../Doc/distutils/apiref.rst:1095 msgid ":mod:`distutils.util` --- Miscellaneous other utility functions" -msgstr "" +msgstr ":mod:`distutils.util` --- Otras funciones de utilidad varias" #: ../Doc/distutils/apiref.rst:1101 msgid "" "This module contains other assorted bits and pieces that don't fit into any " "other utility module." msgstr "" +"Este módulo contiene otras partes y piezas variadas que no encajan en ningún " +"otro módulo de utilidad." #: ../Doc/distutils/apiref.rst:1107 msgid "" @@ -1524,26 +2064,35 @@ msgid "" "included depends on the OS; e.g., on Linux, the kernel version isn't " "particularly important." msgstr "" +"Retorna un string que identifica la plataforma actual. Se utiliza " +"principalmente para distinguir los directorios de compilación específicos de " +"la plataforma y las distribuciones compiladas específicas de la plataforma. " +"Por lo general, incluye el nombre y la versión del sistema operativo y la " +"arquitectura (como lo proporciona 'os.uname ()'), aunque incluir la exacta " +"depende del sistema operativo; por ejemplo, en Linux, la versión del kernel " +"no es particularmente importante." #: ../Doc/distutils/apiref.rst:1114 msgid "Examples of returned values:" -msgstr "" +msgstr "Ejemplos de valores retornados:" #: ../Doc/distutils/apiref.rst:1116 msgid "``linux-i586``" -msgstr "" +msgstr "``linux-i586``" #: ../Doc/distutils/apiref.rst:1117 msgid "``linux-alpha``" -msgstr "" +msgstr "``linux-alpha``" #: ../Doc/distutils/apiref.rst:1118 msgid "``solaris-2.6-sun4u``" -msgstr "" +msgstr "``solaris-2.6-sun4u``" #: ../Doc/distutils/apiref.rst:1120 msgid "For non-POSIX platforms, currently just returns ``sys.platform``." msgstr "" +"Para las plataformas que no son POSIX, actualmente solo retorna ``sys." +"platform``." #: ../Doc/distutils/apiref.rst:1122 msgid "" @@ -1551,6 +2100,10 @@ msgid "" "binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during " "the build of Python), not the OS version of the current system." msgstr "" +"Para los sistemas Mac OS X, la versión del SO refleja la versión mínima en " +"la que se ejecutarán los binarios (es decir, el valor de " +"``MACOSX_DEPLOYMENT_TARGET`` durante la compilación de Python), no la " +"versión del SO del sistema actual." #: ../Doc/distutils/apiref.rst:1126 msgid "" @@ -1563,26 +2116,35 @@ msgid "" "build (ppc, i386, x86_64) and ``intel`` is used for a universal build with " "the i386 and x86_64 architectures" msgstr "" +"Para las compilaciones binarias universales en Mac OS X, el valor de la " +"arquitectura refleja el estado binario universal en lugar de la arquitectura " +"del procesador actual. Para los binarios universales de 32 bits, la " +"arquitectura es ``fat``, para los binarios universales de 64 bits la " +"arquitectura es ``fat64`` y para los binarios universales de 4 vías la " +"arquitectura es ``universal``. A partir de Python 2.7 y Python 3.2, la " +"arquitectura ``fat3`` se usa para una compilación universal de 3 vías (ppc, " +"i386, x86_64) e ``intel`` se usa para una compilación universal con las " +"arquitecturas i386 y x86_64" #: ../Doc/distutils/apiref.rst:1135 msgid "Examples of returned values on Mac OS X:" -msgstr "" +msgstr "Ejemplos de valores retornados en Mac OS X:" #: ../Doc/distutils/apiref.rst:1137 msgid "``macosx-10.3-ppc``" -msgstr "" +msgstr "``macosx-10.3-ppc``" #: ../Doc/distutils/apiref.rst:1139 msgid "``macosx-10.3-fat``" -msgstr "" +msgstr "``macosx-10.3-fat``" #: ../Doc/distutils/apiref.rst:1141 msgid "``macosx-10.5-universal``" -msgstr "" +msgstr "``macosx-10.5-universal``" #: ../Doc/distutils/apiref.rst:1143 msgid "``macosx-10.6-intel``" -msgstr "" +msgstr "``macosx-10.6-intel``" #: ../Doc/distutils/apiref.rst:1148 msgid "" @@ -1593,6 +2155,13 @@ msgid "" "can actually use them in the filesystem. Raises :exc:`ValueError` on non-" "Unix-ish systems if *pathname* either starts or ends with a slash." msgstr "" +"Retorna '*pathname*' (o nombre de ruta), como un nombre que funcionará en el " +"sistema de archivos nativo, es decir, divídelo con '/' y vuelve a armarlo " +"usando el separador de directorio actual. Necesario porque los nombres de " +"archivo en el script de configuración siempre se proporcionan en estilo Unix " +"y deben convertirse a la convención local antes de que podamos usarlos en el " +"sistema de archivos. Lanza :exc:`ValueError` en sistemas que no son Unix-ish " +"si *pathname* comienza o termina con una barra." #: ../Doc/distutils/apiref.rst:1158 msgid "" @@ -1601,6 +2170,10 @@ msgid "" "requires making *pathname* relative and then joining the two, which is " "tricky on DOS/Windows." msgstr "" +"Retorna *pathname* con *new_root* precedido. Si *pathname* es relativo, esto " +"es equivalente a ``os.path.join (new_root, pathname)``. De lo contrario, " +"requiere hacer que *pathname* sea relativo y luego unir los dos, lo cual es " +"complicado en DOS/Windows." #: ../Doc/distutils/apiref.rst:1165 msgid "" @@ -1608,16 +2181,21 @@ msgid "" "users can use in config files, command-line options, etc. Currently this " "includes:" msgstr "" +"Asegúrate de que '*os.environ*' tenga todas las variables de entorno " +"garantizamos que los usuarios pueden usar en archivos de configuración, " +"opciones de línea de comandos, etc. Actualmente, esto incluye:" #: ../Doc/distutils/apiref.rst:1169 msgid ":envvar:`HOME` - user's home directory (Unix only)" -msgstr "" +msgstr ":envvar:`HOME` - directorio de inicio del usuario (solo Unix)" #: ../Doc/distutils/apiref.rst:1170 msgid "" ":envvar:`PLAT` - description of the current platform, including hardware and " "OS (see :func:`get_platform`)" msgstr "" +":envvar:`PLAT` - descripción de la plataforma actual, incluido el hardware y " +"el sistema operativo (consulta :func:`get_platform`)" #: ../Doc/distutils/apiref.rst:1176 msgid "" @@ -1629,6 +2207,13 @@ msgid "" "`check_environ`. Raise :exc:`ValueError` for any variables not found in " "either *local_vars* or ``os.environ``." msgstr "" +"Realiza la sustitución de variables de estilo shell/Perl en *s*. Cada " +"aparición de ``$`` seguido de un nombre se considera una variable, y la " +"variable se sustituye por el valor que se encuentra en el diccionario " +"*local_vars*, o en ``os.environ`` si no está en *local_vars*. *os.environ* " +"primero se comprueba/aumenta para garantizar que contiene ciertos valores: " +"ver :func:`check_environ`. Lanza :exc:`ValueError` para cualquier variable " +"que no se encuentre en *local_vars* u ``os.environ``." #: ../Doc/distutils/apiref.rst:1183 msgid "" @@ -1636,6 +2221,10 @@ msgid "" "``$variable`` can consist only of upper and lower case letters, numbers and " "an underscore. No { } or ( ) style quoting is available." msgstr "" +"Ten en cuenta que esta no es una función de interpolación de string " +"completa. Una ``$ variable`` válida que puede constar solo de letras " +"mayúsculas y minúsculas, números y un guión bajo. No hay citas de estilo {} " +"o () disponibles." #: ../Doc/distutils/apiref.rst:1190 msgid "" @@ -1647,6 +2236,15 @@ msgid "" "leaving only the escaped character. The quote characters are stripped from " "any quoted string. Returns a list of words." msgstr "" +"Divide un string de acuerdo con las reglas de tipo *shell* de Unix para " +"comillas y barras invertidas. En resumen: las palabras están delimitadas por " +"espacios, siempre que esos espacios no se escapen con una barra invertida o " +"dentro de un string entre comillas. Las comillas simples y dobles son " +"equivalentes, y los caracteres de las comillas pueden tener un escape de " +"barra invertida. La barra invertida se elimina de cualquier secuencia de " +"escape de dos caracteres, dejando solo el carácter de escape. Los caracteres " +"de comillas se eliminan de cualquier string entre comillas. Retorna una " +"lista de palabras." #: ../Doc/distutils/apiref.rst:1203 msgid "" @@ -1657,10 +2255,18 @@ msgid "" "it (to embody the \"external action\" being performed), and an optional " "message to print." msgstr "" +"Realiza alguna acción que afecta al mundo exterior (por ejemplo, escribir en " +"el sistema de archivos). Tales acciones son especiales porque están " +"deshabilitadas por el indicador *dry_run*. Este método se encarga de toda " +"esa burocracia por ti; todo lo que tienes que hacer es proporcionar la " +"función a llamar y una tupla de argumentos para esta (para incorporar la " +"\"acción externa\" que se está realizando), y un mensaje opcional para " +"imprimir." #: ../Doc/distutils/apiref.rst:1212 msgid "Convert a string representation of truth to true (1) or false (0)." msgstr "" +"Convierte una representación real de un string a verdadero (1) o falso (0)." #: ../Doc/distutils/apiref.rst:1214 msgid "" @@ -1668,6 +2274,9 @@ msgid "" "values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" "`ValueError` if *val* is anything else." msgstr "" +"Los valores verdaderos son ``y``, ``yes``, ``t``, ``true``, ``on`` y ``1``; " +"los valores falsos son ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. " +"Lanza :exc:`ValueError` si *val* es cualquier otra cosa." #: ../Doc/distutils/apiref.rst:1221 msgid "" @@ -1676,22 +2285,29 @@ msgid "" "is a list of files to compile; any files that don't end in :file:`.py` are " "silently skipped. *optimize* must be one of the following:" msgstr "" +"*Byte-compile* es una colección de archivos fuente de Python de :file:`.pyc` " +"en un subdirectorio :file:`__pycache__` (ver :pep:`3147` y :pep:`488`). " +"*py_files* es una lista de archivos para compilar; cualquier archivo que no " +"termine en :file:`.py` se omite silenciosamente. *optimize* debe ser uno de " +"los siguientes:" #: ../Doc/distutils/apiref.rst:1226 msgid "``0`` - don't optimize" -msgstr "" +msgstr "``0`` - no optimizar" #: ../Doc/distutils/apiref.rst:1227 msgid "``1`` - normal optimization (like ``python -O``)" -msgstr "" +msgstr "``1`` - optimización normal (como ``python -O``)" #: ../Doc/distutils/apiref.rst:1228 msgid "``2`` - extra optimization (like ``python -OO``)" -msgstr "" +msgstr "``2`` - extra optimización (como ``python -OO``)" #: ../Doc/distutils/apiref.rst:1230 msgid "If *force* is true, all files are recompiled regardless of timestamps." msgstr "" +"Si *force* es verdadero, todos los archivos se vuelven a compilar " +"independientemente de las marcas de tiempo." #: ../Doc/distutils/apiref.rst:1232 msgid "" @@ -1702,12 +2318,20 @@ msgid "" "*prefix* is stripped). You can supply either or both (or neither) of " "*prefix* and *base_dir*, as you wish." msgstr "" +"El nombre del archivo de origen codificado en cada archivo :term:`bytecode` " +"tiene por defecto los nombres de archivo listados en *py_files*; puede " +"modificarlos con *prefix* y *basedir*. *prefix* es un string que se " +"eliminará de cada nombre de archivo de origen, y *base_dir* es un nombre de " +"directorio que se antepondrá (después de eliminar *prefix*). Puedes " +"proporcionar uno o ambos (o ninguno) de *prefix* y * base_dir*, como desees." #: ../Doc/distutils/apiref.rst:1239 msgid "" "If *dry_run* is true, doesn't actually do anything that would affect the " "filesystem." msgstr "" +"Si *dry_run* es verdadero, actualmente no hace nada que pueda afectar el " +"sistema de archivos." #: ../Doc/distutils/apiref.rst:1242 msgid "" @@ -1718,6 +2342,13 @@ msgid "" "The *direct* flag is used by the script generated in indirect mode; unless " "you know what you're doing, leave it set to ``None``." msgstr "" +"La compilación de *bytes* se realiza directamente en este proceso de " +"interpretación con el módulo estándar :mod:`py_compile`, o indirectamente " +"escribiendo un script temporal y ejecutándolo. Normalmente, debería dejar " +"que :func:`byte_compile` se dé cuenta de si usar la compilación directa o no " +"(consulta la fuente para obtener más detalles). El indicador *direct* es " +"utilizado por el script generado en modo indirecto; a menos que sepa lo que " +"está haciendo, se deja configurado en ``None``." #: ../Doc/distutils/apiref.rst:1249 msgid "" @@ -1725,10 +2356,13 @@ msgid "" "their name, in a :file:`__pycache__` subdirectory instead of files without " "tag in the current directory." msgstr "" +"Crea archivos ``.pyc`` con una etiqueta mágica :func:`import ` " +"en su nombre, en un subdirectorio :file:`__pycache__` en lugar de archivos " +"sin etiqueta en el directorio actual." #: ../Doc/distutils/apiref.rst:1254 msgid "Create ``.pyc`` files according to :pep:`488`." -msgstr "" +msgstr "Crea archivos ``.pyc`` de acuerdo a :pep:`488`." #: ../Doc/distutils/apiref.rst:1260 msgid "" @@ -1736,38 +2370,46 @@ msgid "" "by ensuring there are 8 spaces space after each newline. Note that it does " "no other modification of the string." msgstr "" +"Retorna una versión de *header* para su inclusión en un encabezado :rfc:" +"`822`, asegurándose de que haya 8 espacios después de cada nueva línea. Ten " +"en cuenta que no hace ninguna otra modificación del string." #: ../Doc/distutils/apiref.rst:1270 msgid ":mod:`distutils.dist` --- The Distribution class" -msgstr "" +msgstr ":mod:`distutils.dist` --- La clase *Distribution*" #: ../Doc/distutils/apiref.rst:1277 msgid "" "This module provides the :class:`~distutils.core.Distribution` class, which " "represents the module distribution being built/installed/distributed." msgstr "" +"Este módulo proporciona la clase :class:`~ distutils.core.Distribution`, que " +"representa la distribución del módulo que se está construyendo/instalando/" +"distribuyendo." #: ../Doc/distutils/apiref.rst:1282 msgid ":mod:`distutils.extension` --- The Extension class" -msgstr "" +msgstr ":mod:`distutils.extension` --- La clase *Extension*" #: ../Doc/distutils/apiref.rst:1289 msgid "" "This module provides the :class:`Extension` class, used to describe C/C++ " "extension modules in setup scripts." msgstr "" +"Este módulo proporciona la clase :class:`Extension`, que se utiliza para " +"describir los módulos de extensión C/C ++ en los scripts de configuración." #: ../Doc/distutils/apiref.rst:1297 msgid ":mod:`distutils.debug` --- Distutils debug mode" -msgstr "" +msgstr ":mod:`distutils.debug` --- modo de depuración *Distutils*" #: ../Doc/distutils/apiref.rst:1303 msgid "This module provides the DEBUG flag." -msgstr "" +msgstr "Este módulo proporciona el indicador *DEBUG*." #: ../Doc/distutils/apiref.rst:1307 msgid ":mod:`distutils.errors` --- Distutils exceptions" -msgstr "" +msgstr ":mod:`distutils.errors` --- excepciones *Distutils*" #: ../Doc/distutils/apiref.rst:1313 msgid "" @@ -1776,37 +2418,50 @@ msgid "" "raised for errors that are obviously the end-user's fault (eg. bad command-" "line arguments)." msgstr "" +"Proporciona excepciones utilizadas por los módulos *Distutils*. Ten en " +"cuenta que los módulos de Distutils pueden lanzar excepciones estándar; en " +"particular, *SystemExit* generalmente se lanza por errores que obviamente " +"son culpa del usuario final (por ejemplo, argumentos incorrectos en la línea " +"de comandos)." #: ../Doc/distutils/apiref.rst:1317 msgid "" "This module is safe to use in ``from ... import *`` mode; it only exports " "symbols whose names start with ``Distutils`` and end with ``Error``." msgstr "" +"Este módulo es seguro de usar en el modo ``from ... import*``; solo exporta " +"símbolos cuyos nombres comienzan con ``Distutils`` y terminan con ``Error``." #: ../Doc/distutils/apiref.rst:1322 msgid "" ":mod:`distutils.fancy_getopt` --- Wrapper around the standard getopt module" msgstr "" +":mod:`distutils.fancy_getopt` --- *Wrapper* alrededor del módulo estándar " +"*getopt*" #: ../Doc/distutils/apiref.rst:1328 msgid "" "This module provides a wrapper around the standard :mod:`getopt` module " "that provides the following additional features:" msgstr "" +"Este módulo proporciona una envoltura alrededor del modulo estándar :mod:" +"`getopt` que proporciona las siguientes características adicionales:" #: ../Doc/distutils/apiref.rst:1331 msgid "short and long options are tied together" -msgstr "" +msgstr "las opciones cortas y largas están unidas" #: ../Doc/distutils/apiref.rst:1333 msgid "" "options have help strings, so :func:`fancy_getopt` could potentially create " "a complete usage summary" msgstr "" +"las opciones tienen strings de ayuda, por lo que :func:`fancy_getopt` podría " +"potencialmente crear un resumen de uso completo" #: ../Doc/distutils/apiref.rst:1336 msgid "options set attributes of a passed-in object" -msgstr "" +msgstr "las opciones establecen atributos de un objeto pasado" #: ../Doc/distutils/apiref.rst:1338 msgid "" @@ -1814,6 +2469,9 @@ msgid "" "is the \"negative alias\" of :option:`!--verbose`, then :option:`!--quiet` " "on the command line sets *verbose* to false." msgstr "" +"las opciones booleanas pueden tener \"alias negativos\" --- p. ej. si :" +"option:`!-quiet` es el \"alias negativo\" de :option:`!-verbose`, entonces: " +"option:`!-quiet` en la línea de comando establece falso a *verbose*." #: ../Doc/distutils/apiref.rst:1344 msgid "" @@ -1825,16 +2483,26 @@ msgid "" "`getopt` method of the :class:`FancyGetopt` class). *args* is the argument " "list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." msgstr "" +"Función *Wrapper*. *options* es una lista de ``(*long_option*, " +"*short_option*, *help_string*)`` 3-tuplas como se describe en el constructor " +"para :class:`FancyGetopt`. *negative_opt* debe ser un diccionario de mapeo " +"de nombres de opciones a nombres de opciones, tanto la clave como el valor " +"deben estar en la lista de *options*. *object* es un objeto que se usará " +"para almacenar valores (ver el método :meth:`getopt` de la clase :class:" +"`FancyGetopt`). *args* es la lista de argumentos. Usará ``sys.argv [1:]`` si " +"pasa ``None`` como *args*." #: ../Doc/distutils/apiref.rst:1355 msgid "Wraps *text* to less than *width* wide." -msgstr "" +msgstr "Envuelve *text* a menos de *width* ancho." #: ../Doc/distutils/apiref.rst:1360 msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" msgstr "" +"option_table es una lista de 3 tuplas: ``(long_option, short_option, " +"help_string)``" #: ../Doc/distutils/apiref.rst:1363 msgid "" @@ -1843,14 +2511,21 @@ msgid "" "any case. *short_option* should be ``None`` if a *long_option* doesn't have " "a corresponding *short_option*. All option tuples must have long options." msgstr "" +"Si una opción toma un argumento, su *long_option* debería tener `` '=' `` " +"anexado; *short_option* debe ser solo un carácter, sin `` ':' `` en " +"cualquier caso. *short_option* debe ser ``None`` si *long_option* no tiene " +"una *short_option* correspondiente. Todas las tuplas de opciones deben tener " +"opciones largas." #: ../Doc/distutils/apiref.rst:1368 msgid "The :class:`FancyGetopt` class provides the following methods:" -msgstr "" +msgstr "La clase :class:`FancyGetopt` proporciona los siguientes métodos:" #: ../Doc/distutils/apiref.rst:1373 msgid "Parse command-line options in args. Store as attributes on *object*." msgstr "" +"Analiza las opciones de la línea de comandos en *args*. Almacena como " +"atributos en *object*." #: ../Doc/distutils/apiref.rst:1375 msgid "" @@ -1861,6 +2536,13 @@ msgid "" "returns *args*; in both cases, the returned *args* is a modified copy of the " "passed-in *args* list, which is left untouched." msgstr "" +"Si *args* es ``None`` o no se proporciona, utiliza ``sys.argv [1:]``. Si " +"*object* es ``None`` o no se proporciona, crea una nueva instancia :class:" +"`OptionDummy`, que allí almacena valores de opción y retorna una tupla " +"``(args, object)``. Si se proporciona *object*, se modifica en su lugar y :" +"func:`getopt` simplemente retorna *args*; en ambos casos, el *args* " +"retornado es una copia modificada de la lista *args* pasada, que se deja " +"intacta." #: ../Doc/distutils/apiref.rst:1387 msgid "" @@ -1868,34 +2550,43 @@ msgid "" "of :meth:`getopt` Raises :exc:`RuntimeError` if :meth:`getopt` hasn't been " "called yet." msgstr "" +"Retorna la lista de tuplas ``(*option*, *value*)`` procesadas por la " +"ejecución anterior de :meth:`getopt` Lanza :exc:`RuntimeError` si :meth:" +"`getopt` aún no se ha llamado." #: ../Doc/distutils/apiref.rst:1394 msgid "" "Generate help text (a list of strings, one per suggested line of output) " "from the option table for this :class:`FancyGetopt` object." msgstr "" +"Genera un texto de ayuda (una lista de strings, una por cada línea de salida " +"sugerida) de la tabla de opciones para este objeto :class:`FancyGetopt`." #: ../Doc/distutils/apiref.rst:1397 msgid "If supplied, prints the supplied *header* at the top of the help." msgstr "" +"Si se suministra, imprime el *header* suministrado en la parte superior de " +"la ayuda." #: ../Doc/distutils/apiref.rst:1401 msgid ":mod:`distutils.filelist` --- The FileList class" -msgstr "" +msgstr ":mod:`distutils.filelist` --- La clase *FileList*" #: ../Doc/distutils/apiref.rst:1408 msgid "" "This module provides the :class:`FileList` class, used for poking about the " "filesystem and building lists of files." msgstr "" +"Este módulo proporciona la clase :class:`FileList`, utilizada para hurgar en " +"el sistema de archivos y crear listas de archivos." #: ../Doc/distutils/apiref.rst:1413 msgid ":mod:`distutils.log` --- Simple :pep:`282`-style logging" -msgstr "" +msgstr ":mod:`distutils.log` --- Simple :pep:`282`-registro de estilo" #: ../Doc/distutils/apiref.rst:1420 msgid ":mod:`distutils.spawn` --- Spawn a sub-process" -msgstr "" +msgstr ":mod:`distutils.spawn` --- Genera un subproceso" #: ../Doc/distutils/apiref.rst:1426 msgid "" @@ -1904,10 +2595,15 @@ msgid "" "Also provides :func:`find_executable` to search the path for a given " "executable name." msgstr "" +"Este módulo proporciona la función :func:`spawn`, un *front-end* para varias " +"funciones específicas de la plataforma para iniciar otro programa en un " +"subproceso. También proporciona :func:`find_executable` para buscar en la " +"ruta un nombre ejecutable determinado." #: ../Doc/distutils/apiref.rst:1433 msgid ":mod:`distutils.sysconfig` --- System configuration information" msgstr "" +":mod:`distutils.sysconfig` --- Información de configuración del sistema" #: ../Doc/distutils/apiref.rst:1442 msgid "" @@ -1920,26 +2616,39 @@ msgid "" "header is called :file:`pyconfig.h` for Python versions starting with 2.2, " "and :file:`config.h` for earlier versions of Python." msgstr "" +"El modulo :mod:`distutils.sysconfig` proporciona acceso a la configuración " +"de bajo nivel de Python. Las variables de configuración específicas " +"disponibles dependen en gran medida de la plataforma y la configuración. Las " +"variables específicas dependen del proceso de compilación de la versión " +"específica de Python que se está ejecutando; las variables son las que se " +"encuentran en el archivo :file:`Makefile` y el encabezado de configuración " +"que se instalan con Python en sistemas Unix. El encabezado de configuración " +"se llama :file:`pyconfig.h` para las versiones de Python que comienzan con " +"2.2, y :file:`config.h` para versiones anteriores de Python." #: ../Doc/distutils/apiref.rst:1451 msgid "" "Some additional functions are provided which perform some useful " "manipulations for other parts of the :mod:`distutils` package." msgstr "" +"Se proporcionan algunas funciones adicionales que realizan algunas " +"manipulaciones útiles para otras partes del paquete :mod:`distutils`." #: ../Doc/distutils/apiref.rst:1457 msgid "The result of ``os.path.normpath(sys.prefix)``." -msgstr "" +msgstr "El resultado de ``os.path.normpath(sys.prefix)``." #: ../Doc/distutils/apiref.rst:1462 msgid "The result of ``os.path.normpath(sys.exec_prefix)``." -msgstr "" +msgstr "El resultado de ``os.path.normpath(sys.exec_prefix)``." #: ../Doc/distutils/apiref.rst:1467 msgid "" "Return the value of a single variable. This is equivalent to " "``get_config_vars().get(name)``." msgstr "" +"Retorna el valor de una sola variable. Esto es equivalente a " +"``get_config_vars ().get(name)``." #: ../Doc/distutils/apiref.rst:1473 msgid "" @@ -1949,6 +2658,12 @@ msgid "" "a sequence giving the associated values. If a given name does not have a " "corresponding value, ``None`` will be included for that variable." msgstr "" +"Retorna un conjunto de definiciones de variables. Si no hay argumentos, esto " +"retorna un diccionario que asigna los nombres de las variables de " +"configuración a los valores. Si se proporcionan argumentos, deben ser " +"strings y el valor de retorno será una secuencia que proporcione los valores " +"asociados. Si un nombre de pila no tiene un valor correspondiente, se " +"incluirá ``None`` para esa variable." #: ../Doc/distutils/apiref.rst:1482 msgid "" @@ -1957,6 +2672,11 @@ msgid "" "platforms the header will have been supplied directly by the Python source " "distribution. The file is a platform-specific text file." msgstr "" +"Retorna el nombre completo de la ruta del encabezado de configuración. Para " +"Unix, este será el encabezado generado por el script :program:`configure`; " +"para otras plataformas, el encabezado habrá sido proporcionado directamente " +"por la distribución fuente de Python. El archivo es un archivo de texto " +"específico de la plataforma." #: ../Doc/distutils/apiref.rst:1490 msgid "" @@ -1965,6 +2685,11 @@ msgid "" "meaning for other platforms will vary. The file is a platform-specific text " "file, if it exists. This function is only useful on POSIX platforms." msgstr "" +"Retorna el nombre completo de la ruta del archivo :file:`Makefile` usado " +"para construir Python. Para Unix, este será un archivo generado por el " +"script :program:`configure`; el significado para otras plataformas variará. " +"El archivo es un archivo de texto específico de la plataforma, si existe. " +"Esta función solo es útil en plataformas POSIX." #: ../Doc/distutils/apiref.rst:1498 msgid "" @@ -1975,6 +2700,13 @@ msgid "" "const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if " "*plat_specific* is true." msgstr "" +"Retorna el directorio para los archivos de inclusión de C generales o " +"dependientes de la plataforma. Si *plat_specific* es verdadero, se retorna " +"el directorio de inclusión dependiente de la plataforma; si es falso o se " +"omite, se retorna el directorio independiente de la plataforma. Si se " +"proporciona *prefix*, se usa como prefijo en lugar de :const:`PREFIX`, o " +"como *exec-prefix* en lugar de :const:`EXEC_PREFIX` si *plat_specific* es " +"verdadero." #: ../Doc/distutils/apiref.rst:1508 msgid "" @@ -1987,18 +2719,31 @@ msgid "" "directory for the standard library is returned rather than the directory for " "the installation of third-party extensions." msgstr "" +"Retorna el directorio para la instalación de la biblioteca general o " +"dependiente de la plataforma. Si *plat_specific* es verdadero, se retorna el " +"directorio de inclusión dependiente de la plataforma; si es falso o se " +"omite, se retorna el directorio independiente de la plataforma. Si se " +"proporciona *prefix*, se usa como prefijo en lugar de :const:`PREFIX`, o " +"como *exec-prefix* en lugar de :const:`EXEC_PREFIX` si *plat_specific* es " +"verdadero. Si *standard_lib* es verdadero, se retorna el directorio de la " +"biblioteca estándar en lugar del directorio para la instalación de " +"extensiones de terceros." #: ../Doc/distutils/apiref.rst:1517 msgid "" "The following function is only intended for use within the :mod:`distutils` " "package." msgstr "" +"La siguiente función solo está pensada para su uso dentro del paquete :mod:" +"`distutils`." #: ../Doc/distutils/apiref.rst:1523 msgid "" "Do any platform-specific customization of a :class:`distutils.ccompiler." "CCompiler` instance." msgstr "" +"Realiza cualquier personalización específica de la plataforma de una " +"instancia :class:`distutils.ccompiler.CCompiler`." #: ../Doc/distutils/apiref.rst:1526 msgid "" @@ -2008,12 +2753,20 @@ msgid "" "This information includes the selected compiler, compiler and linker " "options, and the extension used by the linker for shared objects." msgstr "" +"Esta función solo es necesaria en Unix en este momento, pero se debe llamar " +"de manera consistente para admitir la compatibilidad con versiones " +"posteriores. Inserta la información que varía según los tipos de Unix y se " +"almacena en el archivo de Python :file:`Makefile`. Esta incluye el " +"compilador seleccionado, las opciones del compilador y del enlazador, y la " +"extensión utilizada por el enlazador para los objetos compartidos." #: ../Doc/distutils/apiref.rst:1532 msgid "" "This function is even more special-purpose, and should only be used from " "Python's own build procedures." msgstr "" +"Esta función tiene un propósito aún más especial y solo debe usarse desde " +"los propios procedimientos de compilación de Python." #: ../Doc/distutils/apiref.rst:1538 msgid "" @@ -2022,10 +2775,14 @@ msgid "" "for files, allowing them to be located in the build area rather than in an " "installed Python." msgstr "" +"Informa al módulo :mod:`distutils.sysconfig` que se está utilizando como " +"parte del proceso de compilación de Python. Esto cambia muchas ubicaciones " +"relativas de los archivos, lo que les permite ubicarse en el área de " +"compilación en lugar de en un Python instalado." #: ../Doc/distutils/apiref.rst:1545 msgid ":mod:`distutils.text_file` --- The TextFile class" -msgstr "" +msgstr ":mod:`distutils.text_file` --- La clase *TextFile*" #: ../Doc/distutils/apiref.rst:1551 msgid "" @@ -2033,6 +2790,10 @@ msgid "" "to text files that (optionally) takes care of stripping comments, ignoring " "blank lines, and joining lines with backslashes." msgstr "" +"Este módulo proporciona la clase :class:`TextFile`, que proporciona una " +"interfaz a los archivos de texto que (opcionalmente) se encarga de eliminar " +"los comentarios, ignorar las líneas en blanco y unir líneas con barras " +"invertidas." #: ../Doc/distutils/apiref.rst:1558 msgid "" @@ -2043,6 +2804,13 @@ msgid "" "at end of line), strip leading and/or trailing whitespace. All of these are " "optional and independently controllable." msgstr "" +"Esta clase proporciona un objeto similar a un archivo que se encarga de " +"todas las cosas que comúnmente desea hacer al procesar un archivo de texto " +"que tiene alguna sintaxis línea por línea: elimina comentarios (siempre que " +"``#`` sea su carácter de comentario), omite líneas en blanco, une líneas " +"adyacentes escapando de la nueva línea (es decir, barra invertida al final " +"de la línea), elimina los espacios en blanco iniciales o finales. Todos " +"estos son opcionales y controlables de forma independiente." #: ../Doc/distutils/apiref.rst:1565 msgid "" @@ -2051,6 +2819,10 @@ msgid "" "question spans multiple physical lines. Also provides :meth:`unreadline` " "for implementing line-at-a-time lookahead." msgstr "" +"La clase proporciona un método :meth:`warn` para que pueda generar mensajes " +"de advertencia que informen el número de línea física, incluso si la línea " +"lógica en cuestión abarca varias líneas físicas. También proporciona :meth:" +"`unreadline` para implementar una búsqueda anticipada de línea a la vez." #: ../Doc/distutils/apiref.rst:1570 msgid "" @@ -2062,62 +2834,77 @@ msgid "" "messages. If *file* is not supplied, :class:`TextFile` creates its own " "using the :func:`open` built-in function." msgstr "" +"Las instancias de :class:`TextFile` se crean con *filename*, *file* o " +"ambos. :exc:`RuntimeError` se lanza si ambos son ``None``. *filename* debe " +"ser un string, y *file* un archive de objeto (o algo que proporcione los " +"métodos :meth:`readline` y :meth:`close`). Se recomienda que proporcione al " +"menos *filename*, para que :class:`TextFile` pueda incluirlo en mensajes de " +"advertencia. Si no se proporciona *file*, :class:`TextFile` crea uno propio " +"usando la función incorporada :func:`open`." #: ../Doc/distutils/apiref.rst:1578 msgid "" "The options are all boolean, and affect the values returned by :meth:" "`readline`" msgstr "" +"Todas las opciones son booleanas y afectan los valores retornados por :meth:" +"`readline`" #: ../Doc/distutils/apiref.rst:1583 msgid "option name" -msgstr "" +msgstr "nombre de la opción" #: ../Doc/distutils/apiref.rst:1583 msgid "default" -msgstr "" +msgstr "predeterminado" #: ../Doc/distutils/apiref.rst:1585 msgid "*strip_comments*" -msgstr "" +msgstr "*strip_comments*" #: ../Doc/distutils/apiref.rst:1585 msgid "" "strip from ``'#'`` to end-of-line, as well as any whitespace leading up to " "the ``'#'``\\ ---unless it is escaped by a backslash" msgstr "" +"elimina desde ``'#'`` hasta el final de la línea, así como cualquier espacio " +"en blanco que conduzca al ``'#'`` \\ --- a menos que se escape por una barra " +"invertida" #: ../Doc/distutils/apiref.rst:1585 ../Doc/distutils/apiref.rst:1594 #: ../Doc/distutils/apiref.rst:1599 msgid "true" -msgstr "" +msgstr "verdadero" #: ../Doc/distutils/apiref.rst:1591 msgid "*lstrip_ws*" -msgstr "" +msgstr "*lstrip_ws*" #: ../Doc/distutils/apiref.rst:1591 msgid "strip leading whitespace from each line before returning it" msgstr "" +"elimina los espacios en blanco iniciales de cada línea antes de retornarlo" #: ../Doc/distutils/apiref.rst:1591 ../Doc/distutils/apiref.rst:1609 #: ../Doc/distutils/apiref.rst:1620 msgid "false" -msgstr "" +msgstr "falso" #: ../Doc/distutils/apiref.rst:1594 msgid "*rstrip_ws*" -msgstr "" +msgstr "*rstrip_ws*" #: ../Doc/distutils/apiref.rst:1594 msgid "" "strip trailing whitespace (including line terminator!) from each line before " "returning it." msgstr "" +"elimina los espacios en blanco finales (incluido el terminador de línea!) de " +"cada línea antes de retornarlo." #: ../Doc/distutils/apiref.rst:1599 msgid "*skip_blanks*" -msgstr "" +msgstr "*skip_blanks*" #: ../Doc/distutils/apiref.rst:1599 msgid "" @@ -2126,10 +2913,14 @@ msgid "" "solely whitespace: these will \\*not\\* be skipped, even if *skip_blanks* is " "true.)" msgstr "" +"omite las líneas que están vacías \\* después de\\* elimina los comentarios " +"y los espacios en blanco. (Si tanto *lstrip_ws* como *rstrip_ws* son falsos, " +"algunas líneas pueden consistir únicamente en espacios en blanco: estos no " +"se omitirán, incluso si *skip_blanks* es verdadero)." #: ../Doc/distutils/apiref.rst:1609 msgid "*join_lines*" -msgstr "" +msgstr "*join_lines*" #: ../Doc/distutils/apiref.rst:1609 msgid "" @@ -2138,16 +2929,23 @@ msgid "" "line; if N consecutive lines end with a backslash, then N+1 physical lines " "will be joined to form one logical line." msgstr "" +"si una barra invertida es el último carácter que no es una nueva línea en " +"una línea después de eliminar los comentarios y los espacios en blanco, " +"únela a la siguiente línea para formar una línea lógica; si N líneas " +"consecutivas terminan con una barra invertida, entonces N + 1 líneas físicas " +"se unirán para formar una línea lógica." #: ../Doc/distutils/apiref.rst:1620 msgid "*collapse_join*" -msgstr "" +msgstr "*collapse_join*" #: ../Doc/distutils/apiref.rst:1620 msgid "" "strip leading whitespace from lines that are joined to their predecessor; " "only matters if ``(join_lines and not lstrip_ws)``" msgstr "" +"elimina los espacios en blanco iniciales de las líneas que están unidas a su " +"predecesor; solo importa si ``(*join_lines* y no *lstrip_ws*)``" #: ../Doc/distutils/apiref.rst:1627 msgid "" @@ -2157,18 +2955,28 @@ msgid "" "for end-of-file: an empty string might just be a blank line (or an all-" "whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." msgstr "" +"Ten en cuenta que, dado que *rstrip_ws* puede eliminar la nueva línea final, " +"la semántica de :meth:`readline` debe diferir de las del método :meth:" +"`readline` del objeto de archivo integrado. En particular, :meth:`readline` " +"retorna ``None`` para el final del archivo: un string vacío puede ser solo " +"una línea en blanco (o una línea con espacios en blanco), si *rstrip_ws* es " +"verdadero pero *skip_blanks* no es." #: ../Doc/distutils/apiref.rst:1636 msgid "" "Open a new file *filename*. This overrides any *file* or *filename* " "constructor arguments." msgstr "" +"Abre un nuevo archivo *filename*. Esto anula cualquier *file* o *filename* " +"argumentado del constructor." #: ../Doc/distutils/apiref.rst:1642 msgid "" "Close the current file and forget everything we know about it (including the " "filename and the current line number)." msgstr "" +"Cierra el archivo actual y olvida todo lo que sabemos sobre él (incluido el " +"nombre del archivo y el número de línea actual)." #: ../Doc/distutils/apiref.rst:1648 msgid "" @@ -2179,6 +2987,12 @@ msgid "" "may be a list or tuple to indicate a range of physical lines, or an integer " "for a single physical line." msgstr "" +"Imprime (a *stderr*) un mensaje de advertencia vinculado a la línea lógica " +"actual en el archivo actual. Si la línea lógica actual en el archivo abarca " +"varias líneas físicas, la advertencia se refiere a todo el rango, como ``" +"\"lines 3-5\"``. Si se proporciona *line*, anula el número de línea actual; " +"puede ser una lista o tupla para indicar un rango de líneas físicas, o un " +"número entero para una sola línea física." #: ../Doc/distutils/apiref.rst:1658 msgid "" @@ -2191,12 +3005,23 @@ msgid "" "end-of-file, since the empty string can occur if *rstrip_ws* is true but " "*strip_blanks* is not." msgstr "" +"Lee y retorna una sola línea lógica del archivo actual (o de un búfer " +"interno si las líneas han sido \"no leídas\" previamente con :meth:" +"`unreadline`). Si la opción *join_lines* es verdadera, esto puede implicar " +"la lectura de varias líneas físicas concatenadas en una sola cadena. " +"Actualiza el número de línea actual, por lo que llamar a :meth:`warn` " +"después :meth:`readline` emite una advertencia sobre las líneas físicas que " +"acaba de leer. Retorna ``None`` al final del archivo, ya que un string vacío " +"puede aparecer si *rstrip_ws* es verdadero pero *strip_blanks* no lo es." #: ../Doc/distutils/apiref.rst:1669 msgid "" "Read and return the list of all logical lines remaining in the current file. " "This updates the current line number to the last line of the file." msgstr "" +"Lee y retorna la lista de todas las líneas lógicas restantes en el archivo " +"actual. Esto actualiza el número de línea actual a la última línea del " +"archivo." #: ../Doc/distutils/apiref.rst:1675 msgid "" @@ -2208,18 +3033,27 @@ msgid "" "meth:`unreadline` before a call to :meth:`readline`, the lines will be " "returned most in most recent first order." msgstr "" +"Empuja *line* (un string) en un búfer interno que será verificado por " +"futuras llamadas a :meth:`readline`. Útil para implementar un analizador con " +"búsqueda anticipada de línea a la vez. Tenga en cuenta que las líneas que " +"están \"no leídas\" con :meth:`unreadline` no se vuelven a limpiar " +"posteriormente (se eliminan los espacios en blanco o lo que sea) cuando se " +"leen con :meth:`readline`. Si se realizan varias llamadas a :meth:" +"`unreadline` antes de una llamada a :meth:`readline`, la mayoría de las " +"líneas se retornarán en el primer orden más reciente." #: ../Doc/distutils/apiref.rst:1684 msgid ":mod:`distutils.version` --- Version number classes" -msgstr "" +msgstr ":mod:`distutils.version` --- Clases de número de versión" #: ../Doc/distutils/apiref.rst:1699 msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands" msgstr "" +":mod:`distutils.cmd` --- Clase base abstracta para comandos *Distutils*" #: ../Doc/distutils/apiref.rst:1706 msgid "This module supplies the abstract base class :class:`Command`." -msgstr "" +msgstr "Este módulo proporciona la clase base abstracta :class:`Command`." #: ../Doc/distutils/apiref.rst:1711 msgid "" @@ -2236,20 +3070,36 @@ msgid "" "options, is the :meth:`run` method, which must also be implemented by every " "command class." msgstr "" +"La clase base abstracta para definir clases de comando, las \"*worker bees*" +"\" de *Distutils*. Una analogía útil para las clases de comando es pensar en " +"ellas como subrutinas con variables locales llamadas *options*. Las opciones " +"se declaran en :meth:`initialize_options` y se definen (dados sus valores " +"finales) en :meth:`finalize_options`, los cuales deben ser definidos por " +"cada clase de comando. La distinción entre los dos es necesaria porque los " +"valores de las opciones pueden provenir del mundo exterior (línea de " +"comando, archivo de configuración, ...), y cualquier opción que dependa de " +"otras opciones debe calcularse después de que se hayan procesado estas " +"influencias externas --- por lo tanto :meth:`finalize_options`. El cuerpo de " +"la subrutina, donde hace todo su trabajo basado en los valores de sus " +"opciones, es el método :meth:`run`, que también debe ser implementado por " +"cada clase de comando." #: ../Doc/distutils/apiref.rst:1724 msgid "" "The class constructor takes a single argument *dist*, a :class:`~distutils." "core.Distribution` instance." msgstr "" +"El constructor de la clase toma un solo argumento *dist*, una instancia :" +"class:`~ distutils.core.Distribution`." #: ../Doc/distutils/apiref.rst:1729 msgid "Creating a new Distutils command" -msgstr "" +msgstr "Creando un nuevo comando *Distutils*" #: ../Doc/distutils/apiref.rst:1731 msgid "This section outlines the steps to create a new Distutils command." msgstr "" +"Esta sección describe los pasos para crear un nuevo comando *Distutils*." #: ../Doc/distutils/apiref.rst:1733 msgid "" @@ -2263,10 +3113,21 @@ msgid "" "command/peel_banana.py`, then edit it so that it's implementing the class :" "class:`peel_banana`, a subclass of :class:`distutils.cmd.Command`." msgstr "" +"Un nuevo comando reside en un módulo en el paquete :mod:`distutils.command`. " +"Hay una plantilla de muestra en ese directorio llamada :file:" +"`command_template`. Copia este archivo en un nuevo módulo con el mismo " +"nombre que el nuevo comando que está implementando. Este módulo debe " +"implementar una clase con el mismo nombre que el módulo (y el comando). " +"Entonces, por ejemplo, para crear el comando ``peel_banana`` (para que los " +"usuarios puedan ejecutar ``setup.py peel_banana``), deben copiar :file:" +"`command_template` a :file:`distutils/command/peel_banana.py`, luego edítelo " +"para que implemente la clase :class:`peel_banana`, una subclase de :class:" +"`distutils.cmd.Command`." #: ../Doc/distutils/apiref.rst:1743 msgid "Subclasses of :class:`Command` must define the following methods." msgstr "" +"Las subclases de :class:`Command` deben definir los siguientes métodos." #: ../Doc/distutils/apiref.rst:1747 msgid "" @@ -2277,6 +3138,13 @@ msgid "" "`initialize_options` implementations are just a bunch of ``self.foo = None`` " "assignments." msgstr "" +"Establece valores predeterminados para todas las opciones que admite este " +"comando. Ten en cuenta que estos valores predeterminados pueden ser anulados " +"por otros comandos, por el script de configuración, por los archivos de " +"configuración o por la línea de comandos. Por tanto, este no es el lugar " +"para codificar dependencias entre opciones; generalmente, las " +"implementaciones de :meth:`initialize_options` son solo un montón de " +"asignaciones ``self.fo = None`` ." #: ../Doc/distutils/apiref.rst:1756 msgid "" @@ -2287,6 +3155,13 @@ msgid "" "safe to set *foo* from *bar* as long as *foo* still has the same value it " "was assigned in :meth:`initialize_options`." msgstr "" +"Establece valores finales para todas las opciones que admite este comando. " +"Esto siempre se llama lo más tarde posible, es decir. después de que se " +"hayan realizado las asignaciones de opciones desde la línea de comandos o " +"desde otros comandos. Por lo tanto, este es el lugar para codificar las " +"dependencias de opciones: si *foo* depende de *bar*, entonces es seguro " +"establecer *foo* desde *bar* siempre que *foo* todavía tenga el mismo valor " +"que se asignó en :meth:`initialize_options`." #: ../Doc/distutils/apiref.rst:1766 msgid "" @@ -2296,6 +3171,12 @@ msgid "" "files, and finalized in :meth:`finalize_options`. All terminal output and " "filesystem interaction should be done by :meth:`run`." msgstr "" +"La razón de ser de un comando: llevar a cabo la acción que debe realizar, " +"controlada por las opciones inicializadas en :meth:`initialize_options`, " +"personalizadas por otros comandos, el script de configuración, la línea de " +"comandos y los archivos de configuración, y finalizadas en :meth:" +"`finalize_options`. Toda la salida de la terminal y la interacción del " +"sistema de archivos debe realizarse mediante :meth:`run`." #: ../Doc/distutils/apiref.rst:1775 msgid "" @@ -2310,6 +3191,15 @@ msgid "" "have any C header files to install.) If *predicate* is ``None``, that " "command is always applicable." msgstr "" +"*sub_commands* formaliza la noción de una \"familia\" de comandos, p. ej. " +"``install`` como padre con subcomandos ``install_lib``, ``install_headers``, " +"etc. El padre de una familia de comandos define *sub_commands* como un " +"atributo de clase; es una lista de 2 tuplas ``(command_name, predicate)``, " +"con *command_name* un string y *predicate* una función, un string o " +"``None``. *predicate* es un método del comando padre que determina si el " +"comando correspondiente es aplicable en la situación actual. (Por ejemplo, " +"``install_headers`` solo es aplicable si tenemos archivos de encabezado C " +"para instalar). Si *predicate* es ``None``, ese comando siempre es aplicable." #: ../Doc/distutils/apiref.rst:1786 msgid "" @@ -2317,33 +3207,41 @@ msgid "" "predicates can be methods of the class, so they must already have been " "defined. The canonical example is the :command:`install` command." msgstr "" +"*sub_commands* generalmente se define al *end* de una clase, porque los " +"predicados pueden ser métodos de la clase, por lo que ya deben haber sido " +"definidos. El ejemplo canónico es el comando :command:`install`." #: ../Doc/distutils/apiref.rst:1792 msgid ":mod:`distutils.command` --- Individual Distutils commands" -msgstr "" +msgstr ":mod:`distutils.command` --- Comandos individuales de *Distutils*" #: ../Doc/distutils/apiref.rst:1803 msgid ":mod:`distutils.command.bdist` --- Build a binary installer" -msgstr "" +msgstr ":mod:`distutils.command.bdist` --- Construye un instalador binario" #: ../Doc/distutils/apiref.rst:1813 msgid "" ":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers" msgstr "" +":mod:`distutils.command.bdist_packager` --- Clase base abstracta para " +"empaquetadores" #: ../Doc/distutils/apiref.rst:1823 msgid ":mod:`distutils.command.bdist_dumb` --- Build a \"dumb\" installer" msgstr "" +":mod:`distutils.command.bdist_dumb` --- Construye un instalador \"*dump*\"" #: ../Doc/distutils/apiref.rst:1833 msgid "" ":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary " "package" msgstr "" +":mod:`distutils.command.bdist_msi` --- Construye un paquete binario " +"instalador de Microsoft" #: ../Doc/distutils/apiref.rst:1840 msgid "Builds a `Windows Installer`_ (.msi) binary package." -msgstr "" +msgstr "Construye un paquete binario `Windows Installer`_ (.msi)" #: ../Doc/distutils/apiref.rst:1844 msgid "" @@ -2352,43 +3250,59 @@ msgid "" "platforms, allows administrators to perform non-interactive installations, " "and allows installation through group policies." msgstr "" +"En la mayoría de los casos, el instalador ``bdist_msi`` es una mejor opción " +"que el instalador ``bdist_wininst``, porque proporciona un mejor soporte " +"para plataformas Win64, permite a los administradores realizar instalaciones " +"no interactivas y permite la instalación a través de políticas de grupo." #: ../Doc/distutils/apiref.rst:1851 msgid "" ":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a " "Redhat RPM and SRPM" msgstr "" +":mod:`distutils.command.bdist_rpm` --- Construye una distribución binaria " +"como RedHat RPM y SRPM" #: ../Doc/distutils/apiref.rst:1861 msgid ":mod:`distutils.command.bdist_wininst` --- Build a Windows installer" msgstr "" +":mod:`distutils.command.bdist_wininst` --- Construye un instalador de Windows" #: ../Doc/distutils/apiref.rst:1866 msgid "Use bdist_wheel (wheel packages) instead." -msgstr "" +msgstr "Utiliza *bdist_wheel* (paquetes *wheel*) en su lugar." #: ../Doc/distutils/apiref.rst:1874 msgid ":mod:`distutils.command.sdist` --- Build a source distribution" msgstr "" +":mod:`distutils.command.sdist` --- Construye una distribución de código " +"fuente" #: ../Doc/distutils/apiref.rst:1884 msgid ":mod:`distutils.command.build` --- Build all files of a package" msgstr "" +":mod:`distutils.command.build` --- Construye todos los archivos de un paquete" #: ../Doc/distutils/apiref.rst:1894 msgid "" ":mod:`distutils.command.build_clib` --- Build any C libraries in a package" msgstr "" +":mod:`distutils.command.build_clib` --- Construye cualquier biblioteca C en " +"un paquete" #: ../Doc/distutils/apiref.rst:1904 msgid "" ":mod:`distutils.command.build_ext` --- Build any extensions in a package" msgstr "" +":mod:`distutils.command.build_ext` --- Construye cualquier extensión en un " +"paquete" #: ../Doc/distutils/apiref.rst:1914 msgid "" ":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package" msgstr "" +":mod:`distutils.command.build_py` --- Construye los archivos .py/.pyc de un " +"paquete" #: ../Doc/distutils/apiref.rst:1924 msgid "" @@ -2397,23 +3311,31 @@ msgid "" "setup.py file for a distribution that is designed to run with both Python 2." "x and 3.x, add::" msgstr "" +"Implementación alternativa de *build_py* que también ejecuta la biblioteca " +"de conversión *2to3* en cada archivo .py que se va a instalar. Para usar " +"esto en un archivo *setup.py* de una distribución que está diseñada para " +"ejecutarse con Python 2.x y 3.x, agrega:" #: ../Doc/distutils/apiref.rst:1934 msgid "to your setup.py, and later::" -msgstr "" +msgstr "a su *setup.py*, y posteriormente:" #: ../Doc/distutils/apiref.rst:1938 msgid "to the invocation of setup()." -msgstr "" +msgstr "a la invocación de configuración setup()." #: ../Doc/distutils/apiref.rst:1942 msgid "" ":mod:`distutils.command.build_scripts` --- Build the scripts of a package" msgstr "" +":mod:`distutils.command.build_scripts` --- Construye los scripts de un " +"paquete" #: ../Doc/distutils/apiref.rst:1952 msgid ":mod:`distutils.command.clean` --- Clean a package build area" msgstr "" +":mod:`distutils.command.clean` --- Limpia el área de construcción de un " +"paquete" #: ../Doc/distutils/apiref.rst:1957 msgid "" @@ -2421,58 +3343,78 @@ msgid "" "subcommands, like intermediary compiled object files. With the ``--all`` " "option, the complete build directory will be removed." msgstr "" +"Este comando elimina los archivos temporales creados por el comando :command:" +"`build` y sus subcomandos, como archivos de objeto compilados " +"intermediarios. Con la opción ``--all``, se eliminará el directorio de " +"compilación completo." #: ../Doc/distutils/apiref.rst:1961 msgid "" "Extension modules built :ref:`in place ` will " "not be cleaned, as they are not in the build directory." msgstr "" +"Los módulos de extensión construidos :ref:`in place ` no se limpiarán, ya que no están en el directorio de construcción." #: ../Doc/distutils/apiref.rst:1966 msgid ":mod:`distutils.command.config` --- Perform package configuration" msgstr "" +":mod:`distutils.command.config` --- Realiza la configuración de un paquete" #: ../Doc/distutils/apiref.rst:1976 msgid ":mod:`distutils.command.install` --- Install a package" -msgstr "" +msgstr ":mod:`distutils.command.install` --- Instala un paquete" #: ../Doc/distutils/apiref.rst:1986 msgid "" ":mod:`distutils.command.install_data` --- Install data files from a package" msgstr "" +":mod:`distutils.command.install_data` --- Instala archivos de datos de un " +"paquete" #: ../Doc/distutils/apiref.rst:1996 msgid "" ":mod:`distutils.command.install_headers` --- Install C/C++ header files from " "a package" msgstr "" +":mod:`distutils.command.install_headers` --- Instala archivos de encabezado " +"C/C++ desde un paquete" #: ../Doc/distutils/apiref.rst:2006 msgid "" ":mod:`distutils.command.install_lib` --- Install library files from a package" msgstr "" +":mod:`distutils.command.install_lib` --- Instala archivos de biblioteca " +"desde un paquete" #: ../Doc/distutils/apiref.rst:2016 msgid "" ":mod:`distutils.command.install_scripts` --- Install script files from a " "package" msgstr "" +":mod:`distutils.command.install_scripts` --- Instala archivos de script " +"desde un paquete" #: ../Doc/distutils/apiref.rst:2026 msgid "" ":mod:`distutils.command.register` --- Register a module with the Python " "Package Index" msgstr "" +":mod:`distutils.command.register` --- Registra un módulo con el índice de " +"paquetes de Python" #: ../Doc/distutils/apiref.rst:2032 msgid "" "The ``register`` command registers the package with the Python Package " "Index. This is described in more detail in :pep:`301`." msgstr "" +"El comando ``register`` registra el paquete con el índice de paquetes de " +"Python. Esto se describe con más detalle en :pep:`301`." #: ../Doc/distutils/apiref.rst:2039 msgid ":mod:`distutils.command.check` --- Check the meta-data of a package" msgstr "" +":mod:`distutils.command.check` --- Verificar los metadatos de un paquete" #: ../Doc/distutils/apiref.rst:2045 msgid "" @@ -2480,3 +3422,6 @@ msgid "" "example, it verifies that all required meta-data are provided as the " "arguments passed to the :func:`setup` function." msgstr "" +"El comando ``check`` realiza algunas pruebas en los metadatos de un paquete. " +"Por ejemplo, verifica que todos los metadatos requeridos se proporcionen " +"como argumentos pasados ​​a la función :func:`setup`." From 49cdc14cc32aa83c593ed615c2382eea5bfaa496 Mon Sep 17 00:00:00 2001 From: Nataya Soledad Date: Sun, 20 Dec 2020 12:50:55 -0300 Subject: [PATCH 086/153] Traducido archivo library/nntplib.po (#708) --- library/nntplib.po | 294 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 270 insertions(+), 24 deletions(-) diff --git a/library/nntplib.po b/library/nntplib.po index 5d66a57d80..3c7c354836 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -6,51 +6,64 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-11-26 08:46-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/nntplib.rst:2 msgid ":mod:`nntplib` --- NNTP protocol client" -msgstr "" +msgstr ":mod:`nntplib` — Protocolo de cliente NNTP" #: ../Doc/library/nntplib.rst:7 msgid "**Source code:** :source:`Lib/nntplib.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/nntplib.py`" #: ../Doc/library/nntplib.rst:15 msgid "" "This module defines the class :class:`NNTP` which implements the client side " -"of the Network News Transfer Protocol. It can be used to implement a news " -"reader or poster, or automated news processors. It is compatible with :rfc:" -"`3977` as well as the older :rfc:`977` and :rfc:`2980`." +"side of the Network News Transfer Protocol. It can be used to implement a " +"news reader or poster, or automated news processors. It is compatible with :" +"rfc:`3977` as well as the older :rfc:`977` and :rfc:`2980`." msgstr "" +"Este módulo define la clase :class:`NNTP` que implementa el lado del cliente " +"del protocolo para la transferencia de noticias en red. Se puede utilizar " +"para implementar un lector o publicador de noticias, o procesadores de " +"noticias automatizados. Es compatible con :rfc:`3977`, así como con el " +"anterior :rfc:`977` y :rfc:`2980`." #: ../Doc/library/nntplib.rst:20 msgid "" "Here are two small examples of how it can be used. To list some statistics " "about a newsgroup and print the subjects of the last 10 articles::" msgstr "" +"Aquí hay dos pequeños ejemplos de cómo se puede utilizar. Para enumerar " +"algunas estadísticas sobre un grupo de noticias e imprimir los temas de los " +"últimos 10 artículos::" #: ../Doc/library/nntplib.rst:44 msgid "" "To post an article from a binary file (this assumes that the article has " "valid headers, and that you have right to post on the particular newsgroup)::" msgstr "" +"Para publicar un artículo desde un archivo binario (esto supone que el " +"artículo tiene encabezados válidos y que tienes permitido publicar en el " +"grupo de noticias en particular)::" #: ../Doc/library/nntplib.rst:54 msgid "The module itself defines the following classes:" -msgstr "" +msgstr "El módulo en sí define las siguientes clases:" #: ../Doc/library/nntplib.rst:59 msgid "" @@ -69,17 +82,36 @@ msgid "" "`with` statement to unconditionally consume :exc:`OSError` exceptions and to " "close the NNTP connection when done, e.g.:" msgstr "" +"Retorna un nuevo objeto :class:`NNTP` que representa una conexión con el " +"servidor NNTP ejecutándose en el host *host*, escuchando en el puerto " +"*port*. Se puede especificar un *timeout* opcional para la conexión de " +"socket. Si se proporcionan las credenciales opcionales *user* y *password*, " +"o si hay credenciales adecuadas en :file:`/.netrc` y el indicador opcional " +"*usenetrc* es verdadero, los comandos ``AUTHINFO USER`` y ``AUTHINFO PASS`` " +"se utilizan para identificar y autenticar al usuario en el servidor. Si el " +"indicador opcional *readermode* es verdadero, se envía un comando ``mode " +"reader`` antes de que se realice la autenticación. El modo de lector a veces " +"es necesario si se conecta a un servidor NNTP en el equipo local y tiene la " +"intención de llamar a comandos específicos del lector, como ``group``. Si " +"obtienes un valor inesperado :exc:`NNTPPermanentError`, es posible que debas " +"establecer *readermode*. La clase :class:`NNTP` admite la instrucción :" +"keyword:`with` para consumir incondicionalmente las excepciones :exc:" +"`OSError` y para cerrar la conexión NNTP cuando haya terminado, e.g.:" #: ../Doc/library/nntplib.rst:83 ../Doc/library/nntplib.rst:111 msgid "" "Raises an :ref:`auditing event ` ``nntplib.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" +"Genera un :ref:`evento de auditoría ` ``nntplib.connect`` con los " +"argumentos ``self``, ``host``, ``port``." msgid "" "Raises an :ref:`auditing event ` ``nntplib.putline`` with " "arguments ``self``, ``line``." msgstr "" +"Genera un :ref:`evento de auditoría ` ``nntplib.putline`` con los " +"argumentos ``self``, ``line``." #: ../Doc/library/nntplib.rst:86 ../Doc/library/nntplib.rst:114 msgid "" @@ -87,14 +119,17 @@ msgid "" "putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " "about to be sent to the remote host." msgstr "" +"Todos los comandos generarán un :ref:`evento de auditoría ` " +"``nntplib.putline`` con los argumentos ``self`` y ``line``, donde ``line`` " +"es los bytes a punto de ser enviados al host remoto." #: ../Doc/library/nntplib.rst:90 msgid "*usenetrc* is now ``False`` by default." -msgstr "" +msgstr "*usenetrc* es ahora ``False`` por defecto." #: ../Doc/library/nntplib.rst:93 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "El soporte para la declaración :keyword:`with` fue añadido." #: ../Doc/library/nntplib.rst:98 msgid "" @@ -106,18 +141,32 @@ msgid "" "for best practices. All other parameters behave the same as for :class:" "`NNTP`." msgstr "" +"Retorna un nuevo objeto :class:`NNTP_SSL`, que representa una conexión " +"cifrada con el servidor NNTP ejecutándose en el host *host*, escuchando en " +"el puerto *port*. Los objetos :class:`NNTP_SSL` tienen los mismos métodos " +"que los objetos :class:`NNTP`. Si se omite el *port* se utiliza el puerto " +"563 (NNTPS). *ssl_context* también es opcional, y también el objeto :class:" +"`~ssl.SSLContext`. Por favor, lea :ref:`ssl-security` para conocer las " +"buenas prácticas. Todos los demás parámetros se comportan igual que para :" +"class:`NNTP`." #: ../Doc/library/nntplib.rst:106 msgid "" "Note that SSL-on-563 is discouraged per :rfc:`4642`, in favor of STARTTLS as " "described below. However, some servers only support the former." msgstr "" +"Tenga en cuenta que SSL-on-563 no es recomendado por :rfc:`4642`, en favor " +"de STARTTLS como se describe abajo. Sin embargo, algunos servidores solo " +"admiten el primero." #: ../Doc/library/nntplib.rst:120 msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." msgstr "" +"La clase ahora admite la verificación del nombre de host con :attr:`ssl." +"SSLContext.check_hostname` e *Indicador del nombre del servidor* (SNI por " +"sus siglas en inglés, consulte :data:`ssl.HAS_SNI`)." #: ../Doc/library/nntplib.rst:127 msgid "" @@ -125,48 +174,62 @@ msgid "" "for all exceptions raised by the :mod:`nntplib` module. Instances of this " "class have the following attribute:" msgstr "" +"Derivado de la excepción estándar :exc:`Exception`, esta es la clase base " +"para todas las excepciones generadas por el módulo :mod:`nntplib`. Las " +"instancias de esta clase tienen el siguiente atributo:" #: ../Doc/library/nntplib.rst:133 msgid "The response of the server if available, as a :class:`str` object." msgstr "" +"La respuesta del servidor, si está disponible, como un objeto :class:`str`." #: ../Doc/library/nntplib.rst:138 msgid "Exception raised when an unexpected reply is received from the server." msgstr "" +"Excepción generada cuando se recibe una respuesta inesperada del servidor." #: ../Doc/library/nntplib.rst:143 msgid "" "Exception raised when a response code in the range 400--499 is received." msgstr "" +"Excepción generada cuando se recibe un código de respuesta dentro del rango " +"del 400--499." #: ../Doc/library/nntplib.rst:148 msgid "" "Exception raised when a response code in the range 500--599 is received." msgstr "" +"Excepción generada cuando se recibe un código de respuesta dentro del rango " +"del 500--599." #: ../Doc/library/nntplib.rst:153 msgid "" "Exception raised when a reply is received from the server that does not " "begin with a digit in the range 1--5." msgstr "" +"Excepción generada cuando se recibe una respuesta del servidor que no " +"comienza con un dígito dentro del rango 1--5." #: ../Doc/library/nntplib.rst:159 msgid "Exception raised when there is some error in the response data." msgstr "" +"Excepción generada cuando hay algún error en los datos de la respuesta." #: ../Doc/library/nntplib.rst:165 msgid "NNTP Objects" -msgstr "" +msgstr "Objetos NNTP" #: ../Doc/library/nntplib.rst:167 msgid "" "When connected, :class:`NNTP` and :class:`NNTP_SSL` objects support the " "following methods and attributes." msgstr "" +"Cuando están conectados, los objetos :class:`NNTP` y :class:`NNTP_SSL` " +"admiten los siguientes métodos y atributos." #: ../Doc/library/nntplib.rst:171 msgid "Attributes" -msgstr "" +msgstr "Atributos" #: ../Doc/library/nntplib.rst:175 msgid "" @@ -174,16 +237,21 @@ msgid "" "server. In practice, this should be ``2`` for servers advertising :rfc:" "`3977` compliance and ``1`` for others." msgstr "" +"Un entero que representa la versión del protocolo NNTP compatible con el " +"servidor. En la práctica, esto debería ser ``2`` para los servidores que " +"anuncian el cumplimiento :rfc:`3977` y ``1`` para otros." #: ../Doc/library/nntplib.rst:183 msgid "" "A string describing the software name and version of the NNTP server, or :" "const:`None` if not advertised by the server." msgstr "" +"Cadena que describe el nombre de software y la versión del servidor NNTP, o :" +"const:`None` si el servidor no lo anuncia." #: ../Doc/library/nntplib.rst:189 msgid "Methods" -msgstr "" +msgstr "Métodos" #: ../Doc/library/nntplib.rst:191 msgid "" @@ -192,6 +260,10 @@ msgid "" "digit code. If the server's response indicates an error, the method raises " "one of the above exceptions." msgstr "" +"La *response* que es retornada como el primer elemento de la tupla de " +"retorno de casi todos los métodos es la respuesta del servidor: una cadena " +"que comienza con un código de tres dígitos. Si la respuesta del servidor " +"indica un error, el método genera una de las excepciones anteriores." #: ../Doc/library/nntplib.rst:196 msgid "" @@ -202,18 +274,29 @@ msgid "" "(except for the response line and the terminating dot) to the file; any list " "of lines, tuples or objects that the method normally returns will be empty." msgstr "" +"Muchos de los métodos siguientes toman un argumento opcional de solamente " +"palabra clave *file*. Cuando se proporciona el argumento *file*, debe ser " +"un :term:`file object` abierto para la escritura binaria o el nombre de un " +"archivo en disco a ser escrito. El método escribirá los datos retornados por " +"el servidor (excepto la línea de respuesta y el punto de terminación) en el " +"archivo; cualquier lista de líneas, tuplas u objetos que el método retorna " +"normalmente estará vacía." #: ../Doc/library/nntplib.rst:203 msgid "" "Many of the following methods have been reworked and fixed, which makes them " "incompatible with their 3.1 counterparts." msgstr "" +"Muchos de los siguientes métodos se han rediseñado y corregido, lo que los " +"hace incompatibles con sus contrapartes 3.1." #: ../Doc/library/nntplib.rst:210 msgid "" "Send a ``QUIT`` command and close the connection. Once this method has been " "called, no other methods of the NNTP object should be called." msgstr "" +"Envía un comando ``QUIT`` y cierra la conexión. Una vez que se ha invocado " +"este método, no se debe invocar ningún otro método del objeto NNTP." #: ../Doc/library/nntplib.rst:216 msgid "" @@ -221,6 +304,9 @@ msgid "" "connection. (This message sometimes contains disclaimers or help " "information that may be relevant to the user.)" msgstr "" +"Retorna el mensaje de bienvenida enviado por el servidor en respuesta a la " +"conexión inicial. (Este mensaje a veces contiene aclaraciones o información " +"de ayuda que puede ser relevante para el usuario.)" #: ../Doc/library/nntplib.rst:223 msgid "" @@ -229,6 +315,10 @@ msgid "" "values. On legacy servers which don't understand the ``CAPABILITIES`` " "command, an empty dictionary is returned instead." msgstr "" +"Retorna las capacidades :rfc:`3977` anunciadas por el servidor, como una " +"instancia :class:`dict` mapeando nombres de capacidades a listas de valores " +"(posiblemente vacías). En los servidores heredados que no entienden el " +"comando ``CAPABILITIES``, se retorna un diccionario vacío en su lugar." #: ../Doc/library/nntplib.rst:237 msgid "" @@ -236,6 +326,9 @@ msgid "" "*password* are ``None`` and *usenetrc* is true, credentials from ``~/." "netrc`` will be used if possible." msgstr "" +"Envía comandos ``AUTHINFO`` con el nombre de usuario y la contraseña. Si " +"*user* y *password* son ``None`` y *usenetrc* es verdadero, se utilizarán " +"las credenciales de ``~/.netrc`` si su uso es posible." #: ../Doc/library/nntplib.rst:241 msgid "" @@ -244,6 +337,11 @@ msgid "" "unnecessary. To force authentication to be delayed, you must not set *user* " "or *password* when creating the object, and must set *usenetrc* to False." msgstr "" +"A menos que se retrase intencionalmente, el inicio de sesión se realiza " +"normalmente durante la inicialización del objeto :class:`NNTP` y no es " +"necesario invocar esta función por separado. Para forzar el retraso de la " +"autenticación, no debes establecer *user* o *password* al crear el objeto y " +"debes establecer *usenetrc* en *False*." #: ../Doc/library/nntplib.rst:252 msgid "" @@ -251,6 +349,10 @@ msgid "" "connection. The *context* argument is optional and should be a :class:`ssl." "SSLContext` object. Please read :ref:`ssl-security` for best practices." msgstr "" +"Envía un comando ``STARTTLS``. Esto habilitará el cifrado en la conexión " +"NNTP. El argumento *context* es opcional y debe ser el objeto :class:`ssl. " +"SSLContext`. Por favor lea :ref:`ssl-security` para conocer las buenas " +"prácticas." #: ../Doc/library/nntplib.rst:257 msgid "" @@ -259,12 +361,20 @@ msgid "" "class:`NNTP` object initialization. See :meth:`NNTP.login` for information " "on suppressing this behavior." msgstr "" +"Tenga en cuenta que esto no se puede hacer después de que se haya " +"transmitido la información de autenticación y la autenticación se produce de " +"forma predeterminada, si es posible, durante la inicialización de un objeto :" +"class:`NNTP`. Consulte :meth:`NNTP.login` para obtener información sobre " +"cómo suprimir este comportamiento." #: ../Doc/library/nntplib.rst:264 msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." msgstr "" +"El método ahora admite la comprobación del nombre de host con :attr:`ssl. " +"SSLContext.check_hostname` y *Indicador del nombre del servidor* (SNI por " +"sus siglas en inglés, consulte :data:`ssl.HAS_SNI`)." #: ../Doc/library/nntplib.rst:271 msgid "" @@ -274,6 +384,11 @@ msgid "" "are new since the given *date*. If *file* is supplied, though, then *groups* " "will be empty." msgstr "" +"Envía un comando ``NEWGROUPS``. El argumento *date* debe ser un objeto :" +"class:`datetime.date` o :class:`datetime.datetime`. Retorna un par " +"``(response, groups)`` donde *groups* es una lista que representa los grupos " +"que son nuevos desde la fecha determinada. Sin embargo, si se proporciona " +"*file*, entonces *groups* estará vacío." #: ../Doc/library/nntplib.rst:287 msgid "" @@ -281,10 +396,16 @@ msgid "" "*date* has the same meaning as for :meth:`newgroups`. Return a pair " "``(response, articles)`` where *articles* is a list of message ids." msgstr "" +"Envía un comando ``NEWNEWS``. Aquí, *group* es un nombre de grupo o ``'*'``, " +"y *date* tiene el mismo significado que para :meth:`newgroups`. Retorna un " +"par ``(response, articles)`` donde *articles* es una lista de " +"identificadores de mensaje." #: ../Doc/library/nntplib.rst:291 msgid "This command is frequently disabled by NNTP server administrators." msgstr "" +"Este comando es inhabilitado frecuentemente por los administradores del " +"servidor NNTP." #: ../Doc/library/nntplib.rst:296 msgid "" @@ -295,36 +416,49 @@ msgid "" "where *group* is a group name, *last* and *first* are the last and first " "article numbers, and *flag* usually takes one of these values:" msgstr "" +"Envía un comando ``LIST`` o ``LIST ACTIVE``. Retorna un par ``(response, " +"list)`` donde *list* es una lista de tuplas que representan todos los grupos " +"disponibles desde este servidor NNTP, opcionalmente coincidiendo con el " +"patrón de cadena *group_pattern*. Cada tupla tiene el formato ``(group, " +"last, first, flag)``, donde *group* es un nombre de grupo, *last* y *first* " +"son los últimos y primeros números de artículo, y *flag* suele tomar uno de " +"estos valores:" #: ../Doc/library/nntplib.rst:304 msgid "``y``: Local postings and articles from peers are allowed." -msgstr "" +msgstr "``y``: Se permiten publicaciones locales y artículos de pares." #: ../Doc/library/nntplib.rst:305 msgid "``m``: The group is moderated and all postings must be approved." msgstr "" +"``m``: El grupo está moderado y todas las publicaciones deben ser aprobadas." #: ../Doc/library/nntplib.rst:306 msgid "``n``: No local postings are allowed, only articles from peers." -msgstr "" +msgstr "``n``: No se permiten publicaciones locales, solo artículos de pares." #: ../Doc/library/nntplib.rst:307 msgid "``j``: Articles from peers are filed in the junk group instead." msgstr "" +"``j``: Los artículos de pares se archivan en el grupo de basura en su lugar." #: ../Doc/library/nntplib.rst:308 msgid "``x``: No local postings, and articles from peers are ignored." msgstr "" +"``x``: No hay publicaciones locales y los artículos de pares son ignorados." #: ../Doc/library/nntplib.rst:309 msgid "``=foo.bar``: Articles are filed in the ``foo.bar`` group instead." msgstr "" +"``=foo.bar``: Los artículos se archivan en el grupo ``foo.bar`` en su lugar." #: ../Doc/library/nntplib.rst:311 msgid "" "If *flag* has another value, then the status of the newsgroup should be " "considered unknown." msgstr "" +"Si *flag* tiene otro valor, el estado del grupo de noticias debe " +"considerarse como desconocido." #: ../Doc/library/nntplib.rst:314 msgid "" @@ -332,10 +466,13 @@ msgid "" "not specified. It is best to cache the results offline unless you really " "need to refresh them." msgstr "" +"Este comando puede devolver resultados muy grandes, especialmente si no se " +"especifica *group_pattern*. Es mejor almacenar en caché los resultados sin " +"conexión a menos que realmente necesite actualizarlos." #: ../Doc/library/nntplib.rst:318 msgid "*group_pattern* was added." -msgstr "" +msgstr "*group_pattern* fue añadido." #: ../Doc/library/nntplib.rst:324 msgid "" @@ -344,6 +481,11 @@ msgid "" "wildcard strings). Return a pair ``(response, descriptions)``, where " "*descriptions* is a dictionary mapping group names to textual descriptions." msgstr "" +"Envía un comando ``LIST NEWSGROUPS``, donde *grouppattern* es una cadena " +"comodín como se especifica en :rfc:`3977` (es esencialmente lo mismo que las " +"cadenas comodín de shell DOS o UNIX). Retorna un par ``(response, " +"descriptions)``, donde *descriptions* es un diccionario que asigna nombres " +"de grupos a descripciones textuales." #: ../Doc/library/nntplib.rst:338 msgid "" @@ -351,12 +493,17 @@ msgid "" "matches (if 'group' is a real wildmat string), return the first match. If " "no group matches, return an empty string." msgstr "" +"Obtiene una descripción para un único grupo *group*. Si más de un grupo " +"coincide (si *'group'* es una cadena comodín real), retorna la primera " +"coincidencia. Si ningún grupo coincide, retorna una cadena vacía." #: ../Doc/library/nntplib.rst:342 msgid "" "This elides the response code from the server. If the response code is " "needed, use :meth:`descriptions`." msgstr "" +"Esto elude el código de respuesta del servidor. Si necesita el código de " +"respuesta, use :meth:`descriptions`." #: ../Doc/library/nntplib.rst:348 msgid "" @@ -366,6 +513,12 @@ msgid "" "articles in the group, *first* is the first article number in the group, " "*last* is the last article number in the group, and *name* is the group name." msgstr "" +"Envía un comando ``GROUP``, donde *name* es el nombre del grupo. El grupo se " +"selecciona como el grupo actual, si este existe. Retorna una tupla " +"``(response, count, first, last, name)`` donde *count* es el número " +"(estimado) de artículos en el grupo, *first* es el primer número de artículo " +"del grupo, *last* es el último número de artículo en el grupo y *name* es el " +"nombre del grupo." #: ../Doc/library/nntplib.rst:358 msgid "" @@ -376,6 +529,13 @@ msgid "" "starting from *first* to the last article in the current group, or :const:" "`None` to select the current article in the current group." msgstr "" +"Envía un comando ``OVER`` o un comando ``XOVER`` en servidores heredados. " +"*message_spec* puede ser una cadena que represente un identificador de " +"mensaje o una tupla de números ``(first, None)`` que indique un rango de " +"artículos en el grupo actual, o una tupla ``(first, None)`` que indique un " +"rango de artículos comenzando desde *first* hasta el último artículo del " +"grupo actual, o :const:`None` para seleccionar el artículo actual en el " +"grupo actual." #: ../Doc/library/nntplib.rst:365 msgid "" @@ -387,39 +547,57 @@ msgid "" "items (the key is then the metadata name prepended with ``\":\"``). The " "following items are guaranteed to be present by the NNTP specification:" msgstr "" +"Retorna un par ``(response, overviews)``. *overviews* es una lista de tuplas " +"del tipo ``(article_number, overview)``, una para cada artículo seleccionado " +"por *message_spec*. Cada *overview* es un diccionario con el mismo número de " +"elementos, pero este número depende del servidor. Estos elementos son " +"encabezados de mensajes (la clave es entonces el nombre del encabezado en " +"minúsculas) o elementos de metadatos (la clave es entonces el nombre de los " +"metadatos precedido de ``\":\"``). Se garantiza la presencia de los " +"siguientes elementos por la especificación NNTP:" #: ../Doc/library/nntplib.rst:373 msgid "" "the ``subject``, ``from``, ``date``, ``message-id`` and ``references`` " "headers" msgstr "" +"los encabezados ``subject``, ``from``, ``date``, ``message-id`` y " +"``references``" #: ../Doc/library/nntplib.rst:375 msgid "" "the ``:bytes`` metadata: the number of bytes in the entire raw article " "(including headers and body)" msgstr "" +"los metadatos ``:bytes``: el número de bytes en todo el artículo sin " +"procesar (incluidos los encabezados y el cuerpo)" #: ../Doc/library/nntplib.rst:377 msgid "the ``:lines`` metadata: the number of lines in the article body" msgstr "" +"los metadatos ``:lines``: el número de líneas en el cuerpo del artículo" #: ../Doc/library/nntplib.rst:379 msgid "" "The value of each item is either a string, or :const:`None` if not present." msgstr "" +"El valor de cada elemento es una cadena o :const:`None` si no está presente." #: ../Doc/library/nntplib.rst:381 msgid "" "It is advisable to use the :func:`decode_header` function on header values " "when they may contain non-ASCII characters::" msgstr "" +"Es aconsejable utilizar la función :func:`decode_header` en los valores del " +"encabezado cuando pueden contener caracteres no-ASCII::" #: ../Doc/library/nntplib.rst:401 msgid "" "Send a ``HELP`` command. Return a pair ``(response, list)`` where *list* is " "a list of help strings." msgstr "" +"Envía un comando ``HELP``. Retorna un par ``(response, list)`` donde *list* " +"es una lista de cadenas de caracteres de ayuda." #: ../Doc/library/nntplib.rst:407 msgid "" @@ -429,14 +607,20 @@ msgid "" "current group is considered. Return a triple ``(response, number, id)`` " "where *number* is the article number and *id* is the message id." msgstr "" +"Envía un comando ``STAT``, donde *message_spec* es un identificador de " +"mensaje (incluido en ``'<'`` y ``'>'``) o un número de artículo en el grupo " +"actual. Si se omite *message_spec* o es :const:`None` se considera el " +"artículo actual del grupo actual. Retorna un triple ``(response, number, " +"id)`` donde *number* es el número de artículo e *id* es el identificador del " +"mensaje." #: ../Doc/library/nntplib.rst:421 msgid "Send a ``NEXT`` command. Return as for :meth:`.stat`." -msgstr "" +msgstr "Envía un comando ``NEXT``. Retorna como para :meth:`.stat`." #: ../Doc/library/nntplib.rst:426 msgid "Send a ``LAST`` command. Return as for :meth:`.stat`." -msgstr "" +msgstr "Envía un comando ``LAST``. Retorna como para :meth:`.stat`." #: ../Doc/library/nntplib.rst:431 msgid "" @@ -448,6 +632,14 @@ msgid "" "string, and *lines* a list of lines (without terminating newlines) " "comprising the raw message including headers and body." msgstr "" +"Envía un comando ``ARTICLE``, donde *message_spec* tiene el mismo " +"significado que para :meth:`.stat`. Retorna una tupla ``(response, info)`` " +"donde *info* es un :class:`~collections.namedtuple` con tres atributos " +"*number*, *message_id* y *lines* (en ese orden). *number* es el número de " +"artículo del grupo (o 0 si la información no está disponible), *message_id* " +"el identificador del mensaje como una cadena y *lines* una lista de líneas " +"(sin terminar líneas nuevas) que comprende el mensaje sin procesar, " +"incluidos los encabezados y el cuerpo." #: ../Doc/library/nntplib.rst:456 msgid "" @@ -455,6 +647,9 @@ msgid "" "returned (or written to *file*) will only contain the message headers, not " "the body." msgstr "" +"Igual que :meth:`article()`, pero envía un comando ``HEAD``. Las *lines* " +"retornadas (o escritas a *file*) solo contendrán los encabezados del " +"mensaje, no el cuerpo." #: ../Doc/library/nntplib.rst:463 msgid "" @@ -462,6 +657,9 @@ msgid "" "returned (or written to *file*) will only contain the message body, not the " "headers." msgstr "" +"Igual que :meth:`article()`, pero envía un comando ``BODY``. Las *lines* " +"retornadas (o escritas a *file*) solo contendrán los encabezados del " +"mensaje, no el cuerpo." #: ../Doc/library/nntplib.rst:470 msgid "" @@ -472,12 +670,21 @@ msgid "" "meth:`post` method automatically escapes lines beginning with ``.`` and " "appends the termination line." msgstr "" +"Publica un artículo utilizando el comando ``POST``. El argumento *data* es " +"un :term:`file object` abierto para la lectura binaria o cualquier iterable " +"de objetos bytes (que representa las líneas sin procesar del artículo que se " +"va a publicar). Debe representar un artículo de noticias bien formado, " +"incluidos los encabezados requeridos. El método :meth:`post` escapa " +"automáticamente las líneas que comienzan con ``.`` y añade la línea de " +"terminación." #: ../Doc/library/nntplib.rst:477 msgid "" "If the method succeeds, the server's response is returned. If the server " "refuses posting, a :class:`NNTPReplyError` is raised." msgstr "" +"Si el método tiene éxito, se retorna la respuesta del servidor. Si el " +"servidor se niega a publicarlo, se genera un :class:`NNTPReplyError`." #: ../Doc/library/nntplib.rst:483 msgid "" @@ -485,16 +692,21 @@ msgid "" "the server (enclosed in ``'<'`` and ``'>'``). The *data* parameter and the " "return value are the same as for :meth:`post()`." msgstr "" +"Envía un comando ``IHAVE``. *message_id* es el identificador del mensaje que " +"se enviará al servidor (incluido entre ``'<'`` y ``'>'``). El parámetro " +"*data* y el valor de retorno son los mismos que para :meth:`post()`." #: ../Doc/library/nntplib.rst:490 msgid "" "Return a pair ``(response, date)``. *date* is a :class:`~datetime.datetime` " "object containing the current date and time of the server." msgstr "" +"Devuelve un par ``(response, date)``. *date* es un objeto :class:`~datetime." +"datetime` que contiene la fecha y hora actuales del servidor." #: ../Doc/library/nntplib.rst:496 msgid "Send a ``SLAVE`` command. Return the server's *response*." -msgstr "" +msgstr "Envía un comando ``SLAVE``. Retorna la *response* del servidor." #: ../Doc/library/nntplib.rst:501 msgid "" @@ -505,12 +717,22 @@ msgid "" "maximum amount of debugging output, logging each line sent and received on " "the connection (including message text)." msgstr "" +"Establece el nivel de depuración de la instancia. Esto controla la cantidad " +"de salida de depuración impresa. El valor por defecto, ``0``, no produce " +"salida de depuración. Un valor de ``1`` produce una cantidad moderada de " +"salida de depuración, generalmente una sola línea por solicitud o por " +"respuesta. Un valor de ``2`` o superior produce la cantidad máxima de salida " +"de depuración, registrando cada línea enviada y recibida en la conexión " +"(incluyendo el texto del mensaje)." #: ../Doc/library/nntplib.rst:509 msgid "" "The following are optional NNTP extensions defined in :rfc:`2980`. Some of " "them have been superseded by newer commands in :rfc:`3977`." msgstr "" +"Las siguientes son extensiones NNTP opcionales definidas en :rfc:`2980`. " +"Algunas de ellas han sido reemplazados por comandos más nuevos en :rfc:" +"`3977`." #: ../Doc/library/nntplib.rst:515 msgid "" @@ -526,6 +748,18 @@ msgid "" "calling :meth:`write` on it to store the lines of the command output. If " "*file* is supplied, then the returned *list* is an empty list." msgstr "" +"Envía un comando ``XHDR``. El argumento *hdr* es una palabra clave de " +"encabezado, por ejemplo ``'subject'``. El argumento *str* debe tener la " +"forma ``'first-last'`` donde *first* y *last* son el primer y último número " +"de artículo para buscar. Retorna un par ``(response, list)``, donde *list* " +"es una lista de pares ``(id, text)``, donde *id* es un número de artículo " +"(como una cadena) y *text* es el texto del encabezado solicitado para ese " +"artículo. Si se proporciona el parámetro *file*, entonces la salida del " +"comando ``XHDR`` se almacena en un archivo. Si *file* es una cadena, " +"entonces el método abrirá un archivo con ese nombre, que escribirá en él y " +"luego lo cerrará. Si *file* es un :term:`file object`, entonces comenzará " +"invocando :meth:`write` en él para almacenar las líneas de la salida del " +"comando. Si se proporciona *file*, entonces retorna *list* o una lista vacía." #: ../Doc/library/nntplib.rst:530 msgid "" @@ -534,6 +768,11 @@ msgid "" "`over()`. It is recommended to use :meth:`over()` instead, since it will " "automatically use the newer ``OVER`` command if available." msgstr "" +"Envía un comando ``XOVER``. *start* and *end* son números de artículo que " +"delimitan el rango de artículos a seleccionar. El valor de retorno es el " +"mismo que para :meth:`over()`. Se recomienda usar :meth:`over()` en su " +"lugar, ya que se usará automáticamente el comando más nuevo ``OVER`` si está " +"disponible." #: ../Doc/library/nntplib.rst:539 msgid "" @@ -541,18 +780,21 @@ msgid "" "article with message ID *id*. Most of the time, this extension is not " "enabled by NNTP server administrators." msgstr "" +"Retorna un par ``(resp, path)``, donde *path* es la ruta del directorio al " +"artículo con un ID de mensaje *id*. La mayoría de las veces, los " +"administradores del servidor NNTP no habilitan esta extensión." #: ../Doc/library/nntplib.rst:543 msgid "The XPATH extension is not actively used." -msgstr "" +msgstr "La extensión XPATH no se utiliza activamente." #: ../Doc/library/nntplib.rst:565 msgid "Utility functions" -msgstr "" +msgstr "Funciones de utilidad" #: ../Doc/library/nntplib.rst:567 msgid "The module also defines the following utility function:" -msgstr "" +msgstr "El módulo también define la siguiente función de utilidad:" #: ../Doc/library/nntplib.rst:572 msgid "" @@ -561,3 +803,7 @@ msgid "" "returned. Using this function is recommended to display some headers in a " "human readable form::" msgstr "" +"Decodifica un valor de encabezado, eliminando los caracteres de escape que " +"no sean ASCII. *header_str* debe ser un objeto :class:`str`. Se retorna el " +"valor sin escape. Se recomienda utilizar esta función para mostrar algunos " +"encabezados en una forma legible por humanos::" From 8ab2172aae2b837ad3cc807c868b34aef619496e Mon Sep 17 00:00:00 2001 From: Leonardo Date: Sun, 20 Dec 2020 11:35:53 -0500 Subject: [PATCH 087/153] Traducido library/http.server.po (#936) --- dictionaries/library_http_server.txt | 6 + library/http.server.po | 278 +++++++++++++++++++++++++-- 2 files changed, 263 insertions(+), 21 deletions(-) create mode 100644 dictionaries/library_http_server.txt diff --git a/dictionaries/library_http_server.txt b/dictionaries/library_http_server.txt new file mode 100644 index 0000000000..8f08c6d9b7 --- /dev/null +++ b/dictionaries/library_http_server.txt @@ -0,0 +1,6 @@ +Expectation +ip +localhost +only +interoperación +handler diff --git a/library/http.server.po b/library/http.server.po index 260fbf1393..6731c0d1ee 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -6,38 +6,43 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-08-18 02:10-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/http.server.rst:2 msgid ":mod:`http.server` --- HTTP servers" -msgstr "" +msgstr ":mod:`http.server` --- Servidores HTTP" #: ../Doc/library/http.server.rst:7 msgid "**Source code:** :source:`Lib/http/server.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/http/server.py`" #: ../Doc/library/http.server.rst:17 msgid "" "This module defines classes for implementing HTTP servers (Web servers)." msgstr "" +"Este módulo define clases para implementar servidores HTTP (servidores Web)." #: ../Doc/library/http.server.rst:22 msgid "" ":mod:`http.server` is not recommended for production. It only implements " "basic security checks." msgstr "" +":mod:`http.server` no se recomienda para producción. Sólo implementa " +"controles de seguridad básicos." #: ../Doc/library/http.server.rst:25 msgid "" @@ -45,6 +50,9 @@ msgid "" "subclass. It creates and listens at the HTTP socket, dispatching the " "requests to a handler. Code to create and run the server looks like this::" msgstr "" +"Una clase, :class:`HTTPServer`, es una subclase :class:`socketserver." +"TCPServer`. Crea y escucha en el socket HTTP, enviando las peticiones a un " +"handler. El código para crear y ejecutar el servidor se ve así::" #: ../Doc/library/http.server.rst:37 msgid "" @@ -53,6 +61,11 @@ msgid "" "`server_port`. The server is accessible by the handler, typically through " "the handler's :attr:`server` instance variable." msgstr "" +"Esta clase se basa en la clase :class:`~socketserver.TCPServer` almacenando " +"la dirección del servidor como variables de instancia llamadas :attr:" +"`nombre_del_servidor` y :attr:`puerto_del_servidor`. El servidor es " +"accesible por el handler, típicamente a través de la variable de instancia :" +"attr:`servidor` del handler." #: ../Doc/library/http.server.rst:44 msgid "" @@ -61,6 +74,10 @@ msgid "" "web browsers pre-opening sockets, on which :class:`HTTPServer` would wait " "indefinitely." msgstr "" +"Esta clase es idéntica a HTTPServer, pero utiliza subprocesos para controlar " +"las solicitudes mediante el uso de :class:`~socketserver.ThreadingMixIn`. " +"Esto es útil para controlar los sockets de pre-apertura de los navegadores " +"web, en los que :class:`HTTPServer` esperaría indefinidamente." #: ../Doc/library/http.server.rst:52 msgid "" @@ -68,6 +85,9 @@ msgid "" "*RequestHandlerClass* on instantiation, of which this module provides three " "different variants:" msgstr "" +"El :class:`HTTPServer` y :class:`ThreadingHTTPServer` deben recibir un " +"*RequestHandlerClass* en la creación de instancias, de los cuales este " +"módulo proporciona tres variantes diferentes:" #: ../Doc/library/http.server.rst:58 msgid "" @@ -77,6 +97,11 @@ msgid "" "`BaseHTTPRequestHandler` provides a number of class and instance variables, " "and methods for use by subclasses." msgstr "" +"Esta clase se utiliza para controlar las solicitudes HTTP que llegan al " +"servidor. Por sí mismo, no puede responder a ninguna solicitud HTTP real; " +"debe ser subclase para manejar cada método de solicitud (por ejemplo, GET o " +"POST). :class:`BaseHTTPRequestHandler` proporciona una serie de variables de " +"clase e instancia, y métodos para su uso por subclases." #: ../Doc/library/http.server.rst:64 msgid "" @@ -87,20 +112,30 @@ msgid "" "stored in instance variables of the handler. Subclasses should not need to " "override or extend the :meth:`__init__` method." msgstr "" +"El controlador analizará la solicitud y los encabezados y, a continuación, " +"llamará a un método específico del tipo de solicitud. El nombre del método " +"se construye a partir de la solicitud. Por ejemplo, para el método de " +"solicitud ``SPAM``, se llamará al método :meth:`do_SPAM` sin argumentos. " +"Toda la información relevante se almacena en variables de instancia del " +"controlador. Las subclases no deben tener que reemplazar o extender el " +"método :meth:`__init__`." #: ../Doc/library/http.server.rst:71 msgid ":class:`BaseHTTPRequestHandler` has the following instance variables:" msgstr "" +":class:`BaseHTTPRequestHandler` tiene las siguientes variables de instancia:" #: ../Doc/library/http.server.rst:75 msgid "" "Contains a tuple of the form ``(host, port)`` referring to the client's " "address." msgstr "" +"Contiene una tupla con el formato ``(host, port)`` que hace referencia a la " +"dirección del cliente." #: ../Doc/library/http.server.rst:80 msgid "Contains the server instance." -msgstr "" +msgstr "Contiene la instancia del servidor." #: ../Doc/library/http.server.rst:84 msgid "" @@ -108,6 +143,8 @@ msgid "" "indicating if another request may be expected, or if the connection should " "be shut down." msgstr "" +"Booleano que se debe establecer antes de :meth:`handle_one_request` retorna, " +"que indica si se puede esperar otra solicitud o si la conexión debe cerrarse." #: ../Doc/library/http.server.rst:90 msgid "" @@ -116,19 +153,25 @@ msgid "" "`handle_one_request`. If no valid request line was processed, it should be " "set to the empty string." msgstr "" +"Contiene la representación de cadena de la línea de solicitud HTTP. Se " +"elimina el CRLF de terminación. Este atributo debe establecerse mediante :" +"meth:`handle_one_request`. Si no se ha procesado ninguna línea de solicitud " +"válida, debe establecerse en la cadena vacía." #: ../Doc/library/http.server.rst:97 msgid "Contains the command (request type). For example, ``'GET'``." -msgstr "" +msgstr "Contiene el comando (tipo de petición). Por ejemplo, ``'GET'``." #: ../Doc/library/http.server.rst:101 msgid "Contains the request path." -msgstr "" +msgstr "Contiene la ruta de la petición." #: ../Doc/library/http.server.rst:105 msgid "" "Contains the version string from the request. For example, ``'HTTP/1.0'``." msgstr "" +"Contiene la versión de la cadena de caracteres para la petición. Por " +"ejemplo, ``HTTP/1.0'``." #: ../Doc/library/http.server.rst:109 msgid "" @@ -138,12 +181,19 @@ msgid "" "used to parse the headers and it requires that the HTTP request provide a " "valid :rfc:`2822` style header." msgstr "" +"Contiene una instancia de la clase especificada por la variable de clase :" +"attr:`MessageClass`. Esta instancia analiza y gestiona las cabeceras de la " +"petición HTTP. La función :func:`~http.client.parse_headers` de :mod:`http." +"client` se usa para parsear las cabeceras y requiere que la petición HTTP " +"proporcione una cabecera válida de estilo :rfc:`2822`." #: ../Doc/library/http.server.rst:117 msgid "" "An :class:`io.BufferedIOBase` input stream, ready to read from the start of " "the optional input data." msgstr "" +"Un flujo de entrada :class:`io.BufferedIOBase`, listo para leer desde el " +"inicio de los datos de entrada opcionales." #: ../Doc/library/http.server.rst:122 msgid "" @@ -151,14 +201,17 @@ msgid "" "adherence to the HTTP protocol must be used when writing to this stream in " "order to achieve successful interoperation with HTTP clients." msgstr "" +"Contiene el flujo de salida para escribir una respuesta al cliente. Se debe " +"utilizar la adherencia apropiada al protocolo HTTP cuando se escribe en este " +"flujo para lograr una interoperación exitosa con los clientes HTTP." #: ../Doc/library/http.server.rst:127 msgid "This is an :class:`io.BufferedIOBase` stream." -msgstr "" +msgstr "Este es un flujo de :class:`io.BufferedIOBase`." #: ../Doc/library/http.server.rst:130 msgid ":class:`BaseHTTPRequestHandler` has the following attributes:" -msgstr "" +msgstr ":class:`BaseHTTPRequestHandler` tiene los siguientes atributos:" #: ../Doc/library/http.server.rst:134 msgid "" @@ -166,6 +219,10 @@ msgid "" "format is multiple whitespace-separated strings, where each string is of the " "form name[/version]. For example, ``'BaseHTTP/0.2'``." msgstr "" +"Especifica la versión del software del servidor. Es posible que desee anular " +"esto. El formato es de múltiples cadenas separadas por espacio en blanco, " +"donde cada cadena es de la forma nombre[/versión]. Por ejemplo, " +"``BaseHTTP/0.2'``." #: ../Doc/library/http.server.rst:140 msgid "" @@ -173,6 +230,9 @@ msgid "" "`version_string` method and the :attr:`server_version` class variable. For " "example, ``'Python/1.4'``." msgstr "" +"Contiene la versión del sistema Python, en una forma utilizable por el " +"método :attr:`version_string` y la variable de clase :attr:`server_version`. " +"Por ejemplo, ``Python/1.4'``." #: ../Doc/library/http.server.rst:146 msgid "" @@ -181,12 +241,18 @@ msgid "" "default with variables from :attr:`responses` based on the status code that " "passed to :meth:`send_error`." msgstr "" +"Especifica una cadena de formato que debe ser usada por el método :meth:" +"`send_error` para construir una respuesta de error al cliente. La cadena se " +"rellena por defecto con variables de :attr:`responses` basadas en el código " +"de estado que pasó a :meth:`send_error`." #: ../Doc/library/http.server.rst:153 msgid "" "Specifies the Content-Type HTTP header of error responses sent to the " "client. The default value is ``'text/html'``." msgstr "" +"Especifica el encabezado *HTTP Content-Type* de las respuestas de error " +"enviadas al cliente. El valor predeterminado es ``'text/html'``." #: ../Doc/library/http.server.rst:158 msgid "" @@ -196,6 +262,12 @@ msgid "" "(using :meth:`send_header`) in all of its responses to clients. For " "backwards compatibility, the setting defaults to ``'HTTP/1.0'``." msgstr "" +"Esto especifica la versión del protocolo HTTP utilizada en las respuestas. " +"Si se establece en ``'HTTP/1.1'``, el servidor permitirá conexiones " +"persistentes HTTP; sin embargo, el servidor *debe* incluir un encabezado " +"exacto ``Content-Length`` (usando :meth:`send_header`) en todas sus " +"respuestas a los clientes. Para la compatibilidad con versiones anteriores, " +"el valor predeterminado es ``'HTTP/1.0'``." #: ../Doc/library/http.server.rst:166 msgid "" @@ -203,6 +275,9 @@ msgid "" "headers. Typically, this is not overridden, and it defaults to :class:`http." "client.HTTPMessage`." msgstr "" +"Especifica una :class:`email.message.Message`\\ -como clase para analizar " +"los encabezados HTTP. Típicamente, esto no es anulado, y por defecto es :" +"class:`http.client.HTTPMessage`." #: ../Doc/library/http.server.rst:172 msgid "" @@ -212,10 +287,17 @@ msgid "" "*message* key in an error response, and *longmessage* as the *explain* key. " "It is used by :meth:`send_response_only` and :meth:`send_error` methods." msgstr "" +"Este atributo contiene una asignación de enteros de código de error a tuplas " +"de dos elementos que contienen un mensaje corto y largo. Por ejemplo, " +"``{code (shortmessage, longmessage)}``. El *shortmessage* se utiliza " +"normalmente como la clave *message* en una respuesta de error, y " +"*longmessage* como la clave *explain*. Es utilizado por :meth:" +"`send_response_only` y :meth:`send_error` métodos." #: ../Doc/library/http.server.rst:178 msgid "A :class:`BaseHTTPRequestHandler` instance has the following methods:" msgstr "" +"Una instancia :class:`BaseHTTPRequestHandler` tiene los siguientes métodos:" #: ../Doc/library/http.server.rst:182 msgid "" @@ -223,12 +305,18 @@ msgid "" "enabled, multiple times) to handle incoming HTTP requests. You should never " "need to override it; instead, implement appropriate :meth:`do_\\*` methods." msgstr "" +"Llama :meth:`handle_one_request` una vez (o, si las conexiones persistentes " +"están habilitadas, varias veces) para manejar las peticiones HTTP entrantes. " +"Nunca debería necesitar anularlo; en su lugar, implemente los métodos " +"apropiados de :meth:`do_\\*`." #: ../Doc/library/http.server.rst:189 msgid "" "This method will parse and dispatch the request to the appropriate :meth:`do_" "\\*` method. You should never need to override it." msgstr "" +"Este método analizará y enviará la solicitud al método apropiado :meth:`do_" +"\\*`. Nunca deberías necesitar anularlo." #: ../Doc/library/http.server.rst:194 msgid "" @@ -238,6 +326,12 @@ msgid "" "does not want the client to continue. For e.g. server can chose to send " "``417 Expectation Failed`` as a response header and ``return False``." msgstr "" +"Cuando un servidor compatible con HTTP/1.1 recibe un encabezado de solicitud " +"``Expect: 100-continue`` responde con un encabezado ``100 Continue`` seguido " +"de ``200 OK``. Este método puede ser anulado para generar un error si el " +"servidor no quiere que el cliente continúe. Por ejemplo, el servidor puede " +"elegir enviar ``417 Expectation Failed`` como encabezado de respuesta y " +"``return False``." #: ../Doc/library/http.server.rst:205 msgid "" @@ -253,12 +347,26 @@ msgid "" "response code is one of the following: ``1xx``, ``204 No Content``, ``205 " "Reset Content``, ``304 Not Modified``." msgstr "" +"Envía y registra una respuesta de error completa al cliente. El *code* " +"numérico especifica el código de error HTTP, con *message* como una " +"descripción opcional, corta y legible por el ser humano del error. El " +"argumento *explain* puede ser usado para proporcionar información más " +"detallada sobre el error; será formateado usando el atributo :attr:" +"`error_message_format` y emitido, después de un conjunto completo de " +"encabezados, como el cuerpo de la respuesta. El atributo :attr:`responses` " +"contiene los valores por defecto para *message* y *explain* que se usarán si " +"no se proporciona ningún valor; para los códigos desconocidos el valor por " +"defecto para ambos es la cadena ``???``. El cuerpo estará vacío si el método " +"es HEAD o el código de respuesta es uno de los siguientes: ``1xx``, ``204 No " +"Content``, ``205 Reset Content``, ``304 Not Modified``." #: ../Doc/library/http.server.rst:217 msgid "" "The error response includes a Content-Length header. Added the *explain* " "argument." msgstr "" +"La respuesta de error incluye un encabezado de longitud de contenido. " +"Añadido el argumento *explain*." #: ../Doc/library/http.server.rst:223 msgid "" @@ -270,12 +378,22 @@ msgid "" "the :meth:`send_header` method, then :meth:`send_response` should be " "followed by an :meth:`end_headers` call." msgstr "" +"Agrega un encabezado de respuesta al búfer de encabezados y registra la " +"solicitud aceptada. La línea de respuesta HTTP se escribe en el búfer " +"interno, seguido de los encabezados *Server* y *Date*. Los valores de estos " +"dos encabezados se recogen de los métodos :meth:`version_string` y :meth:" +"`date_time_string`, respectivamente. Si el servidor no tiene la intención de " +"enviar ningún otro encabezado utilizando el método :meth:`send_header`, " +"entonces :meth:`send_response` debe ir seguido de una llamada :meth:" +"`end_headers`." #: ../Doc/library/http.server.rst:232 msgid "" "Headers are stored to an internal buffer and :meth:`end_headers` needs to be " "called explicitly." msgstr "" +"Los encabezados se almacenan en un búfer interno y :meth:`end_headers` debe " +"llamarse explícitamente." #: ../Doc/library/http.server.rst:238 msgid "" @@ -285,10 +403,16 @@ msgid "" "specifying its value. Note that, after the send_header calls are done, :meth:" "`end_headers` MUST BE called in order to complete the operation." msgstr "" +"Agrega el encabezado HTTP a un búfer interno que se escribirá en la " +"secuencia de salida cuando se invoca :meth:`end_headers` o :meth:" +"`flush_headers`. *keyword* debe especificar la palabra clave *header*, con " +"*value* especificando su valor. Tenga en cuenta que, después de que se " +"realizan las llamadas *send_header*, :meth:`end_headers` DEBE llamarse para " +"completar la operación." #: ../Doc/library/http.server.rst:244 msgid "Headers are stored in an internal buffer." -msgstr "" +msgstr "Los encabezados se almacenan en un búfer interno." #: ../Doc/library/http.server.rst:249 msgid "" @@ -297,22 +421,31 @@ msgid "" "sent directly the output stream.If the *message* is not specified, the HTTP " "message corresponding the response *code* is sent." msgstr "" +"Envía el encabezado de respuesta solamente, usado para los propósitos cuando " +"la respuesta ``100 Continue`` es enviada por el servidor al cliente. Los " +"encabezados no se almacenan en el buffer y envían directamente el flujo de " +"salida. Si no se especifica el *message*, se envía el mensaje HTTP " +"correspondiente al *code* de respuesta." #: ../Doc/library/http.server.rst:258 msgid "" "Adds a blank line (indicating the end of the HTTP headers in the response) " "to the headers buffer and calls :meth:`flush_headers()`." msgstr "" +"Añade una línea en blanco (indicando el final de las cabeceras HTTP en la " +"respuesta) al buffer de cabeceras y llama a :meth:`flush_headers()`." #: ../Doc/library/http.server.rst:262 msgid "The buffered headers are written to the output stream." -msgstr "" +msgstr "Los encabezados del buffer se escriben en el flujo de salida." #: ../Doc/library/http.server.rst:267 msgid "" "Finally send the headers to the output stream and flush the internal headers " "buffer." msgstr "" +"Finalmente envía los encabezados al flujo de salida y limpia el buffer " +"interno de los cabezales." #: ../Doc/library/http.server.rst:274 msgid "" @@ -320,6 +453,9 @@ msgid "" "HTTP code associated with the response. If a size of the response is " "available, then it should be passed as the *size* parameter." msgstr "" +"Registra una solicitud aceptada (exitosa). El *code* debe especificar el " +"código numérico HTTP asociado a la respuesta. Si un tamaño de la respuesta " +"está disponible, entonces debe ser pasado como el parámetro *size*." #: ../Doc/library/http.server.rst:280 msgid "" @@ -327,6 +463,9 @@ msgid "" "message to :meth:`log_message`, so it takes the same arguments (*format* and " "additional values)." msgstr "" +"Registra un error cuando una solicitud no puede ser cumplida. Por defecto, " +"pasa el mensaje a :meth:`log_message`, por lo que toma los mismos argumentos " +"(*format* y valores adicionales)." #: ../Doc/library/http.server.rst:287 msgid "" @@ -336,12 +475,20 @@ msgid "" "`log_message` are applied as inputs to the formatting. The client ip address " "and current date and time are prefixed to every message logged." msgstr "" +"Registra un mensaje arbitrario en ``sys.stderr``. Normalmente se anula para " +"crear mecanismos personalizados de registro de errores. El argumento " +"*format* es una cadena de formato estándar de estilo de impresión, donde los " +"argumentos adicionales a :meth:`log_message` se aplican como entradas al " +"formato. La dirección ip del cliente y la fecha y hora actual son prefijadas " +"a cada mensaje registrado." #: ../Doc/library/http.server.rst:295 msgid "" "Returns the server software's version string. This is a combination of the :" "attr:`server_version` and :attr:`sys_version` attributes." msgstr "" +"Retorna la cadena de versiones del software del servidor. Esta es una " +"combinación de los atributos :attr:`server_version` y :attr:`sys_version`." #: ../Doc/library/http.server.rst:300 msgid "" @@ -349,30 +496,37 @@ msgid "" "the format returned by :func:`time.time`), formatted for a message header. " "If *timestamp* is omitted, it uses the current date and time." msgstr "" +"Retorna la fecha y la hora dadas por *timestamp* (que debe ser ``None`` o en " +"el formato retornado por :func:`time.time``), formateado para un encabezado " +"de mensaje. Si se omite *timestamp*, utiliza la fecha y la hora actuales." #: ../Doc/library/http.server.rst:304 msgid "The result looks like ``'Sun, 06 Nov 1994 08:49:37 GMT'``." -msgstr "" +msgstr "El resultado se muestra como ``Sun, 06 Nov 1994 08:49:37 GMT'``." #: ../Doc/library/http.server.rst:308 msgid "Returns the current date and time, formatted for logging." -msgstr "" +msgstr "Retorna la fecha y la hora actuales, formateadas para el registro." #: ../Doc/library/http.server.rst:312 msgid "Returns the client address." -msgstr "" +msgstr "Retorna la dirección del cliente." #: ../Doc/library/http.server.rst:314 msgid "" "Previously, a name lookup was performed. To avoid name resolution delays, it " "now always returns the IP address." msgstr "" +"Anteriormente, se realizó una búsqueda de nombres. Para evitar retrasos en " +"la resolución del nombre, ahora siempre retorna la dirección IP." #: ../Doc/library/http.server.rst:321 msgid "" "This class serves files from the current directory and below, directly " "mapping the directory structure to HTTP requests." msgstr "" +"Esta clase sirve a los archivos del directorio actual y los de abajo, " +"mapeando directamente la estructura del directorio a las peticiones HTTP." #: ../Doc/library/http.server.rst:324 msgid "" @@ -380,18 +534,25 @@ msgid "" "class:`BaseHTTPRequestHandler`. This class implements the :func:`do_GET` " "and :func:`do_HEAD` functions." msgstr "" +"La carga de trabajo, como el análisis de la solicitud, lo hace la clase " +"base :class:`BaseHTTPRequestHandler`. Esta clase implementa las funciones :" +"func:`do_GET` y :func:`do_HEAD`." #: ../Doc/library/http.server.rst:328 msgid "" "The following are defined as class-level attributes of :class:" "`SimpleHTTPRequestHandler`:" msgstr "" +"Los siguientes se definen como atributos de clase de :class:" +"`SimpleHTTPRequestHandler`:" #: ../Doc/library/http.server.rst:333 msgid "" "This will be ``\"SimpleHTTP/\" + __version__``, where ``__version__`` is " "defined at the module level." msgstr "" +"Esto sería ``\"SimpleHTTP/\" + __version__``, donde ``__version__`` se " +"define a nivel de módulo." #: ../Doc/library/http.server.rst:338 msgid "" @@ -400,16 +561,23 @@ msgid "" "mapping is used case-insensitively, and so should contain only lower-cased " "keys." msgstr "" +"Un diccionario que mapea los sufijos en los tipos de MIME. El valor por " +"defecto es una cadena vacía, y se considera que es ``application/octet-" +"stream``. El mapeo se usa sin tener en cuenta las mayúsculas y minúsculas, " +"por lo que sólo debe contener claves en minúsculas." #: ../Doc/library/http.server.rst:345 msgid "" "If not specified, the directory to serve is the current working directory." msgstr "" +"Si no se especifica, el directorio a servir es el directorio de trabajo " +"actual." #: ../Doc/library/http.server.rst:347 msgid "" "The :class:`SimpleHTTPRequestHandler` class defines the following methods:" msgstr "" +"Una instancia :class:`SimpleHTTPRequestHandler` tiene los siguientes métodos:" #: ../Doc/library/http.server.rst:351 msgid "" @@ -417,12 +585,17 @@ msgid "" "would send for the equivalent ``GET`` request. See the :meth:`do_GET` method " "for a more complete explanation of the possible headers." msgstr "" +"Este método sirve para el tipo de petición: ``'HEAD'`` envía los encabezados " +"que enviaría para la petición equivalente ``GET``. Ver el método :meth:" +"`do_GET` para una explicación más completa de los posibles encabezados." #: ../Doc/library/http.server.rst:357 msgid "" "The request is mapped to a local file by interpreting the request as a path " "relative to the current working directory." msgstr "" +"La solicitud se asigna a un archivo local interpretando la solicitud como " +"una ruta relativa al directorio de trabajo actual." #: ../Doc/library/http.server.rst:360 msgid "" @@ -433,6 +606,12 @@ msgid "" "listdir` to scan the directory, and returns a ``404`` error response if the :" "func:`~os.listdir` fails." msgstr "" +"Si la solicitud fue mapeada a un directorio, el directorio se comprueba para " +"un archivo llamado ``index.html`` or ``index.htm`` (en ese orden). Si se " +"encuentra, se retorna el contenido del archivo; de lo contrario, se genera " +"un listado del directorio llamando al método :meth:`list_directory`. Este " +"método utiliza :func:`os.listdir` para escanear el directorio, y retorna una " +"respuesta de error ``404`` si falla el :func:`~os.listdir`." #: ../Doc/library/http.server.rst:367 msgid "" @@ -444,6 +623,13 @@ msgid "" "calling the :meth:`guess_type` method, which in turn uses the " "*extensions_map* variable, and the file contents are returned." msgstr "" +"Si la solicitud fue asignada a un archivo, se abre. Cualquier excepción :exc:" +"`OSError` al abrir el archivo solicitado se asigna a un error ``404``, " +"``'File not found'``. Si había un encabezado ``'If-Modified-Since'`` en la " +"solicitud, y el archivo no fue modificado después de este tiempo, se envía " +"una respuesta ``304``, ``'Not Modified'``. De lo contrario, el tipo de " +"contenido se adivina llamando al método :meth:`guess_type`, que a su vez " +"utiliza la variable *extensions_map*, y se retorna el contenido del archivo." #: ../Doc/library/http.server.rst:375 msgid "" @@ -451,6 +637,10 @@ msgid "" "followed by a ``'Content-Length:'`` header with the file's size and a " "``'Last-Modified:'`` header with the file's modification time." msgstr "" +"Un encabezado de ``'Content-type:'`` con el tipo de contenido adivinado, " +"seguido de un encabezado de ``'Content-Length:'`` con el tamaño del archivo " +"y un encabezado de ``'Last-Modified:'`` con el tiempo de modificación del " +"archivo." #: ../Doc/library/http.server.rst:379 msgid "" @@ -458,16 +648,22 @@ msgid "" "contents of the file are output. If the file's MIME type starts with ``text/" "`` the file is opened in text mode; otherwise binary mode is used." msgstr "" +"Luego sigue una línea en blanco que significa el final de los encabezados, y " +"luego se imprime el contenido del archivo. Si el tipo MIME del archivo " +"comienza con ``text/`` el archivo se abre en modo de texto; en caso " +"contrario se utiliza el modo binario." #: ../Doc/library/http.server.rst:383 msgid "" "For example usage, see the implementation of the :func:`test` function " "invocation in the :mod:`http.server` module." msgstr "" +"Por ejemplo, ver la implementación de la invocación de la función :func:" +"`test` en el módulo :mod:`http.server`." #: ../Doc/library/http.server.rst:386 msgid "Support of the ``'If-Modified-Since'`` header." -msgstr "" +msgstr "Soporta la cabecera ``'If-Modified-Since'``." #: ../Doc/library/http.server.rst:389 msgid "" @@ -475,6 +671,9 @@ msgid "" "manner in order to create a very basic webserver serving files relative to " "the current directory::" msgstr "" +"La clase :class:`SimpleHTTPRequestHandler` puede ser usada de la siguiente " +"manera para crear un servidor web muy básico que sirva archivos relativos al " +"directorio actual::" #: ../Doc/library/http.server.rst:406 msgid "" @@ -482,6 +681,10 @@ msgid "" "switch of the interpreter with a ``port number`` argument. Similar to the " "previous example, this serves files relative to the current directory::" msgstr "" +":mod:`http.server` también puede ser invocado directamente usando el " +"interruptor :option:`-m` del intérprete con un argumento ``port number``. " +"Como en el ejemplo anterior, esto sirve a los archivos relativos al " +"directorio actual::" #: ../Doc/library/http.server.rst:412 msgid "" @@ -490,14 +693,18 @@ msgid "" "addresses are supported. For example, the following command causes the " "server to bind to localhost only::" msgstr "" +"Por defecto, el servidor se vincula a todas las interfaces. La opción ``-" +"b/--bind`` especifica una dirección específica a la que se debe vincular. " +"Tanto las direcciones IPv4 como las IPv6 están soportadas. Por ejemplo, el " +"siguiente comando hace que el servidor se vincule sólo al localhost::" #: ../Doc/library/http.server.rst:419 msgid "``--bind`` argument was introduced." -msgstr "" +msgstr "Se introdujo el argumento ``--bind`` ." #: ../Doc/library/http.server.rst:422 msgid "``--bind`` argument enhanced to support IPv6" -msgstr "" +msgstr "El argumento ``--bind`` se ha mejorado para soportar IPv6" #: ../Doc/library/http.server.rst:425 msgid "" @@ -505,10 +712,13 @@ msgid "" "specifies a directory to which it should serve the files. For example, the " "following command uses a specific directory::" msgstr "" +"Por defecto, el servidor utiliza el directorio actual. La opción ``-d/--" +"directory`` especifica un directorio al que debe servir los archivos. Por " +"ejemplo, el siguiente comando utiliza un directorio específico::" #: ../Doc/library/http.server.rst:431 msgid "``--directory`` specify alternate directory" -msgstr "" +msgstr "``--directory`` especificar directorio alternativo" #: ../Doc/library/http.server.rst:436 msgid "" @@ -516,6 +726,10 @@ msgid "" "current directory and below. Note that mapping HTTP hierarchic structure to " "local directory structure is exactly as in :class:`SimpleHTTPRequestHandler`." msgstr "" +"Esta clase se utiliza para servir tanto a los archivos como a la salida de " +"los scripts CGI del directorio actual y del siguiente. Note que el mapeo de " +"la estructura jerárquica de HTTP a la estructura del directorio local es " +"exactamente como en :class:`SimpleHTTPRequestHandler`." #: ../Doc/library/http.server.rst:442 msgid "" @@ -523,6 +737,10 @@ msgid "" "redirects (HTTP code 302), because code 200 (script output follows) is sent " "prior to execution of the CGI script. This pre-empts the status code." msgstr "" +"Los scripts CGI ejecutados por la clase :class:`CGIHTTPRequestHandler` no " +"pueden ejecutar redirecciones (código HTTP 302), porque el código 200 (la " +"salida del script sigue) se envía antes de la ejecución del script CGI. " +"Esto adelanta el código de estado." #: ../Doc/library/http.server.rst:447 msgid "" @@ -531,6 +749,10 @@ msgid "" "the other common server configuration is to treat special extensions as " "denoting CGI scripts." msgstr "" +"La clase, sin embargo, ejecutará el script CGI, en lugar de servirlo como un " +"archivo, si adivina que es un script CGI. Sólo se usan CGI basados en " +"directorios --- la otra configuración común del servidor es tratar las " +"extensiones especiales como denotando los scripts CGI." #: ../Doc/library/http.server.rst:452 msgid "" @@ -538,20 +760,26 @@ msgid "" "scripts and serve the output, instead of serving files, if the request leads " "to somewhere below the ``cgi_directories`` path." msgstr "" +"Las funciones :func:`do_GET` y :func:`do_HEAD` se modifican para ejecutar " +"scripts CGI y servir la salida, en lugar de servir archivos, si la petición " +"lleva a algún lugar por debajo de la ruta ``cgi_directories``." #: ../Doc/library/http.server.rst:456 msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:" msgstr "" +"La :class:`CGIHTTPRequestHandler` define el siguiente miembro de datos:" #: ../Doc/library/http.server.rst:460 msgid "" "This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to " "treat as containing CGI scripts." msgstr "" +"Esto por defecto es ``['/cgi-bin', '/htbin']`` y describe los directorios a " +"tratar como si contuvieran scripts CGI." #: ../Doc/library/http.server.rst:463 msgid "The :class:`CGIHTTPRequestHandler` defines the following method:" -msgstr "" +msgstr "La :class:`CGIHTTPRequestHandler` define el siguiente método:" #: ../Doc/library/http.server.rst:467 msgid "" @@ -559,15 +787,23 @@ msgid "" "scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying " "to POST to a non-CGI url." msgstr "" +"Este método sirve para el tipo de petición ``'POST'``, sólo permitido para " +"scripts CGI. El error 501, \"Can only POST to CGI scripts\", se produce " +"cuando se intenta enviar a una url no CGI." #: ../Doc/library/http.server.rst:471 msgid "" "Note that CGI scripts will be run with UID of user nobody, for security " "reasons. Problems with the CGI script will be translated to error 403." msgstr "" +"Tenga en cuenta que los scripts CGI se ejecutarán con UID de usuario " +"*nobody*, por razones de seguridad. Los problemas con el script CGI serán " +"traducidos al error 403." #: ../Doc/library/http.server.rst:474 msgid "" ":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " "the ``--cgi`` option::" msgstr "" +":class:`CGIHTTPRequestHandler` puede ser activado en la línea de comandos " +"pasando la opción ``--cgi``::" From cd1fcb8b0b1e21896775ee6a211d1d1beb86a086 Mon Sep 17 00:00:00 2001 From: EduFriesen00 <68348379+EduFriesen00@users.noreply.github.com> Date: Sun, 20 Dec 2020 13:44:50 -0300 Subject: [PATCH 088/153] Traducido library/pyexpat.po (#749) --- dictionaries/library_pyexpat.txt | 5 + library/pyexpat.po | 422 +++++++++++++++++++++++++++---- 2 files changed, 381 insertions(+), 46 deletions(-) create mode 100644 dictionaries/library_pyexpat.txt diff --git a/dictionaries/library_pyexpat.txt b/dictionaries/library_pyexpat.txt new file mode 100644 index 0000000000..0a2909b292 --- /dev/null +++ b/dictionaries/library_pyexpat.txt @@ -0,0 +1,5 @@ +child +Expat +ExpatError +ignorables +inicializándolo diff --git a/library/pyexpat.po b/library/pyexpat.po index 923d7a0ad7..c75a0d207f 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -1,25 +1,28 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-11-03 20:53-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es_AR\n" +"X-Generator: Poedit 2.3.1\n" +"X-Poedit-Bookmarks: -1,2,-1,-1,-1,-1,-1,-1,-1,-1\n" #: ../Doc/library/pyexpat.rst:2 msgid ":mod:`xml.parsers.expat` --- Fast XML parsing using Expat" -msgstr "" +msgstr ":mod:`xml.parsers.expat` --- Análisis rápido XML usando Expat" #: ../Doc/library/pyexpat.rst:21 msgid "" @@ -27,6 +30,9 @@ msgid "" "data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" "vulnerabilities`." msgstr "" +"El módulo :mod:`pyexpat` no es seguro contra datos construidos " +"maliciosamente. Si necesita analizar datos que no son de confianza o no " +"autenticados, consulte :ref:`xml-vulnerabilities`." #: ../Doc/library/pyexpat.rst:28 msgid "" @@ -38,38 +44,51 @@ msgid "" "parser, the handler functions are called for the character data and markup " "in the XML document." msgstr "" +"El módulo :mod:`xml.parsers.expat` es una interfaz de Python para el " +"analizador XML no validado de Expat. El módulo proporciona un único tipo de " +"extensión, :class:`xmlparser`, que representa el estado actual de un " +"analizador XML. Después de que se haya creado un objeto :class:`xmlparser`, " +"se pueden establecer varios atributos del objeto en funciones de " +"controlador. Cuando se envía un documento XML al analizador, se llaman a " +"las funciones del controlador para los datos de caracteres y el marcado en " +"el documento XML." #: ../Doc/library/pyexpat.rst:38 msgid "" "This module uses the :mod:`pyexpat` module to provide access to the Expat " "parser. Direct use of the :mod:`pyexpat` module is deprecated." msgstr "" +"Este módulo utiliza el módulo :mod:`pyexpat` para proporcionar acceso al " +"analizador Expat. El uso directo del módulo :mod:`pyexpat` está obsoleto." #: ../Doc/library/pyexpat.rst:41 msgid "This module provides one exception and one type object:" -msgstr "" +msgstr "Este módulo proporciona una excepción y un tipo de objeto:" #: ../Doc/library/pyexpat.rst:46 msgid "" "The exception raised when Expat reports an error. See section :ref:" "`expaterror-objects` for more information on interpreting Expat errors." msgstr "" +"La excepción que se lanza cuando Expat informa un error. Consulte la " +"sección :ref:`expaterror-objects` para obtener más información sobre cómo " +"interpretar los errores de Expat." #: ../Doc/library/pyexpat.rst:52 msgid "Alias for :exc:`ExpatError`." -msgstr "" +msgstr "Alias para :exc:`ExpatError`." #: ../Doc/library/pyexpat.rst:57 msgid "The type of the return values from the :func:`ParserCreate` function." -msgstr "" +msgstr "El tipo de los valores de retorno de la función :func:`ParserCreate`." #: ../Doc/library/pyexpat.rst:59 msgid "The :mod:`xml.parsers.expat` module contains two functions:" -msgstr "" +msgstr "El modulo :mod:`xml.parsers.expat` contiene dos funciones:" #: ../Doc/library/pyexpat.rst:64 msgid "Returns an explanatory string for a given error number *errno*." -msgstr "" +msgstr "Retorna una cadena explicativa para un número de error dado *errno*." #: ../Doc/library/pyexpat.rst:69 msgid "" @@ -80,6 +99,12 @@ msgid "" "(Latin1), and ASCII. If *encoding* [1]_ is given it will override the " "implicit or explicit encoding of the document." msgstr "" +"Crea y retorna un nuevo objeto :class:`xmlparser`. *encoding*, si se " +"especifica, debe ser una cadena que nombre la codificación utilizada por " +"los datos XML. Expat no admite tantas codificaciones como Python, y su " +"repertorio de codificaciones no se puede ampliar; es compatible con UTF-8, " +"UTF-16, ISO-8859-1 (Latin1) y ASCII. Si se proporciona *encoding* [1]_, " +"anulará la codificación implícita o explícita del documento." #: ../Doc/library/pyexpat.rst:76 msgid "" @@ -95,18 +120,35 @@ msgid "" "zero byte (``chr(0)``) then the namespace URI and the local part will be " "concatenated without any separator." msgstr "" +"Expat puede, opcionalmente, realizar el procesamiento del espacio de nombres " +"XML por usted, habilitado al proporcionar un valor para " +"*namespace_separator*. El valor debe ser una cadena de un carácter; a :exc:" +"`ValueError` se lanzará si la cadena tiene una longitud ilegal (``None`` se " +"considera lo mismo que una omisión). Cuando el procesamiento de espacios de " +"nombres está habilitado, se expandirán los nombres de tipos de elementos y " +"los nombres de atributos que pertenecen a un espacio de nombres. El nombre " +"del elemento pasado a los controladores de elementos :attr:" +"`StartElementHandler` y :attr:`EndElementHandler` será la concatenación del " +"URI del espacio de nombres, el carácter separador del espacio de nombres y " +"la parte local del nombre. Si el separador del espacio de nombres es un " +"byte cero (``chr(0)``), el URI del espacio de nombres y la parte local se " +"concatenarán sin ningún separador." #: ../Doc/library/pyexpat.rst:88 msgid "" "For example, if *namespace_separator* is set to a space character (``' '``) " "and the following document is parsed:" msgstr "" +"Por ejemplo, si *namespace_separator* se establece en un carácter de espacio " +"(``' '``) y se analiza el siguiente documento:" #: ../Doc/library/pyexpat.rst:100 msgid "" ":attr:`StartElementHandler` will receive the following strings for each " "element::" msgstr "" +":attr:`StartElementHandler` recibirá las siguientes cadenas para cada " +"elemento::" #: ../Doc/library/pyexpat.rst:107 msgid "" @@ -115,22 +157,26 @@ msgid "" "document. Call ``ParserCreate`` for each document to provide unique parser " "instances." msgstr "" +"Debido a las limitaciones en la biblioteca ``Expat`` utilizada por :mod:" +"`pyexpat`, la instancia :class:`xmlparser` retorna solo se puede usar para " +"analizar un solo documento XML. Llame a ``ParserCreate`` para cada " +"documento para proporcionar instancias de analizador únicas." #: ../Doc/library/pyexpat.rst:115 msgid "`The Expat XML Parser `_" -msgstr "" +msgstr "`El Expat XML Parser `_" #: ../Doc/library/pyexpat.rst:116 msgid "Home page of the Expat project." -msgstr "" +msgstr "Página de inicio del proyecto Expat." #: ../Doc/library/pyexpat.rst:122 msgid "XMLParser Objects" -msgstr "" +msgstr "Objetos XMLParser" #: ../Doc/library/pyexpat.rst:124 msgid ":class:`xmlparser` objects have the following methods:" -msgstr "" +msgstr "Los objetos :class:`xmlparser` tienen los siguientes métodos:" #: ../Doc/library/pyexpat.rst:129 msgid "" @@ -140,6 +186,11 @@ msgid "" "not the submission of multiple files. *data* can be the empty string at any " "time." msgstr "" +"Analiza el contenido de la cadena *data*, llamando a las funciones del " +"controlador apropiadas para procesar los datos analizados. *isfinal* debe " +"ser verdadero en la última llamada a este método; permite el análisis de un " +"solo archivo en fragmentos, no el envío de varios archivos. *data* puede ser " +"la cadena vacía en cualquier momento." #: ../Doc/library/pyexpat.rst:138 msgid "" @@ -147,6 +198,9 @@ msgid "" "the ``read(nbytes)`` method, returning the empty string when there's no more " "data." msgstr "" +"Analizar la lectura de datos XML del objeto *file*. *file* solo necesita " +"proporcionar el método ``read(nbytes)``, devolviendo la cadena vacía cuando " +"no hay más datos." #: ../Doc/library/pyexpat.rst:145 msgid "" @@ -156,12 +210,20 @@ msgid "" "`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, and :func:" "`UnparsedEntityDeclHandler` functions." msgstr "" +"Establece la base que se utilizará para resolver URIs relativos en " +"identificadores de sistema en declaraciones. La resolución de los " +"identificadores relativos se deja en manos de la aplicación: este valor se " +"pasará como el argumento *base* a las funciones :func:" +"`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, y :func:" +"`UnparsedEntityDeclHandler`." #: ../Doc/library/pyexpat.rst:154 msgid "" "Returns a string containing the base set by a previous call to :meth:" "`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." msgstr "" +"Retorna una cadena que contiene la base establecida por una llamada anterior " +"a :meth:`SetBase`, o ``None`` si no se ha llamado a :meth:`SetBase`." #: ../Doc/library/pyexpat.rst:160 msgid "" @@ -169,6 +231,10 @@ msgid "" "data is in the encoding of the entity which contains the text. When called " "while an event handler is not active, the return value is ``None``." msgstr "" +"Retorna los datos de entrada que generaron el evento actual como una cadena. " +"Los datos están en la codificación de la entidad que contiene el texto. " +"Cuando se llama mientras un controlador de eventos no está activo, el valor " +"de retorno es ``None``." #: ../Doc/library/pyexpat.rst:167 msgid "" @@ -179,6 +245,12 @@ msgid "" "parser is created with the :attr:`ordered_attributes` and :attr:" "`specified_attributes` set to the values of this parser." msgstr "" +"Cree un analizador \"child\" que se pueda utilizar para analizar una entidad " +"analizada externa a la que hace referencia el contenido analizado por el " +"analizador principal. El parámetro *context* debe ser la cadena pasada a la " +"función del controlador :meth:`ExternalEntityRefHandler`, que se describe a " +"continuación. El analizador secundario se crea con :attr:`order_attributes` " +"y :attr:`specific_attributes` establecidos en los valores de este analizador." #: ../Doc/library/pyexpat.rst:176 msgid "" @@ -188,6 +260,12 @@ msgid "" "`XML_PARAM_ENTITY_PARSING_ALWAYS`. Return true if setting the flag was " "successful." msgstr "" +"Controle el análisis de las entidades de parámetros (incluido el subconjunto " +"DTD externo). Los posibles valores de *flag* son :const:" +"`XML_PARAM_ENTITY_PARSING_NEVER`, :const:" +"`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` y :const:" +"`XML_PARAM_ENTITY_PARSING_ALWAYS`. Retorna verdadero si el establecimiento " +"de la bandera fue exitoso." #: ../Doc/library/pyexpat.rst:184 msgid "" @@ -198,12 +276,20 @@ msgid "" "will still be called, but the :attr:`StartDoctypeDeclHandler` and :attr:" "`EndDoctypeDeclHandler` will not be called." msgstr "" +"Llamar a esto con un valor verdadero para *flag* (el predeterminado) hará " +"que Expat llame a :attr:`ExternalEntityRefHandler` con :const:`None` para " +"todos los argumentos para permitir que se cargue una DTD alternativa. Si el " +"documento no contiene una declaración de tipo de documento, se seguirá " +"llamando a :attr:`ExternalEntityRefHandler`, pero no se llamará a :attr:" +"`StartDoctypeDeclHandler` y :attr:`EndDoctypeDeclHandler`." #: ../Doc/library/pyexpat.rst:191 msgid "" "Passing a false value for *flag* will cancel a previous call that passed a " "true value, but otherwise has no effect." msgstr "" +"Pasar un valor falso para *flag* cancelará una llamada anterior que pasó un " +"valor verdadero, pero por lo demás no tiene ningún efecto." #: ../Doc/library/pyexpat.rst:194 msgid "" @@ -212,10 +298,15 @@ msgid "" "causes :exc:`ExpatError` to be raised with the :attr:`code` attribute set to " "``errors.codes[errors.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." msgstr "" +"Este método sólo se puede llamar antes de que se llamen los métodos :meth:" +"`Parse` o :meth:`ParseFile`; llamarlo después de que cualquiera de ellos " +"haya sido llamado causa que :exc:`ExpatError` se lanza con el atributo :attr:" +"`code` establecido en ``errors.codes[errors." +"XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." #: ../Doc/library/pyexpat.rst:199 msgid ":class:`xmlparser` objects have the following attributes:" -msgstr "" +msgstr ":class:`xmlparser` los objetos tienen los siguientes atributos:" #: ../Doc/library/pyexpat.rst:204 msgid "" @@ -223,6 +314,9 @@ msgid "" "size can be set by assigning a new integer value to this attribute. When the " "size is changed, the buffer will be flushed." msgstr "" +"El tamaño del búfer usado cuando :attr:`buffer_text` es verdadero. Se puede " +"establecer un nuevo tamaño de búfer asignando un nuevo valor entero a este " +"atributo. Cuando se cambia el tamaño, el búfer se vaciará." #: ../Doc/library/pyexpat.rst:212 msgid "" @@ -233,6 +327,12 @@ msgid "" "chunks at every line ending. This attribute is false by default, and may be " "changed at any time." msgstr "" +"Establecer esto en true hace que el objeto :class:`xmlparser` almacene el " +"contenido textual retornado por Expat para evitar múltiples llamadas a la " +"devolución de llamada :meth:`CharacterDataHandler` siempre que sea posible. " +"Esto puede mejorar sustancialmente el rendimiento ya que Expat normalmente " +"divide los datos de los caracteres en trozos al final de cada línea. Este " +"atributo es falso por defecto y se puede cambiar en cualquier momento." #: ../Doc/library/pyexpat.rst:222 msgid "" @@ -240,6 +340,9 @@ msgid "" "These bytes represent UTF-8 encoded text. This attribute has no meaningful " "interpretation when :attr:`buffer_text` is false." msgstr "" +"Si :attr:`buffer_text` está habilitado, el número de bytes almacenados en el " +"búfer. Estos bytes representan texto codificado en UTF-8. Este atributo no " +"tiene una interpretación significativa cuando :attr:`buffer_text` es falso." #: ../Doc/library/pyexpat.rst:229 msgid "" @@ -250,6 +353,13 @@ msgid "" "versions of this module also used this format.) By default, this attribute " "is false; it may be changed at any time." msgstr "" +"Establecer este atributo en un número entero distinto de cero hace que los " +"atributos se informen como una lista en lugar de un diccionario. Los " +"atributos se presentan en el orden que se encuentran en el texto del " +"documento. Para cada atributo, se presentan dos entradas de lista: el " +"nombre del atributo y el valor del atributo. (Las versiones anteriores de " +"este módulo también usaban este formato). De forma predeterminada, este " +"atributo es falso; se puede cambiar en cualquier momento." #: ../Doc/library/pyexpat.rst:239 msgid "" @@ -261,6 +371,14 @@ msgid "" "processors. By default, this attribute is false; it may be changed at any " "time." msgstr "" +"Si se establece en un número entero distinto de cero, el analizador " +"informará solo los atributos que se especificaron en la instancia del " +"documento y no los que se derivaron de declaraciones de atributos. Las " +"aplicaciones que establecen esto deben tener especial cuidado al utilizar la " +"información adicional disponible en las declaraciones según sea necesario " +"para cumplir con los estándares para el comportamiento de los procesadores " +"XML. De forma predeterminada, este atributo es falso; se puede cambiar en " +"cualquier momento." #: ../Doc/library/pyexpat.rst:247 msgid "" @@ -269,10 +387,14 @@ msgid "" "values once a call to :meth:`Parse` or :meth:`ParseFile` has raised an :exc:" "`xml.parsers.expat.ExpatError` exception." msgstr "" +"Los siguientes atributos contienen valores relacionados con el error más " +"reciente encontrado por un objeto :class:`xmlparser`, y solo tendrán los " +"valores correctos una vez que una llamada a :meth:`Parse` o :meth:" +"`ParseFile` haya lanzado una excepción :exc:`xml.parsers.expat.ExpatError`." #: ../Doc/library/pyexpat.rst:255 msgid "Byte index at which an error occurred." -msgstr "" +msgstr "Índice de bytes en el que se produjo un error." #: ../Doc/library/pyexpat.rst:260 msgid "" @@ -280,14 +402,17 @@ msgid "" "`ErrorString` function, or compared to one of the constants defined in the " "``errors`` object." msgstr "" +"Código numérico que especifica el problema. Este valor puede pasarse a la " +"función :func:`ErrorString`, o compararse con una de las constantes " +"definidas en el objeto ``errors``." #: ../Doc/library/pyexpat.rst:267 msgid "Column number at which an error occurred." -msgstr "" +msgstr "Número de columna en la que se produjo un error." #: ../Doc/library/pyexpat.rst:272 msgid "Line number at which an error occurred." -msgstr "" +msgstr "Número de línea en la que ocurrió un error." #: ../Doc/library/pyexpat.rst:274 msgid "" @@ -298,18 +423,25 @@ msgid "" "position indicated will be just past the last parse event (regardless of " "whether there was an associated callback)." msgstr "" +"Los siguientes atributos contienen valores relacionados con la ubicación " +"actual del análisis en un objeto :class:`xmlparser`. Durante una devolución " +"de llamada que informa un evento de análisis, indican la ubicación del " +"primero de la secuencia de caracteres que generó el evento. Cuando se llama " +"fuera de una devolución de llamada, la posición indicada estará justo " +"después del último evento de análisis (independientemente de si hubo una " +"devolución de llamada asociada)." #: ../Doc/library/pyexpat.rst:284 msgid "Current byte index in the parser input." -msgstr "" +msgstr "Índice de bytes actual en la entrada del analizador." #: ../Doc/library/pyexpat.rst:289 msgid "Current column number in the parser input." -msgstr "" +msgstr "Número de columna actual en la entrada del analizador." #: ../Doc/library/pyexpat.rst:294 msgid "Current line number in the parser input." -msgstr "" +msgstr "Número de línea actual en la entrada del analizador." #: ../Doc/library/pyexpat.rst:296 msgid "" @@ -319,6 +451,12 @@ msgid "" "accepting the correct number of arguments. The arguments are all strings, " "unless otherwise stated." msgstr "" +"Aquí está la lista de controladores que se pueden configurar. Para " +"configurar un controlador en un objeto :class:`xmlparser` *o*, use ``o." +"handlername = func``. *handlername* debe tomarse de la siguiente lista, y " +"*func* debe ser un objeto invocable que acepte el número correcto de " +"argumentos. Los argumentos son todos cadenas, a menos que se indique lo " +"contrario." #: ../Doc/library/pyexpat.rst:305 msgid "" @@ -330,6 +468,13 @@ msgid "" "to be standalone, or ``-1`` if the standalone clause was omitted. This is " "only available with Expat version 1.95.0 or newer." msgstr "" +"Se llama cuando se analiza la declaración XML. La declaración XML es la " +"declaración (opcional) de la versión aplicable de la recomendación XML, la " +"codificación del texto del documento y una declaración \"independiente\" " +"opcional. *version* y *encoding* serán cadenas, y *standalone* será ``1`` si " +"el documento se declara independiente, ``0`` si se declara no independiente " +"o ``-1`` si se omitió la cláusula independiente. Esto solo está disponible " +"con la versión Expat 1.95.0 o más reciente." #: ../Doc/library/pyexpat.rst:316 msgid "" @@ -340,18 +485,30 @@ msgid "" "the document contains and internal document declaration subset. This " "requires Expat version 1.2 or newer." msgstr "" +"Se llama cuando Expat comienza a analizar la declaración del tipo de " +"documento (``'``." msgstr "" +"Llamado para comentarios. *data* es el texto del comentario, excluyendo el " +"``''``." #: ../Doc/library/pyexpat.rst:430 msgid "" @@ -449,10 +656,13 @@ msgid "" "`EndCdataSectionHandler` are needed to be able to identify the syntactical " "start and end for CDATA sections." msgstr "" +"Llamado al comienzo de una sección CDATA. Esto y :attr:" +"`EndCdataSectionHandler` son necesarios para poder identificar el inicio " +"sintáctico y el final de las secciones CDATA." #: ../Doc/library/pyexpat.rst:437 msgid "Called at the end of a CDATA section." -msgstr "" +msgstr "Llamado al final de una sección CDATA." #: ../Doc/library/pyexpat.rst:442 msgid "" @@ -461,6 +671,10 @@ msgid "" "construct which could be reported, but for which no handler has been " "supplied." msgstr "" +"Se invoca por cualquier carácter del documento XML para el que no se ha " +"especificado ningún controlador aplicable. Esto significa caracteres que " +"forman parte de una construcción que se podría informar, pero para los que " +"no se ha proporcionado ningún controlador." #: ../Doc/library/pyexpat.rst:449 msgid "" @@ -468,6 +682,9 @@ msgid "" "expansion of internal entities. The entity reference will not be passed to " "the default handler." msgstr "" +"Es lo mismo que :func:`DefaultHandler`, pero no inhibe la expansión de " +"entidades internas. La referencia de la entidad no se pasará al controlador " +"predeterminado." #: ../Doc/library/pyexpat.rst:456 msgid "" @@ -478,6 +695,13 @@ msgid "" "raise an :const:`XML_ERROR_NOT_STANDALONE` error. If this handler is not " "set, no exception is raised by the parser for this condition." msgstr "" +"Se llama si el documento XML no se ha declarado como un documento " +"independiente. Esto sucede cuando hay un subconjunto externo o una " +"referencia a una entidad de parámetro, pero la declaración XML no establece " +"independiente en ``yes`` en una declaración XML. Si este controlador " +"retorna ``0``, el analizador lanzará un error :const:" +"`XML_ERROR_NOT_STANDALONE`. Si este controlador no está configurado, el " +"analizador no lanza ninguna excepción para esta condición." #: ../Doc/library/pyexpat.rst:466 msgid "" @@ -487,6 +711,12 @@ msgid "" "identifier is not given, *publicId* will be ``None``. The *context* value " "is opaque and should only be used as described below." msgstr "" +"Llamado para referencias a entidades externas. *base* es la base actual, " +"según lo establecido por una llamada anterior a :meth:`SetBase`. Los " +"identificadores público y del sistema, *systemId* y *publicId*, son cadenas " +"si se dan; si no se proporciona el identificador público, *publicId* será " +"``None``. El valor *context* es opaco y solo debe usarse como se describe a " +"continuación." #: ../Doc/library/pyexpat.rst:472 msgid "" @@ -497,20 +727,30 @@ msgid "" "an integer; if it returns ``0``, the parser will raise an :const:" "`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." msgstr "" +"Para que se analicen las entidades externas, se debe implementar este " +"controlador. Es responsable de crear el sub-analizador usando " +"``ExternalEntityParserCreate(context)``, inicializándolo con las " +"devoluciones de llamada apropiadas y analizando la entidad. Este " +"controlador debería devolver un número entero; si retorna ``0``, el " +"analizador lanzará un error :const:`XML_ERROR_EXTERNAL_ENTITY_HANDLING`; de " +"lo contrario, el análisis continuará." #: ../Doc/library/pyexpat.rst:480 msgid "" "If this handler is not provided, external entities are reported by the :attr:" "`DefaultHandler` callback, if provided." msgstr "" +"Si no se proporciona este controlador, las entidades externas se informan " +"mediante la devolución de llamada :attr:`DefaultHandler`, si se proporciona." #: ../Doc/library/pyexpat.rst:487 msgid "ExpatError Exceptions" -msgstr "" +msgstr "Excepciones de ExpatError" #: ../Doc/library/pyexpat.rst:492 msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" msgstr "" +"Las excepciones :exc:`ExpatError` tienen una serie de atributos interesantes:" #: ../Doc/library/pyexpat.rst:497 msgid "" @@ -518,6 +758,10 @@ msgid "" "messages ` dictionary maps these error " "numbers to Expat's error messages. For example::" msgstr "" +"Número de error interno del expatriado para el error específico. El " +"diccionario :data:`errors.messages ` " +"asigna estos números de error a los mensajes de error de Expat. Por " +"ejemplo::" #: ../Doc/library/pyexpat.rst:509 msgid "" @@ -525,36 +769,45 @@ msgid "" "constants and a dictionary :data:`~xml.parsers.expat.errors.codes` mapping " "these messages back to the error codes, see below." msgstr "" +"El módulo :mod:`~xml.parsers.expat.errors` también proporciona constantes de " +"mensajes de error y un diccionario :data:`~xml.parsers.expat.errors.codes` " +"mapeando estos mensajes a los códigos de error, ver más abajo." #: ../Doc/library/pyexpat.rst:516 msgid "" "Line number on which the error was detected. The first line is numbered " "``1``." msgstr "" +"Número de línea en la que se detectó el error. La primera línea está " +"numerada como ``1``." #: ../Doc/library/pyexpat.rst:521 msgid "" "Character offset into the line where the error occurred. The first column " "is numbered ``0``." msgstr "" +"Carácter desplazado en la línea donde ocurrió el error. La primera columna " +"está numerada como ``0``." #: ../Doc/library/pyexpat.rst:528 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/pyexpat.rst:530 msgid "" "The following program defines three handlers that just print out their " "arguments. ::" msgstr "" +"El siguiente programa define tres controladores que simplemente imprimen sus " +"argumentos. ::" #: ../Doc/library/pyexpat.rst:554 msgid "The output from this program is::" -msgstr "" +msgstr "La salida de este programa es::" #: ../Doc/library/pyexpat.rst:571 msgid "Content Model Descriptions" -msgstr "" +msgstr "Descripciones del modelo de contenido" #: ../Doc/library/pyexpat.rst:577 msgid "" @@ -562,6 +815,10 @@ msgid "" "values: the type, the quantifier, the name, and a tuple of children. " "Children are simply additional content model descriptions." msgstr "" +"Los modelos de contenido se describen mediante tuplas anidadas. Cada tupla " +"contiene cuatro valores: el tipo, el cuantificador, el nombre y una tupla de " +"niños. Los niños son simplemente descripciones adicionales del modelo de " +"contenido." #: ../Doc/library/pyexpat.rst:581 msgid "" @@ -569,26 +826,33 @@ msgid "" "parsers.expat.model` module. These constants can be collected in two " "groups: the model type group and the quantifier group." msgstr "" +"Los valores de los dos primeros campos son constantes definidas en el " +"módulo :mod:`xml.parsers.expat.model`. Estas constantes se pueden recopilar " +"en dos grupos: el grupo de tipo de modelo y el grupo de cuantificador." #: ../Doc/library/pyexpat.rst:585 msgid "The constants in the model type group are:" -msgstr "" +msgstr "Las constantes en el grupo de tipos de modelo son:" #: ../Doc/library/pyexpat.rst:591 msgid "" "The element named by the model name was declared to have a content model of " "``ANY``." msgstr "" +"Se declaró que el elemento nombrado por el nombre del modelo tiene un modelo " +"de contenido de ``ANY``." #: ../Doc/library/pyexpat.rst:598 msgid "" "The named element allows a choice from a number of options; this is used for " "content models such as ``(A | B | C)``." msgstr "" +"El elemento nombrado permite elegir entre varias opciones; se utiliza para " +"modelos de contenido como ``(A | B | C)``." #: ../Doc/library/pyexpat.rst:605 msgid "Elements which are declared to be ``EMPTY`` have this model type." -msgstr "" +msgstr "Los elementos que se declaran ``EMPTY`` tienen este tipo de modelo." #: ../Doc/library/pyexpat.rst:619 msgid "" @@ -596,30 +860,36 @@ msgid "" "are indicated with this model type. This is used for models such as ``(A, " "B, C)``." msgstr "" +"Los modelos que representan una serie de modelos que siguen uno tras otro se " +"indican con este tipo de modelo. Se utiliza para modelos como ``(A, B, C)``." #: ../Doc/library/pyexpat.rst:622 msgid "The constants in the quantifier group are:" -msgstr "" +msgstr "Las constantes en el grupo cuantificador son:" #: ../Doc/library/pyexpat.rst:628 msgid "No modifier is given, so it can appear exactly once, as for ``A``." msgstr "" +"No se proporciona ningún modificador, por lo que puede aparecer exactamente " +"una vez, como para ``A``." #: ../Doc/library/pyexpat.rst:634 msgid "The model is optional: it can appear once or not at all, as for ``A?``." msgstr "" +"El modelo es opcional: puede aparecer una vez o no aparecer, como para ``A?" +"``." #: ../Doc/library/pyexpat.rst:640 msgid "The model must occur one or more times (like ``A+``)." -msgstr "" +msgstr "El modelo debe aparecer una o más veces (como ``A+``)." #: ../Doc/library/pyexpat.rst:646 msgid "The model must occur zero or more times, as for ``A*``." -msgstr "" +msgstr "El modelo debe aparecer cero o más veces, como en ``A*``." #: ../Doc/library/pyexpat.rst:652 msgid "Expat error constants" -msgstr "" +msgstr "Constantes de error de expansión" #: ../Doc/library/pyexpat.rst:656 msgid "" @@ -631,106 +901,137 @@ msgid "" "comparing its :attr:`code` attribute with :samp:`errors.codes[errors." "XML_ERROR_{CONSTANT_NAME}]`." msgstr "" +"Las siguientes constantes se proporcionan en el módulo :mod:`xml.parsers." +"expat.errors`. Estas constantes son útiles para interpretar algunos de los " +"atributos de los objetos de excepción :exc:`ExpatError` que se lanzaran " +"cuando se produce un error. Dado que, por razones de compatibilidad con " +"versiones anteriores, el valor de las constantes es el *message* de error y " +"no el *code* de error numérico, puede hacer esto comparando su atributo :" +"attr:`code` con :samp:`errors.codes[errors.XML_ERROR_{CONSTANT_NAME}]`." #: ../Doc/library/pyexpat.rst:664 msgid "The ``errors`` module has the following attributes:" -msgstr "" +msgstr "El módulo ``errors`` tiene los siguientes atributos:" #: ../Doc/library/pyexpat.rst:668 msgid "A dictionary mapping numeric error codes to their string descriptions." msgstr "" +"Un diccionario que asigna códigos de error numéricos a sus descripciones de " +"cadenas." #: ../Doc/library/pyexpat.rst:675 msgid "A dictionary mapping string descriptions to their error codes." msgstr "" +"Un diccionario que asigna descripciones de cadenas a sus códigos de error." #: ../Doc/library/pyexpat.rst:685 msgid "" "An entity reference in an attribute value referred to an external entity " "instead of an internal entity." msgstr "" +"Una referencia de entidad en un valor de atributo se refiere a una entidad " +"externa en lugar de una entidad interna." #: ../Doc/library/pyexpat.rst:691 msgid "" "A character reference referred to a character which is illegal in XML (for " "example, character ``0``, or '``�``')." msgstr "" +"Una referencia de carácter se refiere a un carácter que es ilegal en XML " +"(por ejemplo, carácter ``0``, o '``�``')." #: ../Doc/library/pyexpat.rst:697 msgid "" "An entity reference referred to an entity which was declared with a " "notation, so cannot be parsed." msgstr "" +"Una referencia de entidad se refería a una entidad que se declaró con una " +"notación, por lo que no se puede analizar." #: ../Doc/library/pyexpat.rst:703 msgid "An attribute was used more than once in a start tag." -msgstr "" +msgstr "Un atributo se utilizó más de una vez en una etiqueta de inicio." #: ../Doc/library/pyexpat.rst:711 msgid "" "Raised when an input byte could not properly be assigned to a character; for " "example, a NUL byte (value ``0``) in a UTF-8 input stream." msgstr "" +"Se lanza cuando un byte de entrada no se puede asignar correctamente a un " +"carácter; por ejemplo, un byte NUL (valor ``0``) en un flujo de entrada " +"UTF-8." #: ../Doc/library/pyexpat.rst:717 msgid "Something other than whitespace occurred after the document element." msgstr "" +"Se produjo algo diferente a los espacios en blanco después del elemento del " +"documento." #: ../Doc/library/pyexpat.rst:722 msgid "" "An XML declaration was found somewhere other than the start of the input " "data." msgstr "" +"Se encontró una declaración XML en algún lugar que no sea el comienzo de los " +"datos de entrada." #: ../Doc/library/pyexpat.rst:727 msgid "" "The document contains no elements (XML requires all documents to contain " "exactly one top-level element).." msgstr "" +"El documento no contiene elementos (XML requiere que todos los documentos " +"contengan exactamente un elemento de nivel superior).." #: ../Doc/library/pyexpat.rst:733 msgid "Expat was not able to allocate memory internally." -msgstr "" +msgstr "Expat no pudo asignar memoria internamente." #: ../Doc/library/pyexpat.rst:738 msgid "A parameter entity reference was found where it was not allowed." msgstr "" +"Se encontró una referencia de entidad de parámetro donde no estaba permitida." #: ../Doc/library/pyexpat.rst:743 msgid "An incomplete character was found in the input." -msgstr "" +msgstr "Se encontró un carácter incompleto en la entrada." #: ../Doc/library/pyexpat.rst:748 msgid "" "An entity reference contained another reference to the same entity; possibly " "via a different name, and possibly indirectly." msgstr "" +"Una referencia de entidad contenía otra referencia a la misma entidad; " +"posiblemente a través de un nombre diferente, y posiblemente indirectamente." #: ../Doc/library/pyexpat.rst:754 msgid "Some unspecified syntax error was encountered." -msgstr "" +msgstr "Se encontró algún error de sintaxis no especificado." #: ../Doc/library/pyexpat.rst:759 msgid "An end tag did not match the innermost open start tag." msgstr "" +"Una etiqueta final no coincidía con la etiqueta inicial abierta más interna." #: ../Doc/library/pyexpat.rst:764 msgid "" "Some token (such as a start tag) was not closed before the end of the stream " "or the next token was encountered." msgstr "" +"Algún token (como una etiqueta de inicio) no se cerró antes del final de la " +"transmisión o se encontró el siguiente token." #: ../Doc/library/pyexpat.rst:770 msgid "A reference was made to an entity which was not defined." -msgstr "" +msgstr "Se hizo referencia a una entidad que no estaba definida." #: ../Doc/library/pyexpat.rst:775 msgid "The document encoding is not supported by Expat." -msgstr "" +msgstr "La codificación del documento no es compatible con Expat." #: ../Doc/library/pyexpat.rst:780 msgid "A CDATA marked section was not closed." -msgstr "" +msgstr "No se cerró una sección marcada con CDATA." #: ../Doc/library/pyexpat.rst:788 msgid "" @@ -738,6 +1039,9 @@ msgid "" "declared itself to be in the XML declaration, and the :attr:" "`NotStandaloneHandler` was set and returned ``0``." msgstr "" +"El analizador determinó que el documento no era \"independiente\" aunque se " +"declaró en la declaración XML, y el :attr:`NotStandaloneHandler` se " +"estableció y devolvió ``0``." #: ../Doc/library/pyexpat.rst:801 msgid "" @@ -745,6 +1049,9 @@ msgid "" "Expat was configured without DTD support. This should never be reported by " "a standard build of the :mod:`xml.parsers.expat` module." msgstr "" +"Se solicitó una operación que requiere que se compile el soporte DTD, pero " +"Expat se configuró sin soporte DTD. Esto nunca debería ser informado por " +"una compilación estándar del módulo :mod:`xml.parsers.expat`." #: ../Doc/library/pyexpat.rst:808 msgid "" @@ -752,48 +1059,64 @@ msgid "" "changed before parsing has started. This is (currently) only raised by :" "meth:`UseForeignDTD`." msgstr "" +"Se solicitó un cambio de comportamiento después de que comenzó el análisis " +"que solo se puede cambiar antes de que haya comenzado el análisis. Esto " +"(actualmente) solo lanzado por :meth:`UseForeignDTD`." #: ../Doc/library/pyexpat.rst:815 msgid "An undeclared prefix was found when namespace processing was enabled." msgstr "" +"Se encontró un prefijo no declarado cuando se habilitó el procesamiento del " +"espacio de nombres." #: ../Doc/library/pyexpat.rst:820 msgid "" "The document attempted to remove the namespace declaration associated with a " "prefix." msgstr "" +"El documento intentó eliminar la declaración de espacio de nombres asociada " +"con un prefijo." #: ../Doc/library/pyexpat.rst:826 msgid "A parameter entity contained incomplete markup." -msgstr "" +msgstr "El documento no contenía ningún elemento de documento." #: ../Doc/library/pyexpat.rst:831 msgid "The document contained no document element at all." -msgstr "" +msgstr "El documento no contenía ningún elemento de documento." #: ../Doc/library/pyexpat.rst:836 msgid "There was an error parsing a text declaration in an external entity." msgstr "" +"Se produjo un error al analizar una declaración de texto en una entidad " +"externa." #: ../Doc/library/pyexpat.rst:841 msgid "Characters were found in the public id that are not allowed." msgstr "" +"Se encontraron caracteres en la identificación pública que no están " +"permitidos." #: ../Doc/library/pyexpat.rst:846 msgid "" "The requested operation was made on a suspended parser, but isn't allowed. " "This includes attempts to provide additional input or to stop the parser." msgstr "" +"La operación solicitada se realizó en un analizador suspendido, pero no está " +"permitida. Esto incluye intentos de proporcionar información adicional o " +"detener el analizador." #: ../Doc/library/pyexpat.rst:852 msgid "" "An attempt to resume the parser was made when the parser had not been " "suspended." msgstr "" +"Se realizó un intento de reanudar el analizador cuando no se había " +"suspendido." #: ../Doc/library/pyexpat.rst:857 msgid "This should not be reported to Python applications." -msgstr "" +msgstr "Esto no se debe informar a las aplicaciones Python." #: ../Doc/library/pyexpat.rst:862 msgid "" @@ -801,10 +1124,13 @@ msgid "" "input, but isn't allowed. This includes attempts to provide additional " "input or to stop the parser." msgstr "" +"La operación solicitada se realizó en un analizador que terminó de analizar " +"la entrada, pero no está permitido. Esto incluye intentos de proporcionar " +"información adicional o detener el analizador." #: ../Doc/library/pyexpat.rst:871 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie" #: ../Doc/library/pyexpat.rst:872 msgid "" @@ -813,3 +1139,7 @@ msgid "" "www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://www.iana." "org/assignments/character-sets/character-sets.xhtml." msgstr "" +"La cadena de codificación incluida en la salida XML debe cumplir con los " +"estándares apropiados. Por ejemplo, \"UTF-8\" es válido, pero \"UTF8\" no lo " +"es. Consulte https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl " +"y https://www.iana.org/assignments/character-sets/character-sets.xhtml." From eebbe83cecec1fab8c3686812d15f2b9d5cee968 Mon Sep 17 00:00:00 2001 From: Nataya Soledad Date: Sun, 20 Dec 2020 13:46:00 -0300 Subject: [PATCH 089/153] Update TRANSLATORS (#709) --- TRANSLATORS | 1 + 1 file changed, 1 insertion(+) diff --git a/TRANSLATORS b/TRANSLATORS index 6ee9c0d7a9..d819e6fd21 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -24,6 +24,7 @@ Nicolás Demarchi (@gilgamezh) Ignacio Dopazo (@ignaciodopazo) Natalia Elvira Astoreca (@nea23) Nahuel Espinosa (@nahueespinosa) +Nataya Soledad Flores (@natayafs) Xavi Francisco (@srxavi) Santiago E Fraire Willemoes (@Woile) Leonardo Gomez (@gomezgleonardob) From affebe5fbc3a4887549c2a81c313130a2b6a1144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Sun, 20 Dec 2020 19:18:36 +0100 Subject: [PATCH 090/153] =?UTF-8?q?Convertido=20t=C3=A9rminos=20de=20memor?= =?UTF-8?q?ia=20de=20traducci=C3=B3n=20a=20glosario=20de=20Sphinx.=20(#104?= =?UTF-8?q?2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cristian Maureira-Fredes --- .overrides/translation-memory.rst | 207 +++++++++++++++--------------- 1 file changed, 105 insertions(+), 102 deletions(-) diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst index 530c15ccf3..9f512fcd8c 100644 --- a/.overrides/translation-memory.rst +++ b/.overrides/translation-memory.rst @@ -52,7 +52,7 @@ Fuentes recomendadas https://www.linguee.es/ -Diccionario y traductor multilíngue con millones de traducciones indexadas. De los creadores + Diccionario y traductor multilíngue con millones de traducciones indexadas. De los creadores de DeepL :Fundéu BBVA - Fundación para el español urgente: @@ -77,153 +77,156 @@ Términos y bigramas Dividimos esta sección en dos partes, los términos que se traducen y los que mantenemos el original. Éstas son las palabras que hemos coordinado hasta el momento: - auditing event - evento de auditoría ``library/tempfile`` and many others - awaitable - aguardable ``glossary`` +.. glossary:: - slash and backslash - barra y barra invertida ``c-api``,``tutorial``,``library/functions.po`` + auditing event + evento de auditoría ``library/tempfile`` and many others - built-in - incorporada ``glossary.po`` + awaitable + aguardable ``glossary`` - built-in exceptions - excepciones predefinidas ``tutorial/errors.po`` + slash and backslash + barra y barra invertida ``c-api``, ``tutorial``, ``library/functions.po`` - bytecodes - queda igual ``glossary.po`` + built-in + incorporada ``glossary.po`` - callable - invocable ``glossary.po``, ``library/functions.po`` + built-in exceptions + excepciones predefinidas ``tutorial/errors.po`` - Nota: en ocasiones es mejora mantener callable, especialmente cuando se refiere directamente - a la anotación de typing Callable + bytecodes + queda igual ``glossary.po`` + + callable + invocable ``glossary.po``, ``library/functions.po`` - checksum - suma de comprobación ``howto/clinic.po`` + Nota: en ocasiones es mejora mantener callable, especialmente cuando se refiere directamente + a la anotación de typing Callable. - code object - objeto código ``c-api``, ``library/functions.po`` + checksum + suma de comprobación ``howto/clinic.po`` - context manager - gestor de contexto + code object + objeto código ``c-api``, ``library/functions.po`` - deallocated - desalojable ``glossary.po`` + context manager + gestor de contexto - docstring - docstring. ``library/idle.po`` + deallocated + desalojable ``glossary.po`` + + docstring + docstring. ``library/idle.po`` - key - clave + key + clave - keyword argument - argumento por palabra clave / argumento de palabra clave + keyword argument + argumento por palabra clave / argumento de palabra clave - handler - gestor ``tutorial/errors.po`` + handler + gestor ``tutorial/errors.po`` - handle exception - gestionar [una] excepción. ``tutorial/inputoutput.po`` - gestionar excepciones + handle exception + gestionar [una] excepción. ``tutorial/inputoutput.po`` + gestionar excepciones - i. e. - en otras palabras. ``library/sqlite3.po`` + i. e. + en otras palabras. ``library/sqlite3.po`` - in-place, in place - in situ. Aunque estrictamente no es español, su uso es generalizado. + in-place, in place + in situ. Aunque estrictamente no es español, su uso es generalizado. - library - biblioteca. ``library/sqlite3.po`` + library + biblioteca. ``library/sqlite3.po`` - list comprehension / list comprehensions - lista por comprensión / listas por comprensión. + list comprehension / list comprehensions + lista por comprensión / listas por comprensión. - locale - Configuración regional. ``library/functions.po`` and others + locale + Configuración regional. ``library/functions.po`` and others - helper function - función auxiliar ``library/typing.po`` + helper function + función auxiliar ``library/typing.po`` - loop - bucle ``tutorial/controlflow.po`` + loop + bucle ``tutorial/controlflow.po`` - mapping - mapeo ``glossary.po`` + mapping + mapeo ``glossary.po`` - named tuple. - tupla nombrada ``glossary.po`` + named tuple. + tupla nombrada ``glossary.po`` - overload, overloading - sobrecargar, sobrecarga + overload, overloading + sobrecargar, sobrecarga - override, overriding - sobreescribir, sobreescritura + override, overriding + sobreescribir, sobreescritura - path - ruta ``glossary.po`` + path + ruta ``glossary.po`` - pythonic - *pythónico* + pythonic + *pythónico* - idiomático + idiomático - Estes dos términos son próximos en el contexto que se usan, utilizar complementariamente - según el contexto. Referencia: https://docs.python-guide.org/writing/style/ + Estes dos términos son próximos en el contexto que se usan, utilizar complementariamente + según el contexto. Referencia: https://docs.python-guide.org/writing/style/ - raise - lanzar, lanza. (referido a excepciones) ``library/functions.po``, ``c-api`` + raise + lanzar, lanza. (referido a excepciones) ``library/functions.po``, ``c-api`` - release - version ``HOWTO`` + release + version ``HOWTO`` - return / returns - retorna / retornar ``library/sqlite3.po`` + return / returns + retorna / retornar ``library/sqlite3.po`` - return type - tipo de retorno ``library/typing.po`` - tipo retornado - tipo devuelto - Nota: en algunos contextos es mejor usar el participio (retornado/devuelto), se prefiere - retornado por semejanza con el original inglés "return". + return type + tipo de retorno ``library/typing.po`` + tipo retornado + tipo devuelto + Nota: en algunos contextos es mejor usar el participio (retornado/devuelto), se prefiere + retornado por semejanza con el original inglés "return". - runtime - tiempo de ejecución ``tutorial/classes.po`` + runtime + tiempo de ejecución ``tutorial/classes.po`` - slice - segmento ``datamodel.po`` + slice + segmento ``datamodel.po`` - slicing - segmentación ``datamodel.po`` + slicing + segmentación ``datamodel.po`` - static type checker - Validador estático de tipos - Notas: mantener la mayúscula, usar validación cuando se refiera a la acción y no al agente. + static type checker + Validador estático de tipos + Notas: mantener la mayúscula, usar validación cuando se refiera a la acción y no al agente. - string - cadena de caracteres ``datamodel.po`` + string + cadena de caracteres ``datamodel.po`` - strings - cadenas de caracteres ``datamodel.po`` + strings + cadenas de caracteres ``datamodel.po`` - third-party - de terceros ``library/typing.po`` + third-party + de terceros ``library/typing.po`` - type hint - indicador de tipo ``library/typing.po`` + type hint + indicador de tipo ``library/typing.po`` - type annotation ``library/typing.po`` - anotación de tipo - Nota: úsese como sinónimo de *type hint*, aunque en el texto se sobreentiende que anotación - es algo accesorio, un comentario, y type hint implica que el Validador hará comprobaciones + type annotation + anotación de tipo ``library/typing.po`` + Nota: úsese como sinónimo de *type hint*, aunque en el texto se sobreentiende que anotación + es algo accesorio, un comentario, y type hint implica que el Validador hará comprobaciones - underscore - guión bajo ``glossary.po`` + underscore + guión bajo ``glossary.po`` - widget - widget ``library/tkinter`` + widget + widget ``library/tkinter`` From 389f4c172cec5fbd09e6b6a507630bd223419cb5 Mon Sep 17 00:00:00 2001 From: Ibnmardanis24 Date: Sun, 20 Dec 2020 19:54:04 +0100 Subject: [PATCH 091/153] Traduccion library/email.mime (#1064) --- TRANSLATORS | 1 + library/email.mime.po | 173 +++++++++++++++++++++++++++++++++++++----- 2 files changed, 157 insertions(+), 17 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index d819e6fd21..3dcff33cf8 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -116,6 +116,7 @@ María Saiz Muñoz (@mariasm87) Sofia Carballo (@sofiacarballo) Alan Verdugo Muñoz (@alanverdugo) Alcides Rivarola (@alcides29) +Ginés Salar Ibáñez (@Ibnmardanis24) Ana (@popiula) David Silva (@dvidsilva) Ricardo Rodríguez (@ricrogz) diff --git a/library/email.mime.po b/library/email.mime.po index bdca34d79c..a9d9811d3b 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -1,29 +1,32 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-12 10:25+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/email.mime.rst:2 msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" msgstr "" +":mod:`email.mime`: Creación de correo electrónico y objetos MIME desde cero" #: ../Doc/library/email.mime.rst:7 msgid "**Source code:** :source:`Lib/email/mime/`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/email/mime/`" #: ../Doc/library/email.mime.rst:11 msgid "" @@ -32,6 +35,10 @@ msgid "" "the new API, but in certain applications these classes may still be useful, " "even in non-legacy code." msgstr "" +"Este módulo forma parte de la API heredada de correo electrónico " +"(``Compat32``). Su funcionalidad se sustituye parcialmente por el :mod:" +"`~email.contentmanager` en la nueva API, pero en ciertas aplicaciones estas " +"clases pueden seguir siendo útiles, incluso en código no heredado." #: ../Doc/library/email.mime.rst:16 msgid "" @@ -43,6 +50,14 @@ msgid "" "`~email.message.Message` objects, move them around, etc. This makes a very " "convenient interface for slicing-and-dicing MIME messages." msgstr "" +"Normalmente, se obtiene una estructura de objeto de mensaje pasando un " +"archivo o algún texto a un analizador, que analiza el texto y retorna el " +"objeto de mensaje principal. Sin embargo, también puede crear una estructura " +"de mensajes completa desde cero, o incluso objetos individuales :class:" +"`~email.message.Message` a mano. De hecho, también puede tomar una " +"estructura existente y agregar nuevos objetos :class:`~email.message." +"Message`, moverlos, etc. Esto compone una interfaz muy conveniente para " +"cortar y gestionar mensajes MIME." #: ../Doc/library/email.mime.rst:24 msgid "" @@ -51,14 +66,19 @@ msgid "" "manually. For MIME messages though, the :mod:`email` package provides some " "convenient subclasses to make things easier." msgstr "" +"Puede crear una nueva estructura de objeto mediante la creación de una " +"instancia de :class:`~email.message.Message`, añadiendo accesorios y todos " +"los encabezados necesarios manualmente. Para mensajes MIME sin embargo, el " +"paquete :mod:`email` proporciona subclases convenientes para facilitar las " +"cosas." #: ../Doc/library/email.mime.rst:29 msgid "Here are the classes:" -msgstr "" +msgstr "Descripción de las clases:" #: ../Doc/library/email.mime.rst:35 msgid "Module: :mod:`email.mime.base`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.base`" #: ../Doc/library/email.mime.rst:37 msgid "" @@ -68,6 +88,11 @@ msgid "" "provided primarily as a convenient base class for more specific MIME-aware " "subclasses." msgstr "" +"Esta es la clase básica para todas las subclases específicas :class:`~email." +"message.Message` para MIME. Normalmente no creará instancias específicas de " +"la :class:`MIMEBase`, aunque es posible. La :class:`MIMEBase` se proporciona " +"principalmente como una clase básica conveniente para subclases más " +"específicas, apropiadas para MIME." #: ../Doc/library/email.mime.rst:43 msgid "" @@ -77,12 +102,19 @@ msgid "" "a parameter key/value dictionary and is passed directly to :meth:`Message." "add_header `." msgstr "" +"*_maintype* es el tipo principal :mailheader:`Content-Type` (por ejemplo :" +"mimetype:`text` o :mimetype:`image`), y *_subtype* es el tipo menor :" +"mailheader:`Content-Type` (por ejemplo :mimetype:`plain` o :mimetype:`gif`). " +"*_params* es un diccionario de parámetro clave/valor y se pasa directamente " +"a :meth:`Message.add_header `." #: ../Doc/library/email.mime.rst:49 msgid "" "If *policy* is specified, (defaults to the :class:`compat32 ` policy) it will be passed to :class:`~email.message.Message`." msgstr "" +"Si se especifica *policy*, (por defecto, la directiva :class:`compat32 " +"`) se pasará a :class:`~email.message.Message`." #: ../Doc/library/email.mime.rst:53 msgid "" @@ -90,17 +122,20 @@ msgid "" "(based on *_maintype*, *_subtype*, and *_params*), and a :mailheader:`MIME-" "Version` header (always set to ``1.0``)." msgstr "" +"La clase :class:`MIMEBase` siempre agrega un encabezado :mailheader:`Content-" +"Type` (basado en *_maintype*, *_subtype* y *_params*), y un encabezado :" +"mailheader:`MIME-Versión` (siempre establecido en ``1.0``)." #: ../Doc/library/email.mime.rst:57 ../Doc/library/email.mime.rst:104 #: ../Doc/library/email.mime.rst:135 ../Doc/library/email.mime.rst:169 #: ../Doc/library/email.mime.rst:204 ../Doc/library/email.mime.rst:224 #: ../Doc/library/email.mime.rst:258 msgid "Added *policy* keyword-only parameter." -msgstr "" +msgstr "Se ha añadido el parámetro *policy* de solo palabra clave." #: ../Doc/library/email.mime.rst:65 msgid "Module: :mod:`email.mime.nonmultipart`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.nonmultipart`" #: ../Doc/library/email.mime.rst:67 msgid "" @@ -111,10 +146,16 @@ msgid "" "`multipart` messages. If :meth:`~email.message.Message.attach` is called, " "a :exc:`~email.errors.MultipartConversionError` exception is raised." msgstr "" +"Una subclase de :class:`~email.mime.base.MIMEBase`, es una clase base " +"intermedia para los mensajes MIME que no son :mimetype:`multipart`. El " +"propósito principal de esta clase es evitar el uso del método :meth:`~email." +"message.Message.attach`, que solo tiene sentido para los mensajes :mimetype:" +"`multipart`. Si se llama a :meth:`~email.message.message.attach`, se lanza " +"una excepción :exc:`~email.errors.MultipartConversionError`." #: ../Doc/library/email.mime.rst:80 msgid "Module: :mod:`email.mime.multipart`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.multipart`" #: ../Doc/library/email.mime.rst:82 msgid "" @@ -125,6 +166,13 @@ msgid "" "`multipart/_subtype` will be added to the message object. A :mailheader:" "`MIME-Version` header will also be added." msgstr "" +"Una subclase de :class:`~email.mime.base.MIMEBase`, se trata de una clase " +"base intermedia para los mensajes MIME que son :mimetype:`multipart`. El " +"valor predeterminado opcional de *_subtype* es :mimetype:`mixed`, pero se " +"puede utilizar para especificar el subtipo del mensaje. Se agregará un " +"encabezado :mailheader:`Content-Type` de :mimetype:`multipart/_subtype` al " +"objeto del mensaje. También se agregará un encabezado :mailheader:`MIME-" +"Version`." #: ../Doc/library/email.mime.rst:89 msgid "" @@ -132,6 +180,9 @@ msgid "" "default), the boundary is calculated when needed (for example, when the " "message is serialized)." msgstr "" +"El *boundary* opcional es la cadena de límite multiparte. Cuando ``None`` " +"(valor predeterminado), el límite se calcula cuando es necesario (por " +"ejemplo, cuando se serializa el mensaje)." #: ../Doc/library/email.mime.rst:93 msgid "" @@ -140,6 +191,10 @@ msgid "" "subparts to the message by using the :meth:`Message.attach ` method." msgstr "" +"*_subparts* es una secuencia de subpartes iniciales para la carga útil. Debe " +"ser posible convertir esta secuencia en una lista. Siempre puede adjuntar " +"nuevas subpartes al mensaje mediante el método :meth:`Message.attach `." #: ../Doc/library/email.mime.rst:98 ../Doc/library/email.mime.rst:131 #: ../Doc/library/email.mime.rst:165 ../Doc/library/email.mime.rst:199 @@ -148,6 +203,8 @@ msgid "" "Optional *policy* argument defaults to :class:`compat32 `." msgstr "" +"El valor predeterminado del argumento *policy* opcional es :class:`compat32 " +"`." #: ../Doc/library/email.mime.rst:100 msgid "" @@ -155,10 +212,13 @@ msgid "" "from the keyword arguments, or passed into the *_params* argument, which is " "a keyword dictionary." msgstr "" +"Los parámetros adicionales para el encabezado :mailheader:`Content-Type` se " +"toman de los argumentos de palabra clave, o se pasan al argumento *_params*, " +"que es un diccionario de palabras clave." #: ../Doc/library/email.mime.rst:113 msgid "Module: :mod:`email.mime.application`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.application`" #: ../Doc/library/email.mime.rst:115 msgid "" @@ -168,6 +228,12 @@ msgid "" "data. Optional *_subtype* specifies the MIME subtype and defaults to :" "mimetype:`octet-stream`." msgstr "" +"Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " +"clase :class:`MIMEApplication` se utiliza para representar objetos de " +"mensaje MIME de tipo principal :mimetype:`application`. *_data* es una " +"cadena de caracteres que contiene los datos de bytes sin procesar. " +"*_subtype* opcional especifica el subtipo MIME y el valor predeterminado es :" +"mimetype:`octet-stream`." #: ../Doc/library/email.mime.rst:121 msgid "" @@ -180,14 +246,23 @@ msgid "" "object as necessary. The default encoding is base64. See the :mod:`email." "encoders` module for a list of the built-in encoders." msgstr "" +"*_encoder* opcional es una recurso invocable (es decir, una función) que " +"realizará la codificación real de los datos para el transporte. Este " +"invocable toma un argumento, que es la instancia :class:`MIMEApplication`. " +"Debe utilizar :meth:`~email.message.Message.get_payload` y :meth:`~email." +"message.Message.set_payload` para cambiar la carga útil a la forma " +"codificada. También debe agregar cualquier :mailheader:`Content-Transfer-" +"Encoding` u otros encabezados al objeto del mensaje según sea necesario. La " +"codificación predeterminada es base64. Consulte el módulo :mod:`email." +"encoders` para obtener una lista de los codificadores integrados." #: ../Doc/library/email.mime.rst:133 ../Doc/library/email.mime.rst:167 msgid "*_params* are passed straight through to the base class constructor." -msgstr "" +msgstr "*_params* se pasan directamente al constructor de la clase base." #: ../Doc/library/email.mime.rst:144 msgid "Module: :mod:`email.mime.audio`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.audio`" #: ../Doc/library/email.mime.rst:146 msgid "" @@ -200,6 +275,15 @@ msgid "" "*_subtype* argument. If the minor type could not be guessed and *_subtype* " "was not given, then :exc:`TypeError` is raised." msgstr "" +"Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " +"clase :class:`MIMEAudio` se utiliza para crear objetos de mensaje MIME de " +"tipo principal :mimetype:`audio`. *_audiodata* es una cadena de caracteres " +"que contiene los datos de audio sin procesar. Si estos datos pueden ser " +"decodificados por el módulo estándar de Python :mod:`sndhdr`, entonces el " +"subtipo se incluirá automáticamente en el encabezado :mailheader:`Content-" +"Type`. De lo contrario, puede especificar explícitamente el subtipo de audio " +"mediante el argumento *_subtype*. Si no se pudo adivinar el tipo secundario " +"y no se ha proporcionado *_subtype*, se lanza :exc:`TypeError`." #: ../Doc/library/email.mime.rst:155 msgid "" @@ -212,10 +296,19 @@ msgid "" "object as necessary. The default encoding is base64. See the :mod:`email." "encoders` module for a list of the built-in encoders." msgstr "" +"*_encoder* opcional es un recurso invocable (es decir, una función) que " +"realizará la codificación real de los datos de audio para el transporte. " +"Este invocable toma un argumento, que es la instancia :class:`MIMEAudio`. " +"Debe utilizar :meth:`~email.message.Message.get_payload` y :meth:`~email." +"message.Message.set_payload` para cambiar la carga útil a la forma " +"codificada. También debe agregar cualquier :mailheader:`Content-Transfer-" +"Encoding` u otros encabezados al objeto del mensaje según sea necesario. La " +"codificación predeterminada es base64. Consulte el módulo :mod:`email." +"encoders` para obtener una lista de los codificadores integrados." #: ../Doc/library/email.mime.rst:178 msgid "Module: :mod:`email.mime.image`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.image`" #: ../Doc/library/email.mime.rst:180 msgid "" @@ -228,6 +321,15 @@ msgid "" "*_subtype* argument. If the minor type could not be guessed and *_subtype* " "was not given, then :exc:`TypeError` is raised." msgstr "" +"Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " +"clase :class:`MIMEImage` se utiliza para crear objetos de mensaje MIME de " +"tipo principal :mimetype:`image`. *_imagedata* es una cadena de caracteres " +"que contiene los datos de imagen sin procesar. Si estos datos pueden ser " +"decodificados por el módulo estándar de Python :mod:`imghdr`, entonces el " +"subtipo se incluirá automáticamente en el encabezado :mailheader:`Content-" +"Type`. De lo contrario, puede especificar explícitamente el subtipo de " +"imagen mediante el argumento *_subtype*. Si no se pudo adivinar el tipo " +"secundario y no se ha proporcionado *_subtype*, se lanza :exc:`TypeError`." #: ../Doc/library/email.mime.rst:189 msgid "" @@ -240,16 +342,27 @@ msgid "" "object as necessary. The default encoding is base64. See the :mod:`email." "encoders` module for a list of the built-in encoders." msgstr "" +"*_encoder* opcional es un recurso invocable (es decir, una función) que " +"realizará la codificación real de los datos de imagen para el transporte. " +"Este invocable toma un argumento, que es la instancia :class:`MIMEImage`. " +"Debe utilizar :meth:`~email.message.Message.get_payload` y :meth:`~email." +"message.Message.set_payload` para cambiar la carga útil a la forma " +"codificada. También debe agregar cualquier :mailheader:`Content-Transfer-" +"Encoding` u otros encabezados al objeto del mensaje según sea necesario. La " +"codificación predeterminada es base64. Consulte el módulo :mod:`email." +"encoders` para obtener una lista de los codificadores integrados." #: ../Doc/library/email.mime.rst:201 msgid "" "*_params* are passed straight through to the :class:`~email.mime.base." "MIMEBase` constructor." msgstr "" +"*_params* se pasan directamente al constructor :class:`~email.mime.base." +"MIMEBase`." #: ../Doc/library/email.mime.rst:211 msgid "Module: :mod:`email.mime.message`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.message`" #: ../Doc/library/email.mime.rst:213 msgid "" @@ -259,16 +372,23 @@ msgid "" "class:`~email.message.Message` (or a subclass thereof), otherwise a :exc:" "`TypeError` is raised." msgstr "" +"Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " +"clase :class:`MIMEMessage` se utiliza para crear objetos MIME de tipo " +"principal :mimetype:`message`. *_msg* se utiliza como la carga y debe ser " +"una instancia de la clase :class:`~email.message.Message` (o una subclase de " +"la misma), de lo contrario se lanza un :exc:`TypeError`." #: ../Doc/library/email.mime.rst:219 msgid "" "Optional *_subtype* sets the subtype of the message; it defaults to :" "mimetype:`rfc822`." msgstr "" +"*_subtype* opcional establece el subtipo del mensaje; por defecto es :" +"mimetype:`rfc822`." #: ../Doc/library/email.mime.rst:231 msgid "Module: :mod:`email.mime.text`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.text`" #: ../Doc/library/email.mime.rst:233 msgid "" @@ -282,6 +402,15 @@ msgid "" "*_charset* parameter accepts either a string or a :class:`~email.charset." "Charset` instance." msgstr "" +"Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " +"clase :class:`MIMEText` se utiliza para crear objetos MIME de tipo " +"principal :mimetype:`text`. *_text* es la cadena de caracteres de la carga " +"útil. *_subtype* es el tipo menor y el valor predeterminado es :mimetype:" +"`plain`. *_charset* es el paquete de caracteres del texto y se pasa como " +"argumento al constructor :class:`~email.mime.nonmultipart.MIMENonMultipart`; " +"el valor predeterminado es ``us-ascii`` si la cadena contiene sólo puntos de " +"código ``ascii``, y ``utf-8`` en caso contrario. El parámetro *_charset* " +"acepta una cadena o una instancia :class:`~email.charset.Charset`." #: ../Doc/library/email.mime.rst:243 msgid "" @@ -295,7 +424,17 @@ msgid "" "encode the new payload (and add a new :mailheader:`Content-Transfer-" "Encoding` header)." msgstr "" +"A menos que el argumento *_charset* se establezca explícitamente como " +"``None``, el objeto MIMEText creado tendrá a la vez un encabezado :" +"mailheader:`Content-Type` con un parámetro ``charset``, y un encabezado :" +"mailheader:`Content-Transfer-Encoding`. Esto significa que una llamada " +"posterior a ``set_payload`` no dará lugar a una carga codificada, incluso si " +"se pasa un conjunto de caracteres en el comando ``set_payload``. Puede " +"\"restablecer\" este comportamiento eliminando el encabezado ``Content-" +"Transfer-Encoding``, después de lo cual una llamada a ``set_payload`` " +"codificará automáticamente la nueva carga útil (y agregará un nuevo " +"encabezado :mailheader:`Content-Transfer-Encoding`)." #: ../Doc/library/email.mime.rst:255 msgid "*_charset* also accepts :class:`~email.charset.Charset` instances." -msgstr "" +msgstr "*_charset* también acepta instancias :class:`~email.charset.Charset`." From 088311fb695afc4db79fd32c524472dec2ecbdcd Mon Sep 17 00:00:00 2001 From: Javier Daza Date: Sun, 20 Dec 2020 14:03:16 -0500 Subject: [PATCH 092/153] =?UTF-8?q?Traducci=C3=B3n=20library/collections?= =?UTF-8?q?=20(#1072)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/library_collections.txt | 31 ++ library/collections.po | 591 ++++++++++++++++++++++++--- 2 files changed, 573 insertions(+), 49 deletions(-) create mode 100644 dictionaries/library_collections.txt diff --git a/dictionaries/library_collections.txt b/dictionaries/library_collections.txt new file mode 100644 index 0000000000..047041855e --- /dev/null +++ b/dictionaries/library_collections.txt @@ -0,0 +1,31 @@ +Algorítmicamente +autodocumentado +actualizable +appending +appends +bag +bags +Counter +Counters +deque +deques +Deques +Django +Enthought +Factory +factory +iteración +mapeados +mapping +mappings +multiconjunto +multiconjuntos +pickling +popping +pops +pushing +reordenamiento +subclasificaciones +typename +field +names diff --git a/library/collections.po b/library/collections.po index 36bc29bd56..5c414930bf 100644 --- a/library/collections.po +++ b/library/collections.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-11-20 10:41-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Javier Daza C\n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" -msgstr "" +msgstr ":mod:`collections` --- Tipos de datos contenedor" #: ../Doc/library/collections.rst:10 msgid "**Source code:** :source:`Lib/collections/__init__.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/collections/__init__.py`" #: ../Doc/library/collections.rst:20 msgid "" @@ -34,78 +36,94 @@ msgid "" "alternatives to Python's general purpose built-in containers, :class:" "`dict`, :class:`list`, :class:`set`, and :class:`tuple`." msgstr "" +"Este módulo implementa tipos de datos de contenedores especializados que " +"proporcionan alternativas a los contenedores integrados de uso general de " +"Python, :class:`dict`, :class:`list`, :class:`set`, and :class:`tuple`." #: ../Doc/library/collections.rst:25 msgid ":func:`namedtuple`" -msgstr "" +msgstr ":func:`namedtuple`" #: ../Doc/library/collections.rst:25 msgid "factory function for creating tuple subclasses with named fields" msgstr "" +"función *factory* para crear subclases de *tuplas* con campos con nombre" #: ../Doc/library/collections.rst:26 msgid ":class:`deque`" -msgstr "" +msgstr ":class:`deque`" #: ../Doc/library/collections.rst:26 msgid "list-like container with fast appends and pops on either end" msgstr "" +"contenedor similar a una lista con *appends* y *pops* rápidos en ambos " +"extremos" #: ../Doc/library/collections.rst:27 msgid ":class:`ChainMap`" -msgstr "" +msgstr ":class:`ChainMap`" #: ../Doc/library/collections.rst:27 msgid "dict-like class for creating a single view of multiple mappings" msgstr "" +"clase similar a *dict* para crear una vista única de múltiples *mapeados*" #: ../Doc/library/collections.rst:28 msgid ":class:`Counter`" -msgstr "" +msgstr ":class:`Counter`" #: ../Doc/library/collections.rst:28 msgid "dict subclass for counting hashable objects" -msgstr "" +msgstr "subclase de *dict* para contar objetos *hashables*" #: ../Doc/library/collections.rst:29 msgid ":class:`OrderedDict`" -msgstr "" +msgstr ":class:`OrderedDict`" #: ../Doc/library/collections.rst:29 msgid "dict subclass that remembers the order entries were added" msgstr "" +"subclase de *dict* que recuerda las entradas de la orden que se agregaron" #: ../Doc/library/collections.rst:30 msgid ":class:`defaultdict`" -msgstr "" +msgstr ":class:`defaultdict`" #: ../Doc/library/collections.rst:30 msgid "dict subclass that calls a factory function to supply missing values" msgstr "" +"subclase de *dict* que llama a una función de *factory* para suministrar " +"valores faltantes" #: ../Doc/library/collections.rst:31 msgid ":class:`UserDict`" -msgstr "" +msgstr ":class:`UserDict`" #: ../Doc/library/collections.rst:31 msgid "wrapper around dictionary objects for easier dict subclassing" msgstr "" +"envoltura alrededor de los objetos de diccionario para facilitar " +"subclasificaciones *dict*" #: ../Doc/library/collections.rst:32 msgid ":class:`UserList`" -msgstr "" +msgstr ":class:`UserList`" #: ../Doc/library/collections.rst:32 msgid "wrapper around list objects for easier list subclassing" msgstr "" +"envoltura alrededor de los objetos de lista para facilitar la " +"subclasificación de un *list*" #: ../Doc/library/collections.rst:33 msgid ":class:`UserString`" -msgstr "" +msgstr ":class:`UserString`" #: ../Doc/library/collections.rst:33 msgid "wrapper around string objects for easier string subclassing" msgstr "" +"envoltura alrededor de objetos de cadena para facilitar la subclasificación " +"de *string*" #: ../Doc/library/collections.rst:41 msgid "" @@ -113,10 +131,13 @@ msgid "" "module. For backwards compatibility, they continue to be visible in this " "module through Python 3.9." msgstr "" +"Trasladado :ref:`collections-abstract-base-classes` al modulo :mod:" +"`collections.abc`. Para compatibilidad hacia atrás, continúan siendo " +"visibles en este módulo a través de Python 3.9." #: ../Doc/library/collections.rst:43 msgid ":class:`ChainMap` objects" -msgstr "" +msgstr "Objetos :class:`ChainMap`" #: ../Doc/library/collections.rst:47 msgid "" @@ -125,11 +146,17 @@ msgid "" "than creating a new dictionary and running multiple :meth:`~dict.update` " "calls." msgstr "" +"Una clase :class:`ChainMap` se proporciona para vincular rápidamente una " +"serie de *mappings* de modo que puedan tratarse como una sola unidad. Suele " +"ser mucho más rápido que crear un diccionario nuevo y ejecutar varias " +"llamadas a :meth:`~dict.update`." #: ../Doc/library/collections.rst:51 msgid "" "The class can be used to simulate nested scopes and is useful in templating." msgstr "" +"La clase se puede utilizar para simular ámbitos anidados y es útil para " +"crear plantillas." #: ../Doc/library/collections.rst:55 msgid "" @@ -138,12 +165,19 @@ msgid "" "empty dictionary is provided so that a new chain always has at least one " "mapping." msgstr "" +"Un :class:`ChainMap` agrupa varios diccionarios u otros *mappings* para " +"crear una vista única y actualizable. Si no se especifican *maps*, se " +"proporciona un solo diccionario vacío para que una nueva cadena siempre " +"tenga al menos un *mapeo*." #: ../Doc/library/collections.rst:59 msgid "" "The underlying mappings are stored in a list. That list is public and can " "be accessed or updated using the *maps* attribute. There is no other state." msgstr "" +"Las asignaciones subyacentes se almacenan en una lista. Esa lista es pública " +"y se puede acceder a ella o actualizarla usando el atributo *maps*. No hay " +"otro estado." #: ../Doc/library/collections.rst:62 msgid "" @@ -151,6 +185,9 @@ msgid "" "In contrast, writes, updates, and deletions only operate on the first " "mapping." msgstr "" +"Las búsquedas buscan los mapeos subyacentes sucesivamente hasta que se " +"encuentra una clave. Por el contrario, las escrituras, actualizaciones y " +"eliminaciones solo operan en el primer *mapeo*." #: ../Doc/library/collections.rst:65 msgid "" @@ -158,6 +195,9 @@ msgid "" "if one of the underlying mappings gets updated, those changes will be " "reflected in :class:`ChainMap`." msgstr "" +"Un :class:`ChainMap` incorpora los mapeos subyacentes por referencia. " +"Entonces, si una de los mapeos subyacentes se actualiza, esos cambios se " +"reflejarán en :class:`ChainMap`." #: ../Doc/library/collections.rst:69 msgid "" @@ -165,6 +205,9 @@ msgid "" "*maps* attribute, a method for creating new subcontexts, and a property for " "accessing all but the first mapping:" msgstr "" +"Se admiten todos los métodos habituales de un diccionario. Además, hay un " +"atributo *maps*, un método para crear nuevos sub contextos y una propiedad " +"para acceder a todos menos al primer mapeo:" #: ../Doc/library/collections.rst:75 msgid "" @@ -173,6 +216,10 @@ msgid "" "which mappings are searched. The list should always contain at least one " "mapping." msgstr "" +"Una lista de mapeos actualizable por el usuario. La lista está ordenada " +"desde la primera búsqueda hasta la última búsqueda. Es el único estado " +"almacenado y se puede modificar para cambiar los mapeos que se buscan. La " +"lista siempre debe contener al menos un mapeo." #: ../Doc/library/collections.rst:82 msgid "" @@ -183,10 +230,17 @@ msgid "" "*d.maps)``. This method is used for creating subcontexts that can be " "updated without altering values in any of the parent mappings." msgstr "" +"Retorna un nuevo :class:`ChainMap` conteniendo un nuevo mapa seguido de " +"todos los mapas de la instancia actual. Si se especifica ``m``, se " +"convierte en el nuevo mapa al principio de la lista de asignaciones; si no " +"se especifica, se usa un dict vacío, de modo que una llamada a ``d." +"new_child()`` es equivalente a: ``ChainMap({}, *d.maps)``. Este método se " +"utiliza para crear sub contextos que se pueden actualizar sin alterar los " +"valores en ninguna de los mapeos padre." #: ../Doc/library/collections.rst:90 msgid "The optional ``m`` parameter was added." -msgstr "" +msgstr "Se agregó el parámetro opcional ``m`` ." #: ../Doc/library/collections.rst:95 msgid "" @@ -197,18 +251,29 @@ msgid "" "cases also parallel those for the built-in :func:`super` function. A " "reference to ``d.parents`` is equivalent to: ``ChainMap(*d.maps[1:])``." msgstr "" +"Propiedad que retorna un nuevo :class:`ChainMap` conteniendo todos los mapas " +"de la instancia actual excepto el primero. Esto es útil para omitir el " +"primer mapa en la búsqueda. Los casos de uso son similares a los de :" +"keyword:`nonlocal` la palabra clave usada en :term:`alcances anidados " +"`. Los casos de uso también son paralelos a los de la función " +"incorporada :func:`super`. Una referencia a ``d.parents`` es equivalente a: " +"``ChainMap(*d.maps[1:])``." #: ../Doc/library/collections.rst:103 msgid "" "Note, the iteration order of a :class:`ChainMap()` is determined by scanning " "the mappings last to first::" msgstr "" +"Tenga en cuenta que el orden de iteración de a :class:`ChainMap()` se " +"determina escaneando los mapeos del último al primero::" #: ../Doc/library/collections.rst:111 msgid "" "This gives the same ordering as a series of :meth:`dict.update` calls " "starting with the last mapping::" msgstr "" +"Esto da el mismo orden que una serie de llamadas a :meth:`dict.update` " +"comenzando con el último mapeo::" #: ../Doc/library/collections.rst:121 msgid "" @@ -217,6 +282,10 @@ msgid "" "`_ has options to support writing to " "any mapping in the chain." msgstr "" +"La `clase MultiContext `_ en el paquete de Enthought llamado " +"`CodeTools `_ tiene opciones para " +"admitir la escritura en cualquier mapeo de la cadena." #: ../Doc/library/collections.rst:127 msgid "" @@ -226,6 +295,11 @@ msgid "" "`~collections.ChainMap.new_child` method and the :attr:`~collections." "ChainMap.parents` property." msgstr "" +"La clase de Django `Context `_ para crear plantillas es una cadena de mapeo " +"de solo lectura. También presenta características de pushing y popping de " +"contextos similar al método :meth:`~collections.ChainMap.new_child` y a la " +"propiedad :attr:`~collections.ChainMap.parents` ." #: ../Doc/library/collections.rst:134 msgid "" @@ -233,24 +307,30 @@ msgid "" "has options to control whether writes and other mutations apply only to the " "first mapping or to any mapping in the chain." msgstr "" +"La `receta de Contextos Anidados `_ tiene opciones para controlar si las escrituras y otras " +"mutaciones se aplican solo al primer mapeo o a cualquier mapeo en la cadena." #: ../Doc/library/collections.rst:139 msgid "" "A `greatly simplified read-only version of Chainmap `_." msgstr "" +"Una `versión de solo lectura muy simplificada de Chainmap `_." #: ../Doc/library/collections.rst:144 msgid ":class:`ChainMap` Examples and Recipes" -msgstr "" +msgstr "Ejemplos y recetas :class:`ChainMap`" #: ../Doc/library/collections.rst:146 msgid "This section shows various approaches to working with chained maps." msgstr "" +"Esta sección muestra varios enfoques para trabajar con mapas encadenados." #: ../Doc/library/collections.rst:149 msgid "Example of simulating Python's internal lookup chain::" -msgstr "" +msgstr "Ejemplo de simulación de la cadena de búsqueda interna de Python:" #: ../Doc/library/collections.rst:154 msgid "" @@ -258,12 +338,17 @@ msgid "" "over environment variables which in turn take precedence over default " "values::" msgstr "" +"Ejemplo de dejar que los argumentos de la línea de comandos especificados " +"por el usuario tengan prioridad sobre las variables de entorno que, a su " +"vez, tienen prioridad sobre los valores predeterminados::" #: ../Doc/library/collections.rst:171 msgid "" "Example patterns for using the :class:`ChainMap` class to simulate nested " "contexts::" msgstr "" +"Patrones de ejemplo para usar la clase :class:`ChainMap` para simular " +"contextos anidados::" #: ../Doc/library/collections.rst:190 msgid "" @@ -272,16 +357,23 @@ msgid "" "However, if deep writes and deletions are desired, it is easy to make a " "subclass that updates keys found deeper in the chain::" msgstr "" +"La clase :class:`ChainMap` solo realiza actualizaciones (escrituras y " +"eliminaciones) en el primer mapeo de la cadena, mientras que las búsquedas " +"buscarán en la cadena completa. Sin embargo, si se desean escrituras y " +"eliminaciones profundas, es fácil crear una subclase que actualice las " +"llaves que se encuentran más profundas en la cadena::" #: ../Doc/library/collections.rst:221 msgid ":class:`Counter` objects" -msgstr "" +msgstr "Objetos :class:`Counter`" #: ../Doc/library/collections.rst:223 msgid "" "A counter tool is provided to support convenient and rapid tallies. For " "example::" msgstr "" +"Se proporciona una herramienta de contador para respaldar recuentos rápidos " +"y convenientes. Por ejemplo::" #: ../Doc/library/collections.rst:242 msgid "" @@ -291,24 +383,37 @@ msgid "" "integer value including zero or negative counts. The :class:`Counter` class " "is similar to bags or multisets in other languages." msgstr "" +"Una clase :class:`Counter` es una subclase :class:`dict` para contar objetos " +"hashables. Es una colección donde los elementos se almacenan como llaves de " +"diccionario y sus conteos se almacenan como valores de diccionario. Se " +"permite que los conteos sean cualquier valor entero, incluidos los conteos " +"de cero o negativos. La clase :class:`Counter` es similar a los *bags* o " +"multiconjuntos en otros idiomas." #: ../Doc/library/collections.rst:248 msgid "" "Elements are counted from an *iterable* or initialized from another " "*mapping* (or counter):" msgstr "" +"Los elementos se cuentan desde un *iterable* o se inicializan desde otro " +"*mapeo* (o contador):" #: ../Doc/library/collections.rst:256 msgid "" "Counter objects have a dictionary interface except that they return a zero " "count for missing items instead of raising a :exc:`KeyError`:" msgstr "" +"Los objetos Counter tienen una interfaz de diccionario, excepto que retornan " +"un conteo de cero para los elementos faltantes en lugar de levantar una :exc:" +"`KeyError`:" #: ../Doc/library/collections.rst:263 msgid "" "Setting a count to zero does not remove an element from a counter. Use " "``del`` to remove it entirely:" msgstr "" +"Establecer un conteo en cero no elimina un elemento de un contador. Utilice " +"``del`` para eliminarlo por completo:" #: ../Doc/library/collections.rst:271 msgid "" @@ -318,12 +423,19 @@ msgid "" "encountered in the left operand and then by the order encountered in the " "right operand." msgstr "" +"Como subclase de :class:`dict` , :class:`Counter` heredó la capacidad de " +"recordar el orden de inserción. Las operaciones matemáticas en objetos " +"*Counter* también preserva el orden. Los resultados se ordenan cuando se " +"encuentra un elemento por primera vez en el operando izquierdo y luego según " +"el orden encontrado en el operando derecho." #: ../Doc/library/collections.rst:277 msgid "" "Counter objects support three methods beyond those available for all " "dictionaries:" msgstr "" +"Los objetos Counter admiten tres métodos más allá de los disponibles para " +"todos los diccionarios:" #: ../Doc/library/collections.rst:282 msgid "" @@ -331,6 +443,10 @@ msgid "" "Elements are returned in the order first encountered. If an element's count " "is less than one, :meth:`elements` will ignore it." msgstr "" +"Retorna un iterador sobre los elementos que se repiten tantas veces como su " +"conteo. Los elementos se retornan en el orden en que se encontraron por " +"primera vez. Si el conteo de un elemento es menor que uno, :meth:`elements` " +"lo ignorará." #: ../Doc/library/collections.rst:292 msgid "" @@ -339,6 +455,10 @@ msgid "" "returns *all* elements in the counter. Elements with equal counts are " "ordered in the order first encountered:" msgstr "" +"Retorna una lista de los *n* elementos mas comunes y sus conteos, del mas " +"común al menos común. Si se omite *n* o ``None``, :meth:`most_common` " +"retorna *todos* los elementos del contador. Los elementos con conteos " +"iguales se ordenan en el orden en que se encontraron por primera vez:" #: ../Doc/library/collections.rst:302 msgid "" @@ -346,16 +466,22 @@ msgid "" "counter). Like :meth:`dict.update` but subtracts counts instead of " "replacing them. Both inputs and outputs may be zero or negative." msgstr "" +"Los elementos se restan de un *iterable* o de otro *mapeo* (o contador). " +"Como :meth:`dict.update` pero resta los conteos en lugar de reemplazarlos. " +"Tanto las entradas como las salidas pueden ser cero o negativas." #: ../Doc/library/collections.rst:314 msgid "" "The usual dictionary methods are available for :class:`Counter` objects " "except for two which work differently for counters." msgstr "" +"Los métodos de diccionario habituales están disponibles para objetos :class:" +"`Counter` excepto dos que funcionan de manera diferente para los contadores." #: ../Doc/library/collections.rst:319 msgid "This class method is not implemented for :class:`Counter` objects." msgstr "" +"Este método de clase no está implementado para objetos :class:`Counter` ." #: ../Doc/library/collections.rst:323 msgid "" @@ -364,10 +490,14 @@ msgid "" "them. Also, the *iterable* is expected to be a sequence of elements, not a " "sequence of ``(key, value)`` pairs." msgstr "" +"Los elementos se cuentan desde un *iterable* o agregados desde otro *mapeo* " +"(o contador). Como :meth:`dict.update` pero agrega conteos en lugar de " +"reemplazarlos. Además, se espera que el *iterable* sea una secuencia de " +"elementos, no una secuencia de parejas ``(llave, valor)`` ." #: ../Doc/library/collections.rst:328 msgid "Common patterns for working with :class:`Counter` objects::" -msgstr "" +msgstr "Patrones comunes para trabajar con objetos :class:`Counter`::" #: ../Doc/library/collections.rst:340 msgid "" @@ -379,17 +509,28 @@ msgid "" "signed counts, but the output will exclude results with counts of zero or " "less." msgstr "" +"Se proporcionan varias operaciones matemáticas para combinar objetos :class:" +"`Counter` para producir multiconjuntos (contadores que tienen conteos " +"mayores que cero). La suma y la resta combinan contadores sumando o restando " +"los conteos de los elementos correspondientes. La Intersección y unión " +"retornan el mínimo y el máximo de conteos correspondientes. Cada operación " +"puede aceptar entradas con conteos con signo, pero la salida excluirá los " +"resultados con conteos de cero o menos." #: ../Doc/library/collections.rst:358 msgid "" "Unary addition and subtraction are shortcuts for adding an empty counter or " "subtracting from an empty counter." msgstr "" +"La suma y resta unaria son atajos para agregar un contador vacío o restar de " +"un contador vacío." #: ../Doc/library/collections.rst:367 msgid "" "Added support for unary plus, unary minus, and in-place multiset operations." msgstr "" +"Se agregó soporte para operaciones unarias de adición, resta y multiconjunto " +"en su lugar (*in-place*)." #: ../Doc/library/collections.rst:372 msgid "" @@ -398,6 +539,11 @@ msgid "" "cases needing other types or negative values. To help with those use cases, " "this section documents the minimum range and type restrictions." msgstr "" +"Los Counters se diseñaron principalmente para trabajar con números enteros " +"positivos para representar conteos continuos; sin embargo, se tuvo cuidado " +"de no excluir innecesariamente los casos de uso que necesitan otros tipos o " +"valores negativos. Para ayudar con esos casos de uso, esta sección documenta " +"el rango mínimo y las restricciones de tipo." #: ../Doc/library/collections.rst:377 msgid "" @@ -405,12 +551,18 @@ msgid "" "restrictions on its keys and values. The values are intended to be numbers " "representing counts, but you *could* store anything in the value field." msgstr "" +"La clase :class:`Counter` en sí misma es una subclase de diccionario sin " +"restricciones en sus llaves y valores. Los valores están pensados para ser " +"números que representan conteos, pero *podría* almacenar cualquier cosa en " +"el campo de valor." #: ../Doc/library/collections.rst:381 msgid "" "The :meth:`~Counter.most_common` method requires only that the values be " "orderable." msgstr "" +"El método :meth:`~Counter.most_common` solo requiere que los valores se " +"puedan ordenar." #: ../Doc/library/collections.rst:383 msgid "" @@ -420,6 +572,11 @@ msgid "" "`~Counter.update` and :meth:`~Counter.subtract` which allow negative and " "zero values for both inputs and outputs." msgstr "" +"Para operaciones en su lugar (*in-place*) como ``c[key] += 1``, el tipo de " +"valor solo necesita admitir la suma y la resta. Por lo tanto, las " +"fracciones, flotantes y decimales funcionarían y se admiten valores " +"negativos. Lo mismo ocurre con :meth:`~Counter.update` y :meth:`~Counter." +"subtract` que permiten valores negativos y cero para las entradas y salidas." #: ../Doc/library/collections.rst:389 msgid "" @@ -428,29 +585,41 @@ msgid "" "are created. There are no type restrictions, but the value type needs to " "support addition, subtraction, and comparison." msgstr "" +"Los métodos de multiconjuntos están diseñados solo para casos de uso con " +"valores positivos. Las entradas pueden ser negativas o cero, pero solo se " +"crean salidas con valores positivos. No hay restricciones de tipo, pero el " +"tipo de valor debe admitir la suma, la resta y la comparación." #: ../Doc/library/collections.rst:394 msgid "" "The :meth:`~Counter.elements` method requires integer counts. It ignores " "zero and negative counts." msgstr "" +"El método :meth:`~Counter.elements` requiere conteos enteros. Ignora los " +"conteos de cero y negativos." #: ../Doc/library/collections.rst:399 msgid "" "`Bag class `_ in Smalltalk." msgstr "" +"`Clase Bag `_ en Smalltalk." #: ../Doc/library/collections.rst:402 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" +"Entrada de Wikipedia para `Multiconjuntos `_." #: ../Doc/library/collections.rst:404 msgid "" "`C++ multisets `_ tutorial with examples." msgstr "" +"Tutorial de `multiconjuntos de C++ `_ con ejemplos." #: ../Doc/library/collections.rst:407 msgid "" @@ -458,16 +627,22 @@ msgid "" "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " "19*." msgstr "" +"Para operaciones matemáticas en multiconjuntos y sus casos de uso, consulte " +"*Knuth, Donald. The Art of Computer Programming Volume II, Sección 4.6.3, " +"Ejercicio 19*." #: ../Doc/library/collections.rst:411 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`::" msgstr "" +"Para enumerar todos los distintos multiconjuntos de un tamaño dado sobre un " +"conjunto dado de elementos, consulte :func:`itertools." +"combinations_with_replacement`::" #: ../Doc/library/collections.rst:418 msgid ":class:`deque` objects" -msgstr "" +msgstr "Objetos :class:`deque`" #: ../Doc/library/collections.rst:422 msgid "" @@ -475,6 +650,9 @@ msgid "" "with data from *iterable*. If *iterable* is not specified, the new deque is " "empty." msgstr "" +"Retorna un nuevo objeto deque inicializado de izquierda a derecha (usando :" +"meth:`append`) con datos de *iterable*. Si no se especifica *iterable*, el " +"nuevo deque estará vacío." #: ../Doc/library/collections.rst:425 msgid "" @@ -483,6 +661,11 @@ msgid "" "safe, memory efficient appends and pops from either side of the deque with " "approximately the same O(1) performance in either direction." msgstr "" +"Los deques son una generalización de pilas y colas (el nombre se pronuncia " +"“baraja”, *deck* en inglés, y es la abreviatura de “cola de dos extremos”, " +"*double-ended queue* en inglés). Los Deques admiten hilos seguros, appends y " +"pops eficientes en memoria desde cualquier lado del deque con " +"aproximadamente el mismo rendimiento O(1) en cualquier dirección." #: ../Doc/library/collections.rst:430 msgid "" @@ -491,6 +674,11 @@ msgid "" "``pop(0)`` and ``insert(0, v)`` operations which change both the size and " "position of the underlying data representation." msgstr "" +"Aunque los objetos :class:`list` admiten operaciones similares, están " +"optimizados para operaciones rápidas de longitud fija e incurren en costos " +"de movimiento de memoria O(n) para operaciones ``pop(0)`` y ``insert(0, v)`` " +"que cambian tanto el tamaño como la posición de la representación de datos " +"subyacente." #: ../Doc/library/collections.rst:436 msgid "" @@ -502,36 +690,46 @@ msgid "" "They are also useful for tracking transactions and other pools of data where " "only the most recent activity is of interest." msgstr "" +"Si no se especifica *maxlen* o es ``None``, los deques pueden crecer hasta " +"una longitud arbitraria. De lo contrario, el deque está limitado a la " +"longitud máxima especificada. Una vez que un deque de longitud limitada esta " +"lleno, cuando se agregan nuevos elementos, se descarta el número " +"correspondiente de elementos del extremo opuesto. Los deques de longitud " +"limitada proporcionan una funcionalidad similar al filtro ``tail`` en Unix. " +"También son útiles para rastrear transacciones y otros grupos de datos donde " +"solo la actividad más reciente es de interés." #: ../Doc/library/collections.rst:445 msgid "Deque objects support the following methods:" -msgstr "" +msgstr "Los objetos deque admiten los siguientes métodos:" #: ../Doc/library/collections.rst:449 msgid "Add *x* to the right side of the deque." -msgstr "" +msgstr "Agregue *x* al lado derecho del deque." #: ../Doc/library/collections.rst:454 msgid "Add *x* to the left side of the deque." -msgstr "" +msgstr "Agregue *x* al lado izquierdo del deque." #: ../Doc/library/collections.rst:459 msgid "Remove all elements from the deque leaving it with length 0." -msgstr "" +msgstr "Retire todos los elementos del deque dejándolo con longitud 0." #: ../Doc/library/collections.rst:464 msgid "Create a shallow copy of the deque." -msgstr "" +msgstr "Crea una copia superficial del deque." #: ../Doc/library/collections.rst:471 msgid "Count the number of deque elements equal to *x*." -msgstr "" +msgstr "Cuente el número de elementos deque igual a *x*." #: ../Doc/library/collections.rst:478 msgid "" "Extend the right side of the deque by appending elements from the iterable " "argument." msgstr "" +"Extienda el lado derecho del deque agregando elementos del argumento " +"iterable." #: ../Doc/library/collections.rst:484 msgid "" @@ -539,6 +737,9 @@ msgid "" "Note, the series of left appends results in reversing the order of elements " "in the iterable argument." msgstr "" +"Extienda el lado izquierdo del deque agregando elementos de *iterable*. " +"Tenga en cuenta que la serie de appends a la izquierda da como resultado la " +"inversión del orden de los elementos en el argumento iterable." #: ../Doc/library/collections.rst:491 msgid "" @@ -546,44 +747,59 @@ msgid "" "before index *stop*). Returns the first match or raises :exc:`ValueError` " "if not found." msgstr "" +"Retorna la posición de *x* en el deque (en o después del índice *start* y " +"antes del índice *stop*). Retorna la primera coincidencia o lanza :exc:" +"`ValueError` si no se encuentra." #: ../Doc/library/collections.rst:500 msgid "Insert *x* into the deque at position *i*." -msgstr "" +msgstr "Ingrese *x* en el dique en la posición *i*." #: ../Doc/library/collections.rst:502 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." msgstr "" +"Si la inserción causara que un deque limitado crezca más allá de *maxlen*, " +"se lanza un :exc:`IndexError`." #: ../Doc/library/collections.rst:510 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." msgstr "" +"Elimina y retorna un elemento del lado derecho del deque. Si no hay " +"elementos presentes, lanza un :exc:`IndexError`." #: ../Doc/library/collections.rst:516 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." msgstr "" +"Elimina y retorna un elemento del lado izquierdo del deque. Si no hay " +"elementos presentes, lanza un :exc:`IndexError`." #: ../Doc/library/collections.rst:522 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." msgstr "" +"Elimina la primera aparición de *value*. Si no se encuentra, lanza un :exc:" +"`ValueError`." #: ../Doc/library/collections.rst:528 msgid "Reverse the elements of the deque in-place and then return ``None``." msgstr "" +"Invierte los elementos del deque en su lugar (*in-place*) y luego retorna " +"``None``." #: ../Doc/library/collections.rst:535 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." msgstr "" +"Gira el deque *n* pasos a la derecha. Si *n* es negativo, lo gira hacia la " +"izquierda." #: ../Doc/library/collections.rst:538 msgid "" @@ -591,14 +807,17 @@ msgid "" "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " "to ``d.append(d.popleft())``." msgstr "" +"Cuando el deque no está vacío, girar un paso hacia la derecha equivale a ``d." +"appendleft(d.pop())``, y girar un paso hacia la izquierda equivale a ``d." +"append(d.popleft())``." #: ../Doc/library/collections.rst:543 msgid "Deque objects also provide one read-only attribute:" -msgstr "" +msgstr "Los objetos deque también proporcionan un atributo de solo lectura:" #: ../Doc/library/collections.rst:547 msgid "Maximum size of a deque or ``None`` if unbounded." -msgstr "" +msgstr "Tamaño máximo de un deque o ``None`` si no está limitado." #: ../Doc/library/collections.rst:552 msgid "" @@ -608,36 +827,49 @@ msgid "" "to access the first element. Indexed access is O(1) at both ends but slows " "to O(n) in the middle. For fast random access, use lists instead." msgstr "" +"Además de lo anterior, los deques admiten iteración, pickling, ``len(d)``, " +"``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, prueba de " +"pertenencia con el operador :keyword:`in` , y referencias de subíndices como " +"``d[0]`` para acceder al primer elemento. El acceso indexado es O(1) en " +"ambos extremos, pero se ralentiza hasta O(n) en el medio. Para un acceso " +"aleatorio rápido, use listas en su lugar." #: ../Doc/library/collections.rst:558 msgid "" "Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " "``__imul__()``." msgstr "" +"A partir de la versión 3.5, los deques admiten ``__add__()``, ``__mul__()``, " +"y ``__imul__()``." #: ../Doc/library/collections.rst:561 msgid "Example:" -msgstr "" +msgstr "Ejemplo:" #: ../Doc/library/collections.rst:618 msgid ":class:`deque` Recipes" -msgstr "" +msgstr "Recetas :class:`deque`" #: ../Doc/library/collections.rst:620 msgid "This section shows various approaches to working with deques." -msgstr "" +msgstr "Esta sección muestra varios enfoques para trabajar con deques." #: ../Doc/library/collections.rst:622 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" msgstr "" +"Los deques de longitud limitada proporcionan una funcionalidad similar al " +"filtro ``tail`` en Unix::" #: ../Doc/library/collections.rst:630 msgid "" "Another approach to using deques is to maintain a sequence of recently added " "elements by appending to the right and popping to the left::" msgstr "" +"Otro enfoque para usar deques es mantener una secuencia de elementos " +"agregados recientemente haciendo appending a la derecha y popping a la " +"izquierda:" #: ../Doc/library/collections.rst:645 msgid "" @@ -648,6 +880,12 @@ msgid "" "popleft`; otherwise, it can be cycled back to the end with the :meth:`~deque." "rotate` method::" msgstr "" +"Un `scheduler round-robin `_ se puede implementar con iteradores de entrada " +"almacenados en :class:`deque`. Los valores son producidos del iterador " +"activo en la posición cero. Si ese iterador está agotado, se puede eliminar " +"con :meth:`~deque.popleft`; de lo contrario, se puede volver en ciclos al " +"final con el método :meth:`~deque.rotate` ::" #: ../Doc/library/collections.rst:664 msgid "" @@ -655,6 +893,10 @@ msgid "" "slicing and deletion. For example, a pure Python implementation of ``del " "d[n]`` relies on the ``rotate()`` method to position elements to be popped::" msgstr "" +"El método :meth:`~deque.rotate` proporciona una forma de implementar " +"eliminación y rebanado de :class:`deque`. Por ejemplo, una implementación " +"pura de Python de ``del d[n]`` se basa en el método ``rotate()`` para " +"colocar los elementos que se van a extraer::" #: ../Doc/library/collections.rst:673 msgid "" @@ -665,10 +907,17 @@ msgid "" "that approach, it is easy to implement Forth style stack manipulations such " "as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot``, and ``roll``." msgstr "" +"Para implementar el rebanado de un :class:`deque`, use un enfoque similar " +"aplicando :meth:`~deque.rotate` para traer un elemento objetivo al lado " +"izquierdo del deque. Elimine las entradas antiguas con :meth:`~deque." +"popleft`, agregue nuevas entradas con :meth:`~deque.extend`, y luego " +"invierta la rotación. Con variaciones menores en ese enfoque, es fácil " +"implementar manipulaciones de pila de estilo hacia adelante como ``dup``, " +"``drop``, ``swap``, ``over``, ``pick``, ``rot``, y ``roll``." #: ../Doc/library/collections.rst:683 msgid ":class:`defaultdict` objects" -msgstr "" +msgstr "Objetos :class:`defaultdict`" #: ../Doc/library/collections.rst:687 msgid "" @@ -677,6 +926,10 @@ msgid "" "writable instance variable. The remaining functionality is the same as for " "the :class:`dict` class and is not documented here." msgstr "" +"Retorna un nuevo objeto similar a un diccionario. :class:`defaultdict` es " +"una subclase de la clase incorporada :class:`dict`. Anula un método y agrega " +"una variable de instancia de escritura. La funcionalidad restante es la " +"misma que para la clase :class:`dict` y no está documentada aquí." #: ../Doc/library/collections.rst:692 msgid "" @@ -685,18 +938,26 @@ msgid "" "arguments are treated the same as if they were passed to the :class:`dict` " "constructor, including keyword arguments." msgstr "" +"El primer argumento proporciona el valor inicial para el atributo :attr:" +"`default_factory`; por defecto es ``None``. Todos los argumentos restantes " +"se tratan de la misma forma que si se pasaran al constructor :class:`dict`, " +"incluidos los argumentos de palabras clave." #: ../Doc/library/collections.rst:698 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" msgstr "" +"Los objetos :class:`defaultdict` admiten el siguiente método además de las " +"operaciones estándar de :class:`dict`:" #: ../Doc/library/collections.rst:703 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." msgstr "" +"Si el atributo :attr:`default_factory` es ``None``, lanza una excepción :exc:" +"`KeyError` con la *llave* como argumento." #: ../Doc/library/collections.rst:706 msgid "" @@ -704,12 +965,17 @@ msgid "" "to provide a default value for the given *key*, this value is inserted in " "the dictionary for the *key*, and returned." msgstr "" +"Si :attr:`default_factory` no es ``None``, se llama sin argumentos para " +"proporcionar un valor predeterminado para la *llave* dada, este valor se " +"inserta en el diccionario para la *llave* y se retorna." #: ../Doc/library/collections.rst:710 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." msgstr "" +"Si llamar a :attr:`default_factory` lanza una excepción, esta excepción se " +"propaga sin cambios." #: ../Doc/library/collections.rst:713 msgid "" @@ -717,6 +983,9 @@ msgid "" "class when the requested key is not found; whatever it returns or raises is " "then returned or raised by :meth:`__getitem__`." msgstr "" +"Este método es llamado por el método :meth:`__getitem__` de la clase :class:" +"`dict` cuando no se encuentra la llave solicitada; todo lo que retorna o " +"lanza es retornado o lanzado por :meth:`__getitem__`." #: ../Doc/library/collections.rst:717 msgid "" @@ -725,10 +994,15 @@ msgid "" "dictionaries, return ``None`` as a default rather than using :attr:" "`default_factory`." msgstr "" +"Tenga en cuenta que :meth:`__missing__` *no* se llama para ninguna operación " +"aparte de :meth:`__getitem__`. Esto significa que :meth:`get`, como los " +"diccionarios normales, retornará ``None`` por defecto en lugar de usar :attr:" +"`default_factory`." #: ../Doc/library/collections.rst:723 msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "" +"los objetos :class:`defaultdict` admiten la siguiente variable de instancia:" #: ../Doc/library/collections.rst:728 msgid "" @@ -736,16 +1010,21 @@ msgid "" "from the first argument to the constructor, if present, or to ``None``, if " "absent." msgstr "" +"Este atributo es utilizado por el método :meth:`__missing__` ; se inicializa " +"desde el primer argumento al constructor, si está presente, o en ``None``, " +"si está ausente." #: ../Doc/library/collections.rst:734 msgid ":class:`defaultdict` Examples" -msgstr "" +msgstr "Ejemplos :class:`defaultdict`" #: ../Doc/library/collections.rst:736 msgid "" "Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " "to group a sequence of key-value pairs into a dictionary of lists:" msgstr "" +"Usando :class:`list` como :attr:`~defaultdict.default_factory`, es fácil " +"agrupar una secuencia de pares llave-valor en un diccionario de listas:" #: ../Doc/library/collections.rst:747 msgid "" @@ -758,6 +1037,14 @@ msgid "" "list. This technique is simpler and faster than an equivalent technique " "using :meth:`dict.setdefault`:" msgstr "" +"Cuando se encuentra cada llave por primera vez, no está ya en el mapping; " +"por lo que una entrada se crea automáticamente usando la función :attr:" +"`~defaultdict.default_factory` que retorna una :class:`list` vacía. La " +"operación :meth:`list.append` luego adjunta el valor a la nueva lista. " +"Cuando se vuelven a encontrar llaves, la búsqueda procede normalmente " +"(retornando la lista para esa llave) y la operación :meth:`list.append` " +"agrega otro valor a la lista. Esta técnica es más simple y rápida que una " +"técnica equivalente usando :meth:`dict.setdefault`:" #: ../Doc/library/collections.rst:762 msgid "" @@ -765,6 +1052,9 @@ msgid "" "class:`defaultdict` useful for counting (like a bag or multiset in other " "languages):" msgstr "" +"Establecer :attr:`~defaultdict.default_factory` en :class:`int` hace que :" +"class:`defaultdict` sea útil para contar (como un bag o multiconjunto en " +"otros idiomas):" #: ../Doc/library/collections.rst:774 msgid "" @@ -773,6 +1063,10 @@ msgid "" "default count of zero. The increment operation then builds up the count for " "each letter." msgstr "" +"Cuando se encuentra una letra por primera vez, falta en el mapping, por lo " +"que la función :attr:`~defaultdict.default_factory` llama a :func:`int` para " +"proporcionar una cuenta predeterminada de cero. La operación de incremento " +"luego acumula el conteo de cada letra." #: ../Doc/library/collections.rst:778 msgid "" @@ -781,16 +1075,23 @@ msgid "" "functions is to use a lambda function which can supply any constant value " "(not just zero):" msgstr "" +"La función :func:`int` que siempre retorna cero es solo un caso especial de " +"funciones constantes. Una forma más rápida y flexible de crear funciones " +"constantes es utilizar una función lambda que pueda proporcionar cualquier " +"valor constante (no solo cero):" #: ../Doc/library/collections.rst:790 msgid "" "Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the :" "class:`defaultdict` useful for building a dictionary of sets:" msgstr "" +"Establecer :attr:`~defaultdict.default_factory` en :class:`set` hace que :" +"class:`defaultdict` sea útil para construir un diccionario de conjuntos:" #: ../Doc/library/collections.rst:803 msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" msgstr "" +":func:`namedtuple` Funciones *Factory* para Tuplas y Campos con Nombres" #: ../Doc/library/collections.rst:805 msgid "" @@ -799,6 +1100,10 @@ msgid "" "are used, and they add the ability to access fields by name instead of " "position index." msgstr "" +"Las tuplas con nombre asignan significado a cada posición en una tupla y " +"permiten un código más legible y autodocumentado. Se pueden usar donde se " +"usen tuplas regulares y agregan la capacidad de acceder a los campos por " +"nombre en lugar del índice de posición." #: ../Doc/library/collections.rst:811 msgid "" @@ -808,6 +1113,12 @@ msgid "" "helpful docstring (with typename and field_names) and a helpful :meth:" "`__repr__` method which lists the tuple contents in a ``name=value`` format." msgstr "" +"Retorna una nueva subclase de tupla llamada *typename*. La nueva subclase se " +"utiliza para crear objetos tipo tupla que tienen campos accesibles mediante " +"búsqueda de atributos, además de ser indexables e iterables. Las instancias " +"de la subclase también tienen un docstring útil (con typename y field_names) " +"y un método útil :meth:`__repr__` que lista el contenido de la tupla en un " +"formato de ``nombre=valor``." #: ../Doc/library/collections.rst:817 msgid "" @@ -815,6 +1126,10 @@ msgid "" "Alternatively, *field_names* can be a single string with each fieldname " "separated by whitespace and/or commas, for example ``'x y'`` or ``'x, y'``." msgstr "" +"Los *nombres de campo* son una secuencia de cadenas como ``[‘x’, ‘y’]``. " +"Alternativamente, *nombres de campo* puede ser una sola cadena con cada " +"nombre de campo separado por espacios en blanco y/o comas, por ejemplo ``’x " +"y’`` or ``’x, y’``." #: ../Doc/library/collections.rst:821 msgid "" @@ -823,6 +1138,11 @@ msgid "" "and underscores but do not start with a digit or underscore and cannot be a :" "mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or *raise*." msgstr "" +"Se puede usar cualquier identificador de Python válido para un *fieldname*, " +"excepto para los nombres que comienzan con un guión bajo. Los " +"identificadores válidos constan de letras, dígitos y guiones bajos, pero no " +"comienzan con un dígito o guion bajo y no pueden ser :mod:`keyword` como " +"*class*, *for*, *return*, *global*, *pass*, o *raise*." #: ../Doc/library/collections.rst:827 msgid "" @@ -831,6 +1151,10 @@ msgid "" "converted to ``['abc', '_1', 'ghi', '_3']``, eliminating the keyword ``def`` " "and the duplicate fieldname ``abc``." msgstr "" +"Si *rename* es verdadero, los nombres de campo no válidos se reemplazan " +"automáticamente con nombres posicionales. Por ejemplo, ``[‘abc’, ‘def’, " +"‘ghi’, ‘abc’]`` se convierte en ``[‘abc’, ‘_1’, ‘ghi’, ‘_3’]``, eliminando " +"la palabra clave ``def`` y el nombre de campo duplicado ``abc``." #: ../Doc/library/collections.rst:832 msgid "" @@ -841,47 +1165,64 @@ msgid "" "``x`` will be a required argument, ``y`` will default to ``1``, and ``z`` " "will default to ``2``." msgstr "" +"*defaults* pueden ser ``None`` o un :term:`iterable` de los valores " +"predeterminados. Dado que los campos con un valor predeterminado deben venir " +"después de cualquier campo sin un valor predeterminado, los *defaults* se " +"aplican a los parámetros situados más a la derecha. Por ejemplo, si los " +"nombres de campo son ``[‘x’, ‘y’, ‘z’]``y los valores predeterminados son " +"``(1, 2)``, entonces ``x`` será un argumento obligatorio, ``y`` tendrá el " +"valor predeterminado de ``1``, y ``z`` el valor predeterminado de ``2``." #: ../Doc/library/collections.rst:839 msgid "" "If *module* is defined, the ``__module__`` attribute of the named tuple is " "set to that value." msgstr "" +"Si se define *module*, el atributo ``__module__`` de la tupla nombrada se " +"establece en ese valor." #: ../Doc/library/collections.rst:842 msgid "" "Named tuple instances do not have per-instance dictionaries, so they are " "lightweight and require no more memory than regular tuples." msgstr "" +"Las instancias de tuplas con nombre no tienen diccionarios por instancia, " +"por lo que son livianas y no requieren más memoria que las tuplas normales." #: ../Doc/library/collections.rst:845 msgid "Added support for *rename*." -msgstr "" +msgstr "Se agregó soporte para *rename*." #: ../Doc/library/collections.rst:848 msgid "" "The *verbose* and *rename* parameters became :ref:`keyword-only arguments " "`." msgstr "" +"Los parámetros *verbose* y *rename* se convirtieron en :ref:`argumentos de " +"solo palabra clave `." #: ../Doc/library/collections.rst:852 msgid "Added the *module* parameter." -msgstr "" +msgstr "Se agregó el parámetro *module*." #: ../Doc/library/collections.rst:855 msgid "Removed the *verbose* parameter and the :attr:`_source` attribute." -msgstr "" +msgstr "Se eliminaron el parámetro *verbose* y el atributo :attr:`_source`." #: ../Doc/library/collections.rst:858 msgid "" "Added the *defaults* parameter and the :attr:`_field_defaults` attribute." msgstr "" +"Se agregaron el parámetro *defaults* y él atributo :attr:`_field_defaults`." #: ../Doc/library/collections.rst:878 msgid "" "Named tuples are especially useful for assigning field names to result " "tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" msgstr "" +"Las tuplas con nombre son especialmente útiles para asignar nombres de campo " +"a las tuplas de resultado retornadas por los módulos :mod:`csv` o :mod:" +"`sqlite3`::" #: ../Doc/library/collections.rst:894 msgid "" @@ -889,21 +1230,29 @@ msgid "" "additional methods and two attributes. To prevent conflicts with field " "names, the method and attribute names start with an underscore." msgstr "" +"Además de los métodos heredados de las tuplas, las tuplas con nombre admiten " +"tres métodos adicionales y dos atributos. Para evitar conflictos con los " +"nombres de campo, los nombres de método y atributo comienzan con un guión " +"bajo." #: ../Doc/library/collections.rst:900 msgid "" "Class method that makes a new instance from an existing sequence or iterable." msgstr "" +"Método de clase que crea una nueva instancia a partir de una secuencia " +"existente o iterable." #: ../Doc/library/collections.rst:910 msgid "" "Return a new :class:`dict` which maps field names to their corresponding " "values:" msgstr "" +"Retorna un nuevo :class:`dict` que asigna los nombres de los campos a sus " +"valores correspondientes:" #: ../Doc/library/collections.rst:919 msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." -msgstr "" +msgstr "Retorna un :class:`OrderedDict` en lugar de un :class:`dict` regular." #: ../Doc/library/collections.rst:922 msgid "" @@ -912,34 +1261,48 @@ msgid "" "features of :class:`OrderedDict` are required, the suggested remediation is " "to cast the result to the desired type: ``OrderedDict(nt._asdict())``." msgstr "" +"Retorna un :class:`dict` normal en lugar de un :class:`OrderedDict`. A " +"partir de Python 3.7, se garantiza el orden de los diccionarios normales. Si " +"se requieren las características adicionales de :class:`OrderedDict` , la " +"corrección sugerida es emitir el resultado al tipo deseado: ``OrderedDict(nt." +"_asdict())``." #: ../Doc/library/collections.rst:931 msgid "" "Return a new instance of the named tuple replacing specified fields with new " "values::" msgstr "" +"Retorna una nueva instancia de la tupla nombrada reemplazando los campos " +"especificados con nuevos valores::" #: ../Doc/library/collections.rst:943 msgid "" "Tuple of strings listing the field names. Useful for introspection and for " "creating new named tuple types from existing named tuples." msgstr "" +"Tupla de cadenas que lista los nombres de los campos. Útil para la " +"introspección y para crear nuevos tipos de tuplas con nombre a partir de " +"tuplas con nombre existentes." #: ../Doc/library/collections.rst:958 msgid "Dictionary mapping field names to default values." -msgstr "" +msgstr "Diccionario de nombres de campos mapeados a valores predeterminados." #: ../Doc/library/collections.rst:968 msgid "" "To retrieve a field whose name is stored in a string, use the :func:" "`getattr` function:" msgstr "" +"Para recuperar un campo cuyo nombre está almacenado en una cadena, use la " +"función :func:`getattr`:" #: ../Doc/library/collections.rst:974 msgid "" "To convert a dictionary to a named tuple, use the double-star-operator (as " "described in :ref:`tut-unpacking-arguments`):" msgstr "" +"Para convertir un diccionario en una tupla con nombre, use el operador de " +"doble estrella (como se describe en :ref:`tut-unpacking-arguments`):" #: ../Doc/library/collections.rst:981 msgid "" @@ -947,6 +1310,9 @@ msgid "" "functionality with a subclass. Here is how to add a calculated field and a " "fixed-width print format:" msgstr "" +"Dado que una tupla con nombre es una clase Python normal, es fácil agregar o " +"cambiar la funcionalidad con una subclase. A continuación, se explica cómo " +"agregar un campo calculado y un formato de impresión de ancho fijo:" #: ../Doc/library/collections.rst:1000 msgid "" @@ -954,6 +1320,9 @@ msgid "" "keep memory requirements low by preventing the creation of instance " "dictionaries." msgstr "" +"La subclase que se muestra arriba establece ``__slots__`` a una tupla vacía. " +"Esto ayuda a mantener bajos los requisitos de memoria al evitar la creación " +"de diccionarios de instancia." #: ../Doc/library/collections.rst:1003 msgid "" @@ -961,16 +1330,21 @@ msgid "" "create a new named tuple type from the :attr:`~somenamedtuple._fields` " "attribute:" msgstr "" +"La subclasificación no es útil para agregar campos nuevos almacenados. En su " +"lugar, simplemente cree un nuevo tipo de tupla con nombre a partir del " +"atributo :attr:`~somenamedtuple._fields`:" #: ../Doc/library/collections.rst:1008 msgid "" "Docstrings can be customized by making direct assignments to the ``__doc__`` " "fields:" msgstr "" +"Los docstrings se pueden personalizar realizando asignaciones directas a los " +"campos ``__doc__`` :" #: ../Doc/library/collections.rst:1017 msgid "Property docstrings became writeable." -msgstr "" +msgstr "Los docstrings de propiedad se pueden escribir." #: ../Doc/library/collections.rst:1022 msgid "" @@ -978,22 +1352,30 @@ msgid "" "tuples. It also provides an elegant notation using the :keyword:`class` " "keyword::" msgstr "" +"Consulte :class:`typing.NamedTuple` para ver una forma de agregar " +"sugerencias de tipo para tuplas con nombre. También proporciona una notación " +"elegante usando la palabra clave :keyword:`class`::" #: ../Doc/library/collections.rst:1031 msgid "" "See :meth:`types.SimpleNamespace` for a mutable namespace based on an " "underlying dictionary instead of a tuple." msgstr "" +"Vea :meth:`types.SimpleNamespace` para un espacio de nombres mutable basado " +"en un diccionario subyacente en lugar de una tupla." #: ../Doc/library/collections.rst:1034 msgid "" "The :mod:`dataclasses` module provides a decorator and functions for " "automatically adding generated special methods to user-defined classes." msgstr "" +"El módulo :mod:`dataclasses` proporciona un decorador y funciones para " +"agregar automáticamente métodos especiales generados a clases definidas por " +"el usuario." #: ../Doc/library/collections.rst:1039 msgid ":class:`OrderedDict` objects" -msgstr "" +msgstr "Objetos :class:`OrderedDict`" #: ../Doc/library/collections.rst:1041 msgid "" @@ -1002,16 +1384,23 @@ msgid "" "important now that the built-in :class:`dict` class gained the ability to " "remember insertion order (this new behavior became guaranteed in Python 3.7)." msgstr "" +"Los diccionarios ordenados son como los diccionarios normales, pero tienen " +"algunas capacidades adicionales relacionadas con las operaciones de " +"ordenado. Se han vuelto menos importantes ahora que la clase incorporada :" +"class:`dict` ganó la capacidad de recordar el orden de inserción (este nuevo " +"comportamiento quedó garantizado en Python 3.7)." #: ../Doc/library/collections.rst:1047 msgid "Some differences from :class:`dict` still remain:" -msgstr "" +msgstr "Aún quedan algunas diferencias con :class:`dict` :" #: ../Doc/library/collections.rst:1049 msgid "" "The regular :class:`dict` was designed to be very good at mapping " "operations. Tracking insertion order was secondary." msgstr "" +"El :class:`dict` normal fue diseñado para ser muy bueno en operaciones de " +"mapeo. El seguimiento del pedido de inserción era secundario." #: ../Doc/library/collections.rst:1052 msgid "" @@ -1019,6 +1408,9 @@ msgid "" "Space efficiency, iteration speed, and the performance of update operations " "were secondary." msgstr "" +"La :class:`OrderedDict` fue diseñada para ser buena para reordenar " +"operaciones. La eficiencia del espacio, la velocidad de iteración y el " +"rendimiento de las operaciones de actualización fueron secundarios." #: ../Doc/library/collections.rst:1056 msgid "" @@ -1027,33 +1419,46 @@ msgid "" "recent accesses (for example in an `LRU cache `_)." msgstr "" +"Algorítmicamente, :class:`OrderedDict` puede manejar operaciones frecuentes " +"de reordenamiento mejor que :class:`dict`. Esto lo hace adecuado para " +"rastrear accesos recientes (por ejemplo, en un `cache LRU `_)." #: ../Doc/library/collections.rst:1061 msgid "" "The equality operation for :class:`OrderedDict` checks for matching order." msgstr "" +"La operación de igualdad para :class:`OrderedDict` comprueba el orden " +"coincidente." #: ../Doc/library/collections.rst:1063 msgid "" "The :meth:`popitem` method of :class:`OrderedDict` has a different " "signature. It accepts an optional argument to specify which item is popped." msgstr "" +"El método :meth:`popitem` de :class:`OrderedDict` tiene una firma diferente. " +"Acepta un argumento opcional para especificar qué elemento es *popped*." #: ../Doc/library/collections.rst:1066 msgid "" ":class:`OrderedDict` has a :meth:`move_to_end` method to efficiently " "reposition an element to an endpoint." msgstr "" +":class:`OrderedDict` tiene un método :meth:`move_to_end` para reposiciones " +"eficientemente un elemento a un punto final." #: ../Doc/library/collections.rst:1069 msgid "Until Python 3.8, :class:`dict` lacked a :meth:`__reversed__` method." msgstr "" +"Hasta Python 3.8, :class:`dict` carecía de un método :meth:`__reversed__`." #: ../Doc/library/collections.rst:1074 msgid "" "Return an instance of a :class:`dict` subclass that has methods specialized " "for rearranging dictionary order." msgstr "" +"Retorna una instancia de una subclase :class:`dict` que tiene métodos " +"especializados para reorganizar el orden del diccionario." #: ../Doc/library/collections.rst:1081 msgid "" @@ -1062,6 +1467,10 @@ msgid "" "out)` order if *last* is true or :abbr:`FIFO (first-in, first-out)` order if " "false." msgstr "" +"El método :meth:`popitem` para diccionarios ordenados retorna y elimina un " +"par (llave, valor). Los pares se retornan en orden :abbr:`LIFO (last-in, " +"first-out)` si el *último* es verdadero o en orden :abbr:`FIFO (first-in, " +"first-out)` si es falso." #: ../Doc/library/collections.rst:1088 msgid "" @@ -1069,12 +1478,18 @@ msgid "" "moved to the right end if *last* is true (the default) or to the beginning " "if *last* is false. Raises :exc:`KeyError` if the *key* does not exist::" msgstr "" +"Mueva una *llave* existente a cualquier extremo de un diccionario ordenado. " +"El elemento se mueve al final de la derecha si el *último* es verdadero (el " +"valor predeterminado) o al principio si el *último* es falso. Lanza :exc:" +"`KeyError` si la *llave* no existe::" #: ../Doc/library/collections.rst:1103 msgid "" "In addition to the usual mapping methods, ordered dictionaries also support " "reverse iteration using :func:`reversed`." msgstr "" +"Además de los métodos de mapeo habituales, los diccionarios ordenados " +"también admiten la iteración inversa usando :func:`reversed`." #: ../Doc/library/collections.rst:1106 msgid "" @@ -1085,22 +1500,33 @@ msgid "" "allows :class:`OrderedDict` objects to be substituted anywhere a regular " "dictionary is used." msgstr "" +"Las pruebas de igualdad entre los objetos :class:`OrderedDict` son sensibles " +"al orden y se implementan como ``list(od1.items())==list(od2.items())``. Las " +"pruebas de igualdad entre los objetos :class:`OrderedDict` y otros objetos :" +"class:`~collections.abc.Mapping` son insensibles al orden como los " +"diccionarios normales. Esto permite que los objetos :class:`OrderedDict` " +"sean sustituidos en cualquier lugar donde se utilice un diccionario normal." #: ../Doc/library/collections.rst:1113 msgid "" "The items, keys, and values :term:`views ` of :class:" "`OrderedDict` now support reverse iteration using :func:`reversed`." msgstr "" +"Los elementos, llaves y valores :term:`vistas ` de :class:" +"`OrderedDict` ahora admiten la iteración inversa usando :func:`reversed`." #: ../Doc/library/collections.rst:1117 msgid "" "With the acceptance of :pep:`468`, order is retained for keyword arguments " "passed to the :class:`OrderedDict` constructor and its :meth:`update` method." msgstr "" +"Con la aceptación de :pep:`468`, el orden se mantiene para los argumentos de " +"palabras clave pasados al constructor :class:`OrderedDict` y su método :meth:" +"`update`." #: ../Doc/library/collections.rst:1123 msgid ":class:`OrderedDict` Examples and Recipes" -msgstr "" +msgstr "Ejemplos y Recetas :class:`OrderedDict`" #: ../Doc/library/collections.rst:1125 msgid "" @@ -1109,16 +1535,22 @@ msgid "" "existing entry, the original insertion position is changed and moved to the " "end::" msgstr "" +"Es sencillo crear una variante de diccionario ordenado que recuerde el orden " +"en que las llaves se insertaron por *última vez*. Si una nueva entrada " +"sobrescribe una entrada existente, la posición de inserción original se " +"cambia y se mueve al final::" #: ../Doc/library/collections.rst:1137 msgid "" "An :class:`OrderedDict` would also be useful for implementing variants of :" "func:`functools.lru_cache`::" msgstr "" +"U :class:`OrderedDict` también sería útil para implementar variantes de :" +"func:`functools.lru_cache`::" #: ../Doc/library/collections.rst:1160 msgid ":class:`UserDict` objects" -msgstr "" +msgstr "Objetos :class:`UserDict`" #: ../Doc/library/collections.rst:1162 msgid "" @@ -1127,6 +1559,11 @@ msgid "" "subclass directly from :class:`dict`; however, this class can be easier to " "work with because the underlying dictionary is accessible as an attribute." msgstr "" +"La clase, :class:`UserDict` actúa como un contenedor alrededor de los " +"objetos del diccionario. La necesidad de esta clase ha sido parcialmente " +"suplantada por la capacidad de crear subclases directamente desde :class:" +"`dict`; sin embargo, es más fácil trabajar con esta clase porque se puede " +"acceder al diccionario subyacente como un atributo." #: ../Doc/library/collections.rst:1170 msgid "" @@ -1136,21 +1573,31 @@ msgid "" "initialized with its contents; note that a reference to *initialdata* will " "not be kept, allowing it be used for other purposes." msgstr "" +"Clase que simula un diccionario. El contenido de la instancia se guarda en " +"un diccionario normal, al que se puede acceder mediante el atributo :attr:" +"`data` de las instancias :class:`UserDict`. Si se proporciona " +"*initialdata*, :attr:`data` se inicializa con su contenido; tenga en cuenta " +"que no se mantendrá una referencia a *initialdata*, lo que permite que se " +"utilice para otros fines." #: ../Doc/library/collections.rst:1176 msgid "" "In addition to supporting the methods and operations of mappings, :class:" "`UserDict` instances provide the following attribute:" msgstr "" +"Además de admitir los métodos y operaciones de los mappings, las instancias :" +"class:`UserDict` proporcionan el siguiente atributo:" #: ../Doc/library/collections.rst:1181 msgid "" "A real dictionary used to store the contents of the :class:`UserDict` class." msgstr "" +"Un diccionario real utilizado para almacenar el contenido de la clase :class:" +"`UserDict` ." #: ../Doc/library/collections.rst:1187 msgid ":class:`UserList` objects" -msgstr "" +msgstr "Objetos :class:`UserList`" #: ../Doc/library/collections.rst:1189 msgid "" @@ -1159,6 +1606,10 @@ msgid "" "existing methods or add new ones. In this way, one can add new behaviors to " "lists." msgstr "" +"Esta clase actúa como un contenedor alrededor de los objetos de lista. Es " +"una clase base útil para tus propias clases tipo lista que pueden heredar de " +"ellas y anular métodos existentes o agregar nuevos. De esta forma, se pueden " +"agregar nuevos comportamientos a las listas." #: ../Doc/library/collections.rst:1194 msgid "" @@ -1166,6 +1617,10 @@ msgid "" "subclass directly from :class:`list`; however, this class can be easier to " "work with because the underlying list is accessible as an attribute." msgstr "" +"La necesidad de esta clase ha sido parcialmente suplantada por la capacidad " +"de crear subclases directamente desde :class:`list`; sin embargo, es más " +"fácil trabajar con esta clase porque se puede acceder a la lista subyacente " +"como atributo." #: ../Doc/library/collections.rst:1200 msgid "" @@ -1175,20 +1630,31 @@ msgid "" "of *list*, defaulting to the empty list ``[]``. *list* can be any iterable, " "for example a real Python list or a :class:`UserList` object." msgstr "" +"Clase que simula una lista. El contenido de la instancia se mantiene en una " +"lista normal, a la que se puede acceder mediante el atributo :attr:`data` de " +"las instancias :class:`UserList`. El contenido de la instancia se establece " +"inicialmente en una copia de *list*, por defecto a la lista vacía ``[]``. " +"*list* puede ser cualquier iterable, por ejemplo, una lista de Python real o " +"un objeto :class:`UserList`." #: ../Doc/library/collections.rst:1206 msgid "" "In addition to supporting the methods and operations of mutable sequences, :" "class:`UserList` instances provide the following attribute:" msgstr "" +"Además de admitir los métodos y operaciones de secuencias mutables, las " +"instancias :class:`UserList` proporcionan el siguiente atributo:" #: ../Doc/library/collections.rst:1211 msgid "" "A real :class:`list` object used to store the contents of the :class:" "`UserList` class." msgstr "" +"Un objeto real :class:`list` usado para almacenar el contenido de la clase :" +"class:`UserList` ." #: ../Doc/library/collections.rst:1214 +#, fuzzy msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " "to offer a constructor which can be called with either no arguments or one " @@ -1197,6 +1663,12 @@ msgid "" "constructor can be called with a single parameter, which is a sequence " "object used as a data source." msgstr "" +"**Requisitos de subclases:** Se espera que las subclases de :class:" +"`UserList` ofrezcan un constructor al que se pueda llamar sin argumentos o " +"con un solo argumento. Las operaciones de lista que retornan una nueva " +"secuencia intentan crear una instancia de la clase de implementación real. " +"Para hacerlo, asume que se puede llamar al constructor con un solo " +"parámetro, que es un objeto de secuencia utilizado como fuente de datos." #: ../Doc/library/collections.rst:1221 msgid "" @@ -1205,10 +1677,14 @@ msgid "" "consult the sources for information about the methods which need to be " "provided in that case." msgstr "" +"Si una clase derivada no desea cumplir con este requisito, todos los métodos " +"especiales admitidos por esta clase deberán de anularse; consulte las " +"fuentes para obtener información sobre los métodos que deben proporcionarse " +"en ese caso." #: ../Doc/library/collections.rst:1227 msgid ":class:`UserString` objects" -msgstr "" +msgstr "Objetos :class:`UserString`" #: ../Doc/library/collections.rst:1229 msgid "" @@ -1217,6 +1693,11 @@ msgid "" "directly from :class:`str`; however, this class can be easier to work with " "because the underlying string is accessible as an attribute." msgstr "" +"La clase, :class:`UserString` actúa como un envoltorio alrededor de los " +"objetos de cadena. La necesidad de esta clase ha sido parcialmente " +"suplantada por la capacidad de crear subclases directamente de :class:`str`; " +"sin embargo, es más fácil trabajar con esta clase porque se puede acceder a " +"la cadena subyacente como atributo." #: ../Doc/library/collections.rst:1237 msgid "" @@ -1226,21 +1707,33 @@ msgid "" "to a copy of *seq*. The *seq* argument can be any object which can be " "converted into a string using the built-in :func:`str` function." msgstr "" +"Clase que simula un objeto de cadena. El contenido de la instancia se " +"mantiene en un objeto de cadena normal, al que se puede acceder a través del " +"atributo :attr:`data` de las instancias :class:`UserString`. El contenido de " +"la instancia se establece inicialmente en una copia de *seq*. El argumento " +"*seq* puede ser cualquier objeto que se pueda convertir en una cadena usando " +"la función incorporada :func:`str`." #: ../Doc/library/collections.rst:1244 msgid "" "In addition to supporting the methods and operations of strings, :class:" "`UserString` instances provide the following attribute:" msgstr "" +"Además de admitir los métodos y operaciones de cadenas, las instancias :" +"class:`UserString` proporcionan el siguiente atributo:" #: ../Doc/library/collections.rst:1249 msgid "" "A real :class:`str` object used to store the contents of the :class:" "`UserString` class." msgstr "" +"Un objeto real :class:`str` usado para almacenar el contenido de la clase :" +"class:`UserString`." #: ../Doc/library/collections.rst:1252 msgid "" "New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " "``isprintable``, and ``maketrans``." msgstr "" +"Nuevos métodos ``__getnewargs__``, ``__rmod__``, ``casefold``, " +"``format_map``, ``isprintable``, y ``maketrans``." From 15acda031463bdd86881cf521e01b36a232ec930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 20 Dec 2020 20:09:16 +0100 Subject: [PATCH 093/153] add new words (#1173) --- dictionaries/library_asyncio-llapi-index.txt | 3 ++- dictionaries/library_functions.txt | 1 + dictionaries/library_logging_handlers.txt | 1 + dictionaries/library_string.txt | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 dictionaries/library_functions.txt create mode 100644 dictionaries/library_string.txt diff --git a/dictionaries/library_asyncio-llapi-index.txt b/dictionaries/library_asyncio-llapi-index.txt index dd79c51e38..50d2967bca 100644 --- a/dictionaries/library_asyncio-llapi-index.txt +++ b/dictionaries/library_asyncio-llapi-index.txt @@ -1 +1,2 @@ -streaming \ No newline at end of file +streaming +monitoreo diff --git a/dictionaries/library_functions.txt b/dictionaries/library_functions.txt new file mode 100644 index 0000000000..10f83f3f8f --- /dev/null +++ b/dictionaries/library_functions.txt @@ -0,0 +1 @@ +testear diff --git a/dictionaries/library_logging_handlers.txt b/dictionaries/library_logging_handlers.txt index c0ffa269ed..099b704686 100644 --- a/dictionaries/library_logging_handlers.txt +++ b/dictionaries/library_logging_handlers.txt @@ -3,3 +3,4 @@ serializado serializada deserializar datagrama +descripto diff --git a/dictionaries/library_string.txt b/dictionaries/library_string.txt new file mode 100644 index 0000000000..47d92f0916 --- /dev/null +++ b/dictionaries/library_string.txt @@ -0,0 +1 @@ +descriptas From 970431d6e928d9a2a02b2ce9899f78da4f74e2d2 Mon Sep 17 00:00:00 2001 From: Screpnik Claudia Raquel <59575291+claudiascre@users.noreply.github.com> Date: Sun, 20 Dec 2020 16:35:30 -0300 Subject: [PATCH 094/153] Traudcido archivo library/xml.dom.pulldom (#1091) --- dictionaries/library_xml_dom_pulldom.txt | 3 + library/xml.dom.pulldom.po | 91 ++++++++++++++++++------ 2 files changed, 74 insertions(+), 20 deletions(-) create mode 100644 dictionaries/library_xml_dom_pulldom.txt diff --git a/dictionaries/library_xml_dom_pulldom.txt b/dictionaries/library_xml_dom_pulldom.txt new file mode 100644 index 0000000000..3b3f56c564 --- /dev/null +++ b/dictionaries/library_xml_dom_pulldom.txt @@ -0,0 +1,3 @@ +pull +flat +tree diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index 59443e61e7..fc3045898b 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -6,27 +6,31 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-18 17:55-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/xml.dom.pulldom.rst:2 msgid ":mod:`xml.dom.pulldom` --- Support for building partial DOM trees" msgstr "" +":mod:`xml.dom.pulldom` --- Soporte para la construcción parcial de árboles " +"DOM" #: ../Doc/library/xml.dom.pulldom.rst:9 msgid "**Source code:** :source:`Lib/xml/dom/pulldom.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/xml/dom/pulldom.py`" #: ../Doc/library/xml.dom.pulldom.rst:13 msgid "" @@ -39,6 +43,15 @@ msgid "" "over those events until either processing is finished or an error condition " "occurs." msgstr "" +"El módulo :mod:`xml.dom.pulldom` proporciona un \"pull parser\" al que " +"también se le puede pedir que produzca DOM-fragmentos del documento " +"accesibles cuando sea necesario. El concepto básico implica extraer \"eventos" +"\" desde una secuencia (*stream*) de entrada XML y procesarlos. A diferencia " +"de SAX, que también emplea un modelo de procesamiento orientado a eventos " +"junto con callbacks (retrollamada), el usuario de un analizador de " +"extracción (*pull parser*) es responsable de extraer explícitamente eventos " +"de la secuencia, recorriendo esos eventos hasta que finalice el " +"procesamiento o se produzca una condición de error." #: ../Doc/library/xml.dom.pulldom.rst:24 msgid "" @@ -46,6 +59,9 @@ msgid "" "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" +"El módulo :mod:`xml.dom.pulldom` no es seguro contra datos maliciosamente " +"construidos . Si necesita analizar datos que no son confiables o no " +"autenticados, consulte :ref:`xml-vulnerabilities`." #: ../Doc/library/xml.dom.pulldom.rst:30 msgid "" @@ -53,52 +69,58 @@ msgid "" "increase security by default. To enable processing of external entities, " "pass a custom parser instance in::" msgstr "" +"El analizador SAX ya no procesa entidades externas generales de forma " +"predeterminada para aumentar la seguridad de forma predeterminada. Para " +"habilitar el procesamiento de entidades externas, pase una instancia de " +"analizador personalizada (*custom parser instance in::*)" #: ../Doc/library/xml.dom.pulldom.rst:43 msgid "Example::" -msgstr "" +msgstr "Ejemplo:" #: ../Doc/library/xml.dom.pulldom.rst:54 msgid "``event`` is a constant and can be one of:" -msgstr "" +msgstr "``event`` es una constante y puede ser uno de:" #: ../Doc/library/xml.dom.pulldom.rst:56 msgid ":data:`START_ELEMENT`" -msgstr "" +msgstr ":data:`START_ELEMENT` (Iniciar elemento)" #: ../Doc/library/xml.dom.pulldom.rst:57 msgid ":data:`END_ELEMENT`" -msgstr "" +msgstr ":data:`END_ELEMENT` (Finalizar elemento)" #: ../Doc/library/xml.dom.pulldom.rst:58 msgid ":data:`COMMENT`" -msgstr "" +msgstr ":data:`COMMENT` (comentario)" #: ../Doc/library/xml.dom.pulldom.rst:59 msgid ":data:`START_DOCUMENT`" -msgstr "" +msgstr ":data:`START_DOCUMENT` (Iniciar documento)" #: ../Doc/library/xml.dom.pulldom.rst:60 msgid ":data:`END_DOCUMENT`" -msgstr "" +msgstr ":data:`END_DOCUMENT` (finalizar documento)" #: ../Doc/library/xml.dom.pulldom.rst:61 msgid ":data:`CHARACTERS`" -msgstr "" +msgstr ":data:`CHARACTERS` (caracteres)" #: ../Doc/library/xml.dom.pulldom.rst:62 msgid ":data:`PROCESSING_INSTRUCTION`" -msgstr "" +msgstr ":data:`PROCESSING_INSTRUCTION` (instrucción de procesamiento)" #: ../Doc/library/xml.dom.pulldom.rst:63 msgid ":data:`IGNORABLE_WHITESPACE`" -msgstr "" +msgstr ":data:`IGNORABLE_WHITESPACE` (Espacio en blanco que puede ignorarse)" #: ../Doc/library/xml.dom.pulldom.rst:65 msgid "" "``node`` is an object of type :class:`xml.dom.minidom.Document`, :class:`xml." "dom.minidom.Element` or :class:`xml.dom.minidom.Text`." msgstr "" +"``node`` es un objeto del tipo :class:`xml.dom.minidom.Document`, :class:" +"`xml.dom.minidom.Element` ó :class:`xml.dom.minidom.Text`." #: ../Doc/library/xml.dom.pulldom.rst:68 msgid "" @@ -111,10 +133,19 @@ msgid "" "in the document at any given point) or to make use of the :func:" "`DOMEventStream.expandNode` method and switch to DOM-related processing." msgstr "" +"Puesto que el documento se trata como una secuencia \"flat\" (plana) de " +"eventos, el documento \"tree\" (árbol) se atraviesa implícitamente y los " +"elementos deseados se encuentran independientemente de su profundidad en el " +"árbol. En otras palabras, no es necesario tener en cuenta cuestiones " +"jerárquicas como la búsqueda recursiva de los nodos de documento, aunque si " +"el contexto de los elementos fuera importante, es necesario mantener algún " +"estado relacionado con el contexto (es decir, recordar dónde se encuentra en " +"el documento en un momento dado) o hacer uso del método :func:" +"`DOMEventStream.expandNode` y cambiar al procesamiento relacionado con DOM." #: ../Doc/library/xml.dom.pulldom.rst:80 ../Doc/library/xml.dom.pulldom.rst:85 msgid "Subclass of :class:`xml.sax.handler.ContentHandler`." -msgstr "" +msgstr "Subclase de :class:`xml.sax.handler.ContentHandler`." #: ../Doc/library/xml.dom.pulldom.rst:90 msgid "" @@ -125,35 +156,48 @@ msgid "" "other parser configuration (like setting an entity resolver) must have been " "done in advance." msgstr "" +"Retorna un :class:`DOMEventStream` de la entrada dada. *stream_or_string* " +"(secuencia o cadena) puede ser un nombre de archivo o un objeto similar a un " +"archivo, *parser*, si se indica, debe ser un objeto :class:`~xml.sax." +"xmlreader.XMLReader`. Esta función cambiará el controlador de documentos del " +"analizador y activará el soporte de espacios de nombres; otra configuración " +"del analizador (como establecer un solucionador de entidades) debe haberse " +"realizado de antemano." #: ../Doc/library/xml.dom.pulldom.rst:97 msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" +"Si tiene XML en una cadena, puede usar en su lugar la función :func:" +"`parseString`:" #: ../Doc/library/xml.dom.pulldom.rst:101 msgid "" "Return a :class:`DOMEventStream` that represents the (Unicode) *string*." msgstr "" +"Retorna una: clase :class:`DOMEventStream` que representa la cadena " +"(Unicode) *strnig* (cadena)" #: ../Doc/library/xml.dom.pulldom.rst:105 msgid "Default value for the *bufsize* parameter to :func:`parse`." -msgstr "" +msgstr "Valor predeterminado para el parámetro *bufsize* para :func:`parse`." #: ../Doc/library/xml.dom.pulldom.rst:107 msgid "" "The value of this variable can be changed before calling :func:`parse` and " "the new value will take effect." msgstr "" +"El valor de las variables puede ser cambiado antes de llamar a :func:`parse` " +"y el nuevo valor tendrá efecto." #: ../Doc/library/xml.dom.pulldom.rst:113 msgid "DOMEventStream Objects" -msgstr "" +msgstr "Objetos DOMEventStream" #: ../Doc/library/xml.dom.pulldom.rst:117 msgid "Support for :meth:`sequence protocol <__getitem__>` is deprecated." -msgstr "" +msgstr "El soporte para :meth:`sequence protocol <__getitem__>` está obsoleto." #: ../Doc/library/xml.dom.pulldom.rst:122 msgid "" @@ -164,7 +208,14 @@ msgid "" "`CHARACTERS`. The current node does not contain information about its " "children, unless :func:`expandNode` is called." msgstr "" +"Retorna el contenido de la tupla *event* y del *node* corriente como :class:" +"`xml.dom.minidom.Document` si el evento es igual a :data:`START_DOCUMENT`, :" +"class:`xml.dom.minidom.Element` si el evento es igual a :data:" +"`START_ELEMENT` o :data:`END_ELEMENT` o :class:`xml.dom.minidom.Text` si el " +"evento es igual a :data:`CHARACTERS`. El nodo actual no es contiene " +"información sobre sus hijos a menos que se llame a la función :func:" +"`expandNode`." #: ../Doc/library/xml.dom.pulldom.rst:132 msgid "Expands all children of *node* into *node*. Example::" -msgstr "" +msgstr "Expande todos los hijos de *node* en *node* (nodo en nodo). Ejemplo:" From 28030ae60bfa5a6aa0c7025a3bd928196f62ac18 Mon Sep 17 00:00:00 2001 From: Marcos Moreno Date: Sun, 20 Dec 2020 13:52:42 -0600 Subject: [PATCH 095/153] Traduccion library/urllib.parse.po (#1070) --- TRANSLATORS | 3 + dictionaries/library_urllib_parse.txt | 7 + library/urllib.parse.po | 704 ++++++++++++++++++-------- 3 files changed, 504 insertions(+), 210 deletions(-) create mode 100644 dictionaries/library_urllib_parse.txt diff --git a/TRANSLATORS b/TRANSLATORS index 3dcff33cf8..8acb5a4799 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -52,6 +52,8 @@ Manuel Ramos (@manuelramos) Marco Moresi (@mrcmoresi) Federico Jurío (@FedericoJurio) Marco Richetta (@marcorichetta) +Silvina Tamburini (@silvinabt87) +Javier Daza (@javierdaza) Adolfo Hristo David Roque Gámez (@hristoroque) Elisabeth Ortega (@draentropia) Cristian Rengifo (@ingrengifo) @@ -112,6 +114,7 @@ Alvaro Cárdenas (@alvaruz) Daniel Vera Nieto (@dveni) Beatriz Cabrero Saiz (@Xhiel23) Andros Fenollosa Hurtado (@tanrax) +Marcos Moreno (@marcosmamg) María Saiz Muñoz (@mariasm87) Sofia Carballo (@sofiacarballo) Alan Verdugo Muñoz (@alanverdugo) diff --git a/dictionaries/library_urllib_parse.txt b/dictionaries/library_urllib_parse.txt new file mode 100644 index 0000000000..ab7a3a7c4f --- /dev/null +++ b/dictionaries/library_urllib_parse.txt @@ -0,0 +1,7 @@ +mailto +netloc +porcentualmente +preprocesa +urlparse +urlencode +ParseResult diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 488d2813f0..2c4685d7c7 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -6,27 +6,28 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-12 14:02-0600\n" +"Last-Translator: Marcos Moreno \n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" -msgstr "" +msgstr ":mod:`urllib.parse` --- Analiza URL en componentes" #: ../Doc/library/urllib.parse.rst:7 msgid "**Source code:** :source:`Lib/urllib/parse.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/urllib/parse.py`" #: ../Doc/library/urllib.parse.rst:18 msgid "" @@ -35,6 +36,12 @@ msgid "" "etc.), to combine the components back into a URL string, and to convert a " "\"relative URL\" to an absolute URL given a \"base URL.\"" msgstr "" +"Este modulo define una interfaz estándar para separar cadenas de texto del " +"Localizador de recursos uniforme (más conocido por las siglas URL, del " +"inglés *Uniform Resource Locator*) en componentes (esquema de dirección, " +"ubicación de red, ruta de acceso, etc.), para poder combinar los " +"componentes nuevamente en una cadena de texto URL, y convertir una \"URL " +"relativa\" a una URL absoluta a partir de una \"URL base\"." #: ../Doc/library/urllib.parse.rst:23 msgid "" @@ -45,6 +52,13 @@ msgid "" "``shttp``, ``sip``, ``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, " "``wais``, ``ws``, ``wss``." msgstr "" +"Este módulo ha sido diseñado para coincidir con el estándar de Internet RFC " +"de los Localizadores de recursos uniformes relativos. Este modulo soporta " +"los siguientes esquemas URL: ``file``, ``ftp``, ``gopher``, ``hdl``, " +"``http``, ``https``, ``imap``, ``mailto``, ``mms``, ``news``, ``nntp``, " +"``prospero``, ``rsync``, ``rtsp``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, " +"``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, " +"``wss``." #: ../Doc/library/urllib.parse.rst:30 msgid "" @@ -52,16 +66,22 @@ msgid "" "categories: URL parsing and URL quoting. These are covered in detail in the " "following sections." msgstr "" +"El módulo :mod:`urllib.parse` define funciones que se dividen en dos " +"categorías amplias: análisis de URL y cita de URL. Estos se tratan en " +"detalle en las secciones siguientes." #: ../Doc/library/urllib.parse.rst:35 msgid "URL Parsing" -msgstr "" +msgstr "Análisis de URL" #: ../Doc/library/urllib.parse.rst:37 msgid "" "The URL parsing functions focus on splitting a URL string into its " "components, or on combining URL components into a URL string." msgstr "" +"Las funciones de análisis de url se centran en dividir una cadena de " +"dirección URL en sus componentes o en combinar componentes de dirección URL " +"en una cadena de dirección URL." #: ../Doc/library/urllib.parse.rst:42 #, python-format @@ -74,6 +94,15 @@ msgid "" "as shown above are not part of the result, except for a leading slash in the " "*path* component, which is retained if present. For example:" msgstr "" +"Analice una dirección URL en seis componentes y retorne una tupla de 6 " +"elementos :term:`named tuple`. Esto corresponde a la estructura general de " +"una URL: ``scheme://netloc/path;parameters?query#fragment``. Cada elemento " +"de la tupla es una cadena, posiblemente vacía. Los componentes no se dividen " +"en piezas más pequeñas (por ejemplo, la ubicación de red es una sola cadena) " +"y los caracteres % de escapes no se expanden. Los delimitadores como se " +"muestra anteriormente no forman parte del resultado, excepto una barra " +"diagonal inicial en el componente *path*, que se conserva si está presente. " +"Por ejemplo:" #: ../Doc/library/urllib.parse.rst:63 msgid "" @@ -81,6 +110,10 @@ msgid "" "netloc only if it is properly introduced by '//'. Otherwise the input is " "presumed to be a relative URL and thus to start with a path component." msgstr "" +"Siguiendo las especificaciones de sintaxis en :rfc:`1808`, urlparse reconoce " +"un netloc sólo si es introducido correctamente por '//'. De lo contrario, " +"se supone que la entrada es una dirección URL relativa y, por lo tanto, " +"comienza con un componente de ruta de acceso." #: ../Doc/library/urllib.parse.rst:82 msgid "" @@ -89,6 +122,11 @@ msgid "" "as *urlstring*, except that the default value ``''`` is always allowed, and " "is automatically converted to ``b''`` if appropriate." msgstr "" +"El argumento *scheme* proporciona el esquema de direccionamiento " +"predeterminado, que solo se utilizará si la dirección URL no especifica " +"uno. Debe ser del mismo tipo (texto o bytes) que *urlstring*, excepto que " +"el valor predeterminado ``''`` siempre está permitido, y se convierte " +"automáticamente a ``b''`` si aplica." #: ../Doc/library/urllib.parse.rst:87 msgid "" @@ -97,181 +135,198 @@ msgid "" "query component, and :attr:`fragment` is set to the empty string in the " "return value." msgstr "" +"Si el argumento *allow_fragments* es falso, los identificadores de fragmento " +"no son reconocidos. Sino que, son analizados como parte de la ruta, " +"parámetros o componentes de la consulta y el :attr:`fragment` es configurado " +"como una cadena vacía en el valor retornado." #: ../Doc/library/urllib.parse.rst:92 msgid "" "The return value is a :term:`named tuple`, which means that its items can be " "accessed by index or as named attributes, which are:" msgstr "" +"El valor retornado es un :term:`named tuple`, lo que significa que se puede " +"tener acceso a sus elementos por índice o como atributos con nombre, que son:" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:263 -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 +#: ../Doc/library/urllib.parse.rst:358 msgid "Attribute" -msgstr "" +msgstr "Atributo" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:263 -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 +#: ../Doc/library/urllib.parse.rst:358 msgid "Index" -msgstr "" +msgstr "Índice" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:263 -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 +#: ../Doc/library/urllib.parse.rst:358 msgid "Value" -msgstr "" +msgstr "Valor" -#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:263 -#: ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:96 ../Doc/library/urllib.parse.rst:261 +#: ../Doc/library/urllib.parse.rst:358 msgid "Value if not present" -msgstr "" +msgstr "Valor si no está presente" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 msgid ":attr:`scheme`" -msgstr "" +msgstr ":attr:`scheme`" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:265 -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 +#: ../Doc/library/urllib.parse.rst:360 msgid "0" -msgstr "" +msgstr "0" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 msgid "URL scheme specifier" -msgstr "" +msgstr "Especificador de esquema de URL" -#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:98 ../Doc/library/urllib.parse.rst:263 msgid "*scheme* parameter" -msgstr "" +msgstr "parámetro *scheme*" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:267 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 msgid ":attr:`netloc`" -msgstr "" +msgstr ":attr:`netloc`" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:267 -#: ../Doc/library/urllib.parse.rst:364 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:362 msgid "1" -msgstr "" +msgstr "1" -#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:267 +#: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:265 msgid "Network location part" -msgstr "" +msgstr "Parte de ubicación de red" #: ../Doc/library/urllib.parse.rst:100 ../Doc/library/urllib.parse.rst:102 #: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:107 -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:267 -#: ../Doc/library/urllib.parse.rst:269 ../Doc/library/urllib.parse.rst:271 -#: ../Doc/library/urllib.parse.rst:273 ../Doc/library/urllib.parse.rst:362 -#: ../Doc/library/urllib.parse.rst:364 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:265 +#: ../Doc/library/urllib.parse.rst:267 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:271 ../Doc/library/urllib.parse.rst:360 +#: ../Doc/library/urllib.parse.rst:362 msgid "empty string" -msgstr "" +msgstr "cadena vacía" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 msgid ":attr:`path`" -msgstr "" +msgstr ":attr:`path`" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 msgid "2" -msgstr "" +msgstr "2" -#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:269 +#: ../Doc/library/urllib.parse.rst:102 ../Doc/library/urllib.parse.rst:267 msgid "Hierarchical path" -msgstr "" +msgstr "Hierarchical path" #: ../Doc/library/urllib.parse.rst:104 msgid ":attr:`params`" -msgstr "" +msgstr ":attr:`params`" -#: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:104 ../Doc/library/urllib.parse.rst:269 msgid "3" -msgstr "" +msgstr "3" #: ../Doc/library/urllib.parse.rst:104 msgid "Parameters for last path element" -msgstr "" +msgstr "Parámetros para el último elemento de ruta de acceso" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:269 msgid ":attr:`query`" -msgstr "" +msgstr ":attr:`query`" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:273 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:271 msgid "4" -msgstr "" +msgstr "4" -#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:107 ../Doc/library/urllib.parse.rst:269 msgid "Query component" -msgstr "" +msgstr "Componente de consulta" -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:273 -#: ../Doc/library/urllib.parse.rst:364 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:362 msgid ":attr:`fragment`" -msgstr "" +msgstr ":attr:`fragment`" #: ../Doc/library/urllib.parse.rst:109 msgid "5" -msgstr "" +msgstr "5" -#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:273 -#: ../Doc/library/urllib.parse.rst:364 +#: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:271 +#: ../Doc/library/urllib.parse.rst:362 msgid "Fragment identifier" -msgstr "" +msgstr "Identificador de fragmento" -#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:275 +#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:273 msgid ":attr:`username`" -msgstr "" +msgstr ":attr:`username`" -#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:275 +#: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:273 msgid "User name" -msgstr "" +msgstr "Nombre de usuario" #: ../Doc/library/urllib.parse.rst:111 ../Doc/library/urllib.parse.rst:113 #: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:117 -#: ../Doc/library/urllib.parse.rst:275 ../Doc/library/urllib.parse.rst:277 -#: ../Doc/library/urllib.parse.rst:279 ../Doc/library/urllib.parse.rst:281 +#: ../Doc/library/urllib.parse.rst:273 ../Doc/library/urllib.parse.rst:275 +#: ../Doc/library/urllib.parse.rst:277 ../Doc/library/urllib.parse.rst:279 msgid ":const:`None`" -msgstr "" +msgstr ":const:`None`" -#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:277 +#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:275 msgid ":attr:`password`" -msgstr "" +msgstr ":attr:`password`" -#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:277 +#: ../Doc/library/urllib.parse.rst:113 ../Doc/library/urllib.parse.rst:275 msgid "Password" -msgstr "" +msgstr "Contraseña" -#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:279 +#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:277 msgid ":attr:`hostname`" -msgstr "" +msgstr ":attr:`hostname`" -#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:279 +#: ../Doc/library/urllib.parse.rst:115 ../Doc/library/urllib.parse.rst:277 msgid "Host name (lower case)" -msgstr "" +msgstr "Nombre de host (minúsculas)" -#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:281 +#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:279 msgid ":attr:`port`" -msgstr "" +msgstr ":attr:`port`" -#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:281 +#: ../Doc/library/urllib.parse.rst:117 ../Doc/library/urllib.parse.rst:279 msgid "Port number as integer, if present" -msgstr "" +msgstr "Número de puerto como entero, si está presente" -#: ../Doc/library/urllib.parse.rst:121 ../Doc/library/urllib.parse.rst:285 +#: ../Doc/library/urllib.parse.rst:121 ../Doc/library/urllib.parse.rst:283 msgid "" "Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " "invalid port is specified in the URL. See section :ref:`urlparse-result-" "object` for more information on the result object." msgstr "" +"La lectura del atributo :attr:`port` generará un :exc:`ValueError` si se " +"especifica un puerto no válido en la dirección URL. Consulte la sección :" +"ref:`urlparse-result-object` para obtener más información sobre el objeto de " +"resultado." -#: ../Doc/library/urllib.parse.rst:125 ../Doc/library/urllib.parse.rst:289 +#: ../Doc/library/urllib.parse.rst:125 ../Doc/library/urllib.parse.rst:287 msgid "" "Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" "`ValueError`." msgstr "" +"Los corchetes no coincidentes en el atributo :attr:`netloc` generarán un :" +"exc:`ValueError`." -#: ../Doc/library/urllib.parse.rst:128 ../Doc/library/urllib.parse.rst:292 +#: ../Doc/library/urllib.parse.rst:128 ../Doc/library/urllib.parse.rst:290 msgid "" "Characters in the :attr:`netloc` attribute that decompose under NFKC " "normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " "``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is " "decomposed before parsing, no error will be raised." msgstr "" +"Los caracteres del atributo :attr:`netloc` que se descomponen en la " +"normalización de NFKC (según lo utilizado por la codificación IDNA) en " +"cualquiera de ``/``, ``?``, ``#``, ``@`` o ``:`` lanzará un :exc:" +"`ValueError`. Si la dirección URL se descompone antes del análisis, no se " +"producirá ningún error." #: ../Doc/library/urllib.parse.rst:133 msgid "" @@ -280,10 +335,14 @@ msgid "" "meth:`_replace`. The :meth:`_replace` method will return a new ParseResult " "object replacing specified fields with new values." msgstr "" +"Como es el caso con todas las tuplas con nombre, la subclase tiene algunos " +"métodos y atributos adicionales que son particularmente útiles. Uno de estos " +"métodos es :meth:`_replace`. El método :meth:`_replace` retornará un nuevo " +"objeto ParseResult reemplazando los campos especificados por nuevos valores." #: ../Doc/library/urllib.parse.rst:151 msgid "Added IPv6 URL parsing capabilities." -msgstr "" +msgstr "Se han añadido capacidades de análisis de URL IPv6." #: ../Doc/library/urllib.parse.rst:154 msgid "" @@ -291,18 +350,25 @@ msgid "" "false), in accordance with :rfc:`3986`. Previously, a whitelist of schemes " "that support fragments existed." msgstr "" +"El fragmento ahora se analiza para todos los esquemas de URL (a menos que " +"*allow_fragment* sea false), de acuerdo con :rfc:`3986`. Anteriormente, " +"existía una lista blanca de esquemas que admiten fragmentos." -#: ../Doc/library/urllib.parse.rst:159 ../Doc/library/urllib.parse.rst:297 +#: ../Doc/library/urllib.parse.rst:159 ../Doc/library/urllib.parse.rst:295 msgid "" "Out-of-range port numbers now raise :exc:`ValueError`, instead of returning :" "const:`None`." msgstr "" +"Los números de puerto fuera de rango ahora generan :exc:`ValueError`, en " +"lugar de retornar :const:`None`." -#: ../Doc/library/urllib.parse.rst:163 ../Doc/library/urllib.parse.rst:301 +#: ../Doc/library/urllib.parse.rst:163 ../Doc/library/urllib.parse.rst:299 msgid "" "Characters that affect netloc parsing under NFKC normalization will now " "raise :exc:`ValueError`." msgstr "" +"Los caracteres que afectan al análisis de netloc en la normalización de NFKC " +"ahora generarán :exc:`ValueError`." #: ../Doc/library/urllib.parse.rst:170 msgid "" @@ -311,8 +377,13 @@ msgid "" "The dictionary keys are the unique query variable names and the values are " "lists of values for each name." msgstr "" +"Analizar una cadena de consulta proporcionada como argumento de cadena " +"(datos de tipo :mimetype:`application/x-www-form-urlencoded`). Los datos se " +"retornan como un diccionario. Las claves de diccionario son los nombres de " +"variable de consulta únicos y los valores son listas de valores para cada " +"nombre." -#: ../Doc/library/urllib.parse.rst:175 ../Doc/library/urllib.parse.rst:211 +#: ../Doc/library/urllib.parse.rst:175 ../Doc/library/urllib.parse.rst:210 msgid "" "The optional argument *keep_blank_values* is a flag indicating whether blank " "values in percent-encoded queries should be treated as blank strings. A true " @@ -320,56 +391,80 @@ msgid "" "default false value indicates that blank values are to be ignored and " "treated as if they were not included." msgstr "" +"El argumento opcional *keep_blank_values* es un indicador que indica si los " +"valores en blanco de las consultas codificadas por porcentaje deben tratarse " +"como cadenas en blanco. Un valor true indica que los espacios en blanco " +"deben conservarse como cadenas en blanco. El valor false predeterminado " +"indica que los valores en blanco deben omitirse y tratarse como si no se " +"hubieran incluido." -#: ../Doc/library/urllib.parse.rst:181 ../Doc/library/urllib.parse.rst:217 +#: ../Doc/library/urllib.parse.rst:181 ../Doc/library/urllib.parse.rst:216 msgid "" "The optional argument *strict_parsing* is a flag indicating what to do with " "parsing errors. If false (the default), errors are silently ignored. If " "true, errors raise a :exc:`ValueError` exception." msgstr "" +"El argumento opcional *strict_parsing* es una marca que indica qué hacer con " +"los errores de análisis. Si es false (valor predeterminado), los errores se " +"omiten silenciosamente. Si es true, los errores generan una excepción :exc:" +"`ValueError`." -#: ../Doc/library/urllib.parse.rst:185 ../Doc/library/urllib.parse.rst:221 +#: ../Doc/library/urllib.parse.rst:185 ../Doc/library/urllib.parse.rst:220 msgid "" "The optional *encoding* and *errors* parameters specify how to decode " "percent-encoded sequences into Unicode characters, as accepted by the :meth:" "`bytes.decode` method." msgstr "" +"Los parámetros opcionales *encoding* y *errors* especifican cómo " +"descodificar secuencias codificadas porcentualmente en caracteres Unicode, " +"tal como lo acepta el método :meth:`bytes.decode`." -#: ../Doc/library/urllib.parse.rst:189 ../Doc/library/urllib.parse.rst:225 +#: ../Doc/library/urllib.parse.rst:189 ../Doc/library/urllib.parse.rst:224 msgid "" "The optional argument *max_num_fields* is the maximum number of fields to " "read. If set, then throws a :exc:`ValueError` if there are more than " "*max_num_fields* fields read." msgstr "" +"El argumento opcional *max_num_fields* es el número máximo de campos que se " +"van a leer. Si se establece, se produce un :exc:`ValueError` si hay más de " +"*max_num_fields* campos leídos." #: ../Doc/library/urllib.parse.rst:193 msgid "" "Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " "parameter set to ``True``) to convert such dictionaries into query strings." msgstr "" +"Utilice la función :func:`urllib.parse.urlencode` (con el parámetro " +"``doseq`` establecido en ``True``) para convertir dichos diccionarios en " +"cadenas de consulta." -#: ../Doc/library/urllib.parse.rst:198 ../Doc/library/urllib.parse.rst:232 +#: ../Doc/library/urllib.parse.rst:197 ../Doc/library/urllib.parse.rst:231 msgid "Add *encoding* and *errors* parameters." -msgstr "" +msgstr "Agregue los parámetros *encoding* y *errors*." -#: ../Doc/library/urllib.parse.rst:201 ../Doc/library/urllib.parse.rst:235 +#: ../Doc/library/urllib.parse.rst:200 ../Doc/library/urllib.parse.rst:234 msgid "Added *max_num_fields* parameter." -msgstr "" +msgstr "Añadido parámetro *max_num_fields*." -#: ../Doc/library/urllib.parse.rst:207 +#: ../Doc/library/urllib.parse.rst:206 msgid "" "Parse a query string given as a string argument (data of type :mimetype:" "`application/x-www-form-urlencoded`). Data are returned as a list of name, " "value pairs." msgstr "" +"Analizar una cadena de consulta proporcionada como argumento de cadena " +"(datos de tipo :mimetype:`application/x-www-form-urlencoded`). Los datos se " +"retornan como una lista de pares de nombre y valor." -#: ../Doc/library/urllib.parse.rst:229 +#: ../Doc/library/urllib.parse.rst:228 msgid "" "Use the :func:`urllib.parse.urlencode` function to convert such lists of " "pairs into query strings." msgstr "" +"Utilice la función :func:`urllib.parse.urlencode` para convertir dichas " +"listas de pares en cadenas de consulta." -#: ../Doc/library/urllib.parse.rst:241 +#: ../Doc/library/urllib.parse.rst:239 msgid "" "Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " "argument can be any six-item iterable. This may result in a slightly " @@ -377,8 +472,14 @@ msgid "" "unnecessary delimiters (for example, a ``?`` with an empty query; the RFC " "states that these are equivalent)." msgstr "" +"Construir una URL a partir de una tupla retornada por ``urlparse()``. El " +"argumento *parts* puede ser iterable de seis elementos. Esto puede dar lugar " +"a una dirección URL ligeramente diferente, pero equivalente, si la dirección " +"URL que se analizó originalmente tenía delimitadores innecesarios (por " +"ejemplo, un ``?`` con una consulta vacía; la RFC indica que son " +"equivalentes)." -#: ../Doc/library/urllib.parse.rst:250 +#: ../Doc/library/urllib.parse.rst:248 msgid "" "This is similar to :func:`urlparse`, but does not split the params from the " "URL. This should generally be used instead of :func:`urlparse` if the more " @@ -387,14 +488,23 @@ msgid "" "is needed to separate the path segments and parameters. This function " "returns a 5-item :term:`named tuple`::" msgstr "" +"Esto es similar a :func:`urlparse`, pero no divide los parámetros de la " +"dirección URL. Esto se debe utilizar generalmente en lugar de :func:" +"`urlparse` si se desea la sintaxis de URL más reciente que permite aplicar " +"parámetros a cada segmento de la parte *path* de la dirección URL (consulte :" +"rfc:`2396`). Se necesita una función independiente para separar los " +"segmentos y parámetros de ruta. Esta función retorna un 5-item :term:`named " +"tuple`::" -#: ../Doc/library/urllib.parse.rst:259 ../Doc/library/urllib.parse.rst:356 +#: ../Doc/library/urllib.parse.rst:257 ../Doc/library/urllib.parse.rst:354 msgid "" "The return value is a :term:`named tuple`, its items can be accessed by " "index or as named attributes:" msgstr "" +"El valor retornado es un :term:`named tuple`, se puede acceder a sus " +"elementos por índice o como atributos con nombre:" -#: ../Doc/library/urllib.parse.rst:308 +#: ../Doc/library/urllib.parse.rst:306 msgid "" "Combine the elements of a tuple as returned by :func:`urlsplit` into a " "complete URL as a string. The *parts* argument can be any five-item " @@ -402,77 +512,97 @@ msgid "" "the URL that was parsed originally had unnecessary delimiters (for example, " "a ? with an empty query; the RFC states that these are equivalent)." msgstr "" +"Combine los elementos de una tupla retornados por :func:`urlsplit` en una " +"URL completa como una cadena. El argumento *parts* puede ser iterable de " +"cinco elementos. Esto puede dar lugar a una dirección URL ligeramente " +"diferente, pero equivalente, si la dirección URL que se analizó " +"originalmente tenía delimitadores innecesarios (por ejemplo, un ? con una " +"consulta vacía; la RFC indica que son equivalentes)." -#: ../Doc/library/urllib.parse.rst:317 +#: ../Doc/library/urllib.parse.rst:315 msgid "" "Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " "with another URL (*url*). Informally, this uses components of the base URL, " "in particular the addressing scheme, the network location and (part of) the " "path, to provide missing components in the relative URL. For example:" msgstr "" +"Construya una URL completa (\"absoluta\") combinando una \"URL base" +"\" (*base*) con otra URL (*url*). Informalmente, esto utiliza componentes " +"de la dirección URL base, en particular el esquema de direccionamiento, la " +"ubicación de red y (parte de) la ruta de acceso, para proporcionar los " +"componentes que faltan en la dirección URL relativa. Por ejemplo:" -#: ../Doc/library/urllib.parse.rst:326 +#: ../Doc/library/urllib.parse.rst:324 msgid "" "The *allow_fragments* argument has the same meaning and default as for :func:" "`urlparse`." msgstr "" +"El argumento *allow_fragments* tiene el mismo significado y el valor " +"predeterminado que para :func:`urlparse`." -#: ../Doc/library/urllib.parse.rst:331 +#: ../Doc/library/urllib.parse.rst:329 msgid "" "If *url* is an absolute URL (that is, starting with ``//`` or ``scheme://" "``), the *url*'s host name and/or scheme will be present in the result. For " "example:" msgstr "" +"Si *url* es una URL absoluta (es decir, a partir de ``//`` o ``scheme://``), " +"el nombre de host y/o esquema de *url* estará presente en el resultado. Por " +"ejemplo:" -#: ../Doc/library/urllib.parse.rst:340 +#: ../Doc/library/urllib.parse.rst:338 msgid "" "If you do not want that behavior, preprocess the *url* with :func:`urlsplit` " "and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." msgstr "" +"Si no desea ese comportamiento, preprocesa las partes *url* con :func:" +"`urlsplit` y :func:`urlunsplit`, eliminando posibles partes *esquema* y " +"*netloc*." -#: ../Doc/library/urllib.parse.rst:346 +#: ../Doc/library/urllib.parse.rst:344 msgid "Behaviour updated to match the semantics defined in :rfc:`3986`." msgstr "" +"Comportamiento actualizado para que coincida con la semántica definida en :" +"rfc:`3986`." -#: ../Doc/library/urllib.parse.rst:351 +#: ../Doc/library/urllib.parse.rst:349 msgid "" "If *url* contains a fragment identifier, return a modified version of *url* " "with no fragment identifier, and the fragment identifier as a separate " "string. If there is no fragment identifier in *url*, return *url* " "unmodified and an empty string." msgstr "" +"Si *url* contiene un identificador de fragmento, retorne una versión " +"modificada de *url* sin identificador de fragmento y el identificador de " +"fragmento como una cadena independiente. Si no hay ningún identificador de " +"fragmento en *url*, retorne *url* sin modificar y una cadena vacía." -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:360 msgid ":attr:`url`" -msgstr "" +msgstr ":attr:`url`" -#: ../Doc/library/urllib.parse.rst:362 +#: ../Doc/library/urllib.parse.rst:360 msgid "URL with no fragment" -msgstr "" +msgstr "URL sin fragmento" -#: ../Doc/library/urllib.parse.rst:367 +#: ../Doc/library/urllib.parse.rst:365 msgid "" "See section :ref:`urlparse-result-object` for more information on the result " "object." msgstr "" +"Consulte la sección :ref:`urlparse-result-object` para obtener más " +"información sobre el objeto de resultado." -#: ../Doc/library/urllib.parse.rst:370 +#: ../Doc/library/urllib.parse.rst:368 msgid "Result is a structured object rather than a simple 2-tuple." msgstr "" +"El resultado es un objeto estructurado en lugar de una simple tupla de 2." -#: ../Doc/library/urllib.parse.rst:375 -msgid "" -"Extract the url from a wrapped URL (that is, a string formatted as ````, ````, ``URL:scheme://host/path`` " -"or ``scheme://host/path``). If *url* is not a wrapped URL, it is returned " -"without changes." -msgstr "" - -#: ../Doc/library/urllib.parse.rst:383 +#: ../Doc/library/urllib.parse.rst:374 msgid "Parsing ASCII Encoded Bytes" -msgstr "" +msgstr "Análisis de bytes codificados ASCII" -#: ../Doc/library/urllib.parse.rst:385 +#: ../Doc/library/urllib.parse.rst:376 msgid "" "The URL parsing functions were originally designed to operate on character " "strings only. In practice, it is useful to be able to manipulate properly " @@ -480,23 +610,36 @@ msgid "" "parsing functions in this module all operate on :class:`bytes` and :class:" "`bytearray` objects in addition to :class:`str` objects." msgstr "" +"Las funciones de análisis de URL se diseñaron originalmente para funcionar " +"solo en cadenas de caracteres. En la práctica, es útil poder manipular las " +"direcciones URL correctamente citadas y codificadas como secuencias de bytes " +"ASCII. En consecuencia, las funciones de análisis de URL de este módulo " +"funcionan en los objetos :class:`bytes` y :class:`bytearray`, además de los " +"objetos :class:`str`." -#: ../Doc/library/urllib.parse.rst:391 +#: ../Doc/library/urllib.parse.rst:382 msgid "" "If :class:`str` data is passed in, the result will also contain only :class:" "`str` data. If :class:`bytes` or :class:`bytearray` data is passed in, the " "result will contain only :class:`bytes` data." msgstr "" +"Si se pasan datos :class:`str`, el resultado también contendrá solo los " +"datos :class:`str`. Si se pasan datos :class:`bytes` o :class:`bytearray`, " +"el resultado contendrá solo los datos :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:395 +#: ../Doc/library/urllib.parse.rst:386 msgid "" "Attempting to mix :class:`str` data with :class:`bytes` or :class:" "`bytearray` in a single function call will result in a :exc:`TypeError` " "being raised, while attempting to pass in non-ASCII byte values will " "trigger :exc:`UnicodeDecodeError`." msgstr "" +"Si intenta mezclar datos :class:`str` con :class:`bytes` o :class:" +"`bytearray` en una sola llamada de función, se producirá un :exc:" +"`TypeError`, mientras que al intentar pasar valores de bytes no ASCII se " +"desencadenará :exc:`UnicodeDecodeError`." -#: ../Doc/library/urllib.parse.rst:400 +#: ../Doc/library/urllib.parse.rst:391 msgid "" "To support easier conversion of result objects between :class:`str` and :" "class:`bytes`, all return values from URL parsing functions provide either " @@ -508,31 +651,51 @@ msgid "" "contains either :class:`bytes` data (for :meth:`encode` methods) or :class:" "`str` data (for :meth:`decode` methods)." msgstr "" +"Para admitir una conversión más sencilla de objetos de resultado entre :" +"class:`str` y :class:`bytes`, todos los valores retornados de las funciones " +"de análisis de URL proporcionan un método :meth:`encode` (cuando el " +"resultado contiene :class:`str` data) o un método :meth:`decode` (cuando el " +"resultado contiene datos :class:`bytes`). Las firmas de estos métodos " +"coinciden con las de los métodos correspondientes :class:`str` y :class:" +"`bytes` (excepto que la codificación predeterminada es ``'ascii``' en lugar " +"de ``'utf-8``'). Cada uno produce un valor de un tipo correspondiente que " +"contiene datos :class:`bytes` (para los métodos :meth:`encode`) o :class:" +"`str` (para :meth:`decode` métodos)." -#: ../Doc/library/urllib.parse.rst:411 +#: ../Doc/library/urllib.parse.rst:402 msgid "" "Applications that need to operate on potentially improperly quoted URLs that " "may contain non-ASCII data will need to do their own decoding from bytes to " "characters before invoking the URL parsing methods." msgstr "" +"Las aplicaciones que necesitan operar en direcciones URL potencialmente " +"citadas incorrectamente que pueden contener datos no ASCII tendrán que " +"realizar su propia descodificación de bytes a caracteres antes de invocar " +"los métodos de análisis de URL." -#: ../Doc/library/urllib.parse.rst:415 +#: ../Doc/library/urllib.parse.rst:406 msgid "" "The behaviour described in this section applies only to the URL parsing " "functions. The URL quoting functions use their own rules when producing or " "consuming byte sequences as detailed in the documentation of the individual " "URL quoting functions." msgstr "" +"El comportamiento descrito en esta sección solo se aplica a las funciones de " +"análisis de URL. Las funciones de citación de URL utilizan sus propias " +"reglas al producir o consumir secuencias de bytes como se detalla en la " +"documentación de las funciones de citación de URL individuales." -#: ../Doc/library/urllib.parse.rst:420 +#: ../Doc/library/urllib.parse.rst:411 msgid "URL parsing functions now accept ASCII encoded byte sequences" msgstr "" +"Las funciones de análisis de URL ahora aceptan secuencias de bytes " +"codificadas en ASCII" -#: ../Doc/library/urllib.parse.rst:427 +#: ../Doc/library/urllib.parse.rst:418 msgid "Structured Parse Results" -msgstr "" +msgstr "Resultados del análisis estructurado" -#: ../Doc/library/urllib.parse.rst:429 +#: ../Doc/library/urllib.parse.rst:420 msgid "" "The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" "`urldefrag` functions are subclasses of the :class:`tuple` type. These " @@ -540,81 +703,119 @@ msgid "" "functions, the encoding and decoding support described in the previous " "section, as well as an additional method:" msgstr "" +"Los objetos resultantes de las funciones :func:`urlparse`, :func:`urlsplit` " +"y :func:`urldefrag` son subclases del tipo :class:`tuple`. Estas subclases " +"agregan los atributos enumerados en la documentación para esas funciones, el " +"soporte de codificación y decodificación descrito en la sección anterior, " +"así como un método adicional:" -#: ../Doc/library/urllib.parse.rst:437 +#: ../Doc/library/urllib.parse.rst:428 msgid "" "Return the re-combined version of the original URL as a string. This may " "differ from the original URL in that the scheme may be normalized to lower " "case and empty components may be dropped. Specifically, empty parameters, " "queries, and fragment identifiers will be removed." msgstr "" +"Retorna la versión re-combinada de la dirección URL original como una " +"cadena. Esto puede diferir de la dirección URL original en que el esquema se " +"puede normalizar a minúsculas y los componentes vacíos pueden descartarse. " +"En concreto, se quitarán los parámetros vacíos, las consultas y los " +"identificadores de fragmento." -#: ../Doc/library/urllib.parse.rst:442 +#: ../Doc/library/urllib.parse.rst:433 msgid "" "For :func:`urldefrag` results, only empty fragment identifiers will be " "removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " "changes will be made to the URL returned by this method." msgstr "" +"Para los resultados :func:`urldefrag`, solo se eliminarán los " +"identificadores de fragmento vacíos. Para los resultados :func:`urlsplit` y :" +"func:`urlparse`, todos los cambios observados se realizarán en la URL " +"retornada por este método." -#: ../Doc/library/urllib.parse.rst:446 +#: ../Doc/library/urllib.parse.rst:437 msgid "" "The result of this method remains unchanged if passed back through the " "original parsing function:" msgstr "" +"El resultado de este método permanece inalterado si se pasa de nuevo a " +"través de la función de análisis original:" -#: ../Doc/library/urllib.parse.rst:459 +#: ../Doc/library/urllib.parse.rst:450 msgid "" "The following classes provide the implementations of the structured parse " "results when operating on :class:`str` objects:" msgstr "" +"Las clases siguientes proporcionan las implementaciones de los resultados " +"del análisis estructurado cuando se opera en objetos :class:`str`:" -#: ../Doc/library/urllib.parse.rst:464 +#: ../Doc/library/urllib.parse.rst:455 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`DefragResultBytes` instance." msgstr "" +"Clase concreta para los resultados de :func:`urldefrag` que contienen datos :" +"class:`str`. El método :meth:`encode` retorna una instancia :class:" +"`DefragResultBytes`." -#: ../Doc/library/urllib.parse.rst:472 +#: ../Doc/library/urllib.parse.rst:463 msgid "" "Concrete class for :func:`urlparse` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`ParseResultBytes` instance." msgstr "" +"Clase concreta para los resultados de :func:`urlparse` que contiene :class:" +"`str` data. El método :meth:`encode` retorna una instancia :class:" +"`ParseResultBytes`." -#: ../Doc/library/urllib.parse.rst:478 +#: ../Doc/library/urllib.parse.rst:469 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`SplitResultBytes` instance." msgstr "" +"Clase concreta para los resultados de :func:`urlsplit` que contiene :class:" +"`str` data. El método :meth:`encode` retorna una instancia :class:" +"`SplitResultBytes`." -#: ../Doc/library/urllib.parse.rst:483 +#: ../Doc/library/urllib.parse.rst:474 msgid "" "The following classes provide the implementations of the parse results when " "operating on :class:`bytes` or :class:`bytearray` objects:" msgstr "" +"Las clases siguientes proporcionan las implementaciones de los resultados " +"del análisis cuando se opera en objetos :class:`bytes` o :class:`bytearray`:" -#: ../Doc/library/urllib.parse.rst:488 +#: ../Doc/library/urllib.parse.rst:479 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`DefragResult` instance." msgstr "" +"Clase concreta para los resultados de :func:`urldefrag` que contienen datos :" +"class:`bytes`. El método :meth:`decode` retorna una instancia :class:" +"`DefragResult`." -#: ../Doc/library/urllib.parse.rst:496 +#: ../Doc/library/urllib.parse.rst:487 msgid "" "Concrete class for :func:`urlparse` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`ParseResult` instance." msgstr "" +"Clase concreta para los resultados :func:`urlparse` que contienen datos :" +"class:`bytes`. El método :meth:`decode` retorna una instancia :class:" +"`ParseResult`." -#: ../Doc/library/urllib.parse.rst:504 +#: ../Doc/library/urllib.parse.rst:495 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`SplitResult` instance." msgstr "" +"Clase concreta para los resultados de :func:`urlsplit` que contienen datos :" +"class:`bytes`. El método :meth:`decode` retorna una instancia :class:" +"`SplitResult`." -#: ../Doc/library/urllib.parse.rst:512 +#: ../Doc/library/urllib.parse.rst:503 msgid "URL Quoting" -msgstr "" +msgstr "Cita de URL" -#: ../Doc/library/urllib.parse.rst:514 +#: ../Doc/library/urllib.parse.rst:505 msgid "" "The URL quoting functions focus on taking program data and making it safe " "for use as URL components by quoting special characters and appropriately " @@ -622,9 +823,14 @@ msgid "" "recreate the original data from the contents of a URL component if that task " "isn't already covered by the URL parsing functions above." msgstr "" +"Las funciones de citación de URL se centran en tomar datos del programa y " +"hacerlos seguros para su uso como componentes URL citando caracteres " +"especiales y codificando adecuadamente texto no ASCII. También admiten la " +"inversión de estas operaciones para volver a crear los datos originales a " +"partir del contenido de un componente de dirección URL si esa tarea aún no " +"está cubierta por las funciones de análisis de URL anteriores." -#: ../Doc/library/urllib.parse.rst:522 -#, python-format +#: ../Doc/library/urllib.parse.rst:513 msgid "" "Replace special characters in *string* using the ``%xx`` escape. Letters, " "digits, and the characters ``'_.-~'`` are never quoted. By default, this " @@ -632,18 +838,26 @@ msgid "" "*safe* parameter specifies additional ASCII characters that should not be " "quoted --- its default value is ``'/'``." msgstr "" +"Reemplace caracteres especiales en *string* con el escape ``%xx``. Las " +"letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. De forma " +"predeterminada, esta función está pensada para citar la sección de ruta de " +"acceso de la dirección URL. El parámetro opcional *safe* especifica " +"caracteres ASCII adicionales que no se deben citar --- su valor " +"predeterminado es ``'/'``." -#: ../Doc/library/urllib.parse.rst:528 ../Doc/library/urllib.parse.rst:598 +#: ../Doc/library/urllib.parse.rst:519 ../Doc/library/urllib.parse.rst:589 msgid "*string* may be either a :class:`str` or a :class:`bytes`." -msgstr "" +msgstr "*string* puede ser :class:`str` o :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:530 +#: ../Doc/library/urllib.parse.rst:521 msgid "" "Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " -"included in the set of unreserved characters." +"included in the set of reserved characters." msgstr "" +"Se ha movido de :rfc:`2396` a :rfc:`3986` para citar cadenas URL. Ahora se " +"incluye el valor de \"\" en el conjunto de caracteres reservados." -#: ../Doc/library/urllib.parse.rst:534 +#: ../Doc/library/urllib.parse.rst:525 msgid "" "The optional *encoding* and *errors* parameters specify how to deal with non-" "ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " @@ -652,93 +866,117 @@ msgid "" "*errors* must not be supplied if *string* is a :class:`bytes`, or a :class:" "`TypeError` is raised." msgstr "" +"Los parámetros opcionales *encoding* y *errors* especifican cómo tratar con " +"caracteres no ASCII, tal como lo acepta el método :meth:`str.encode`. " +"*encoding* por defecto es ``'utf-8'``. *errors* tiene como valor " +"predeterminado ``'strict'``, lo que significa que los caracteres no " +"admitidos generan un :class:`UnicodeEncodeError`. *encoding* y *errors* no " +"se deben proporcionar si *string* es :class:`bytes` o se genera :class:" +"`TypeError`." -#: ../Doc/library/urllib.parse.rst:542 +#: ../Doc/library/urllib.parse.rst:533 msgid "" "Note that ``quote(string, safe, encoding, errors)`` is equivalent to " "``quote_from_bytes(string.encode(encoding, errors), safe)``." msgstr "" +"Tenga en cuenta que ``quote(string, safe, encoding, errors)`` es equivalente " +"a ``quote_from_bytes(string.encode(encoding, errors), safe)``." -#: ../Doc/library/urllib.parse.rst:545 +#: ../Doc/library/urllib.parse.rst:536 msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." -msgstr "" +msgstr "Ejemplo: ``quote('/El Niño/')`` produce ``'/El%20Ni%C3%B1o/'``." -#: ../Doc/library/urllib.parse.rst:550 +#: ../Doc/library/urllib.parse.rst:541 msgid "" "Like :func:`quote`, but also replace spaces by plus signs, as required for " "quoting HTML form values when building up a query string to go into a URL. " "Plus signs in the original string are escaped unless they are included in " "*safe*. It also does not have *safe* default to ``'/'``." msgstr "" +"Como :func:`quote`, pero también reemplace los espacios por signos más, " +"según sea necesario para citar valores de formulario HTML al crear una " +"cadena de consulta para ir a una dirección URL. Además, los signos de la " +"cadena original se escapan a menos que se incluyan en *safe*. Tampoco tiene " +"*safe* predeterminado para ``'/'``." -#: ../Doc/library/urllib.parse.rst:555 -#, python-format +#: ../Doc/library/urllib.parse.rst:546 msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." -msgstr "" +msgstr "Ejemplo: ``quote_plus('/El Niño/')`` produce ``'%2FEl+Ni%C3%B1o%2F'``." -#: ../Doc/library/urllib.parse.rst:560 +#: ../Doc/library/urllib.parse.rst:551 msgid "" "Like :func:`quote`, but accepts a :class:`bytes` object rather than a :class:" "`str`, and does not perform string-to-bytes encoding." msgstr "" +"Como :func:`quote`, pero acepta un objeto :class:`bytes` en lugar de un :" +"class:`str`, y no realiza la codificación de cadena a bytes." -#: ../Doc/library/urllib.parse.rst:563 -#, python-format +#: ../Doc/library/urllib.parse.rst:554 msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." -msgstr "" +msgstr "Ejemplo: ``quote_from_bytes(b'a&\\xef')`` produce ``'a%26%EF'``." -#: ../Doc/library/urllib.parse.rst:569 -#, python-format +#: ../Doc/library/urllib.parse.rst:560 msgid "" "Replace ``%xx`` escapes by their single-character equivalent. The optional " "*encoding* and *errors* parameters specify how to decode percent-encoded " "sequences into Unicode characters, as accepted by the :meth:`bytes.decode` " "method." msgstr "" +"Reemplace los escapes ``%xx`` por su equivalente de un solo carácter. Los " +"parámetros opcionales *encoding* y *errors* especifican cómo descodificar " +"secuencias codificadas porcentualmente en caracteres Unicode, tal como lo " +"acepta el método :meth:`bytes.decode`." -#: ../Doc/library/urllib.parse.rst:574 ../Doc/library/urllib.parse.rst:588 +#: ../Doc/library/urllib.parse.rst:565 ../Doc/library/urllib.parse.rst:579 msgid "*string* must be a :class:`str`." -msgstr "" +msgstr "*string* debe ser :class:`str`." -#: ../Doc/library/urllib.parse.rst:576 +#: ../Doc/library/urllib.parse.rst:567 msgid "" "*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " "meaning invalid sequences are replaced by a placeholder character." msgstr "" +"*encoding* por defecto es ``'utf-8``'. *errors* por defecto es " +"``'replace``', lo que significa que las secuencias no válidas se reemplazan " +"por un carácter de marcador de posición." -#: ../Doc/library/urllib.parse.rst:580 +#: ../Doc/library/urllib.parse.rst:571 msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." -msgstr "" +msgstr "Ejemplo: ``unquote('/El%20Ni%C3%B1o/')`` produce ``'/El Niño/'``." -#: ../Doc/library/urllib.parse.rst:585 +#: ../Doc/library/urllib.parse.rst:576 msgid "" "Like :func:`unquote`, but also replace plus signs by spaces, as required for " "unquoting HTML form values." msgstr "" +"Como :func:`unquote`, pero también reemplace los signos más por espacios, " +"según sea necesario para los valores de formulario HTML sin comillas." -#: ../Doc/library/urllib.parse.rst:590 +#: ../Doc/library/urllib.parse.rst:581 msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." -msgstr "" +msgstr "Ejemplo: ``unquote_plus('/El+Ni%C3%B1o/')`` produce ``'/El Niño/'``." -#: ../Doc/library/urllib.parse.rst:595 -#, python-format +#: ../Doc/library/urllib.parse.rst:586 msgid "" "Replace ``%xx`` escapes by their single-octet equivalent, and return a :" "class:`bytes` object." msgstr "" +"Reemplace los escapes ``%xx`` por su equivalente de un solo octeto y retorne " +"un objeto :class:`bytes`." -#: ../Doc/library/urllib.parse.rst:600 +#: ../Doc/library/urllib.parse.rst:591 msgid "" "If it is a :class:`str`, unescaped non-ASCII characters in *string* are " "encoded into UTF-8 bytes." msgstr "" +"Si es un :class:`str`, los caracteres no ASCII sin escapar en *string* se " +"codifican en bytes UTF-8." -#: ../Doc/library/urllib.parse.rst:603 -#, python-format +#: ../Doc/library/urllib.parse.rst:594 msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." -msgstr "" +msgstr "Ejemplo: ``unquote_to_bytes('a%26%EF')`` produce ``b'a&\\xef'``." -#: ../Doc/library/urllib.parse.rst:609 +#: ../Doc/library/urllib.parse.rst:600 msgid "" "Convert a mapping object or a sequence of two-element tuples, which may " "contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " @@ -746,9 +984,14 @@ msgid "" "operation with the :func:`~urllib.request.urlopen` function, then it should " "be encoded to bytes, otherwise it would result in a :exc:`TypeError`." msgstr "" +"Convierta un objeto de asignación o una secuencia de tuplas de dos " +"elementos, que pueden contener objetos :class:`str` o :class:`bytes`, en una " +"cadena de texto ASCII codificada porcentualmente. Si la cadena resultante " +"se va a utilizar como una operación *data* para post con la función :func:" +"`URLlib.request.urlopen`, entonces debe codificarse en bytes, de lo " +"contrario resultaría en un :exc:`TypeError`." -#: ../Doc/library/urllib.parse.rst:616 -#, python-format +#: ../Doc/library/urllib.parse.rst:607 msgid "" "The resulting string is a series of ``key=value`` pairs separated by ``'&'`` " "characters, where both *key* and *value* are quoted using the *quote_via* " @@ -760,8 +1003,18 @@ msgid "" "and not encode '/' characters. For maximum control of what is quoted, use " "``quote`` and specify a value for *safe*." msgstr "" +"La cadena resultante es una serie de pares ``key=value`` separados por " +"caracteres ``'&'``, donde tanto *key* como *value* se citan mediante la " +"función *quote_via*. De forma predeterminada, :func:`quote_plus` se utiliza " +"para citar los valores, lo que significa que los espacios se citan como un " +"carácter ``'+'`` y '/' los caracteres se codifican como ``%2F``, que sigue " +"el estándar para las solicitudes GET (``application/x-www-form-" +"urlencoded``). Una función alternativa que se puede pasar como *quote_via* " +"es :func:`quote`, que codificará espacios como ``%20`` y no codificará " +"caracteres '/'. Para obtener el máximo control de lo que se cita, utilice " +"``quote`` y especifique un valor para *safe*." -#: ../Doc/library/urllib.parse.rst:626 +#: ../Doc/library/urllib.parse.rst:617 msgid "" "When a sequence of two-element tuples is used as the *query* argument, the " "first element of each tuple is a key and the second is a value. The value " @@ -771,87 +1024,118 @@ msgid "" "for the key. The order of parameters in the encoded string will match the " "order of parameter tuples in the sequence." msgstr "" +"Cuando se utiliza una secuencia de tuplas de dos elementos como argumento " +"*query*, el primer elemento de cada tupla es una clave y el segundo es un " +"valor. El elemento *value* en sí mismo puede ser una secuencia y, en ese " +"caso, si el parámetro opcional *doseq* se evalúa como ``True``, se generan " +"pares individuales ``key=value`` separados por ``'&'`` para cada elemento de " +"la secuencia de valores de la clave. El orden de los parámetros de la " +"cadena codificada coincidirá con el orden de las tuplas de parámetros de la " +"secuencia." -#: ../Doc/library/urllib.parse.rst:634 +#: ../Doc/library/urllib.parse.rst:625 msgid "" "The *safe*, *encoding*, and *errors* parameters are passed down to " "*quote_via* (the *encoding* and *errors* parameters are only passed when a " "query element is a :class:`str`)." msgstr "" +"Los parámetros *safe*, *encoding* y *errors* se pasan a *quote_via* (los " +"parámetros *encoding* y *errors* solo se pasan cuando un elemento de " +"consulta es :class:`str`)." -#: ../Doc/library/urllib.parse.rst:638 +#: ../Doc/library/urllib.parse.rst:629 msgid "" "To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are " "provided in this module to parse query strings into Python data structures." msgstr "" +"Para revertir este proceso de codificación, en este módulo se proporcionan :" +"func:`parse_qs` y :func:`parse_qsl` para analizar cadenas de consulta en " +"estructuras de datos de Python." -#: ../Doc/library/urllib.parse.rst:641 +#: ../Doc/library/urllib.parse.rst:632 msgid "" "Refer to :ref:`urllib examples ` to find out how urlencode " "method can be used for generating query string for a URL or data for POST." msgstr "" +"Consulte :ref:`urllib examples ` para averiguar cómo se " +"puede utilizar el método urlencode para generar una cadena de consulta para " +"una dirección URL o datos para POST." -#: ../Doc/library/urllib.parse.rst:644 +#: ../Doc/library/urllib.parse.rst:635 msgid "Query parameter supports bytes and string objects." -msgstr "" +msgstr "El parámetro Query admite bytes y objetos de cadena." -#: ../Doc/library/urllib.parse.rst:647 +#: ../Doc/library/urllib.parse.rst:638 msgid "*quote_via* parameter." -msgstr "" +msgstr "*quote_via*." -#: ../Doc/library/urllib.parse.rst:657 +#: ../Doc/library/urllib.parse.rst:648 msgid ":rfc:`3986` - Uniform Resource Identifiers" -msgstr "" +msgstr ":rfc:`3986` - Identificadores uniformes de recursos" -#: ../Doc/library/urllib.parse.rst:654 +#: ../Doc/library/urllib.parse.rst:645 msgid "" "This is the current standard (STD66). Any changes to urllib.parse module " "should conform to this. Certain deviations could be observed, which are " "mostly for backward compatibility purposes and for certain de-facto parsing " "requirements as commonly observed in major browsers." msgstr "" +"Este es el estándar actual (STD66). Cualquier cambio en el módulo urllib." +"parse debe ajustarse a esto. Se podrían observar ciertas desviaciones, que " +"son principalmente para fines de compatibilidad con versiones anteriores y " +"para ciertos requisitos de análisis de facto como se observa comúnmente en " +"los principales navegadores." -#: ../Doc/library/urllib.parse.rst:660 +#: ../Doc/library/urllib.parse.rst:651 msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." -msgstr "" +msgstr ":rfc:`2732` - Formato de direcciones IPv6 literales en URL." -#: ../Doc/library/urllib.parse.rst:660 +#: ../Doc/library/urllib.parse.rst:651 msgid "This specifies the parsing requirements of IPv6 URLs." msgstr "" +"Esto especifica los requisitos de análisis de las direcciones URL IPv6." -#: ../Doc/library/urllib.parse.rst:664 +#: ../Doc/library/urllib.parse.rst:655 msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" msgstr "" +":rfc:`2396` - Identificadores uniformes de recursos (URI): Sintaxis genérica" -#: ../Doc/library/urllib.parse.rst:663 +#: ../Doc/library/urllib.parse.rst:654 msgid "" "Document describing the generic syntactic requirements for both Uniform " "Resource Names (URNs) and Uniform Resource Locators (URLs)." msgstr "" +"Documento que describe los requisitos sintácticos genéricos para los nombres " +"de recursos uniformes (URL) y los localizadores uniformes de recursos (URL)." -#: ../Doc/library/urllib.parse.rst:667 +#: ../Doc/library/urllib.parse.rst:658 msgid ":rfc:`2368` - The mailto URL scheme." -msgstr "" +msgstr ":rfc:`2368` - El esquema mailto URL." -#: ../Doc/library/urllib.parse.rst:667 +#: ../Doc/library/urllib.parse.rst:658 msgid "Parsing requirements for mailto URL schemes." -msgstr "" +msgstr "Análisis de requisitos para esquemas de URL de correo a correo." -#: ../Doc/library/urllib.parse.rst:672 +#: ../Doc/library/urllib.parse.rst:663 msgid ":rfc:`1808` - Relative Uniform Resource Locators" -msgstr "" +msgstr ":rfc:`1808` - Localizadores uniformes de recursos relativos" -#: ../Doc/library/urllib.parse.rst:670 +#: ../Doc/library/urllib.parse.rst:661 msgid "" "This Request For Comments includes the rules for joining an absolute and a " "relative URL, including a fair number of \"Abnormal Examples\" which govern " "the treatment of border cases." msgstr "" +"Esta solicitud de comentarios incluye las reglas para unirse a una URL " +"absoluta y relativa, incluyendo un buen número de \"Ejemplos anormales\" que " +"rigen el tratamiento de los casos fronterizos." -#: ../Doc/library/urllib.parse.rst:674 +#: ../Doc/library/urllib.parse.rst:665 msgid ":rfc:`1738` - Uniform Resource Locators (URL)" -msgstr "" +msgstr ":rfc:`1738` - Localizadores uniformes de recursos (URL)" -#: ../Doc/library/urllib.parse.rst:675 +#: ../Doc/library/urllib.parse.rst:666 msgid "This specifies the formal syntax and semantics of absolute URLs." msgstr "" +"Esto especifica la sintaxis formal y la semántica de las direcciones URL " +"absolutas." From 3444ef43f2acf77d3b6089f4a667f9691db1e82d Mon Sep 17 00:00:00 2001 From: Daniela Zuluaga Date: Sun, 20 Dec 2020 15:24:05 -0500 Subject: [PATCH 096/153] Traducido library/pty.po (#1093) --- TRANSLATORS | 1 + dictionaries/library_pty.txt | 2 ++ library/pty.po | 65 +++++++++++++++++++++++++++++++----- 3 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 dictionaries/library_pty.txt diff --git a/TRANSLATORS b/TRANSLATORS index 8acb5a4799..85f9fce61f 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -119,6 +119,7 @@ María Saiz Muñoz (@mariasm87) Sofia Carballo (@sofiacarballo) Alan Verdugo Muñoz (@alanverdugo) Alcides Rivarola (@alcides29) +Daniela Zuluaga Ocampo (@Nany262) Ginés Salar Ibáñez (@Ibnmardanis24) Ana (@popiula) David Silva (@dvidsilva) diff --git a/dictionaries/library_pty.txt b/dictionaries/library_pty.txt new file mode 100644 index 0000000000..ad02223d2f --- /dev/null +++ b/dictionaries/library_pty.txt @@ -0,0 +1,2 @@ +io +typescript diff --git a/library/pty.po b/library/pty.po index 06a5ccfaa0..dfeb8b5286 100644 --- a/library/pty.po +++ b/library/pty.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-18 14:36-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/pty.rst:2 msgid ":mod:`pty` --- Pseudo-terminal utilities" -msgstr "" +msgstr ":mod:`pty` --- Utilidades para Pseudo-terminal" #: ../Doc/library/pty.rst:11 msgid "**Source code:** :source:`Lib/pty.py`" -msgstr "" +msgstr "**Código Fuente:** :source:`Lib/pty.py`" #: ../Doc/library/pty.rst:15 msgid "" @@ -34,6 +36,9 @@ msgid "" "concept: starting another process and being able to write to and read from " "its controlling terminal programmatically." msgstr "" +"El módulo :mod:`pty` define las operaciones para manejar el concepto de " +"pseudo-terminal: iniciar otro proceso para poder escribir y leer desde su " +"propia terminal mediante programación." #: ../Doc/library/pty.rst:19 msgid "" @@ -41,10 +46,13 @@ msgid "" "to do it only for Linux. (The Linux code is supposed to work on other " "platforms, but hasn't been tested yet.)" msgstr "" +"Debido a que el manejo de una pseudo-terminal depende en gran medida de la " +"plataforma, este código es solo para Linux (se supone que el código de Linux " +"funciona para otras plataformas, pero este aún no se ha probado)" #: ../Doc/library/pty.rst:23 msgid "The :mod:`pty` module defines the following functions:" -msgstr "" +msgstr "El modulo :mod:`pty` define las siguientes funciones:" #: ../Doc/library/pty.rst:28 msgid "" @@ -54,6 +62,12 @@ msgid "" "a file descriptor connected to the child's controlling terminal (and also to " "the child's standard input and output)." msgstr "" +"Bifurcación. Conectar en su propia terminal (terminal hijo) una pseudo-" +"terminal. El valor de retorno es ``(pid, fd)``. Tener en cuenta que la " +"terminal hijo tiene como valor *pid* 0 y *fd* es *invalid*. El valor de " +"retorno del padre es el *pid* del hijo, y *fd* es un descriptor de archivo " +"conectado a la terminal hijo (también a la salida y entrada estándar de la " +"terminal hijo)" #: ../Doc/library/pty.rst:37 msgid "" @@ -61,6 +75,10 @@ msgid "" "emulation code for generic Unix systems. Return a pair of file descriptors " "``(master, slave)``, for the master and the slave end, respectively." msgstr "" +"Abre un nuevo par de pseudo-terminales, usando :func:`os.openpty`, o código " +"de emulación para sistemas genéricos de Unix. Retorna un par de descriptores " +"de archivo ``(master, slave)``, para el *master* y el *slave* " +"respectivamente." #: ../Doc/library/pty.rst:44 msgid "" @@ -70,6 +88,10 @@ msgid "" "spawned behind the pty will eventually terminate, and when it does *spawn* " "will return." msgstr "" +"Genera un proceso conectado a su terminal con el io estándar del proceso " +"actual. Esto se usa a frecuentemente para confundir programas que insisten " +"en leer desde la terminal de control. Se espera que el proceso generado " +"detrás de pty sea finalizado y cuando lo haga *spawn* se retornará." #: ../Doc/library/pty.rst:50 msgid "" @@ -78,6 +100,10 @@ msgid "" "order to force spawn to return before the child process exits an :exc:" "`OSError` should be thrown." msgstr "" +"Las funciones *master_read* y *stdin_read* se les envía como parámetro un " +"descriptor de archivo y siempre deben retornar una cadena de bytes. A fin de " +"que se obligue a *spawn* a retornar antes que el proceso hijo salga se debe " +"lanzar un :exc:`OSError`." #: ../Doc/library/pty.rst:55 msgid "" @@ -87,6 +113,11 @@ msgid "" "child process, and *stdin_read* is passed file descriptor 0, to read from " "the parent process's standard input." msgstr "" +"La implementación predeterminada para ambas funciones retornará hasta 1024 " +"bytes cada vez que se llamen. El dato retornado de *master_read* se pasa al " +"descriptor de archivo maestro para leer la salida del proceso hijo, y " +"*stdin_read* pasa el descriptor de archivo 0, para leer desde la entrada del " +"proceso padre." #: ../Doc/library/pty.rst:61 msgid "" @@ -97,6 +128,13 @@ msgid "" "quit without any input, *spawn* will then loop forever. If *master_read* " "signals EOF the same behavior results (on linux at least)." msgstr "" +"Retornando una cadena de bytes vacía de cualquier llamado es interpretado " +"como una condición de fin de archivo (EOF), y el llamado no se realizará " +"después de eso. Si *stdin_read* retorna EOF la terminal de control ya no " +"puede comunicarse con el proceso padre o el proceso hijo. A menos que el " +"proceso hijo se cierre sin ninguna entrada *spawn* se repetirá para siempre. " +"Si *master_read* retorna EOF se produce el mismo comportamiento (al menos en " +"Linux)" #: ../Doc/library/pty.rst:68 msgid "" @@ -105,22 +143,30 @@ msgid "" "This is a bug, documented in `issue 26228 `_." msgstr "" +"Si ambas retrollamadas retornan EOF entonces *spawn* probablemente nunca " +"retorne algo, a menos que *select* entregue un error en su plataforma cuando " +"pasan tres listas vacías. Esto es un error documentado en `issue 26228 " +"`_." #: ../Doc/library/pty.rst:73 msgid "" "Raises an :ref:`auditing event ` ``pty.spawn`` with argument " "``argv``." msgstr "" +"Lanza un :ref:`evento de auditoria ` ``pty.spawn`` con el " +"argumento ``argv``." #: ../Doc/library/pty.rst:74 msgid "" ":func:`spawn` now returns the status value from :func:`os.waitpid` on the " "child process." msgstr "" +":func:`spawn` ahora retorna el valor de estado de :func:`os.waitpid` para " +"los procesos hijos." #: ../Doc/library/pty.rst:79 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/pty.rst:83 msgid "" @@ -128,3 +174,6 @@ msgid "" "a pseudo-terminal to record all input and output of a terminal session in a " "\"typescript\". ::" msgstr "" +"El siguiente programa actúa como el comando de Unix :manpage:`script(1)`, " +"usando una pseudo-terminal para registrar todas las entradas y salidas de " +"una sesión en \"typescript\". ::" From 5b60e299df8063d6e38a373fb2dc13698912751f Mon Sep 17 00:00:00 2001 From: fjsevilla Date: Sun, 20 Dec 2020 20:27:12 +0000 Subject: [PATCH 097/153] Traducido archivo library/statistics.po (#1094) --- dictionaries/library_statistics.txt | 23 ++ library/statistics.po | 458 +++++++++++++++++++++++++--- 2 files changed, 431 insertions(+), 50 deletions(-) create mode 100644 dictionaries/library_statistics.txt diff --git a/dictionaries/library_statistics.txt b/dictionaries/library_statistics.txt new file mode 100644 index 0000000000..d3ce295ab3 --- /dev/null +++ b/dictionaries/library_statistics.txt @@ -0,0 +1,23 @@ +Behavioral +Bessel +cuantiles +for +Fraction +Frederick +Gnome +Gnumeric +Gravetter +Matlab +Minitab +muestral +muestreados +percentil +probabilísticos +ratios +Sciences +Statistics +the +Wallnau +ª +μ +σ diff --git a/library/statistics.po b/library/statistics.po index 24366af2d2..10c1ac9122 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -6,33 +6,37 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-20 20:40+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Francisco Jesús Sevilla García \n" +"Language: es_ES\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/statistics.rst:2 msgid ":mod:`statistics` --- Mathematical statistics functions" -msgstr "" +msgstr ":mod:`statistics` --- Funciones de estadística matemática" #: ../Doc/library/statistics.rst:12 msgid "**Source code:** :source:`Lib/statistics.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/statistics.py`" #: ../Doc/library/statistics.rst:21 msgid "" "This module provides functions for calculating mathematical statistics of " "numeric (:class:`~numbers.Real`-valued) data." msgstr "" +"Este módulo proporciona funciones para calcular estadísticas matemáticas de " +"datos numéricos (de tipo :class:`~numbers.Real`)." #: ../Doc/library/statistics.rst:24 msgid "" @@ -42,6 +46,11 @@ msgid "" "statisticians such as Minitab, SAS and Matlab. It is aimed at the level of " "graphing and scientific calculators." msgstr "" +"Este módulo no pretende ser competidor o sustituto de bibliotecas de " +"terceros como `NumPy `_ o `SciPy `_, ni de paquetes completos de software propietario para profesionales " +"como Minitab, SAS o Matlab. Este módulo se ubica a nivel de calculadoras " +"científicas gráficas." #: ../Doc/library/statistics.rst:30 msgid "" @@ -53,162 +62,180 @@ msgid "" "you may be able to use :func:`map` to ensure a consistent result, for " "example: ``map(float, input_data)``." msgstr "" +"A menos que se indique explícitamente lo contrario, las funciones de este " +"módulo manejan objetos :class:`int`, :class:`float`, :class:`~decimal." +"Decimal` y :class:`~fractions.Fraction`. No se garantiza un correcto " +"funcionamiento con otros tipos (numéricos o no). El comportamiento de estas " +"funciones con colecciones mixtas que contengan objetos de diferente tipo no " +"está definido y depende de la implementación. Si tus datos de entrada " +"consisten en una mezcla de varios tipos, puedes usar :func:`map` para " +"asegurarte de que el resultado sea consistente, por ejemplo: ``map(float, " +"input_data)``." #: ../Doc/library/statistics.rst:39 msgid "Averages and measures of central location" -msgstr "" +msgstr "Promedios y medidas de tendencia central" #: ../Doc/library/statistics.rst:41 msgid "" "These functions calculate an average or typical value from a population or " "sample." msgstr "" +"Estas funciones calculan el promedio o el valor típico de una población o " +"muestra." #: ../Doc/library/statistics.rst:45 msgid ":func:`mean`" -msgstr "" +msgstr ":func:`mean`" #: ../Doc/library/statistics.rst:45 msgid "Arithmetic mean (\"average\") of data." -msgstr "" +msgstr "Media aritmética (\"promedio\") de los datos." #: ../Doc/library/statistics.rst:46 msgid ":func:`fmean`" -msgstr "" +msgstr ":func:`fmean`" #: ../Doc/library/statistics.rst:46 msgid "Fast, floating point arithmetic mean." -msgstr "" +msgstr "Media aritmética usando coma flotante, más rápida." #: ../Doc/library/statistics.rst:47 msgid ":func:`geometric_mean`" -msgstr "" +msgstr ":func:`geometric_mean`" #: ../Doc/library/statistics.rst:47 msgid "Geometric mean of data." -msgstr "" +msgstr "Media geométrica de los datos." #: ../Doc/library/statistics.rst:48 msgid ":func:`harmonic_mean`" -msgstr "" +msgstr ":func:`harmonic_mean`" #: ../Doc/library/statistics.rst:48 msgid "Harmonic mean of data." -msgstr "" +msgstr "Media armónica de los datos." #: ../Doc/library/statistics.rst:49 msgid ":func:`median`" -msgstr "" +msgstr ":func:`median`" #: ../Doc/library/statistics.rst:49 msgid "Median (middle value) of data." -msgstr "" +msgstr "Mediana (valor central) de los datos." #: ../Doc/library/statistics.rst:50 msgid ":func:`median_low`" -msgstr "" +msgstr ":func:`median_low`" #: ../Doc/library/statistics.rst:50 msgid "Low median of data." -msgstr "" +msgstr "Mediana baja de los datos." #: ../Doc/library/statistics.rst:51 msgid ":func:`median_high`" -msgstr "" +msgstr ":func:`median_high`" #: ../Doc/library/statistics.rst:51 msgid "High median of data." -msgstr "" +msgstr "Mediana alta de los datos." #: ../Doc/library/statistics.rst:52 msgid ":func:`median_grouped`" -msgstr "" +msgstr ":func:`median_grouped`" #: ../Doc/library/statistics.rst:52 msgid "Median, or 50th percentile, of grouped data." -msgstr "" +msgstr "Mediana, o percentil 50, de los datos agrupados." #: ../Doc/library/statistics.rst:53 msgid ":func:`mode`" -msgstr "" +msgstr ":func:`mode`" #: ../Doc/library/statistics.rst:53 msgid "Single mode (most common value) of discrete or nominal data." -msgstr "" +msgstr "Moda única (valor más común) de datos discretos o nominales." #: ../Doc/library/statistics.rst:54 msgid ":func:`multimode`" -msgstr "" +msgstr ":func:`multimode`" #: ../Doc/library/statistics.rst:54 msgid "List of modes (most common values) of discrete or nomimal data." -msgstr "" +msgstr "Lista de modas (valores más comunes) de datos discretos o nominales." #: ../Doc/library/statistics.rst:55 msgid ":func:`quantiles`" -msgstr "" +msgstr ":func:`quantiles`" #: ../Doc/library/statistics.rst:55 msgid "Divide data into intervals with equal probability." -msgstr "" +msgstr "Divide los datos en intervalos equiprobables." #: ../Doc/library/statistics.rst:59 msgid "Measures of spread" -msgstr "" +msgstr "Medidas de dispersión" #: ../Doc/library/statistics.rst:61 msgid "" "These functions calculate a measure of how much the population or sample " "tends to deviate from the typical or average values." msgstr "" +"Estas funciones calculan una medida de cuánto tiende a desviarse la " +"población o muestra de los valores típicos o promedios." #: ../Doc/library/statistics.rst:65 msgid ":func:`pstdev`" -msgstr "" +msgstr ":func:`pstdev`" #: ../Doc/library/statistics.rst:65 msgid "Population standard deviation of data." -msgstr "" +msgstr "Desviación típica poblacional de los datos." #: ../Doc/library/statistics.rst:66 msgid ":func:`pvariance`" -msgstr "" +msgstr ":func:`pvariance`" #: ../Doc/library/statistics.rst:66 msgid "Population variance of data." -msgstr "" +msgstr "Varianza poblacional de los datos." #: ../Doc/library/statistics.rst:67 msgid ":func:`stdev`" -msgstr "" +msgstr ":func:`stdev`" #: ../Doc/library/statistics.rst:67 msgid "Sample standard deviation of data." -msgstr "" +msgstr "Desviación típica muestral de los datos." #: ../Doc/library/statistics.rst:68 msgid ":func:`variance`" -msgstr "" +msgstr ":func:`variance`" #: ../Doc/library/statistics.rst:68 msgid "Sample variance of data." -msgstr "" +msgstr "Varianza muestral de los datos." #: ../Doc/library/statistics.rst:73 msgid "Function details" -msgstr "" +msgstr "Detalles de las funciones" #: ../Doc/library/statistics.rst:75 msgid "" "Note: The functions do not require the data given to them to be sorted. " "However, for reading convenience, most of the examples show sorted sequences." msgstr "" +"Nota: Las funciones no requieren que se ordenen los datos que se les " +"proporcionan. Sin embargo, para facilitar la lectura, la mayoría de los " +"ejemplos muestran secuencias ordenadas." #: ../Doc/library/statistics.rst:80 msgid "" "Return the sample arithmetic mean of *data* which can be a sequence or " "iterable." msgstr "" +"Retorna la media aritmética muestral de *data*, que puede ser una secuencia " +"o un iterable." #: ../Doc/library/statistics.rst:82 msgid "" @@ -217,14 +244,18 @@ msgid "" "many different mathematical averages. It is a measure of the central " "location of the data." msgstr "" +"La media aritmética es la suma de los valores dividida entre el número de " +"observaciones. Es comúnmente denominada \"promedio\", aunque hay muchas " +"formas de definir el promedio matemáticamente. Es una medida de tendencia " +"central de los datos." #: ../Doc/library/statistics.rst:87 msgid "If *data* is empty, :exc:`StatisticsError` will be raised." -msgstr "" +msgstr "Se lanza una excepción :exc:`StatisticsError` si *data* está vacío." #: ../Doc/library/statistics.rst:89 msgid "Some examples of use:" -msgstr "" +msgstr "Algunos ejemplos de uso:" #: ../Doc/library/statistics.rst:108 msgid "" @@ -233,6 +264,11 @@ msgid "" "points. For more robust measures of central location, see :func:`median` " "and :func:`mode`." msgstr "" +"La media aritmética se ve fuertemente afectada por la presencia de valores " +"atípicos en la muestra y no es un estimador robusto de tendencia central: la " +"media no es necesariamente un ejemplo representativo de la muestra. " +"Consulta :func:`median` y :func:`mode` para obtener medidas más robustas de " +"tendencia central." #: ../Doc/library/statistics.rst:113 msgid "" @@ -242,10 +278,17 @@ msgid "" "the entire population rather than a sample, then ``mean(data)`` is " "equivalent to calculating the true population mean μ." msgstr "" +"La media muestral proporciona una estimación no sesgada de la media real de " +"la población. Por lo tanto, al calcular el promedio de todas las muestras " +"posibles, ``mean(sample)`` converge con el promedio real de toda la " +"población. Si *data* representa a una población completa, en lugar de a una " +"muestra, entonces ``mean(data)`` equivale a calcular la media poblacional " +"verdadera μ." #: ../Doc/library/statistics.rst:122 msgid "Convert *data* to floats and compute the arithmetic mean." msgstr "" +"Convierte los valores de *data* a flotantes y calcula la media aritmética." #: ../Doc/library/statistics.rst:124 msgid "" @@ -253,10 +296,15 @@ msgid "" "class:`float`. The *data* may be a sequence or iterable. If the input " "dataset is empty, raises a :exc:`StatisticsError`." msgstr "" +"Esta función se ejecuta más rápido que :func:`mean` y siempre retorna un :" +"class:`float`. *data* puede ser una secuencia o un iterable. Si el conjunto " +"de datos de entrada está vacío, se lanza una excepción :exc:" +"`StatisticsError`." #: ../Doc/library/statistics.rst:138 msgid "Convert *data* to floats and compute the geometric mean." msgstr "" +"Convierte los valores de *data* a flotantes y calcula la media geométrica." #: ../Doc/library/statistics.rst:140 msgid "" @@ -264,6 +312,9 @@ msgid "" "*data* using the product of the values (as opposed to the arithmetic mean " "which uses their sum)." msgstr "" +"La media geométrica indica la tendencia central o valor típico de *data* " +"utilizando el producto de los valores (en oposición a la media aritmética, " +"que utiliza su suma)." #: ../Doc/library/statistics.rst:144 msgid "" @@ -271,18 +322,26 @@ msgid "" "contains a zero, or if it contains a negative value. The *data* may be a " "sequence or iterable." msgstr "" +"Lanza una excepción :exc:`StatisticsError` si el conjunto de datos de " +"entrada está vacío, o si contiene un cero o un valor negativo. *data* puede " +"ser una secuencia o un iterable." #: ../Doc/library/statistics.rst:148 msgid "" "No special efforts are made to achieve exact results. (However, this may " "change in the future.)" msgstr "" +"No se toman medidas especiales para garantizar que el resultado sea " +"completamente preciso. (Sin embargo, esto puede cambiar en una versión " +"futura.)" #: ../Doc/library/statistics.rst:161 msgid "" "Return the harmonic mean of *data*, a sequence or iterable of real-valued " "numbers." msgstr "" +"Retorna la media armónica de *data*, que debe ser una secuencia o un " +"iterable de números que pertenezcan al conjunto de los números reales." #: ../Doc/library/statistics.rst:164 msgid "" @@ -291,6 +350,10 @@ msgid "" "the harmonic mean of three values *a*, *b* and *c* will be equivalent to ``3/" "(1/a + 1/b + 1/c)``. If one of the values is zero, the result will be zero." msgstr "" +"La media armónica es el inverso o recíproco de la media aritmética (:func:" +"`mean`) de los inversos multiplicativos de los datos. Por ejemplo, la media " +"armónica de tres valores *a*, *b* y *c* es ``3/(1/a + 1/b + 1/c)``. El " +"resultado es cero si uno de los valores es cero." #: ../Doc/library/statistics.rst:170 msgid "" @@ -298,12 +361,17 @@ msgid "" "the data. It is often appropriate when averaging rates or ratios, for " "example speeds." msgstr "" +"La media armónica es un tipo de promedio, una medida de la tendencia central " +"de los datos. Generalmente es adecuada para calcular promedios de tasas o " +"fracciones, por ejemplo, velocidades." #: ../Doc/library/statistics.rst:174 msgid "" "Suppose a car travels 10 km at 40 km/hr, then another 10 km at 60 km/hr. " "What is the average speed?" msgstr "" +"Supongamos que un automóvil viaja 10 km a 40 km/h, luego otros 10 km a 60 km/" +"h. ¿Cuál es su velocidad media?" #: ../Doc/library/statistics.rst:182 msgid "" @@ -311,12 +379,17 @@ msgid "" "companies, with P/E (price/earning) ratios of 2.5, 3 and 10. What is the " "average P/E ratio for the investor's portfolio?" msgstr "" +"Supongamos que un inversor compra la misma cantidad de acciones de tres " +"empresas diferentes, con unos PER (ratio precio-beneficio) de 2.5, 3 y 10. " +"¿Cuál es el PER promedio para la cartera del inversor?" #: ../Doc/library/statistics.rst:191 msgid "" ":exc:`StatisticsError` is raised if *data* is empty, or any element is less " "than zero." msgstr "" +"Una excepción :exc:`StatisticsError` es lanzada si *data* está vacío o algún " +"elemento es menor que cero." #: ../Doc/library/statistics.rst:194 msgid "" @@ -324,6 +397,9 @@ msgid "" "input. This means that the subsequent inputs are not tested for validity. " "(This behavior may change in the future.)" msgstr "" +"El algoritmo actual tiene una salida anticipada cuando encuentra un cero en " +"la entrada. Esto significa que no se comprueba la validez de las entradas " +"posteriores al cero. (Este comportamiento puede cambiar en el futuro.)" #: ../Doc/library/statistics.rst:203 msgid "" @@ -331,6 +407,10 @@ msgid "" "middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised. " "*data* can be a sequence or iterable." msgstr "" +"Retorna la mediana (valor central) de los datos numéricos, utilizando el " +"método clásico de \"media de los dos del medio\". Si *data* está vacío, se " +"lanza una excepción :exc:`StatisticsError`. *data* puede ser una secuencia o " +"un iterable." #: ../Doc/library/statistics.rst:207 msgid "" @@ -338,18 +418,25 @@ msgid "" "the presence of outliers. When the number of data points is odd, the middle " "data point is returned:" msgstr "" +"La mediana es una medida de tendencia central robusta y es menos sensible a " +"la presencia de valores atípicos que la media. Cuando el número de casos es " +"impar, se retorna el valor central:" #: ../Doc/library/statistics.rst:216 msgid "" "When the number of data points is even, the median is interpolated by taking " "the average of the two middle values:" msgstr "" +"Cuando el número de observaciones es par, la mediana se interpola calculando " +"el promedio de los dos valores centrales:" #: ../Doc/library/statistics.rst:224 msgid "" "This is suited for when your data is discrete, and you don't mind that the " "median may not be an actual data point." msgstr "" +"Este enfoque es adecuado para datos discretos, siempre que se acepte que la " +"mediana no es necesariamente parte de las observaciones." #: ../Doc/library/statistics.rst:227 msgid "" @@ -357,12 +444,18 @@ msgid "" "support addition), consider using :func:`median_low` or :func:`median_high` " "instead." msgstr "" +"Si los datos son ordinales (se pueden ordenar) pero no numéricos (no se " +"pueden sumar), considera usar :func:`median_low` o :func:`median_high` en su " +"lugar." #: ../Doc/library/statistics.rst:233 msgid "" "Return the low median of numeric data. If *data* is empty, :exc:" "`StatisticsError` is raised. *data* can be a sequence or iterable." msgstr "" +"Retorna la mediana baja de los datos numéricos. Se lanza una excepción :exc:" +"`StatisticsError` si *data* está vacío. *data* puede ser una secuencia o un " +"iterable." #: ../Doc/library/statistics.rst:236 msgid "" @@ -370,18 +463,27 @@ msgid "" "points is odd, the middle value is returned. When it is even, the smaller " "of the two middle values is returned." msgstr "" +"La mediana baja es siempre un valor presente en el conjunto de datos. Cuando " +"el número de casos es impar, se retorna el valor central. Cuando el número " +"de casos es par, se retorna el menor de los dos valores centrales." #: ../Doc/library/statistics.rst:247 msgid "" "Use the low median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" +"Utiliza la mediana baja cuando tus datos sean discretos y prefieras que la " +"mediana sea un valor representado en tus observaciones, en lugar de ser el " +"resultado de una interpolación." #: ../Doc/library/statistics.rst:253 msgid "" "Return the high median of data. If *data* is empty, :exc:`StatisticsError` " "is raised. *data* can be a sequence or iterable." msgstr "" +"Retorna la mediana alta de los datos. Lanza una excepción :exc:" +"`StatisticsError` si *data* está vacío. *data* puede ser una secuencia o un " +"iterable." #: ../Doc/library/statistics.rst:256 msgid "" @@ -389,12 +491,18 @@ msgid "" "points is odd, the middle value is returned. When it is even, the larger of " "the two middle values is returned." msgstr "" +"La mediana alta es siempre un valor presente en el conjunto de datos. Cuando " +"el número de casos es impar, se retorna el valor central. Cuando el número " +"de casos es par, se retorna el mayor de los dos valores centrales." #: ../Doc/library/statistics.rst:267 msgid "" "Use the high median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" +"Utiliza la mediana alta cuando tus datos sean discretos y prefieras que la " +"mediana sea un valor representado en tus observaciones, en lugar de ser el " +"resultado de una interpolación." #: ../Doc/library/statistics.rst:273 msgid "" @@ -402,6 +510,10 @@ msgid "" "percentile, using interpolation. If *data* is empty, :exc:`StatisticsError` " "is raised. *data* can be a sequence or iterable." msgstr "" +"Retorna la mediana de los datos continuos agrupados, calculada como el " +"percentil 50, usando interpolación. Se lanza una excepción :exc:" +"`StatisticsError` si *data* está vacío. *data* puede ser una secuencia o un " +"iterable." #: ../Doc/library/statistics.rst:282 msgid "" @@ -411,30 +523,45 @@ msgid "" "etc. With the data given, the middle value falls somewhere in the class " "3.5--4.5, and interpolation is used to estimate it:" msgstr "" +"En el siguiente ejemplo, los valores se redondean para que cada valor " +"represente la mitad de un grupo. Por ejemplo, 1 es la mitad del grupo " +"0.5--1.5, 2 es la mitad del grupo 1.5--2.5, 3 es la mitad de 2.5--3.5, etc. " +"En los datos proporcionados a continuación, el valor medio está en algún " +"lugar del grupo que va de 3,5 a 4,5 y se estima mediante interpolación:" #: ../Doc/library/statistics.rst:293 msgid "" "Optional argument *interval* represents the class interval, and defaults to " "1. Changing the class interval naturally will change the interpolation:" msgstr "" +"El argumento opcional *interval* representa el intervalo de clase y el valor " +"predeterminado es 1. Cambiar el intervalo de clase cambiará la " +"interpolación, como es natural:" #: ../Doc/library/statistics.rst:303 msgid "" "This function does not check whether the data points are at least *interval* " "apart." msgstr "" +"Esta función no comprueba si los valores están separados por al menos un " +"*interval*." #: ../Doc/library/statistics.rst:308 msgid "" "Under some circumstances, :func:`median_grouped` may coerce data points to " "floats. This behaviour is likely to change in the future." msgstr "" +"Bajo algunas circunstancias, :func:`median_grouped` puede convertir algunos " +"de los valores proporcionados en flotantes. Es probable que este " +"comportamiento cambie en el futuro." #: ../Doc/library/statistics.rst:313 msgid "" "\"Statistics for the Behavioral Sciences\", Frederick J Gravetter and Larry " "B Wallnau (8th Edition)." msgstr "" +"\"Statistics for the Behavioral Sciences\", Frederick J Gravetter y Larry B " +"Wallnau (8ª edición)." #: ../Doc/library/statistics.rst:316 msgid "" @@ -443,6 +570,10 @@ msgid "" "spreadsheet, including `this discussion `_." msgstr "" +"La función `SSMEDIAN `_ del programa de hojas de cálculo Gnumeric " +"de Gnome, incluyendo `esta discusión `_." #: ../Doc/library/statistics.rst:324 msgid "" @@ -450,6 +581,9 @@ msgid "" "The mode (when it exists) is the most typical value and serves as a measure " "of central location." msgstr "" +"Retorna el valor más común del conjunto de datos discretos o nominales " +"*data*.La moda (cuando existe) es el valor más representativo y sirve como " +"medida de tendencia central." #: ../Doc/library/statistics.rst:328 msgid "" @@ -458,24 +592,36 @@ msgid "" "instead, use ``min(multimode(data))`` or ``max(multimode(data))``. If the " "input *data* is empty, :exc:`StatisticsError` is raised." msgstr "" +"Si hay varias modas con la misma frecuencia, retorna la primera encontrada " +"en *data*. Si deseas la menor o la mayor de ellas, usa " +"``min(multimode(data))`` o ``max(multimode(data))``. Se lanza una excepción :" +"exc:`StatisticsError` si la entrada *data* está vacía." #: ../Doc/library/statistics.rst:333 msgid "" "``mode`` assumes discrete data and returns a single value. This is the " "standard treatment of the mode as commonly taught in schools:" msgstr "" +"``mode`` asume que los datos de entrada son discretos y retorna un solo " +"valor. Esta es la definición habitual de la moda que se enseña en las " +"escuelas:" #: ../Doc/library/statistics.rst:341 msgid "" "The mode is unique in that it is the only statistic in this package that " "also applies to nominal (non-numeric) data:" msgstr "" +"La moda tiene la particularidad de ser la única estadística de este módulo " +"que se puede calcular sobre datos nominales (no numéricos):" #: ../Doc/library/statistics.rst:349 msgid "" "Now handles multimodal datasets by returning the first mode encountered. " "Formerly, it raised :exc:`StatisticsError` when more than one mode was found." msgstr "" +"Ahora maneja conjuntos de datos multimodales, retornando la primera moda " +"encontrada. Anteriormente, se lanzaba una excepción :exc:`StatisticsError` " +"cuando se daba esta situación." #: ../Doc/library/statistics.rst:357 msgid "" @@ -483,12 +629,18 @@ msgid "" "first encountered in the *data*. Will return more than one result if there " "are multiple modes or an empty list if the *data* is empty:" msgstr "" +"Retorna una lista de los valores más frecuentes en el orden en que aparecen " +"en *data*. Retornará varios resultados en el caso de que existan varias " +"modas, o una lista vacía si *data* está vacío:" #: ../Doc/library/statistics.rst:373 msgid "" "Return the population standard deviation (the square root of the population " "variance). See :func:`pvariance` for arguments and other details." msgstr "" +"Retorna la desviación típica poblacional (la raíz cuadrada de la varianza " +"poblacional). Consultar :func:`pvariance` para los argumentos y otros " +"detalles." #: ../Doc/library/statistics.rst:384 msgid "" @@ -498,6 +650,11 @@ msgid "" "indicates that the data is spread out; a small variance indicates it is " "clustered closely around the mean." msgstr "" +"Retorna la varianza poblacional de *data*, que debe ser una secuencia no " +"vacía o un iterable de números reales. La varianza, o momento de segundo " +"orden respecto a la media, es una medida de la variabilidad (o dispersión) " +"de los datos. Una alta varianza indica una amplia dispersión de valores; una " +"varianza baja indica que los valores están agrupados alrededor de la media." #: ../Doc/library/statistics.rst:390 msgid "" @@ -506,6 +663,10 @@ msgid "" "that is not the mean. If it is missing or ``None`` (the default), the " "arithmetic mean is automatically calculated." msgstr "" +"El segundo argumento opcional *mu*, que normalmente será la media de *data*, " +"también se puede utilizar para calcular el momento de segundo orden " +"alrededor de un punto que no es la media. Si no se proporciona o es ``None`` " +"(el valor predeterminado), la media aritmética se calcula automáticamente." #: ../Doc/library/statistics.rst:395 msgid "" @@ -513,24 +674,29 @@ msgid "" "estimate the variance from a sample, the :func:`variance` function is " "usually a better choice." msgstr "" +"Utiliza esta función para calcular la varianza de toda la población. Para " +"estimar la varianza de una muestra, la función :func:`variance` suele ser " +"una opción mejor." #: ../Doc/library/statistics.rst:399 msgid "Raises :exc:`StatisticsError` if *data* is empty." -msgstr "" +msgstr "Lanza una excepción :exc:`StatisticsError` si *data* está vacío." #: ../Doc/library/statistics.rst:401 ../Doc/library/statistics.rst:471 msgid "Examples:" -msgstr "" +msgstr "Ejemplos:" #: ../Doc/library/statistics.rst:409 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *mu* to avoid recalculation:" msgstr "" +"Si ya has calculado la media de tus datos, puedes pasarla como segundo " +"argumento opcional *mu* para evitar que se tenga que volver a calcular:" #: ../Doc/library/statistics.rst:418 msgid "Decimals and Fractions are supported:" -msgstr "" +msgstr "Se admiten decimales (Decimal) y fracciones (Fraction):" #: ../Doc/library/statistics.rst:432 msgid "" @@ -538,6 +704,9 @@ msgid "" "σ². When called on a sample instead, this is the biased sample variance s², " "also known as variance with N degrees of freedom." msgstr "" +"Esta función retorna la varianza poblacional σ² cuando se aplica a toda la " +"población. Si se aplica solo a una muestra, el resultado es la varianza " +"muestral s², conocida también como varianza con N grados de libertad." #: ../Doc/library/statistics.rst:436 msgid "" @@ -547,12 +716,19 @@ msgid "" "population, the result will be an unbiased estimate of the population " "variance." msgstr "" +"Si se conoce de antemano la verdadera media poblacional μ, se puede usar " +"esta función para calcular la varianza muestral, pasando la media " +"poblacional conocida como segundo argumento. Suponiendo que las " +"observaciones provienen de una selección aleatoria uniforme de la población, " +"el resultado será una estimación no sesgada de la varianza poblacional." #: ../Doc/library/statistics.rst:445 msgid "" "Return the sample standard deviation (the square root of the sample " "variance). See :func:`variance` for arguments and other details." msgstr "" +"Retorna la desviación típica muestral (la raíz cuadrada de la varianza " +"muestral). Consultar :func:`variance` para los argumentos y otros detalles." #: ../Doc/library/statistics.rst:456 msgid "" @@ -562,6 +738,12 @@ msgid "" "that the data is spread out; a small variance indicates it is clustered " "closely around the mean." msgstr "" +"Retorna la varianza muestral de *data*, que debe ser un iterable de al menos " +"dos números reales. La varianza, o momento de segundo orden respecto a la " +"media, es una medida de la variabilidad (difusión o dispersión) de los " +"datos. Una alta varianza indica que los datos están dispersos; una baja " +"varianza indica que los datos están agrupados estrechamente alrededor de la " +"media." #: ../Doc/library/statistics.rst:462 msgid "" @@ -569,22 +751,32 @@ msgid "" "*data*. If it is missing or ``None`` (the default), the mean is " "automatically calculated." msgstr "" +"Si se proporciona el segundo argumento opcional *xbar*, este debe ser la " +"media aritmética de *data*. Si no se proporciona o es ``None`` (el valor " +"predeterminado), la media aritmética se calcula automáticamente." #: ../Doc/library/statistics.rst:466 msgid "" "Use this function when your data is a sample from a population. To calculate " "the variance from the entire population, see :func:`pvariance`." msgstr "" +"Utiliza esta función cuando tus datos sean una muestra de una población. " +"Para calcular la varianza de toda la población, consulta :func:`pvariance`." #: ../Doc/library/statistics.rst:469 msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." msgstr "" +"Lanza una excepción :exc:`StatisticsError` si *data* tiene menos de dos " +"valores." #: ../Doc/library/statistics.rst:479 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *xbar* to avoid recalculation:" msgstr "" +"Si previamente se ha calculado la media de los datos, puede pasarse como " +"segundo argumento opcional *xbar* para evitar que se tenga que volver a " +"calcular:" #: ../Doc/library/statistics.rst:488 msgid "" @@ -592,10 +784,13 @@ msgid "" "mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " "impossible results." msgstr "" +"Esta función no comprueba si el valor pasado al argumento *xbar* corresponde " +"al promedio. El uso de valores arbitrarios para *xbar* produce resultados " +"imposibles o incorrectos." #: ../Doc/library/statistics.rst:492 msgid "Decimal and Fraction values are supported:" -msgstr "" +msgstr "La función maneja decimales (Decimal) y fracciones (Fraction):" #: ../Doc/library/statistics.rst:506 msgid "" @@ -604,6 +799,11 @@ msgid "" "representative (e.g. independent and identically distributed), the result " "should be an unbiased estimate of the true population variance." msgstr "" +"Esta es la varianza muestral s² con la corrección de Bessel, también " +"conocida como varianza con N-1 grados de libertad. Suponiendo que las " +"observaciones son representativas de la población (es decir, independientes " +"y distribuidas de forma idéntica), el resultado es una estimación no sesgada " +"de la varianza." #: ../Doc/library/statistics.rst:511 msgid "" @@ -611,12 +811,17 @@ msgid "" "func:`pvariance` function as the *mu* parameter to get the variance of a " "sample." msgstr "" +"Si conoces de antemano la verdadera media poblacional μ, debes pasarla a :" +"func:`pvariance` mediante el parámetro *mu* para obtener la varianza " +"muestral." #: ../Doc/library/statistics.rst:517 msgid "" "Divide *data* into *n* continuous intervals with equal probability. Returns " "a list of ``n - 1`` cut points separating the intervals." msgstr "" +"Divide *data* en *n* intervalos continuos equiprobables. Retorna una lista " +"de ``n - 1`` límites que delimitan los intervalos (cuantiles)." #: ../Doc/library/statistics.rst:520 msgid "" @@ -625,6 +830,10 @@ msgid "" "*data* into 100 equal sized groups. Raises :exc:`StatisticsError` if *n* is " "not least 1." msgstr "" +"Establece *n* en 4 para obtener los cuartiles (el valor predeterminado), en " +"10 para obtener los deciles y en 100 para obtener los percentiles (lo que " +"produce 99 valores que separan *data* en 100 grupos del mismo tamaño). Si " +"*n* es menor que 1, se lanza una excepción :exc:`StatisticsError`." #: ../Doc/library/statistics.rst:525 msgid "" @@ -632,6 +841,10 @@ msgid "" "results, the number of data points in *data* should be larger than *n*. " "Raises :exc:`StatisticsError` if there are not at least two data points." msgstr "" +"*data* puede ser cualquier iterable que contenga los valores de la muestra. " +"Para que los resultados sean significativos, el número de observaciones en " +"la muestra *data* debe ser mayor que *n*. Si no hay al menos dos " +"observaciones se lanza una excepción :exc:`StatisticsError`." #: ../Doc/library/statistics.rst:529 msgid "" @@ -639,6 +852,10 @@ msgid "" "For example, if a cut point falls one-third of the distance between two " "sample values, ``100`` and ``112``, the cut-point will evaluate to ``104``." msgstr "" +"Los límites de los intervalos se interpolan linealmente a partir de los dos " +"valores más cercanos de la muestra. Por ejemplo, si un límite es un tercio " +"de la distancia entre los valores 100 y 112 de la muestra, el límite será " +"104." #: ../Doc/library/statistics.rst:534 msgid "" @@ -646,6 +863,9 @@ msgid "" "*data* includes or excludes the lowest and highest possible values from the " "population." msgstr "" +"El argumento *method* indica el método que se utilizará para calcular los " +"cuantiles y se puede modificar para especificar si se deben incluir o " +"excluir valores de *data* extremos, altos y bajos, de la población." #: ../Doc/library/statistics.rst:538 msgid "" @@ -656,6 +876,13 @@ msgid "" "them and assigns the following percentiles: 10%, 20%, 30%, 40%, 50%, 60%, " "70%, 80%, 90%." msgstr "" +"El valor predeterminado para *method* es \"exclusive\" y es aplicable a los " +"datos muestreados de una población que puede tener valores más extremos que " +"los encontrados en las muestras. La proporción de la población que se " +"encuentra por debajo del *i-ésimo* valor de *m* valores ordenados se calcula " +"mediante la fórmula ``i / (m + 1)``. Por ejemplo, asumiendo que hay 9 " +"valores en la muestra, este método los ordena y los asocia con los " +"siguientes percentiles: 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%." #: ../Doc/library/statistics.rst:545 msgid "" @@ -668,22 +895,33 @@ msgid "" "assigns the following percentiles: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, " "80%, 90%, 100%." msgstr "" +"Si se usa \"inclusive\" como valor para el parámetro *method*, se asume que " +"los datos corresponden a una población completa o que los valores extremos " +"de la población están representados en la muestra. El valor mínimo de *data* " +"se considera entonces como percentil 0 y el máximo como percentil 100. La " +"proporción de la población que se encuentra por debajo del *i-ésimo* valor " +"de *m* valores ordenados se calcula mediante la fórmula ``(i - 1) / (m - " +"1)``. Suponiendo que tenemos 11 valores en la muestra, este método los " +"ordena y los asocia con los siguientes percentiles: 0%, 10%, 20%, 30%, 40%, " +"50%, 60%, 70%, 80 %, 90%, 100%." #: ../Doc/library/statistics.rst:569 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" #: ../Doc/library/statistics.rst:571 msgid "A single exception is defined:" -msgstr "" +msgstr "Se define una sola excepción:" #: ../Doc/library/statistics.rst:575 msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." msgstr "" +"Subclase de :exc:`ValueError` para excepciones relacionadas con la " +"estadística." #: ../Doc/library/statistics.rst:579 msgid ":class:`NormalDist` objects" -msgstr "" +msgstr "Objetos :class:`NormalDist`" #: ../Doc/library/statistics.rst:581 msgid "" @@ -692,6 +930,10 @@ msgid "" "Courses/1997-98/101/ranvar.htm>`_. It is a class that treats the mean and " "standard deviation of data measurements as a single entity." msgstr "" +":class:`NormalDist` es una herramienta para crear y manipular distribuciones " +"normales de una `variable aleatoria `_. Esta clase gestiona la desviación típica " +"y la media de un conjunto de observaciones como una sola entidad." #: ../Doc/library/statistics.rst:587 msgid "" @@ -699,6 +941,9 @@ msgid "" "wikipedia.org/wiki/Central_limit_theorem>`_ and have a wide range of " "applications in statistics." msgstr "" +"Las distribuciones normales surgen del `Teorema del límite central `_ y tienen una amplia " +"gama de aplicaciones en estadística." #: ../Doc/library/statistics.rst:593 msgid "" @@ -706,34 +951,46 @@ msgid "" "`_ and *sigma* represents the " "`standard deviation `_." msgstr "" +"Retorna un nuevo objeto *NormalDist* donde *mu* representa la `media " +"aritmética `_ y *sigma* " +"representa la `desviación típica `_." #: ../Doc/library/statistics.rst:598 msgid "If *sigma* is negative, raises :exc:`StatisticsError`." -msgstr "" +msgstr "Se lanza una excepción :exc:`StatisticsError` si *sigma* es negativo." #: ../Doc/library/statistics.rst:602 msgid "" "A read-only property for the `arithmetic mean `_ of a normal distribution." msgstr "" +"Una propiedad de solo lectura para la `media aritmética `_ de una distribución normal." #: ../Doc/library/statistics.rst:608 msgid "" "A read-only property for the `median `_ of a normal distribution." msgstr "" +"Una propiedad de solo lectura para la `mediana `_ de una distribución normal." #: ../Doc/library/statistics.rst:614 msgid "" "A read-only property for the `mode `_ of a normal distribution." msgstr "" +"Una propiedad de solo lectura para la `moda `_ de una distribución normal." #: ../Doc/library/statistics.rst:620 msgid "" "A read-only property for the `standard deviation `_ of a normal distribution." msgstr "" +"Una propiedad de solo lectura para la `desviación típica `_ de una distribución normal." #: ../Doc/library/statistics.rst:626 msgid "" @@ -741,12 +998,17 @@ msgid "" "Variance>`_ of a normal distribution. Equal to the square of the standard " "deviation." msgstr "" +"Una propiedad de solo lectura para la `varianza `_ de una distribución normal. Es igual al cuadrado de la " +"desviación típica." #: ../Doc/library/statistics.rst:632 msgid "" "Makes a normal distribution instance with *mu* and *sigma* parameters " "estimated from the *data* using :func:`fmean` and :func:`stdev`." msgstr "" +"Crea una instancia de distribución normal con los parámetros *mu* y *sigma* " +"estimados a partir de *data* usando :func:`fmean` y :func:`stdev`." #: ../Doc/library/statistics.rst:635 msgid "" @@ -756,12 +1018,19 @@ msgid "" "point to estimate a central value and at least two points to estimate " "dispersion." msgstr "" +"*data* puede ser cualquier :term:`iterable` de valores que se puedan " +"convertir al tipo :class:`float`. Se lanza una excepción :exc:" +"`StatisticsError` si *data* no contiene al menos dos elementos, esto se debe " +"a que se necesita al menos un punto para estimar un valor central y al menos " +"dos puntos para estimar la dispersión." #: ../Doc/library/statistics.rst:643 msgid "" "Generates *n* random samples for a given mean and standard deviation. " "Returns a :class:`list` of :class:`float` values." msgstr "" +"Genera *n* muestras aleatorias para una media y una desviación típica " +"proporcionadas. Retorna un objeto :class:`list` de valores :class:`float`." #: ../Doc/library/statistics.rst:646 msgid "" @@ -769,6 +1038,10 @@ msgid "" "generator. This is useful for creating reproducible results, even in a " "multi-threading context." msgstr "" +"Si se proporciona *seed*, su valor se usa para inicializar una nueva " +"instancia del generador de números aleatorios subyacente. Esto permite " +"producir resultados reproducibles incluso en un contexto de paralelismo con " +"múltiples hilos." #: ../Doc/library/statistics.rst:652 msgid "" @@ -777,6 +1050,12 @@ msgid "" "random variable *X* will be near the given value *x*. Mathematically, it is " "the limit of the ratio ``P(x <= X < x+dx) / dx`` as *dx* approaches zero." msgstr "" +"Haciendo uso de una `función de densidad de probabilidad (FPD o PDF en " +"inglés) `_, calcula la verosimilitud relativa de " +"que una variable aleatoria *X* caiga en una región cercana al valor *x* " +"proporcionado. Matemáticamente, esto corresponde al límite de la razón ``P(x " +"<= X < x+dx) / dx`` cuando *dx* tiende a cero." #: ../Doc/library/statistics.rst:658 msgid "" @@ -785,6 +1064,10 @@ msgid "" "\"). Since the likelihood is relative to other points, its value can be " "greater than `1.0`." msgstr "" +"La verosimilitud relativa se calcula como la probabilidad de que una " +"observación pertenezca a un intervalo estrecho dividida entre el ancho del " +"intervalo (de ahí el término \"densidad\"). Como la verosimilitud es " +"relativa a los otros puntos, su valor puede ser mayor que `1.0`." #: ../Doc/library/statistics.rst:665 msgid "" @@ -793,6 +1076,10 @@ msgid "" "random variable *X* will be less than or equal to *x*. Mathematically, it " "is written ``P(X <= x)``." msgstr "" +"Usando una `función de distribución acumulada (FDA, CDF en inglés) `_, calcula la " +"probabilidad de que una variable aleatoria *X* sea menor o igual que *x*. " +"Matemáticamente, se escribe ``P(X <= x)``." #: ../Doc/library/statistics.rst:672 msgid "" @@ -802,6 +1089,11 @@ msgid "" "inverse-distribution-function/>`_ function. Mathematically, it is written " "``x : P(X <= x) = p``." msgstr "" +"Calcula la función de distribución acumulada inversa, también conocida como " +"`función cuantil `_ o " +"función `punto porcentual `_. Matemáticamente, se escribe ``x : P(X " +"<= x) = p``." #: ../Doc/library/statistics.rst:678 msgid "" @@ -809,6 +1101,9 @@ msgid "" "the variable being less than or equal to that value equals the given " "probability *p*." msgstr "" +"Calcula el valor *x* de la variable aleatoria *X* tal que la probabilidad de " +"que la variable sea menor o igual a este valor es igual a la probabilidad " +"*p* dada." #: ../Doc/library/statistics.rst:684 msgid "" @@ -816,12 +1111,18 @@ msgid "" "a value between 0.0 and 1.0 giving `the overlapping area for the two " "probability density functions `_." msgstr "" +"Mide la concordancia entre dos distribuciones de probabilidad normales. " +"Retorna un valor entre 0.0 y 1.0 que indica `el área de superposición de dos " +"funciones de densidad de probabilidad `_." #: ../Doc/library/statistics.rst:691 msgid "" "Divide the normal distribution into *n* continuous intervals with equal " "probability. Returns a list of (n - 1) cut points separating the intervals." msgstr "" +"Divide la distribución normal en *n* intervalos continuos equiprobables. " +"Retorna una lista de (n - 1) cuantiles que separan los intervalos." #: ../Doc/library/statistics.rst:695 msgid "" @@ -829,6 +1130,9 @@ msgid "" "*n* to 100 for percentiles which gives the 99 cuts points that separate the " "normal distribution into 100 equal sized groups." msgstr "" +"Establece *n* en 4 para obtener los cuartiles (el valor predeterminado), en " +"10 para obtener los deciles y en 100 para obtener los percentiles (lo que " +"produce 99 límites que separan los datos en 100 grupos del mismo tamaño)." #: ../Doc/library/statistics.rst:699 msgid "" @@ -836,12 +1140,17 @@ msgid "" "multiplication and division by a constant. These operations are used for " "translation and scaling. For example:" msgstr "" +"Las instancias de la clase :class:`NormalDist` soportan la suma, resta, " +"multiplicación y división por una constante. Estas operaciones se pueden " +"utilizar para traducir o escalar, por ejemplo:" #: ../Doc/library/statistics.rst:709 msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." msgstr "" +"No se admite la división de una constante entre una instancia de :class:" +"`NormalDist` debido a que el resultado no sería una distribución normal." #: ../Doc/library/statistics.rst:712 msgid "" @@ -851,14 +1160,21 @@ msgid "" "Sum_of_normally_distributed_random_variables>`_ represented as instances of :" "class:`NormalDist`. For example:" msgstr "" +"Dado que las distribuciones normales se derivan de las propiedades aditivas " +"de variables independientes, es posible `sumar o restar dos variables " +"independientes con distribución normal `_ representadas por instancias " +"de :class:`NormalDist`. Por ejemplo :" #: ../Doc/library/statistics.rst:732 msgid ":class:`NormalDist` Examples and Recipes" -msgstr "" +msgstr "Ejemplos de uso de :class:`NormalDist`" #: ../Doc/library/statistics.rst:734 msgid ":class:`NormalDist` readily solves classic probability problems." msgstr "" +":class:`NormalDist` permite resolver fácilmente problemas probabilísticos " +"clásicos." #: ../Doc/library/statistics.rst:736 msgid "" @@ -868,12 +1184,20 @@ msgid "" "determine the percentage of students with test scores between 1100 and 1200, " "after rounding to the nearest whole number:" msgstr "" +"Por ejemplo, sabiendo que `los datos históricos de los exámenes SAT `_ siguen una " +"distribución normal con una media de 1060 y una desviación típica de 195, " +"determinar el porcentaje de estudiantes con puntuaciones entre 1100 y 1200, " +"redondeado al número entero más cercano:" #: ../Doc/library/statistics.rst:749 msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" msgstr "" +"Determinar los `cuartiles `_ y " +"`deciles `_ de las " +"puntuaciones del SAT:" #: ../Doc/library/statistics.rst:759 msgid "" @@ -881,6 +1205,10 @@ msgid "" "analytically, :class:`NormalDist` can generate input samples for a `Monte " "Carlo simulation `_:" msgstr "" +"Con la finalidad de estimar la distribución de un modelo que es difícil de " +"resolver analíticamente, :class:`NormalDist` puede generar muestras de " +"entrada para una `simulación utilizando el método Montecarlo `_:" #: ../Doc/library/statistics.rst:775 msgid "" @@ -888,6 +1216,10 @@ msgid "" "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" +"Las distribuciones normales se pueden utilizar para aproximar " +"`distribuciones binomiales `_ cuando el tamaño de la muestra es grande y la " +"probabilidad de un ensayo exitoso es cercana al 50%." #: ../Doc/library/statistics.rst:780 #, python-format @@ -898,10 +1230,19 @@ msgid "" "talks. Assuming the population preferences haven't changed, what is the " "probability that the Python room will stay within its capacity limits?" msgstr "" +"Por ejemplo, 750 personas asisten a una conferencia sobre código abierto y " +"se dispone de dos salas con capacidad para 500 personas cada una. En la " +"primera sala hay una charla sobre Python, en la otra una sobre Ruby. En " +"conferencias pasadas, el 65% de las personas prefirieron escuchar las " +"charlas sobre Python. Suponiendo que las preferencias de la población no " +"hayan cambiado, ¿cuál es la probabilidad de que la sala de Python permanezca " +"por debajo de su capacidad máxima?" #: ../Doc/library/statistics.rst:811 msgid "Normal distributions commonly arise in machine learning problems." msgstr "" +"Las distribuciones normales a menudo están involucradas en el aprendizaje " +"automático." #: ../Doc/library/statistics.rst:813 msgid "" @@ -910,6 +1251,11 @@ msgid "" "challenge is to predict a person's gender from measurements of normally " "distributed features including height, weight, and foot size." msgstr "" +"Wikipedia detalla un buen ejemplo de un `clasificador bayesiano ingenuo " +"`_. El " +"objetivo es predecir el género de una persona a partir de características " +"físicas que siguen una distribución normal, como la altura, el peso y el " +"tamaño del pie." #: ../Doc/library/statistics.rst:818 msgid "" @@ -917,12 +1263,17 @@ msgid "" "measurements are assumed to be normally distributed, so we summarize the " "data with :class:`NormalDist`:" msgstr "" +"Disponemos de un conjunto de datos de entrenamiento que contiene las medidas " +"de ocho personas. Se supone que estas medidas siguen una distribución " +"normal, por lo que podemos sintetizar los datos usando :class:`NormalDist`:" #: ../Doc/library/statistics.rst:831 msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" msgstr "" +"A continuación, nos encontramos con un nuevo individuo del que conocemos las " +"medidas de sus características pero no su género:" #: ../Doc/library/statistics.rst:840 msgid "" @@ -931,6 +1282,10 @@ msgid "" "the prior times the product of likelihoods for the feature measurements " "given the gender:" msgstr "" +"Partiendo de una `probabilidad a priori `_ del 50% de ser hombre o mujer, calculamos la " +"probabilidad a posteriori como el producto de la probabilidad a priori y la " +"verosimilitud de las diferentes medidas dado el género:" #: ../Doc/library/statistics.rst:855 msgid "" @@ -938,3 +1293,6 @@ msgid "" "`maximum a posteriori `_ or MAP:" msgstr "" +"La predicción final es la que tiene mayor probabilidad a posteriori. Este " +"enfoque se denomina `máximo a posteriori `_ o MAP:" From 03c8b8a4bcc2ad84f00f9ed1083242c1d6b4ea72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Sun, 20 Dec 2020 22:04:06 +0100 Subject: [PATCH 098/153] Traducido reference/expressions (#1166) --- dictionaries/reference_expressions.txt | 9 + reference/expressions.po | 1108 +++++++++++++++++++++--- 2 files changed, 1008 insertions(+), 109 deletions(-) create mode 100644 dictionaries/reference_expressions.txt diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt new file mode 100644 index 0000000000..e30dc370b0 --- /dev/null +++ b/dictionaries/reference_expressions.txt @@ -0,0 +1,9 @@ +Subgenerador +close +contraintuitiva +contraintuitivo +reflexibilidad +superconjuntos +superconjuntos +lexicográficamente +unarios \ No newline at end of file diff --git a/reference/expressions.po b/reference/expressions.po index 66b9c77a42..589d41f594 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -6,28 +6,30 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-06 14:19+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.8.0\n" +"Last-Translator: Álvaro Mondéjar Rubio \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" -msgstr "" +msgstr "Expresiones" #: ../Doc/reference/expressions.rst:10 msgid "" "This chapter explains the meaning of the elements of expressions in Python." msgstr "" +"Este capítulo explica el significado de los elementos de expresiones en " +"Python." #: ../Doc/reference/expressions.rst:12 msgid "" @@ -35,16 +37,21 @@ msgid "" "will be used to describe syntax, not lexical analysis. When (one " "alternative of) a syntax rule has the form" msgstr "" +"**Notas de Sintaxis:** En este y los siguientes capítulos será usada " +"notación BNF extendida para describir sintaxis, no análisis léxico. Cuando " +"(una alternativa de) una regla de sintaxis tiene la forma" #: ../Doc/reference/expressions.rst:19 msgid "" "and no semantics are given, the semantics of this form of ``name`` are the " "same as for ``othername``." msgstr "" +"y no han sido dadas semánticas, las semánticas de esta forma de ``name`` son " +"las mismas que para ``othername``." #: ../Doc/reference/expressions.rst:26 msgid "Arithmetic conversions" -msgstr "" +msgstr "Conversiones aritméticas" #: ../Doc/reference/expressions.rst:30 msgid "" @@ -52,21 +59,29 @@ msgid "" "numeric arguments are converted to a common type\", this means that the " "operator implementation for built-in types works as follows:" msgstr "" +"Cuando una descripción de un operador aritmético a continuación usa la frase " +"\"los argumentos numéricos son convertidos a un tipo común\", esto significa " +"que la implementación de operador para tipos incorporados funciona de la " +"siguiente forma:" #: ../Doc/reference/expressions.rst:34 msgid "" "If either argument is a complex number, the other is converted to complex;" msgstr "" +"Si cualquiera de los argumentos es un número complejo, el otro es convertido " +"a complejo;" #: ../Doc/reference/expressions.rst:36 msgid "" "otherwise, if either argument is a floating point number, the other is " "converted to floating point;" msgstr "" +"de otra forma, si cualquier de los argumentos es un número de punto " +"flotante, el otro es convertido a punto flotante;" #: ../Doc/reference/expressions.rst:39 msgid "otherwise, both must be integers and no conversion is necessary." -msgstr "" +msgstr "de otra forma, ambos deben ser enteros y no se necesita conversión." #: ../Doc/reference/expressions.rst:41 msgid "" @@ -74,10 +89,13 @@ msgid "" "argument to the '%' operator). Extensions must define their own conversion " "behavior." msgstr "" +"Algunas reglas adicionales aplican para ciertos operadores (ej., una cadena " +"de caracteres como argumento a la izquierda del operador '%'). Las " +"extensiones deben definir su comportamiento de conversión." #: ../Doc/reference/expressions.rst:49 msgid "Atoms" -msgstr "" +msgstr "Átomos" #: ../Doc/reference/expressions.rst:53 msgid "" @@ -85,10 +103,14 @@ msgid "" "identifiers or literals. Forms enclosed in parentheses, brackets or braces " "are also categorized syntactically as atoms. The syntax for atoms is:" msgstr "" +"Los átomos son los elementos más básicos de las expresiones. Los átomos más " +"simples son identificadores o literales. Las formas encerradas en " +"paréntesis, corchetes o llaves son también sintácticamente categorizadas " +"como átomos. La sintaxis para átomos es:" #: ../Doc/reference/expressions.rst:66 msgid "Identifiers (Names)" -msgstr "" +msgstr "Identificadores (Nombres)" #: ../Doc/reference/expressions.rst:70 msgid "" @@ -96,6 +118,9 @@ msgid "" "`identifiers` for lexical definition and section :ref:`naming` for " "documentation of naming and binding." msgstr "" +"Un identificador encontrándose como un átomo es un nombre. Vea la sección :" +"ref:`identifiers` para la definición léxica y la sección :ref:`naming` para " +"documentación de nombrar y vincular." #: ../Doc/reference/expressions.rst:76 msgid "" @@ -103,6 +128,9 @@ msgid "" "object. When a name is not bound, an attempt to evaluate it raises a :exc:" "`NameError` exception." msgstr "" +"Cuando el nombre es vinculado a un objeto, la evaluación del átomo produce " +"ese objeto. Cuando un nombre no es vinculado, un intento de evaluarlo genera " +"una excepción :exc:`NameError`." #: ../Doc/reference/expressions.rst:84 msgid "" @@ -119,14 +147,29 @@ msgid "" "implementation defined truncation may happen. If the class name consists " "only of underscores, no transformation is done." msgstr "" +"**Alteración de nombre privado:** Cuando un identificador que ocurre " +"textualmente en una definición de clase comienza con dos o más caracteres de " +"guión bajo y no termina en dos o más guiones bajos, es considerado un :dfn:" +"`private name` de esa clase. Los nombres privados son transformados a una " +"forma más larga antes de que sea generado código para ellos. La " +"transformación inserta el nombre de clase, con los guiones bajos iniciales " +"eliminados y un solo guión bajo insertado, delante del nombre. Por ejemplo, " +"el identificador ``__spam`` que se encuentra en una clase denominada ``Ham`` " +"será transformado a ``_Ham__spam``. Esta transformación es independiente del " +"contexto sintáctico en el cual es usado el identificador. Si el nombre " +"transformado es extremadamente largo (más largo que 255 caracteres), puede " +"ocurrir el truncamiento definido por la implementación. Si el nombre de " +"clase consiste únicamente de guiones bajos, no se realiza transformación." #: ../Doc/reference/expressions.rst:100 msgid "Literals" -msgstr "" +msgstr "Literales" #: ../Doc/reference/expressions.rst:104 msgid "Python supports string and bytes literals and various numeric literals:" msgstr "" +"Python soporta literales de cadenas de caracteres y bytes y varios literales " +"numéricos:" #: ../Doc/reference/expressions.rst:110 msgid "" @@ -135,6 +178,11 @@ msgid "" "value may be approximated in the case of floating point and imaginary " "(complex) literals. See section :ref:`literals` for details." msgstr "" +"La evaluación de un literal produce un objeto del tipo dado (cadena de " +"caracteres, bytes, entero, número de punto flotante, número complejo) con el " +"valor dado. El valor puede ser aproximado en el caso de literales de número " +"de punto flotante e imaginarios (complejos). Vea la sección :ref:`literals` " +"para más detalles." #: ../Doc/reference/expressions.rst:119 msgid "" @@ -144,15 +192,22 @@ msgid "" "different occurrence) may obtain the same object or a different object with " "the same value." msgstr "" +"Todos los literales corresponden a tipos de datos inmutables y, por lo " +"tanto, la identidad del objeto es menos importante que su valor. Múltiples " +"evaluaciones de literales con el mismo valor (ya sea la misma ocurrencia en " +"el texto del programa o una ocurrencia diferente) pueden obtener el mismo " +"objeto o un objeto diferente con el mismo valor." #: ../Doc/reference/expressions.rst:129 msgid "Parenthesized forms" -msgstr "" +msgstr "Formas entre paréntesis" #: ../Doc/reference/expressions.rst:135 msgid "" "A parenthesized form is an optional expression list enclosed in parentheses:" msgstr "" +"Una forma entre paréntesis es una lista de expresiones opcionales encerradas " +"entre paréntesis:" #: ../Doc/reference/expressions.rst:140 msgid "" @@ -160,6 +215,9 @@ msgid "" "if the list contains at least one comma, it yields a tuple; otherwise, it " "yields the single expression that makes up the expression list." msgstr "" +"Una expresión entre paréntesis produce lo que la lista de expresión produce: " +"si la lista contiene al menos una coma, produce una tupla; en caso " +"contrario, produce la única expresión que que forma la lista de expresiones." #: ../Doc/reference/expressions.rst:146 msgid "" @@ -167,6 +225,10 @@ msgid "" "immutable, the same rules as for literals apply (i.e., two occurrences of " "the empty tuple may or may not yield the same object)." msgstr "" +"Un par de paréntesis vacío producen un objeto de tupla vacío. Debido a que " +"las tuplas son inmutables, se aplican las mismas reglas que aplican para " +"literales (ej., dos ocurrencias de una tupla vacía puede o no producir el " +"mismo objeto)." #: ../Doc/reference/expressions.rst:154 msgid "" @@ -175,30 +237,40 @@ msgid "" "*are* required --- allowing unparenthesized \"nothing\" in expressions would " "cause ambiguities and allow common typos to pass uncaught." msgstr "" +"Note que las tuplas no son formadas por los paréntesis, sino más bien " +"mediante el uso del operador de coma. La excepción es la tupla vacía, para " +"la cual los paréntesis *son* requeridos -- permitir \"nada\" sin paréntesis " +"en expresiones causaría ambigüedades y permitiría que errores tipográficos " +"comunes pasaran sin ser detectados." #: ../Doc/reference/expressions.rst:163 msgid "Displays for lists, sets and dictionaries" -msgstr "" +msgstr "Despliegues para listas, conjuntos y diccionarios" #: ../Doc/reference/expressions.rst:165 msgid "" "For constructing a list, a set or a dictionary Python provides special " "syntax called \"displays\", each of them in two flavors:" msgstr "" +"Para construir una lista, un conjunto o un diccionario, Python provee " +"sintaxis especial denominada \"despliegue\", cada una de ellas en dos " +"sabores:" #: ../Doc/reference/expressions.rst:168 msgid "either the container contents are listed explicitly, or" -msgstr "" +msgstr "los contenidos del contenedor son listados explícitamente o" #: ../Doc/reference/expressions.rst:170 msgid "" "they are computed via a set of looping and filtering instructions, called a :" "dfn:`comprehension`." msgstr "" +"son calculados mediante un conjunto de instrucciones de bucle y filtrado, " +"denominadas una :dfn:`comprehension`." #: ../Doc/reference/expressions.rst:178 msgid "Common syntax elements for comprehensions are:" -msgstr "" +msgstr "Los elementos comunes de sintaxis para las comprensiones son:" #: ../Doc/reference/expressions.rst:186 msgid "" @@ -209,6 +281,13 @@ msgid "" "if` clauses a block, nesting from left to right, and evaluating the " "expression to produce an element each time the innermost block is reached." msgstr "" +"La comprensión consiste en una única expresión seguida por al menos una " +"cláusula :keyword:`!for` y cero o más cláusulas :keyword:`!for` o :keyword:`!" +"if`. En este caso, los elementos del nuevo contenedor son aquellos que " +"serían producidos mediante considerar cada una de las cláusulas :keyword:`!" +"for` o :keyword:`!if` un bloque, anidado de izquierda a derecha y evaluando " +"la expresión para producir un elemento cada vez que se alcanza el bloque más " +"interno." #: ../Doc/reference/expressions.rst:193 msgid "" @@ -217,6 +296,10 @@ msgid "" "This ensures that names assigned to in the target list don't \"leak\" into " "the enclosing scope." msgstr "" +"Sin embargo, aparte de la expresión iterable en la cláusula :keyword:`!for` " +"más a la izquierda, la comprensión es ejecutada en un alcance separado " +"implícitamente anidado. Esto asegura que los nombres asignados a en la lista " +"objetiva no se \"filtren\" en el alcance adjunto." #: ../Doc/reference/expressions.rst:197 msgid "" @@ -227,6 +310,13 @@ msgid "" "enclosing scope as they may depend on the values obtained from the leftmost " "iterable. For example: ``[x*y for x in range(10) for y in range(x, x+10)]``." msgstr "" +"La expresión iterable en la cláusula más a la izquierda :keyword:`!for` es " +"evaluada directamente en el alcance anidado y luego pasada como un argumento " +"al alcance implícitamente anidado. Subsecuentes cláusulas :keyword:`!for` y " +"cualquier condición de filtro en la cláusula :keyword:`!for` más a la " +"izquierda no pueden ser evaluadas en el alcance adjunto ya que pueden " +"depender de los valores obtenidos del iterable de más a la izquierda. Por " +"ejemplo, ``[x*y for x in range(10) for y in range(x, x+10)]``." #: ../Doc/reference/expressions.rst:204 msgid "" @@ -234,6 +324,9 @@ msgid "" "type, ``yield`` and ``yield from`` expressions are prohibited in the " "implicitly nested scope." msgstr "" +"Para asegurar que la comprensión siempre resulta en un contenedor del tipo " +"apropiado, las expresiones ``yield`` y ``yield from`` están prohibidas en el " +"alcance implícitamente anidado." #: ../Doc/reference/expressions.rst:211 msgid "" @@ -248,24 +341,37 @@ msgid "" "asynchronous comprehension may suspend the execution of the coroutine " "function in which it appears. See also :pep:`530`." msgstr "" +"A partir de Python 3.6, en una función :keyword:`async def`, una cláusula :" +"keyword:`!async for` puede ser usada para iterar sobre un :term:" +"`asynchronous iterator`. Una comprensión en una función :keyword:`!async " +"def` puede consistir en una cláusula :keyword:`!for` o :keyword:`!async for` " +"siguiendo la expresión inicial, puede contener cláusulas adicionales :" +"keyword:`!for` o :keyword:`!async for` y también pueden usar expresiones :" +"keyword:`await`. Si una comprensión contiene cláusulas :keyword:`!async for` " +"o expresiones :keyword:`!await` es denominada una :dfn:`asynchronous " +"comprehension`. Una comprensión asincrónica puede suspender la ejecución de " +"la función de corrutina en la cual aparece. Vea también :pep:`530`." #: ../Doc/reference/expressions.rst:223 msgid "Asynchronous comprehensions were introduced." -msgstr "" +msgstr "Fueron introducidas las comprensiones asincrónicas." #: ../Doc/reference/expressions.rst:226 ../Doc/reference/expressions.rst:397 msgid "``yield`` and ``yield from`` prohibited in the implicitly nested scope." msgstr "" +"Prohibidas ``yield`` y ``yield from`` en el alcance implícitamente anidado." #: ../Doc/reference/expressions.rst:233 msgid "List displays" -msgstr "" +msgstr "Despliegues de lista" #: ../Doc/reference/expressions.rst:243 msgid "" "A list display is a possibly empty series of expressions enclosed in square " "brackets:" msgstr "" +"Un despliegue de lista es una serie de expresiones posiblemente vacía " +"encerrada entre corchetes:" #: ../Doc/reference/expressions.rst:249 msgid "" @@ -276,16 +382,25 @@ msgid "" "is supplied, the list is constructed from the elements resulting from the " "comprehension." msgstr "" +"Un despliegue de lista produce un nuevo objeto lista, el contenido se " +"especifica por una lista de expresiones o una comprensión. Cuando se " +"proporciona una lista de expresiones, sus elementos son evaluados desde la " +"izquierda a la derecha y colocados en el objeto lista en ese orden. Cuando " +"se proporciona una comprensión, la lista es construida desde los elementos " +"resultantes de la comprensión." #: ../Doc/reference/expressions.rst:259 msgid "Set displays" -msgstr "" +msgstr "Despliegues de conjuntos" #: ../Doc/reference/expressions.rst:267 msgid "" "A set display is denoted by curly braces and distinguishable from dictionary " "displays by the lack of colons separating keys and values:" msgstr "" +"Un despliegue de conjunto se denota mediante llaves y se distinguen de los " +"despliegues de diccionarios por la ausencia de caracteres de doble punto " +"separando claves y valores:" #: ../Doc/reference/expressions.rst:273 msgid "" @@ -296,26 +411,36 @@ msgid "" "supplied, the set is constructed from the elements resulting from the " "comprehension." msgstr "" +"Un despliegue de conjunto produce un nuevo objeto conjunto mutable, el " +"contenido se especifica mediante una secuencia de expresiones o una " +"comprensión. Cuando se proporciona una lista de expresiones separadas por " +"comas, sus elementos son evaluados desde la izquierda a la derecha y " +"añadidos al objeto de conjunto. Cuando se proporciona una comprensión, el " +"conjunto es construido de los elementos resultantes de la comprensión." #: ../Doc/reference/expressions.rst:279 msgid "" "An empty set cannot be constructed with ``{}``; this literal constructs an " "empty dictionary." msgstr "" +"Un conjunto vacío no puede ser construido con ``{}``; este literal construye " +"un diccionario vacío." #: ../Doc/reference/expressions.rst:286 msgid "Dictionary displays" -msgstr "" +msgstr "Despliegues de diccionario" #: ../Doc/reference/expressions.rst:296 msgid "" "A dictionary display is a possibly empty series of key/datum pairs enclosed " "in curly braces:" msgstr "" +"Un despliegue de diccionario es una serie posiblemente vacía de pares clave/" +"datos encerrados entre llaves:" #: ../Doc/reference/expressions.rst:305 msgid "A dictionary display yields a new dictionary object." -msgstr "" +msgstr "Un despliegue de diccionario produce un nuevo objeto diccionario." #: ../Doc/reference/expressions.rst:307 msgid "" @@ -326,6 +451,12 @@ msgid "" "key/datum list, and the final dictionary's value for that key will be the " "last one given." msgstr "" +"Si es dada una secuencia separada por comas de pares clave/datos, son " +"evaluadas desde la izquierda a la derecha para definir las entradas del " +"diccionario: cada objeto clave es usado como una clave dentro del " +"diccionario para almacenar el dato correspondiente. Esto significa que " +"puedes especificar la misma clave múltiples veces en la lista clave/datos y " +"el valor final del diccionario para esa clave será la última dada." #: ../Doc/reference/expressions.rst:317 msgid "" @@ -334,10 +465,16 @@ msgid "" "dictionary. Later values replace values already set by earlier key/datum " "pairs and earlier dictionary unpackings." msgstr "" +"Un doble asterisco ``**`` denota :dfn:`dictionary unpacking`. Su operando " +"debe ser un :term:`mapping`. Cada elemento de mapeo es añadido al nuevo " +"diccionario. Valores más tardíos remplazan los valores ya establecidos para " +"los pares clave/dato y para los desempaquetados de diccionario anteriores." #: ../Doc/reference/expressions.rst:322 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." msgstr "" +"Desempaquetar en despliegues de diccionarios, originalmente propuesto por :" +"pep:`448`." #: ../Doc/reference/expressions.rst:325 msgid "" @@ -346,6 +483,11 @@ msgid "" "clauses. When the comprehension is run, the resulting key and value elements " "are inserted in the new dictionary in the order they are produced." msgstr "" +"Una comprensión de diccionario, en contraste a las compresiones de lista y " +"conjunto, necesita dos expresiones separadas con un caracter de doble punto " +"seguido por las cláusulas usuales \"for\" e \"if\". Cuando la comprensión se " +"ejecuta, los elementos resultantes clave y valor son insertados en el nuevo " +"diccionario en el orden que son producidos." #: ../Doc/reference/expressions.rst:333 msgid "" @@ -355,6 +497,11 @@ msgid "" "detected; the last datum (textually rightmost in the display) stored for a " "given key value prevails." msgstr "" +"Las restricciones de los tipos de los valores de clave son listados " +"anteriormente en la sección :ref:`types`. (Para resumir, el tipo de la clave " +"debe ser :term:`hashable`, el cual excluye todos los objetos mutables.) No " +"se detectan choques entre claves duplicadas; el último dato (textualmente el " +"más a la derecha en el despliegue) almacenado para una clave dada prevalece." #: ../Doc/reference/expressions.rst:339 msgid "" @@ -363,14 +510,20 @@ msgid "" "key. Starting with 3.8, the key is evaluated before the value, as proposed " "by :pep:`572`." msgstr "" +"Antes de Python 3.8, en las comprensiones de diccionarios, el orden de " +"evaluación de clave y valor no fue bien definido. En CPython, el valor fue " +"evaluado antes de la clave. A partir de 3.8, la clave es evaluada antes que " +"el valor, como fue propuesto por :pep:`572`." #: ../Doc/reference/expressions.rst:349 msgid "Generator expressions" -msgstr "" +msgstr "Expresiones de generador" #: ../Doc/reference/expressions.rst:356 msgid "A generator expression is a compact generator notation in parentheses:" msgstr "" +"Una expresión de generador es una notación compacta de generador en " +"paréntesis:" #: ../Doc/reference/expressions.rst:361 msgid "" @@ -378,6 +531,9 @@ msgid "" "same as for comprehensions, except that it is enclosed in parentheses " "instead of brackets or curly braces." msgstr "" +"Una expresión de generador produce un nuevo objeto generador. Su sintaxis es " +"la misma que para las comprensiones, excepto que es encerrado en paréntesis " +"en lugar de corchetes o llaves." #: ../Doc/reference/expressions.rst:365 msgid "" @@ -392,12 +548,25 @@ msgid "" "depend on the values obtained from the leftmost iterable. For example: " "``(x*y for x in range(10) for y in range(x, x+10))``." msgstr "" +"Las variables usadas en la expresión de generador son evaluadas " +"perezosamente cuando se ejecuta el método :meth:`~generator.__next__` para " +"el objeto generador (de la misma forma que los generadores normales). Sin " +"embargo, la expresión iterable en la cláusula :keyword:`!for` más a la " +"izquierda es inmediatamente evaluada, de forma que un error producido por " +"ella será emitido en el punto en el que se define la expresión de generador, " +"en lugar de en el punto donde se obtiene el primer valor. Subsecuentes " +"cláusulas :keyword:`!for` y cualquier condición en la cláusula :keyword:`!" +"for` más a la izquierda no pueden ser evaluadas en el alcance adjunto, ya " +"que puede depender de los valores obtenidos por el iterable de más a la " +"izquierda. Por ejemplo: ``(x*y for x in range(10) for y in range(x, x+10))``." #: ../Doc/reference/expressions.rst:376 msgid "" "The parentheses can be omitted on calls with only one argument. See " "section :ref:`calls` for details." msgstr "" +"Los paréntesis pueden ser omitidos en ejecuciones con un solo argumento. Vea " +"la sección :ref:`calls` para más detalles." #: ../Doc/reference/expressions.rst:379 msgid "" @@ -405,6 +574,9 @@ msgid "" "itself, ``yield`` and ``yield from`` expressions are prohibited in the " "implicitly defined generator." msgstr "" +"Para evitar interferir con la operación esperada de la expresión misma del " +"generador, las expresiones ``yield`` y ``yield from`` están prohibidas en el " +"generador definido implícitamente." #: ../Doc/reference/expressions.rst:383 msgid "" @@ -414,10 +586,15 @@ msgid "" "asynchronous generator object, which is an asynchronous iterator (see :ref:" "`async-iterators`)." msgstr "" +"Si una expresión de generador contiene cláusulas :keyword:`!async for` o " +"expresiones :keyword:`await`, se ejecuta una :dfn:`asynchronous generator " +"expression`. Una expresión de generador asincrónica retorna un nuevo objeto " +"de generador asincrónico, el cual es un iterador asincrónico (ver :ref:" +"`async-iterators`)." #: ../Doc/reference/expressions.rst:389 msgid "Asynchronous generator expressions were introduced." -msgstr "" +msgstr "Las expresiones de generador asincrónico fueron introducidas." #: ../Doc/reference/expressions.rst:392 msgid "" @@ -425,10 +602,13 @@ msgid "" "in :keyword:`async def` coroutines. Starting with 3.7, any function can use " "asynchronous generator expressions." msgstr "" +"Antes de Python 3.7, las expresiones de generador asincrónico podrían " +"aparecer sólo en corrutinas :keyword:`async def`. Desde 3.7, cualquier " +"función puede usar expresiones de generador asincrónico." #: ../Doc/reference/expressions.rst:404 msgid "Yield expressions" -msgstr "" +msgstr "Expresiones yield" #: ../Doc/reference/expressions.rst:416 msgid "" @@ -439,6 +619,12 @@ msgid "" "`async def` function's body causes that coroutine function to be an " "asynchronous generator. For example::" msgstr "" +"La expresión yield se usa al definir una función :term:`generator` o una " +"función :term:`asynchronous generator` y, por lo tanto, solo se puede usar " +"en el cuerpo de una definición de función. Usar una expresión yield en el " +"cuerpo de una función hace que esa función sea un generador y usarla en el " +"cuerpo de una función :keyword:`async def` hace que la función de corrutina " +"sea un generador asincrónico. Por ejemplo::" #: ../Doc/reference/expressions.rst:429 msgid "" @@ -446,12 +632,18 @@ msgid "" "not permitted as part of the implicitly defined scopes used to implement " "comprehensions and generator expressions." msgstr "" +"Debido a sus efectos secundarios sobre el alcance contenedor, las " +"expresiones ``yield`` no están permitidas como parte de los alcances " +"implícitamente definidos usados para implementar comprensiones y expresiones " +"de generador." #: ../Doc/reference/expressions.rst:433 msgid "" "Yield expressions prohibited in the implicitly nested scopes used to " "implement comprehensions and generator expressions." msgstr "" +"Expresiones yield prohibidas en los ámbitos anidados implícitamente " +"utilizados para implementar comprensiones y expresiones de generador." #: ../Doc/reference/expressions.rst:437 msgid "" @@ -459,6 +651,9 @@ msgid "" "functions are described separately in section :ref:`asynchronous-generator-" "functions`." msgstr "" +"Las funciones generadoras son descritas a continuación, mientras que las " +"funciones generadoras asincrónicas son descritas separadamente en la " +"sección :ref:`asynchronous-generator-functions`." #: ../Doc/reference/expressions.rst:441 msgid "" @@ -479,6 +674,22 @@ msgid "" "`~generator.send` is used, then the result will be the value passed in to " "that method." msgstr "" +"Cuando una función generadora es invocada, retorna un iterador conocido como " +"un generador. Este generador controla la ejecución de la función generadora. " +"La ejecución empieza cuando uno de los métodos del generador es invocado. En " +"ese momento, la ejecución procede a la primera expresión yield, donde es " +"suspendida de nuevo, retornando el valor de :token:`expression_list` al " +"invocador del generador. Por suspendido, nos referimos a que se retiene todo " +"el estado local, incluyendo los enlaces actuales de variables locales, el " +"puntero de instrucción, la pila de evaluación interna y el estado de " +"cualquier manejo de excepción. Cuando la ejecución se reanuda al invocar uno " +"de los métodos del generador, la función puede proceder como si la expresión " +"yield fuera sólo otra invocación externa. El valor de la expresión yield " +"después de la reanudación depende del método que ha reanudado la ejecución. " +"Si se usa :meth:`~generator.__next__` (típicamente mediante un :keyword:" +"`for` o la función incorporada :func:`next`) entonces el resultado es :const:" +"`None`. De otra forma, si se usa :meth:`~generator.send`, entonces el " +"resultado será el valor pasado a ese método." #: ../Doc/reference/expressions.rst:460 msgid "" @@ -488,6 +699,11 @@ msgid "" "function cannot control where the execution should continue after it yields; " "the control is always transferred to the generator's caller." msgstr "" +"Todo este hace a las funciones generadores similar a las corrutinas; " +"producen múltiples veces, tienen más de un punto de entrada y su ejecución " +"puede ser suspendida. La única diferencia es que una función generadora no " +"puede controlar si la ejecución debe continuar después de producir; el " +"control siempre es transferido al invocador del generador." #: ../Doc/reference/expressions.rst:466 msgid "" @@ -497,6 +713,11 @@ msgid "" "meth:`~generator.close` method will be called, allowing any pending :keyword:" "`finally` clauses to execute." msgstr "" +"Las expresiones yield están permitidas en cualquier lugar en un constructo :" +"keyword:`try`. Si el generador no es reanudado antes de finalizar " +"(alcanzando un recuento de referencia cero o colectando basura), el método " +"generador-iterador :meth:`~generator.close` será invocado, permitiendo la " +"ejecución de cualquier cláusula :keyword:`finally` pendiente." #: ../Doc/reference/expressions.rst:475 msgid "" @@ -509,6 +730,15 @@ msgid "" "exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` " "will just raise the passed in exception immediately." msgstr "" +"Cuando se usa ``yield from ``, esto trata a la expresión provista como " +"un subiterador. Todos los valores producidos por ese subiterador son pasados " +"directamente al invocador de los métodos del generador actual. Cualquiera de " +"los valores pasados con :meth:`~generator.send` y cualquiera de las " +"excepciones pasadas con :meth:`~generator.throw` son pasados al iterador " +"subyacente si tiene los métodos apropiados. Si este no es el caso, entonces :" +"meth:`~generator.send` generará :exc:`AttributeError` o :exc:`TypeError`, " +"mientras :meth:`~generator.throw` sólo generará inmediatamente la excepción " +"pasada." #: ../Doc/reference/expressions.rst:484 msgid "" @@ -518,72 +748,94 @@ msgid "" "`StopIteration`, or automatically when the subiterator is a generator (by " "returning a value from the subgenerator)." msgstr "" +"Cuando el iterador subyacente está completo, el atributo :attr:" +"`~StopIteration.value` de la instancia :exc:`StopIteration` generada se " +"convierte en el valor de la expresión yield. Puede ser establecido " +"explícitamente al generar :exc:`StopIteration` o automáticamente cuando el " +"subiterador es un generador (retornando un valor del subgenerador)." #: ../Doc/reference/expressions.rst:490 msgid "Added ``yield from `` to delegate control flow to a subiterator." msgstr "" +"Añadido ``yield from `` para delegar el control de flujo a un " +"subiterador." #: ../Doc/reference/expressions.rst:493 msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." msgstr "" +"Los paréntesis pueden ser omitidos cuando la expresión yield es la única " +"expresión en el lado derecho de una sentencia de asignación." #: ../Doc/reference/expressions.rst:499 msgid ":pep:`255` - Simple Generators" -msgstr "" +msgstr ":pep:`255` - Generadores Simples" #: ../Doc/reference/expressions.rst:499 msgid "" "The proposal for adding generators and the :keyword:`yield` statement to " "Python." msgstr "" +"La propuesta para añadir generadores y la sentencia :keyword:`yield` a " +"Python." #: ../Doc/reference/expressions.rst:503 msgid ":pep:`342` - Coroutines via Enhanced Generators" -msgstr "" +msgstr ":pep:`342` - Corrutinas mediante Generadores Mejorados" #: ../Doc/reference/expressions.rst:502 msgid "" "The proposal to enhance the API and syntax of generators, making them usable " "as simple coroutines." msgstr "" +"La propuesta para mejorar la API y la sintaxis de generadores, haciéndolos " +"utilizables como corrutinas simples." #: ../Doc/reference/expressions.rst:507 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" -msgstr "" +msgstr ":pep:`380` - Sintaxis para Delegar a un Subgenerador" #: ../Doc/reference/expressions.rst:506 msgid "" "The proposal to introduce the :token:`yield_from` syntax, making delegation " "to subgenerators easy." msgstr "" +"La propuesta para introducir la sintaxis :token:`yield_from`, facilitando la " +"delegación a subgeneradores." #: ../Doc/reference/expressions.rst:510 msgid ":pep:`525` - Asynchronous Generators" -msgstr "" +msgstr ":pep:`525`- Generadores Asincrónicos" #: ../Doc/reference/expressions.rst:510 msgid "" "The proposal that expanded on :pep:`492` by adding generator capabilities to " "coroutine functions." msgstr "" +"La propuesta que expandió :pep:`492` añadiendo capacidades de generador a " +"las funciones corrutina." #: ../Doc/reference/expressions.rst:517 msgid "Generator-iterator methods" -msgstr "" +msgstr "Métodos generador-iterador" #: ../Doc/reference/expressions.rst:519 msgid "" "This subsection describes the methods of a generator iterator. They can be " "used to control the execution of a generator function." msgstr "" +"Esta subsección describe los métodos de un generador iterador. Estos pueden " +"ser usados para controlar la ejecución de una función generadora." #: ../Doc/reference/expressions.rst:522 msgid "" "Note that calling any of the generator methods below when the generator is " "already executing raises a :exc:`ValueError` exception." msgstr "" +"Tenga en cuenta que invocar cualquiera de los métodos de generador " +"siguientes cuando el generador está todavía en ejecución genera una " +"excepción :exc:`ValueError`." #: ../Doc/reference/expressions.rst:530 msgid "" @@ -596,12 +848,22 @@ msgid "" "generator exits without yielding another value, a :exc:`StopIteration` " "exception is raised." msgstr "" +"Comienza la ejecución de una función generadora o la reanuda en la última " +"expresión yield ejecutada. Cuando una función generadora es reanudada con un " +"método :meth:`~generator.__next__`, la expresión yield actual siempre evalúa " +"a :const:`None`. La ejecución entonces continúa a la siguiente expresión " +"yield, donde el generador se suspende de nuevo y el valor de :token:" +"`expression_list` se retorna al invocador de :meth:`__next__`. Si el " +"generador termina sin producir otro valor, se genera una excepción :exc:" +"`StopIteration`." #: ../Doc/reference/expressions.rst:539 msgid "" "This method is normally called implicitly, e.g. by a :keyword:`for` loop, or " "by the built-in :func:`next` function." msgstr "" +"Este método es normalmente invocado implícitamente, por ejemplo, por un " +"bucle :keyword:`for` o por la función incorporada :func:`next`." #: ../Doc/reference/expressions.rst:545 msgid "" @@ -613,6 +875,13 @@ msgid "" "called with :const:`None` as the argument, because there is no yield " "expression that could receive the value." msgstr "" +"Reanuda la ejecución y \"envía\" un valor dentro de la función generadora. " +"El argumento *value* se convierte en el resultado de la expresión yield " +"actual. El método :meth:`send` retorna el siguiente valor producido por el " +"generador o genera :exc:`StopIteration` si el generador termina sin producir " +"otro valor. Cuando se ejecuta :meth:`send` para comenzar el generador, debe " +"ser invocado con :const:`None` como el argumento, debido a que no hay " +"expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:556 msgid "" @@ -623,6 +892,12 @@ msgid "" "exception, or raises a different exception, then that exception propagates " "to the caller." msgstr "" +"Genera una excepción de tipo ``type`` en el punto donde el generador fue " +"pausado y retorna el siguiente valor producido por la función generadora. Si " +"el generador termina sin producir otro valor se genera una excepción :exc:" +"`StopIteration`. Si la función generadora no caza la excepción pasada o " +"genera una excepción diferente, entonces se propaga esa excepción al " +"invocador." #: ../Doc/reference/expressions.rst:567 msgid "" @@ -634,26 +909,37 @@ msgid "" "is propagated to the caller. :meth:`close` does nothing if the generator " "has already exited due to an exception or normal exit." msgstr "" +"Genera :exc:`GeneratorExit` en el punto donde la función generadora fue " +"pausada. Si la función generadora termina sin errores, está ya cerrada o " +"genera :exc:`GeneratorExit` (sin cazar la excepción), close retorna a su " +"invocador. Si el generador produce un valor, se genera un :exc:" +"`RuntimeError`. Si el generador genera cualquier otra excepción, es " +"propagado al invocador. :meth:`close` no hace nada si el generador ya fue " +"terminado debido a una excepción o una salida normal." #: ../Doc/reference/expressions.rst:578 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/reference/expressions.rst:580 msgid "" "Here is a simple example that demonstrates the behavior of generators and " "generator functions::" msgstr "" +"Aquí hay un ejemplo simple que demuestra el comportamiento de generadores y " +"funciones generadoras:" #: ../Doc/reference/expressions.rst:607 msgid "" "For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " "Python.\"" msgstr "" +"Para ejemplos usando ``yield from``, ver :ref:`pep-380` en \"Qué es nuevo en " +"Python.\"" #: ../Doc/reference/expressions.rst:613 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Funciones generadoras asincrónicas" #: ../Doc/reference/expressions.rst:615 msgid "" @@ -661,6 +947,9 @@ msgid "" "keyword:`async def` further defines the function as an :term:`asynchronous " "generator` function." msgstr "" +"La presencia de una expresión yield en una función o método definido usando :" +"keyword:`async def` adicionalmente define la función como una función :term:" +"`asynchronous generator`." #: ../Doc/reference/expressions.rst:619 msgid "" @@ -671,6 +960,12 @@ msgid "" "coroutine function analogously to how a generator object would be used in a :" "keyword:`for` statement." msgstr "" +"Cuando se invoca una función generadora asincrónica, retorna un iterador " +"asincrónico conocido como un objeto generador asincrónico. Este objeto " +"entonces controla la ejecución de la función generadora. Un objeto generador " +"asincrónico se usa típicamente en una sentencia :keyword:`async for` en una " +"función corrutina análogamente a como sería usado un objeto generador en una " +"sentencia :keyword:`for`." #: ../Doc/reference/expressions.rst:626 msgid "" @@ -689,6 +984,21 @@ msgid "" "is :const:`None`. Otherwise, if :meth:`~agen.asend` is used, then the result " "will be the value passed in to that method." msgstr "" +"Invocar uno de los métodos de un generador asincrónico retorna un objeto :" +"term:`awaitable` y la ejecución comienza cuando este objeto es esperado. En " +"ese momento, la ejecución avanza a la primera expresión yield, donde es " +"suspendida de nuevo, retornando el valor de :token:`expression_list` a la " +"corrutina en espera. Como con un generador, la suspensión significa que todo " +"el estado local es retenido, incluyendo los enlaces actuales de variables " +"locales, el puntero de instrucción, la pila de evaluación interna y el " +"estado de cualquier manejo de excepción. Cuando se reanuda la ejecución al " +"espera al siguiente objeto retornado por los métodos del generador " +"asincrónico, la función puede avanzar exactamente igual que si la expresión " +"yield fuera otra invocación externa. El valor de la expresión yield después " +"de la reanudación dependen del método que ha resumido la ejecución. Si se " +"usa :meth:`~agen.__anext__` entonces el resultado es :const:`None`. De otra " +"forma, si se usa :meth:`~agen.asend`, entonces el resultado será el valor " +"pasado a ese método." #: ../Doc/reference/expressions.rst:642 msgid "" @@ -703,6 +1013,16 @@ msgid "" "the resulting coroutine object, thus allowing any pending :keyword:`!" "finally` clauses to execute." msgstr "" +"En una función generadora asincrónica, las expresiones yield están " +"permitidas en cualquier lugar de un constructo :keyword:`try`. Sin embargo, " +"si un generador asincrónico no es reanudado antes de finalizar (alcanzando " +"un contador de referencia cero o recogiendo basura), entonces una expresión " +"yield dentro de un constructo :keyword:`!try` podría fallar al ejecutar " +"cláusulas :keyword:`finally` pendientes. En este caso, es responsabilidad " +"del bucle de eventos o del planificador ejecutando el generador asincrónico " +"invocar el método :meth:`~agen.aclose` del generador-iterador asincrónico y " +"ejecutar el objeto corrutina resultante, permitiendo así la ejecución de " +"cualquier cláusula :keyword:`!finally` pendiente." #: ../Doc/reference/expressions.rst:653 msgid "" @@ -715,22 +1035,35 @@ msgid "" "*finalizer* method see the implementation of ``asyncio.Loop." "shutdown_asyncgens`` in :source:`Lib/asyncio/base_events.py`." msgstr "" +"Para encargarse de la finalización, un bucle de eventos debe definir una " +"función *finalizadora* la cual toma un generador-iterador asincrónico y " +"presumiblemente invoca :meth:`~agen.aclose` y ejecuta la corrutina. Este " +"*finalizador* puede ser registrado invocando :func:`sys.set_asyncgen_hooks`. " +"Cuando es iterada por primera vez, un generador-iterador asincrónico " +"almacenará el *finalizador* registrado para ser invocado en la finalización. " +"Para un ejemplo de referencia de un método *finalizador* vea la " +"implementación de ``asyncio.Loop.shutdown_asyncgens`` en :source:`Lib/" +"asyncio/base_events.py`." #: ../Doc/reference/expressions.rst:662 msgid "" "The expression ``yield from `` is a syntax error when used in an " "asynchronous generator function." msgstr "" +"La expresión ``yield from `` es un error de sintaxis cuando es usada " +"en una función generadora asincrónica." #: ../Doc/reference/expressions.rst:669 msgid "Asynchronous generator-iterator methods" -msgstr "" +msgstr "Métodos asincrónicos de generador-iterador" #: ../Doc/reference/expressions.rst:671 msgid "" "This subsection describes the methods of an asynchronous generator iterator, " "which are used to control the execution of a generator function." msgstr "" +"Esta subsección describe los métodos de un generador iterador asincrónico, " +"los cuales son usados para controlar la ejecución de una función generadora." #: ../Doc/reference/expressions.rst:679 msgid "" @@ -745,11 +1078,23 @@ msgid "" "another value, the awaitable instead raises a :exc:`StopAsyncIteration` " "exception, signalling that the asynchronous iteration has completed." msgstr "" +"Retorna un esperable el cual, cuando corre, comienza a ejecutar el generador " +"asincrónico o lo reanuda en la última expresión yield ejecutada. Cuando se " +"reanuda una función generadora asincrónica con un método :meth:`~agen." +"__anext__`, la expresión yield actual siempre evalúa a :const:`None` en el " +"esperable retornado, el cual cuando corre continuará a la siguiente " +"expresión yield. El valor de :token:`expression_list` de la expresión yield " +"es el valor de la excepción :exc:`StopIteration` generada por la corrutina " +"completa. Si el generador asincrónico termina sin producir otro valor, el " +"esperable en su lugar genera una excepción :exc:`StopAsyncIteration`, " +"señalando que la iteración asincrónica se ha completado." #: ../Doc/reference/expressions.rst:691 msgid "" "This method is normally called implicitly by a :keyword:`async for` loop." msgstr "" +"Este método es invocado normalmente de forma implícita por un bucle :keyword:" +"`async for`." #: ../Doc/reference/expressions.rst:696 msgid "" @@ -765,6 +1110,16 @@ msgid "" "`None` as the argument, because there is no yield expression that could " "receive the value." msgstr "" +"Retorna un esperable el cual cuando corre reanuda la ejecución del generador " +"asincrónico. Como el método :meth:`~generator.send()` para un generador, " +"este \"envía\" un valor a la función generadora asincrónica y el argumento " +"*value* se convierte en el resultado de la expresión yield actual. El " +"esperable retornado por el método :meth:`asend` retornará el siguiente valor " +"producido por el generador como el valor de la :exc:`StopIteration` generada " +"o genera :exc:`StopAsyncIteration` si el generador asincrónico termina sin " +"producir otro valor. Cuando se invoca :meth:`asend` para empezar el " +"generador asincrónico, debe ser invocado con :const:`None` como argumento, " +"porque no hay expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:711 msgid "" @@ -777,6 +1132,14 @@ msgid "" "exception, or raises a different exception, then when the awaitable is run " "that exception propagates to the caller of the awaitable." msgstr "" +"Retorna un esperable que genera una excepción de tipo ``type`` en el punto " +"donde el generador asincrónico fue pausado y retorna el siguiente valor " +"producido por la función generadora como el valor de la excepción :exc:" +"`StopIteration` generada. Si el generador asincrónico termina sin producir " +"otro valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si " +"la función generadora no caza la excepción pasada o genera una excepción " +"diferente, entonces cuando se ejecuta el esperable esa excepción se propaga " +"al invocador del esperable." #: ../Doc/reference/expressions.rst:726 msgid "" @@ -793,24 +1156,39 @@ msgid "" "due to an exception or normal exit, then further calls to :meth:`aclose` " "will return an awaitable that does nothing." msgstr "" +"Retorna un esperable que cuando corre lanza un :exc:`GeneratorExit` a la " +"función generadora asincrónica en el punto donde fue pausada. Si la función " +"generadora asincrónica termina exitosamente, ya está cerrada o genera :exc:" +"`GeneratorExit` (sin cazar la excepción), el esperable retornado generará " +"una excepción :exc:`StopIteration`. Otros esperables retornados por " +"subsecuentes invocaciones al generador asincrónico generarán una excepción :" +"exc:`StopAsyncIteration`. Si el generador asincrónico produce un valor, el " +"esperable genera un :exc:`RuntimeError`. Si el generador asincrónico genera " +"cualquier otra excepción, esta es propagada al invocador del esperable. Si " +"el generador asincrónico ha terminado debido a una excepción o una " +"terminación normal, entonces futuras invocaciones a :meth:`aclose` " +"retornarán un esperable que no hace nada." #: ../Doc/reference/expressions.rst:742 msgid "Primaries" -msgstr "" +msgstr "Primarios" #: ../Doc/reference/expressions.rst:746 msgid "" "Primaries represent the most tightly bound operations of the language. Their " "syntax is:" msgstr "" +"Los primarios representan las operaciones más fuertemente ligadas al " +"lenguaje. Su sintaxis es:" #: ../Doc/reference/expressions.rst:756 msgid "Attribute references" -msgstr "" +msgstr "Referencias de atributos" #: ../Doc/reference/expressions.rst:762 msgid "An attribute reference is a primary followed by a period and a name:" msgstr "" +"Una referencia de atributo es un primario seguido de un punto y un nombre:" #: ../Doc/reference/expressions.rst:772 msgid "" @@ -822,16 +1200,26 @@ msgid "" "type and value of the object produced is determined by the object. Multiple " "evaluations of the same attribute reference may yield different objects." msgstr "" +"El primario debe evaluar a un objeto de un tipo que soporte referencias de " +"atributos, lo cual la mayoría de los objetos soportan. Luego se le pide a " +"este objeto que produzca el atributo cuyo nombre es el identificador. Esta " +"producción puede ser personalizada sobrescribiendo el método :meth:" +"`__getattr__`. Si este atributo no es esperable, se genera la excepción :exc:" +"`AtributeError`. De otra forma, el tipo y el valor del objeto producido es " +"determinado por el objeto. Múltiples evaluaciones la misma referencia de " +"atributo pueden producir diferentes objetos." #: ../Doc/reference/expressions.rst:784 msgid "Subscriptions" -msgstr "" +msgstr "Suscripciones" #: ../Doc/reference/expressions.rst:799 msgid "" "A subscription selects an item of a sequence (string, tuple or list) or " "mapping (dictionary) object:" msgstr "" +"Una subscripción selecciona un elemento de una objeto secuencia (cadena de " +"caracteres, tupla o lista) o mapeo (diccionario):" #: ../Doc/reference/expressions.rst:805 msgid "" @@ -839,12 +1227,17 @@ msgid "" "dictionaries for example). User-defined objects can support subscription by " "defining a :meth:`__getitem__` method." msgstr "" +"El primario debe evaluar a un objeto que soporta subscripción (listas o " +"diccionarios por ejemplo). Los objetos definidos por usuarios pueden " +"soportar subscripción definiendo un método :meth:`__getitem__`." #: ../Doc/reference/expressions.rst:809 msgid "" "For built-in objects, there are two types of objects that support " "subscription:" msgstr "" +"Para objetos incorporados, hay dos tipos de objetos que soportan " +"subscripción:" #: ../Doc/reference/expressions.rst:811 msgid "" @@ -853,12 +1246,18 @@ msgid "" "the value in the mapping that corresponds to that key. (The expression list " "is a tuple except if it has exactly one item.)" msgstr "" +"Si el primario es un mapeo, la expresión de lista debe evaluar a un objeto " +"cuyo valor es una de las claves del mapeo y la subscripción selecciona el " +"valor en el mapeo que corresponda a esa clave. (La expresión de lista es una " +"tupla excepto si tiene exactamente un elemento.)" #: ../Doc/reference/expressions.rst:816 msgid "" "If the primary is a sequence, the expression list must evaluate to an " "integer or a slice (as discussed in the following section)." msgstr "" +"Si el primario es una secuencia, la expresión de lista debe evaluar a un " +"entero o a un segmento (como es discutido en la siguiente sección)." #: ../Doc/reference/expressions.rst:819 msgid "" @@ -872,16 +1271,28 @@ msgid "" "slicing occurs in the object's :meth:`__getitem__` method, subclasses " "overriding this method will need to explicitly add that support." msgstr "" +"La sintaxis formal no hace ninguna provisión especial para índices negativos " +"en secuencias; sin embargo, todas las secuencias incorporadas proveen un " +"método :meth:`__getitem__` que interpreta índices negativos añadiendo al " +"largo de la secuencia al índice (así es que ``x[-1]`` selecciona el último " +"elemento de ``x``). El valor resultante debe ser un entero no negativo menor " +"que el número de elementos en la secuencia y la subscripción selecciona el " +"elemento cuyo índice es ese valor (contando desde cero). Ya que el soporte " +"para índices negativos y el troceado ocurre en el método del objeto :meth:" +"`__getitem__`, las subclases que sobrescriben este método necesitarán añadir " +"explícitamente ese soporte." #: ../Doc/reference/expressions.rst:833 msgid "" "A string's items are characters. A character is not a separate data type " "but a string of exactly one character." msgstr "" +"Los elementos de una cadena de caracteres son caracteres. Un caracter no es " +"un tipo de datos separado sino una cadena de exactamente un caracter." #: ../Doc/reference/expressions.rst:840 msgid "Slicings" -msgstr "" +msgstr "Segmentos" #: ../Doc/reference/expressions.rst:854 msgid "" @@ -889,6 +1300,10 @@ msgid "" "tuple or list). Slicings may be used as expressions or as targets in " "assignment or :keyword:`del` statements. The syntax for a slicing:" msgstr "" +"Un segmento selecciona un rango de elementos en una objeto secuencia (ej., " +"una cadena de caracteres, tupla o lista). Los segmentos pueden ser usados " +"como expresiones o como objetivos en asignaciones o sentencias :keyword:" +"`del`. La sintaxis para un segmento:" #: ../Doc/reference/expressions.rst:867 msgid "" @@ -899,6 +1314,13 @@ msgid "" "subscription takes priority over the interpretation as a slicing (this is " "the case if the slice list contains no proper slice)." msgstr "" +"Hay ambigüedad en la sintaxis formal aquí: todo lo que parezca una expresión " +"de lista también parece una segmento de lista, así que cualquier " +"subscripción puede ser interpretada como un segmento. En lugar de complicar " +"aún más la sintaxis, esta es desambiguada definiendo que en este caso la " +"interpretación como una subscripción toma prioridad sobre la interpretación " +"como un segmento (este es el caso si el segmento de lista no contiene un " +"segmento adecuado)." #: ../Doc/reference/expressions.rst:879 msgid "" @@ -914,22 +1336,38 @@ msgid "" "upper bound and stride, respectively, substituting ``None`` for missing " "expressions." msgstr "" +"Las semánticas para un segmento son las siguientes. El primario es indexado " +"(usando el mismo método :meth:`__getitem__` de una subscripción normal) con " +"una clave que se construye del segmento de lista, tal como sigue. Si el " +"segmento de lista contiene al menos una coma, la clave es una tupla que " +"contiene la conversión de los elementos del segmento; de otra forma, la " +"conversión del segmento de lista solitario es la clave. La conversión de un " +"elemento de segmento que es una expresión es esa expresión. La conversión de " +"un segmento apropiado es un objeto segmento (ver sección :ref:`types`) cuyos " +"atributos :attr:`~slice.start`, :attr:`~slice.stop` y :attr:`~slice.step` " +"son los valores de las expresiones dadas como límite inferior, límite " +"superior y paso, respectivamente, substituyendo ``None`` para las " +"expresiones faltantes." #: ../Doc/reference/expressions.rst:903 msgid "Calls" -msgstr "" +msgstr "Invocaciones" #: ../Doc/reference/expressions.rst:905 msgid "" "A call calls a callable object (e.g., a :term:`function`) with a possibly " "empty series of :term:`arguments `:" msgstr "" +"Una invocación invoca un objeto invocable (ej., una :term:`function`) con " +"una serie posiblemente vacía de :term:`argumentos `:" #: ../Doc/reference/expressions.rst:922 msgid "" "An optional trailing comma may be present after the positional and keyword " "arguments but does not affect the semantics." msgstr "" +"Una coma final opcional puede estar presente después de los argumentos " +"posicionales y de palabra clave pero no afecta a las semánticas." #: ../Doc/reference/expressions.rst:928 msgid "" @@ -940,6 +1378,13 @@ msgid "" "attempted. Please refer to section :ref:`function` for the syntax of " "formal :term:`parameter` lists." msgstr "" +"La clave primaria debe evaluar a un objeto invocable (funciones definidas " +"por el usuario, funciones incorporadas, métodos de objetos incorporados, " +"métodos de instancias de clases y todos los objetos que tienen un método :" +"meth:`__call__` son invocables). Todas las expresiones de argumento son " +"evaluadas antes de que la invocación sea intentada. Por favor, refiera a la " +"sección :ref:`function` para la sintaxis formal de listas de :term:" +"`parameter`." #: ../Doc/reference/expressions.rst:936 msgid "" @@ -962,6 +1407,26 @@ msgid "" "Otherwise, the list of filled slots is used as the argument list for the " "call." msgstr "" +"Si hay argumentos de palabra clave, primero se convierten en argumentos " +"posicionales, como se indica a continuación. En primer lugar, se crea una " +"lista de ranuras sin rellenar para los parámetros formales. Si hay N " +"argumentos posicionales, se colocan en las primeras N ranuras. A " +"continuación, para cada argumento de palabra clave, el identificador se " +"utiliza para determinar la ranura correspondiente (si el identificador es el " +"mismo que el primer nombre de parámetro formal, se utiliza la primera " +"ranura, etc.). Si la ranura ya está llena, se genera una excepción :exc:" +"`TypeError`. De lo contrario, el valor del argumento se coloca en la ranura, " +"llenándolo (incluso si la expresión es ``None``, esta llena la ranura). " +"Cuando se han procesado todos los argumentos, las ranuras que aún no han " +"sido rellenadas se rellenan con el valor predeterminado correspondiente de " +"la definición de función. (Los valores predeterminados son calculados una " +"vez, cuando se define la función; por lo tanto, un objeto mutable como una " +"lista o diccionario utilizado como valor predeterminado será compartido por " +"todas las llamadas que no especifican un valor de argumento para la ranura " +"correspondiente; esto normalmente debe ser evitado.) Si hay ranuras sin " +"rellenar para las que no se especifica ningún valor predeterminado, se " +"genera una excepción :exc:`TypeError`. De lo contrario, la lista de ranuras " +"rellenas se utiliza como la lista de argumentos para la llamada." #: ../Doc/reference/expressions.rst:956 msgid "" @@ -971,6 +1436,11 @@ msgid "" "CPython, this is the case for functions implemented in C that use :c:func:" "`PyArg_ParseTuple` to parse their arguments." msgstr "" +"Una implementación puede proveer funciones incorporadas cuyos argumentos " +"posicionales no tienen nombres, incluso si son \"nombrados\" a efectos de " +"documentación y los cuales por consiguiente no pueden ser suplidos por " +"palabras clave. En CPython, este es el caso para funciones implementadas en " +"C que usan :c:func:`PyArg_ParseTuple` para analizar sus argumentos." #: ../Doc/reference/expressions.rst:962 msgid "" @@ -980,6 +1450,11 @@ msgid "" "parameter receives a tuple containing the excess positional arguments (or an " "empty tuple if there were no excess positional arguments)." msgstr "" +"Si hay más argumentos posicionales que ranuras formales de parámetros, se " +"genera una excepción :exc:`TypeError`, a no ser que un parámetro formal " +"usando la sintaxis ``*identifier`` se encuentre presente; en este caso, ese " +"parámetro formal recibe una tupla conteniendo los argumentos posicionales " +"sobrantes (o una tupla vacía su no hay argumentos posicionales sobrantes)." #: ../Doc/reference/expressions.rst:968 msgid "" @@ -990,6 +1465,13 @@ msgid "" "keywords as keys and the argument values as corresponding values), or a " "(new) empty dictionary if there were no excess keyword arguments." msgstr "" +"Si un argumento de palabra clave no corresponde a un nombre de parámetro " +"formal, se genera una excepción :exc:`TypeError`, a no ser que un parámetro " +"formal usando la sintaxis ``**identifier`` esté presente; en este caso, ese " +"parámetro formal recibe un diccionario que contiene los argumentos de " +"palabra clave sobrantes (usando las palabras clave como claves y los valores " +"de argumento como sus valores correspondientes), o un (nuevo) diccionario " +"vacío si no hay argumentos de palabra clave sobrantes." #: ../Doc/reference/expressions.rst:979 msgid "" @@ -1000,6 +1482,12 @@ msgid "" "this is equivalent to a call with M+4 positional arguments *x1*, *x2*, " "*y1*, ..., *yM*, *x3*, *x4*." msgstr "" +"Si la sintaxis ``*expression`` aparece en la invocación de función, " +"``expression`` debe evaluar a un :term:`iterable`. Elementos de esos " +"iterables son tratados como si fueran argumentos posicionales adicionales. " +"Para la invocación ``f(x1, x2, *y, x3, x4)``, si *y* evalúa a una secuencia " +"*y1*, ..., *yM*, equivale a una invocación con M+4 argumentos posicionales " +"*x1*, *x2*, *y1*, ..., *yM*, *x3*, *x4*." #: ../Doc/reference/expressions.rst:986 msgid "" @@ -1007,12 +1495,19 @@ msgid "" "*after* explicit keyword arguments, it is processed *before* the keyword " "arguments (and any ``**expression`` arguments -- see below). So::" msgstr "" +"Una consecuencia de esto es que aunque la sintaxis ``*expression`` puede " +"aparecer *después* de argumentos de palabra clave explícitos, es procesada " +"*antes* de los argumentos de palabra clave (y cualquiera de los argumentos " +"``*expression`` -- ver abajo). Así que::" #: ../Doc/reference/expressions.rst:1002 msgid "" "It is unusual for both keyword arguments and the ``*expression`` syntax to " "be used in the same call, so in practice this confusion does not arise." msgstr "" +"Es inusual usar en la misma invocación tanto argumentos de palabra clave " +"como la sintaxis ``*expression``, así que en la práctica no surge esta " +"confusión." #: ../Doc/reference/expressions.rst:1008 msgid "" @@ -1022,12 +1517,20 @@ msgid "" "explicit keyword argument, or from another unpacking), a :exc:`TypeError` " "exception is raised." msgstr "" +"Si la sintaxis ``*expression`` aparece en la invocación de función, " +"``expression`` debe evaluar a un :term:`mapping`, los contenidos del mismo " +"son tratados como argumentos de palabra clave adicionales. Si una palabra " +"clave está ya presente (como un argumento de palabra clave explícito o desde " +"otro desempaquetado), se genera una excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1014 msgid "" "Formal parameters using the syntax ``*identifier`` or ``**identifier`` " "cannot be used as positional argument slots or as keyword argument names." msgstr "" +"No pueden ser usados parámetros formales usando la sintaxis ``*identifier`` " +"o ``**identifier`` como ranuras de argumentos posicionales o como nombres de " +"argumentos de palabra clave." #: ../Doc/reference/expressions.rst:1017 msgid "" @@ -1035,6 +1538,11 @@ msgid "" "arguments may follow iterable unpackings (``*``), and keyword arguments may " "follow dictionary unpackings (``**``). Originally proposed by :pep:`448`." msgstr "" +"Las invocaciones de función aceptan cualquier número de desempaquetados " +"``*`` y ``**``, los argumentos posicionales pueden seguir a desempaquetados " +"de iterable (``*``) y los argumentos de palabra clave pueden seguir a " +"desempaquetados de diccionario (``*``). Originalmente propuesto por :pep:" +"`448`." #: ../Doc/reference/expressions.rst:1023 msgid "" @@ -1042,14 +1550,17 @@ msgid "" "exception. How this value is computed depends on the type of the callable " "object." msgstr "" +"Una invocación siempre retorna algún valor, posiblemente ``None``, a no ser " +"que genere una excepción. Cómo se calcula este valor depende del tipo del " +"objeto invocable." #: ../Doc/reference/expressions.rst:1027 msgid "If it is---" -msgstr "" +msgstr "Si es---" #: ../Doc/reference/expressions.rst:1040 msgid "a user-defined function:" -msgstr "" +msgstr "una función definida por el usuario:" #: ../Doc/reference/expressions.rst:1036 msgid "" @@ -1059,28 +1570,35 @@ msgid "" "block executes a :keyword:`return` statement, this specifies the return " "value of the function call." msgstr "" +"Se ejecuta el bloque de código para la función, pasándole la lista de " +"argumentos. Lo primero que hace el bloque de código es enlazar los " +"parámetros formales a los argumentos; esto es descrito en la sección :ref:" +"`function`. Cuando el bloque de código ejecuta una sentencia :keyword:" +"`return`, esto especifica el valor de retorno de la invocación de función." #: ../Doc/reference/expressions.rst:1054 msgid "a built-in function or method:" -msgstr "" +msgstr "una función o método incorporado:" #: ../Doc/reference/expressions.rst:1053 msgid "" "The result is up to the interpreter; see :ref:`built-in-funcs` for the " "descriptions of built-in functions and methods." msgstr "" +"El resultado depende del intérprete; ver :ref:`built-in-funcs` para las " +"descripciones de funciones y métodos incorporados." #: ../Doc/reference/expressions.rst:1061 msgid "a class object:" -msgstr "" +msgstr "un objeto de clase:" #: ../Doc/reference/expressions.rst:1061 msgid "A new instance of that class is returned." -msgstr "" +msgstr "Se retorna una nueva instancia de esa clase." #: ../Doc/reference/expressions.rst:1071 msgid "a class instance method:" -msgstr "" +msgstr "un método de una instancia de clase:" #: ../Doc/reference/expressions.rst:1069 msgid "" @@ -1088,36 +1606,46 @@ msgid "" "that is one longer than the argument list of the call: the instance becomes " "the first argument." msgstr "" +"Se invoca la función definida por el usuario correspondiente, con una lista " +"de argumentos con un largo uno mayor que la lista de argumentos de la " +"invocación: la instancia se convierte en el primer argumento." #: ../Doc/reference/expressions.rst:1080 msgid "a class instance:" -msgstr "" +msgstr "una instancia de clase:" #: ../Doc/reference/expressions.rst:1078 msgid "" "The class must define a :meth:`__call__` method; the effect is then the same " "as if that method was called." msgstr "" +"La clase debe definir un método :meth:`__call__`; el efecto es entonces el " +"mismo que si ese método fuera invocado." #: ../Doc/reference/expressions.rst:1086 ../Doc/reference/expressions.rst:1834 msgid "Await expression" -msgstr "" +msgstr "Expresión await" #: ../Doc/reference/expressions.rst:1088 msgid "" "Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " "Can only be used inside a :term:`coroutine function`." msgstr "" +"Suspende la ejecución de :term:`coroutine` o un objeto :term:`awaitable`. " +"Puede ser usado sólo dentro de una :term:`coroutine function`." #: ../Doc/reference/expressions.rst:1100 msgid "The power operator" -msgstr "" +msgstr "El operador de potencia" #: ../Doc/reference/expressions.rst:1106 msgid "" "The power operator binds more tightly than unary operators on its left; it " "binds less tightly than unary operators on its right. The syntax is:" msgstr "" +"El operador de potencia se vincula más estrechamente que los operadores " +"unarios a su izquierda; se vincula con menos fuerza que los operadores " +"unarios a su derecha. La sintaxis es:" #: ../Doc/reference/expressions.rst:1112 msgid "" @@ -1125,6 +1653,10 @@ msgid "" "operators are evaluated from right to left (this does not constrain the " "evaluation order for the operands): ``-1**2`` results in ``-1``." msgstr "" +"Por lo tanto, en una secuencia sin paréntesis de operadores unarios y de " +"potencia, los operadores son evaluados desde la derecha a la izquierda (este " +"no se constriñe al orden de evaluación para los operandos): ``-1**2`` " +"resulta en ``-1``." #: ../Doc/reference/expressions.rst:1116 msgid "" @@ -1133,6 +1665,11 @@ msgid "" "to the power of its right argument. The numeric arguments are first " "converted to a common type, and the result is of that type." msgstr "" +"El operador de potencia tiene las mismas semánticas que la función " +"incorporada :func:`pow` cuando se invoca con dos argumentos: este produce su " +"argumento de la izquierda elevado a la potencia de su argumento de la " +"derecha. Los argumentos numéricos se convierten primero en un tipo común y " +"el resultado es de ese tipo." #: ../Doc/reference/expressions.rst:1121 msgid "" @@ -1141,6 +1678,10 @@ msgid "" "float and a float result is delivered. For example, ``10**2`` returns " "``100``, but ``10**-2`` returns ``0.01``." msgstr "" +"Para operandos int, el resultado tiene el mismo tipo que los operandos a no " +"ser que el segundo argumento sea negativo; en ese caso, todos los argumentos " +"son convertidos a float y se entrega un resultado float. Por ejemplo, " +"``10**2`` retorna ``100``, pero ``10**-2`` retorna ``0.01``." #: ../Doc/reference/expressions.rst:1126 msgid "" @@ -1148,23 +1689,32 @@ msgid "" "Raising a negative number to a fractional power results in a :class:" "`complex` number. (In earlier versions it raised a :exc:`ValueError`.)" msgstr "" +"Elevar ``0.0`` a una potencia negativa resulta en un :exc:" +"`ZeroDivisionError`. Elevar un número negativo a una potencia fraccional " +"resulta en un número :class:`complex`. (En versiones anteriores se genera " +"un :exc:`ValueError`.)" #: ../Doc/reference/expressions.rst:1134 msgid "Unary arithmetic and bitwise operations" -msgstr "" +msgstr "Aritmética unaria y operaciones bit a bit" #: ../Doc/reference/expressions.rst:1140 msgid "All unary arithmetic and bitwise operations have the same priority:" msgstr "" +"Toda la aritmética unaria y las operaciones bit a bit tienen la misma " +"prioridad:" #: ../Doc/reference/expressions.rst:1151 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric argument." msgstr "" +"El operador unario ``-`` (menos) produce la negación de su argumento " +"numérico." #: ../Doc/reference/expressions.rst:1158 msgid "The unary ``+`` (plus) operator yields its numeric argument unchanged." msgstr "" +"El operador unario ``+`` (más) produce su argumento numérico sin cambios." #: ../Doc/reference/expressions.rst:1164 msgid "" @@ -1172,16 +1722,21 @@ msgid "" "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " "It only applies to integral numbers." msgstr "" +"El operador unario ``~`` (invertir) produce la inversión bit a bit de su " +"argumento entero. La inversión bit a bit de ``x`` se define como ``-(x+1)``. " +"Sólo aplica a números integrales." #: ../Doc/reference/expressions.rst:1170 msgid "" "In all three cases, if the argument does not have the proper type, a :exc:" "`TypeError` exception is raised." msgstr "" +"En todos los tres casos, si el argumento no tiene el tipo apropiado, se " +"genera una excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1177 msgid "Binary arithmetic operations" -msgstr "" +msgstr "Operaciones aritméticas binarias" #: ../Doc/reference/expressions.rst:1181 msgid "" @@ -1190,6 +1745,10 @@ msgid "" "Apart from the power operator, there are only two levels, one for " "multiplicative operators and one for additive operators:" msgstr "" +"Las operaciones aritméticas binarias tienen los niveles convencionales de " +"prioridad. Tenga en cuenta que algunas de esas operaciones también aplican a " +"ciertos tipos no numéricos. Aparte del operador de potencia, hay sólo dos " +"niveles, uno para operadores multiplicativos y uno para aditivos:" #: ../Doc/reference/expressions.rst:1196 msgid "" @@ -1200,12 +1759,20 @@ msgid "" "case, sequence repetition is performed; a negative repetition factor yields " "an empty sequence." msgstr "" +"El operador ``*`` (multiplicación) produce el producto de sus argumentos. " +"Los argumentos pueden ser ambos números, o un argumento debe ser un entero y " +"el otro debe ser una secuencia. En el primer caso, los números se convierten " +"a un tipo común y luego son multiplicados. En el segundo caso, se realiza " +"una repetición de secuencia; un factor de repetición negativo produce una " +"secuencia vacía." #: ../Doc/reference/expressions.rst:1206 msgid "" "The ``@`` (at) operator is intended to be used for matrix multiplication. " "No builtin Python types implement this operator." msgstr "" +"El operador ``@`` (en) está destinado a ser usado para multiplicación de " +"matrices. Ningún tipo incorporado en Python implementa este operador." #: ../Doc/reference/expressions.rst:1217 msgid "" @@ -1216,6 +1783,13 @@ msgid "" "with the 'floor' function applied to the result. Division by zero raises " "the :exc:`ZeroDivisionError` exception." msgstr "" +"Los operadores ``/`` (división) y ``//`` (división de redondeo) producen el " +"cociente de sus argumentos. Los argumentos numéricos son primero convertidos " +"a un tipo común. La división de enteros producen un número de punto " +"flotante, mientras que la división redondeada de enteros resulta en un " +"entero; el resultado es aquel de una división matemática con la función " +"'floor' aplicada al resultado. Dividir entre 0 genera la excepción :exc:" +"`ZeroDivisionError`." #: ../Doc/reference/expressions.rst:1228 msgid "" @@ -1228,6 +1802,14 @@ msgid "" "zero); the absolute value of the result is strictly smaller than the " "absolute value of the second operand [#]_." msgstr "" +"El operador ``%`` (módulo) produce el resto de la división del primer " +"argumento entre el segundo. Los argumentos numéricos son primero convertidos " +"a un tipo común. Un argumento a la derecha cero genera la excepción :exc:" +"`ZeroDivisionError`. Los argumentos pueden ser números de punto flotante, " +"ej., ``3.14%0.7`` es igual a ``0.34`` (ya que ``3.14`` es igual a ``4*0.7 + " +"0.34``.) El operador módulo siempre produce un resultado con el mismo signo " +"que su segundo operando (o cero); el valor absoluto del resultado es " +"estrictamente más pequeño que el valor absoluto del segundo operando [#]_." #: ../Doc/reference/expressions.rst:1237 msgid "" @@ -1236,6 +1818,10 @@ msgid "" "connected with the built-in function :func:`divmod`: ``divmod(x, y) == (x//" "y, x%y)``. [#]_." msgstr "" +"Los operadores de división de redondeo y módulo están conectados por la " +"siguiente identidad: ``x == (x//y)*y + (x%y)``. La división de redondeo y el " +"módulo también están conectadas por la función incorporada :func:`divmod`: " +"``divmod(x, y) == (x//y, x%y)``. [#]_." #: ../Doc/reference/expressions.rst:1242 msgid "" @@ -1245,6 +1831,11 @@ msgid "" "is described in the Python Library Reference, section :ref:`old-string-" "formatting`." msgstr "" +"Adicionalmente a realizar la operación módulo en números, el operador ``%`` " +"también está sobrecargado por objetos cadena de caracteres para realizar " +"formateo de cadenas al estilo antiguo (también conocido como interpolación). " +"La sintaxis para el formateo de cadenas está descrita en la Referencia de la " +"Biblioteca de Python, sección :ref:`old-string-formatting`." #: ../Doc/reference/expressions.rst:1247 msgid "" @@ -1252,6 +1843,9 @@ msgid "" "function are not defined for complex numbers. Instead, convert to a " "floating point number using the :func:`abs` function if appropriate." msgstr "" +"El operador de división de redondeo, el operador módulo y la función :func:" +"`divmod` no están definidas para números complejos. En su lugar, convierta a " +"un número de punto flotante usando la función :func:`abs` si es apropiado." #: ../Doc/reference/expressions.rst:1256 msgid "" @@ -1260,63 +1854,85 @@ msgid "" "type. In the former case, the numbers are converted to a common type and " "then added together. In the latter case, the sequences are concatenated." msgstr "" +"El operador ``+`` (adición) produce la suma de sus argumentos. Los " +"argumentos deben ser ambos números o ambos secuencias del mismo tipo. En el " +"primer caso, los números son convertidos a un tipo común y luego sumados. En " +"el segundo caso, las secuencias son concatenadas." #: ../Doc/reference/expressions.rst:1266 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." msgstr "" +"El operador ``-`` (resta) produce la diferencia de sus argumentos. Los " +"argumentos numéricos son primero convertidos a un tipo común." #: ../Doc/reference/expressions.rst:1273 msgid "Shifting operations" -msgstr "" +msgstr "Operaciones de desplazamiento" #: ../Doc/reference/expressions.rst:1280 msgid "" "The shifting operations have lower priority than the arithmetic operations:" msgstr "" +"Las operaciones de desplazamiento tienen menos prioridad que las operaciones " +"aritméticas:" #: ../Doc/reference/expressions.rst:1285 msgid "" "These operators accept integers as arguments. They shift the first argument " "to the left or right by the number of bits given by the second argument." msgstr "" +"Estos operadores aceptan enteros como argumentos. Ellos desplazan el primer " +"argumento a la izquierda o derecha el número de dígitos dados por el segundo " +"argumento." #: ../Doc/reference/expressions.rst:1290 msgid "" "A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " "left shift by *n* bits is defined as multiplication with ``pow(2,n)``." msgstr "" +"Un desplazamiento de *n* bits hacia la derecha está definido como una " +"división de redondeo entre ``pow(2,n)``. Un desplazamiento de *n* bits hacia " +"la izquierda está definido como una multiplicación por ``pow(2,n)``." #: ../Doc/reference/expressions.rst:1297 msgid "Binary bitwise operations" -msgstr "" +msgstr "Operaciones bit a bit binarias" #: ../Doc/reference/expressions.rst:1301 msgid "Each of the three bitwise operations has a different priority level:" msgstr "" +"Cada una de las tres operaciones de bits binarias tienen diferente nivel de " +"prioridad:" #: ../Doc/reference/expressions.rst:1312 msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " "integers." msgstr "" +"El operador ``&`` produce el AND bit a bit de sus argumentos, los cuales " +"deben ser enteros." #: ../Doc/reference/expressions.rst:1320 msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " "which must be integers." msgstr "" +"El operador ``^`` produce el XOR (OR exclusivo) bit a bit de sus argumentos, " +"los cuales deben ser enteros." #: ../Doc/reference/expressions.rst:1328 msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " "must be integers." msgstr "" +"El operador ``|`` produce el OR (inclusivo) bit a bit de sus argumentos, los " +"cuales deben ser enteros." #: ../Doc/reference/expressions.rst:1335 msgid "Comparisons" -msgstr "" +msgstr "Comparaciones" #: ../Doc/reference/expressions.rst:1347 msgid "" @@ -1325,10 +1941,14 @@ msgid "" "unlike C, expressions like ``a < b < c`` have the interpretation that is " "conventional in mathematics:" msgstr "" +"A diferencia de C, todas las operaciones de comparación en Python tienen la " +"misma prioridad, la cual es menor que la de cualquier operación aritmética, " +"de desplazamiento o bit a bit. También, a diferencia de C, expresiones como " +"``a < b < c`` tienen la interpretación convencional en matemáticas:" #: ../Doc/reference/expressions.rst:1357 msgid "Comparisons yield boolean values: ``True`` or ``False``." -msgstr "" +msgstr "Comparaciones producen valores booleanos: `` True`` o ``False``." #: ../Doc/reference/expressions.rst:1361 msgid "" @@ -1337,6 +1957,10 @@ msgid "" "both cases ``z`` is not evaluated at all when ``x < y`` is found to be " "false)." msgstr "" +"Las comparaciones pueden ser encadenadas arbitrariamente, ej., ``x < y <= " +"z`` es equivalente a ``x < y and y <= z``, excepto que ``y`` es evaluado " +"sólo una vez (pero en ambos casos ``z`` no es evaluado para nada cuando ``x " +"< y`` se encuentra que es falso)." #: ../Doc/reference/expressions.rst:1365 msgid "" @@ -1345,6 +1969,10 @@ msgid "" "z`` is equivalent to ``a op1 b and b op2 c and ... y opN z``, except that " "each expression is evaluated at most once." msgstr "" +"Formalmente, si *a*, *b*, *c*, ..., *y*, *z* son expresiones y *op1*, " +"*op2*, ..., *opN* son operadores de comparación, entonces ``a op1 b op2 " +"c ... y opN z`` es equivalente a ``a op1 b and b op2 c and ... y opN z``, " +"excepto que cada expresión es evaluada como mucho una vez." #: ../Doc/reference/expressions.rst:1370 msgid "" @@ -1352,16 +1980,21 @@ msgid "" "and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " "pretty)." msgstr "" +"Tenga en cuenta que ``a op1 b op2 c`` no implica ningún tipo de comparación " +"entre *a* y *c*, por lo que, por ejemplo, ``x < y > z`` es perfectamente " +"legal (aunque quizás no es bonito)." #: ../Doc/reference/expressions.rst:1375 msgid "Value comparisons" -msgstr "" +msgstr "Comparaciones de valor" #: ../Doc/reference/expressions.rst:1377 msgid "" "The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " "values of two objects. The objects do not need to have the same type." msgstr "" +"Los operadores ``<``, ``>``, ``==``, ``>=``, ``<=``, y ``!=`` comparan los " +"valores de dos objetos. Los objetos no necesitan ser del mismo tipo." #: ../Doc/reference/expressions.rst:1380 msgid "" @@ -1374,6 +2007,15 @@ msgid "" "object is. One can think of them as defining the value of an object " "indirectly, by means of their comparison implementation." msgstr "" +"El capítulo :ref:`objects` afirma que los objetos tienen un valor (en " +"adición al tipo e identidad). El valor de un objeto es una noción bastante " +"abstracta en Python: Por ejemplo, no existe un método de acceso canónico " +"para el valor de un objeto. Además, no se requiere que el valor de un objeto " +"deba ser construido de una forma particular, ej. compuesto de todos sus " +"atributos de datos. Los operadores de comparación implementan una noción " +"particular de lo que es el valor de un objeto. Uno puede pensar en ellos " +"definiendo el valor de un objeto indirectamente, mediante su implementación " +"de comparación." #: ../Doc/reference/expressions.rst:1389 msgid "" @@ -1382,6 +2024,11 @@ msgid "" "customize their comparison behavior by implementing :dfn:`rich comparison " "methods` like :meth:`__lt__`, described in :ref:`customization`." msgstr "" +"Debido a que todos los tipos son subtipos (directos o indirectos) de :class:" +"`object`, ellos heredan el comportamiento de comparación predeterminado " +"desde :class:`object`. Los tipos pueden personalizar su comportamiento de " +"comparación implementando :dfn:`rich comparison methods` como :meth:" +"`__lt__`, descritos en :ref:`customization`." #: ../Doc/reference/expressions.rst:1395 msgid "" @@ -1392,6 +2039,12 @@ msgid "" "default behavior is the desire that all objects should be reflexive (i.e. " "``x is y`` implies ``x == y``)." msgstr "" +"El comportamiento predeterminado para comparación de igualdad (``==`` y ``!" +"=``) se basa en la identidad de los objetos. Por lo tanto, la comparación de " +"instancias con la misma identidad resulta en igualdad, y la comparación de " +"igualdad de instancias con diferentes entidades resulta en desigualdad. Una " +"motivación para este comportamiento predeterminado es el deseo de que todos " +"los objetos sean reflexivos (ej. ``x is y`` implica ``x == y``)." #: ../Doc/reference/expressions.rst:1402 msgid "" @@ -1399,6 +2052,10 @@ msgid "" "provided; an attempt raises :exc:`TypeError`. A motivation for this default " "behavior is the lack of a similar invariant as for equality." msgstr "" +"No se provee un orden de comparación por defecto (``<``, ``>``, ``<=``, and " +"``>=``); un intento genera :exc:`TypeError`. Una motivación para este " +"comportamiento predeterminado es la falta de una invariante similar como " +"para la igualdad." #: ../Doc/reference/expressions.rst:1406 msgid "" @@ -1408,12 +2065,20 @@ msgid "" "equality. Such types will need to customize their comparison behavior, and " "in fact, a number of built-in types have done that." msgstr "" +"El comportamiento de la comparación de igualdad predeterminado, que " +"instancias con diferentes identidades siempre son desiguales, puede estar en " +"contraste a que los tipos que necesitarán que tengan una definición sensata " +"de valor de objeto e igualdad basada en el valor. Tales tipos necesitarán " +"personalizar su comportamiento de comparación y, de hecho, un número de " +"tipos incorporados lo han realizado." #: ../Doc/reference/expressions.rst:1412 msgid "" "The following list describes the comparison behavior of the most important " "built-in types." msgstr "" +"La siguiente lista describe el comportamiento de comparación de los tipos " +"incorporados más importantes." #: ../Doc/reference/expressions.rst:1415 msgid "" @@ -1424,6 +2089,12 @@ msgid "" "involved, they compare mathematically (algorithmically) correct without loss " "of precision." msgstr "" +"Números de tipos numéricos incorporadas (:ref:`typesnumeric`) y tipos de la " +"biblioteca estándar :class:`fractions.Fraction` y :class:`decimal.Decimal` " +"pueden ser comparados consigo mismos y entre sus tipos, con la restricción " +"de que números complejos no soportan orden de comparación. Dentro de los " +"límites de los tipos involucrados, se comparan matemáticamente " +"(algorítmicamente) correctos sin pérdida de precisión." #: ../Doc/reference/expressions.rst:1422 msgid "" @@ -1434,6 +2105,12 @@ msgid "" "3`` and ``x == x`` are all false, while ``x != x`` is true. This behavior " "is compliant with IEEE 754." msgstr "" +"Los valores no-un-número ``float('NaN')`` y ``decimal.Decimal('NaN')`` son " +"especiales. Cualquier comparación ordenada de un número a un no-un-número es " +"falsa. Una implicación contraintuitiva es que los valores no-un-número son " +"son iguales a sí mismos. Por ejemplo, si ``x = float('NaN')``, ``3 < x``, " +"``x < 3`` y ``x == x`` son todos falso, mientras ``x != x`` es verdadero. " +"Este comportamiento cumple con IEEE 754." #: ../Doc/reference/expressions.rst:1429 msgid "" @@ -1441,6 +2118,9 @@ msgid "" "comparisons for singletons should always be done with ``is`` or ``is not``, " "never the equality operators." msgstr "" +"``None`` y ``NotImplemented`` son singletons. :PEP:`8` avisa que las " +"comparaciones para singletons deben ser realizadas siempre con ``is`` o ``is " +"not``, nunca los operadores de igualdad." #: ../Doc/reference/expressions.rst:1433 msgid "" @@ -1448,6 +2128,9 @@ msgid "" "compared within and across their types. They compare lexicographically " "using the numeric values of their elements." msgstr "" +"Las secuencias binarias (instancias de :class:`bytes` o :class:`bytearray`) " +"pueden ser comparadas entre sí y con otros tipos. Ellas comparan " +"lexicográficamente utilizando los valores numéricos de sus elementos." #: ../Doc/reference/expressions.rst:1437 msgid "" @@ -1455,10 +2138,15 @@ msgid "" "numerical Unicode code points (the result of the built-in function :func:" "`ord`) of their characters. [#]_" msgstr "" +"Las cadenas de caracteres (instancias de :class:`str`) comparan " +"lexicográficamente usando los puntos de códigos numéricos Unicode (el " +"resultado de la función incorporada :func:`ord`) o sus caracteres. [#]_" #: ../Doc/reference/expressions.rst:1441 msgid "Strings and binary sequences cannot be directly compared." msgstr "" +"Las cadenas de caracteres y las secuencias binarias no pueden ser comparadas " +"directamente." #: ../Doc/reference/expressions.rst:1443 msgid "" @@ -1468,6 +2156,11 @@ msgid "" "types results in inequality, and ordering comparison across these types " "raises :exc:`TypeError`." msgstr "" +"Las secuencias (instancias de :class:`tuple`, :class:`list`, o :class:" +"`range`) pueden ser comparadas sólo entre cada uno de sus tipos, con la " +"restricción de que los rangos no soportan comparación de orden. Comparación " +"de igualdad entre esos tipos resulta en desigualdad y la comparación de " +"orden entre esos tipos genera :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1449 msgid "" @@ -1476,11 +2169,18 @@ msgid "" "equal to themselves. That lets them bypass equality tests for identical " "objects to improve performance and to maintain their internal invariants." msgstr "" +"Las secuencias comparan lexicográficamente usando comparación de sus " +"correspondientes elementos. Los contenedores incorporados asumen que los " +"objetos idénticos son iguales a sí mismos. Eso les permite omitir las " +"pruebas de igualdad para objetos idénticos para mejorar el rendimiento y " +"mantener sus invariantes internos." #: ../Doc/reference/expressions.rst:1454 msgid "" "Lexicographical comparison between built-in collections works as follows:" msgstr "" +"La comparación lexicográfica entre colecciones incorporadas funciona de la " +"siguiente forma:" #: ../Doc/reference/expressions.rst:1456 msgid "" @@ -1488,6 +2188,10 @@ msgid "" "the same length, and each pair of corresponding elements must compare equal " "(for example, ``[1,2] == (1,2)`` is false because the type is not the same)." msgstr "" +"Para que dos colecciones sean comparadas iguales, ellas deben ser del mismo " +"tipo, tener el mismo largo, y cada para de elementos correspondientes deben " +"comparar iguales (por ejemplo, ``[1,2] == (1,2)`` es falso debido a que el " +"tipo no es el mismo)." #: ../Doc/reference/expressions.rst:1461 msgid "" @@ -1497,6 +2201,11 @@ msgid "" "shorter collection is ordered first (for example, ``[1,2] < [1,2,3]`` is " "true)." msgstr "" +"Las colecciones que soportan comparación de orden son ordenadas igual que " +"sus primeros elementos desiguales (por ejemplo, ``[1,2,x] <= [1,2,y]`` tiene " +"el mismo valor que ``x <= y``). Si un elemento correspondiente no existe, la " +"colección más corta es ordenada primero (por ejemplo, ``[1,2] < [1,2,3]`` es " +"verdadero)." #: ../Doc/reference/expressions.rst:1467 msgid "" @@ -1504,17 +2213,24 @@ msgid "" "equal `(key, value)` pairs. Equality comparison of the keys and values " "enforces reflexivity." msgstr "" +"Los mapeos (instancias de :class:`dict`) comparan igual si y sólo si tienen " +"pares `(clave, valor)` iguales. La comparación de igualdad de claves y " +"valores refuerza la reflexibilidad." #: ../Doc/reference/expressions.rst:1471 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" +"Comparaciones de orden (``<``, ``>``, ``<=``, and ``>=``) generan :exc:" +"`TypeError`." #: ../Doc/reference/expressions.rst:1473 msgid "" "Sets (instances of :class:`set` or :class:`frozenset`) can be compared " "within and across their types." msgstr "" +"Conjuntos (instancias de :class:`set` o :class:`frozenset`) pueden ser " +"comparadas entre sí y entre sus tipos." #: ../Doc/reference/expressions.rst:1476 msgid "" @@ -1526,86 +2242,107 @@ msgid "" "func:`max`, and :func:`sorted` produce undefined results given a list of " "sets as inputs)." msgstr "" +"Ellas definen operadores de comparación de orden con la intención de " +"comprobar subconjuntos y superconjuntos. Tales relaciones no definen " +"ordenaciones completas (por ejemplo, los dos conjuntos ``{1,2}`` y ``{2,3}`` " +"no son iguales, ni subconjuntos ni superconjuntos uno de otro). Acordemente, " +"los conjuntos no son argumentos apropiados para funciones que dependen de " +"ordenación completa (por ejemplo, :func:`min`, :func:`max` y :func:`sorted` " +"producen resultados indefinidos dados una lista de conjuntos como entradas)." #: ../Doc/reference/expressions.rst:1484 msgid "Comparison of sets enforces reflexivity of its elements." msgstr "" +"La comparación de conjuntos refuerza la reflexibilidad de sus elementos." #: ../Doc/reference/expressions.rst:1486 msgid "" "Most other built-in types have no comparison methods implemented, so they " "inherit the default comparison behavior." msgstr "" +"La mayoría de los otros tipos incorporados no tienen métodos de comparación " +"implementados, por lo que ellos heredan el comportamiento de comparación " +"predeterminado." #: ../Doc/reference/expressions.rst:1489 msgid "" "User-defined classes that customize their comparison behavior should follow " "some consistency rules, if possible:" msgstr "" +"Las clases definidas por el usuario que personalizan su comportamiento de " +"comparación deben seguir algunas reglas de consistencia, si es posible:" #: ../Doc/reference/expressions.rst:1492 msgid "" "Equality comparison should be reflexive. In other words, identical objects " "should compare equal:" msgstr "" +"La comparación de igualdad debe ser reflexiva. En otras palabras, los " +"objetos idénticos deben comparar iguales:" #: ../Doc/reference/expressions.rst:1495 msgid "``x is y`` implies ``x == y``" -msgstr "" +msgstr "``x is y`` implica ``x == y``" #: ../Doc/reference/expressions.rst:1497 msgid "" "Comparison should be symmetric. In other words, the following expressions " "should have the same result:" msgstr "" +"La comparación debe ser simétrica. En otras palabras, las siguientes " +"expresiones deben tener el mismo resultado:" #: ../Doc/reference/expressions.rst:1500 msgid "``x == y`` and ``y == x``" -msgstr "" +msgstr "``x == y`` y ``y == x``" #: ../Doc/reference/expressions.rst:1502 msgid "``x != y`` and ``y != x``" -msgstr "" +msgstr "``x != y`` y ``y != x``" #: ../Doc/reference/expressions.rst:1504 msgid "``x < y`` and ``y > x``" -msgstr "" +msgstr "``x < y`` y ``y > x``" #: ../Doc/reference/expressions.rst:1506 msgid "``x <= y`` and ``y >= x``" -msgstr "" +msgstr "``x <= y`` y ``y >= x``" #: ../Doc/reference/expressions.rst:1508 msgid "" "Comparison should be transitive. The following (non-exhaustive) examples " "illustrate that:" msgstr "" +"La comparación debe ser transitiva. Los siguientes ejemplos (no exhaustivos) " +"ilustran esto:" #: ../Doc/reference/expressions.rst:1511 msgid "``x > y and y > z`` implies ``x > z``" -msgstr "" +msgstr "``x > y and y > z`` implica ``x > z``" #: ../Doc/reference/expressions.rst:1513 msgid "``x < y and y <= z`` implies ``x < z``" -msgstr "" +msgstr "``x < y and y <= z`` implica ``x < z``" #: ../Doc/reference/expressions.rst:1515 msgid "" "Inverse comparison should result in the boolean negation. In other words, " "the following expressions should have the same result:" msgstr "" +"La comparación inversa debe resultar en la negación booleana. En otras " +"palabras, las siguientes expresiones deben tener el mismo resultado:" #: ../Doc/reference/expressions.rst:1518 msgid "``x == y`` and ``not x != y``" -msgstr "" +msgstr "``x == y`` y ``not x != y``" #: ../Doc/reference/expressions.rst:1520 msgid "``x < y`` and ``not x >= y`` (for total ordering)" -msgstr "" +msgstr "``x < y`` y ``not x >= y`` (para ordenación completa)" #: ../Doc/reference/expressions.rst:1522 msgid "``x > y`` and ``not x <= y`` (for total ordering)" -msgstr "" +msgstr "``x > y`` y ``not x <= y`` (para ordenación completa)" #: ../Doc/reference/expressions.rst:1524 msgid "" @@ -1613,22 +2350,30 @@ msgid "" "sequences, but not to sets or mappings). See also the :func:`~functools." "total_ordering` decorator." msgstr "" +"Las últimas dos expresiones aplican a colecciones completamente ordenadas " +"(ej. a secuencias, pero no a conjuntos o mapeos). Vea también el decorador :" +"func:`~functools.total_ordering`." #: ../Doc/reference/expressions.rst:1528 msgid "" "The :func:`hash` result should be consistent with equality. Objects that are " "equal should either have the same hash value, or be marked as unhashable." msgstr "" +"La función :func:`hash` debe ser consistente con la igualdad. Los objetos " +"que son iguales deben tener el mismo valor de hash o ser marcados como " +"inhashables." #: ../Doc/reference/expressions.rst:1532 msgid "" "Python does not enforce these consistency rules. In fact, the not-a-number " "values are an example for not following these rules." msgstr "" +"Python no fuerza a cumplir esas reglas de coherencia. De hecho, los valores " +"no-un-número son u ejemplo para no seguir esas reglas." #: ../Doc/reference/expressions.rst:1541 msgid "Membership test operations" -msgstr "" +msgstr "Operaciones de prueba de membresía" #: ../Doc/reference/expressions.rst:1543 msgid "" @@ -1640,6 +2385,14 @@ msgid "" "types such as list, tuple, set, frozenset, dict, or collections.deque, the " "expression ``x in y`` is equivalent to ``any(x is e or x == e for e in y)``." msgstr "" +"Los operadores :keyword:`in` y :keyword:`not in` comprueban membresía. ``x " +"in s`` evalúa a ``True`` si *x* es un miembro de *s* y ``False`` en caso " +"contrario. ``x not in s`` retorna la negación de ``x in s``. Todas las " +"secuencias incorporadas y tipos conjuntos soportan esto, así como " +"diccionarios, para los cuales :keyword:`!in` comprueba si un diccionario " +"tiene una clave dada. Para tipos contenedores como list, tuple, set, " +"frozenset, dict o collections.deque, la expresión ``x in y`` es equivalente " +"a ``any(x is e or x == e for e in y)``." #: ../Doc/reference/expressions.rst:1551 msgid "" @@ -1648,6 +2401,11 @@ msgid "" "strings are always considered to be a substring of any other string, so ``" "\"\" in \"abc\"`` will return ``True``." msgstr "" +"Para los tipos cadenas de caracteres y bytes, ``x in y`` es ``True`` si y " +"sólo si *x* es una subcadena de *y*. Una comprobación equivalente es ``y." +"find(x) != -1``. Las cadenas de caracteres vacías siempre son consideradas " +"como subcadenas de cualquier otra cadena de caracteres, por lo que ``\"\" in " +"\"abc\"`` retornará ``True``." #: ../Doc/reference/expressions.rst:1556 msgid "" @@ -1655,6 +2413,9 @@ msgid "" "in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " "``False`` otherwise." msgstr "" +"Para clases definidas por el usuario las cuales definen el método :meth:" +"`__contains__`, ``x in y`` retorna ``True`` si ``y.__contains__(x)`` retorna " +"un valor verdadero y ``False`` si no." #: ../Doc/reference/expressions.rst:1560 msgid "" @@ -1664,6 +2425,12 @@ msgid "" "iterating over ``y``. If an exception is raised during the iteration, it is " "as if :keyword:`in` raised that exception." msgstr "" +"Para clases definidas por el usuario las cuales no definen :meth:" +"`__contains__` pero definen :meth:`__iter__`, ``x in y`` es ``True`` si " +"algún valor ``z``, para el cual la expresión ``x is z or x == z`` es " +"verdadera, es producido iterando sobre ``y``. Si una excepción es generada " +"durante la iteración, es como si :keyword:`in` hubiera generado esa " +"excepción." #: ../Doc/reference/expressions.rst:1566 msgid "" @@ -1673,16 +2440,24 @@ msgid "" "index raises the :exc:`IndexError` exception. (If any other exception is " "raised, it is as if :keyword:`in` raised that exception)." msgstr "" +"Por último, se intenta el protocolo de iteración al estilo antiguo: si una " +"clase define :meth:`__getitem__`, ``x in y`` es ``True`` si y sólo si hay un " +"índice entero no negativo *i* tal que ``x is y[i] or x == y[i]`` y ningún " +"entero menor genera la excepción :exc:`IndexError`. (Si cualquier otra " +"excepción es generada, es como si :keyword:`in` hubiera generado esa " +"excepción)." #: ../Doc/reference/expressions.rst:1578 msgid "" "The operator :keyword:`not in` is defined to have the inverse truth value " "of :keyword:`in`." msgstr "" +"El operador :keyword:`not in` es definido para tener el valor de veracidad " +"inverso de :keyword:`in`." #: ../Doc/reference/expressions.rst:1591 msgid "Identity comparisons" -msgstr "" +msgstr "Comparaciones de identidad" #: ../Doc/reference/expressions.rst:1593 msgid "" @@ -1691,10 +2466,14 @@ msgid "" "object. An Object's identity is determined using the :meth:`id` function. " "``x is not y`` yields the inverse truth value. [#]_" msgstr "" +"Los operadores :keyword:`is` y :keyword:`is not` comprueban la identidad de " +"un objeto. ``x is y`` es verdadero si y sólo si *x* e *y* son el mismo " +"objeto. La identidad de un Objeto se determina usando la función :meth:`id`. " +"``x is not y`` produce el valor de veracidad inverso. [#]_" #: ../Doc/reference/expressions.rst:1605 msgid "Boolean operations" -msgstr "" +msgstr "Operaciones booleanas" #: ../Doc/reference/expressions.rst:1616 msgid "" @@ -1706,24 +2485,38 @@ msgid "" "objects can customize their truth value by providing a :meth:`__bool__` " "method." msgstr "" +"En el contexto de las operaciones booleanas y también cuando sentencias de " +"control de flujo usan expresiones, los siguientes valores se interpretan " +"como falsos: ``False``, ``None``, ceros numéricos de todos los tipos y " +"cadenas de caracteres y contenedores vacíos (incluyendo cadenas de " +"caracteres, tuplas, diccionarios, conjuntos y conjuntos congelados). Todos " +"los otros valores son interpretados como verdaderos. Los objetos definidos " +"por el usuario pueden personalizar su valor de veracidad proveyendo un " +"método :meth:`__bool__`." #: ../Doc/reference/expressions.rst:1625 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." msgstr "" +"El operador :keyword:`not` produce ``True`` si su argumento es falso, " +"``False`` si no." #: ../Doc/reference/expressions.rst:1630 msgid "" "The expression ``x and y`` first evaluates *x*; if *x* is false, its value " "is returned; otherwise, *y* is evaluated and the resulting value is returned." msgstr "" +"La expresión ``x and y`` primero evalúa *x*; si *x* es falso, se retorna su " +"valor; de otra forma, *y* es evaluado y se retorna el valor resultante." #: ../Doc/reference/expressions.rst:1635 msgid "" "The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " "returned; otherwise, *y* is evaluated and the resulting value is returned." msgstr "" +"La expresión ``x or y`` primero evalúa *x*; si *x* es verdadero, se retorna " +"su valor; de otra forma, *y* es evaluado y se retorna el valor resultante." #: ../Doc/reference/expressions.rst:1638 msgid "" @@ -1735,24 +2528,34 @@ msgid "" "create a new value, it returns a boolean value regardless of the type of its " "argument (for example, ``not 'foo'`` produces ``False`` rather than ``''``.)" msgstr "" +"Tenga en cuenta que ni :keyword:`and` ni :keyword:`or` restringen el valor y " +"el tipo que retornan a ``False`` y ``True``, sino retornan el último " +"argumento evaluado. Esto es útil a veces, ej., si ``s`` es una cadena de " +"caracteres que debe ser remplazada por un valor predeterminado si está " +"vacía, la expresión ``s or 'foo'`` produce el valor deseado. Debido a que :" +"keyword:`not` tiene que crear un nuevo valor, retorna un valor booleano " +"indiferentemente del tipo de su argumento (por ejemplo, ``not 'foo'`` " +"produce ``False`` en lugar de ``''``.)" #: ../Doc/reference/expressions.rst:1648 msgid "Assignment expressions" -msgstr "" +msgstr "Expresiones de asignación" #: ../Doc/reference/expressions.rst:1655 msgid "See :pep:`572` for more details about assignment expressions." -msgstr "" +msgstr "Vea :pep:`572` para más detalles sobre las expresiones de asignación." #: ../Doc/reference/expressions.rst:1661 msgid "Conditional expressions" -msgstr "" +msgstr "Expresiones condicionales" #: ../Doc/reference/expressions.rst:1674 msgid "" "Conditional expressions (sometimes called a \"ternary operator\") have the " "lowest priority of all Python operations." msgstr "" +"Las expresiones condicionales (a veces denominadas un \"operador ternario\") " +"tienen la prioridad más baja que todas las operaciones de Python." #: ../Doc/reference/expressions.rst:1677 msgid "" @@ -1760,14 +2563,17 @@ msgid "" "than *x*. If *C* is true, *x* is evaluated and its value is returned; " "otherwise, *y* is evaluated and its value is returned." msgstr "" +"La expresión ``x if C else y`` primero evalúa la condición, *C* en lugar de " +"*x*. Si *C* es verdadero, *x* es evaluado y se retorna su valor; en caso " +"contrario, *y* es evaluado y se retorna su valor." #: ../Doc/reference/expressions.rst:1681 msgid "See :pep:`308` for more details about conditional expressions." -msgstr "" +msgstr "Vea :pep:`308` para más detalles sobre expresiones condicionales." #: ../Doc/reference/expressions.rst:1688 msgid "Lambdas" -msgstr "" +msgstr "Lambdas" #: ../Doc/reference/expressions.rst:1700 msgid "" @@ -1776,6 +2582,10 @@ msgid "" "a function object. The unnamed object behaves like a function object " "defined with:" msgstr "" +"Las expresiones lambda (a veces denominadas formas lambda) son usadas para " +"crear funciones anónimas. La expresión ``lambda parameters: expression`` " +"produce un objeto de función. El objeto sin nombre se comporta como un " +"objeto función con:" #: ../Doc/reference/expressions.rst:1709 msgid "" @@ -1783,10 +2593,13 @@ msgid "" "functions created with lambda expressions cannot contain statements or " "annotations." msgstr "" +"Vea la sección :ref:`function` para la sintaxis de listas de parámetros. " +"Tenga en cuenta que las funciones creadas con expresiones lambda no pueden " +"contener sentencias ni anotaciones." #: ../Doc/reference/expressions.rst:1717 msgid "Expression lists" -msgstr "" +msgstr "Listas de expresiones" #: ../Doc/reference/expressions.rst:1731 msgid "" @@ -1794,6 +2607,10 @@ msgid "" "least one comma yields a tuple. The length of the tuple is the number of " "expressions in the list. The expressions are evaluated from left to right." msgstr "" +"Excepto cuando son parte de un despliegue de lista o conjunto, una lista de " +"expresión conteniendo al menos una coma produce una tupla. El largo de la " +"tupla es el número de expresiones en la lista. Las expresiones son evaluadas " +"de izquierda a derecha." #: ../Doc/reference/expressions.rst:1740 msgid "" @@ -1802,11 +2619,17 @@ msgid "" "which are included in the new tuple, list, or set, at the site of the " "unpacking." msgstr "" +"Un asterisco ``*`` denota :dfn:`iterable unpacking`. Su operando deben ser " +"un :term:`iterable`. El iterable es expandido en una secuencia de elementos, " +"los cuales son incluidos en la nueva tupla, lista o conjunto en el lugar del " +"desempaquetado." #: ../Doc/reference/expressions.rst:1745 msgid "" "Iterable unpacking in expression lists, originally proposed by :pep:`448`." msgstr "" +"Desempaquetado iterable en listas de expresiones, originalmente propuesto " +"por :pep:`488`." #: ../Doc/reference/expressions.rst:1750 msgid "" @@ -1816,10 +2639,15 @@ msgid "" "of that expression. (To create an empty tuple, use an empty pair of " "parentheses: ``()``.)" msgstr "" +"La coma final sólo es requerida para crear una tupla única (también " +"denominada un *singleton*); es opcional en todos los otros casos. Una única " +"expresión sin una coma final no crea una tupla, si no produce el valor de " +"esa expresion. (Para crear una tupla vacía, usa un par de paréntesis vacío: " +"``()``.)" #: ../Doc/reference/expressions.rst:1760 msgid "Evaluation order" -msgstr "" +msgstr "Orden de evaluación" #: ../Doc/reference/expressions.rst:1764 msgid "" @@ -1827,16 +2655,21 @@ msgid "" "evaluating an assignment, the right-hand side is evaluated before the left-" "hand side." msgstr "" +"Python evalúa las expresiones de izquierda a derecha. Note que mientras se " +"evalúa una asignación, la parte derecha es evaluada antes que la parte " +"izquierda." #: ../Doc/reference/expressions.rst:1767 msgid "" "In the following lines, expressions will be evaluated in the arithmetic " "order of their suffixes::" msgstr "" +"En las siguientes líneas, las expresiones serán evaluadas en el orden " +"aritmético de sus sufijos::" #: ../Doc/reference/expressions.rst:1781 msgid "Operator precedence" -msgstr "" +msgstr "Prioridad de operador" #: ../Doc/reference/expressions.rst:1786 msgid "" @@ -1846,6 +2679,12 @@ msgid "" "explicitly given, operators are binary. Operators in the same box group " "left to right (except for exponentiation, which groups from right to left)." msgstr "" +"La siguiente tabla resume la prioridad de operador en Python, desde la " +"prioridad más baja (menos vinculante) a la prioridad más alta (más " +"vinculante). Operadores en la misma caja tienen la misma prioridad. A no ser " +"que la sintaxis sea dada explícitamente, los operadores son binarios. Los " +"operadores en la misma caja, de izquierda a derecha (excepto para " +"exponenciación, cuyos grupos de derecha a izquierda)." #: ../Doc/reference/expressions.rst:1792 msgid "" @@ -1853,168 +2692,178 @@ msgid "" "same precedence and have a left-to-right chaining feature as described in " "the :ref:`comparisons` section." msgstr "" +"Tenga en cuenta que las comparaciones, comprobaciones de membresía y las " +"comprobaciones de identidad tienen la misma prioridad y una característica " +"de encadenado de izquierda a derecha como son descritas en la sección :ref:" +"`comparisons`." #: ../Doc/reference/expressions.rst:1798 msgid "Operator" -msgstr "" +msgstr "Operador" #: ../Doc/reference/expressions.rst:1798 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/reference/expressions.rst:1800 msgid "``:=``" -msgstr "" +msgstr "``:=``" #: ../Doc/reference/expressions.rst:1800 msgid "Assignment expression" -msgstr "" +msgstr "Expresión de asignación" #: ../Doc/reference/expressions.rst:1802 msgid ":keyword:`lambda`" -msgstr "" +msgstr ":keyword:`lambda`" #: ../Doc/reference/expressions.rst:1802 msgid "Lambda expression" -msgstr "" +msgstr "Expresión lambda" #: ../Doc/reference/expressions.rst:1804 msgid ":keyword:`if ` -- :keyword:`!else`" -msgstr "" +msgstr ":keyword:`if ` -- :keyword:`!else`" #: ../Doc/reference/expressions.rst:1804 msgid "Conditional expression" -msgstr "" +msgstr "Expresión condicional" #: ../Doc/reference/expressions.rst:1806 msgid ":keyword:`or`" -msgstr "" +msgstr ":keyword:`or`" #: ../Doc/reference/expressions.rst:1806 msgid "Boolean OR" -msgstr "" +msgstr "Booleano OR" #: ../Doc/reference/expressions.rst:1808 msgid ":keyword:`and`" -msgstr "" +msgstr ":keyword:`and`" #: ../Doc/reference/expressions.rst:1808 msgid "Boolean AND" -msgstr "" +msgstr "Booleano AND" #: ../Doc/reference/expressions.rst:1810 msgid ":keyword:`not` ``x``" -msgstr "" +msgstr ":keyword:`not` ``x``" #: ../Doc/reference/expressions.rst:1810 msgid "Boolean NOT" -msgstr "" +msgstr "Booleano NOT" #: ../Doc/reference/expressions.rst:1812 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" msgstr "" +":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " +"``<=``, ``>``, ``>=``, ``!=``, ``==``" #: ../Doc/reference/expressions.rst:1812 msgid "Comparisons, including membership tests and identity tests" -msgstr "" +msgstr "Comparaciones, incluyendo comprobaciones de membresía y de identidad" #: ../Doc/reference/expressions.rst:1816 msgid "``|``" -msgstr "" +msgstr "``|``" #: ../Doc/reference/expressions.rst:1816 msgid "Bitwise OR" -msgstr "" +msgstr "OR bit a bit" #: ../Doc/reference/expressions.rst:1818 msgid "``^``" -msgstr "" +msgstr "``^``" #: ../Doc/reference/expressions.rst:1818 msgid "Bitwise XOR" -msgstr "" +msgstr "XOR bit a bit" #: ../Doc/reference/expressions.rst:1820 msgid "``&``" -msgstr "" +msgstr "``&``" #: ../Doc/reference/expressions.rst:1820 msgid "Bitwise AND" -msgstr "" +msgstr "AND bit a bit" #: ../Doc/reference/expressions.rst:1822 msgid "``<<``, ``>>``" -msgstr "" +msgstr "``<<``, ``>>``" #: ../Doc/reference/expressions.rst:1822 msgid "Shifts" -msgstr "" +msgstr "Desplazamientos" #: ../Doc/reference/expressions.rst:1824 msgid "``+``, ``-``" -msgstr "" +msgstr "``+``, ``-``" #: ../Doc/reference/expressions.rst:1824 msgid "Addition and subtraction" -msgstr "" +msgstr "Adición y sustracción" #: ../Doc/reference/expressions.rst:1826 msgid "``*``, ``@``, ``/``, ``//``, ``%``" -msgstr "" +msgstr "``*``, ``@``, ``/``, ``//``, ``%``" #: ../Doc/reference/expressions.rst:1826 msgid "" "Multiplication, matrix multiplication, division, floor division, remainder " "[#]_" msgstr "" +"Multiplicación, multiplicación de matrices, división, división de redondeo, " +"resto [#]_" #: ../Doc/reference/expressions.rst:1830 msgid "``+x``, ``-x``, ``~x``" -msgstr "" +msgstr "``+x``, ``-x``, ``~x``" #: ../Doc/reference/expressions.rst:1830 msgid "Positive, negative, bitwise NOT" -msgstr "" +msgstr "NOT positivo, negativo, bit a bit" #: ../Doc/reference/expressions.rst:1832 msgid "``**``" -msgstr "" +msgstr "``**``" #: ../Doc/reference/expressions.rst:1832 msgid "Exponentiation [#]_" -msgstr "" +msgstr "Exponenciación [#]_" #: ../Doc/reference/expressions.rst:1834 msgid ":keyword:`await` ``x``" -msgstr "" +msgstr ":keyword:`await` ``x``" #: ../Doc/reference/expressions.rst:1836 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" -msgstr "" +msgstr "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" #: ../Doc/reference/expressions.rst:1836 msgid "Subscription, slicing, call, attribute reference" -msgstr "" +msgstr "Subscripción, segmentación, invocación, referencia de atributo" #: ../Doc/reference/expressions.rst:1839 msgid "``(expressions...)``," -msgstr "" +msgstr "``(expressions...)``," #: ../Doc/reference/expressions.rst:1841 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" -msgstr "" +msgstr "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" #: ../Doc/reference/expressions.rst:1839 msgid "" "Binding or parenthesized expression, list display, dictionary display, set " "display" msgstr "" +"Expresión de enlace o entre paréntesis, despliegues de lista, diccionario y " +"conjunto" #: ../Doc/reference/expressions.rst:1848 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie" #: ../Doc/reference/expressions.rst:1849 #, python-format @@ -2028,6 +2877,15 @@ msgid "" "the first argument instead, and so returns ``-1e-100`` in this case. Which " "approach is more appropriate depends on the application." msgstr "" +"Mientras ``abs(x%y) < abs(y)`` es matemáticamente verdadero, para números de " +"punto flotante puede no ser verdadero numéricamente debido al redondeo. Por " +"ejemplo, y asumiendo una plataforma en la cual un número de punto flotante " +"de Python es un número de doble precisión IEEE 754, a fin de que ``-1e-100 % " +"1e100`` tenga el mismo signo que ``1e100``, el resultado calculado es " +"``-1e-100 + 1e100``, el cual es numéricamente exactamente igual a ``1e100``. " +"La función :func:`math.fmod` retorna un resultado cuyo signo concuerda con " +"el signo del primer argumento en su lugar, y por ello retorna ``-1e-100`` en " +"este caso. La aproximación más apropiada depende de su aplicación." #: ../Doc/reference/expressions.rst:1858 msgid "" @@ -2036,6 +2894,10 @@ msgid "" "Python returns the latter result, in order to preserve that ``divmod(x,y)[0] " "* y + x % y`` be very close to ``x``." msgstr "" +"Si x está muy cerca de un entero exacto múltiple de y, es posible para ``x//" +"y`` que sea uno mayor que ``(x-x%y)//y`` debido al redondeo. En tales casos, " +"Python retorna el último resultado, a fin de preservar que ``divmod(x,y)[0] " +"* y + x % y`` sea muy cercano a ``x``." #: ../Doc/reference/expressions.rst:1863 msgid "" @@ -2050,6 +2912,17 @@ msgid "" "LETTER C), followed by a :dfn:`combining character` at code position U+0327 " "(COMBINING CEDILLA)." msgstr "" +"El estándar Unicode distingue entre :dfn:`code points` (ej. U+0041) y :dfn:" +"`abstract characters` (ej. \"LETRA MAYÚSCULA LATINA A\"). Mientras la " +"mayoría de caracteres abstractos en Unicode sólo son representados usando un " +"punto de código, hay un número de caracteres abstractos que pueden " +"adicionalmente ser representados usado una secuencia de más de un punto de " +"código. Por ejemplo, el caracter abstracto \"LETRA MAYÚSCULA C LATINA CON " +"CEDILLA\" puede ser representado como un único :dfn:`precomposed character` " +"en la posición de código U+00C7, o como una secuencia de un :dfn:`base " +"character` en la posición de código U+0043 (LETRA MAYÚSCULA C LATINA), " +"seguida de un :dfn:`combining character` en la posición de código U+0327 " +"(CEDILLA COMBINADA)." #: ../Doc/reference/expressions.rst:1874 msgid "" @@ -2058,12 +2931,19 @@ msgid "" "== \"\\u0043\\u0327\"`` is ``False``, even though both strings represent the " "same abstract character \"LATIN CAPITAL LETTER C WITH CEDILLA\"." msgstr "" +"Los operadores de comparación comparan en cadenas de caracteres al nivel de " +"puntos de código Unicode. Esto puede ser contraintuitivo para humanos. Por " +"ejemplo, ``\"\\u00C7\" == \"\\u0043\\u0327\"`` es ``False``, incluso aunque " +"ambas cadenas presenten el mismo caracter abstracto \"LETRA MAYÚSCULA C " +"LATINA CON CEDILLA\"." #: ../Doc/reference/expressions.rst:1879 msgid "" "To compare strings at the level of abstract characters (that is, in a way " "intuitive to humans), use :func:`unicodedata.normalize`." msgstr "" +"Para comparar cadenas al nivel de caracteres abstractos (esto es, de una " +"forma intuitiva para humanos), usa :func:`unicodedata.normalize`." #: ../Doc/reference/expressions.rst:1882 msgid "" @@ -2072,15 +2952,25 @@ msgid "" "the :keyword:`is` operator, like those involving comparisons between " "instance methods, or constants. Check their documentation for more info." msgstr "" +"Debido a la recolección automática de basura, listas libres y a la " +"naturaleza dinámica de los descriptores, puede notar un comportamiento " +"aparentemente inusual en ciertos usos del operador :keyword:`is`, como " +"aquellos involucrando comparaciones entre métodos de instancia, o " +"constantes. Compruebe su documentación para más información." #: ../Doc/reference/expressions.rst:1887 msgid "" "The ``%`` operator is also used for string formatting; the same precedence " "applies." msgstr "" +"El operador ``%`` también es usado para formateo de cadenas; aplica la misma " +"prioridad." #: ../Doc/reference/expressions.rst:1890 msgid "" "The power operator ``**`` binds less tightly than an arithmetic or bitwise " "unary operator on its right, that is, ``2**-1`` is ``0.5``." msgstr "" +"El operador de potencia ``**`` vincula con menos fuerza que un operador " +"unario aritmético uno bit a bit en su derecha, esto significa que ``2**-1`` " +"is ``0.5``." From fb8c4c6cd673b9cc2738b7723cd70f763410b10a Mon Sep 17 00:00:00 2001 From: VladimirGonzalez <44457258+VladimirGonzalez@users.noreply.github.com> Date: Sun, 20 Dec 2020 18:06:34 -0300 Subject: [PATCH 099/153] Traducido archivo library/socketserver (#1096) --- dictionaries/library_socketserver.txt | 4 + library/socketserver.po | 286 +++++++++++++++++++++++--- 2 files changed, 266 insertions(+), 24 deletions(-) create mode 100644 dictionaries/library_socketserver.txt diff --git a/dictionaries/library_socketserver.txt b/dictionaries/library_socketserver.txt new file mode 100644 index 0000000000..fb0b9318f2 --- /dev/null +++ b/dictionaries/library_socketserver.txt @@ -0,0 +1,4 @@ +síncrona +forking +Forking +síncronos diff --git a/library/socketserver.po b/library/socketserver.po index 2df5359580..addc745561 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -6,37 +6,41 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-20 03:19-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/socketserver.rst:2 msgid ":mod:`socketserver` --- A framework for network servers" -msgstr "" +msgstr ":mod:`socketserver` --- Un framework para servidores de red" #: ../Doc/library/socketserver.rst:7 msgid "**Source code:** :source:`Lib/socketserver.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/socketserver.py`" #: ../Doc/library/socketserver.rst:11 msgid "" "The :mod:`socketserver` module simplifies the task of writing network " "servers." msgstr "" +"El módulo :mod:`socketserver` simplifica la tarea de escribir servidores de " +"red." #: ../Doc/library/socketserver.rst:13 msgid "There are four basic concrete server classes:" -msgstr "" +msgstr "Hay cuatro clases básicas de servidores concretos:" #: ../Doc/library/socketserver.rst:18 msgid "" @@ -46,6 +50,11 @@ msgid "" "and :meth:`~BaseServer.server_activate`. The other parameters are passed to " "the :class:`BaseServer` base class." msgstr "" +"Utiliza el protocolo TCP de Internet, que proporciona flujos continuos de " +"datos entre el cliente y el servidor. Si *bind_and_activate* es verdadero, " +"el constructor automáticamente intenta invocar a :meth:`~BaseServer." +"server_bind` y :meth:`~BaseServer.server_activate`. Los otros parámetros se " +"pasan a la clase base :class:`BaseServer`." #: ../Doc/library/socketserver.rst:28 msgid "" @@ -53,6 +62,9 @@ msgid "" "arrive out of order or be lost while in transit. The parameters are the " "same as for :class:`TCPServer`." msgstr "" +"Esto utiliza datagramas, que son paquetes discretos de información que " +"pueden llegar fuera de servicio o perderse durante el tránsito. Los " +"parámetros son los mismos que para :class:`TCPServer`." #: ../Doc/library/socketserver.rst:36 msgid "" @@ -60,6 +72,10 @@ msgid "" "but use Unix domain sockets; they're not available on non-Unix platforms. " "The parameters are the same as for :class:`TCPServer`." msgstr "" +"Estas clases que se usan con menos frecuencia son similares a las clases TCP " +"y UDP, pero usan sockets de dominio Unix; no están disponibles en " +"plataformas que no sean Unix. Los parámetros son los mismos que para :class:" +"`TCPServer`." #: ../Doc/library/socketserver.rst:42 msgid "" @@ -71,6 +87,13 @@ msgid "" "each request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` mix-in " "classes can be used to support asynchronous behaviour." msgstr "" +"Estas cuatro clases procesan solicitudes :dfn:`sincrónicamente`; cada " +"solicitud debe completarse antes de que se pueda iniciar la siguiente. Esto " +"no es adecuado si cada solicitud tarda mucho en completarse, porque requiere " +"mucho cálculo o porque retorna muchos datos que el cliente tarda en " +"procesar. La solución es crear un proceso o hilo independiente para manejar " +"cada solicitud; las clases mixtas :class:`ForkingMixIn` y :class:" +"`ThreadingMixIn` pueden usarse para soportar el comportamiento asincrónico." #: ../Doc/library/socketserver.rst:50 msgid "" @@ -85,6 +108,17 @@ msgid "" "meth:`~BaseServer.server_close` to close the socket (unless you used a :" "keyword:`!with` statement)." msgstr "" +"La creación de un servidor requiere varios pasos. Primero, debes crear una " +"clase de controlador de solicitudes subclasificando la clase :class:" +"`BaseRequestHandler` y anulando su método :meth:`~BaseRequestHandler." +"handle`; este método procesará las solicitudes entrantes. En segundo lugar, " +"debe crear una instancia de una de las clases de servidor, pasándole la " +"dirección del servidor y la clase del controlador de solicitudes. Se " +"recomienda utilizar el servidor en una declaración :keyword:`with`. Luego " +"llame al método :meth:`~BaseServer.handle_request` o :meth:`~BaseServer." +"serve_forever` del objeto de servidor para procesar una o muchas " +"solicitudes. Finalmente, llame a :meth:`~BaseServer.server_close` para " +"cerrar el socket (a menos que haya usado una :keyword:`!with` declaración)." #: ../Doc/library/socketserver.rst:62 msgid "" @@ -97,22 +131,34 @@ msgid "" "meaning that Python will not exit until all threads created by :class:" "`ThreadingMixIn` have exited." msgstr "" +"Al heredar de :class:`ThreadingMixIn` para el comportamiento de la conexión " +"con subprocesos, debe declarar explícitamente cómo desea que se comporten " +"sus subprocesos en un cierre abrupto. La clase :class:`ThreadingMixIn` " +"define un atributo *daemon_threads*, que indica si el servidor debe esperar " +"o no la terminación del hilo. Debe establecer la bandera explícitamente si " +"desea que los subprocesos se comporten de forma autónoma; el valor " +"predeterminado es :const:`False`, lo que significa que Python no se cerrará " +"hasta que todos los hilos creados por :class:`ThreadingMixIn` hayan salido." #: ../Doc/library/socketserver.rst:71 msgid "" "Server classes have the same external methods and attributes, no matter what " "network protocol they use." msgstr "" +"Las clases de servidor tienen los mismos métodos y atributos externos, " +"independientemente del protocolo de red que utilicen." #: ../Doc/library/socketserver.rst:76 msgid "Server Creation Notes" -msgstr "" +msgstr "Notas de creación del servidor" #: ../Doc/library/socketserver.rst:78 msgid "" "There are five classes in an inheritance diagram, four of which represent " "synchronous servers of four types::" msgstr "" +"Hay cinco clases en un diagrama de herencia, cuatro de las cuales " +"representan servidores síncronos de cuatro tipos:" #: ../Doc/library/socketserver.rst:95 msgid "" @@ -121,6 +167,10 @@ msgid "" "Unix stream server is the address family, which is simply repeated in both " "Unix server classes." msgstr "" +"Tenga en cuenta que :class:`UnixDatagramServer` deriva de :class:" +"`UDPServer`, no de :class:`UnixStreamServer` --- la única diferencia entre " +"una IP y un servidor de flujo Unix es la familia de direcciones, que " +"simplemente se repite en ambos Clases de servidor Unix." #: ../Doc/library/socketserver.rst:104 msgid "" @@ -128,6 +178,9 @@ msgid "" "these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " "as follows::" msgstr "" +"Se pueden crear versiones de Forking y threading de cada tipo de servidor " +"utilizando estas clases mixtas. Por ejemplo, :class:`ThreadingUDPServer` se " +"crea de la siguiente manera:" #: ../Doc/library/socketserver.rst:111 msgid "" @@ -135,12 +188,17 @@ msgid "" "`UDPServer`. Setting the various attributes also changes the behavior of " "the underlying server mechanism." msgstr "" +"La clase de mezcla es lo primero, ya que anula un método definido en :class:" +"`UDPServer`. La configuración de los distintos atributos también cambia el " +"comportamiento del mecanismo del servidor subyacente." #: ../Doc/library/socketserver.rst:115 msgid "" ":class:`ForkingMixIn` and the Forking classes mentioned below are only " "available on POSIX platforms that support :func:`~os.fork`." msgstr "" +":class:`ForkingMixIn` y las clases de Forking mencionadas a continuación " +"solo están disponibles en plataformas POSIX que admiten :func:`os.fork`." #: ../Doc/library/socketserver.rst:118 msgid "" @@ -148,6 +206,9 @@ msgid "" "processes complete, except if :attr:`socketserver.ForkingMixIn." "block_on_close` attribute is false." msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` espera hasta que se completen " +"todos los procesos secundarios, excepto si :attr:`socketserver.ForkingMixIn." +"block_on_close` atributo es falso." #: ../Doc/library/socketserver.rst:122 msgid "" @@ -157,6 +218,11 @@ msgid "" "`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads " "complete." msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` espera hasta que se " +"completen todos los subprocesos que no son demonios, excepto si el atributo :" +"attr:`socketserver.ThreadingMixIn.block_on_close` es falso. Use subprocesos " +"demoníacos configurando :data:`ThreadingMixIn.daemon_threads` en " +"``Verdadero`` para no esperar hasta que se completen los subprocesos." #: ../Doc/library/socketserver.rst:131 msgid "" @@ -165,10 +231,15 @@ msgid "" "daemonic threads complete. Add a new :attr:`socketserver.ForkingMixIn." "block_on_close` class attribute to opt-in for the pre-3.7 behaviour." msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` y :meth:`socketserver." +"ThreadingMixIn.server_close` ahora espera hasta que se completen todos los " +"procesos secundarios y los subprocesos no demoníacos. Agregue un nuevo " +"atributo de clase :attr:`socketserver.ForkingMixIn.block_on_close` para " +"optar por el comportamiento anterior a 3.7." #: ../Doc/library/socketserver.rst:143 msgid "These classes are pre-defined using the mix-in classes." -msgstr "" +msgstr "Estas clases están predefinidas utilizando las clases mixtas." #: ../Doc/library/socketserver.rst:146 msgid "" @@ -180,6 +251,13 @@ msgid "" "by using the handler subclasses :class:`StreamRequestHandler` or :class:" "`DatagramRequestHandler`." msgstr "" +"Para implementar un servicio, debes derivar una clase de :class:" +"`BaseRequestHandler` y redefinir su método :meth:`~BaseRequestHandler." +"handle`. Luego, puede ejecutar varias versiones del servicio combinando una " +"de las clases de servidor con su clase de controlador de solicitudes. La " +"clase del controlador de solicitudes debe ser diferente para los servicios " +"de datagramas o flujos. Esto se puede ocultar usando las subclases del " +"controlador :class:`StreamRequestHandler` o :class:`DatagramRequestHandler`." #: ../Doc/library/socketserver.rst:154 msgid "" @@ -190,6 +268,13 @@ msgid "" "each child. In this case, you can use a threading server, but you will " "probably have to use locks to protect the integrity of the shared data." msgstr "" +"Por supuesto, ¡todavía tienes que usar la cabeza! Por ejemplo, no tiene " +"sentido usar un servidor de bifurcación si el servicio contiene un estado en " +"la memoria que puede ser modificado por diferentes solicitudes, ya que las " +"modificaciones en el proceso hijo nunca alcanzarían el estado inicial que se " +"mantiene en el proceso padre y se pasa a cada hijo. En este caso, puede usar " +"un servidor de subprocesos, pero probablemente tendrá que usar bloqueos para " +"proteger la integridad de los datos compartidos." #: ../Doc/library/socketserver.rst:161 msgid "" @@ -200,6 +285,12 @@ msgid "" "all the data it has requested. Here a threading or forking server is " "appropriate." msgstr "" +"Por otro lado, si está creando un servidor HTTP donde todos los datos se " +"almacenan externamente (por ejemplo, en el sistema de archivos), una clase " +"síncrona esencialmente hará que el servicio sea \"sordo\" mientras se maneja " +"una solicitud, que puede ser durante mucho tiempo si un cliente tarda en " +"recibir todos los datos que ha solicitado. Aquí es apropiado un servidor de " +"enhebrado o bifurcación." #: ../Doc/library/socketserver.rst:167 msgid "" @@ -209,6 +300,11 @@ msgid "" "doing an explicit fork in the request handler class :meth:" "`~BaseRequestHandler.handle` method." msgstr "" +"En algunos casos, puede ser apropiado procesar parte de una solicitud de " +"forma síncrona, pero para finalizar el procesamiento en un hijo bifurcado " +"según los datos de la solicitud. Esto se puede implementar usando un " +"servidor sincrónico y haciendo un fork explicito en la clase del controlador " +"de solicitudes el método :meth:`~BaseRequestHandler.handle`." #: ../Doc/library/socketserver.rst:172 msgid "" @@ -222,10 +318,19 @@ msgid "" "subprocesses cannot be used). See :mod:`asyncore` for another way to manage " "this." msgstr "" +"Otro enfoque para manejar múltiples solicitudes simultáneas en un entorno " +"que no admite subprocesos ni :func:`~os.fork` (o donde estos son demasiado " +"costosos o inapropiados para el servicio) es mantener una tabla explícita de " +"solicitudes parcialmente terminadas y utilizar :mod:`selectors` para decidir " +"en qué solicitud trabajar a continuación (o si manejar una nueva solicitud " +"entrante). Esto es particularmente importante para los servicios de " +"transmisión en los que cada cliente puede potencialmente estar conectado " +"durante mucho tiempo (si no se pueden utilizar subprocesos o subprocesos). " +"Consulte :mod:`asyncore` para ver otra forma de gestionar esto." #: ../Doc/library/socketserver.rst:186 msgid "Server Objects" -msgstr "" +msgstr "Objetos de servidor" #: ../Doc/library/socketserver.rst:190 msgid "" @@ -234,6 +339,11 @@ msgid "" "done in subclasses. The two parameters are stored in the respective :attr:" "`server_address` and :attr:`RequestHandlerClass` attributes." msgstr "" +"Esta es la superclase de todos los objetos de servidor en el módulo. Define " +"la interfaz, que se indica a continuación, pero no implementa la mayoría de " +"los métodos, que se realiza en subclases. Los dos parámetros se almacenan en " +"los atributos respectivos :attr:`server_address` y :attr:" +"`RequestHandlerClass`." #: ../Doc/library/socketserver.rst:198 msgid "" @@ -241,6 +351,9 @@ msgid "" "listening. This function is most commonly passed to :mod:`selectors`, to " "allow monitoring multiple servers in the same process." msgstr "" +"Retorna un descriptor de archivo entero para el socket en el que escucha el " +"servidor. Esta función se pasa comúnmente a :mod:`selectors`, para permitir " +"monitorear múltiples servidores en el mismo proceso." #: ../Doc/library/socketserver.rst:205 msgid "" @@ -252,6 +365,13 @@ msgid "" "attr:`timeout` seconds, :meth:`handle_timeout` will be called and :meth:" "`handle_request` will return." msgstr "" +"Procese una sola solicitud. Esta función llama a los siguientes métodos en " +"orden: :meth:`get_request`, :meth:`verify_request`, y :meth:" +"`process_request`. Si el método proporcionado por el usuario :meth:" +"`~BaseRequestHandler.handle` de la clase del controlador lanza una " +"excepción, se llamará al método :meth:`handle_error` del servidor. Si no se " +"recibe ninguna solicitud en :attr:`timeout` segundos, se llamará a :meth:" +"`handle_timeout` y :meth:`handle_request` regresará." #: ../Doc/library/socketserver.rst:217 msgid "" @@ -262,10 +382,16 @@ msgid "" "example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to " "clean up zombie child processes." msgstr "" +"Manejar solicitudes hasta una solicitud explícita :meth:`shutdown`. Sondeo " +"de apagado cada *poll_interval* segundos. Ignora el atributo :attr:" +"`timeout`. También llama :meth:`service_actions`, que puede ser utilizado " +"por una subclase o mixin para proporcionar acciones específicas para un " +"servicio dado. Por ejemplo, la clase :class:`ForkingMixIn` usa :meth:" +"`service_actions` para limpiar procesos secundarios zombies." #: ../Doc/library/socketserver.rst:225 msgid "Added ``service_actions`` call to the ``serve_forever`` method." -msgstr "" +msgstr "Se agregó la llamada ``service_actions`` al método ``serve_forever``." #: ../Doc/library/socketserver.rst:231 msgid "" @@ -273,6 +399,9 @@ msgid "" "overridden by subclasses or mixin classes to perform actions specific to a " "given service, such as cleanup actions." msgstr "" +"Esto se llama en el ciclo :meth:`serve_forever`. Este método puede ser " +"reemplazado por subclases o clases mixtas para realizar acciones específicas " +"para un servicio dado, como acciones de limpieza." #: ../Doc/library/socketserver.rst:239 msgid "" @@ -280,22 +409,29 @@ msgid "" "`shutdown` must be called while :meth:`serve_forever` is running in a " "different thread otherwise it will deadlock." msgstr "" +"Dile al bucle :meth:`serve_forever` que se detenga y espere hasta que lo " +"haga. :meth:`shutdown` debe llamarse mientras :meth:`serve_forever` se está " +"ejecutando en un hilo diferente, de lo contrario, se bloqueará." #: ../Doc/library/socketserver.rst:246 msgid "Clean up the server. May be overridden." -msgstr "" +msgstr "Limpiar el servidor. Puede ser sobrescrito." #: ../Doc/library/socketserver.rst:251 msgid "" "The family of protocols to which the server's socket belongs. Common " "examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`." msgstr "" +"La familia de protocolos a la que pertenece el socket del servidor. Algunos " +"ejemplos comunes son :const:`socket.AF_INET` y :const:`socket.AF_UNIX`." #: ../Doc/library/socketserver.rst:257 msgid "" "The user-provided request handler class; an instance of this class is " "created for each request." msgstr "" +"La clase de controlador de solicitudes proporcionada por el usuario; se crea " +"una instancia de esta clase para cada solicitud." #: ../Doc/library/socketserver.rst:263 msgid "" @@ -305,21 +441,31 @@ msgid "" "containing a string giving the address, and an integer port number: " "``('127.0.0.1', 80)``, for example." msgstr "" +"La dirección en la que escucha el servidor. El formato de las direcciones " +"varía según la familia de protocolos; consulte la documentación del módulo :" +"mod:`socket` para obtener más detalles. Para los protocolos de Internet, " +"esta es una tupla que contiene una cadena que proporciona la dirección y un " +"número de puerto entero: ``('127.0.0.1', 80)``, por ejemplo." #: ../Doc/library/socketserver.rst:272 msgid "" "The socket object on which the server will listen for incoming requests." msgstr "" +"El objeto de socket en el que el servidor escuchará las solicitudes " +"entrantes." #: ../Doc/library/socketserver.rst:275 msgid "The server classes support the following class variables:" -msgstr "" +msgstr "Las clases de servidor admiten las siguientes variables de clase:" #: ../Doc/library/socketserver.rst:281 msgid "" "Whether the server will allow the reuse of an address. This defaults to :" "const:`False`, and can be set in subclasses to change the policy." msgstr "" +"Si el servidor permitirá la reutilización de una dirección. Este valor " +"predeterminado es :const:`False`, y se puede establecer en subclases para " +"cambiar la política." #: ../Doc/library/socketserver.rst:287 msgid "" @@ -329,12 +475,20 @@ msgid "" "further requests from clients will get a \"Connection denied\" error. The " "default value is usually 5, but this can be overridden by subclasses." msgstr "" +"El tamaño de la cola de solicitudes. Si toma mucho tiempo procesar una sola " +"solicitud, cualquier solicitud que llegue mientras el servidor está ocupado " +"se coloca en una cola, hasta :attr:`request_queue_size`. Una vez que la cola " +"está llena, más solicitudes de clientes obtendrán un error de \"Conexión " +"denegada\". El valor predeterminado suele ser 5, pero las subclases pueden " +"anularlo." #: ../Doc/library/socketserver.rst:296 msgid "" "The type of socket used by the server; :const:`socket.SOCK_STREAM` and :" "const:`socket.SOCK_DGRAM` are two common values." msgstr "" +"El tipo de socket utilizado por el servidor; :const:`socket.SOCK_STREAM` y :" +"const:`socket.SOCK_DGRAM` son dos valores comunes." #: ../Doc/library/socketserver.rst:302 msgid "" @@ -342,6 +496,10 @@ msgid "" "desired. If :meth:`handle_request` receives no incoming requests within the " "timeout period, the :meth:`handle_timeout` method is called." msgstr "" +"Duración del tiempo de espera, medida en segundos, o :const:`None` si no se " +"desea un tiempo de espera. Si :meth:`handle_request` no recibe solicitudes " +"entrantes dentro del período de tiempo de espera, se llama al método :meth:" +"`handle_timeout`." #: ../Doc/library/socketserver.rst:307 msgid "" @@ -349,12 +507,18 @@ msgid "" "base server classes like :class:`TCPServer`; these methods aren't useful to " "external users of the server object." msgstr "" +"Hay varios métodos de servidor que pueden ser anulados por subclases de " +"clases de servidor base como :class:`TCPServer`; estos métodos no son útiles " +"para los usuarios externos del objeto de servidor." #: ../Doc/library/socketserver.rst:316 msgid "" "Actually processes the request by instantiating :attr:`RequestHandlerClass` " "and calling its :meth:`~BaseRequestHandler.handle` method." msgstr "" +"En realidad, procesa la solicitud creando instancias :attr:" +"`RequestHandlerClass` y llamando a su método :meth:`~BaseRequestHandler." +"handle`." #: ../Doc/library/socketserver.rst:322 msgid "" @@ -362,6 +526,9 @@ msgid "" "*new* socket object to be used to communicate with the client, and the " "client's address." msgstr "" +"Debe aceptar una solicitud del socket y retornar una tupla de 2 que contenga " +"el objeto de socket *nuevo* que se utilizará para comunicarse con el cliente " +"y la dirección del cliente." #: ../Doc/library/socketserver.rst:329 msgid "" @@ -370,10 +537,15 @@ msgid "" "action is to print the traceback to standard error and continue handling " "further requests." msgstr "" +"Esta función se llama si el método :meth:`~BaseRequestHandler.handle` de una " +"instancia :attr:`RequestHandlerClass` lanza una excepción. La acción " +"predeterminada es imprimir el rastreo al error estándar y continuar " +"manejando más solicitudes." #: ../Doc/library/socketserver.rst:334 msgid "Now only called for exceptions derived from the :exc:`Exception` class." msgstr "" +"Ahora solo se solicitan excepciones derivadas de la clase :exc:`Exception`." #: ../Doc/library/socketserver.rst:341 msgid "" @@ -383,6 +555,11 @@ msgid "" "collect the status of any child processes that have exited, while in " "threading servers this method does nothing." msgstr "" +"Esta función se llama cuando el atributo :attr:`timeout` se ha establecido " +"en un valor distinto de :const:`None` y el tiempo de espera ha pasado sin " +"que se reciban solicitudes. La acción predeterminada para los servidores de " +"forking es recopilar el estado de cualquier proceso hijo que haya salido, " +"mientras que en los servidores de threading este método no hace nada." #: ../Doc/library/socketserver.rst:350 msgid "" @@ -391,6 +568,10 @@ msgid "" "or thread to handle the request; the :class:`ForkingMixIn` and :class:" "`ThreadingMixIn` classes do this." msgstr "" +"Llama a :meth:`finish_request` para crear una instancia de :attr:" +"`RequestHandlerClass`. Si lo desea, esta función puede crear un nuevo " +"proceso o hilo para manejar la solicitud; las clases :class:`ForkingMixIn` " +"y :class:`ThreadingMixIn` hacen esto." #: ../Doc/library/socketserver.rst:362 msgid "" @@ -398,12 +579,17 @@ msgid "" "behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the " "server's socket. May be overridden." msgstr "" +"Lo llama el constructor del servidor para activar el servidor. El " +"comportamiento predeterminado para un servidor TCP simplemente invoca :meth:" +"`~socket.socket.listen` en el socket del servidor. Puede anularse." #: ../Doc/library/socketserver.rst:369 msgid "" "Called by the server's constructor to bind the socket to the desired " "address. May be overridden." msgstr "" +"Lo llama el constructor del servidor para vincular el socket a la dirección " +"deseada. Puede anularse." #: ../Doc/library/socketserver.rst:375 msgid "" @@ -412,16 +598,22 @@ msgid "" "function can be overridden to implement access controls for a server. The " "default implementation always returns :const:`True`." msgstr "" +"Debe retornar un valor booleano; si el valor es :const:`True`, la solicitud " +"se procesará, y si es :const:`False`, la solicitud será denegada. Esta " +"función se puede anular para implementar controles de acceso para un " +"servidor. La implementación predeterminada siempre retorna :const:`True`." #: ../Doc/library/socketserver.rst:381 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`server_close`." msgstr "" +"Se agregó soporte para el protocolo :term:`context manager`. Salir del " +"administrador de contexto es equivalente a llamar a :meth:`server_close`." #: ../Doc/library/socketserver.rst:387 msgid "Request Handler Objects" -msgstr "" +msgstr "Solicitar objetos de controlador" #: ../Doc/library/socketserver.rst:391 msgid "" @@ -430,12 +622,19 @@ msgid "" "new :meth:`handle` method, and can override any of the other methods. A new " "instance of the subclass is created for each request." msgstr "" +"Esta es la superclase de todos los objetos de manejo de solicitudes. Define " +"la interfaz, que se muestra a continuación. Una subclase de controlador de " +"solicitudes concreta debe definir un nuevo método :meth:`handle` y puede " +"anular cualquiera de los otros métodos. Se crea una nueva instancia de la " +"subclase para cada solicitud." #: ../Doc/library/socketserver.rst:400 msgid "" "Called before the :meth:`handle` method to perform any initialization " "actions required. The default implementation does nothing." msgstr "" +"Se llama antes del método :meth:`handle` para realizar las acciones de " +"inicialización necesarias. La implementación predeterminada no hace nada." #: ../Doc/library/socketserver.rst:406 msgid "" @@ -445,6 +644,12 @@ msgid "" "client address as :attr:`self.client_address`; and the server instance as :" "attr:`self.server`, in case it needs access to per-server information." msgstr "" +"Esta función debe realizar todo el trabajo necesario para atender una " +"solicitud. La implementación predeterminada no hace nada. Dispone de varios " +"atributos de instancia; la solicitud está disponible como :attr:`self." +"request`; la dirección del cliente como :attr:`self.client_address`; y la " +"instancia del servidor como :attr:`self.server`, en caso de que necesite " +"acceder a la información por servidor." #: ../Doc/library/socketserver.rst:412 msgid "" @@ -452,6 +657,10 @@ msgid "" "services. For stream services, :attr:`self.request` is a socket object; for " "datagram services, :attr:`self.request` is a pair of string and socket." msgstr "" +"El tipo de :attr:`self.request` es diferente para datagramas o servicios de " +"flujo. Para los servicios de transmisión, :attr:`self.request` es un objeto " +"de socket; para servicios de datagramas, :attr:`self.request` es un par de " +"string y socket." #: ../Doc/library/socketserver.rst:419 msgid "" @@ -459,6 +668,9 @@ msgid "" "required. The default implementation does nothing. If :meth:`setup` raises " "an exception, this function will not be called." msgstr "" +"Se llama después del método :meth:`handle` para realizar las acciones de " +"limpieza necesarias. La implementación predeterminada no hace nada. Si :meth:" +"`setup` lanza una excepción, no se llamará a esta función." #: ../Doc/library/socketserver.rst:427 msgid "" @@ -468,6 +680,12 @@ msgid "" "`self.rfile` and :attr:`self.wfile` attributes can be read or written, " "respectively, to get the request data or return data to the client." msgstr "" +"Estas subclases :class:`BaseRequestHandler` anulan los métodos :meth:" +"`~BaseRequestHandler.setup` y :meth:`~BaseRequestHandler.finish`, y " +"proporcionan :attr:`self.rfile` y :attr:`self.wfile` atributos. Los " +"atributos :attr:`self.rfile` y :attr:`self.wfile` se pueden leer o escribir, " +"respectivamente, para obtener los datos de la solicitud o retornar los datos " +"al cliente." #: ../Doc/library/socketserver.rst:434 msgid "" @@ -475,24 +693,29 @@ msgid "" "BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler.wfile` " "supports the :class:`io.BufferedIOBase` writable interface." msgstr "" +"Los atributos :attr:`rfile` de ambas clases admiten la interfaz legible :" +"class:`io.BufferedIOBase`, y :attr:`DatagramRequestHandler.wfile` admite la :" +"class:`io.BufferedIOBase` interfaz de escritura." #: ../Doc/library/socketserver.rst:439 msgid "" ":attr:`StreamRequestHandler.wfile` also supports the :class:`io." "BufferedIOBase` writable interface." msgstr "" +":attr:`StreamRequestHandler.wfile` también admite la interfaz de escritura :" +"class:`io.BufferedIOBase`." #: ../Doc/library/socketserver.rst:445 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/socketserver.rst:448 msgid ":class:`socketserver.TCPServer` Example" -msgstr "" +msgstr ":class:`socketserver.TCPServer` Ejemplo" #: ../Doc/library/socketserver.rst:450 ../Doc/library/socketserver.rst:549 msgid "This is the server side::" -msgstr "" +msgstr "Este es el lado del servidor:" #: ../Doc/library/socketserver.rst:480 msgid "" @@ -500,6 +723,9 @@ msgid "" "objects that simplify communication by providing the standard file " "interface)::" msgstr "" +"Una clase de controlador de solicitudes alternativa que hace uso de " +"secuencias (objetos similares a archivos que simplifican la comunicación al " +"proporcionar la interfaz de archivo estándar):" #: ../Doc/library/socketserver.rst:495 msgid "" @@ -508,46 +734,55 @@ msgid "" "while the single ``recv()`` call in the first handler will just return what " "has been sent from the client in one ``sendall()`` call." msgstr "" +"La diferencia es que la llamada ``readline()`` en el segundo controlador " +"llamará a ``recv()`` varias veces hasta que encuentre un carácter de nueva " +"línea, mientras que la llamada única ``recv()`` en el primer controlador " +"simplemente retornará lo que se ha enviado desde el cliente en una llamada " +"``sendall()`` ." #: ../Doc/library/socketserver.rst:501 ../Doc/library/socketserver.rst:573 msgid "This is the client side::" -msgstr "" +msgstr "Este es el lado del cliente:" #: ../Doc/library/socketserver.rst:522 ../Doc/library/socketserver.rst:648 msgid "The output of the example should look something like this:" -msgstr "" +msgstr "La salida del ejemplo debería verse así:" #: ../Doc/library/socketserver.rst:524 msgid "Server:" -msgstr "" +msgstr "Servidor:" #: ../Doc/library/socketserver.rst:534 msgid "Client:" -msgstr "" +msgstr "Cliente:" #: ../Doc/library/socketserver.rst:547 msgid ":class:`socketserver.UDPServer` Example" -msgstr "" +msgstr ":class:`socketserver.UDPServer` Ejemplo" #: ../Doc/library/socketserver.rst:592 msgid "" "The output of the example should look exactly like for the TCP server " "example." msgstr "" +"La salida del ejemplo debería verse exactamente como en el ejemplo del " +"servidor TCP." #: ../Doc/library/socketserver.rst:596 msgid "Asynchronous Mixins" -msgstr "" +msgstr "Mixins asincrónicos" #: ../Doc/library/socketserver.rst:598 msgid "" "To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:" "`ForkingMixIn` classes." msgstr "" +"Para construir controladores asincrónicos, use las clases :class:" +"`ThreadingMixIn` y :class:`ForkingMixIn`." #: ../Doc/library/socketserver.rst:601 msgid "An example for the :class:`ThreadingMixIn` class::" -msgstr "" +msgstr "Un ejemplo para la clase :class:`ThreadingMixIn` class ::" #: ../Doc/library/socketserver.rst:659 msgid "" @@ -555,3 +790,6 @@ msgid "" "server will spawn a new process for each request. Available only on POSIX " "platforms that support :func:`~os.fork`." msgstr "" +"La clase :class:`ForkingMixIn` se usa de la misma manera, excepto que el " +"servidor generará un nuevo proceso para cada solicitud. Disponible solo en " +"plataformas POSIX que admitan :func:`~os.fork`." From 60e7321b5f22d25f77c36502940ea277d09dcd51 Mon Sep 17 00:00:00 2001 From: Juan Carlos Tello Date: Sun, 20 Dec 2020 22:07:13 +0100 Subject: [PATCH 100/153] Traduccion de library/email.utils.po (#1124) --- TRANSLATORS | 4 +- dictionaries/library_email_utils.txt | 3 + library/email.utils.po | 147 +++++++++++++++++++++++++-- 3 files changed, 143 insertions(+), 11 deletions(-) create mode 100644 dictionaries/library_email_utils.txt diff --git a/TRANSLATORS b/TRANSLATORS index 85f9fce61f..c993a00392 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -119,6 +119,8 @@ María Saiz Muñoz (@mariasm87) Sofia Carballo (@sofiacarballo) Alan Verdugo Muñoz (@alanverdugo) Alcides Rivarola (@alcides29) +Juan Carlos Tello (@jctello) +Ricardo Rodríguez (@ricrogz) Daniela Zuluaga Ocampo (@Nany262) Ginés Salar Ibáñez (@Ibnmardanis24) Ana (@popiula) @@ -130,4 +132,4 @@ Endika Gil (@endikagil) Federico Zuccolo (@fzuccolo) Gibran Herrera (@gibranhl) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) -Victor Carlos (@tuxtitlan) \ No newline at end of file +Victor Carlos (@tuxtitlan) diff --git a/dictionaries/library_email_utils.txt b/dictionaries/library_email_utils.txt new file mode 100644 index 0000000000..efc18292b8 --- /dev/null +++ b/dictionaries/library_email_utils.txt @@ -0,0 +1,3 @@ +hostname +Greenwich +msgid diff --git a/library/email.utils.po b/library/email.utils.po index 7d900490cd..dd414903ff 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -6,33 +6,37 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-29 22:58+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Juan C. Tello \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/email.utils.rst:2 msgid ":mod:`email.utils`: Miscellaneous utilities" -msgstr "" +msgstr ":mod:`email.utils`: Utilidades misceláneas" #: ../Doc/library/email.utils.rst:7 msgid "**Source code:** :source:`Lib/email/utils.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/email/utils.py`" #: ../Doc/library/email.utils.rst:11 msgid "" "There are a couple of useful utilities provided in the :mod:`email.utils` " "module:" msgstr "" +"Existen varias funciones útiles proporcionadas en el módulo :mod:`email." +"utils`:" #: ../Doc/library/email.utils.rst:16 msgid "" @@ -47,6 +51,16 @@ msgid "" "``localtime`` to attempt to divine whether summer time is in effect for the " "specified time." msgstr "" +"Retorna el tiempo local como un objecto datetime consciente. Si se llama sin " +"argumentos, retorna el tiempo actual. De lo contrario, el argumento *dt* " +"debe ser una instancia :class:`~datetime.datetime`, y es convertida a la " +"zona horaria local de acuerdo a la base de datos de zonas horarias del " +"sistema. Si *dt* es naíf (*naif*, es decir, ``dt.tzinfo`` es ``None``), se " +"asume que está en tiempo local. En este caso, un valor positivo o cero para " +"*isdst* hace que ``localtime`` asuma inicialmente que el horario de verano " +"está o no (respectivamente) en efecto para el tiempo especificado. Un valor " +"negativo para *isdst* hace que el ``localtime`` intente determinar si el " +"horario de verano está en efecto para el tiempo especificado." #: ../Doc/library/email.utils.rst:32 msgid "" @@ -58,10 +72,18 @@ msgid "" "useful certain cases, such as a constructing distributed system that uses a " "consistent domain name across multiple hosts." msgstr "" +"Retorna una cadena de caracteres apropiada para una cabecera :mailheader:" +"`Message-ID` que cumpla con :rfc:`2822`. Si se especifica un *idstring* " +"opcional, es una cadena de caracteres utilizada para reforzar la unicidad " +"del identificador del mensaje. Si se especifica un *domain* opcional provee " +"la porción del msgid después de '@'. El predeterminado es el hostname local. " +"Normalmente no es necesario especificar este valor, pero puede ser útil en " +"algunos casos, como cuando se está construyendo un sistema distribuido que " +"utiliza un nombre de dominio consistente a lo largo de varios ordenadores." #: ../Doc/library/email.utils.rst:40 msgid "Added the *domain* keyword." -msgstr "" +msgstr "Se añadió la palabra clave *domain*." #: ../Doc/library/email.utils.rst:44 msgid "" @@ -70,12 +92,20 @@ msgid "" "and formatting they provide is done automatically by the header parsing " "machinery of the new API." msgstr "" +"Las funciones que quedan son parte de la API de correo electrónico heredada " +"(``Compat32``) . No hay necesidad de utilizarlas directamente con el nuevo " +"API, dado que el análisis sintáctico y formateo que proporcionan es " +"realizado automáticamente por el mecanismo de análisis sintáctico de la " +"nueva API." #: ../Doc/library/email.utils.rst:52 msgid "" "Return a new string with backslashes in *str* replaced by two backslashes, " "and double quotes replaced by backslash-double quote." msgstr "" +"Retorna una nueva cadena de caracteres con barras invertidas (``\\``) en " +"*str* reemplazado por dos barras invertidas, y comillas dobles reemplazadas " +"por barra invertida seguido de comillas dobles." #: ../Doc/library/email.utils.rst:58 msgid "" @@ -83,6 +113,10 @@ msgid "" "and begins with double quotes, they are stripped off. Likewise if *str* " "ends and begins with angle brackets, they are stripped off." msgstr "" +"Retorna una nueva cadena de caracteres que es una versión *unquoted* de " +"*str*. Si *str* comienza y termina con comillas dobles, éstas son " +"eliminadas. De igual manera si *str* empieza y termina con comillas " +"angulares (``<`` y ``>``), éstas son eliminadas." #: ../Doc/library/email.utils.rst:65 msgid "" @@ -91,6 +125,11 @@ msgid "" "*realname* and *email address* parts. Returns a tuple of that information, " "unless the parse fails, in which case a 2-tuple of ``('', '')`` is returned." msgstr "" +"Interpreta *address* -- la cual debe ser el valor de un campo que contenga " +"un campo tal como :mailheader:`To` o :mailheader:`Cc` -- para separarlo en " +"sus componentes *realname* y *email address*. Retorna una tupla de " +"información, a menos que la interpretación falle, en cuyo caso una 2-tupla " +"de ``('','')`` es retornada." #: ../Doc/library/email.utils.rst:73 msgid "" @@ -99,6 +138,11 @@ msgid "" "mailheader:`To` or :mailheader:`Cc` header. If the first element of *pair* " "is false, then the second element is returned unmodified." msgstr "" +"El inverso de :meth:`parseaddr`, este toma una 2-tupla de la forma " +"``(realname,real, email_address)`` y retorna una cadena de caracteres válido " +"para una cabecera :mailheader:`To` o :mailheader:`Cc`. Si el primer elemento " +"de *pair* es falso, entonces el segundo elemento es retornado sin " +"modificación." #: ../Doc/library/email.utils.rst:78 msgid "" @@ -107,10 +151,14 @@ msgid "" "characters. Can be an instance of :class:`str` or a :class:`~email.charset." "Charset`. Defaults to ``utf-8``." msgstr "" +"El *charset* opcional es el conjunto de caracteres que será usado en la " +"codificación :rfc:`2047` del ``real_name`` si el ``real_name`` contiene " +"caracteres que no sean ASCII. Puede ser una instancia de :class:`str` o :" +"class:`~email.charset.Charset`. El valor predeterminado es ``utf-8``." #: ../Doc/library/email.utils.rst:83 msgid "Added the *charset* option." -msgstr "" +msgstr "Se añadió la opción *charset*." #: ../Doc/library/email.utils.rst:89 msgid "" @@ -119,6 +167,11 @@ msgid "" "be returned by :meth:`Message.get_all `. " "Here's a simple example that gets all the recipients of a message::" msgstr "" +"Este método retorna una lista de 2-tuplas de la forma retornada por " +"``parseaddr()``. *fieldvalues* es una secuencia de valores de campos de " +"cabecera como la que puede ser retornado por :meth:`Message.get_all `. Aquí hay un ejemplo sencillo que obtiene todos " +"los destinatarios de un mensaje::" #: ../Doc/library/email.utils.rst:105 msgid "" @@ -130,6 +183,15 @@ msgid "" "be passed directly to :func:`time.mktime`; otherwise ``None`` will be " "returned. Note that indexes 6, 7, and 8 of the result tuple are not usable." msgstr "" +"Intenta interpretar una fecha de acuerdo a las reglas en :rfc:`2822`. Sin " +"embargo, algunos clientes de correo no siguen ese formato como está " +"especificado, por lo cual :func:`parsedate` intenta adivinar correctamente " +"en esos casos. *date* es una secuencia de caracteres que contiene una fecha :" +"rfc:`2822` como ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. Si tiene éxito en " +"interpretar la fecha, :func:`parsedate` retorna una 9-tupla que puede ser " +"pasada directamente a :func:`time.mktime`; de lo contrario ``None`` es " +"retornado. Observar que los índices 6,7 y 8 de la tupla resultante no son " +"utilizables." #: ../Doc/library/email.utils.rst:116 msgid "" @@ -141,6 +203,14 @@ msgid "" "returned is ``0``, which represents UTC. Note that indexes 6, 7, and 8 of " "the result tuple are not usable." msgstr "" +"Realiza la misma función que :func:`parsedate`, pero retorna ``None`` o una " +"10-tupla; los primeros 9 elementos forman una tupla que puede ser pasada " +"directamente a :func:`time.mktime`, y el décimo es el desfase de la zona " +"horaria de la fecha con respecto a UTC (que es el término oficial para " +"Greenwich Mean Time) [#]_. Si la cadena de caracteres de entrada no tiene " +"zona horaria, el último elemento de la tupla retornada es ``0``, el cual " +"representa UTC. Nótese que los índices 6, 7 y 8 de la tupla resultante no " +"son utilizables." #: ../Doc/library/email.utils.rst:126 msgid "" @@ -153,6 +223,15 @@ msgid "" "offset, the ``datetime`` will be an aware ``datetime`` with the " "corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`." msgstr "" +"El inverso de :func:`format_datetime`. Realiza la misma función que :func:" +"`parsedate`, pero al tener éxito retorna un :mod:`~datetime.datetime`. Si la " +"fecha de entrada tiene una zona horaria de ``-0000``, el ``datetime`` será " +"un ``datetime`` naíf, y si la fecha cumple con los RFCs representará un " +"tiempo en UTC pero sin indicación de la zona horaria originaria actual del " +"mensaje de donde proviene la fecha. Si la fecha de entrada tiene cualquier " +"otro desfase de zona horaria válida, el ``datetime`` será un ``datetime`` " +"consiente con el correspondiente :class:`~datetime.timezone` :class:" +"`~datetime.tzinfo`." #: ../Doc/library/email.utils.rst:140 msgid "" @@ -160,10 +239,15 @@ msgid "" "(seconds since the Epoch). If the timezone item in the tuple is ``None``, " "assume local time." msgstr "" +"Cambia una 10-tupla, como la retornada por :func:`parsedate_tz` a una marca " +"de tiempo UTC (segundos desde la Época). Si la zona horaria en la tupla es " +"``None``, asume el tiempo local." #: ../Doc/library/email.utils.rst:147 msgid "Returns a date string as per :rfc:`2822`, e.g.::" msgstr "" +"Retorna una fecha como una cadena de caracteres de acuerdo a :rfc:`2822`, " +"por ejemplo::" #: ../Doc/library/email.utils.rst:151 msgid "" @@ -171,6 +255,9 @@ msgid "" "func:`time.gmtime` and :func:`time.localtime`, otherwise the current time is " "used." msgstr "" +"*timeval* opcional, es un valor de tiempo de punto flotante como el aceptado " +"por :func:`time.gmtime` y :func:`time.localtime`. Si no es dado, el tiempo " +"actual es usado." #: ../Doc/library/email.utils.rst:155 msgid "" @@ -179,6 +266,10 @@ msgid "" "taking daylight savings time into account. The default is ``False`` meaning " "UTC is used." msgstr "" +"*localtime* opcional, es una bandera que cuando es ``True``, interpreta " +"*timeval* y retorna una fecha relativa a la zona horaria local en lugar de " +"UTC, tomando apropiadamente en cuenta el horario de verano. El valor " +"predeterminado es ``False`` con lo cual UTC es utilizado." #: ../Doc/library/email.utils.rst:160 msgid "" @@ -187,6 +278,11 @@ msgid "" "This is needed for some protocols (such as HTTP). This only applies when " "*localtime* is ``False``. The default is ``False``." msgstr "" +"*usegmt* opcional, es una bandera que cuando es ``True`` retorna una fecha " +"como cadena de caracteres con la zona horaria como una cadena de caracteres " +"ascii ``GMT``, en lugar de un numérico ``-0000``. Esto es necesario para " +"algunos protocolos (como HTTP). Sólo aplica cuando *localtime* es ``False``. " +"El valor predeterminado es ``False``." #: ../Doc/library/email.utils.rst:168 msgid "" @@ -199,10 +295,19 @@ msgid "" "timezone offset. This provides a way to generate standards conformant HTTP " "date headers." msgstr "" +"Similar a ``formatdate``, pero la entrada es una instancia :mod:`datetime`. " +"Si es un datetime naíf, se asume ser \"UTC sin información sobre la zona " +"horaria de origen\", y el ``-0000`` convencional es usado para la zona " +"horaria. Si es un ``datetime`` consciente entonces el desfase numérico de la " +"zona horaria es utilizado. Si es una zona horaria consciente con un desfase " +"cero, entonces *usegmt* puede ser ``True``, en cuyo caso la cadena de " +"caracteres ``GMT`` es utilizada en lugar del desfase numérico de zona " +"horaria. Esto provee una manera de generar cabeceras de fecha HTTP conforme " +"estándares." #: ../Doc/library/email.utils.rst:182 msgid "Decode the string *s* according to :rfc:`2231`." -msgstr "" +msgstr "Decodifica la cadena de caracteres *s* de acuerdo a :rfc:`2231`." #: ../Doc/library/email.utils.rst:187 msgid "" @@ -212,6 +317,11 @@ msgid "" "*language* is not, the string is encoded using the empty string for " "*language*." msgstr "" +"Codifica la cadena de caracteres *s* de acuerdo a :rfc:`2231`. *charset* y " +"*language* opcionales, si son dados es el conjunto de caracteres y nombre " +"del lenguaje a utilizar. Si ninguno es dado, *s* es retornado sin modificar. " +"Si *charset* es dado pero *language* no, la cadena de caracteres es " +"codificada usando la cadena de caracteres vacía para *language*." #: ../Doc/library/email.utils.rst:195 msgid "" @@ -224,22 +334,36 @@ msgid "" "to use if the one in the :rfc:`2231` header is not known by Python; it " "defaults to ``'us-ascii'``." msgstr "" +"Cuando un parámetro de cabecera está codificado en formato :rfc:`2231`, :" +"meth:`Message.get_param ` puede retornar " +"una 3-tupla conteniendo el conjunto de caracteres, lenguaje y valor. :func:" +"`collapse_rfc2231_value` convierte esto en una cadena de caracteres unicode. " +"El parámetro opcional *errors* es pasado al argumento *errors* del método :" +"func:`~str.encode` de :class:`str`; de manera predeterminada recae en " +"``'replace'``. *fallback_charset* opcional, especifica el conjunto de " +"caracteres a utilizar si el especificado en la cabecera :rfc:`2231` no es " +"conocido por Python; su valor predeterminado es ``'us-ascii'``." #: ../Doc/library/email.utils.rst:204 msgid "" "For convenience, if the *value* passed to :func:`collapse_rfc2231_value` is " "not a tuple, it should be a string and it is returned unquoted." msgstr "" +"Por conveniencia, si el *value* pasado a :func:`collapse_rfc2231_value` no " +"es una tupla, debería ser una cadena de caracteres y se retorna sin citar." #: ../Doc/library/email.utils.rst:210 msgid "" "Decode parameters list according to :rfc:`2231`. *params* is a sequence of " "2-tuples containing elements of the form ``(content-type, string-value)``." msgstr "" +"Decodifica la lista de parámetros de acuerdo a :rfc:`2231`. *params* es una " +"secuencia de 2-tuplas conteniendo elementos de la forma ``(content-type, " +"string-value)``." #: ../Doc/library/email.utils.rst:215 msgid "Footnotes" -msgstr "" +msgstr "Notas a pie de página" #: ../Doc/library/email.utils.rst:216 msgid "" @@ -247,3 +371,6 @@ msgid "" "``time.timezone`` variable for the same timezone; the latter variable " "follows the POSIX standard while this module follows :rfc:`2822`." msgstr "" +"Nótese que el signo del desfase de la zona horaria es opuesto al signo de la " +"variable ``time.timezone`` para la misma zona horaria; este último sigue el " +"estándar POSIX mientras que este módulo sigue :rfc:`2822`." From cf9a2711bf3e047441e8467d4b6f68f0bc9ddc5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melissa=20Escobar=20Guti=C3=A9rrez?= <42422967+m3lissaeg@users.noreply.github.com> Date: Sun, 20 Dec 2020 16:12:36 -0500 Subject: [PATCH 101/153] Translate 'library/termios.po' (#1116) --- TRANSLATORS | 1 + library/termios.po | 64 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index c993a00392..1f239e80ae 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -126,6 +126,7 @@ Ginés Salar Ibáñez (@Ibnmardanis24) Ana (@popiula) David Silva (@dvidsilva) Ricardo Rodríguez (@ricrogz) +Melissa Escobar Gutiérrez (@MelissaEscobar) Enrique Zárate (@enrique-zarate) Jaume Montané (@jaumemy) Endika Gil (@endikagil) diff --git a/library/termios.po b/library/termios.po index 0978ac791f..26f31d0711 100644 --- a/library/termios.po +++ b/library/termios.po @@ -1,25 +1,27 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-27 19:25-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es_CO\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/termios.rst:2 msgid ":mod:`termios` --- POSIX style tty control" -msgstr "" +msgstr ":mod:`termios` ---Control tty estilo POSIX" #: ../Doc/library/termios.rst:14 msgid "" @@ -28,6 +30,11 @@ msgid "" "manual page. It is only available for those Unix versions that support " "POSIX *termios* style tty I/O control configured during installation." msgstr "" +"Este módulo proporciona una interfaz para las llamadas POSIX para el control " +"de E/S (entrada/salida) tty. Para obtener una descripción completa de estas " +"llamadas, consulte :manpage:`termios (3)` Página de manual de Unix. Solo " +"está disponible para aquellas versiones de Unix que admitan el control de E/" +"S tty estilo POSIX *termios* configurado durante la instalación." #: ../Doc/library/termios.rst:19 msgid "" @@ -35,6 +42,10 @@ msgid "" "argument. This can be an integer file descriptor, such as returned by ``sys." "stdin.fileno()``, or a :term:`file object`, such as ``sys.stdin`` itself." msgstr "" +"Todas las funciones de este módulo toman un descriptor de archivo *fd* como " +"primer argumento. Puede ser un descriptor de archivo entero, como el que " +"retorna ``sys.stdin.fileno()``, o un :term:`file object`, como el propio " +"`sys.stdin``." #: ../Doc/library/termios.rst:23 msgid "" @@ -43,10 +54,14 @@ msgid "" "refer to your system documentation for more information on using these " "terminal control interfaces." msgstr "" +"Este módulo también define todas las constantes necesarias para trabajar con " +"las funciones proporcionadas aquí; tienen el mismo nombre que sus " +"contrapartes en C. Consulte la documentación de su sistema para obtener más " +"información sobre el uso de estas interfaces de control de terminal." #: ../Doc/library/termios.rst:28 msgid "The module defines the following functions:" -msgstr "" +msgstr "El módulo define las siguientes funciones:" #: ../Doc/library/termios.rst:33 msgid "" @@ -58,6 +73,14 @@ msgid "" "as well as the indexing in the *cc* array must be done using the symbolic " "constants defined in the :mod:`termios` module." msgstr "" +"Retorna una lista que contiene los atributos tty para el descriptor de " +"archivo *fd*, como se muestra a continuación: ``[iflag, oflag, cflag, lflag, " +"ispeed, ospeed, cc]`` donde *cc* es una lista de los caracteres especiales " +"tty (cada una es una cadena de longitud 1, excepto los elementos con " +"índices :const:`VMIN` and :const:`VTIME`, que son números enteros cuando se " +"definen estos campos). La interpretación de las banderas y las velocidades, " +"así como la indexación en el arreglo *cc*, debe realizarse utilizando las " +"constantes simbólicas definidas en el módulo :mod:`termios` ." #: ../Doc/library/termios.rst:44 msgid "" @@ -68,17 +91,28 @@ msgid "" "output, or :const:`TCSAFLUSH` to change after transmitting all queued output " "and discarding all queued input." msgstr "" +"Establezca los atributos tty para el descriptor de archivo *fd* de los " +"*atributos*, que es una lista como la retornada por :func:`tcgetattr`. El " +"argumento *when* determina cuándo se cambian los atributos: :const:`TCSANOW` " +"para cambiar inmediatamente, :const:`TCSADRAIN` para cambiar después de " +"transmitir toda la salida en cola, o :const:`TCSAFLUSH` para cambiar después " +"de transmitir toda la salida en cola y descartar toda la entrada en cola." #: ../Doc/library/termios.rst:54 msgid "" "Send a break on file descriptor *fd*. A zero *duration* sends a break for " "0.25--0.5 seconds; a nonzero *duration* has a system dependent meaning." msgstr "" +"Envíe una pausa en el descriptor de archivo *fd*. Una *duración* cero envía " +"una pausa de 0.25 a 0.5 segundos; una *duración* distinta de cero tiene un " +"significado dependiente del sistema." #: ../Doc/library/termios.rst:60 msgid "" "Wait until all output written to file descriptor *fd* has been transmitted." msgstr "" +"Espere hasta que se haya transmitido toda la salida escrita en el descriptor " +"de archivo *fd*." #: ../Doc/library/termios.rst:65 msgid "" @@ -86,6 +120,10 @@ msgid "" "which queue: :const:`TCIFLUSH` for the input queue, :const:`TCOFLUSH` for " "the output queue, or :const:`TCIOFLUSH` for both queues." msgstr "" +"Descartar datos en cola en el descriptor de archivo *fd*. El selector " +"*queue* especifica qué cola: :const:`TCIFLUSH` para la cola de entrada, :" +"const:`TCOFLUSH` para la cola de salida, o :const:`TCIOFLUSH` para ambas " +"colas." #: ../Doc/library/termios.rst:72 msgid "" @@ -93,18 +131,23 @@ msgid "" "argument can be :const:`TCOOFF` to suspend output, :const:`TCOON` to restart " "output, :const:`TCIOFF` to suspend input, or :const:`TCION` to restart input." msgstr "" +"Suspender o reanudar la entrada o salida en el descriptor de archivo *fd*. " +"El argumento *action* puede ser :const:`TCOOFF` para suspender la salida, :" +"const:`TCOON` para reiniciar la salida, :const:`TCIOFF` para suspender la " +"entrada, o :const:`TCION` para reiniciar la entrada." #: ../Doc/library/termios.rst:79 msgid "Module :mod:`tty`" -msgstr "" +msgstr "Módulo :mod:`tty`" #: ../Doc/library/termios.rst:80 msgid "Convenience functions for common terminal control operations." msgstr "" +"Funciones de conveniencia para operaciones comunes de control de terminal." #: ../Doc/library/termios.rst:86 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/termios.rst:88 msgid "" @@ -113,3 +156,8 @@ msgid "" "`try` ... :keyword:`finally` statement to ensure that the old tty attributes " "are restored exactly no matter what happens::" msgstr "" +"Aquí hay una función que solicita una contraseña con el eco desactivado. " +"Tenga en cuenta la técnica utilizando una llamada separada :func:" +"`tcgetattr` y una sentencia :keyword:`try` ... :keyword:`finally` para " +"asegurarse de que los antiguos atributos tty se restauran exactamente sin " +"importar lo que suceda::" From 629b44cda03a38e4a703d0c46c02266bca0abcba Mon Sep 17 00:00:00 2001 From: Dvid Silva Date: Sun, 20 Dec 2020 16:28:43 -0500 Subject: [PATCH 102/153] traduce library/modulefinder.po (#1137) --- library/modulefinder.po | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/library/modulefinder.po b/library/modulefinder.po index 3d5ff1ebb9..6c676bd364 100644 --- a/library/modulefinder.po +++ b/library/modulefinder.po @@ -19,11 +19,11 @@ msgstr "" #: ../Doc/library/modulefinder.rst:2 msgid ":mod:`modulefinder` --- Find modules used by a script" -msgstr "" +msgstr ":mod:`modulefinder` --- Buscar módulos usados por un script" #: ../Doc/library/modulefinder.rst:9 msgid "**Source code:** :source:`Lib/modulefinder.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/modulefinder.py`" #: ../Doc/library/modulefinder.rst:13 msgid "" @@ -32,18 +32,27 @@ msgid "" "also be run as a script, giving the filename of a Python script as its " "argument, after which a report of the imported modules will be printed." msgstr "" +"Este módulo provee una clase :class:`ModuleFinder` que puede ser usada para " +"determinar el conjunto de módulos importados en un script. ``modulefinder." +"py`` puede también ejecutarse como un script, dando el nombre de un archivo " +"de Python como argumento, tras lo cual se imprimirá un reporte de los " +"módulos importados." #: ../Doc/library/modulefinder.rst:21 msgid "" "Record that the package named *pkg_name* can be found in the specified " "*path*." msgstr "" +"Registra que el paquete llamado *pkg_name* pueda ser encontrado en el *path* " +"especificado." #: ../Doc/library/modulefinder.rst:26 msgid "" "Allows specifying that the module named *oldname* is in fact the package " "named *newname*." msgstr "" +"Permite especificar que el módulo llamado *oldname* es de hecho el paquete " +"llamado *newname*." #: ../Doc/library/modulefinder.rst:32 msgid "" @@ -55,6 +64,14 @@ msgid "" "names to exclude from the analysis. *replace_paths* is a list of ``(oldpath, " "newpath)`` tuples that will be replaced in module paths." msgstr "" +"Esta clase provee los métodos :meth:`run_script` y :meth:`report` que " +"determinan el conjunto de módulos importados por un script. *path* puede ser " +"un listado de directorios a buscar por módulos; si no es especificado, se " +"usará ``sys.path``. *debug* define el nivel de depuración; valores más altos " +"hacen que la clase imprima mensajes de depuración acerca de lo que está " +"haciendo. *excludes* es una lista de nombres de módulos que serán excluidos " +"del análisis. *replace_paths* es una lista de tuplas ``(oldpath, newpath)`` " +"que serán remplazadas en las rutas de los módulos." #: ../Doc/library/modulefinder.rst:43 msgid "" @@ -62,30 +79,36 @@ msgid "" "script and their paths, as well as modules that are missing or seem to be " "missing." msgstr "" +"Imprime un reporte a la salida estándar que lista los módulos importados por " +"el script y sus rutas, así como los módulos que faltan o parecieran faltar." #: ../Doc/library/modulefinder.rst:49 msgid "" "Analyze the contents of the *pathname* file, which must contain Python code." msgstr "" +"Analiza los contenidos del archivo *pathname*, que debe contener código " +"Python." #: ../Doc/library/modulefinder.rst:54 msgid "" "A dictionary mapping module names to modules. See :ref:`modulefinder-" "example`." msgstr "" +"Un diccionario que mapea los nombres de los módulos a los módulos. Vea :ref:" +"`modulefinder-example`." #: ../Doc/library/modulefinder.rst:61 msgid "Example usage of :class:`ModuleFinder`" -msgstr "" +msgstr "Ejemplo de uso de :class:`ModuleFinder`" #: ../Doc/library/modulefinder.rst:63 msgid "The script that is going to get analyzed later on (bacon.py)::" -msgstr "" +msgstr "El script que será analizado más adelante (bacon.py)::" #: ../Doc/library/modulefinder.rst:78 msgid "The script that will output the report of bacon.py::" -msgstr "" +msgstr "El script que generará el reporte de bacon.py::" #: ../Doc/library/modulefinder.rst:94 msgid "Sample output (may vary depending on the architecture)::" -msgstr "" +msgstr "Resultado de ejemplo (puede variar dependiendo de la arquitectura)::" From a5182aa26442eac67f7ccb497c773716f36fa6fa Mon Sep 17 00:00:00 2001 From: Carlos Bernad Date: Sun, 20 Dec 2020 22:41:10 +0100 Subject: [PATCH 103/153] Traducido archivo library/struct (#1120) --- dictionaries/library_struct.txt | 4 + library/struct.po | 398 ++++++++++++++++++++++++-------- 2 files changed, 301 insertions(+), 101 deletions(-) create mode 100644 dictionaries/library_struct.txt diff --git a/dictionaries/library_struct.txt b/dictionaries/library_struct.txt new file mode 100644 index 0000000000..73559ab2f0 --- /dev/null +++ b/dictionaries/library_struct.txt @@ -0,0 +1,4 @@ +middle +binary +precision +Struct diff --git a/library/struct.po b/library/struct.po index cc64c54645..05b61bc1a6 100644 --- a/library/struct.po +++ b/library/struct.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-11-01 22:56+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es_ES\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/library/struct.rst:2 msgid ":mod:`struct` --- Interpret bytes as packed binary data" -msgstr "" +msgstr ":mod:`struct` --- Interpreta bytes como paquetes de datos binarios" #: ../Doc/library/struct.rst:7 msgid "**Source code:** :source:`Lib/struct.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/struct.py`" #: ../Doc/library/struct.rst:15 msgid "" @@ -37,6 +39,12 @@ msgid "" "the layout of the C structs and the intended conversion to/from Python " "values." msgstr "" +"Este módulo realiza conversiones entre valores de Python y estructuras C " +"representadas como objetos :class:`bytes` de Python. Se puede utilizar para " +"el tratamiento de datos binarios almacenados en archivos o desde conexiones " +"de red, entre otras fuentes. Utiliza :ref:`struct-format-strings` como " +"descripciones compactas del diseño de las estructuras C y la conversión " +"prevista a/desde valores de Python." #: ../Doc/library/struct.rst:23 msgid "" @@ -48,6 +56,15 @@ msgid "" "or omit implicit pad bytes, use ``standard`` size and alignment instead of " "``native`` size and alignment: see :ref:`struct-alignment` for details." msgstr "" +"Por defecto, el resultado de empaquetar una estructura C determinada incluye " +"bytes de relleno para mantener la alineación adecuada para los tipos " +"correspondientes en C; del mismo modo, la alineación se tiene en cuenta al " +"desempaquetar. Este comportamiento se elige para que los bytes de una " +"estructura empaquetada se correspondan exactamente con el diseño en memoria " +"de la estructura C correspondiente. Para tratar formatos de datos que sean " +"independientes de la plataforma u omitir bytes de relleno implícitos, " +"utiliza el tamaño y la alineación ``estándar`` en lugar del ``nativo``: ver :" +"ref:`struct-alignment` para obtener más información." #: ../Doc/library/struct.rst:31 msgid "" @@ -59,20 +76,29 @@ msgid "" "implement the buffer protocol, so that they can be read/filled without " "additional copying from a :class:`bytes` object." msgstr "" +"Varias funciones :mod:`struct` (y métodos de :class:`Struct`) toman un " +"argumento *buffer*. Esto hace referencia a los objetos que implementan :ref:" +"`bufferobjects` y proporcionan un búfer de lectura o de lectura/escritura. " +"Los tipos más comunes utilizados para ese propósito son :class:`bytes` y :" +"class:`bytearray`, pero muchos otros tipos que se pueden ver como una lista " +"de bytes implementan el protocolo de búfer, para que se puedan leer/rellenar " +"sin necesidad de copiar a partir de un objeto :class:`bytes`." #: ../Doc/library/struct.rst:40 msgid "Functions and Exceptions" -msgstr "" +msgstr "Funciones y Excepciones" #: ../Doc/library/struct.rst:42 msgid "The module defines the following exception and functions:" -msgstr "" +msgstr "El módulo define la siguiente excepción y funciones:" #: ../Doc/library/struct.rst:47 msgid "" "Exception raised on various occasions; argument is a string describing what " "is wrong." msgstr "" +"Excepción lanzada en varias ocasiones; el argumento es una *string* que " +"describe lo que está mal." #: ../Doc/library/struct.rst:53 msgid "" @@ -80,6 +106,9 @@ msgid "" "to the format string *format*. The arguments must match the values required " "by the format exactly." msgstr "" +"Retorna un objeto bytes que contiene los valores *v1*, *v2*, ... empaquetado " +"de acuerdo con la cadena de formato *format*. Los argumentos deben " +"coincidir exactamente con los valores requeridos por el formato." #: ../Doc/library/struct.rst:60 msgid "" @@ -87,6 +116,10 @@ msgid "" "write the packed bytes into the writable buffer *buffer* starting at " "position *offset*. Note that *offset* is a required argument." msgstr "" +"Empaqueta los valores *v1*, *v2*, ... de acuerdo con la cadena de formato " +"*format* y escribe los bytes empaquetados en el búfer de escritura *buffer* " +"comenzando en la posición *offset*. Nota: *offset* es un argumento " +"obligatorio." #: ../Doc/library/struct.rst:67 msgid "" @@ -95,6 +128,11 @@ msgid "" "contains exactly one item. The buffer's size in bytes must match the size " "required by the format, as reflected by :func:`calcsize`." msgstr "" +"Desempaqueta del búfer *buffer* (normalmente empaquetado por " +"``pack(format, ...)``) según la cadena de formato *format*. El resultado es " +"una tupla incluso si contiene un solo elemento. El tamaño del búfer en " +"bytes debe coincidir con el tamaño requerido por el formato, como se refleja " +"en :func:`calcsize`." #: ../Doc/library/struct.rst:75 msgid "" @@ -103,6 +141,11 @@ msgid "" "item. The buffer's size in bytes, starting at position *offset*, must be at " "least the size required by the format, as reflected by :func:`calcsize`." msgstr "" +"Desempaqueta del *buffer* comenzando en la posición *offset*, según la " +"cadena de formato *format*. El resultado es una tupla incluso si contiene " +"un solo elemento. El tamaño del búfer en bytes, comenzando en la posición " +"*offset*, debe tener al menos el tamaño requerido por el formato, como se " +"refleja en :func:`calcsize`." #: ../Doc/library/struct.rst:83 msgid "" @@ -112,20 +155,30 @@ msgid "" "buffer's size in bytes must be a multiple of the size required by the " "format, as reflected by :func:`calcsize`." msgstr "" +"Desempaqueta de manera iterativa desde el búfer *buffer* según la cadena de " +"formato *format*. Esta función retorna un iterador que leerá fragmentos de " +"igual tamaño desde el búfer hasta que se haya consumido todo su contenido. " +"El tamaño del búfer en bytes debe ser un múltiplo del tamaño requerido por " +"el formato, como se refleja en :func:`calcsize`." #: ../Doc/library/struct.rst:89 msgid "Each iteration yields a tuple as specified by the format string." msgstr "" +"Cada iteración produce una tupla según lo especificado por la cadena de " +"formato." #: ../Doc/library/struct.rst:96 msgid "" "Return the size of the struct (and hence of the bytes object produced by " "``pack(format, ...)``) corresponding to the format string *format*." msgstr "" +"Retorna el tamaño de la estructura (y, por lo tanto, del objeto bytes " +"generado por ``pack(format, ...)``) correspondiente a la cadena de formato " +"*format*." #: ../Doc/library/struct.rst:103 msgid "Format Strings" -msgstr "" +msgstr "Cadenas de Formato" #: ../Doc/library/struct.rst:105 msgid "" @@ -135,10 +188,15 @@ msgid "" "addition, there are special characters for controlling the :ref:`struct-" "alignment`." msgstr "" +"Las cadenas de formato son el mecanismo utilizado para especificar el diseño " +"esperado al empaquetar y desempaquetar datos. Se crean a partir de :ref:" +"`format-characters`, que especifican el tipo de datos que se empaquetan/" +"desempaquetan. Además, hay caracteres especiales para controlar :ref:" +"`struct-alignment`." #: ../Doc/library/struct.rst:114 msgid "Byte Order, Size, and Alignment" -msgstr "" +msgstr "Orden de Bytes, Tamaño y Alineación" #: ../Doc/library/struct.rst:116 msgid "" @@ -146,6 +204,9 @@ msgid "" "order, and properly aligned by skipping pad bytes if necessary (according to " "the rules used by the C compiler)." msgstr "" +"Por defecto, los tipos C se representan en el formato nativo y el orden de " +"bytes de la máquina, y se alinean correctamente omitiendo bytes de relleno " +"si es necesario (según las reglas utilizadas por el compilador de C)." #: ../Doc/library/struct.rst:127 msgid "" @@ -153,72 +214,75 @@ msgid "" "indicate the byte order, size and alignment of the packed data, according to " "the following table:" msgstr "" +"Como alternativa, el primer carácter de la cadena de formato se puede " +"utilizar para indicar el orden de bytes, el tamaño y la alineación de los " +"datos empaquetados, según la tabla siguiente:" #: ../Doc/library/struct.rst:132 msgid "Character" -msgstr "" +msgstr "Caracter" #: ../Doc/library/struct.rst:132 msgid "Byte order" -msgstr "" +msgstr "Orden de Bytes" #: ../Doc/library/struct.rst:132 msgid "Size" -msgstr "" +msgstr "Tamaño" #: ../Doc/library/struct.rst:132 msgid "Alignment" -msgstr "" +msgstr "Alineamiento" #: ../Doc/library/struct.rst:134 msgid "``@``" -msgstr "" +msgstr "``@``" #: ../Doc/library/struct.rst:134 ../Doc/library/struct.rst:136 msgid "native" -msgstr "" +msgstr "nativo" #: ../Doc/library/struct.rst:136 msgid "``=``" -msgstr "" +msgstr "``=``" #: ../Doc/library/struct.rst:136 ../Doc/library/struct.rst:138 #: ../Doc/library/struct.rst:140 ../Doc/library/struct.rst:142 msgid "standard" -msgstr "" +msgstr "standard" #: ../Doc/library/struct.rst:136 ../Doc/library/struct.rst:138 #: ../Doc/library/struct.rst:140 ../Doc/library/struct.rst:142 msgid "none" -msgstr "" +msgstr "none" #: ../Doc/library/struct.rst:138 msgid "``<``" -msgstr "" +msgstr "``<``" #: ../Doc/library/struct.rst:138 msgid "little-endian" -msgstr "" +msgstr "little-endian" #: ../Doc/library/struct.rst:140 msgid "``>``" -msgstr "" +msgstr "``>``" #: ../Doc/library/struct.rst:140 msgid "big-endian" -msgstr "" +msgstr "big-endian" #: ../Doc/library/struct.rst:142 msgid "``!``" -msgstr "" +msgstr "``!``" #: ../Doc/library/struct.rst:142 msgid "network (= big-endian)" -msgstr "" +msgstr "red (= big-endian)" #: ../Doc/library/struct.rst:145 msgid "If the first character is not one of these, ``'@'`` is assumed." -msgstr "" +msgstr "Si el primer carácter no es uno de estos, se asume ``'@'``." #: ../Doc/library/struct.rst:147 msgid "" @@ -228,52 +292,74 @@ msgid "" "switchable endianness (bi-endian). Use ``sys.byteorder`` to check the " "endianness of your system." msgstr "" +"El orden de bytes nativo es big-endian o little-endian, dependiendo del " +"sistema host. Por ejemplo, Intel x86 y AMD64 (x86-64) son little-endian; " +"Motorola 68000 y PowerPC G5 son big-endian; ARM e Intel *Itanium* tienen la " +"propiedad de trabajar con ambos formatos (middle-endian). Utiliza ``sys." +"byteorder`` para comprobar la *endianness* (\"extremidad\") de su sistema." #: ../Doc/library/struct.rst:153 msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." msgstr "" +"El tamaño y la alineación nativos se determinan mediante la expresión " +"``sizeof`` del compilador de C. Esto siempre se combina con el orden de " +"bytes nativo." #: ../Doc/library/struct.rst:156 msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." msgstr "" +"El tamaño estándar depende únicamente del carácter de formato; ver la tabla " +"en la sección :ref:`format-characters`." #: ../Doc/library/struct.rst:159 msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." msgstr "" +"Nótese la diferencia entre ``'@'`` y ``'='`` : ambos utilizan el orden de " +"bytes nativo, pero el tamaño y la alineación de este último está " +"estandarizado." #: ../Doc/library/struct.rst:162 msgid "" "The form ``'!'`` is available for those poor souls who claim they can't " "remember whether network byte order is big-endian or little-endian." msgstr "" +"La forma ``'!'`` está disponible para aquellas pobres almas que afirman que " +"no pueden recordar si el orden de bytes de red es big-endian o little-endian." #: ../Doc/library/struct.rst:165 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." msgstr "" +"No hay manera de indicar el orden de bytes no nativo (forzar el intercambio " +"de bytes); utiliza la elección adecuada de ``'<'`` o ``'>'``." #: ../Doc/library/struct.rst:168 ../Doc/library/struct.rst:247 msgid "Notes:" -msgstr "" +msgstr "Notas:" #: ../Doc/library/struct.rst:170 msgid "" "Padding is only automatically added between successive structure members. No " "padding is added at the beginning or the end of the encoded struct." msgstr "" +"El relleno solo se agrega automáticamente entre los miembros sucesivos de la " +"estructura. No se agrega ningún relleno al principio o al final de la " +"estructura codificada." #: ../Doc/library/struct.rst:173 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." msgstr "" +"No se añade ningún relleno cuando se utiliza el tamaño y la alineación no " +"nativos, por ejemplo, con '<', '>', '=' y '!'." #: ../Doc/library/struct.rst:176 msgid "" @@ -281,10 +367,13 @@ msgid "" "type, end the format with the code for that type with a repeat count of " "zero. See :ref:`struct-examples`." msgstr "" +"Para alinear el final de una estructura con el requisito de alineación de un " +"tipo determinado, termina el formato con el código de ese tipo con un dos " +"ceros. Véase :ref:`struct-examples`." #: ../Doc/library/struct.rst:184 msgid "Format Characters" -msgstr "" +msgstr "Formato de caracteres" #: ../Doc/library/struct.rst:186 msgid "" @@ -295,63 +384,69 @@ msgid "" "``'!'`` or ``'='``. When using native size, the size of the packed value is " "platform-dependent." msgstr "" +"Los caracteres de formato tienen el siguiente significado; la conversión " +"entre los valores C y Python debe ser obvia dados sus tipos. La columna " +"'Tamaño estándar' hace referencia al tamaño del valor empaquetado en bytes " +"cuando se utiliza el tamaño estándar; es decir, cuando la cadena de formato " +"comienza con uno de ``'<'``, ``'>'``, ``'!'`` o ``'='``. Cuando se utiliza " +"el tamaño nativo, el tamaño del valor empaquetado depende de la plataforma." #: ../Doc/library/struct.rst:194 msgid "Format" -msgstr "" +msgstr "Formato" #: ../Doc/library/struct.rst:194 msgid "C Type" -msgstr "" +msgstr "Tipo C" #: ../Doc/library/struct.rst:194 msgid "Python type" -msgstr "" +msgstr "Tipo Python" #: ../Doc/library/struct.rst:194 msgid "Standard size" -msgstr "" +msgstr "Tamaño estándar" #: ../Doc/library/struct.rst:194 msgid "Notes" -msgstr "" +msgstr "Notas" #: ../Doc/library/struct.rst:196 msgid "``x``" -msgstr "" +msgstr "``x``" #: ../Doc/library/struct.rst:196 msgid "pad byte" -msgstr "" +msgstr "byte de relleno" #: ../Doc/library/struct.rst:196 msgid "no value" -msgstr "" +msgstr "sin valor" #: ../Doc/library/struct.rst:198 msgid "``c``" -msgstr "" +msgstr "``c``" #: ../Doc/library/struct.rst:198 msgid ":c:type:`char`" -msgstr "" +msgstr ":c:type:`char`" #: ../Doc/library/struct.rst:198 msgid "bytes of length 1" -msgstr "" +msgstr "bytes de longitud 1" #: ../Doc/library/struct.rst:198 ../Doc/library/struct.rst:200 #: ../Doc/library/struct.rst:202 ../Doc/library/struct.rst:204 msgid "1" -msgstr "" +msgstr "1" #: ../Doc/library/struct.rst:200 msgid "``b``" -msgstr "" +msgstr "``b``" #: ../Doc/library/struct.rst:200 msgid ":c:type:`signed char`" -msgstr "" +msgstr ":c:type:`signed char`" #: ../Doc/library/struct.rst:200 ../Doc/library/struct.rst:202 #: ../Doc/library/struct.rst:206 ../Doc/library/struct.rst:208 @@ -361,19 +456,19 @@ msgstr "" #: ../Doc/library/struct.rst:223 ../Doc/library/struct.rst:225 #: ../Doc/library/struct.rst:237 msgid "integer" -msgstr "" +msgstr "integer" #: ../Doc/library/struct.rst:200 msgid "\\(1), \\(2)" -msgstr "" +msgstr "\\(1), \\(2)" #: ../Doc/library/struct.rst:202 msgid "``B``" -msgstr "" +msgstr "``B``" #: ../Doc/library/struct.rst:202 msgid ":c:type:`unsigned char`" -msgstr "" +msgstr ":c:type:`unsigned char`" #: ../Doc/library/struct.rst:202 ../Doc/library/struct.rst:206 #: ../Doc/library/struct.rst:208 ../Doc/library/struct.rst:210 @@ -381,193 +476,193 @@ msgstr "" #: ../Doc/library/struct.rst:216 ../Doc/library/struct.rst:218 #: ../Doc/library/struct.rst:220 msgid "\\(2)" -msgstr "" +msgstr "\\(2)" #: ../Doc/library/struct.rst:204 msgid "``?``" -msgstr "" +msgstr "\\(2)" #: ../Doc/library/struct.rst:204 msgid ":c:type:`_Bool`" -msgstr "" +msgstr ":c:type:`_Bool`" #: ../Doc/library/struct.rst:204 msgid "bool" -msgstr "" +msgstr "bool" #: ../Doc/library/struct.rst:204 msgid "\\(1)" -msgstr "" +msgstr "\\(1)" #: ../Doc/library/struct.rst:206 msgid "``h``" -msgstr "" +msgstr "``h``" #: ../Doc/library/struct.rst:206 msgid ":c:type:`short`" -msgstr "" +msgstr ":c:type:`short`" #: ../Doc/library/struct.rst:206 ../Doc/library/struct.rst:208 #: ../Doc/library/struct.rst:227 msgid "2" -msgstr "" +msgstr "2" #: ../Doc/library/struct.rst:208 msgid "``H``" -msgstr "" +msgstr "``H``" #: ../Doc/library/struct.rst:208 msgid ":c:type:`unsigned short`" -msgstr "" +msgstr ":c:type:`unsigned short`" #: ../Doc/library/struct.rst:210 msgid "``i``" -msgstr "" +msgstr "``i``" #: ../Doc/library/struct.rst:210 msgid ":c:type:`int`" -msgstr "" +msgstr ":c:type:`int`" #: ../Doc/library/struct.rst:210 ../Doc/library/struct.rst:212 #: ../Doc/library/struct.rst:214 ../Doc/library/struct.rst:216 #: ../Doc/library/struct.rst:229 msgid "4" -msgstr "" +msgstr "4" #: ../Doc/library/struct.rst:212 msgid "``I``" -msgstr "" +msgstr "``I``" #: ../Doc/library/struct.rst:212 msgid ":c:type:`unsigned int`" -msgstr "" +msgstr ":c:type:`unsigned int`" #: ../Doc/library/struct.rst:214 msgid "``l``" -msgstr "" +msgstr "``l``" #: ../Doc/library/struct.rst:214 msgid ":c:type:`long`" -msgstr "" +msgstr ":c:type:`long`" #: ../Doc/library/struct.rst:216 msgid "``L``" -msgstr "" +msgstr "``L``" #: ../Doc/library/struct.rst:216 msgid ":c:type:`unsigned long`" -msgstr "" +msgstr ":c:type:`unsigned long`" #: ../Doc/library/struct.rst:218 msgid "``q``" -msgstr "" +msgstr "``q``" #: ../Doc/library/struct.rst:218 msgid ":c:type:`long long`" -msgstr "" +msgstr ":c:type:`long long`" #: ../Doc/library/struct.rst:218 ../Doc/library/struct.rst:220 #: ../Doc/library/struct.rst:231 msgid "8" -msgstr "" +msgstr "8" #: ../Doc/library/struct.rst:220 msgid "``Q``" -msgstr "" +msgstr "``Q``" #: ../Doc/library/struct.rst:220 msgid ":c:type:`unsigned long long`" -msgstr "" +msgstr ":c:type:`unsigned long long`" #: ../Doc/library/struct.rst:223 msgid "``n``" -msgstr "" +msgstr "``n``" #: ../Doc/library/struct.rst:223 msgid ":c:type:`ssize_t`" -msgstr "" +msgstr ":c:type:`ssize_t`" #: ../Doc/library/struct.rst:223 ../Doc/library/struct.rst:225 msgid "\\(3)" -msgstr "" +msgstr "\\(3)" #: ../Doc/library/struct.rst:225 msgid "``N``" -msgstr "" +msgstr "``N``" #: ../Doc/library/struct.rst:225 msgid ":c:type:`size_t`" -msgstr "" +msgstr ":c:type:`size_t`" #: ../Doc/library/struct.rst:227 msgid "``e``" -msgstr "" +msgstr "``e``" #: ../Doc/library/struct.rst:227 msgid "\\(6)" -msgstr "" +msgstr "\\(6)" #: ../Doc/library/struct.rst:227 ../Doc/library/struct.rst:229 #: ../Doc/library/struct.rst:231 msgid "float" -msgstr "" +msgstr "float" #: ../Doc/library/struct.rst:227 ../Doc/library/struct.rst:229 #: ../Doc/library/struct.rst:231 msgid "\\(4)" -msgstr "" +msgstr "\\(4)" #: ../Doc/library/struct.rst:229 msgid "``f``" -msgstr "" +msgstr "``f``" #: ../Doc/library/struct.rst:229 msgid ":c:type:`float`" -msgstr "" +msgstr ":c:type:`float`" #: ../Doc/library/struct.rst:231 msgid "``d``" -msgstr "" +msgstr "``d``" #: ../Doc/library/struct.rst:231 msgid ":c:type:`double`" -msgstr "" +msgstr ":c:type:`double`" #: ../Doc/library/struct.rst:233 msgid "``s``" -msgstr "" +msgstr "``s``" #: ../Doc/library/struct.rst:233 ../Doc/library/struct.rst:235 msgid ":c:type:`char[]`" -msgstr "" +msgstr ":c:type:`char[]`" #: ../Doc/library/struct.rst:233 ../Doc/library/struct.rst:235 msgid "bytes" -msgstr "" +msgstr "bytes" #: ../Doc/library/struct.rst:235 msgid "``p``" -msgstr "" +msgstr "``p``" #: ../Doc/library/struct.rst:237 msgid "``P``" -msgstr "" +msgstr "``P``" #: ../Doc/library/struct.rst:237 msgid ":c:type:`void \\*`" -msgstr "" +msgstr ":c:type:`void \\*`" #: ../Doc/library/struct.rst:237 msgid "\\(5)" -msgstr "" +msgstr "\\(5)" #: ../Doc/library/struct.rst:240 msgid "Added support for the ``'n'`` and ``'N'`` formats." -msgstr "" +msgstr "Soporte añadido para los formatos ``'n'`` y ``'N'``." #: ../Doc/library/struct.rst:243 msgid "Added support for the ``'e'`` format." -msgstr "" +msgstr "Soporte añadido para el formato ``'e'``." #: ../Doc/library/struct.rst:252 msgid "" @@ -575,6 +670,9 @@ msgid "" "by C99. If this type is not available, it is simulated using a :c:type:" "`char`. In standard mode, it is always represented by one byte." msgstr "" +"El código de conversión ``'?'`` corresponde al tipo :c:type:`_Bool` definido " +"por C99. Si este tipo no está disponible, se simula mediante un :c:type:" +"`char`. En el modo estándar, siempre se representa mediante un byte." #: ../Doc/library/struct.rst:257 msgid "" @@ -582,10 +680,15 @@ msgid "" "codes, if the non-integer has a :meth:`__index__` method then that method is " "called to convert the argument to an integer before packing." msgstr "" +"Al intentar empaquetar un no entero mediante cualquiera de los códigos de " +"conversión de enteros, si el no entero tiene un método :meth:`__index__`, se " +"llama a ese método para convertir el argumento en un entero antes de " +"empaquetar." #: ../Doc/library/struct.rst:261 msgid "Use of the :meth:`__index__` method for non-integers is new in 3.2." msgstr "" +"El uso del método :meth:`__index__` para los no enteros es nuevo en 3.2." #: ../Doc/library/struct.rst:265 msgid "" @@ -594,6 +697,10 @@ msgid "" "the standard size, you can use whichever of the other integer formats fits " "your application." msgstr "" +"Los códigos de conversión ``'n'`` y ``'N'`` solo están disponibles para el " +"tamaño nativo (seleccionado como predeterminado o con el carácter de orden " +"de bytes ``'@'``). Para el tamaño estándar, puedes usar cualquiera de los " +"otros formatos enteros que se ajusten a tu aplicación." #: ../Doc/library/struct.rst:271 msgid "" @@ -602,6 +709,10 @@ msgid "" "``'f'``, ``'d'`` or ``'e'`` respectively), regardless of the floating-point " "format used by the platform." msgstr "" +"Para los códigos de conversión ``'f'``, ``'d'`` y ``'e'``, la representación " +"empaquetada utiliza el formato IEEE 754 binary32, binary64 o binary16 (para " +"``'f'``, ``'d'`` o ``'e'`` respectivamente), independientemente del formato " +"de punto flotante utilizado por la plataforma." #: ../Doc/library/struct.rst:277 msgid "" @@ -611,6 +722,12 @@ msgid "" "on the host system. The struct module does not interpret this as native " "ordering, so the ``'P'`` format is not available." msgstr "" +"El carácter de formato ``'P'`` solo está disponible para el orden de bytes " +"nativo (seleccionado como predeterminado o con el carácter de orden de bytes " +"``'@'``). El carácter de orden de bytes ``'='`` elige utilizar el orden " +"little- o big-endian basado en el sistema host. El módulo *struct* no " +"interpreta esto como un orden nativo, por lo que el formato ``'P'`` no está " +"disponible." #: ../Doc/library/struct.rst:284 msgid "" @@ -623,18 +740,33 @@ msgid "" "operations. See the Wikipedia page on the `half-precision floating-point " "format `_ for more information." msgstr "" +"El tipo IEEE 754 binary16 \"half precision\" se introdujo en la revisión de " +"2008 del `IEEE 754 estándar `_. Tiene un bit de signo, " +"un exponente de 5 bits y una precisión de 11 bits (con 10 bits almacenados " +"explícitamente) y puede representar números entre aproximadamente " +"``6.1e-05`` y ``6.5e+04`` con total precisión. Este tipo no es ampliamente " +"compatible con los compiladores de C: en un equipo típico, un *unsigned* " +"short se puede usar para el almacenamiento, pero no para las operaciones " +"matemáticas. Consulte la página de Wikipedia en el `formato de punto " +"flotante de media precisión `_ para obtener más " +"información." #: ../Doc/library/struct.rst:294 msgid "" "A format character may be preceded by an integral repeat count. For " "example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." msgstr "" +"Un carácter de formato puede ir precedido de un número de recuento que " +"repite tantas veces el carácter. Por ejemplo, la cadena de formato ``'4h'`` " +"significa exactamente lo mismo que ``'hhhh'`` ." #: ../Doc/library/struct.rst:297 msgid "" "Whitespace characters between formats are ignored; a count and its format " "must not contain whitespace though." msgstr "" +"Se omiten los caracteres de espacio entre formatos; sin embargo, un recuento " +"y su formato no deben contener espacios en blanco." #: ../Doc/library/struct.rst:300 msgid "" @@ -647,6 +779,15 @@ msgid "" "number of bytes. As a special case, ``'0s'`` means a single, empty string " "(while ``'0c'`` means 0 characters)." msgstr "" +"Para el carácter de formato ``'s'``, el recuento se interpreta como la " +"longitud de los bytes, no un recuento de repetición como para los otros " +"caracteres de formato; por ejemplo, ``'10s'`` significa una sola cadena de " +"10 bytes, mientras que ``'10c'`` significa 10 caracteres. Si no se da un " +"recuento, el valor predeterminado es 1. Para el empaquetado, la cadena es " +"truncada o rellenada con bytes nulos según corresponda para que se ajuste. " +"Para desempaquetar, el objeto bytes resultante siempre tiene exactamente el " +"número especificado de bytes. Como caso especial, ``'0s'`` significa una " +"sola cadena vacía (mientras que ``'0c'`` significa 0 caracteres)." #: ../Doc/library/struct.rst:309 msgid "" @@ -655,12 +796,18 @@ msgid "" "``'Q'``), if ``x`` is outside the valid range for that format then :exc:" "`struct.error` is raised." msgstr "" +"Al empaquetar un valor ``x`` utilizando uno de los formatos enteros " +"(``'b'``, ``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, " +"``'q'``, ``'Q'``), si ``x`` está fuera de un rango válido para ese formato, " +"entonces se lanza la excepción :exc:`struct.error`." #: ../Doc/library/struct.rst:314 msgid "" "In 3.0, some of the integer formats wrapped out-of-range values and raised :" "exc:`DeprecationWarning` instead of :exc:`struct.error`." msgstr "" +"En 3.0, algunos de los formatos enteros ajustaban los valores fuera de rango " +"y lanza :exc:`DeprecationWarning` en lugar de :exc:`struct.error`." #: ../Doc/library/struct.rst:318 msgid "" @@ -675,6 +822,17 @@ msgid "" "consumes ``count`` bytes, but that the string returned can never contain " "more than 255 bytes." msgstr "" +"El carácter de formato ``'p'`` codifica una \"cadena de Pascal\", lo que " +"significa una cadena de longitud variable corta almacenada en un número " +"*fijo de bytes*, dado por el recuento. El primer byte almacenado es el valor " +"mínimo entre la longitud de la cadena o 255. A continuación se encuentran " +"los bytes de la cadena. Si la cadena pasada a :func:`pack` es demasiado " +"larga (más larga que la cuenta menos 1), solo se almacenan los bytes " +"iniciales ``count-1`` de la cadena. Si la cadena es más corta que " +"``count-1``, se rellena con bytes nulos para que se utilicen exactamente los " +"bytes de recuento en total. Tenga en cuenta que para :func:`unpack`, el " +"carácter de formato ``'p'`` consume bytes ``count``, pero que la cadena " +"retornada nunca puede contener más de 255 bytes." #: ../Doc/library/struct.rst:331 msgid "" @@ -683,68 +841,83 @@ msgid "" "used. Either 0 or 1 in the native or standard bool representation will be " "packed, and any non-zero value will be ``True`` when unpacking." msgstr "" +"Para el carácter de formato ``'?'``, el valor retornado es :const:`True` o :" +"const:`False`. Al empaquetar, se utiliza el valor verdadero del objeto del " +"argumento. Se empaquetará 0 o 1 en la representación *bool* nativa o " +"estándar, y cualquier valor distinto de cero será ``True`` al desempaquetar." #: ../Doc/library/struct.rst:341 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/struct.rst:344 msgid "" "All examples assume a native byte order, size, and alignment with a big-" "endian machine." msgstr "" +"Todos los ejemplos asumen un orden de bytes tamaño y alineación nativos, con " +"una máquina big-endian." #: ../Doc/library/struct.rst:347 msgid "A basic example of packing/unpacking three integers::" -msgstr "" +msgstr "Un ejemplo básico de empaquetado/desempaquetado de tres enteros::" #: ../Doc/library/struct.rst:357 msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" msgstr "" +"Los campos desempaquetados se pueden nombrar asignándolos a variables o " +"ajustando el resultado en una tupla con nombre::" #: ../Doc/library/struct.rst:368 msgid "" "The ordering of format characters may have an impact on size since the " "padding needed to satisfy alignment requirements is different::" msgstr "" +"El orden de los caracteres de formato puede tener un impacto en el tamaño ya " +"que el relleno necesario para satisfacer los requisitos de alineación es " +"diferente::" #: ../Doc/library/struct.rst:380 msgid "" "The following format ``'llh0l'`` specifies two pad bytes at the end, " "assuming longs are aligned on 4-byte boundaries::" msgstr "" +"El siguiente formato ``'llh0l'`` especifica dos bytes de relleno al final, " +"suponiendo que los tipos *longs* están alineados en los límites de 4 bytes::" #: ../Doc/library/struct.rst:386 msgid "" "This only works when native size and alignment are in effect; standard size " "and alignment does not enforce any alignment." msgstr "" +"Esto solo funciona cuando el tamaño y la alineación nativos tienen efecto; " +"el tamaño estándar y la alineación no imponen ninguna alineación." #: ../Doc/library/struct.rst:393 msgid "Module :mod:`array`" -msgstr "" +msgstr "Módulo :mod:`array`" #: ../Doc/library/struct.rst:393 msgid "Packed binary storage of homogeneous data." -msgstr "" +msgstr "Almacenamiento binario empaquetado de datos homogéneos." #: ../Doc/library/struct.rst:395 msgid "Module :mod:`xdrlib`" -msgstr "" +msgstr "Módulo :mod:`xdrlib`" #: ../Doc/library/struct.rst:396 msgid "Packing and unpacking of XDR data." -msgstr "" +msgstr "Empaquetar y desempaquetar datos XDR." #: ../Doc/library/struct.rst:402 msgid "Classes" -msgstr "" +msgstr "Clases" #: ../Doc/library/struct.rst:404 msgid "The :mod:`struct` module also defines the following type:" -msgstr "" +msgstr "El módulo :mod:`struct` también define el siguiente tipo:" #: ../Doc/library/struct.rst:409 msgid "" @@ -753,6 +926,10 @@ msgid "" "methods is more efficient than calling the :mod:`struct` functions with the " "same format since the format string only needs to be compiled once." msgstr "" +"Retorna un nuevo objeto Struct que escribe y lee datos binarios según la " +"cadena de formato *format*. Crear un objeto Struct una vez y llamar a sus " +"métodos es más eficaz que llamar a las funciones :mod:`struct` con el mismo " +"formato, ya que la cadena de formato solo se compila una vez en ese caso." #: ../Doc/library/struct.rst:416 msgid "" @@ -761,26 +938,36 @@ msgid "" "only a few format strings needn't worry about reusing a single :class:" "`Struct` instance." msgstr "" +"Las versiones compiladas de las cadenas de formato más recientes pasadas a :" +"class:`Struct` y las funciones de nivel de módulo se almacenan en caché, por " +"lo que los programas que utilizan solo unas pocas cadenas de formato no " +"necesitan preocuparse por volver a usar una sola instancia :class:`Struct`." #: ../Doc/library/struct.rst:421 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" +"Los objetos Struct compilados admiten los siguientes métodos y atributos:" #: ../Doc/library/struct.rst:425 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" msgstr "" +"Idéntico a la función :func:`pack`, utilizando el formato compilado. " +"(``len(result)`` será igual a :attr:`size`.)" #: ../Doc/library/struct.rst:431 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" +"Idéntico a la función :func:`pack_into`, utilizando el formato compilado." #: ../Doc/library/struct.rst:436 msgid "" "Identical to the :func:`unpack` function, using the compiled format. The " "buffer's size in bytes must equal :attr:`size`." msgstr "" +"Idéntico a la función :func:`unpack`, utilizando el formato compilado. El " +"tamaño del búfer en bytes debe ser igual a :attr:`size`." #: ../Doc/library/struct.rst:442 msgid "" @@ -788,23 +975,32 @@ msgid "" "The buffer's size in bytes, starting at position *offset*, must be at least :" "attr:`size`." msgstr "" +"Idéntico a la función :func:`unpack_from`, utilizando el formato compilado. " +"El tamaño del búfer en bytes, comenzando en la posición *offset*, debe ser " +"al menos :attr:`size`." #: ../Doc/library/struct.rst:449 msgid "" "Identical to the :func:`iter_unpack` function, using the compiled format. " "The buffer's size in bytes must be a multiple of :attr:`size`." msgstr "" +"Idéntico a la función :func:`iter_unpack`, utilizando el formato compilado. " +"El tamaño del búfer en bytes debe ser un múltiplo de :attr:`size`." #: ../Doc/library/struct.rst:456 msgid "The format string used to construct this Struct object." -msgstr "" +msgstr "Cadena de formato utilizada para construir este objeto Struct." #: ../Doc/library/struct.rst:458 msgid "The format string type is now :class:`str` instead of :class:`bytes`." msgstr "" +"El tipo de cadena de formato es ahora :class:`str` en lugar de :class:" +"`bytes`." #: ../Doc/library/struct.rst:463 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." msgstr "" +"El tamaño calculado de la estructura (y, por lo tanto, del objeto bytes " +"generado por el método :meth:`pack`) correspondiente a :attr:`format`." From f98f60d5c10781ea2b6d3525442a61dbed183bf6 Mon Sep 17 00:00:00 2001 From: Rodriguez Juan <73370773+Juerodriguez@users.noreply.github.com> Date: Sun, 20 Dec 2020 18:51:23 -0300 Subject: [PATCH 104/153] Traduccion whatsnew/2.7.po (#1159) --- TRANSLATORS | 1 + dictionaries/whatsnew_2.7.txt | 5 + whatsnew/2.7.po | 391 ++++++++++++++++++++++++++++++---- 3 files changed, 359 insertions(+), 38 deletions(-) create mode 100644 dictionaries/whatsnew_2.7.txt diff --git a/TRANSLATORS b/TRANSLATORS index 1f239e80ae..794a6a8ac3 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -133,4 +133,5 @@ Endika Gil (@endikagil) Federico Zuccolo (@fzuccolo) Gibran Herrera (@gibranhl) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) +Juan Elias Rodriguez (@Juerodriguez) Victor Carlos (@tuxtitlan) diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt new file mode 100644 index 0000000000..a8be8f3872 --- /dev/null +++ b/dictionaries/whatsnew_2.7.txt @@ -0,0 +1,5 @@ +argparse +Kuchling +subsistemas +syslogging +Travis diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 848864d105..5e6ab30f33 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -6,37 +6,41 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-16 18:23-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/2.7.rst:3 msgid "What's New in Python 2.7" -msgstr "" +msgstr "Qué hay de nuevo en Python 2.7" #: ../Doc/whatsnew/2.7.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/2.7.rst:5 msgid "A.M. Kuchling (amk at amk.ca)" -msgstr "" +msgstr "A.M. Kuchling (amk en amk.ca)" #: ../Doc/whatsnew/2.7.rst:52 msgid "" "This article explains the new features in Python 2.7. Python 2.7 was " "released on July 3, 2010." msgstr "" +"Este articulo explica las nuevas características en Python 2.7. Python 2.7 " +"fue publicado el 3 de Julio de 2010." #: ../Doc/whatsnew/2.7.rst:55 msgid "" @@ -48,6 +52,13 @@ msgid "" "`~collections.Counter` classes in the :mod:`collections` module, and many " "other improvements." msgstr "" +"El manejo numérico ha sido mejorado en muchas formas, tanto para los números " +"de punto flotante como para la clase :class:`~decimal.Decimal`. Hay algunas " +"adiciones útiles a la biblioteca estándar, como una gran mejora al modulo :" +"mod:`unittest`, el modulo :mod:`argparse` para analizar las opciones de la " +"línea de comandos, adecuando las clases :class:`~collections.OrderedDict` y :" +"class:`~collections.Counter` en el modulo :mod:`collections`, y muchas otras " +"mejoras." #: ../Doc/whatsnew/2.7.rst:63 msgid "" @@ -55,6 +66,10 @@ msgid "" "making it a good release for the long term. To help with porting to Python " "3, several new features from the Python 3.x series have been included in 2.7." msgstr "" +"Python 2.7 esta previsto que sea el ultimo lanzamiento de la serie 2.x, así " +"que hemos trabajado para que sea una versión a largo plazo. Para ayudar con " +"la migración a Python 3, se han incluido varias características nuevas de la " +"serie Python 3.x en 2.7." #: ../Doc/whatsnew/2.7.rst:68 msgid "" @@ -66,12 +81,21 @@ msgid "" "python.org in which a change was discussed. Whenever possible, \"What's New " "in Python\" links to the bug/patch item for each change." msgstr "" +"Este articulo no intenta proporcionar una especificación completa de las " +"nuevas características, sino que proporciona una visión general " +"conveniente. Para obtener mas información, debería consultar la " +"documentación de Python 2.7 en https://docs.python.org. Si desea comprender " +"la justificación para el diseño y la implementación, consultar el PEP para " +"una nueva característica particular o el error en el que se discutió un " +"cambio en https://bugs.python.org. Siempre que sea posible, \"Que hay de " +"nuevo en Python\" enlaza el elemento error/parche para cada cambio." #: ../Doc/whatsnew/2.7.rst:80 msgid "The Future for Python 2.x" -msgstr "" +msgstr "El futuro de Python 2.x" #: ../Doc/whatsnew/2.7.rst:82 +#, fuzzy msgid "" "Python 2.7 is the last major release in the 2.x series, as the Python " "maintainers have shifted the focus of their new feature development efforts " @@ -80,6 +104,13 @@ msgid "" "versions of supported operated systems, there will be no new full feature " "releases for the language or standard library." msgstr "" +"Python 2.7 es el último lanzamiento importante de la serie 2.x, ya que los " +"mantenedores de Python han cambiado el enfoque de sus esfuerzos en el " +"desarrollo de nuevas características para la serie de Python 3.x. Esto " +"significa que mientras Python 2 continúe recibiendo corrección de errores, y " +"sea actualizado para construir correctamente sobre nuevo hardware y " +"versiones de sistemas operativos compatibles, no habrá nuevas versiones " +"completas de funciones para el idioma o la biblioteca estándar." #: ../Doc/whatsnew/2.7.rst:89 msgid "" @@ -90,6 +121,13 @@ msgid "" "and preferably robust automated regression test suites, to migrate " "effectively." msgstr "" +"Sin embargo, si bien existe un gran subconjunto común entre Python 2.7 y " +"Python 3, y muchos de los cambios involucrados en la migración a ese " +"subconjunto común, o directamente a Python 3, se pueden automatizar de " +"manera segura, algunos otros cambios (en particular los asociados con el " +"manejo de Unicode) puede requerir una consideración cuidadosa, y " +"preferiblemente conjuntos de pruebas de regresión automatizada robustos, " +"para migrar de manera efectiva." #: ../Doc/whatsnew/2.7.rst:96 msgid "" @@ -98,10 +136,16 @@ msgid "" "been ported to Python 3. The full expected lifecycle of the Python 2.7 " "series is detailed in :pep:`373`." msgstr "" +"Esto significa que Python 2.7 permanecerá en su lugar durante un largo " +"tiempo, proporcionando una plataforma base estable y compatible para " +"sistemas de producción que aún no se han adaptado a Python 3. La expectativa " +"completa del ciclo de vida de la versión de Python 2.7 esta detallada en :" +"pep:`373`." #: ../Doc/whatsnew/2.7.rst:101 msgid "Some key consequences of the long-term significance of 2.7 are:" msgstr "" +"Algunas consecuencias clave de la importancia a largo plazo de 2.7 son:" #: ../Doc/whatsnew/2.7.rst:103 msgid "" @@ -111,6 +155,13 @@ msgid "" "bug fixes) until at least 2020 (10 years after its initial release, compared " "to the more typical support period of 18--24 months)." msgstr "" +"Como se señalo anteriormente, la versión 2.7 tiene un período de " +"mantenimiento mucho más largo en comparación con las versiones anteriores 2." +"x. Actualmente se espera que Python 2.7 siga siendo compatible con el equipo " +"de desarrollo central (recibiendo actualizaciones de seguridad y otras " +"correcciones de errores) al menos hasta 2020 (10 años después de su " +"lanzamiento inicial, comparado con el típico periodo de mantenimiento de " +"18--24 meses)." #: ../Doc/whatsnew/2.7.rst:109 msgid "" @@ -124,6 +175,16 @@ msgid "" "packaging.python.org>`__ provides guidance on downloading and installing " "software from the Python Package Index." msgstr "" +"A medida que la biblioteca estándar de Python envejece, hacer un uso eficaz " +"del índice de paquetes de Python (ya sea directamente o a través de un " +"distribuidor) se vuelve mas importante para los usuarios de Python 2. Además " +"de una amplia variedad de paquetes de terceros para diversas tareas, los " +"paquetes disponibles incluyen *backports* de nuevos módulos y " +"características de la biblioteca estándar de Python 3 que son compatibles " +"con Python 2, así como varias herramientas y librerías que pueden hacer mas " +"fácil la migración a Python 3. La `Guía de usuario de paquetes de Python " +"`__ proporciona un información sobre como " +"descargar e instalar software desde el índice de paquetes de Python." #: ../Doc/whatsnew/2.7.rst:119 msgid "" @@ -137,6 +198,16 @@ msgid "" "they were added, will be noted in the :ref:`py27-maintenance-enhancements` " "section below." msgstr "" +"Aunque el enfoque preferido para mejorar Python 2 es ahora la publicación de " +"nuevos paquetes en el índice de paquetes de Python, este enfoque no " +"necesariamente funciona en todos los casos, especialmente aquellos " +"relacionados a la seguridad de la red. En casos excepcionales que no puedan " +"ser manejados adecuadamente mediante la publicación de nuevos paquetes o " +"actualizaciones en PyPI, el proceso de propuestas de mejoras de Python " +"podría ser usado para crear el caso para añadir nuevas funciones a la " +"librería estándar de Python 2. Dichas adiciones, y las versiones de " +"mantenimiento donde fueron agregadas, se observaran en la sección :ref:`py27-" +"maintenance-enhancements` mas abajo." #: ../Doc/whatsnew/2.7.rst:129 msgid "" @@ -146,10 +217,16 @@ msgid "" "on a suitable approach and manage some of the technical details involved. " "The recommended starting point is the :ref:`pyporting-howto` HOWTO guide." msgstr "" +"Para los proyectos que deseen migrar de Python 2 a Python 3, o para los " +"desarrolladores de *frameworks* y libreras que deseen dar soporte a usuarios " +"en Python 2 y Python 3, hay una variedad de herramientas y guías disponibles " +"para ayudarles a decidir sobre un enfoque adecuado y manejar algunos de los " +"detalles técnicos involucrados. El punto de partida recomendado es la guía " +"HOWTO :ref:`pyporting-howto`." #: ../Doc/whatsnew/2.7.rst:137 msgid "Changes to the Handling of Deprecation Warnings" -msgstr "" +msgstr "Cambios en el manejo de las advertencias de desuso" #: ../Doc/whatsnew/2.7.rst:139 msgid "" @@ -160,6 +237,13 @@ msgid "" "in the branch that became Python 3.2. (Discussed on stdlib-sig and carried " "out in :issue:`7319`.)" msgstr "" +"Para Python 2.7, se tomo la decisión de silenciar las advertencias solo de " +"interés para los desarrolladores de manera predeterminada. :exc:" +"`DeprecationWarning`y sus descendientes son ahora ignoradas a menos que se " +"solicite lo contrario, impidiendo a los usuarios estar viendo las " +"advertencias disparadas por una aplicación. Este cambio se realizo en la " +"rama que se convirtió en Python 3.2. (Discutido en stdlib-sig y llevado a " +"cabo en :issue:`7319`)." #: ../Doc/whatsnew/2.7.rst:146 msgid "" @@ -167,6 +251,10 @@ msgid "" "default, providing Python developers with a clear indication of where their " "code may break in a future major version of Python." msgstr "" +"En versiones previas, los mensajes :exc:`DeprecationWarning` estaban " +"habilitados de manera predeterminada, proporcionando a los desarrolladores " +"de Python una indicación clara de donde podría romperse su código en una " +"futura versión principal de Python." #: ../Doc/whatsnew/2.7.rst:151 msgid "" @@ -176,6 +264,12 @@ msgid "" "worry about an application that's actually working correctly and burdening " "application developers with responding to these concerns." msgstr "" +"Sin embargo, cada vez hay más usuarios de aplicaciones basadas en Python que " +"no están directamente involucrados en el desarrollo de esas aplicaciones. " +"Los mensajes :exc:`DeprecationWarning` son irrelevantes para estos usuarios, " +"hacen que se preocupen por una aplicación que realmente está funcionando " +"correctamente y sobrecargando a los desarrolladores de aplicaciones con " +"responder a estas preocupaciones." #: ../Doc/whatsnew/2.7.rst:158 msgid "" @@ -185,16 +279,24 @@ msgid "" "\"default\"`` (or ``\"d\"``) before running Python. Python code can also re-" "enable them by calling ``warnings.simplefilter('default')``." msgstr "" +"Puede volver a habilitar la visualización de los mensajes :exc:" +"`DeprecationWarning` ejecutando Python con el modificador :option:`-Wdefault " +"<-W>` (forma corta: :option:`-Wd <-W>`), o estableciendo la variable de " +"entorno :envvar:`PYTHONWARNINGS` en ``\"default\"`` (o ``\"d\"``) antes de " +"ejecutar Python. El código Python también puede volver a habilitarlos " +"llamando a ''warnings.simplefilter('default')``." #: ../Doc/whatsnew/2.7.rst:165 msgid "" "The ``unittest`` module also automatically reenables deprecation warnings " "when running tests." msgstr "" +"El módulo ``unittest`` también vuelve a instalar automáticamente las " +"advertencias de desuso al ejecutar pruebas." #: ../Doc/whatsnew/2.7.rst:170 msgid "Python 3.1 Features" -msgstr "" +msgstr "Características de Python 3.1" #: ../Doc/whatsnew/2.7.rst:172 msgid "" @@ -202,44 +304,58 @@ msgid "" "incorporates some of the new features in Python 3.1. The 2.x series " "continues to provide tools for migrating to the 3.x series." msgstr "" +"Al igual que Python 2.6 incorporó características de Python 3.0, la versión " +"2.7 incorpora algunas de las nuevas características de Python 3.1. La serie " +"2.x continúa proporcionando herramientas para migrar a la serie 3.x." #: ../Doc/whatsnew/2.7.rst:177 msgid "A partial list of 3.1 features that were backported to 2.7:" msgstr "" +"Una lista parcial de características 3.1 que se retro importaron a 2.7:" #: ../Doc/whatsnew/2.7.rst:179 msgid "The syntax for set literals (``{1,2,3}`` is a mutable set)." msgstr "" +"La sintaxis para establecer literales (``{1,2,3}`` es un conjunto mutable)." #: ../Doc/whatsnew/2.7.rst:180 msgid "Dictionary and set comprehensions (``{i: i*2 for i in range(3)}``)." msgstr "" +"Diccionario y establecimiento de compresiones (``{i: i*2 for i in range(3)}" +"``)." #: ../Doc/whatsnew/2.7.rst:181 msgid "Multiple context managers in a single :keyword:`with` statement." msgstr "" +"Múltiples administradores de contexto en una sola declaración :keyword:" +"`with`." #: ../Doc/whatsnew/2.7.rst:182 msgid "A new version of the :mod:`io` library, rewritten in C for performance." msgstr "" +"Una nueva versión para la librería :mod:`io`, rescrito en C para un mejor " +"desempeño." #: ../Doc/whatsnew/2.7.rst:183 msgid "The ordered-dictionary type described in :ref:`pep-0372`." -msgstr "" +msgstr "El tipo de ordenador de diccionario descrito en :ref:`pep-0372`." #: ../Doc/whatsnew/2.7.rst:184 msgid "The new ``\",\"`` format specifier described in :ref:`pep-0378`." msgstr "" +"El nuevo especificador de formato ``\",\"`` descrito en :ref:`pep-0378`." #: ../Doc/whatsnew/2.7.rst:185 msgid "The :class:`memoryview` object." -msgstr "" +msgstr "El objeto :class:`memoryview`." #: ../Doc/whatsnew/2.7.rst:186 msgid "" "A small subset of the :mod:`importlib` module, `described below <#importlib-" "section>`__." msgstr "" +"Un pequeño subconjunto del modulo :mod:`importlib`, `descrito abajo " +"<#importlib-section>`__." #: ../Doc/whatsnew/2.7.rst:188 msgid "" @@ -248,31 +364,42 @@ msgid "" "in previous versions of Python, it's guaranteed that ``float(repr(x))`` " "recovers ``x``." msgstr "" +"La :func:`repr` de un flotante ``x`` es más corto en muchos casos: ahora se " +"basa en la cadena decimal más corta que se garantiza que redondea a ``x``. " +"Como en versiones anteriores de Python, se garantiza que ``float(repr(x))`` " +"devuelva ``x``." #: ../Doc/whatsnew/2.7.rst:192 msgid "" "Float-to-string and string-to-float conversions are correctly rounded. The :" "func:`round` function is also now correctly rounded." msgstr "" +"Las conversiones flotante a cadena y cadena a flotante se redondean " +"correctamente. La función :func:`round` también ahora se redondea " +"correctamente." #: ../Doc/whatsnew/2.7.rst:194 msgid "" "The :c:type:`PyCapsule` type, used to provide a C API for extension modules." msgstr "" +"El tipo :c:type:`PyCapsule`, utilizado para proporcionar una API de C para " +"módulos de extensión." #: ../Doc/whatsnew/2.7.rst:195 msgid "The :c:func:`PyLong_AsLongAndOverflow` C API function." -msgstr "" +msgstr "La función de API de C :c:func:`PyLong_AsLongAndOverflow`." #: ../Doc/whatsnew/2.7.rst:197 msgid "Other new Python3-mode warnings include:" -msgstr "" +msgstr "Otras nuevas advertencias en modo Python3 incluyen:" #: ../Doc/whatsnew/2.7.rst:199 msgid "" ":func:`operator.isCallable` and :func:`operator.sequenceIncludes`, which are " "not supported in 3.x, now trigger warnings." msgstr "" +":func:`operator.isCallable` y :func:`operator.sequenceIncludes`, que no se " +"admiten en 3.x, ahora activan advertencias." #: ../Doc/whatsnew/2.7.rst:201 msgid "" @@ -280,10 +407,13 @@ msgid "" "switch that causes warnings about using classic division with integers and " "long integers." msgstr "" +"El modificador :option:`!-3` ahora habilita automáticamente el modificador :" +"option:`!-Qwarn` que provoca advertencias sobre el uso de la división " +"clásica con enteros y enteros largos." #: ../Doc/whatsnew/2.7.rst:214 msgid "PEP 372: Adding an Ordered Dictionary to collections" -msgstr "" +msgstr "PEP 372: Adición de un diccionario ordenado a las colecciones" #: ../Doc/whatsnew/2.7.rst:216 msgid "" @@ -293,6 +423,12 @@ msgid "" "the experiences from those implementations, 2.7 introduces a new :class:" "`~collections.OrderedDict` class in the :mod:`collections` module." msgstr "" +"Los diccionarios de python normales recorren en iteración los pares clave/" +"valor en un orden arbitrario. A lo largo de los años, varios autores han " +"escrito implementaciones alternativas que recuerdan el orden en que se " +"insertaron originalmente las claves. Basado en las experiencias de esas " +"implementaciones, 2.7 presenta una nueva clase :class:`~collections." +"OrderedDict` en el módulo :mod:`collections`." #: ../Doc/whatsnew/2.7.rst:222 msgid "" @@ -300,16 +436,23 @@ msgid "" "regular dictionaries but iterates over keys and values in a guaranteed order " "depending on when a key was first inserted::" msgstr "" +"La API :class:`~collections.OrderedDict` proporciona la misma interfaz que " +"los diccionarios normales, pero recorre en iteración las claves y los " +"valores en un orden garantizado en función de cuándo se insertó una clave " +"por primera vez::" #: ../Doc/whatsnew/2.7.rst:233 msgid "" "If a new entry overwrites an existing entry, the original insertion position " "is left unchanged::" msgstr "" +"Si una nueva entrada sobrescribe una entrada existente, la posición de " +"inserción original no se modifica::" #: ../Doc/whatsnew/2.7.rst:240 msgid "Deleting an entry and reinserting it will move it to the end::" msgstr "" +"Borrando una entrada y luego reinsertándola, moverá la misma al final::" #: ../Doc/whatsnew/2.7.rst:247 msgid "" @@ -318,18 +461,26 @@ msgid "" "added key is returned and removed; if it's false, the oldest key is " "selected::" msgstr "" +"El método :meth:`~collections.OrderedDict.popitem` tiene un argumento *last* " +"opcional que por defecto esta en ``True`` (verdadero). Si *last* es " +"verdadero, la ultima llave ingresada es regresada y eliminada; si es falso, " +"se selecciona la llave más antigua::" #: ../Doc/whatsnew/2.7.rst:262 msgid "" "Comparing two ordered dictionaries checks both the keys and values, and " "requires that the insertion order was the same::" msgstr "" +"La comparación de dos diccionarios ordenados comprueba tanto las claves como " +"los valores, y requiere que el orden de inserción sea el mismo::" #: ../Doc/whatsnew/2.7.rst:278 msgid "" "Comparing an :class:`~collections.OrderedDict` with a regular dictionary " "ignores the insertion order and just compares the keys and values." msgstr "" +"Comparando a un :class:`~collections.OrderedDict` con un diccionario normal " +"ignora el orden de inserción y simplemente compara las llaves y los valores." #: ../Doc/whatsnew/2.7.rst:281 msgid "" @@ -338,12 +489,19 @@ msgid "" "secondary dictionary maps keys to their corresponding list node, so deletion " "doesn't have to traverse the entire linked list and therefore remains O(1)." msgstr "" +"¿Cómo funciona :class:`~collections.OrderedDict`? Mantiene una lista " +"doblemente vinculada de claves, añadiendo nuevas claves a la lista a medida " +"que se insertan. Un diccionario secundario asigna las claves a su nodo de " +"lista correspondiente, por lo que la eliminación no tiene que recorrer toda " +"la lista vinculada y, por lo tanto, sigue siendo O(1)." #: ../Doc/whatsnew/2.7.rst:287 msgid "" "The standard library now supports use of ordered dictionaries in several " "modules." msgstr "" +"La biblioteca estándar ahora admite el uso de diccionarios ordenados en " +"varios módulos." #: ../Doc/whatsnew/2.7.rst:290 msgid "" @@ -351,6 +509,9 @@ msgid "" "configuration files can now be read, modified, and then written back in " "their original order." msgstr "" +"El módulo :mod:`ConfigParser` los utiliza de forma predeterminada, lo que " +"significa que los archivos de configuración ahora se pueden leer, modificar " +"y volver a escribir en su orden original." #: ../Doc/whatsnew/2.7.rst:294 msgid "" @@ -358,6 +519,9 @@ msgid "" "`collections.namedtuple` now returns an ordered dictionary with the values " "appearing in the same order as the underlying tuple indices." msgstr "" +"El método :meth:`~collections.somenamedtuple._asdict()` para :func:" +"`collections.namedtuple` ahora devuelve un diccionario ordenado con los " +"valores que aparecen en el mismo orden que los índices de tupla subyacentes." #: ../Doc/whatsnew/2.7.rst:298 msgid "" @@ -366,20 +530,27 @@ msgid "" "instances to be built by the decoder. Support was also added for third-party " "tools like `PyYAML `_." msgstr "" +"El módulo :mod:`json` de la clase constructor :class:`~json.JSONDecoder` se " +"amplió con un parámetro *object_pairs_hook* para permitir que el " +"descodificador compilara instancias :class:`OrderedDict`. También se agregó " +"compatibilidad con herramientas de terceros como `PyYAML `_." #: ../Doc/whatsnew/2.7.rst:307 msgid ":pep:`372` - Adding an ordered dictionary to collections" -msgstr "" +msgstr ":pep:`372` - Adición de un diccionario ordenado a las *collections*" #: ../Doc/whatsnew/2.7.rst:307 msgid "" "PEP written by Armin Ronacher and Raymond Hettinger; implemented by Raymond " "Hettinger." msgstr "" +"PEP escrito por Armin Ronacher y Raymond Hettinger; implementado por Raymond " +"Hettinger." #: ../Doc/whatsnew/2.7.rst:313 msgid "PEP 378: Format Specifier for Thousands Separator" -msgstr "" +msgstr "PEP 378: Especificador de formato para separador de miles" #: ../Doc/whatsnew/2.7.rst:315 msgid "" @@ -387,6 +558,9 @@ msgid "" "large numbers, rendering them as 18,446,744,073,709,551,616 instead of " "18446744073709551616." msgstr "" +"Para que la salida del programa sea más legible, puede ser útil agregar " +"separadores a números grandes, representándolos como " +"18,446,744,073,709,551,616 en lugar de 18446744073709551616." #: ../Doc/whatsnew/2.7.rst:319 msgid "" @@ -396,6 +570,12 @@ msgid "" "unsuitable for multi-threaded applications where different threads are " "producing output for different locales." msgstr "" +"La solución totalmente general para hacer esto es el módulo :mod:`locale`, " +"que puede utilizar diferentes separadores (\",\" en América del Norte, \".\" " +"en Europa) y diferentes tamaños de agrupación, pero :mod:`locale` es " +"complicado de usar y no es adecuado para aplicaciones multiproceso donde " +"diferentes hilos están produciendo resultados para diferentes " +"configuraciones regionales." #: ../Doc/whatsnew/2.7.rst:325 msgid "" @@ -403,10 +583,14 @@ msgid "" "language used by the :meth:`str.format` method. When formatting a floating-" "point number, simply include a comma between the width and the precision::" msgstr "" +"Por lo tanto, se ha añadido un mecanismo simple de agrupación de comas al " +"mini-lenguaje utilizado por el método :meth:`str.format`. Al dar formato a " +"un número de punto flotante, simplemente incluya una coma entre el ancho y " +"la precisión::" #: ../Doc/whatsnew/2.7.rst:333 msgid "When formatting an integer, include the comma after the width:" -msgstr "" +msgstr "Al dar formato a un entero, incluya la coma después del ancho:" #: ../Doc/whatsnew/2.7.rst:338 msgid "" @@ -415,24 +599,30 @@ msgid "" "formatting mechanism isn't as general as the :mod:`locale` module, but it's " "easier to use." msgstr "" +"Este mecanismo no es adaptable en absoluto; Las comas siempre se utilizan " +"como separador y la agrupación siempre está en grupos de tres dígitos. El " +"mecanismo de formato de coma no es tan general como el módulo :mod:`locale`, " +"pero es más fácil de usar." #: ../Doc/whatsnew/2.7.rst:345 msgid ":pep:`378` - Format Specifier for Thousands Separator" -msgstr "" +msgstr ":pep:`378` - Especificador de formato para separador de miles" #: ../Doc/whatsnew/2.7.rst:346 msgid "PEP written by Raymond Hettinger; implemented by Eric Smith." -msgstr "" +msgstr "PEP escrito por Raymond Hettinger; implementado por Eric Smith." #: ../Doc/whatsnew/2.7.rst:349 msgid "PEP 389: The argparse Module for Parsing Command Lines" -msgstr "" +msgstr "PEP 389: El módulo argparse para el análisis de líneas de comando" #: ../Doc/whatsnew/2.7.rst:351 msgid "" "The :mod:`argparse` module for parsing command-line arguments was added as a " "more powerful replacement for the :mod:`optparse` module." msgstr "" +"El módulo :mod:`argparse` para analizar argumentos de línea de comandos se " +"agregó como un reemplazo más potente para el módulo :mod:`optparse`." #: ../Doc/whatsnew/2.7.rst:355 msgid "" @@ -446,6 +636,16 @@ msgid "" "`argparse` API consistent with :mod:`optparse`'s interface was discussed but " "rejected as too messy and difficult.)" msgstr "" +"Esto significa que Python ahora admite tres módulos diferentes para analizar " +"argumentos de línea de comandos: :mod:`getopt`, :mod:`optparse`, y :mod:" +"`argparse`. El módulo :mod:`getopt` se parece mucho a la función :c:func:" +"`getopt` de la biblioteca C, por lo que sigue siendo útil si estás " +"escribiendo un prototipo de Python que finalmente se reescribe en C. :mod:" +"`optparse` se vuelve redundante, pero no hay planes para eliminarlo porque " +"hay muchos scripts que todavía lo usan, y no hay una manera automatizada de " +"actualizar estos scripts. (Hacer que la API :mod:`argparse` sea coherente " +"con la interfaz de :mod:`optparse` fue discutido pero rechazado como " +"demasiado desordenado y difícil.)" #: ../Doc/whatsnew/2.7.rst:366 msgid "" @@ -453,22 +653,30 @@ msgid "" "compatibility with earlier versions of Python, use :mod:`argparse` instead " "of :mod:`optparse`." msgstr "" +"En resumen, si estás escribiendo un nuevo script y no necesitas preocuparte " +"por la compatibilidad con versiones anteriores de Python, usa :mod:" +"`argparse` en lugar de :mod:`optparse`." #: ../Doc/whatsnew/2.7.rst:370 msgid "Here's an example::" -msgstr "" +msgstr "Este es un ejemplo::" #: ../Doc/whatsnew/2.7.rst:393 msgid "" "Unless you override it, :option:`!-h` and :option:`!--help` switches are " "automatically added, and produce neatly formatted output::" msgstr "" +"A menos que lo reemplace, los modificadores :option:`!-h` y :option:`!--" +"help` se agregan automáticamente, y producen una salida con formato ordenado:" #: ../Doc/whatsnew/2.7.rst:410 msgid "" "As with :mod:`optparse`, the command-line switches and arguments are " "returned as an object with attributes named by the *dest* parameters::" msgstr "" +"Al igual que con :mod:`optparse`, los modificadores y argumentos de línea de " +"comandos se devuelven como un objeto con atributos denominados por los " +"parámetros *dest*:" #: ../Doc/whatsnew/2.7.rst:425 msgid "" @@ -481,36 +689,47 @@ msgid "" "FileType`, which will automatically open files for you and understands that " "``'-'`` means standard input or output." msgstr "" +":mod:`argparse` tiene una validación mucho más fantasiosa que :mod:" +"`optparse`; puede especificar un número exacto de argumentos como un entero, " +"0 o más argumentos pasando ``'*'``, 1 o más pasando ``'+'``, o un argumento " +"opcional con ``'?'``. Un analizador de nivel superior puede contener sub " +"analizadores para definir subcomandos que tienen diferentes conjuntos de " +"modificadores, como en ``svn commit``, ``svn checkout``, etc. Puede " +"especificar el tipo de un argumento como :class:`~argparse.FileType`, que " +"abrirá automáticamente los archivos y entiende que ``'-'`` significa entrada " +"o salida estándar." #: ../Doc/whatsnew/2.7.rst:438 msgid ":mod:`argparse` documentation" -msgstr "" +msgstr ":mod:`argparse` documentación" #: ../Doc/whatsnew/2.7.rst:438 msgid "The documentation page of the argparse module." -msgstr "" +msgstr "La página de documentación del módulo argparse." #: ../Doc/whatsnew/2.7.rst:442 msgid ":ref:`upgrading-optparse-code`" -msgstr "" +msgstr ":ref:`upgrading-optparse-code`" #: ../Doc/whatsnew/2.7.rst:441 msgid "" "Part of the Python documentation, describing how to convert code that uses :" "mod:`optparse`." msgstr "" +"Parte de la documentación de Python, que describe cómo convertir código que " +"usa :mod:`optparse`." #: ../Doc/whatsnew/2.7.rst:444 msgid ":pep:`389` - argparse - New Command Line Parsing Module" -msgstr "" +msgstr ":pep:`389` - argparse - Nuevo módulo de análisis de línea de comandos" #: ../Doc/whatsnew/2.7.rst:445 msgid "PEP written and implemented by Steven Bethard." -msgstr "" +msgstr "PEP escrito e implementado por Steven Bethard." #: ../Doc/whatsnew/2.7.rst:448 msgid "PEP 391: Dictionary-Based Configuration For Logging" -msgstr "" +msgstr "PEP 391: Configuración basada en diccionarios para el registro" #: ../Doc/whatsnew/2.7.rst:450 msgid "" @@ -519,6 +738,10 @@ msgid "" "messages, format them differently, and direct messages to a varying number " "of handlers." msgstr "" +"El módulo :mod:`logging` es muy flexible; las aplicaciones pueden definir un " +"árbol de subsistemas de registro, y cada registrador de este árbol puede " +"filtrar ciertos mensajes, formatearlos de forma diferente y dirigir mensajes " +"a un número variable de controladores." #: ../Doc/whatsnew/2.7.rst:455 msgid "" @@ -529,6 +752,12 @@ msgid "" "doesn't support configuring filters, and it's messier to generate " "programmatically." msgstr "" +"Toda esta flexibilidad puede requerir mucha configuración. Puede escribir " +"instrucciones Python para crear objetos y establecer sus propiedades, pero " +"una configuración compleja requiere código detallado pero aburrido. :mod:" +"`logging` también es compatible con una función :func:`~logging.fileConfig` " +"que analiza un archivo, pero el formato de archivo no admite la " +"configuración de filtros, y es más complicado generar mediante programación." #: ../Doc/whatsnew/2.7.rst:462 msgid "" @@ -538,6 +767,12 @@ msgid "" "containing JSON; or use a YAML parsing library if one is installed. For " "more information see :ref:`logging-config-api`." msgstr "" +"Python 2.7 agrega una función :func:`~logging.dictConfig` que utiliza un " +"diccionario para configurar el registro. Hay muchas maneras de producir un " +"diccionario de diferentes fuentes: construir uno con código; analizar un " +"archivo que contenga JSON; o utilice una biblioteca de análisis YAML si hay " +"una instalada. Para obtener más información, consulte :ref:`logging-config-" +"api`." #: ../Doc/whatsnew/2.7.rst:468 msgid "" @@ -547,12 +782,20 @@ msgid "" "will be written to a :file:`network.log` file that will be rotated once the " "log reaches 1MB." msgstr "" +"En el ejemplo siguiente se configuran dos registradores, el registrador raíz " +"y un registrador denominado \"network\". Los mensajes enviados al " +"registrador raíz se enviarán al registro del sistema mediante el protocolo " +"syslog, y los mensajes al registrador de la \"network\" se escribirán en un " +"archivo :file:`network.log` que se rotará una vez que el registro alcance " +"1MB." #: ../Doc/whatsnew/2.7.rst:518 msgid "" "Three smaller enhancements to the :mod:`logging` module, all implemented by " "Vinay Sajip, are:" msgstr "" +"Tres mejoras más pequeñas en el módulo :mod:`logging`, todas implementadas " +"por Vinay Sajip, son:" #: ../Doc/whatsnew/2.7.rst:523 msgid "" @@ -561,6 +804,11 @@ msgid "" "socket to use, either :const:`socket.SOCK_DGRAM` for UDP or :const:`socket." "SOCK_STREAM` for TCP. The default protocol remains UDP." msgstr "" +"La clase :class:`~logging.handlers.SysLogHandler` ahora admite syslogging a " +"través de TCP. El constructor tiene un parámetro *socktype* que proporciona " +"el tipo de socket que se va a usar, ya sea :const:`socket.SOCK_DGRAM` para " +"UDP o :const:`socket.SOCK_STREAM` para TCP. El protocolo predeterminado " +"sigue siendo UDP." #: ../Doc/whatsnew/2.7.rst:529 msgid "" @@ -570,6 +818,11 @@ msgid "" "calling ``log.getChild('network.listen')`` is equivalent to ``getLogger('app." "network.listen')``." msgstr "" +"Las instancias :class:`~logging.Logger` ganaron un método :meth:`~logging." +"Logger.getChild` que recupera un registrador descendiente mediante una ruta " +"de acceso relativa. Por ejemplo, una vez que se recupera un registrador " +"haciendo ``log = getLogger('app')``, llamando ``log.getChild('network." +"listen')`` es equivalente a ``getLogger('app.network.listen')``." #: ../Doc/whatsnew/2.7.rst:535 msgid "" @@ -577,18 +830,21 @@ msgid "" "LoggerAdapter.isEnabledFor` method that takes a *level* and returns whether " "the underlying logger would process a message of that level of importance." msgstr "" +"La clase :class:`~logging.LoggerAdapter` gano un método :meth:`~logging." +"LoggerAdapter.isEnabledFor` que toma un *nivel* y devuelve si el registrador " +"subyacente procesará un mensaje de ese nivel de importancia." #: ../Doc/whatsnew/2.7.rst:544 msgid ":pep:`391` - Dictionary-Based Configuration For Logging" -msgstr "" +msgstr ":pep:`391` - Configuración basada en diccionarios para el registro" #: ../Doc/whatsnew/2.7.rst:545 msgid "PEP written and implemented by Vinay Sajip." -msgstr "" +msgstr "PEP escrito e implementado por Vinay Sajip." #: ../Doc/whatsnew/2.7.rst:548 msgid "PEP 3106: Dictionary Views" -msgstr "" +msgstr "PEP 3106: Vistas de diccionario" #: ../Doc/whatsnew/2.7.rst:550 msgid "" @@ -596,6 +852,9 @@ msgid "" "`~dict.items` are different in Python 3.x. They return an object called a :" "dfn:`view` instead of a fully materialized list." msgstr "" +"Los métodos de diccionarios :meth:`~dict.keys`, :meth:`~dict.values` y :meth:" +"`~dict.items` son diferentes en Python 3.x. Ellos regresan un objeto " +"llamado :dfn:`view` en lugar de una lista completamente materializada." #: ../Doc/whatsnew/2.7.rst:554 msgid "" @@ -604,24 +863,36 @@ msgid "" "would break. Instead the 3.x versions were added under the new names :meth:" "`~dict.viewkeys`, :meth:`~dict.viewvalues`, and :meth:`~dict.viewitems`." msgstr "" +"No es posible cambiar el retorno de valores de los métodos :meth:`~dict." +"keys`, :meth:`~dict.values` y :meth:`~dict.items` en Python 2.7 porque se " +"rompería demasiado código. En su lugar en las versiones 3.x se fueron " +"agregando bajo los nuevos nombres :meth:`~dict.viewkeys`, :meth:`~dict." +"viewvalues` y :meth:`~dict.viewitems`." #: ../Doc/whatsnew/2.7.rst:568 msgid "" "Views can be iterated over, but the key and item views also behave like " "sets. The ``&`` operator performs intersection, and ``|`` performs a union::" msgstr "" +"Las vistas se pueden iterar, pero las vistas de elementos y claves también " +"se comportan como conjuntos. El operador ``&`` realiza la intersección y ``|" +"`` realiza una unión::" #: ../Doc/whatsnew/2.7.rst:579 msgid "" "The view keeps track of the dictionary and its contents change as the " "dictionary is modified::" msgstr "" +"La vista realiza un seguimiento del diccionario y su contenido cambia a " +"medida que se modifica el diccionario::" #: ../Doc/whatsnew/2.7.rst:589 msgid "" "However, note that you can't add or remove keys while you're iterating over " "the view::" msgstr "" +"Sin embargo, tenga en cuenta que no puede agregar o eliminar claves mientras " +"está iterando sobre la vista::" #: ../Doc/whatsnew/2.7.rst:599 msgid "" @@ -629,56 +900,71 @@ msgid "" "change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and :" "meth:`~dict.items` methods." msgstr "" +"Puede usar los métodos de vista en el código en Python 2.x, y el convertidor " +"2to3 los cambiará a los métodos estándar :meth:`~dict.keys`, :meth:`~dict." +"values` y :meth:`~dict.items`." #: ../Doc/whatsnew/2.7.rst:606 msgid ":pep:`3106` - Revamping dict.keys(), .values() and .items()" -msgstr "" +msgstr ":pep:`3106` - Renovación dict.keys(), .values() y .items()" #: ../Doc/whatsnew/2.7.rst:606 msgid "" "PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; :" "issue:`1967`." msgstr "" +"PEP escrito por Guido van Rossum. Portado a 2.7 por Alexandre Vassalotti; :" +"issue:`1967`." #: ../Doc/whatsnew/2.7.rst:611 msgid "PEP 3137: The memoryview Object" -msgstr "" +msgstr "PEP 3137: El objeto memoryview" #: ../Doc/whatsnew/2.7.rst:613 msgid "" "The :class:`memoryview` object provides a view of another object's memory " "content that matches the :class:`bytes` type's interface." msgstr "" +"El objeto :class:`memoryview` proporciona una vista del contenido de la " +"memoria de otro objeto que coincide con la interfaz de tipo :class:`bytes`." #: ../Doc/whatsnew/2.7.rst:631 msgid "" "The content of the view can be converted to a string of bytes or a list of " "integers:" msgstr "" +"El contenido de la vista se puede convertir en una cadena de bytes o una " +"lista de números enteros:" #: ../Doc/whatsnew/2.7.rst:643 msgid "" ":class:`memoryview` objects allow modifying the underlying object if it's a " "mutable object." msgstr "" +"Los objetos :class:`memoryview` permiten modificar el objeto subyacente si " +"es un objeto mutable." #: ../Doc/whatsnew/2.7.rst:666 msgid ":pep:`3137` - Immutable Bytes and Mutable Buffer" -msgstr "" +msgstr ":pep:`3137` - Bytes inmutables y búfer mutable" #: ../Doc/whatsnew/2.7.rst:665 msgid "" "PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine " "Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`." msgstr "" +"PEP escrito por Guido van Rossum. Implementado por Travis Oliphant, Antoine " +"Pitrou y otros. Portado a 2.7 por Antoine Pitrou; :issue:`2396`." #: ../Doc/whatsnew/2.7.rst:672 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios de lenguaje" #: ../Doc/whatsnew/2.7.rst:674 msgid "Some smaller changes made to the core Python language are:" msgstr "" +"Algunos de los cambios mas pequeños hechos al núcleo del lenguaje de Python " +"son:" #: ../Doc/whatsnew/2.7.rst:676 msgid "" @@ -688,10 +974,15 @@ msgid "" "values. ``{}`` continues to represent an empty dictionary; use ``set()`` for " "an empty set." msgstr "" +"La sintaxis para literales de conjuntos se ha actualizado desde Python 3.x. " +"Los corchetes se utilizan para rodear el contenido del conjunto mutable " +"resultante; los literales de conjunto se distinguen de los diccionarios por " +"no contener dos puntos ni valores. ``{}`` sigue representando un diccionario " +"vacío; use ``set()`` para un conjunto vacío." #: ../Doc/whatsnew/2.7.rst:693 msgid "Backported by Alexandre Vassalotti; :issue:`2335`." -msgstr "" +msgstr "Portado por Alexandre Vassalotti; :issue:`2335`." #: ../Doc/whatsnew/2.7.rst:695 msgid "" @@ -699,10 +990,13 @@ msgid "" "generalizing list/generator comprehensions to use the literal syntax for " "sets and dictionaries." msgstr "" +"El diccionario y las comprensiones de conjuntos son otra característica " +"portada desde 3.x, que generaliza las comprensiones de listas / generadores " +"para usar la sintaxis literal para conjuntos y diccionarios." #: ../Doc/whatsnew/2.7.rst:707 msgid "Backported by Alexandre Vassalotti; :issue:`2333`." -msgstr "" +msgstr "Portado por Alexandre Vassalotti; :issue:`2333`." #: ../Doc/whatsnew/2.7.rst:709 msgid "" @@ -710,22 +1004,30 @@ msgid "" "statement. Context managers are processed from left to right and each one " "is treated as beginning a new :keyword:`!with` statement. This means that::" msgstr "" +"La declaración :keyword:`with` ahora puede usar múltiples administradores de " +"contexto en una declaración. Los administradores de contexto se procesan de " +"izquierda a derecha y cada uno se trata como si comenzara una nueva " +"declaración :keyword:`!with`. Esto significa que::" #: ../Doc/whatsnew/2.7.rst:717 msgid "is equivalent to::" -msgstr "" +msgstr "es equivalente a::" #: ../Doc/whatsnew/2.7.rst:723 msgid "" "The :func:`contextlib.nested` function provides a very similar function, so " "it's no longer necessary and has been deprecated." msgstr "" +"La función :func:`contextlib.nested` provee una función muy similar, por lo " +"que ya no es necesario y ha quedado obsoleto." #: ../Doc/whatsnew/2.7.rst:726 msgid "" "(Proposed in https://codereview.appspot.com/53094; implemented by Georg " "Brandl.)" msgstr "" +"(Propuesta en https://codereview.appspot.com/53094; implementado por Georg " +"Brandl.)" #: ../Doc/whatsnew/2.7.rst:729 msgid "" @@ -737,6 +1039,14 @@ msgid "" "`pickle` and :mod:`json` modules; parsing of float and imaginary literals in " "Python code; and :class:`~decimal.Decimal`-to-float conversion." msgstr "" +"Las conversiones entre números de punto flotante y cadenas ahora se " +"redondean correctamente en la mayoría de las plataformas. Estas conversiones " +"ocurren en muchos lugares diferentes: :func:`str` en flotantes y números " +"complejos; los constructores :class:`float` y :class:`complex`; formato " +"numérico; serializar y deserializar flotantes y números complejos usando los " +"módulos :mod:`marshal`, :mod:`pickle` y :mod:`json`; análisis de literales " +"flotantes e imaginarios en código Python; y conversión :class:`~decimal." +"Decimal` a flotante." #: ../Doc/whatsnew/2.7.rst:741 msgid "" @@ -745,6 +1055,11 @@ msgid "" "back to *x* under correct rounding (with round-half-to-even rounding mode). " "Previously it gave a string based on rounding x to 17 decimal digits." msgstr "" +"Relacionado con esto, el :func:`repr` de un número de punto flotante *x* " +"ahora devuelve un resultado basado en la cadena decimal más corta que se " +"garantiza que se redondeará a *x* con el redondeo correcto (con el modo de " +"redondeo *round-half-to-even*). Anteriormente, daba una cadena basada en " +"redondear x a 17 dígitos decimales." #: ../Doc/whatsnew/2.7.rst:749 msgid "" From 29f7caabb17d83a8e6e6b271a58cefcd3c037ddb Mon Sep 17 00:00:00 2001 From: Juan Molina Riddell Date: Mon, 21 Dec 2020 05:40:54 -0300 Subject: [PATCH 105/153] Traducido library/numbers (#1185) --- library/numbers.po | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/library/numbers.po b/library/numbers.po index 56cb1efe4a..71ff1ddc6d 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-10-12 12:37-0300\n" +"PO-Revision-Date: 2020-12-20 19:28-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -184,6 +184,12 @@ msgid "" "there. For subtypes of :class:`Integral`, this means that :meth:`__add__` " "and :meth:`__radd__` should be defined as::" msgstr "" +"Queremos implementar las operaciones aritméticas tal que las operaciones de " +"modo mixto llamen a una implementación cuyo autor conocía los tipos de ambos " +"argumentos, o convertir ambos argumentos al tipo incorporado más cercano " +"antes de hacer la operación. Para subtipos de :class:`Integral`, esto " +"significa que :meth:`__add__` y :meth:`__radd__` tienen que ser definidos " +"como::" # boilerplate -> repetitivo --revisar en todo el archivo #: ../Doc/library/numbers.rst:152 From 2719c78b9ef55f2be3281cb7d933be2392a4f185 Mon Sep 17 00:00:00 2001 From: Nacho Sanz <39072480+elnaquete@users.noreply.github.com> Date: Mon, 21 Dec 2020 10:18:38 -0300 Subject: [PATCH 106/153] traduccion-library-aifc (#1169) --- TRANSLATORS | 1 + library/aifc.po | 132 +++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 116 insertions(+), 17 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 794a6a8ac3..a401b3169a 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -135,3 +135,4 @@ Gibran Herrera (@gibranhl) Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) Juan Elias Rodriguez (@Juerodriguez) Victor Carlos (@tuxtitlan) +Ignacio Sanz (@elnaquete) diff --git a/library/aifc.po b/library/aifc.po index 75c51519e1..b6742a43e8 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-20 21:43-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/aifc.rst:2 msgid ":mod:`aifc` --- Read and write AIFF and AIFC files" -msgstr "" +msgstr ":mod:`aifc` — Lee y escribe archivos AIFF y AIFC" #: ../Doc/library/aifc.rst:7 msgid "**Source code:** :source:`Lib/aifc.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/aifc.py`" #: ../Doc/library/aifc.rst:16 msgid "" @@ -32,6 +34,11 @@ msgid "" "samples in a file. AIFF-C is a newer version of the format that includes " "the ability to compress the audio data." msgstr "" +"Este módulo provee soporte para la lectura y escritura de archivos AIFF y " +"AIFF-C. AIFF son las siglas de Formato de Intercambio de Archivos de Audio " +"(*Audio Interchange File Format*), un formato para almacenar muestras de " +"audio digital en un archivo. AIFF-C es una nueva versión del formato que " +"incluye la habilidad de comprimir los datos de audio." #: ../Doc/library/aifc.rst:21 msgid "" @@ -43,6 +50,14 @@ msgid "" "samplesize`` bytes, and a second's worth of audio consists of ``nchannels * " "samplesize * framerate`` bytes." msgstr "" +"Los archivos de audio tienen una serie de parámetros que describen los datos " +"de audio. La tasa de muestreo o tasa de fotogramas se refiere a la cantidad " +"de veces por segundo que se toman muestras del sonido. El número de canales " +"indica si el audio es mono, estéreo o cuadrafónico. Cada fotograma está " +"compuesto de una muestra por canal. El tamaño de la muestra es el tamaño en " +"bytes de cada muestra. De esta manera, un fotograma está formado por " +"``nchannels * samplesize`` bytes, y un segundo de audio está formado por " +"``nchannels * samplesize * framerate`` bytes." #: ../Doc/library/aifc.rst:29 msgid "" @@ -51,10 +66,15 @@ msgid "" "gives a frame size of 4 bytes (2\\*2), and a second's worth occupies " "2\\*2\\*44100 bytes (176,400 bytes)." msgstr "" +"Por ejemplo, el audio de calidad de CD tiene un tamaño de muestreo de 2 " +"bytes (16 bits), usa dos canales (estéreo) y tiene una tasa de fotogramas de " +"44.100 fotogramas/segundo. Esto da como resultado un tamaño del fotograma de " +"4 bytes (2\\*2), y un segundo de audio en esta calidad ocupa 2\\*2\\*44.100 " +"bytes (176.400 bytes)." #: ../Doc/library/aifc.rst:34 msgid "Module :mod:`aifc` defines the following function:" -msgstr "" +msgstr "El módulo :mod:`aifc` define a la siguiente función:" #: ../Doc/library/aifc.rst:39 msgid "" @@ -69,38 +89,56 @@ msgid "" "func:`.open` function may be used in a :keyword:`with` statement. When the :" "keyword:`!with` block completes, the :meth:`~aifc.close` method is called." msgstr "" +"Abre un archivo AIFF o AIFF-C y retorna una instancia de objeto con los " +"métodos descriptos más abajo. El argumento *file* puede ser tanto una cadena " +"de caracteres nombrando a un archivo como un :term:`file object`. *mode* " +"debe ser ``'r'`` o ``'rb'`` cuando el archivo sea abierto para lectura, o " +"``'w'`` o ``'wb'`` cuando lo sea para escritura. Si este argumento se omite, " +"se usará ``file.mode`` si es que existe; en caso contrario se usará " +"``'rb'`` . Cuando se use para escribir el objeto archivo deberá ser " +"\"buscable\" (*seekable*), a menos que se sepa por adelantado cuántas " +"muestras se escribirán en total y use :meth:`writeframesraw` and :meth:" +"`setnframes`. La función :func:`.open` se puede usar dentro de una " +"sentencia :keyword:`with`. Cuando el bloque :keyword:`!with` se complete, se " +"invocará al método :meth:`~aifc.close`." #: ../Doc/library/aifc.rst:50 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "Se agregó soporte para las sentencias :keyword:`with`." #: ../Doc/library/aifc.rst:53 msgid "" "Objects returned by :func:`.open` when a file is opened for reading have the " "following methods:" msgstr "" +"Los objetos que retorna :func:`.open` cuando un archivo es abierto para " +"lectura contienen los siguientes métodos:" #: ../Doc/library/aifc.rst:59 msgid "Return the number of audio channels (1 for mono, 2 for stereo)." -msgstr "" +msgstr "Retorna el número de canales de audio (1 para mono, 2 para estéreo)." #: ../Doc/library/aifc.rst:64 msgid "Return the size in bytes of individual samples." -msgstr "" +msgstr "Retorna el tamaño en bytes de cada muestra." #: ../Doc/library/aifc.rst:69 msgid "Return the sampling rate (number of audio frames per second)." msgstr "" +"Retorna la tasa de muestreo (cantidad de fotogramas de audio por segundo)." #: ../Doc/library/aifc.rst:74 msgid "Return the number of audio frames in the file." -msgstr "" +msgstr "Retorna el número de fotogramas de audio en el archivo." #: ../Doc/library/aifc.rst:79 msgid "" "Return a bytes array of length 4 describing the type of compression used in " "the audio file. For AIFF files, the returned value is ``b'NONE'``." msgstr "" +"Retorna un arreglo de bytes de longitud 4 que describe el tipo de compresión " +"usada en el archivo de audio. Para archivos AIFF, el valor que retorna es " +"``b’NONE’``." #: ../Doc/library/aifc.rst:86 msgid "" @@ -108,13 +146,20 @@ msgid "" "of compression used in the audio file. For AIFF files, the returned value " "is ``b'not compressed'``." msgstr "" +"Retorna un arreglo de bytes con una descripción legible para humanos del " +"tipo de compresión usada en el archivo de audio. Para archivos AIFF, el " +"valor que retorna es ``b’not compressed’`` (no comprimido)." +# ‘output’ lo traduje como ‘salida’. O corresponde usar ‘retorno’? #: ../Doc/library/aifc.rst:93 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" "`get\\*` methods." msgstr "" +"Retorna una tupla nombrada :func:`~collections.namedtuple` ``(nchannels, " +"sampwidth, framerate, nframes, comptype, compname)``, equivalente a la " +"salida de los métodos :meth:`get\\*`." #: ../Doc/library/aifc.rst:100 msgid "" @@ -123,12 +168,19 @@ msgid "" "mark position in frames from the beginning of the data (an integer), the " "third is the name of the mark (a string)." msgstr "" +"Retorna una lista de los marcadores en el archivo de audio. Un marcador " +"consiste de una tupla de tres elementos. El primero es el identificador de " +"marca (*mark ID*, un número entero); el segundo es la posición de la marca, " +"en fotogramas, desde el comienzo de los datos (un número entero); el tercero " +"es el nombre de la marca (una cadena de caracteres)." #: ../Doc/library/aifc.rst:108 msgid "" "Return the tuple as described in :meth:`getmarkers` for the mark with the " "given *id*." msgstr "" +"Retorna una tupla tal como se describe en :meth:`getmarkers` para la marca " +"con el *id* dado." #: ../Doc/library/aifc.rst:114 msgid "" @@ -136,26 +188,33 @@ msgid "" "data is a string containing for each frame the uncompressed samples of all " "channels." msgstr "" +"Lee y retorna los *nframes* fotogramas siguientes del archivo de audio. Los " +"datos los retorna como una cadena de caracteres que contiene, por cada " +"fotograma, las muestras sin comprimir de todos los canales." #: ../Doc/library/aifc.rst:121 msgid "" "Rewind the read pointer. The next :meth:`readframes` will start from the " "beginning." msgstr "" +"Rebobina el puntero de lectura. La próxima ejecución de :meth:`readframes` " +"comenzará desde el comienzo del archivo." #: ../Doc/library/aifc.rst:127 msgid "Seek to the specified frame number." -msgstr "" +msgstr "Busca el número de fotograma especificado." #: ../Doc/library/aifc.rst:132 msgid "Return the current frame number." -msgstr "" +msgstr "Retorna el número de fotograma actual." #: ../Doc/library/aifc.rst:137 msgid "" "Close the AIFF file. After calling this method, the object can no longer be " "used." msgstr "" +"Cierra el archivo AIFF. Después de invocar este método, el objeto no puede " +"usarse más." #: ../Doc/library/aifc.rst:140 msgid "" @@ -166,6 +225,13 @@ msgid "" "Before the first :meth:`writeframes` or :meth:`writeframesraw`, all " "parameters except for the number of frames must be filled in." msgstr "" +"Cuando un archivo se abre para escritura, los objetos que retorna :func:`." +"open` poseen todos los métodos mencionados más arriba, excepto :meth:" +"`readframes` y :meth:`setpos`. Adicionalmente se incluyen los métodos abajo " +"descriptos. Los métodos :meth:`get\\*` sólo pueden ser invocados después de " +"haber invocado su correspondiente método :meth:`set\\*`. Antes de invocar " +"por primera vez :meth:`writeframes` o :meth:`writeframesraw`, todos los " +"parámetros -excepto el número de fotogramas- deben estar completos." #: ../Doc/library/aifc.rst:150 msgid "" @@ -173,6 +239,9 @@ msgid "" "the name of the file ends in ``'.aiff'`` in which case the default is an " "AIFF file." msgstr "" +"Crea un archivo AIFF. Por defecto se crea un archivo AIFF-C, excepto que el " +"nombre del archivo termine en ``'.aiff'``, en cuyo caso se creará un archivo " +"AIFF." #: ../Doc/library/aifc.rst:156 msgid "" @@ -180,18 +249,21 @@ msgid "" "unless the name of the file ends in ``'.aiff'`` in which case the default is " "an AIFF file." msgstr "" +"Crea un archivo AIFF-C. La acción por defecto es que cree un archivo AIFF-C, " +"excepto que el nombre del archivo termine en ``'.aiff'``, en cuyo caso se " +"crea por defecto un archivo AIFF." #: ../Doc/library/aifc.rst:163 msgid "Specify the number of channels in the audio file." -msgstr "" +msgstr "Especifica el número de canales en el archivo de audio." #: ../Doc/library/aifc.rst:168 msgid "Specify the size in bytes of audio samples." -msgstr "" +msgstr "Especifica el tamaño en bytes de las muestras de audio." #: ../Doc/library/aifc.rst:173 msgid "Specify the sampling frequency in frames per second." -msgstr "" +msgstr "Especifica la frecuencia de muestreo en fotogramas por segundo." #: ../Doc/library/aifc.rst:178 msgid "" @@ -199,6 +271,9 @@ msgid "" "this parameter is not set, or not set correctly, the file needs to support " "seeking." msgstr "" +"Especifica el número de fotogramas que se escribirán en el archivo de audio. " +"Si este parámetro no es definido, o si no se lo define correctamente, el " +"archivo necesitará soporte de búsqueda (*seeking*)." #: ../Doc/library/aifc.rst:189 msgid "" @@ -209,6 +284,13 @@ msgid "" "the following compression types are supported: ``b'NONE'``, ``b'ULAW'``, " "``b'ALAW'``, ``b'G722'``." msgstr "" +"Especifica el tipo de compresión. Si no es especificada, los datos de audio " +"no serán comprimidos. En los archivos AIFF la compresión no está disponible. " +"El parámetro de nombre *name* deberá ser una descripción del tipo de " +"compresión legible por humanos, en forma de un arreglo de bytes. El " +"parámetro de tipo *type* deberá ser un arreglo de bytes de longitud 4. " +"Actualmente se soportan los siguientes tipos de compresión: ``b'NONE'``, " +"``b'ULAW'``, ``b'ALAW'``, ``b'G722'``." #: ../Doc/library/aifc.rst:199 msgid "" @@ -216,34 +298,47 @@ msgid "" "the various parameters. This means that it is possible to use the result of " "a :meth:`getparams` call as argument to :meth:`setparams`." msgstr "" +"Establece de una vez todos los parámetros mostrados arriba. El argumento es " +"una tupla compuesta por estos parámetros. Esto quiere decir que es posible " +"usar el resultado de una llamada :meth:`getparams` como argumento para :meth:" +"`setparams`." #: ../Doc/library/aifc.rst:206 msgid "" "Add a mark with the given id (larger than 0), and the given name at the " "given position. This method can be called at any time before :meth:`close`." msgstr "" +"Agrega una marca con el identificador *id* dado (mayor a 0) y el nombre " +"*name* dado, en la posición *pos* dada. Este método se puede invocar en " +"cualquier momento antes de :meth:`close`." #: ../Doc/library/aifc.rst:212 msgid "" "Return the current write position in the output file. Useful in combination " "with :meth:`setmark`." msgstr "" +"Retorna la posición de escritura actual en el archivo de salida. Es útil en " +"combinación con :meth:`setmark`." #: ../Doc/library/aifc.rst:218 msgid "" "Write data to the output file. This method can only be called after the " "audio file parameters have been set." msgstr "" +"Escribe los datos al archivo de salida. Este método sólo se puede invocar " +"una vez establecidos los parámetros del archivo de audio." #: ../Doc/library/aifc.rst:221 ../Doc/library/aifc.rst:230 msgid "Any :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Acepta cualquier :term:`bytes-like object`." #: ../Doc/library/aifc.rst:227 msgid "" "Like :meth:`writeframes`, except that the header of the audio file is not " "updated." msgstr "" +"Funciona igual que :meth:`writeframes`, excepto que el encabezado del " +"archivo de audio no es actualizado." #: ../Doc/library/aifc.rst:236 msgid "" @@ -251,3 +346,6 @@ msgid "" "actual size of the audio data. After calling this method, the object can no " "longer be used." msgstr "" +"Cierra el archivo AIFF. El encabezado del archivo se actualiza para reflejar " +"el tamaño real de los datos de audio. Después de invocar a este método, el " +"objeto no puede usarse más." From 561858e2d4f14266848f891ae3573db68363ee75 Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 18:22:55 +0100 Subject: [PATCH 107/153] =?UTF-8?q?finalizando=20traducci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/turtle.po | 245 +++++++++++++++++++++++++++++++++------------- 1 file changed, 178 insertions(+), 67 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index c38c54fbda..7a932da078 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-29 08:34-0300\n" +"PO-Revision-Date: 2020-12-21 18:22+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3.1\n" -"Last-Translator: Alvar Maciel \n" +"X-Generator: Poedit 2.4.1\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: es_AR\n" @@ -2514,32 +2514,44 @@ msgid "" "extensively via docstrings. So these can be used as online-help via the " "Python help facilities:" msgstr "" +"Los métodos públicos de las clases Screen y Turtle están ampliamente " +"documentados a través de cadenas de documentación. Por lo tanto, estos se " +"pueden usar como ayuda en línea a través de las instalaciones de ayuda de " +"Python:" #: ../Doc/library/turtle.rst:2199 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." msgstr "" +"Cuando se usa IDLE, la información sobre herramientas muestra las firmas y " +"las primeras líneas de las cadenas de documentos de las llamadas de función/" +"método escritas." #: ../Doc/library/turtle.rst:2202 msgid "Calling :func:`help` on methods or functions displays the docstrings::" -msgstr "" +msgstr "Llamar a :func:`help` en métodos o funciones muestra los docstrings ::" #: ../Doc/library/turtle.rst:2233 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" msgstr "" +"Los docstrings de las funciones que se derivan de los métodos tienen una " +"forma modificada:" #: ../Doc/library/turtle.rst:2267 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." msgstr "" +"Estos docstrings modificados se crean automáticamente junto con las " +"definiciones de función que se derivan de los métodos en el momento de la " +"importación." #: ../Doc/library/turtle.rst:2272 msgid "Translation of docstrings into different languages" -msgstr "" +msgstr "Traducción de cadenas de documentos a diferentes idiomas" #: ../Doc/library/turtle.rst:2274 msgid "" @@ -2547,10 +2559,13 @@ msgid "" "names and the values of which are the docstrings of the public methods of " "the classes Screen and Turtle." msgstr "" +"Existe una utilidad para crear un diccionario cuyas claves son los nombres " +"de los métodos y cuyos valores son los docstrings de los métodos públicos de " +"las clases Screen y Turtle." #: ../Doc/library/turtle.rst:2280 msgid "a string, used as filename" -msgstr "" +msgstr "una cadena de caracteres, utilizada como nombre de archivo" #: ../Doc/library/turtle.rst:2282 msgid "" @@ -2560,6 +2575,12 @@ msgid "" "Python script :file:`{filename}.py`. It is intended to serve as a template " "for translation of the docstrings into different languages." msgstr "" +"Crea y escribe un diccionario-docstring en un script de Python con el nombre " +"de archivo dado. Esta función tiene que ser llamada explícitamente (no es " +"utilizada por las clases de gráficos de tortugas). El diccionario de " +"docstrings se escribirá en el script de Python :file:`{filename}.py`. Está " +"destinado a servir como plantilla para la traducción de las cadenas de " +"documentos a diferentes idiomas." #: ../Doc/library/turtle.rst:2288 msgid "" @@ -2567,6 +2588,9 @@ msgid "" "native language, you have to translate the docstrings and save the resulting " "file as e.g. :file:`turtle_docstringdict_german.py`." msgstr "" +"Si usted (o sus estudiantes) desea utilizar :mod:`turtle` con ayuda en línea " +"en su idioma nativo, debe traducir los docstrings y guardar el archivo " +"resultante como, por ejemplo, :file:`turtle_docstringdict_german.py`." #: ../Doc/library/turtle.rst:2292 msgid "" @@ -2574,22 +2598,30 @@ msgid "" "dictionary will be read in at import time and will replace the original " "English docstrings." msgstr "" +"Si tiene una entrada adecuada en su archivo :file:`turtle.cfg`, este " +"diccionario se leerá en el momento de la importación y reemplazará los " +"docstrings originales en inglés." #: ../Doc/library/turtle.rst:2295 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" msgstr "" +"En el momento de escribir este artículo, existen diccionarios de docstrings " +"en alemán e italiano. (Solicitudes por favor a glingl@aon.at.)" #: ../Doc/library/turtle.rst:2301 msgid "How to configure Screen and Turtles" -msgstr "" +msgstr "Cómo configurar Screen and Turtles" #: ../Doc/library/turtle.rst:2303 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." msgstr "" +"La configuración predeterminada incorporada imita la apariencia y el " +"comportamiento del antiguo módulo de tortuga para mantener la mejor " +"compatibilidad posible con él." #: ../Doc/library/turtle.rst:2306 msgid "" @@ -2599,33 +2631,44 @@ msgid "" "be read at import time and modify the configuration according to its " "settings." msgstr "" +"Si desea utilizar una configuración diferente que refleje mejor las " +"características de este módulo o que se adapte mejor a sus necesidades, por " +"ejemplo, para su uso en un aula, puede preparar un archivo de configuración " +"``turtle.cfg`` que se leerá en el momento de la importación y modificará la " +"configuración de acuerdo con su configuración." #: ../Doc/library/turtle.rst:2311 msgid "" "The built in configuration would correspond to the following turtle.cfg::" -msgstr "" +msgstr "La configuración incorporada correspondería al siguiente turtle.cfg::" #: ../Doc/library/turtle.rst:2334 msgid "Short explanation of selected entries:" -msgstr "" +msgstr "Breve explicación de las entradas seleccionadas:" #: ../Doc/library/turtle.rst:2336 msgid "" "The first four lines correspond to the arguments of the :meth:`Screen.setup` " "method." msgstr "" +"Las primeras cuatro líneas corresponden a los argumentos del método :meth:" +"`Screen.setup`." #: ../Doc/library/turtle.rst:2338 msgid "" "Line 5 and 6 correspond to the arguments of the method :meth:`Screen." "screensize`." msgstr "" +"Las líneas 5 y 6 corresponden a los argumentos del método :meth:`Screen." +"screen size`." #: ../Doc/library/turtle.rst:2340 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." msgstr "" +"*shape* puede ser cualquiera de las formas integradas, por ejemplo: arrow, " +"turtle, etc. Para obtener más información, pruebe con ``help(shape)``." #: ../Doc/library/turtle.rst:2342 msgid "" @@ -2633,12 +2676,16 @@ msgid "" "to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " "in the cfg-file)." msgstr "" +"Si no desea usar color de relleno (es decir, hacer que la tortuga sea " +"transparente), debe escribir ``fillcolor = \"\"`` (pero todas las cadenas no " +"vacías no deben tener comillas en el archivo cfg)." #: ../Doc/library/turtle.rst:2345 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." msgstr "" +"Si desea reflejar el estado de la tortuga, debe usar ``resizemode = auto``." #: ../Doc/library/turtle.rst:2347 msgid "" @@ -2646,6 +2693,10 @@ msgid "" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " "on the import path, e.g. in the same directory as :mod:`turtle`." msgstr "" +"Si establece, por ejemplo, ``language = italian`` el docstringdict :file:" +"`turtle_docstringdict_italian.py` se cargará en el momento de la importación " +"(si está presente en la ruta de importación, por ejemplo, en el mismo " +"directorio que :mod:`turtle`." #: ../Doc/library/turtle.rst:2350 msgid "" @@ -2654,6 +2705,10 @@ msgid "" "docstrings to function-docstrings will delete these names from the " "docstrings." msgstr "" +"Las entradas *exampleturtle* y *examplescreen* definen los nombres de estos " +"objetos a medida que aparecen en las cadenas de documentos. La " +"transformación de método-docstrings en función-docstrings eliminará estos " +"nombres de las docstrings." #: ../Doc/library/turtle.rst:2354 msgid "" @@ -2661,6 +2716,9 @@ msgid "" "n switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " "enter the mainloop." msgstr "" +"*using_IDLE*: establezca esto en ``True`` si trabaja regularmente con IDLE y " +"su interruptor -n (\"sin subproceso\"). Esto evitará que :func:`exitonclick` " +"ingrese al bucle principal." #: ../Doc/library/turtle.rst:2358 msgid "" @@ -2668,6 +2726,9 @@ msgid "" "is stored and an additional one in the current working directory. The " "latter will override the settings of the first one." msgstr "" +"Puede haber un archivo :file:`turtle.cfg` en el directorio donde se " +"almacena :mod:`turtle` y uno adicional en el directorio de trabajo actual. " +"Este último anulará la configuración del primero." #: ../Doc/library/turtle.rst:2362 msgid "" @@ -2675,31 +2736,41 @@ msgid "" "You can study it as an example and see its effects when running the demos " "(preferably not from within the demo-viewer)." msgstr "" +"El directorio :file:`Lib/turtledemo` contiene un archivo :file:`turtle.cfg`. " +"Puede estudiarlo como un ejemplo y ver sus efectos al ejecutar las " +"demostraciones (preferiblemente no desde el visor de demostraciones)." #: ../Doc/library/turtle.rst:2368 msgid ":mod:`turtledemo` --- Demo scripts" -msgstr "" +msgstr ":mod:`turtledemo` --- Scripts de demostración" #: ../Doc/library/turtle.rst:2373 msgid "" "The :mod:`turtledemo` package includes a set of demo scripts. These scripts " "can be run and viewed using the supplied demo viewer as follows::" msgstr "" +"El paquete :mod:`turtledemo` incluye un conjunto de scripts de demostración. " +"Estos scripts se pueden ejecutar y visualizar utilizando el visor de " +"demostración suministrado de la siguiente manera:" #: ../Doc/library/turtle.rst:2378 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" +"Alternativamente, puede ejecutar los scripts de demostración " +"individualmente. Por ejemplo, ::" #: ../Doc/library/turtle.rst:2382 msgid "The :mod:`turtledemo` package directory contains:" -msgstr "" +msgstr "El directorio del paquete :mod:`turtledemo` contiene:" #: ../Doc/library/turtle.rst:2384 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." msgstr "" +"Un visor de demostración :file:`__main__.py` que se puede utilizar para ver " +"el código fuente de los scripts y ejecutarlos al mismo tiempo." #: ../Doc/library/turtle.rst:2386 msgid "" @@ -2707,247 +2778,257 @@ msgid "" "module. Examples can be accessed via the Examples menu. They can also be " "run standalone." msgstr "" +"Múltiples scripts que demuestran diferentes características del módulo :mod:" +"`turtle`. Se puede acceder a los ejemplos a través del menú de ejemplos. " +"También se pueden ejecutar de forma independiente." #: ../Doc/library/turtle.rst:2389 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." msgstr "" +"Un archivo :file:`turtle.cfg` que sirve como ejemplo de cómo escribir y usar " +"dichos archivos." #: ../Doc/library/turtle.rst:2392 msgid "The demo scripts are:" -msgstr "" +msgstr "Los scripts de demostración son:" #: ../Doc/library/turtle.rst:2397 msgid "Name" -msgstr "" +msgstr "Nombre" #: ../Doc/library/turtle.rst:2397 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/library/turtle.rst:2397 msgid "Features" -msgstr "" +msgstr "Caracteristicas" #: ../Doc/library/turtle.rst:2399 msgid "bytedesign" -msgstr "" +msgstr "bytedesign" #: ../Doc/library/turtle.rst:2399 msgid "complex classical turtle graphics pattern" -msgstr "" +msgstr "patrón de gráficos de tortuga clásica compleja" #: ../Doc/library/turtle.rst:2399 msgid ":func:`tracer`, delay, :func:`update`" -msgstr "" +msgstr ":func:`tracer`, retrasar (*delay*), :func:`update`" #: ../Doc/library/turtle.rst:2402 msgid "chaos" -msgstr "" +msgstr "caos" #: ../Doc/library/turtle.rst:2402 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" msgstr "" +"gráficos dinámicos de Verhulst, muestra que los cálculos de la computadora " +"pueden generar resultados a veces contra las expectativas del sentido común" #: ../Doc/library/turtle.rst:2402 msgid "world coordinates" -msgstr "" +msgstr "coordenadas mundiales" #: ../Doc/library/turtle.rst:2408 msgid "clock" -msgstr "" +msgstr "reloj" #: ../Doc/library/turtle.rst:2408 msgid "analog clock showing time of your computer" -msgstr "" +msgstr "reloj analógico que muestra la hora de su computadora" #: ../Doc/library/turtle.rst:2408 msgid "turtles as clock's hands, ontimer" -msgstr "" +msgstr "tortugas como manecillas de reloj, temporizador" #: ../Doc/library/turtle.rst:2411 msgid "colormixer" -msgstr "" +msgstr "colormixer" #: ../Doc/library/turtle.rst:2411 msgid "experiment with r, g, b" -msgstr "" +msgstr "experimento con r, g, b" #: ../Doc/library/turtle.rst:2413 msgid "forest" -msgstr "" +msgstr "bosque" #: ../Doc/library/turtle.rst:2413 msgid "3 breadth-first trees" -msgstr "" +msgstr "3 árboles de ancho primero" #: ../Doc/library/turtle.rst:2413 msgid "randomization" -msgstr "" +msgstr "aleatorización" #: ../Doc/library/turtle.rst:2415 msgid "fractalcurves" -msgstr "" +msgstr "fractalcurves" #: ../Doc/library/turtle.rst:2415 msgid "Hilbert & Koch curves" -msgstr "" +msgstr "Curvas Hilbert & Koch" #: ../Doc/library/turtle.rst:2415 msgid "recursion" -msgstr "" +msgstr "recursión" #: ../Doc/library/turtle.rst:2417 msgid "lindenmayer" -msgstr "" +msgstr "lindenmayer" #: ../Doc/library/turtle.rst:2417 msgid "ethnomathematics (indian kolams)" -msgstr "" +msgstr "etnomatemáticas (kolams indios)" #: ../Doc/library/turtle.rst:2417 msgid "L-System" -msgstr "" +msgstr "Sistema-L" #: ../Doc/library/turtle.rst:2420 msgid "minimal_hanoi" -msgstr "" +msgstr "minimal_hanoi" #: ../Doc/library/turtle.rst:2420 msgid "Towers of Hanoi" -msgstr "" +msgstr "Torres de Hanoi" #: ../Doc/library/turtle.rst:2420 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" -msgstr "" +msgstr "Tortugas rectangulares como discos de Hanoi (shape, tamaño de forma)" #: ../Doc/library/turtle.rst:2424 msgid "nim" -msgstr "" +msgstr "nim" #: ../Doc/library/turtle.rst:2424 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" +"juega el clásico juego de nim con tres montones de palos contra la " +"computadora." #: ../Doc/library/turtle.rst:2424 msgid "turtles as nimsticks, event driven (mouse, keyboard)" -msgstr "" +msgstr "tortugas como nimsticks, impulsado por eventos (mouse, teclado)" #: ../Doc/library/turtle.rst:2428 msgid "paint" -msgstr "" +msgstr "pintar" #: ../Doc/library/turtle.rst:2428 msgid "super minimalistic drawing program" -msgstr "" +msgstr "programa de dibujo super minimalista" #: ../Doc/library/turtle.rst:2431 msgid "peace" -msgstr "" +msgstr "paz" #: ../Doc/library/turtle.rst:2431 msgid "elementary" -msgstr "" +msgstr "elemental" #: ../Doc/library/turtle.rst:2431 msgid "turtle: appearance and animation" -msgstr "" +msgstr "turtle: apariencia y animación" #: ../Doc/library/turtle.rst:2434 msgid "penrose" -msgstr "" +msgstr "penrose" #: ../Doc/library/turtle.rst:2434 msgid "aperiodic tiling with kites and darts" -msgstr "" +msgstr "embaldosado aperiódico con cometas y dardos" #: ../Doc/library/turtle.rst:2437 msgid "planet_and_moon" -msgstr "" +msgstr "planet_and_moon" #: ../Doc/library/turtle.rst:2437 msgid "simulation of gravitational system" -msgstr "" +msgstr "simulación de sistema gravitacional" #: ../Doc/library/turtle.rst:2437 msgid "compound shapes, :class:`Vec2D`" -msgstr "" +msgstr "formas compuestas, :class:`Vec2D`" #: ../Doc/library/turtle.rst:2440 msgid "round_dance" -msgstr "" +msgstr "round_dance" #: ../Doc/library/turtle.rst:2440 msgid "dancing turtles rotating pairwise in opposite direction" -msgstr "" +msgstr "tortugas bailarinas que giran por parejas en dirección opuesta" #: ../Doc/library/turtle.rst:2440 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" -msgstr "" +msgstr "formas compuestas, clonar tamaño de forma, tilt, get_shapepoly, update" #: ../Doc/library/turtle.rst:2444 msgid "sorting_animate" -msgstr "" +msgstr "sorting_animate" #: ../Doc/library/turtle.rst:2444 msgid "visual demonstration of different sorting methods" -msgstr "" +msgstr "demostración visual de diferentes métodos de ordenamiento" #: ../Doc/library/turtle.rst:2444 msgid "simple alignment, randomization" -msgstr "" +msgstr "alineación simple, aleatorización" #: ../Doc/library/turtle.rst:2447 msgid "tree" -msgstr "" +msgstr "árbol" #: ../Doc/library/turtle.rst:2447 msgid "a (graphical) breadth first tree (using generators)" -msgstr "" +msgstr "un primer árbol de amplitud (gráfico, usando generadores)" #: ../Doc/library/turtle.rst:2450 msgid "two_canvases" -msgstr "" +msgstr "two_canvases" #: ../Doc/library/turtle.rst:2450 msgid "simple design" -msgstr "" +msgstr "diseño simple" #: ../Doc/library/turtle.rst:2450 msgid "turtles on two canvases" -msgstr "" +msgstr "tortugas en dos lienzos (*two_canvases*)" #: ../Doc/library/turtle.rst:2453 msgid "wikipedia" -msgstr "" +msgstr "wikipedia" #: ../Doc/library/turtle.rst:2453 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "" +"un patrón del artículo de wikipedia sobre gráficos de tortuga (*turtle*)" #: ../Doc/library/turtle.rst:2453 msgid ":func:`clone`, :func:`undo`" -msgstr "" +msgstr ":func:`clone`, :func:`undo`" #: ../Doc/library/turtle.rst:2456 msgid "yinyang" -msgstr "" +msgstr "yinyang" #: ../Doc/library/turtle.rst:2456 msgid "another elementary example" -msgstr "" +msgstr "otro ejemplo elemental" #: ../Doc/library/turtle.rst:2459 msgid "Have fun!" -msgstr "" +msgstr "¡Diviértete!" #: ../Doc/library/turtle.rst:2463 msgid "Changes since Python 2.6" -msgstr "" +msgstr "Cambios desde Python 2.6" #: ../Doc/library/turtle.rst:2465 msgid "" @@ -2958,6 +3039,12 @@ msgid "" "2.6 these methods were merely duplications of the corresponding :class:" "`TurtleScreen`/:class:`Screen`-methods.)" msgstr "" +"Los métodos :meth:`Turtle.tracer`, :meth:`Turtle.window_width` y :meth:" +"`Turtle.window_height` han sido eliminados. Los métodos con estos nombres y " +"funciones ahora están disponibles solo como métodos de :class:`Screen`. Las " +"funciones derivadas de estos permanecen disponibles. (De hecho, ya en Python " +"2.6 estos métodos eran simplemente duplicaciones de los métodos " +"correspondientes :class:`TurtleScreen`/:class:`Screen`)." #: ../Doc/library/turtle.rst:2473 msgid "" @@ -2965,6 +3052,9 @@ msgid "" "`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" "process must be completed with an ``end_fill()`` call." msgstr "" +"El método :meth:`Turtle.fill` ha sido eliminado. El comportamiento de :meth:" +"`begin_fill` y :meth:`end_fill` ha cambiado ligeramente: ahora cada proceso " +"de llenado debe completarse con una llamada ``end_fill()``." #: ../Doc/library/turtle.rst:2478 msgid "" @@ -2972,10 +3062,14 @@ msgid "" "``True`` if a filling process is under way, ``False`` otherwise. This " "behaviour corresponds to a ``fill()`` call without arguments in Python 2.6." msgstr "" +"Se ha añadido un método :meth:`Turtle.filling`. Retorna un valor booleano: " +"``True`` si hay un proceso de llenado en curso, ``False`` en caso contrario. " +"Este comportamiento corresponde a una llamada ``fill()`` sin argumentos en " +"Python 2.6." #: ../Doc/library/turtle.rst:2484 msgid "Changes since Python 3.0" -msgstr "" +msgstr "Cambios desde Python 3.0" #: ../Doc/library/turtle.rst:2486 msgid "" @@ -2985,6 +3079,12 @@ msgid "" "`Turtle.tiltangle` has been enhanced in functionality: it now can be used to " "get or set the tiltangle. :meth:`Turtle.settiltangle` has been deprecated." msgstr "" +"Se han añadido los métodos :meth:`Turtle.shearfactor`, :meth:`Turtle." +"shapetransform` y :meth:`Turtle.get_shapepoly`. Por lo tanto, ahora está " +"disponible la gama completa de transformaciones lineales regulares para " +"transformar formas de tortugas. :meth:`Turtle.tiltangle` se ha mejorado en " +"funcionalidad: ahora se puede usar para obtener o establecer el tiltangle. :" +"meth:`Turtle.settiltangle` ha quedado obsoleto." #: ../Doc/library/turtle.rst:2493 msgid "" @@ -2992,6 +3092,9 @@ msgid "" "`Screen.onkey` which in fact binds actions to the keyrelease event. " "Accordingly the latter has got an alias: :meth:`Screen.onkeyrelease`." msgstr "" +"El método :meth:`Screen.onkeypress` se ha agregado como complemento a :meth:" +"`Screen.onkey` que, de hecho, une las acciones al evento keyrelease. En " +"consecuencia, este último tiene un alias: :meth:`Screen.onkeyrelease`." #: ../Doc/library/turtle.rst:2497 msgid "" @@ -2999,6 +3102,9 @@ msgid "" "with Screen and Turtle objects one must not additionally import :func:" "`mainloop` anymore." msgstr "" +"Se ha añadido el método :meth:`Screen.mainloop`. Entonces, cuando se trabaja " +"solo con objetos Screen y Turtle, ya no se debe importar adicionalmente :" +"func:`mainloop`." #: ../Doc/library/turtle.rst:2501 msgid "" @@ -3006,9 +3112,14 @@ msgid "" "numinput`. These popup input dialogs and return strings and numbers " "respectively." msgstr "" +"Se han añadido dos métodos de entrada :meth:`Screen.textinput` y :meth:" +"`Screen.numinput`. Estos cuadros de diálogo de entrada emergentes y retornan " +"cadenas y números respectivamente." #: ../Doc/library/turtle.rst:2505 msgid "" "Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " "have been added to the :file:`Lib/turtledemo` directory." msgstr "" +"Se han agregado dos scripts de ejemplo :file:`tdemo_nim.py` y :file:" +"`tdemo_round_dance.py` al directorio :file:`Lib/turtledemo`." From fb7acaceafb919024841e31e29b44250a2bc12b7 Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 18:25:33 +0100 Subject: [PATCH 108/153] agregando palabras pospell y powrap --- dictionaries/library_turtle.txt | 11 +++++++++++ library/turtle.po | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/dictionaries/library_turtle.txt b/dictionaries/library_turtle.txt index 23753bf40a..bbd9b2753e 100644 --- a/dictionaries/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -61,3 +61,14 @@ eventollamando n maxval mode +descriptos +etnomatemáticas +Hanoi +update +minimalista +wikipedia +Turtles +Hilbert +Koch +nim +docstringdict diff --git a/library/turtle.po b/library/turtle.po index 7a932da078..533686d8b5 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -2804,7 +2804,7 @@ msgstr "Descripción" #: ../Doc/library/turtle.rst:2397 msgid "Features" -msgstr "Caracteristicas" +msgstr "Características" #: ../Doc/library/turtle.rst:2399 msgid "bytedesign" From 8c0048316246361f98edaf8081258a3e0b38dbfc Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 18:48:34 +0100 Subject: [PATCH 109/153] Fix sphinx roles --- library/smtplib.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 9d91f07a46..136892d09e 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -730,16 +730,16 @@ msgid "" "attribute set to ``True``, and ``SMTPUTF8`` and ``BODY=8BITMIME`` are added " "to *mail_options*." msgstr "" -"``send_message`` serializa *msg* usando :class:`~ email.generator." +"``send_message`` serializa *msg* usando :class:`~email.generator." "BytesGenerator` con``\\ r \\ n`` como *linesep*, y llama a :meth:`sendmail` " "para transmitir el mensaje resultante. Independientemente de los valores de " "*from_addr* y *to_addrs*, ``send_message`` no transmite ningún encabezado :" -"mailheader: `Bcc` o :mailheader:`Resent-Bcc` que puedan aparecer en *msg*. " +"mailheader:`Bcc` o :mailheader:`Resent-Bcc` que puedan aparecer en *msg*. " "Si alguna de las direcciones en *from_addr* y *to_addrs* contiene caracteres " "que no son ASCII y el servidor no anuncia la compatibilidad con " "``SMTPUTF8``, se lanza un error :exc:`SMTPNotSupported`. De lo contrario, " -"el ``Message`` se serializa con un clon de su :mod: `~ email.policy` con el " -"atributo :attr:` ~ email.policy.EmailPolicy.utf8` establecido en ``True`` y " +"el ``Message`` se serializa con un clon de su :mod:`~email.policy` con el " +"atributo :attr:`~email.policy.EmailPolicy.utf8` establecido en ``True`` y " "``SMTPUTF8`` y ``BODY=8BITMIME`` se agregan a *mail_options*." #: ../Doc/library/smtplib.rst:535 From ae4fbf85358fbdcfc94682abcf96894c61844e1c Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 18:49:46 +0100 Subject: [PATCH 110/153] usar retornar en vez de devolver --- library/smtplib.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 136892d09e..ac549ef1e4 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -68,7 +68,7 @@ msgstr "" "`connect` de SMTP se llama con esos parámetros durante la inicialización. " "Si se especifica, *local_hostname* se usa como FQDN del host local in el " "comando HELO/EHLO. De lo contrario, el hostname local se busca usando :func:" -"`socket.getfqdn`. Si la llamada a :meth:`connect` devuelve cualquier cosa " +"`socket.getfqdn`. Si la llamada a :meth:`connect` retorna cualquier cosa " "que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " "parámetro *timeout* opcional especifica un timeout en segundos para bloquear " "operaciones como el intento de conexión (si no se especifica, se utilizará " @@ -224,7 +224,7 @@ msgid "" msgstr "" "Se rechazaron todas las direcciones de destinatarios. Los errores para cada " "destinatario son accesibles mediante el atributo :attr:`recipients`, el cual " -"es un diccionario del mismo tipo que el :meth:`SMTP.sendmail` devuelve." +"es un diccionario del mismo tipo que el :meth:`SMTP.sendmail` retorna." #: ../Doc/library/smtplib.rst:169 msgid "The SMTP server refused to accept the message data." @@ -751,7 +751,7 @@ msgid "" "Terminate the SMTP session and close the connection. Return the result of " "the SMTP ``QUIT`` command." msgstr "" -"Termine la sesión SMTP y cierre la conexión. Devuelve el resultado del " +"Termine la sesión SMTP y cierre la conexión. Retorna el resultado del " "comando SMTP ``QUIT``." #: ../Doc/library/smtplib.rst:545 From 33afb8d195b25a9cc4a9e0d88903cf1c98c22e22 Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 19:42:48 +0100 Subject: [PATCH 111/153] =?UTF-8?q?finalizando=20traducci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/smtplib.po | 218 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 213 insertions(+), 5 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index ac549ef1e4..9e6af4a8b3 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-10-01 23:21+0200\n" +"PO-Revision-Date: 2020-12-21 19:42+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Rubén de Celis Hernández \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "X-Generator: Poedit 2.4.1\n" @@ -86,6 +86,8 @@ msgid "" "For normal use, you should only require the initialization/connect, :meth:" "`sendmail`, and :meth:`SMTP.quit` methods. An example is included below." msgstr "" +"Para un uso normal, solo debe requerir los métodos initialization/connect, :" +"meth:`sendmail` y :meth:`SMTP.quit`. A continuación se incluye un ejemplo." #: ../Doc/library/smtplib.rst:47 msgid "" @@ -93,6 +95,9 @@ msgid "" "like this, the SMTP ``QUIT`` command is issued automatically when the :" "keyword:`!with` statement exits. E.g.::" msgstr "" +"La clase :class:`SMTP` admite la instrucción :keyword:`with`. Cuando se usa " +"así, el comando SMTP ``QUIT`` se emite automáticamente cuando la :keyword:`!" +"with` sale de la instrucción. por ejemplo::" msgid "" "Raises an :ref:`auditing event ` ``smtplib.send`` with arguments " @@ -107,6 +112,9 @@ msgid "" "send`` with arguments ``self`` and ``data``, where ``data`` is the bytes " "about to be sent to the remote host." msgstr "" +"Todos los comandos generarán un :ref:`evento de auditoría ` " +"``smtplib.SMTP.send`` con argumentos ``self`` y ``data``, donde ``data`` son " +"los bytes que están a punto de ser enviado al host remoto." #: ../Doc/library/smtplib.rst:64 msgid "Support for the :keyword:`with` statement was added." @@ -133,6 +141,16 @@ msgid "" "aspects of the secure connection. Please read :ref:`ssl-security` for best " "practices." msgstr "" +"Una instancia de :class:`SMTP_SSL` se comporta exactamente igual que las " +"instancias de :class:`SMTP`. :class:`SMTP_SSL` debe usarse para situaciones " +"donde se requiere SSL desde el comienzo de la conexión y el uso :meth:" +"`starttls` no es apropiado. Si no se especifica *host*, se utiliza el host " +"local. Si *port* es cero, se utiliza el puerto estándar SMTP sobre SSL " +"(465). Los argumentos opcionales *local_hostname*, *timeout* y " +"*source_address* tienen el mismo significado que en la clase :class:`SMTP`. " +"*context*, también opcional, puede contener una :class:`~ssl.SSLContext` y " +"permite configurar varios aspectos de la conexión segura. Por favor lea :ref:" +"`ssl-security` para conocer las mejores prácticas." #: ../Doc/library/smtplib.rst:89 msgid "" @@ -140,6 +158,9 @@ msgid "" "point to a PEM formatted private key and certificate chain file for the SSL " "connection." msgstr "" +"*keyfile* y *certfile* son una alternativa heredada a *context* y pueden " +"apuntar a una clave privada con formato PEM y un archivo de cadena de " +"certificados para la conexión SSL." #: ../Doc/library/smtplib.rst:93 ../Doc/library/smtplib.rst:416 msgid "*context* was added." @@ -150,6 +171,9 @@ msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." msgstr "" +"La clase ahora admite la verificación del nombre de host con :attr:`ssl." +"SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl." +"HAS_SNI`)." #: ../Doc/library/smtplib.rst:106 ../Doc/library/smtplib.rst:402 msgid "" @@ -157,6 +181,10 @@ msgid "" "meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." "create_default_context` select the system's trusted CA certificates for you." msgstr "" +"*keyfile* y *certfile* están obsoletos en favor de *context*. Por favor use :" +"meth:`ssl.SSLContext.load_cert_chain` en su lugar, o deje que :func:`ssl." +"create_default_context` seleccione los certificados CA confiables del " +"sistema para usted." #: ../Doc/library/smtplib.rst:114 msgid "" @@ -167,6 +195,13 @@ msgid "" "meaning as they do in the :class:`SMTP` class. To specify a Unix socket, you " "must use an absolute path for *host*, starting with a '/'." msgstr "" +"El protocolo LMTP, que es muy similar a ESMTP, se basa en gran medida en el " +"cliente SMTP estándar. Es común usar sockets Unix para LMTP, por lo que " +"nuestro método :meth:`connect` debe ser compatible con eso, así como con un " +"servidor host:puerto normal. Los argumentos opcionales local_hostname y " +"source_address tienen el mismo significado que en la clase :class:`SMTP`. " +"Para especificar un socket Unix, debe usar una ruta absoluta para *host*, " +"comenzando con '/'." #: ../Doc/library/smtplib.rst:121 msgid "" @@ -174,6 +209,9 @@ msgid "" "Unix socket, LMTP generally don't support or require any authentication, but " "your mileage might vary." msgstr "" +"Se admite la autenticación mediante el mecanismo SMTP habitual. Cuando se " +"usa un socket Unix, LMTP generalmente no admite ni requiere autenticación, " +"pero su millaje puede variar." #: ../Doc/library/smtplib.rst:126 msgid "A nice selection of exceptions is defined as well:" @@ -197,6 +235,9 @@ msgid "" "an attempt is made to use the :class:`SMTP` instance before connecting it to " "a server." msgstr "" +"Esta excepción se genera cuando el servidor se desconecta inesperadamente o " +"cuando se intenta usar la instancia :class:`SMTP` antes de conectarlo a un " +"servidor." #: ../Doc/library/smtplib.rst:147 msgid "" @@ -205,6 +246,11 @@ msgid "" "error code. The error code is stored in the :attr:`smtp_code` attribute of " "the error, and the :attr:`smtp_error` attribute is set to the error message." msgstr "" +"Clase base para todas las excepciones que incluyen un código de error SMTP. " +"Estas excepciones se generan en algunos casos cuando el servidor SMTP " +"devuelve un código de error. El código de error se almacena en el atributo :" +"attr:`smtp_code` del error, y el atributo :attr:`smtp_error` se establece en " +"el mensaje de error." #: ../Doc/library/smtplib.rst:155 msgid "" @@ -260,6 +306,8 @@ msgid "" "Protocol definition for SMTP. This document covers the model, operating " "procedure, and protocol details for SMTP." msgstr "" +"Definición de protocolo para SMTP. Este documento cubre el modelo, el " +"procedimiento operativo y los detalles del protocolo para SMTP." #: ../Doc/library/smtplib.rst:203 msgid ":rfc:`1869` - SMTP Service Extensions" @@ -271,6 +319,10 @@ msgid "" "extending SMTP with new commands, supporting dynamic discovery of the " "commands provided by the server, and defines a few additional commands." msgstr "" +"Definición de las extensiones ESMTP para SMTP. Esto describe un marco para " +"extender SMTP con nuevos comandos, que admite el descubrimiento dinámico de " +"los comandos proporcionados por el servidor y define algunos comandos " +"adicionales." #: ../Doc/library/smtplib.rst:210 msgid "SMTP Objects" @@ -287,6 +339,10 @@ msgid "" "the server. A value of 2 for *level* results in these messages being " "timestamped." msgstr "" +"Establezca el nivel de salida de depuración. Un valor de 1 o ``True`` para " +"*level* da como resultado mensajes de depuración para la conexión y para " +"todos los mensajes enviados y recibidos desde el servidor. Un valor de 2 " +"para *level* da como resultado que estos mensajes tengan una marca de tiempo." #: ../Doc/library/smtplib.rst:222 msgid "Added debuglevel 2." @@ -297,12 +353,17 @@ msgid "" "Send a command *cmd* to the server. The optional argument *args* is simply " "concatenated to the command, separated by a space." msgstr "" +"Envíe un comando *cmd* al servidor. El argumento opcional *args* simplemente " +"se concatena al comando, separado por un espacio." #: ../Doc/library/smtplib.rst:230 msgid "" "This returns a 2-tuple composed of a numeric response code and the actual " "response line (multiline responses are joined into one long line.)" msgstr "" +"Esto devuelve una tupla de 2 compuestos por un código de respuesta numérico " +"y la línea de respuesta real (las respuestas de varias líneas se unen en una " +"línea larga)." #: ../Doc/library/smtplib.rst:233 msgid "" @@ -310,12 +371,17 @@ msgid "" "explicitly. It is used to implement other methods and may be useful for " "testing private extensions." msgstr "" +"En funcionamiento normal, no debería ser necesario llamar a este método " +"explícitamente. Se utiliza para implementar otros métodos y puede resultar " +"útil para probar extensiones privadas." #: ../Doc/library/smtplib.rst:237 msgid "" "If the connection to the server is lost while waiting for the reply, :exc:" "`SMTPServerDisconnected` will be raised." msgstr "" +"Si se pierde la conexión con el servidor mientras se espera la respuesta, se " +"activará :exc:`SMTPServerDisconnected`." #: ../Doc/library/smtplib.rst:243 msgid "" @@ -327,12 +393,21 @@ msgid "" "Returns a 2-tuple of the response code and message sent by the server in its " "connection response." msgstr "" +"Conéctese a un host en un puerto determinado. Los valores predeterminados " +"son para conectarse al host local en el puerto SMTP estándar (25). Si el " +"nombre de host termina con dos puntos (``':'``) seguido de un número, ese " +"sufijo se eliminará y el número se interpretará como el número de puerto a " +"utilizar. El constructor invoca automáticamente este método si se especifica " +"un host durante la instanciación. Devuelve una tupla de 2 del código de " +"respuesta y el mensaje enviado por el servidor en su respuesta de conexión." #: ../Doc/library/smtplib.rst:251 msgid "" "Raises an :ref:`auditing event ` ``smtplib.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" +"Genera un :ref:`evento de auditoría ` ``smtplib.connect`` con " +"argumentos ``self``, ``host``, ``port``." #: ../Doc/library/smtplib.rst:256 msgid "" @@ -341,6 +416,10 @@ msgid "" "returned by the server is stored as the :attr:`helo_resp` attribute of the " "object." msgstr "" +"Identifíquese en el servidor SMTP usando ``HELO``. El argumento del nombre " +"de host tiene como valor predeterminado el nombre de dominio completo del " +"host local. El mensaje devuelto por el servidor se almacena como el " +"atributo :attr:`helo_resp` del objeto." #: ../Doc/library/smtplib.rst:261 msgid "" @@ -348,6 +427,9 @@ msgid "" "explicitly. It will be implicitly called by the :meth:`sendmail` when " "necessary." msgstr "" +"En funcionamiento normal, no debería ser necesario llamar a este método " +"explícitamente. Será llamado implícitamente por :meth:`sendmail` cuando sea " +"necesario." #: ../Doc/library/smtplib.rst:267 msgid "" @@ -360,6 +442,15 @@ msgid "" "`esmtp_features` will be a dictionary containing the names of the SMTP " "service extensions this server supports, and their parameters (if any)." msgstr "" +"Identifíquese en un servidor ESMTP usando ``EHLO``. El argumento del nombre " +"de host tiene como valor predeterminado el nombre de dominio completo del " +"host local. Examine la respuesta para la opción ESMTP y guárdelos para que " +"los use :meth:`has_extn`. También establece varios atributos informativos: " +"el mensaje devuelto por el servidor se almacena como el atributo :attr:" +"`ehlo_resp`, :attr:`does_esmtp` se establece en verdadero o falso " +"dependiendo de si el servidor admite ESMTP, y :attr:`esmtp_features` será un " +"diccionario que contiene los nombres de las extensiones de servicio SMTP que " +"admite este servidor, y sus parámetros (si los hay)." #: ../Doc/library/smtplib.rst:276 msgid "" @@ -367,6 +458,9 @@ msgid "" "be necessary to call this method explicitly. It will be implicitly called " "by :meth:`sendmail` when necessary." msgstr "" +"A menos que desee utilizar :meth:`has_extn` antes de enviar correo, no " +"debería ser necesario llamar a este método explícitamente. Se llamará " +"implícitamente por :meth:`sendmail` cuando sea necesario." #: ../Doc/library/smtplib.rst:282 msgid "" @@ -374,6 +468,9 @@ msgid "" "previous ``EHLO`` or ``HELO`` command this session. It tries ESMTP ``EHLO`` " "first." msgstr "" +"Este método llama a :meth:`ehlo` o :meth:`helo` si no ha habido ningún " +"comando ``EHLO`` o ``HELO`` anterior en esta sesión. Primero prueba ESMTP " +"``EHLO``." #: ../Doc/library/smtplib.rst:286 ../Doc/library/smtplib.rst:316 #: ../Doc/library/smtplib.rst:408 ../Doc/library/smtplib.rst:477 @@ -390,6 +487,9 @@ msgid "" "Return :const:`True` if *name* is in the set of SMTP service extensions " "returned by the server, :const:`False` otherwise. Case is ignored." msgstr "" +"Retorna :const:`True` si *name* está en el conjunto de extensiones de " +"servicio SMTP devueltas por el servidor, :const:`False` en caso contrario. " +"Se ignora el caso." #: ../Doc/library/smtplib.rst:297 msgid "" @@ -398,10 +498,15 @@ msgid "" "human name) if the user address is valid. Otherwise returns an SMTP error " "code of 400 or greater and an error string." msgstr "" +"Verifique la validez de una dirección en este servidor usando SMTP ``VRFY``. " +"Retorna una tupla que consta del código 250 y una dirección completa :rfc:" +"`822` (incluido el nombre humano) si la dirección del usuario es válida. De " +"lo contrario, devuelve un código de error SMTP de 400 o más y una cadena de " +"error." #: ../Doc/library/smtplib.rst:304 msgid "Many sites disable SMTP ``VRFY`` in order to foil spammers." -msgstr "" +msgstr "Muchos sitios desactivan SMTP ``VRFY`` para frustrar a los spammers." #: ../Doc/library/smtplib.rst:309 msgid "" @@ -411,6 +516,11 @@ msgid "" "``EHLO`` first. This method will return normally if the authentication was " "successful, or may raise the following exceptions:" msgstr "" +"Inicie sesión en un servidor SMTP que requiera autenticación. Los argumentos " +"son el nombre de usuario y la contraseña para autenticarse. Si no ha habido " +"ningún comando ``EHLO`` o ``HELO`` anterior en esta sesión, este método " +"prueba primero ESMTP ``EHLO``. Este método regresará normalmente si la " +"autenticación fue exitosa o puede generar las siguientes excepciones:" #: ../Doc/library/smtplib.rst:319 msgid ":exc:`SMTPAuthenticationError`" @@ -435,7 +545,7 @@ msgstr ":exc:`SMTPException`" #: ../Doc/library/smtplib.rst:325 msgid "No suitable authentication method was found." -msgstr "" +msgstr "No se encontró ningún método de autenticación adecuado." #: ../Doc/library/smtplib.rst:327 msgid "" @@ -444,6 +554,10 @@ msgid "" "for a list of supported authentication methods. *initial_response_ok* is " "passed through to :meth:`auth`." msgstr "" +"Cada uno de los métodos de autenticación admitidos por :mod:`smtplib` se " +"prueban a su vez si se anuncian como admitidos por el servidor. Consulte :" +"meth:`auth` para obtener una lista de los métodos de autenticación " +"admitidos. *initial_response_ok* se pasa a :meth:`auth`." #: ../Doc/library/smtplib.rst:332 msgid "" @@ -452,18 +566,26 @@ msgid "" "in :rfc:`4954` can be sent along with the ``AUTH`` command, rather than " "requiring a challenge/response." msgstr "" +"El argumento de palabra clave opcional *initial_response_ok* especifica si, " +"para los métodos de autenticación que lo admiten, se puede enviar una " +"\"respuesta inicial\" como se especifica en :rfc:`4954` junto con el comando " +"``AUTH``, en lugar de requerir un desafío/respuesta ." #: ../Doc/library/smtplib.rst:337 msgid "" ":exc:`SMTPNotSupportedError` may be raised, and the *initial_response_ok* " "parameter was added." msgstr "" +":exc:`SMTPNotSupportedError` se puede generar y se agregó el parámetro " +"*initial_response_ok*." #: ../Doc/library/smtplib.rst:344 msgid "" "Issue an ``SMTP`` ``AUTH`` command for the specified authentication " "*mechanism*, and handle the challenge response via *authobject*." msgstr "" +"Emita un comando ``SMTP`` ``AUTH`` para el *mechanism* de autenticación " +"especificado y maneje la respuesta de desafío a través de *authobject*." #: ../Doc/library/smtplib.rst:347 msgid "" @@ -471,6 +593,9 @@ msgid "" "argument to the ``AUTH`` command; the valid values are those listed in the " "``auth`` element of :attr:`esmtp_features`." msgstr "" +"*mechanism* especifica qué mecanismo de autenticación se utilizará como " +"argumento para el comando ``AUTH``; los valores válidos son los enumerados " +"en el elemento ``auth`` de :attr:`esmtp_features`." #: ../Doc/library/smtplib.rst:351 msgid "" @@ -493,6 +618,11 @@ msgid "" "``None`` when called with ``challenge=None``. If *initial_response_ok* is " "false, then ``authobject()`` will not be called first with ``None``." msgstr "" +"Si la verificación de respuesta inicial devuelve ``None``, o si " +"*initial_response_ok* es falso, se llamará a ``authobject()`` para procesar " +"la respuesta de desafío del servidor; el argumento *challenge* que se pasa " +"será un ``bytes``. Debería devolver *data* ASCII ``str`` que serán " +"codificados en base64 y enviados al servidor." #: ../Doc/library/smtplib.rst:363 msgid "" @@ -502,6 +632,11 @@ msgid "" "should return ASCII ``str`` *data* that will be base64 encoded and sent to " "the server." msgstr "" +"Si la verificación de respuesta inicial devuelve ``None``, o si " +"*initial_response_ok* es falso, se llamará a ``authobject()`` para procesar " +"la respuesta de desafío del servidor; el argumento *challenge* que se pasa " +"será un ``bytes``. Debería devolver *data* ASCII ``str`` que serán " +"codificados en base64 y enviados al servidor." #: ../Doc/library/smtplib.rst:369 msgid "" @@ -511,6 +646,11 @@ msgid "" "the ``user`` and ``password`` properties of the ``SMTP`` instance are set to " "appropriate values." msgstr "" +"La clase ``SMTP`` proporciona ``authobjects`` para los mecanismos ``CRAM-" +"MD5``, ``PLAIN`` y ``LOGIN``; se denominan ``SMTP.auth_cram_md5``, ``SMTP." +"auth_plain`` y ``SMTP.auth_login`` respectivamente. Todos requieren que las " +"propiedades de ``user`` y ``password`` de la instancia ``SMTP`` se " +"establezcan en los valores adecuados." #: ../Doc/library/smtplib.rst:375 msgid "" @@ -520,6 +660,11 @@ msgid "" "implementation of authentication methods not (or not yet) supported directly " "by :mod:`smtplib`." msgstr "" +"El código de usuario normalmente no necesita llamar a ``auth`` directamente, " +"sino que puede llamar al método :meth:`login`, que probará cada uno de los " +"mecanismos anteriores a su vez, en el orden indicado. ``auth`` está expuesto " +"para facilitar la implementación de métodos de autenticación que no (o aún " +"no) son compatibles directamente con :mod:`smtplib`." #: ../Doc/library/smtplib.rst:386 msgid "" @@ -527,6 +672,9 @@ msgid "" "commands that follow will be encrypted. You should then call :meth:`ehlo` " "again." msgstr "" +"Ponga la conexión SMTP en modo TLS (Seguridad de la capa de transporte). " +"Todos los comandos SMTP que siguen se cifrarán. Entonces deberías llamar a :" +"meth:`ehlo` de nuevo." #: ../Doc/library/smtplib.rst:390 msgid "" @@ -542,6 +690,10 @@ msgid "" "an alternative to using a keyfile and a certfile and if specified both " "*keyfile* and *certfile* should be ``None``." msgstr "" +"El parámetro *context* opcional es un objeto :class:`ssl.SSLContext`; Esta " +"es una alternativa al uso de un archivo de claves y un archivo de " +"certificado y, si se especifica, tanto *keyfile* como *certfile* deben ser " +"``None``." #: ../Doc/library/smtplib.rst:397 msgid "" @@ -570,12 +722,18 @@ msgid "" "The method now supports hostname check with :attr:`SSLContext." "check_hostname` and *Server Name Indicator* (see :data:`~ssl.HAS_SNI`)." msgstr "" +"El método ahora admite la verificación del nombre de host con :attr:" +"`SSLContext.check_hostname` y *Server Name Indicator* (ver :data:`~ssl." +"HAS_SNI`)." #: ../Doc/library/smtplib.rst:424 msgid "" "The error raised for lack of STARTTLS support is now the :exc:" "`SMTPNotSupportedError` subclass instead of the base :exc:`SMTPException`." msgstr "" +"El error generado por falta de compatibilidad con STARTTLS ahora es la " +"subclase :exc:`SMTPNotSupportedError` en lugar de la base :exc:" +"`SMTPException`." #: ../Doc/library/smtplib.rst:432 msgid "" @@ -589,6 +747,16 @@ msgid "" "level methods such as :meth:`mail`, :meth:`rcpt` and :meth:`data` to send " "the message.)" msgstr "" +"Enviar correo. Los argumentos requeridos son :rfc:`822` cadena de dirección " +"de origen, una lista de :rfc:`822` cadenas de dirección (una cadena simple " +"se tratará como una lista con 1 dirección) y una cadena de mensaje. La " +"persona que llama puede pasar una lista de opciones de ESMTP (como " +"``8bitmime``) para usar en los comandos ``MAIL FROM`` como *mail_options*. " +"Las opciones de ESMTP (como los comandos ``DSN``) que deben usarse con todos " +"los comandos ``RCPT`` se pueden pasar como *rcpt_options*. (Si necesita usar " +"diferentes opciones de ESMTP para diferentes destinatarios, debe usar los " +"métodos de bajo nivel como :meth:`mail`, :meth:`rcpt` y :meth:`data` para " +"enviar el mensaje)." #: ../Doc/library/smtplib.rst:443 msgid "" @@ -596,6 +764,9 @@ msgid "" "envelope used by the transport agents. ``sendmail`` does not modify the " "message headers in any way." msgstr "" +"Los parámetros *from_addr* y *to_addrs* se utilizan para construir el sobre " +"del mensaje utilizado por los agentes de transporte. ``sendmail`` no " +"modifica los encabezados de los mensajes de ninguna manera." #: ../Doc/library/smtplib.rst:447 msgid "" @@ -604,6 +775,10 @@ msgid "" "\\r`` and ``\\n`` characters are converted to ``\\r\\n`` characters. A byte " "string is not modified." msgstr "" +"*msg* puede ser una cadena que contenga caracteres en el rango ASCII o una " +"cadena de bytes. Una cadena se codifica en bytes utilizando el códec ascii, " +"y los caracteres ``\\r`` y ``\\n`` solitarios se convierten en caracteres ``" +"\\ r\\n``. Una cadena de bytes no se modifica." #: ../Doc/library/smtplib.rst:452 msgid "" @@ -613,6 +788,11 @@ msgid "" "is in the feature set the server advertises). If ``EHLO`` fails, ``HELO`` " "will be tried and ESMTP options suppressed." msgstr "" +"Si no ha habido ningún comando ``EHLO`` o ``HELO`` anterior en esta sesión, " +"este método prueba primero ESMTP ``EHLO``. Si el servidor utiliza ESMTP, se " +"le pasará el tamaño del mensaje y cada una de las opciones especificadas (si " +"la opción está en el conjunto de funciones que anuncia el servidor). Si " +"``EHLO`` falla, se probará ``HELO`` y se eliminarán las opciones de ESMTP." #: ../Doc/library/smtplib.rst:458 msgid "" @@ -623,6 +803,12 @@ msgid "" "for each recipient that was refused. Each entry contains a tuple of the " "SMTP error code and the accompanying error message sent by the server." msgstr "" +"Este método volverá normalmente si se acepta el correo para al menos un " +"destinatario. De lo contrario, generará una excepción. Es decir, si este " +"método no genera una excepción, alguien debería recibir su correo. Si este " +"método no genera una excepción, devuelve un diccionario, con una entrada " +"para cada destinatario rechazado. Cada entrada contiene una tupla del código " +"de error SMTP y el mensaje de error adjunto enviado por el servidor." #: ../Doc/library/smtplib.rst:465 msgid "" @@ -647,10 +833,14 @@ msgid "" "refused recipients (like the one returned when at least one recipient was " "accepted)." msgstr "" +"Todos los destinatarios fueron rechazados. Nadie recibió el correo. El " +"atributo :attr:`recipients` del objeto de excepción es un diccionario con " +"información sobre los destinatarios rechazados (como el que se retorna " +"cuando se aceptó al menos un destinatario)." #: ../Doc/library/smtplib.rst:480 msgid ":exc:`SMTPSenderRefused`" -msgstr "" +msgstr ":exc:`SMTPSenderRefused`" #: ../Doc/library/smtplib.rst:480 msgid "The server didn't accept the *from_addr*." @@ -692,6 +882,8 @@ msgid "" "``SMTPUTF8`` support added, and :exc:`SMTPNotSupportedError` may be raised " "if ``SMTPUTF8`` is specified but the server does not support it." msgstr "" +"Se agregó compatibilidad con ``SMTPUTF8`` y :exc:`SMTPNotSupportedError` " +"puede aparecer si se especifica ``SMTPUTF8`` pero el servidor no lo admite." #: ../Doc/library/smtplib.rst:504 msgid "" @@ -700,6 +892,10 @@ msgid "" "the same meaning as for :meth:`sendmail`, except that *msg* is a ``Message`` " "object." msgstr "" +"Este es un método conveniente para llamar a :meth:`sendmail` con el mensaje " +"representado por un objeto :class:`email.message.Message`. Los argumentos " +"tienen el mismo significado que para :meth:`sendmail`, excepto que *msg* es " +"un objeto ``Mensaje``." #: ../Doc/library/smtplib.rst:509 msgid "" @@ -715,6 +911,18 @@ msgid "" "`ValueError` is raised, since there is no way to unambiguously detect the " "most recent set of :mailheader:`Resent-` headers." msgstr "" +"Si *from_addr* es ``None`` o *to_addrs* es ``None``, ``send_message`` llena " +"esos argumentos con direcciones extraídas de los encabezados de *msg* como " +"se especifica en :rfc:`5322`\\: *from_addr* se establece en el campo :" +"mailheader:`Sender` si está presente, y de lo contrario, en el campo :" +"mailheader:`From`. *to_addrs* combina los valores (si los hay) de los " +"campos :mailheader:`To`, :mailheader:`Cc` y :mailheader:`Bcc` de *msg*. Si " +"aparece exactamente un conjunto de encabezados :mailheader:`Resent-*` en el " +"mensaje, los encabezados normales se ignoran y en su lugar se utilizan los " +"encabezados :mailheader:`Resent- *`. Si el mensaje contiene más de un " +"conjunto de encabezados :mailheader:`Resent-*`, se lanza un :exc:" +"`ValueError`, ya que no hay forma de detectar sin ambigüedades el conjunto " +"más reciente de encabezados :mailheader:`Resent-`." #: ../Doc/library/smtplib.rst:521 msgid "" From 43784965aa7480b10d11597d176e186fde580c13 Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Mon, 21 Dec 2020 19:43:44 +0100 Subject: [PATCH 112/153] agregar palabras de pospell y powrap --- dictionaries/library_smtplib.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dictionaries/library_smtplib.txt b/dictionaries/library_smtplib.txt index 46e4660c97..293986d100 100644 --- a/dictionaries/library_smtplib.txt +++ b/dictionaries/library_smtplib.txt @@ -1,3 +1,5 @@ timeout host hostname +millaje +Conéctese From 0de6cd5c5d2667ee96447bfe23f5bee169aced54 Mon Sep 17 00:00:00 2001 From: "Ich bin Xaraxx! :P" Date: Sun, 27 Dec 2020 14:07:50 -0500 Subject: [PATCH 113/153] =?UTF-8?q?Traducci=C3=B3n=20del=20archivo=20libra?= =?UTF-8?q?ry/copyreg=20(#1135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/copyreg.po | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/library/copyreg.po b/library/copyreg.po index 962bd9aad4..cdb2f0c99c 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: python-doc-es\n" +"PO-Revision-Date: 2020-11-02 23:07-0500\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/library/copyreg.rst:2 msgid ":mod:`copyreg` --- Register :mod:`pickle` support functions" -msgstr "" +msgstr ":mod:`copyreg` --- Registrar funciones de soporte de :mod:`pickle`" #: ../Doc/library/copyreg.rst:7 msgid "**Source code:** :source:`Lib/copyreg.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/copyreg.py`" #: ../Doc/library/copyreg.rst:15 msgid "" @@ -33,12 +35,22 @@ msgid "" "configuration information about object constructors which are not classes. " "Such constructors may be factory functions or class instances." msgstr "" +"El módulo :mod:`copyreg` ofrece una manera de definir funciones usada cuando " +"se serializan (*pickling*) objectos específicos.Los módulos :mod:`pickle` y :" +"mod:`copy` utilizan estas funciones cuando se realizan acciones de " +"serializado/copiado en esos objetos. El módulo provee información de " +"configuración acerca de los objetos constructores, los cuales no son clases. " +"Estos objetos constructores pueden ser funciones de fábrica o instancias de " +"clase." #: ../Doc/library/copyreg.rst:24 msgid "" "Declares *object* to be a valid constructor. If *object* is not callable " "(and hence not valid as a constructor), raises :exc:`TypeError`." msgstr "" +"Declara que el *object* debe ser un constructor válido. Si el *object* no es " +"invocable (y por lo tanto, no es válido como constructor), lanza una " +"excepción :exc:`TypeError`." #: ../Doc/library/copyreg.rst:30 msgid "" @@ -46,6 +58,9 @@ msgid "" "objects of type *type*. *function* should return either a string or a tuple " "containing two or three elements." msgstr "" +"Declara que la *function* deber ser usada como una función de \"reducción\" " +"para objetos de tipo *type*. La *function* debe retornar ya sea una cadena " +"de caracteres o una tupla que contenga dos o tres elementos." #: ../Doc/library/copyreg.rst:34 msgid "" @@ -54,6 +69,11 @@ msgid "" "arguments returned by *function* at pickling time. :exc:`TypeError` will be " "raised if *object* is a class or *constructor* is not callable." msgstr "" +"El parámetro opcional *constructor*, si se proporciona, es un objeto " +"invocable el cual, que puede ser usado para reconstruir el objeto cuando se " +"llama con la tupla de argumentos retornados por la *function* en el momento " +"de pickling. La excepción :exc:`TypeError` se lanzará si el *objeto* es " +"una clase o si el *constructor* no es invocable." #: ../Doc/library/copyreg.rst:39 msgid "" @@ -62,13 +82,19 @@ msgid "" "dispatch_table` attribute of a pickler object or subclass of :class:`pickle." "Pickler` can also be used for declaring reduction functions." msgstr "" +"Consulte el módulo :mod:`pickle` para más detalles sobre la interfaz " +"esperada de *function* y *constructor*. Note que el atributo :attr:`~pickle." +"Pickler.dispatch_table` de un objeto pickler o subclase de :class:`pickle." +"Pickler` puede también ser utilizado para declarar funciones de reducción." #: ../Doc/library/copyreg.rst:46 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/copyreg.rst:48 msgid "" "The example below would like to show how to register a pickle function and " "how it will be used:" msgstr "" +"El siguiente ejemplo pretende mostrar cómo registrar una función pickle y " +"cómo se utilizará:" From 1282dc679262e79c4e76c97f21c90779bfa3baa0 Mon Sep 17 00:00:00 2001 From: Juan Biondi Date: Sun, 27 Dec 2020 20:10:37 +0100 Subject: [PATCH 114/153] Traducido howto/pyporting.po (#1083) --- dictionaries/howto_pyporting.txt | 8 + howto/pyporting.po | 385 ++++++++++++++++++++++++++++--- 2 files changed, 361 insertions(+), 32 deletions(-) create mode 100644 dictionaries/howto_pyporting.txt diff --git a/dictionaries/howto_pyporting.txt b/dictionaries/howto_pyporting.txt new file mode 100644 index 0000000000..2759816e25 --- /dev/null +++ b/dictionaries/howto_pyporting.txt @@ -0,0 +1,8 @@ +Nick +Futurize +backporting +descodificarlo +dicotomía +lintar +tox +comprobador diff --git a/howto/pyporting.po b/howto/pyporting.po index d43d572316..9a533e0361 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -6,34 +6,36 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-12-27 11:58+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Juan Biondi \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/howto/pyporting.rst:5 msgid "Porting Python 2 Code to Python 3" -msgstr "" +msgstr "Portando código de Python 2 a Python 3" #: ../Doc/howto/pyporting.rst msgid "author" -msgstr "" +msgstr "autor" #: ../Doc/howto/pyporting.rst:7 msgid "Brett Cannon" -msgstr "" +msgstr "Brett Cannon" msgid "Abstract" -msgstr "" +msgstr "Resumen" #: ../Doc/howto/pyporting.rst:11 msgid "" @@ -42,12 +44,18 @@ msgid "" "Python. This guide is meant to help you figure out how best to support both " "Python 2 & 3 simultaneously." msgstr "" +"Dado que Python 3 es el futuro de Python mientras Python 2 todavía está en " +"uso activo, es bueno tener su proyecto disponible para ambas versiones " +"principales de Python. Esta guía está diseñada para ayudarle a averiguar la " +"mejor manera de admitir Python 2 y 3 simultáneamente." #: ../Doc/howto/pyporting.rst:16 msgid "" "If you are looking to port an extension module instead of pure Python code, " "please see :ref:`cporting-howto`." msgstr "" +"Si está buscando portar un módulo de extensión en lugar de código Python " +"puro, consulte :ref:`cporting-howto`." #: ../Doc/howto/pyporting.rst:19 msgid "" @@ -55,54 +63,69 @@ msgid "" "came into existence, you can read Nick Coghlan's `Python 3 Q & A`_ or Brett " "Cannon's `Why Python 3 exists`_." msgstr "" +"Si desea leer la versión de un desarrollador de Python fundamental sobre por " +"qué Python 3 surgió, puede leer `Python 3 Q & A`_ de Nick Coghlan o `Why " +"Python 3 exists`_ de Brett Cannon" #: ../Doc/howto/pyporting.rst:23 msgid "" "For help with porting, you can email the python-porting_ mailing list with " "questions." msgstr "" +"Para obtener ayuda con la migración, puede enviar un correo electrónico a la " +"lista de correo de python-porting_ con preguntas." #: ../Doc/howto/pyporting.rst:27 msgid "The Short Explanation" -msgstr "" +msgstr "La breve explicación" #: ../Doc/howto/pyporting.rst:29 msgid "" "To make your project be single-source Python 2/3 compatible, the basic steps " "are:" msgstr "" +"Para que su proyecto sea compatible con Python 2/3 de una sola fuente, los " +"pasos básicos son:" #: ../Doc/howto/pyporting.rst:32 msgid "Only worry about supporting Python 2.7" -msgstr "" +msgstr "Sólo preocúpate por admitir Python 2.7" #: ../Doc/howto/pyporting.rst:33 msgid "" "Make sure you have good test coverage (coverage.py_ can help; ``pip install " "coverage``)" msgstr "" +"Asegúrese de tener una buena cobertura de prueba (coverage.py_ puede ayudar; " +"``pip install coverage``)" #: ../Doc/howto/pyporting.rst:35 ../Doc/howto/pyporting.rst:116 msgid "Learn the differences between Python 2 & 3" -msgstr "" +msgstr "Aprende las diferencias entre Python 2 & 3" #: ../Doc/howto/pyporting.rst:36 msgid "" "Use Futurize_ (or Modernize_) to update your code (e.g. ``pip install " "future``)" msgstr "" +"Utilice Futurize_ (o Modernize_) para actualizar el código (por ejemplo, " +"``pip install future``)" #: ../Doc/howto/pyporting.rst:37 msgid "" "Use Pylint_ to help make sure you don't regress on your Python 3 support " "(``pip install pylint``)" msgstr "" +"Utilice Pylint_ para asegurarse de que no retrocede en la compatibilidad con " +"Python 3 (``pip install pylint``)" #: ../Doc/howto/pyporting.rst:39 msgid "" "Use caniusepython3_ to find out which of your dependencies are blocking your " "use of Python 3 (``pip install caniusepython3``)" msgstr "" +"Utilice caniusepython3_ para averiguar cuáles de sus dependencias están " +"bloqueando el uso de Python 3 (``pip install caniusepython3``)" #: ../Doc/howto/pyporting.rst:41 msgid "" @@ -110,6 +133,10 @@ msgid "" "integration to make sure you stay compatible with Python 2 & 3 (tox_ can " "help test against multiple versions of Python; ``pip install tox``)" msgstr "" +"Una vez que sus dependencias ya no le estén bloqueando, utilice la " +"integración continua para asegurarse de que sigue siendo compatible con " +"Python 2 & 3 (tox_ puede ayudar a probar con varias versiones de Python; " +"``pip install tox``)" #: ../Doc/howto/pyporting.rst:44 msgid "" @@ -117,10 +144,14 @@ msgid "" "works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " "Python 2 & Python 3)." msgstr "" +"Considere la posibilidad de usar la comprobación de tipos estáticos opcional " +"para asegurarse de que el uso de tipos funciona tanto en Python 2 como 3 " +"(por ejemplo, utilice mypy_ para comprobar la escritura en Python 2 y Python " +"3)." #: ../Doc/howto/pyporting.rst:50 msgid "Details" -msgstr "" +msgstr "Detalles" #: ../Doc/howto/pyporting.rst:52 msgid "" @@ -130,6 +161,12 @@ msgid "" "3. Most changes required to support Python 3 lead to cleaner code using " "newer practices even in Python 2 code." msgstr "" +"Un punto clave sobre el soporte de Python 2 & 3 simultáneamente es que se " +"puede empezar **hoy**! Incluso si sus dependencias no son compatibles con " +"Python 3 todavía eso no significa que no puede modernizar el código " +"**ahora** para admitir Python 3. La mayoría de los cambios necesarios para " +"admitir Python 3 conducen a código más limpio utilizando prácticas más " +"recientes incluso en código Python 2." #: ../Doc/howto/pyporting.rst:58 msgid "" @@ -139,16 +176,24 @@ msgid "" "lower-level work is now mostly done for you and thus can at least benefit " "from the automated changes immediately." msgstr "" +"Otro punto clave es que la modernización del código de Python 2 para que " +"también admita Python 3 está en gran medida automatizada para usted. Si bien " +"es posible que tenga que tomar algunas decisiones de API gracias a python 3 " +"aclarando los datos de texto frente a los datos binarios, el trabajo de " +"nivel inferior ahora se realiza principalmente por usted y, por lo tanto, al " +"menos puede beneficiarse de los cambios automatizados inmediatamente." #: ../Doc/howto/pyporting.rst:64 msgid "" "Keep those key points in mind while you read on about the details of porting " "your code to support Python 2 & 3 simultaneously." msgstr "" +"Tenga en cuenta esos puntos clave mientras lee sobre los detalles de la " +"migración del código para admitir Python 2 & 3 simultáneamente." #: ../Doc/howto/pyporting.rst:69 msgid "Drop support for Python 2.6 and older" -msgstr "" +msgstr "Compatibilidad con Python 2.6 y versiones anteriores" #: ../Doc/howto/pyporting.rst:71 msgid "" @@ -158,6 +203,12 @@ msgid "" "simultaneously (``pip install six``). Do realize, though, that nearly all " "the projects listed in this HOWTO will not be available to you." msgstr "" +"Aunque puede hacer que Python 2.5 funcione con Python 3, es **mucho** más " +"fácil si solo tiene que trabajar con Python 2.7. Si soltar Python 2.5 no es " +"una opción, el proyecto de six_ puede ayudarlo a admitir Python 2.5 & 3 " +"simultáneamente (``pip install six``). Sin embargo, tenga en cuenta que casi " +"todos los proyectos enumerados en este HOWTO no estarán disponibles para " +"usted." #: ../Doc/howto/pyporting.rst:77 msgid "" @@ -167,6 +218,11 @@ msgid "" "or have to import a function instead of using a built-in one, but otherwise " "the overall transformation should not feel foreign to you." msgstr "" +"Si puede omitir Python 2.5 y versiones anteriores, los cambios necesarios en " +"el código deben seguir pareciendo código Python idiomático. En el peor de " +"los casos tendrá que utilizar una función en lugar de un método en algunos " +"casos o tendrá que importar una función en lugar de usar una integrada, pero " +"de lo contrario la transformación general no debería sentirse ajena a usted." #: ../Doc/howto/pyporting.rst:83 msgid "" @@ -178,11 +234,21 @@ msgid "" "simply be easier for you if you only support the versions of Python that you " "have to support." msgstr "" +"Pero usted debe apuntar a sólo apoyar Python 2.7. Python 2.6 ya no se admite " +"libremente y, por lo tanto, no recibe correcciones de errores. Esto " +"significa que **usted** tendrá que solucionar cualquier problema que " +"encuentre con Python 2.6. También hay algunas herramientas mencionadas en " +"este HOWTO que no son compatibles con Python 2.6 (por ejemplo, Pylint_), y " +"esto se volverá más común a medida que pasa el tiempo. Simplemente será más " +"fácil para usted si sólo admite las versiones de Python que tiene que " +"admitir." #: ../Doc/howto/pyporting.rst:92 msgid "" "Make sure you specify the proper version support in your ``setup.py`` file" msgstr "" +"Asegúrese de especificar el soporte de versión adecuado en su archivo " +"``setup.py``" #: ../Doc/howto/pyporting.rst:94 msgid "" @@ -193,10 +259,16 @@ msgid "" "minor version of Python that you do support, e.g. ``Programming Language :: " "Python :: 2.7``." msgstr "" +"En su archivo ``setup.py`` debe tener el `trove classifier`_ adecuado " +"especificando qué versiones de Python admite. Como su proyecto no es " +"compatible con Python 3, al menos debe tener ``Programming Language :: " +"Python :: 2 :: Only`` especificado. Idealmente también debe especificar cada " +"versión principal/menor de Python que admita, por ejemplo, ``Programming " +"Language :: Python :: 2.7``." #: ../Doc/howto/pyporting.rst:103 msgid "Have good test coverage" -msgstr "" +msgstr "Tener una buena cobertura de prueba" #: ../Doc/howto/pyporting.rst:105 #, python-format @@ -210,6 +282,15 @@ msgid "" "get better than 90% coverage). If you don't already have a tool to measure " "test coverage then coverage.py_ is recommended." msgstr "" +"Una vez que tenga el código que admita la versión más antigua de Python 2 " +"que desee, querrá asegurarse de que su conjunto de pruebas tenga una buena " +"cobertura. Una buena regla general es que si desea tener la confianza " +"suficiente en el conjunto de pruebas que los errores que aparecen después de " +"tener herramientas reescriben el código son errores reales en las " +"herramientas y no en el código. Si desea que un número para apuntar, trate " +"de obtener más del 80% de cobertura (y no se sienta mal si le resulta " +"difícil obtener una cobertura superior al 90%). Si aún no tiene una " +"herramienta para medir la cobertura de la prueba, se recomienda coverage.py_." #: ../Doc/howto/pyporting.rst:118 msgid "" @@ -221,10 +302,18 @@ msgid "" "each release of Python 3 and the `Porting to Python 3`_ book (which is free " "online). There is also a handy `cheat sheet`_ from the Python-Future project." msgstr "" +"Una vez que tenga su código bien probado, ¡está listo para comenzar a migrar " +"su código a Python 3! Pero para comprender completamente cómo va a cambiar " +"el código y qué desea tener en cuenta mientras codifica, querrá aprender qué " +"cambios produce Python 3 en términos de Python 2. Típicamente las dos " +"mejores maneras de hacer eso es leer la documentación :ref:`\"What's New\" " +"` para cada versión de Python 3 y el libro `Porting to " +"Python 3`_ (que es gratis en línea). También hay una práctica `cheat sheet`_ " +"del proyecto Python-Future.." #: ../Doc/howto/pyporting.rst:128 msgid "Update your code" -msgstr "" +msgstr "Actualiza tu código" #: ../Doc/howto/pyporting.rst:130 msgid "" @@ -240,6 +329,18 @@ msgid "" "future, it might be best to consider Futurize to begin adjusting to any new " "practices that Python 3 introduces which you are not accustomed to yet." msgstr "" +"Una vez que sientas que sabes lo que es diferente en Python 3 en comparación " +"con Python 2, ¡es hora de actualizar tu código! Puede elegir entre dos " +"herramientas para migrar el código automáticamente: Futurize_ y Modernize_. " +"La herramienta que elija dependerá de la cantidad similar a Python 3 que " +"desea que sea el código. Futurize_ hace todo lo posible para que Python 3 " +"modismos y prácticas existan en Python 2, por ejemplo, backporting el tipo " +"``bytes`` de Python 3 para que tenga paridad semántica entre las versiones " +"principales de Python. Modernize_, por otro lado, es más conservador y se " +"dirige a un subconjunto de Python 2/3 de Python, basándose directamente en " +"six_ para ayudar a proporcionar compatibilidad. Como Python 3 es el futuro, " +"podría ser mejor considerar Futurize para comenzar a adaptarse a cualquier " +"nueva práctica que Python 3 introduce a la que aún no está acostumbrado." #: ../Doc/howto/pyporting.rst:142 msgid "" @@ -252,6 +353,15 @@ msgid "" "transform your application code knowing that any tests which fail is a " "translation failure." msgstr "" +"Independientemente de la herramienta que elija, actualizarán el código para " +"que se ejecute en Python 3 mientras se mantienen compatibles con la versión " +"de Python 2 con la que comenzó. Dependiendo de lo conservador que desee ser, " +"es posible que desee ejecutar la herramienta sobre el conjunto de pruebas " +"primero e inspeccionar visualmente la diferencia para asegurarse de que la " +"transformación es precisa. Después de transformar el conjunto de pruebas y " +"comprobar que todas las pruebas siguen pasando según lo esperado, puede " +"transformar el código de la aplicación sabiendo que cualquier prueba que " +"falle es un error de traducción." #: ../Doc/howto/pyporting.rst:150 msgid "" @@ -266,10 +376,22 @@ msgid "" "watch out for which can be considered large issues that may be hard to debug " "if not watched for." msgstr "" +"Desafortunadamente, las herramientas no pueden automatizar todo para que su " +"código funcione bajo Python 3 y por lo que hay un puñado de cosas que tendrá " +"que actualizar manualmente para obtener soporte completo de Python 3 (cuáles " +"de estos pasos son necesarios varían entre las herramientas). Lea la " +"documentación de la herramienta que elige utilizar para ver lo que corrige " +"de forma predeterminada y lo que puede hacer opcionalmente para saber lo que " +"(no) se fijará para usted y lo que puede tener que corregir por su cuenta " +"(por ejemplo, usando ``io.open()`` sobre la función incorporada ``open()`` " +"está desactivada por defecto en Modernizar). Afortunadamente, sin embargo, " +"sólo hay un par de cosas a tener en cuenta por las cuales se pueden " +"considerar grandes problemas que pueden ser difíciles de depurar si no se " +"observan." #: ../Doc/howto/pyporting.rst:162 msgid "Division" -msgstr "" +msgstr "División" #: ../Doc/howto/pyporting.rst:164 msgid "" @@ -281,16 +403,26 @@ msgid "" "Q`` flag. If you have not been doing this then you will need to go through " "your code and do two things:" msgstr "" +"En Python 3, ``5 / 2 == 2.5`` y no ``2``; toda división entre los valores " +"``int`` da lugar a un ``float``. Este cambio ha sido planeado desde Python " +"2.2, que fue lanzado en 2002. Desde entonces, se ha alentado a los usuarios " +"a añadir ``from __future__ import division`` a todos y cada uno de los " +"archivos que utilizan los operadores ``/`` y ``//`` o que ejecuten el " +"intérprete con el indicador ``-Q``. Si no ha estado haciendo esto, entonces " +"tendrá que ir a través de su código y hacer dos cosas:" #: ../Doc/howto/pyporting.rst:172 msgid "Add ``from __future__ import division`` to your files" -msgstr "" +msgstr "Añadir ``from __future__ import division`` a sus archivos" #: ../Doc/howto/pyporting.rst:173 msgid "" "Update any division operator as necessary to either use ``//`` to use floor " "division or continue using ``/`` and expect a float" msgstr "" +"Actualice cualquier operador de división según sea necesario para utilizar " +"``//`` para usar la división de suelo o continuar usando ``/`` y esperar un " +"número flotante" #: ../Doc/howto/pyporting.rst:176 msgid "" @@ -299,10 +431,15 @@ msgid "" "then your code would begin to fail (e.g. a user-defined class that uses ``/" "`` to signify some operation but not ``//`` for the same thing or at all)." msgstr "" +"La razón por la que ``/`` no se traduce simplemente a ``//`` automáticamente " +"es que si un objeto define un método ``__truediv__`` pero no " +"``__floordiv__`` entonces su código comenzaría a fallar (por ejemplo, una " +"clase definida por el usuario que utiliza ``/`` para significar alguna " +"operación pero no ``//`` para la misma cosa o en absoluto)." #: ../Doc/howto/pyporting.rst:183 msgid "Text versus binary data" -msgstr "" +msgstr "Texto frente a datos binarios" #: ../Doc/howto/pyporting.rst:185 msgid "" @@ -315,6 +452,15 @@ msgid "" "supporting multiple languages as APIs wouldn't bother explicitly supporting " "``unicode`` when they claimed text data support." msgstr "" +"En Python 2 puede usar el tipo ``str`` tanto para texto como para datos " +"binarios. Desafortunadamente, esta confluencia de dos conceptos diferentes " +"podría conducir a código frágil que a veces funcionaba para cualquier tipo " +"de datos, a veces no. También podría dar lugar a API confusas si las " +"personas no declaraban explícitamente que algo que aceptaba ``str`` aceptaba " +"datos binarios o de texto en lugar de un tipo específico. Esto complicó la " +"situación especialmente para cualquier persona que admita varios idiomas, ya " +"que las API no se molestarían explícitamente en admitir explícitamente " +"``Unicode`` cuando reclamaban compatibilidad con datos de texto." #: ../Doc/howto/pyporting.rst:194 msgid "" @@ -327,6 +473,15 @@ msgid "" "it does mean you might have to now care about when you are using text " "compared to binary data, which is why this cannot be entirely automated." msgstr "" +"Para hacer la distinción entre texto y datos binarios más claros y " +"pronunciados, Python 3 hizo lo que la mayoría de los lenguajes creados en la " +"era de Internet han hecho y ha hecho texto y datos binarios distintos tipos " +"que no se pueden mezclar ciegamente (Python es anterior al acceso " +"generalizado a Internet). Para cualquier código que se ocupe solo de texto o " +"solo de datos binarios, esta separación no plantea un problema. Pero para el " +"código que tiene que lidiar con ambos, significa que es posible que tenga " +"que preocuparse ahora cuando está utilizando texto en comparación con los " +"datos binarios, por lo que esto no se puede automatizar por completo." #: ../Doc/howto/pyporting.rst:203 msgid "" @@ -347,38 +502,55 @@ msgid "" "Python 3 doesn't have the method). Do note that as of Python 3.5 the " "``__mod__`` method was added to the bytes type." msgstr "" +"Para empezar, tendrá que decidir qué API toman texto y cuáles toman binario " +"(es **altamente** recomendado no diseñar API que pueden tomar ambos debido a " +"la dificultad de mantener el código funcionando; como se indicó " +"anteriormente es difícil hacerlo bien). En Python 2 esto significa " +"asegurarse de que las API que toman texto pueden trabajar con ``unicode`` y " +"las que funcionan con datos binarios funcionan con el tipo ``bytes`` de " +"Python 3 (que es un subconjunto de ``str`` en Python 2 y actúa como un alias " +"para ``bytes`` tipo en Python 2). Por lo general, el mayor problema es darse " +"cuenta de qué métodos existen en qué tipos en Python 2 y 3 simultáneamente " +"(para el texto que es ``Unicode`` en Python 2 y ``str`` en Python 3, para " +"binario que es ``str``/``bytes`` en Python 2 y ``bytes`` en Python 3). En la " +"tabla siguiente se enumeran los métodos **unicos** de cada tipo de datos en " +"Python 2 y 3 (por ejemplo, el método ``decode()`` se puede utilizar en el " +"tipo de datos binarios equivalente en Python 2 o 3, pero no puede ser " +"utilizado por el tipo de datos textuales consistentemente entre Python 2 y 3 " +"porque ``str`` en Python 3 no tiene el método). Tenga en cuenta que a partir " +"de Python 3.5 se agregó el método ``__mod__`` al tipo bytes." #: ../Doc/howto/pyporting.rst:220 msgid "**Text data**" -msgstr "" +msgstr "**Datos de texto**" #: ../Doc/howto/pyporting.rst:220 msgid "**Binary data**" -msgstr "" +msgstr "**Datos binarios**" #: ../Doc/howto/pyporting.rst:222 msgid "\\" -msgstr "" +msgstr "\\" #: ../Doc/howto/pyporting.rst:222 msgid "decode" -msgstr "" +msgstr "decode" #: ../Doc/howto/pyporting.rst:224 msgid "encode" -msgstr "" +msgstr "encode" #: ../Doc/howto/pyporting.rst:226 msgid "format" -msgstr "" +msgstr "format" #: ../Doc/howto/pyporting.rst:228 msgid "isdecimal" -msgstr "" +msgstr "isdecimal" #: ../Doc/howto/pyporting.rst:230 msgid "isnumeric" -msgstr "" +msgstr "isnumeric" #: ../Doc/howto/pyporting.rst:233 msgid "" @@ -389,6 +561,14 @@ msgid "" "possible. This allows your code to work with only text internally and thus " "eliminates having to keep track of what type of data you are working with." msgstr "" +"La creación de la distinción más fácil de controlar se puede realizar " +"mediante la codificación y descodificación entre datos binarios y texto en " +"el borde del código. Esto significa que cuando reciba texto en datos " +"binarios, debe descodificarlo inmediatamente. Y si el código necesita enviar " +"texto como datos binarios, codificarlo lo más tarde posible. Esto permite " +"que el código funcione solo con texto internamente y, por lo tanto, elimina " +"tener que realizar un seguimiento del tipo de datos con los que está " +"trabajando." #: ../Doc/howto/pyporting.rst:240 msgid "" @@ -399,6 +579,13 @@ msgid "" "unspecified literals to be Unicode, but usage has shown it isn't as " "effective as adding a ``b`` or ``u`` prefix to all literals explicitly)" msgstr "" +"El siguiente problema es asegurarse de saber si los literales de cadena en " +"el código representan texto o datos binarios. Debe agregar un prefijo ``b`` " +"a cualquier literal que presente datos binarios. Para el texto debe agregar " +"un prefijo ``u`` al literal de texto. (hay una importación :mod:`__future__` " +"para forzar que todos los literales no especificados sean Unicode, pero el " +"uso ha demostrado que no es tan eficaz como agregar un prefijo ``b`` o ``u`` " +"a todos los literales explícitamente)" #: ../Doc/howto/pyporting.rst:247 msgid "" @@ -417,6 +604,21 @@ msgid "" "`codecs.open` as that's only necessary for keeping compatibility with Python " "2.5." msgstr "" +"Como parte de esta dicotomía también hay que tener cuidado con la apertura " +"de archivos. A menos que haya estado trabajando en Windows, existe la " +"posibilidad de que no siempre se haya molestado en agregar el modo ``b`` al " +"abrir un archivo binario (por ejemplo, ``rb`` para la lectura binaria). En " +"Python 3, los archivos binarios y los archivos de texto son claramente " +"distintos y mutuamente incompatibles; ver el módulo :mod:`io` para más " +"detalles. Por lo tanto, **debe** tomar una decisión de si un archivo se " +"utilizará para el acceso binario (permitiendo que los datos binarios se lean " +"y/o escriban) o el acceso textual (permitiendo que los datos de texto sean " +"leídos y/o escritos). También debe utilizar :func:`io.open` para abrir " +"archivos en lugar de la función incorporada :func:`open` como el módulo :mod:" +"`io` es consistente de Python 2 a 3, mientras que la función incorporada :" +"func:`open` no es (en Python 3 es en realidad :func:`io.open`). No se " +"moleste con la práctica obsoleta de usar :func:`codecs.open` ya que sólo es " +"necesario para mantener la compatibilidad con Python 2.5." #: ../Doc/howto/pyporting.rst:261 msgid "" @@ -430,6 +632,16 @@ msgid "" "back: ``str(b'3') == b'3'``. But in Python 3 you get the string " "representation of the bytes object: ``str(b'3') == \"b'3'\"``." msgstr "" +"Los constructores de ``str`` y ``bytes`` tienen una semántica diferente para " +"los mismos argumentos entre Python 2 y 3. Pasar un entero a ``bytes`` en " +"Python 2 le dará la representación de cadena de texto del entero: ``bytes(3) " +"== '3'``. Pero en Python 3, un argumento entero para ''bytes'' le dará un " +"objeto bytes siempre y cuando el entero especificado, lleno de bytes nulos: " +"``bytes(3) == b'\\x00\\x00\\x00'``. Una preocupación similar es necesaria " +"cuando se pasa un objeto bytes a ``str``. En Python 2, solo se obtiene el " +"objeto bytes: ``str(b'3') == b'3'``. Pero en Python 3 se obtiene la " +"representación de cadena de texto del objeto bytes: ``str(b'3') == " +"\"b'3'\"``." #: ../Doc/howto/pyporting.rst:271 msgid "" @@ -442,14 +654,22 @@ msgid "" "``six.indexbytes()`` which will return an integer like in Python 3: ``six." "indexbytes(b'123', 1)``." msgstr "" +"Por último, la indexación de datos binarios requiere un control cuidadoso " +"(el corte **no** requiere ningún control especial). En Python 2, ``b'123'[1] " +"== b'2'`` mientras que en Python 3 ``b'123'[1] == 50``. Dado que los datos " +"binarios son simplemente una colección de números binarios, Python 3 " +"devuelve el valor entero para el byte en el que indexa. Pero en Python 2, ya " +"que ``bytes == str``, la indexación devuelve un segmento de bytes de un solo " +"elemento. El proyecto six_ tiene una función denominada ``six.indexbytes()`` " +"que devolverá un entero como en Python 3: ``six.indexbytes(b'123', 1)``." #: ../Doc/howto/pyporting.rst:280 msgid "To summarize:" -msgstr "" +msgstr "Para resumir:" #: ../Doc/howto/pyporting.rst:282 msgid "Decide which of your APIs take text and which take binary data" -msgstr "" +msgstr "Decida cuál de sus API toma texto y cuáles toman datos binarios" #: ../Doc/howto/pyporting.rst:283 msgid "" @@ -457,32 +677,43 @@ msgid "" "and code for binary data works with ``bytes`` in Python 2 (see the table " "above for what methods you cannot use for each type)" msgstr "" +"Asegúrese de que el código que funciona con texto también funciona con " +"``unicode`` y el código para datos binarios funciona con ``bytes`` en Python " +"2 (consulte la tabla anterior para los métodos que no puede usar para cada " +"tipo)" #: ../Doc/howto/pyporting.rst:286 msgid "" "Mark all binary literals with a ``b`` prefix, textual literals with a ``u`` " "prefix" msgstr "" +"Marque todos los literales binarios con un prefijo ``b``, literales " +"textuales con un prefijo ``u``" #: ../Doc/howto/pyporting.rst:288 msgid "" "Decode binary data to text as soon as possible, encode text as binary data " "as late as possible" msgstr "" +"Descodificar datos binarios en texto tan pronto como sea posible, codificar " +"texto como datos binarios tan tarde como sea posible" #: ../Doc/howto/pyporting.rst:290 msgid "" "Open files using :func:`io.open` and make sure to specify the ``b`` mode " "when appropriate" msgstr "" +"Abra los archivos con :func:`io.open` y asegúrese de especificar el modo " +"``b`` cuando sea apropiado" #: ../Doc/howto/pyporting.rst:292 msgid "Be careful when indexing into binary data" -msgstr "" +msgstr "Tenga cuidado al indexar en datos binarios" #: ../Doc/howto/pyporting.rst:296 msgid "Use feature detection instead of version detection" msgstr "" +"Utilice la detección de funciones en lugar de la detección de versiones" #: ../Doc/howto/pyporting.rst:298 msgid "" @@ -493,6 +724,13 @@ msgid "" "version check be against Python 2 and not Python 3. To help explain this, " "let's look at an example." msgstr "" +"Inevitablemente tendrá código que tiene que elegir qué hacer en función de " +"qué versión de Python se está ejecutando. La mejor manera de hacerlo es con " +"la detección de características de si la versión de Python en la que se " +"ejecuta es compatible con lo que necesita. Si por alguna razón eso no " +"funciona, entonces usted debe hacer que la comprobación de la versión sea " +"contra Python 2 y no Python 3. Para ayudar a explicar esto, veamos un " +"ejemplo." #: ../Doc/howto/pyporting.rst:305 msgid "" @@ -501,6 +739,11 @@ msgid "" "Python 2 through importlib2_ on PyPI. You might be tempted to write code to " "access e.g. the :mod:`importlib.abc` module by doing the following::" msgstr "" +"Supongamos que necesita acceso a una característica de :mod:`importlib` que " +"está disponible en la biblioteca estándar de Python desde Python 3.3 y " +"disponible para Python 2 a través de importlib2_ en PyPI. Es posible que " +"tenga la tentación de escribir código para acceder, por ejemplo, al módulo :" +"mod:`importlib.abc` haciendo lo siguiente:" #: ../Doc/howto/pyporting.rst:317 msgid "" @@ -509,6 +752,10 @@ msgid "" "assume that future Python versions will be more compatible with Python 3 " "than Python 2::" msgstr "" +"El problema con este código es ¿qué sucede cuando sale Python 4? Sería mejor " +"tratar Python 2 como el caso excepcional en lugar de Python 3 y asumir que " +"las futuras versiones de Python serán más compatibles con Python 3 que " +"Python 2::" #: ../Doc/howto/pyporting.rst:329 msgid "" @@ -516,10 +763,14 @@ msgid "" "rely on feature detection. That avoids any potential issues of getting the " "version detection wrong and helps keep you future-compatible::" msgstr "" +"La mejor solución, sin embargo, es no hacer ninguna detección de versiones " +"en absoluto y en su lugar confiar en la detección de características. Esto " +"evita cualquier problema potencial de conseguir la detección de la versión " +"incorrecta y le ayuda a mantenerse compatible con el futuro:" #: ../Doc/howto/pyporting.rst:340 msgid "Prevent compatibility regressions" -msgstr "" +msgstr "Evitar regresiones de compatibilidad" #: ../Doc/howto/pyporting.rst:342 msgid "" @@ -528,12 +779,19 @@ msgid "" "Python 3. This is especially true if you have a dependency which is blocking " "you from actually running under Python 3 at the moment." msgstr "" +"Una vez que haya traducido completamente el código para que sea compatible " +"con Python 3, querrá asegurarse de que el código no retroceda y deje de " +"funcionar bajo Python 3. Esto es especialmente cierto si tiene una " +"dependencia que le está bloqueando para que no se ejecute realmente en " +"Python 3 en este momento." #: ../Doc/howto/pyporting.rst:347 msgid "" "To help with staying compatible, any new modules you create should have at " "least the following block of code at the top of it::" msgstr "" +"Para ayudar a mantenerse compatible, los módulos nuevos que cree deben tener " +"al menos el siguiente bloque de código en la parte superior del misma::" #: ../Doc/howto/pyporting.rst:354 msgid "" @@ -542,6 +800,11 @@ msgid "" "warnings into errors with ``-Werror`` then you can make sure that you don't " "accidentally miss a warning." msgstr "" +"También puede ejecutar Python 2 con el indicador ``-3`` para recibir una " +"advertencia sobre varios problemas de compatibilidad que el código " +"desencadena durante la ejecución. Si convierte las advertencias en errores " +"con ``-Werror``, puede asegurarse de que no se pierda accidentalmente una " +"advertencia." #: ../Doc/howto/pyporting.rst:359 msgid "" @@ -552,10 +815,17 @@ msgid "" "does require you only support Python 2.7 and Python 3.4 or newer as that is " "Pylint's minimum Python version support." msgstr "" +"También puede usar el proyecto de Pylint_ y su indicador ``--py3k`` para " +"lintar el código para recibir advertencias cuando el código comienza a " +"desviarse de la compatibilidad con Python 3. Esto también evita que tenga " +"que ejecutar Modernize_ o Futurize_ sobre el código con regularidad para " +"detectar las regresiones de compatibilidad. Esto requiere que solo admita " +"Python 2.7 y Python 3.4 o posterior, ya que es la compatibilidad mínima de " +"la versión mínima de Python de Pylint." #: ../Doc/howto/pyporting.rst:368 msgid "Check which dependencies block your transition" -msgstr "" +msgstr "Compruebe qué dependencias bloquean la transición" #: ../Doc/howto/pyporting.rst:370 msgid "" @@ -566,6 +836,12 @@ msgid "" "is both a command-line tool as well as a web interface at https://" "caniusepython3.com." msgstr "" +"**Después** de que haya hecho que su código sea compatible con Python 3, " +"debe empezar a preocuparse por si sus dependencias también se han portado. " +"El proyecto caniusepython3_ se creó para ayudarle a determinar qué proyectos " +"-- directa o indirectamente -- le impiden admitir Python 3. Hay una " +"herramienta de línea de comandos, así como una interfaz web en https://" +"caniusepython3.com." #: ../Doc/howto/pyporting.rst:377 msgid "" @@ -575,10 +851,16 @@ msgid "" "manually check your dependencies and to be notified quickly when you can " "start running on Python 3." msgstr "" +"El proyecto también proporciona código que puede integrar en el conjunto de " +"pruebas para que tenga una prueba con errores cuando ya no tenga " +"dependencias que le impidan usar Python 3. Esto le permite evitar tener que " +"comprobar manualmente sus dependencias y recibir notificaciones rápidamente " +"cuando puede empezar a ejecutarse en Python 3." #: ../Doc/howto/pyporting.rst:384 msgid "Update your ``setup.py`` file to denote Python 3 compatibility" msgstr "" +"Actualice su archivo ``setup.py`` para denotar compatibilidad con Python 3" #: ../Doc/howto/pyporting.rst:386 msgid "" @@ -588,10 +870,16 @@ msgid "" "that you support Python 2 **and** 3. Ideally you will also want to add " "classifiers for each major/minor version of Python you now support." msgstr "" +"Una vez que el código funciona en Python 3, debe actualizar los " +"clasificadores en su ``setup.py`` para que contenga ``Programming " +"Language :: Python :: 3`` y no especificar solo compatibilidad con Python 2. " +"Esto le dirá a cualquier persona que use su código que admite Python 2 **y** " +"3. Lo ideal es que también desee agregar clasificadores para cada versión " +"principal/menor de Python que ahora admita." #: ../Doc/howto/pyporting.rst:394 msgid "Use continuous integration to stay compatible" -msgstr "" +msgstr "Utilice la integración continua para seguir siendo compatible" #: ../Doc/howto/pyporting.rst:396 msgid "" @@ -601,6 +889,12 @@ msgid "" "integrate tox with your continuous integration system so that you never " "accidentally break Python 2 or 3 support." msgstr "" +"Una vez que pueda ejecutar completamente bajo Python 3, querrá asegurarse de " +"que el código siempre funciona en Python 2 y 3. Probablemente la mejor " +"herramienta para ejecutar las pruebas en varios intérpretes de Python es " +"tox_. A continuación, puede integrar tox con su sistema de integración " +"continua para que nunca interrumpa accidentalmente la compatibilidad con " +"Python 2 o 3." #: ../Doc/howto/pyporting.rst:402 msgid "" @@ -613,6 +907,15 @@ msgid "" "these kinds of comparisons occur, making the mistake much easier to track " "down." msgstr "" +"También es posible que desee utilizar el indicador ``-bb`` con el intérprete " +"de Python 3 para desencadenar una excepción cuando se comparan bytes con " +"cadenas o bytes con un int (este último está disponible a partir de Python " +"3.5). De forma predeterminada, las comparaciones de tipos diferentes " +"simplemente devuelven ``False``, pero si cometió un error en la separación " +"del control de datos de texto/binario o la indexación en bytes, no " +"encontraría fácilmente el error. Esta marca generará una excepción cuando se " +"produzcan este tipo de comparaciones, lo que hace que el error sea mucho más " +"fácil de rastrear." #: ../Doc/howto/pyporting.rst:410 msgid "" @@ -621,10 +924,17 @@ msgid "" "don't accidentally break Python 2 or 3 compatibility regardless of which " "version you typically run your tests under while developing." msgstr "" +"¡Y eso es sobre todo! En este punto, la base de código es compatible con " +"Python 2 y 3 simultáneamente. Las pruebas también se configurarán para que " +"no interrumpa accidentalmente la compatibilidad de Python 2 o 3, " +"independientemente de la versión en la que ejecute normalmente las pruebas " +"durante el desarrollo." #: ../Doc/howto/pyporting.rst:417 msgid "Consider using optional static type checking" msgstr "" +"Considere la posibilidad de usar la comprobación de tipos estáticos " +"opcionales" #: ../Doc/howto/pyporting.rst:419 msgid "" @@ -638,3 +948,14 @@ msgid "" "binary data, helping to make sure everything functions as expected in both " "versions of Python." msgstr "" +"Otra forma de ayudar a transferir el código es usar un comprobador de tipos " +"estáticos como mypy_ o pytype_ en el código. Estas herramientas se pueden " +"utilizar para analizar el código como si se estuviera ejecutando en Python " +"2, puede ejecutar la herramienta por segunda vez como si el código se " +"ejecutara en Python 3. Al ejecutar un comprobador de tipos estáticos dos " +"veces como este, puede descubrir si, por ejemplo, está usando " +"incorrectamente el tipo de datos binarios en una versión de Python en " +"comparación con otra. Si agrega sugerencias de tipo opcionales al código, " +"también puede indicar explícitamente si las API usan datos textuales o " +"binarios, lo que ayuda a asegurarse de que todo funciona según lo esperado " +"en ambas versiones de Python." From 4e79871ace3fea6d13a0dcc01a030d5de7126652 Mon Sep 17 00:00:00 2001 From: Federico Date: Fri, 1 Jan 2021 17:13:30 -0300 Subject: [PATCH 115/153] Translate using/windows.po (#302) --- dictionaries/using_windows.txt | 23 + using/windows.po | 969 ++++++++++++++++++++++++++++----- 2 files changed, 860 insertions(+), 132 deletions(-) create mode 100644 dictionaries/using_windows.txt diff --git a/dictionaries/using_windows.txt b/dictionaries/using_windows.txt new file mode 100644 index 0000000000..92c00c8c7e --- /dev/null +++ b/dictionaries/using_windows.txt @@ -0,0 +1,23 @@ +Console +Farrugia +Golden +InstallAllUsers +Library +Louis +Runtime +Sébastien +compiling +curl +extension +incrustable +instalable +nuget +precompilada +precompilados +runtime +scipy +separándolo +shebang +them +under +without diff --git a/using/windows.po b/using/windows.po index a60abab4c4..76b12ea5ed 100644 --- a/using/windows.po +++ b/using/windows.po @@ -6,29 +6,33 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-01 17:01-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Federico Zuccolo \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/using/windows.rst:7 msgid "Using Python on Windows" -msgstr "" +msgstr "Uso de Python en Windows" #: ../Doc/using/windows.rst:12 msgid "" "This document aims to give an overview of Windows-specific behaviour you " "should know about when using Python on Microsoft Windows." msgstr "" +"Este documento pretende dar una visión general del comportamiento específico " +"de Windows que se debería conocer al usar Python en Microsoft Windows." #: ../Doc/using/windows.rst:15 msgid "" @@ -41,6 +45,16 @@ msgid "" "able to install for all users of a single machine, and a separate ZIP file " "is available for application-local distributions." msgstr "" +"A diferencia de la mayoría de sistemas y servicios Unix, Windows no incluye " +"una instalación de Python soportada por el sistema. Para hacer que Python " +"esté disponible, el equipo de CPython ha compilado instaladores de Windows " +"(paquetes MSI) con cada `lanzamiento `_ durante muchos años. Estos instaladores están destinados " +"principalmente a agregar una instalación de Python para cada usuario, con el " +"intérprete principal y la biblioteca para ser usados por un solo usuario. El " +"instalador también es capaz de hacer la instalación para todos los usuarios " +"de una única máquina, y un archivo ZIP separado está disponible para " +"distribuciones locales junto a aplicaciones." #: ../Doc/using/windows.rst:24 msgid "" @@ -49,18 +63,27 @@ msgid "" "that Python |version| supports Windows Vista and newer. If you require " "Windows XP support then please install Python 3.4." msgstr "" +"Como se especifica en :pep:`11`, una versión de Python solo soporta una " +"plataforma Windows mientras Microsoft considere dicha plataforma bajo " +"soporte extendido. Esto significa que Python |version| es compatible con " +"Windows Vista y versiones posteriores. Si necesita compatibilidad con " +"Windows XP entonces instale Python 3.4." #: ../Doc/using/windows.rst:29 msgid "" "There are a number of different installers available for Windows, each with " "certain benefits and downsides." msgstr "" +"Hay varios instaladores diferentes disponibles para Windows, cada uno con " +"determinados beneficios y desventajas." #: ../Doc/using/windows.rst:32 msgid "" ":ref:`windows-full` contains all components and is the best option for " "developers using Python for any kind of project." msgstr "" +":ref:`windows-full` contiene todos los componentes y es la mejor opción para " +"desarrolladores que usan Python para cualquier clase de proyecto." #: ../Doc/using/windows.rst:35 msgid "" @@ -70,6 +93,11 @@ msgid "" "corrupting other programs. It also provides many convenient commands for " "launching Python and its tools." msgstr "" +":ref:`windows-store` es una instalación de Python simple que es adecuada " +"para ejecutar scripts y paquetes, y para usar IDLE u otros entornos de " +"desarrollo. Requiere Windows 10, pero la instalación puede hacerse de forma " +"segura sin corromper otros programas. También proporciona muchos comandos " +"convenientes para lanzar Python y sus herramientas." #: ../Doc/using/windows.rst:41 msgid "" @@ -77,20 +105,26 @@ msgid "" "integration systems. It can be used to build Python packages or run scripts, " "but is not updateable and has no user interface tools." msgstr "" +":ref:`windows-nuget` son instalaciones ligeras destinadas a sistemas de " +"integración continua. Puede ser usada para crear paquetes de Python o para " +"ejecutar scripts, pero no es actualizable y no posee herramientas de " +"interfaz de usuario." #: ../Doc/using/windows.rst:45 msgid "" ":ref:`windows-embeddable` is a minimal package of Python suitable for " "embedding into a larger application." msgstr "" +":ref:`windows-embeddable` es un paquete de Python mínimo que es adecuado " +"para incrustar en una aplicación más grande." #: ../Doc/using/windows.rst:52 msgid "The full installer" -msgstr "" +msgstr "El instalador completo" #: ../Doc/using/windows.rst:55 msgid "Installation steps" -msgstr "" +msgstr "Pasos para la instalación" #: ../Doc/using/windows.rst:57 msgid "" @@ -102,42 +136,59 @@ msgid "" "connection for optional features. See :ref:`install-layout-option` for other " "ways to avoid downloading during installation." msgstr "" +"Cuatro instaladores de Python |versión| están disponibles para descargar - " +"dos por cada una de las versiones de 32-bit y 64-bit del intérprete. El " +"*instalador web* es una pequeña descarga inicial que automáticamente " +"descargará los componentes requeridos cuando sea necesario. El *instalador " +"fuera de línea* incluye los componentes necesarios para una instalación por " +"defecto y solo requiere de una conexión a internet para características " +"opcionales. Consultar :ref:`install-layout-option` para conocer otras formas " +"de evitar descargas durante la instalación." #: ../Doc/using/windows.rst:65 msgid "After starting the installer, one of two options may be selected:" msgstr "" +"Luego de iniciar el instalador, una o dos opciones pueden ser seleccionadas:" #: ../Doc/using/windows.rst:69 msgid "If you select \"Install Now\":" -msgstr "" +msgstr "Si se selecciona \"Install Now\":" #: ../Doc/using/windows.rst:71 msgid "" "You will *not* need to be an administrator (unless a system update for the C " "Runtime Library is required or you install the :ref:`launcher` for all users)" msgstr "" +"*No* necesitarás ser administrador (a menos que se requiera una " +"actualización de sistema para C Runtime Library o se necesite instalar el :" +"ref:`launcher` para todos los usuarios)" #: ../Doc/using/windows.rst:74 msgid "Python will be installed into your user directory" -msgstr "" +msgstr "Python será instalado en su directorio de usuario" #: ../Doc/using/windows.rst:75 msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" msgstr "" +"El :ref:`launcher` será instalado de acuerdo con las opciones en la parte " +"inferior de la primera página" #: ../Doc/using/windows.rst:77 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" +"La librería estándar, conjunto de pruebas, lanzador y pip serán instalados" #: ../Doc/using/windows.rst:78 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" +"Si se selecciona, el directorio de instalación se agregará a su :envvar:" +"`PATH`" #: ../Doc/using/windows.rst:79 msgid "Shortcuts will only be visible for the current user" -msgstr "" +msgstr "Los accesos directos solo serán visibles para al usuario actual" #: ../Doc/using/windows.rst:81 msgid "" @@ -146,51 +197,64 @@ msgid "" "actions. To install debugging symbols or binaries, you will need to use this " "option." msgstr "" +"Si selecciona \"Customize installation\" podrá elegir qué funciones " +"instalar, el destino de la instalación y otras opciones o acciones " +"posinstalación. Para instalar símbolos de depuración o binarios, necesitará " +"usar esta opción." #: ../Doc/using/windows.rst:85 msgid "" "To perform an all-users installation, you should select \"Customize " "installation\". In this case:" msgstr "" +"Para realizar una instalación para todos los usuarios, deberá seleccionar " +"\"Customize installation\". En este caso:" #: ../Doc/using/windows.rst:88 msgid "You may be required to provide administrative credentials or approval" msgstr "" +"Es posible que deba proporcionar credenciales administrativas o aprobación" #: ../Doc/using/windows.rst:89 msgid "Python will be installed into the Program Files directory" -msgstr "" +msgstr "Python será instalado en el directorio Program Files" #: ../Doc/using/windows.rst:90 msgid "The :ref:`launcher` will be installed into the Windows directory" -msgstr "" +msgstr "El :ref:`launcher` será instalado en el directorio Windows" #: ../Doc/using/windows.rst:91 msgid "Optional features may be selected during installation" msgstr "" +"Se pueden seleccionar características opcionales durante la instalación" #: ../Doc/using/windows.rst:92 msgid "The standard library can be pre-compiled to bytecode" -msgstr "" +msgstr "La librería estándar puede ser precompilada a bytecode" #: ../Doc/using/windows.rst:93 msgid "" "If selected, the install directory will be added to the system :envvar:`PATH`" msgstr "" +"Si se selecciona, el directorio de instalación será agregado al :envvar:" +"`PATH` del sistema" #: ../Doc/using/windows.rst:94 msgid "Shortcuts are available for all users" -msgstr "" +msgstr "Los accesos directos están disponibles para todos los usuarios" #: ../Doc/using/windows.rst:99 msgid "Removing the MAX_PATH Limitation" -msgstr "" +msgstr "Quitar el límite de MAX_PATH" #: ../Doc/using/windows.rst:101 msgid "" "Windows historically has limited path lengths to 260 characters. This meant " "that paths longer than this would not resolve and errors would result." msgstr "" +"Windows históricamente ha limitado la longitud de las rutas a 260 " +"caracteres. Esto significaba que rutas de mayor longitud no resolverían y se " +"producirían errores." #: ../Doc/using/windows.rst:104 msgid "" @@ -200,6 +264,11 @@ msgid "" "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" "\\FileSystem@LongPathsEnabled`` to ``1``." msgstr "" +"En las últimas versiones de Windows, esta límite puede ser extendido a " +"aproximadamente 32,000 caracteres. El administrador tendrá que activar la " +"directiva de grupo \"Enable Win32 long paths\", o establecer el valor del " +"registro ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" +"\\FileSystem@LongPathsEnabled`` a ``1``." #: ../Doc/using/windows.rst:110 msgid "" @@ -208,18 +277,25 @@ msgid "" "when using strings. (Use of bytes as paths is deprecated on Windows, and " "this feature is not available when using bytes.)" msgstr "" +"Esto permite que la función :func:`open`, el módulo :mod:`os` y la mayoría " +"de las demás funciones de ruta acepten y retornen rutas de más de 260 " +"caracteres cuando se usan cadenas. (El uso de bytes como rutas está en " +"desuso en Windows, y esta característica no está disponible cuando se usan " +"bytes.)" #: ../Doc/using/windows.rst:115 msgid "After changing the above option, no further configuration is required." msgstr "" +"Luego de cambiar la opción anterior, no es necesaria ninguna otra " +"configuración." #: ../Doc/using/windows.rst:119 msgid "Support for long paths was enabled in Python." -msgstr "" +msgstr "Se habilitó el soporte para rutas largas en Python." #: ../Doc/using/windows.rst:124 msgid "Installing Without UI" -msgstr "" +msgstr "Instalación sin interfaz de usuario" #: ../Doc/using/windows.rst:126 msgid "" @@ -228,6 +304,12 @@ msgid "" "on many machines without user interaction. These options may also be set " "without suppressing the UI in order to change some of the defaults." msgstr "" +"Todas las opciones disponibles desde la interfaz de usuario del instalador " +"también pueden especificarse desde la línea de comandos, lo cual permite que " +"instaladores mediante scripts repliquen una instalación en muchas máquinas " +"sin la interacción del usuario. Estas opciones también pueden ser " +"configuradas sin anular la interfaz de usuario con el fin de cambiar alguno " +"de los valores predeterminados." #: ../Doc/using/windows.rst:131 msgid "" @@ -236,6 +318,12 @@ msgid "" "and errors, pass the ``/passive`` option. The ``/uninstall`` option may be " "passed to immediately begin removing Python - no prompt will be displayed." msgstr "" +"Para ocultar completamente la interfaz de usuario del instalador e instalar " +"Python de forma silenciosa, use la opción ``/quiet``. Para omitir la " +"interacción con el usuario pero aún así mostrar el progreso y los errores, " +"use la opción ``/passive``. La opción ``/uninstall`` puede ser usada para " +"comenzar a desinstalar Python inmediatamente - no se mostrará ninguna " +"advertencia." #: ../Doc/using/windows.rst:137 msgid "" @@ -243,67 +331,77 @@ msgid "" "``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " "list of available options is shown below." msgstr "" +"Todas las otras opciones se especifican con la forma ``nombre=valor``, " +"siendo el valor usualmente ``0`` para deshabilitar una funcionalidad, ``1`` " +"para habilitar una funcionalidad, o una ruta. La lista completa de opciones " +"disponibles se muestra a continuación." #: ../Doc/using/windows.rst:142 msgid "Name" -msgstr "" +msgstr "Nombre" #: ../Doc/using/windows.rst:142 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/using/windows.rst:142 msgid "Default" -msgstr "" +msgstr "Predeterminado" #: ../Doc/using/windows.rst:144 msgid "InstallAllUsers" -msgstr "" +msgstr "InstallAllUsers" #: ../Doc/using/windows.rst:144 msgid "Perform a system-wide installation." -msgstr "" +msgstr "Realice una instalación en todo el sistema." #: ../Doc/using/windows.rst:144 ../Doc/using/windows.rst:167 #: ../Doc/using/windows.rst:170 ../Doc/using/windows.rst:179 #: ../Doc/using/windows.rst:197 ../Doc/using/windows.rst:205 #: ../Doc/using/windows.rst:208 msgid "0" -msgstr "" +msgstr "0" #: ../Doc/using/windows.rst:146 msgid "TargetDir" -msgstr "" +msgstr "TargetDir" #: ../Doc/using/windows.rst:146 msgid "The installation directory" -msgstr "" +msgstr "El directorio de instalación" #: ../Doc/using/windows.rst:146 msgid "Selected based on InstallAllUsers" -msgstr "" +msgstr "Seleccionado de acuerdo a InstallAllUsers" #: ../Doc/using/windows.rst:149 msgid "DefaultAllUsersTargetDir" -msgstr "" +msgstr "DefaultAllUsersTargetDir" #: ../Doc/using/windows.rst:149 msgid "The default installation directory for all-user installs" msgstr "" +"El directorio predeterminado de instalación para instalaciones de todos los " +"usuarios" #: ../Doc/using/windows.rst:149 msgid "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" msgstr "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` o :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" #: ../Doc/using/windows.rst:154 msgid "DefaultJustForMeTargetDir" -msgstr "" +msgstr "DefaultJustForMeTargetDir" #: ../Doc/using/windows.rst:154 msgid "The default install directory for just-for-me installs" msgstr "" +"El directorio predeterminado de instalación para instalaciones del usuario " +"actual solamente" #: ../Doc/using/windows.rst:154 #, python-format @@ -312,26 +410,31 @@ msgid "" "\\\\ Programs\\\\PythonXY-32` or :file:`%LocalAppData%\\\\\\ Programs\\" "\\PythonXY-64`" msgstr "" +":file:`%LocalAppData%\\\\\\ Programs\\\\PythonXY` o :file:`%LocalAppData%\\\\" +"\\ Programs\\\\PythonXY-32` o :file:`%LocalAppData%\\\\\\ Programs\\" +"\\PythonXY-64`" #: ../Doc/using/windows.rst:161 msgid "DefaultCustomTargetDir" -msgstr "" +msgstr "DefaultCustomTargetDir" #: ../Doc/using/windows.rst:161 msgid "The default custom install directory displayed in the UI" msgstr "" +"El valor predeterminado de directorio de instalación personalizado que se " +"muestra en la interfaz de usuario" #: ../Doc/using/windows.rst:161 ../Doc/using/windows.rst:210 msgid "(empty)" -msgstr "" +msgstr "(vacío)" #: ../Doc/using/windows.rst:164 msgid "AssociateFiles" -msgstr "" +msgstr "AssociateFiles" #: ../Doc/using/windows.rst:164 msgid "Create file associations if the launcher is also installed." -msgstr "" +msgstr "Crear asociaciones de archivos si el lanzador también es instalado." #: ../Doc/using/windows.rst:164 ../Doc/using/windows.rst:174 #: ../Doc/using/windows.rst:177 ../Doc/using/windows.rst:181 @@ -340,160 +443,170 @@ msgstr "" #: ../Doc/using/windows.rst:195 ../Doc/using/windows.rst:199 #: ../Doc/using/windows.rst:201 ../Doc/using/windows.rst:203 msgid "1" -msgstr "" +msgstr "1" #: ../Doc/using/windows.rst:167 msgid "CompileAll" -msgstr "" +msgstr "CompileAll" #: ../Doc/using/windows.rst:167 msgid "Compile all ``.py`` files to ``.pyc``." -msgstr "" +msgstr "Compilar todos los archivos ``.py`` a ``.pyc``." #: ../Doc/using/windows.rst:170 msgid "PrependPath" -msgstr "" +msgstr "PrependPath" #: ../Doc/using/windows.rst:170 msgid "" "Add install and Scripts directories to :envvar:`PATH` and ``.PY`` to :envvar:" "`PATHEXT`" msgstr "" +"Agregar directorios de instalación y Scripts a :envvar:`PATH` y ``.PY`` a :" +"envvar:`PATHEXT`" #: ../Doc/using/windows.rst:174 msgid "Shortcuts" -msgstr "" +msgstr "Shortcuts" #: ../Doc/using/windows.rst:174 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" +"Crear accesos director para el intérprete, documentación e IDLE si está " +"instalado." #: ../Doc/using/windows.rst:177 msgid "Include_doc" -msgstr "" +msgstr "Include_doc" #: ../Doc/using/windows.rst:177 msgid "Install Python manual" -msgstr "" +msgstr "Instalar el manual de Python" #: ../Doc/using/windows.rst:179 msgid "Include_debug" -msgstr "" +msgstr "Include_debug" #: ../Doc/using/windows.rst:179 msgid "Install debug binaries" -msgstr "" +msgstr "Instalar los binarios de depuración" #: ../Doc/using/windows.rst:181 msgid "Include_dev" -msgstr "" +msgstr "Include_dev" #: ../Doc/using/windows.rst:181 msgid "Install developer headers and libraries" -msgstr "" +msgstr "Instalar encabezados y librerías de desarrollo" #: ../Doc/using/windows.rst:184 msgid "Include_exe" -msgstr "" +msgstr "Include_exe" #: ../Doc/using/windows.rst:184 msgid "Install :file:`python.exe` and related files" -msgstr "" +msgstr "Instalar :file:`python.exe` y archivos relacionados" #: ../Doc/using/windows.rst:187 msgid "Include_launcher" -msgstr "" +msgstr "Include_launcher" #: ../Doc/using/windows.rst:187 msgid "Install :ref:`launcher`." -msgstr "" +msgstr "Instalar :ref:`launcher`." #: ../Doc/using/windows.rst:189 msgid "InstallLauncherAllUsers" -msgstr "" +msgstr "InstallLauncherAllUsers" #: ../Doc/using/windows.rst:189 msgid "Installs :ref:`launcher` for all users." -msgstr "" +msgstr "Instalar :ref:`launcher` para todos los usuarios." #: ../Doc/using/windows.rst:192 msgid "Include_lib" -msgstr "" +msgstr "Include_lib" #: ../Doc/using/windows.rst:192 msgid "Install standard library and extension modules" -msgstr "" +msgstr "Instalar la librería estándar y los módulos de extensión" #: ../Doc/using/windows.rst:195 msgid "Include_pip" -msgstr "" +msgstr "Include_pip" #: ../Doc/using/windows.rst:195 msgid "Install bundled pip and setuptools" -msgstr "" +msgstr "Instalar los paquetes pip y setuptools" #: ../Doc/using/windows.rst:197 msgid "Include_symbols" -msgstr "" +msgstr "Include_symbols" #: ../Doc/using/windows.rst:197 msgid "Install debugging symbols (`*`.pdb)" -msgstr "" +msgstr "Instalar los símbolos de depuración (`*`.pdb)" #: ../Doc/using/windows.rst:199 msgid "Include_tcltk" -msgstr "" +msgstr "Include_tcltk" #: ../Doc/using/windows.rst:199 msgid "Install Tcl/Tk support and IDLE" -msgstr "" +msgstr "Instalar IDLE y soporte para Tcl/Tk" #: ../Doc/using/windows.rst:201 msgid "Include_test" -msgstr "" +msgstr "Include_test" #: ../Doc/using/windows.rst:201 msgid "Install standard library test suite" -msgstr "" +msgstr "Instalar el conjunto de pruebas de la librería estándar" #: ../Doc/using/windows.rst:203 msgid "Include_tools" -msgstr "" +msgstr "Include_tools" #: ../Doc/using/windows.rst:203 msgid "Install utility scripts" -msgstr "" +msgstr "Instalar scripts de utilidades" #: ../Doc/using/windows.rst:205 msgid "LauncherOnly" -msgstr "" +msgstr "LauncherOnly" #: ../Doc/using/windows.rst:205 msgid "Only installs the launcher. This will override most other options." msgstr "" +"Instalar solo el lanzador. Esto anulará la mayoría de las otras opciones." #: ../Doc/using/windows.rst:208 msgid "SimpleInstall" -msgstr "" +msgstr "SimpleInstall" #: ../Doc/using/windows.rst:208 msgid "Disable most install UI" -msgstr "" +msgstr "Deshabilitar muchas de las partes de la interfaz de usuario" #: ../Doc/using/windows.rst:210 msgid "SimpleInstallDescription" -msgstr "" +msgstr "SimpleInstallDescription" #: ../Doc/using/windows.rst:210 msgid "A custom message to display when the simplified install UI is used." msgstr "" +"Un mensaje personalizado para mostrar cuando se use la versión simplificada " +"de la interfaz de usuario de instalación." #: ../Doc/using/windows.rst:214 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" msgstr "" +"Por ejemplo, para realizar de forma silenciosa una instalación " +"predeterminada de Python para todo el sistema, se puede usar el siguiente " +"comando (desde un símbolo del sistema con privilegios elevados)::" #: ../Doc/using/windows.rst:219 msgid "" @@ -501,6 +614,10 @@ msgid "" "suite, you could provide a shortcut with the following command. This will " "display a simplified initial page and disallow customization::" msgstr "" +"Para permitir que los usuarios instalen fácilmente una copia personal de " +"Python sin el conjunto de pruebas, se puede proporcionar un acceso directo " +"con el siguiente comando. Esto mostrará una página inicial simplificada y no " +"permitirá la personalización:" #: ../Doc/using/windows.rst:226 msgid "" @@ -508,6 +625,10 @@ msgid "" "recommended for per-user installs when there is also a system-wide " "installation that included the launcher.)" msgstr "" +"(Tener en cuenta que al omitir el lanzador también se omiten las " +"asociaciones de archivos y solo es recomendable hacerlo para instalaciones " +"por usuario cuando ya hay una instalación en todo el sistema que incluye el " +"lanzador.)" #: ../Doc/using/windows.rst:230 msgid "" @@ -517,10 +638,16 @@ msgid "" "number if possible. Values provided as element text are always left as " "strings. This example file sets the same options as the previous example:" msgstr "" +"Las opciones enumeradas anteriormente también se pueden proporcionar en un " +"archivo de nombre ``unattend.xml`` junto al ejecutable. Este archivo " +"especifica una lista de opciones y valores. Cuando un valor se proporciona " +"como un atributo, se convertirá a número si es posible. Los valores " +"proporcionados como elementos de texto siempre se dejan como cadenas. Este " +"archivo de ejemplo configura las mismas opciones que el ejemplo anterior:" #: ../Doc/using/windows.rst:249 msgid "Installing Without Downloading" -msgstr "" +msgstr "Instalación sin descargas" #: ../Doc/using/windows.rst:251 msgid "" @@ -532,6 +659,14 @@ msgid "" "be bigger than required, but where a large number of installations are going " "to be performed it is very useful to have a locally cached copy." msgstr "" +"Como algunas características de Python no se incluyen con la descarga " +"inicial del instalador, la selección de estas características podría " +"requerir de una conexión a internet. Para evitar esta necesidad, todos los " +"posibles componentes pueden ser descargados a pedido para crear una " +"estructura que no necesitará una conexión a internet, independientemente de " +"las características que se seleccionen. Tener en cuenta que esta descarga " +"puede ser más grande de lo necesario, pero si se va a realizar un gran " +"número de instalaciones es muy útil tener una copia en la caché local." #: ../Doc/using/windows.rst:259 msgid "" @@ -540,22 +675,33 @@ msgid "" "name of your installer, and to create layouts in their own directories to " "avoid collisions between files with the same name." msgstr "" +"Ejecute el siguiente comando desde el símbolo del sistema para descargar " +"todos los posibles archivos requeridos. Recuerde reemplazar ``Python-3.8.0." +"exe`` por el nombre real instalador y crear una estructura de directorios " +"propia para evitar colisiones entre archivos del mismo nombre." #: ../Doc/using/windows.rst:268 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" +"También se puede especificar la opción ``/quiet`` para no mostrar el " +"progreso." #: ../Doc/using/windows.rst:271 msgid "Modifying an install" -msgstr "" +msgstr "Modificar una instalación" +# La aplicación "Programs and Features" es "Programas y características" en Windows en español, y las acciones figuran como "Desinstalar", "Cambiar" y "Reparar" #: ../Doc/using/windows.rst:273 msgid "" "Once Python has been installed, you can add or remove features through the " "Programs and Features tool that is part of Windows. Select the Python entry " "and choose \"Uninstall/Change\" to open the installer in maintenance mode." msgstr "" +"Una vez que Python ha sido instalado, se puede agregar o quitar funciones a " +"través de la herramienta Programas y características que es parte de " +"Windows. Seleccionar la entrada Python y elegir \"Desinstalar/Cambiar\" para " +"abrir el instalador en modo mantenimiento." #: ../Doc/using/windows.rst:277 msgid "" @@ -564,28 +710,40 @@ msgid "" "cannot be changed in this mode, such as the install directory; to modify " "these, you will need to remove and then reinstall Python completely." msgstr "" +"\"Cambiar\" permite agregar o eliminar características modificando las " +"casillas de verificación - aquellas casillas que no se cambien no agregarán " +"ni quitarán nada. Algunas opciones no pueden cambiarse de esta forma, como " +"el directorio de instalación; para modificarlas es necesario eliminar y " +"reinstalar Python completamente." #: ../Doc/using/windows.rst:282 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." msgstr "" +"\"Reparar\" verificará todos los archivos que deben instalarse con " +"configuración actual y reemplazará los que se hayan eliminado o modificado." #: ../Doc/using/windows.rst:285 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." msgstr "" +"\"Desinstalar\" eliminará Python completamente, a excepción del :ref:" +"`launcher`, el cual posee su propia entrada en Programas y características." #: ../Doc/using/windows.rst:292 msgid "The Microsoft Store package" -msgstr "" +msgstr "El paquete Microsoft Store" #: ../Doc/using/windows.rst:296 msgid "" "The Microsoft Store package is an easily installable Python interpreter that " "is intended mainly for interactive use, for example, by students." msgstr "" +"El paquete de Microsoft Store es un intérprete de Python fácilmente " +"instalable destinado principalmente al uso interactivo, por ejemplo, por " +"estudiantes." #: ../Doc/using/windows.rst:299 msgid "" @@ -593,12 +751,19 @@ msgid "" "search the Microsoft Store app for \"Python |version|\". Ensure that the app " "you select is published by the Python Software Foundation, and install it." msgstr "" +"Para instalar el paquete, asegúrate de tener las últimas actualizaciones de " +"Windows 10 y busca \"Python |version|\" en Microsoft Store. Comprueba que la " +"aplicación que seleccionas es una publicación de la Python Software " +"Foundation e instálala." #: ../Doc/using/windows.rst:304 msgid "" "Python will always be available for free on the Microsoft Store. If you are " "asked to pay for it, you have not selected the correct package." msgstr "" +"Python siempre estará disponible de forma gratuita en Microsoft Store. Si se " +"te solicita que pagues por él, entonces el paquete seleccionado no es el " +"correcto." #: ../Doc/using/windows.rst:307 msgid "" @@ -607,6 +772,11 @@ msgid "" "session by typing ``python``. Further, pip and IDLE may be used by typing " "``pip`` or ``idle``. IDLE can also be found in Start." msgstr "" +"Luego de la instalación, Python puede iniciarse a través del menú de Inicio. " +"Como alternativa, también estará disponible desde cualquier símbolo del " +"sistema o sesión de PowerShell al escribir ``Python``. Además, pip e IDLE " +"pueden ser usados escribiendo ``pip`` o ``idle``. IDLE también puede ser " +"encontrado en el Inicio." #: ../Doc/using/windows.rst:312 msgid "" @@ -618,12 +788,22 @@ msgid "" "to make sure that ``pip`` and ``idle`` are consistent with whichever version " "of ``python`` is selected." msgstr "" +"Los tres comandos también están disponibles con el número de versión como " +"sufijo, por ejemplo, como ``python3.exe`` y ``python3.x.exe`` así como " +"también ``python.exe`` (donde ``3.x`` es la versión específica que se quiera " +"iniciar, como |version|). Abrir \"Administrar alias de ejecución de " +"aplicaciones\" a través del menú de Inicio para seleccionar cuál versión de " +"Python se asocia con cada comando. Se recomienda asegurarse de que ``pip`` e " +"``idle`` sean consistentes con la versión de ``python`` que esté " +"seleccionada." #: ../Doc/using/windows.rst:320 msgid "" "Virtual environments can be created with ``python -m venv`` and activated " "and used as normal." msgstr "" +"Los entornos virtuales se pueden crear con ``python -m venv`` y se activan y " +"usan normalmente." #: ../Doc/using/windows.rst:323 msgid "" @@ -632,12 +812,18 @@ msgid "" "one from the Microsoft Store. To access the new installation, use ``python3." "exe`` or ``python3.x.exe``." msgstr "" +"Si has instalado otra versión de Python que se haya agregado a la " +"variable``PATH``, estará disponible como ``python.exe`` en lugar de la de " +"Microsoft Store. Para acceder a la nueva instalación, usa ``python3.exe`` o " +"``python3.x.exe``." #: ../Doc/using/windows.rst:328 msgid "" "The ``py.exe`` launcher will detect this Python installation, but will " "prefer installations from the traditional installer." msgstr "" +"El lanzador ``py.exe`` detectará esta instalación de Python, pero priorizará " +"instalaciones realizadas con el instalador tradicional." #: ../Doc/using/windows.rst:331 msgid "" @@ -646,10 +832,15 @@ msgid "" "remove all packages you installed directly into this Python installation, " "but will not remove any virtual environments" msgstr "" +"Para eliminar Python, abre Configuración y utiliza Aplicaciones y " +"características, o encuentra Python en el Inicio y mediante click derecho " +"selecciona Desinstalar. La desinstalación eliminará todos los paquetes " +"instalados directamente en esta instalación de Python, pero no eliminará " +"ningún entorno virtual" #: ../Doc/using/windows.rst:337 msgid "Known Issues" -msgstr "" +msgstr "Problemas conocidos" #: ../Doc/using/windows.rst:339 msgid "" @@ -658,10 +849,15 @@ msgid "" "Instead, it will write to a private copy. If your scripts must modify the " "shared locations, you will need to install the full installer." msgstr "" +"Debido a restricciones en las aplicaciones de Microsoft Store, los scripts " +"de Python podrían no tener acceso completo de escritura en ubicaciones " +"compartidas como ``TEMP`` o el registro. En su lugar, escribirá en una copia " +"privada. Si tus scripts deben modificar las ubicaciones compartidas, " +"necesitarás instalar el instalador completo." #: ../Doc/using/windows.rst:348 msgid "The nuget.org packages" -msgstr "" +msgstr "El paquete de nuget.org" #: ../Doc/using/windows.rst:352 msgid "" @@ -670,6 +866,11 @@ msgid "" "install of Python. While nuget is \"the package manager for .NET\", it also " "works perfectly fine for packages containing build-time tools." msgstr "" +"El paquete de nuget.org es un entorno Python de tamaño reducido destinado a " +"usarse en sistemas de integración continua y compilación que no posean una " +"instalación de Python a nivel de sistema. Si bien nuget es \"el " +"administrador de paquetes para .NET\", también funciona perfectamente para " +"paquetes que contienen herramientas de tiempo de compilación." #: ../Doc/using/windows.rst:357 msgid "" @@ -677,6 +878,9 @@ msgid "" "information on using nuget. What follows is a summary that is sufficient for " "Python developers." msgstr "" +"Visita `nuget.org `_ para obtener la información más " +"actualizada sobre cómo usar nuget. Lo que sigue es un resumen que es " +"suficiente para desarrolladores Python." #: ../Doc/using/windows.rst:361 msgid "" @@ -685,6 +889,10 @@ msgid "" "the tool, the latest version of Python for 64-bit or 32-bit machines is " "installed using::" msgstr "" +"La herramienta de línea de comandos ``nuget.exe`` puede ser descargada " +"directamente desde ``https://aka.ms/nugetclidl``, por ejemplo usando curl o " +"PowerShell. Con esta herramienta, la última versión de Python para máquinas " +"de 64 o 32 bit se instala con::" #: ../Doc/using/windows.rst:369 msgid "" @@ -695,6 +903,12 @@ msgid "" "the specific version installed. Inside the subdirectory is a ``tools`` " "directory that contains the Python installation::" msgstr "" +"Para seleccionar una versión específica, agrega ``-Version 3.x.y``. El " +"directorio de salida se puede cambiar desde ``.``, y el paquete se instalará " +"en un subdirectorio. Por defecto, el subdirectorio es nombrado con el mismo " +"nombre del paquete, y sin la opción ``-ExcludeVersion`` este nombre incluirá " +"la versión de instalación especificada. Dentro del subdirectorio hay un " +"directorio ``tools`` que contiene la instalación de Python::" #: ../Doc/using/windows.rst:384 msgid "" @@ -703,6 +917,11 @@ msgid "" "delete the package directory manually and install it again. Many CI systems " "will do this automatically if they do not preserve files between builds." msgstr "" +"En general, los paquetes nuget no son actualizables, y versiones más nuevas " +"deben ser instaladas en paralelo y referenciadas usando la ruta completa. " +"Otra opción es borrar el directorio del paquete de forma manual e instalarlo " +"de nuevo. Muchos sistemas de CI harán esto automáticamente si no mantienen " +"archivos entre compilaciones." #: ../Doc/using/windows.rst:389 msgid "" @@ -711,6 +930,11 @@ msgid "" "+ project to reference the Python install. Including the settings will " "automatically use the headers and import libraries in your build." msgstr "" +"Junto al directorio ``tools`` está el directorio ``build\\native``. Este " +"contiene un archivo de propiedades MSBuild ``Python.props`` que puede ser " +"usado en un proyecto C++ para referenciar la instalación de Python. Al " +"incluir las configuraciones, automáticamente se usarán los encabezados y se " +"importarán las librerías en la compilación." #: ../Doc/using/windows.rst:394 msgid "" @@ -719,10 +943,14 @@ msgid "" "`www.nuget.org/packages/pythonx86 `_ for the 32-bit version." msgstr "" +"Las páginas de información del paquete en nuget.org son `www.nuget.org/" +"packages/python `_ para la versión de " +"64 bit y `www.nuget.org/packages/pythonx86 `_ para la versión de 32 bit." #: ../Doc/using/windows.rst:403 msgid "The embeddable package" -msgstr "" +msgstr "El paquete incrustable" #: ../Doc/using/windows.rst:407 msgid "" @@ -730,6 +958,9 @@ msgid "" "environment. It is intended for acting as part of another application, " "rather than being directly accessed by end-users." msgstr "" +"La distribución incrustable consiste en un archivo ZIP que contiene un " +"mínimo entorno de Python. Está destinado a ser usado como parte de otra " +"aplicación, en lugar de ser accedido directamente por los usuarios finales." #: ../Doc/using/windows.rst:411 msgid "" @@ -741,6 +972,14 @@ msgid "" "tk (including all dependants, such as Idle), pip and the Python " "documentation are not included." msgstr "" +"Al ser extraída, la distribución incrustable está (casi) completamente " +"aislada del sistema del usuario, incluyendo variables de entorno, " +"configuraciones del registro del sistema y paquetes instalados. La librería " +"estándar se incluye como archivos ``.pyc`` precompilados y optimizados " +"dentro de un ZIP, y ``python3.dll``, ``python37.dll``, ``python.exe`` y " +"``pythonw.exe`` están todos proporcionados. Tcl/tk (incluidos sus " +"dependientes, como Idle), pip y la documentación de Python no están " +"incluidos." #: ../Doc/using/windows.rst:420 msgid "" @@ -751,6 +990,12 @@ msgid "" "via Windows Update, and can be detected by finding ``ucrtbase.dll`` in the " "system directory." msgstr "" +"La distribución incrustable no incluye el `Microsoft C Runtime `_ y la responsabilidad " +"de proporcionarlo recae sobre el instalador de la aplicación. El runtime " +"puede haber sido previamente instalado en el sistema de un usuario, o " +"automáticamente vía Windows Update, y puede ser detectado encontrando " +"``ucrtbase.dll`` en el directorio del sistema." #: ../Doc/using/windows.rst:427 msgid "" @@ -762,15 +1007,26 @@ msgid "" "part of the application (\"vendoring\") so that the developer can ensure " "compatibility with newer versions before providing updates to users." msgstr "" +"Los paquetes de terceros deben ser instalados por el instalador de la " +"aplicación junto a la distribución incrustada. El uso de pip para " +"administrar dependencias como en una instalación de Python regular no es " +"soportado por esta distribución, aunque con cierto cuidado es posible " +"incluir y usar pip para automatizar las actualizaciones. En general, los " +"paquetes de terceros deben ser tratados como parte de la aplicación " +"(\"vendoring\") para que el desarrollador pueda asegurar la compatibilidad " +"con las nuevas versiones antes de proporcionar actualizaciones a los " +"usuarios." #: ../Doc/using/windows.rst:435 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" +"Los dos casos de uso recomendados para esta distribución se describen a " +"continuación." #: ../Doc/using/windows.rst:438 msgid "Python Application" -msgstr "" +msgstr "Aplicación Python" #: ../Doc/using/windows.rst:440 msgid "" @@ -780,6 +1036,11 @@ msgid "" "transparent it should be (or conversely, how professional it should appear), " "there are two options." msgstr "" +"Una aplicación escrita en Python no necesariamente requiere que los usuarios " +"sean conscientes de ese hecho. La distribución incrustada puede ser usada en " +"este caso para incluir una versión privada de Python en un paquete de " +"instalación. Dependiendo de lo transparente que deba ser (o por el " +"contrario, de lo profesional que deba parecer), hay dos opciones." #: ../Doc/using/windows.rst:446 msgid "" @@ -791,6 +1052,14 @@ msgid "" "launcher should simply be able to call ``Py_Main`` with a hard-coded command " "line." msgstr "" +"El uso de un ejecutable especializado como lanzador requiere algo de código, " +"pero proporciona la experiencia más transparente para los usuarios. Con un " +"lanzador personalizado, no hay indicadores obvios de que el programa se " +"ejecuta en Python: los íconos pueden ser personalizados, se puede " +"especificar información de la compañía y de la versión, y las asociaciones " +"de archivos se comportan correctamente. En la mayoría de los casos, un " +"lanzador personalizado debería simplemente poder invocar ``Py_Main`` " +"utilizando una línea de comandos codificada." #: ../Doc/using/windows.rst:453 msgid "" @@ -800,6 +1069,12 @@ msgid "" "Python and not its actual name, and users may have trouble distinguishing it " "from other running Python processes or file associations." msgstr "" +"El enfoque más simple es proporcionar un archivo por lotes o un acceso " +"directo generado que directamente invoque ``python.exe`` o ``pythonw.exe`` " +"con los argumentos de línea de comandos requeridos. En este caso, la " +"aplicación aparecerá como Python y no con su nombre real, y los usuarios " +"podrían tener problemas para distinguirla de otros procesos Python en " +"ejecución o asociaciones de archivos." #: ../Doc/using/windows.rst:459 msgid "" @@ -809,10 +1084,15 @@ msgid "" "there is an opportunity to specify the search path before launching the " "application." msgstr "" +"Con este último enfoque, los paquetes deben instalarse como directorios " +"junto al ejecutable de Python para asegurar su disponibilidad en la ruta. " +"Con el lanzador especializado, los paquetes pueden encontrarse en otras " +"ubicaciones ya que hay oportunidad de especificar la ruta de búsqueda antes " +"de iniciar la aplicación." #: ../Doc/using/windows.rst:465 msgid "Embedding Python" -msgstr "" +msgstr "Incrustar Python" #: ../Doc/using/windows.rst:467 msgid "" @@ -824,6 +1104,13 @@ msgid "" "application installation is sufficient to provide a loadable Python " "interpreter." msgstr "" +"Las aplicaciones escritas en código nativo frecuentemente requieren algún " +"tipo de lenguaje de scripting, y la distribución de Python incrustada puede " +"ser utilizada con ese propósito. En general, la mayoría de la aplicación " +"utiliza código nativo, y alguna parte invocará ``python.exe`` o usará " +"``python3.dll`` directamente. Para cualquiera de estos casos, la extracción " +"de la distribución incrustable a un subdirectorio de la instalación de la " +"aplicación es suficiente para proporcionar un intérprete de Python invocable." #: ../Doc/using/windows.rst:474 msgid "" @@ -832,10 +1119,15 @@ msgid "" "interpreter. Otherwise, there is no fundamental differences between using " "the embedded distribution and a regular installation." msgstr "" +"Al igual que con el uso de la aplicación, los paquetes pueden ser instalados " +"en cualquier ubicación, ya que existe la posibilidad de especificar rutas de " +"búsqueda antes de inicializar el intérprete. Más allá de esto, no existen " +"diferencias fundamentales entre el uso de la distribución incrustada y una " +"instalación normal." #: ../Doc/using/windows.rst:481 msgid "Alternative bundles" -msgstr "" +msgstr "Distribuciones alternativas" #: ../Doc/using/windows.rst:483 msgid "" @@ -843,54 +1135,67 @@ msgid "" "including additional functionality. The following is a list of popular " "versions and their key features:" msgstr "" +"Además de la distribución estándar de CPython, hay paquetes modificados que " +"incluyen funcionalidad adicional. La siguiente es una lista de versiones " +"populares y sus características clave:" #: ../Doc/using/windows.rst:488 msgid "`ActivePython `_" -msgstr "" +msgstr "`ActivePython `_" #: ../Doc/using/windows.rst:488 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" +"Instalador compatible con múltiples plataformas, documentación, PyWin32" #: ../Doc/using/windows.rst:492 msgid "`Anaconda `_" -msgstr "" +msgstr "`Anaconda `_" #: ../Doc/using/windows.rst:491 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." msgstr "" +"Módulos científicos populares (como numpy, scipy y pandas) y el gestor de " +"paquetes ``conda``." #: ../Doc/using/windows.rst:496 msgid "`Canopy `_" -msgstr "" +msgstr "`Canopy `_" #: ../Doc/using/windows.rst:495 msgid "" "A \"comprehensive Python analysis environment\" with editors and other " "development tools." msgstr "" +"Un \"entorno de análisis integral de Python\" con editores y otras " +"herramientas de desarrollo." #: ../Doc/using/windows.rst:500 msgid "`WinPython `_" -msgstr "" +msgstr "`WinPython `_" #: ../Doc/using/windows.rst:499 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." msgstr "" +"Distribución específica para Windows con paquetes científicos precompilados " +"y herramientas para construir paquetes." #: ../Doc/using/windows.rst:502 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." msgstr "" +"Tenga en cuenta que estos paquetes pueden no incluir la última versión de " +"Python u otras bibliotecas, y no son mantenidos ni respaldados por el equipo " +"central de Python." #: ../Doc/using/windows.rst:508 msgid "Configuring Python" -msgstr "" +msgstr "Configuración de Python" #: ../Doc/using/windows.rst:510 msgid "" @@ -900,28 +1205,42 @@ msgid "" "is only reliable for a single, system-wide installation. If you regularly " "use multiple versions of Python, consider using the :ref:`launcher`." msgstr "" +"Para ejecutar Python convenientemente desde el símbolo del sistema, puede " +"considerar cambiar algunas variables de entorno predeterminadas de Windows. " +"Si bien el instalador proporciona una opción para configurar las variables " +"PATH y PATHEXT, esto solo es confiable para una única instalación en todo el " +"sistema. Si usas varias versiones de Python con regularidad, considera usar " +"el :ref:`launcher`." #: ../Doc/using/windows.rst:520 msgid "Excursus: Setting environment variables" -msgstr "" +msgstr "Excurso: configurar variables de entorno" #: ../Doc/using/windows.rst:522 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." msgstr "" +"Windows permite configurar las variables de entorno de forma permanente a " +"nivel de usuario y a nivel de sistema, o temporalmente en el símbolo del " +"sistema." #: ../Doc/using/windows.rst:525 msgid "" "To temporarily set environment variables, open Command Prompt and use the :" "command:`set` command:" msgstr "" +"Para configurar una variable de entorno temporal, abra el símbolo del " +"sistema y use el comando :command:`set`:" #: ../Doc/using/windows.rst:534 msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." msgstr "" +"Estos cambios serán aplicados a cualquier comando que de aquí en más se " +"ejecute en esa consola, y serán heredados por cualquier aplicación iniciada " +"desde esa consola." #: ../Doc/using/windows.rst:537 msgid "" @@ -931,6 +1250,11 @@ msgid "" "exe` to the start is a common way to ensure the correct version of Python is " "launched." msgstr "" +"Si se incluye el nombre de la variable entre signos de porcentaje, esta se " +"expande al valor existente, permitiendo agregar un nuevo valor tanto al " +"principio como al final. Modificar :envvar:`PATH` agregando el directorio " +"que contiene :program:`python.exe` al comienzo es una forma común de " +"asegurar que se ejecuta la versión correcta de Python." #: ../Doc/using/windows.rst:543 msgid "" @@ -941,12 +1265,22 @@ msgid "" "variables. To change System variables, you need non-restricted access to " "your machine (i.e. Administrator rights)." msgstr "" +"Para modificar permanentemente las variables de entorno predeterminadas, " +"haga click en Inicio y busque 'editar las variables de entorno', o abra " +"Sistema, :guilabel:`Configuración avanzada del sistema` y haga click en el " +"botón :guilabel:`Variables de entorno`. En este diálogo, se pueden agregar o " +"modificar variables del usuario o del sistema. Para cambiar variables del " +"sistema, se necesita acceso no restringido al equipo (por ej. con " +"credenciales de administrador)." #: ../Doc/using/windows.rst:552 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." msgstr "" +"Windows concatenará las variables de usuario *luego* de las variables del " +"sistema, lo cual puede causar resultados inesperados cuando se modifica :" +"envvar:`PATH`." #: ../Doc/using/windows.rst:555 msgid "" @@ -955,52 +1289,58 @@ msgid "" "only includes code that is compatible with all of your installed Python " "versions." msgstr "" +"La variable :envvar:`PYTHONPATH` es utilizada por todas las versiones de " +"Python 2 y Python 3, por lo que no se debería configurar de forma permanente " +"a menos que sólo incluya código que sea compatible con todas las versiones " +"de Python instaladas." #: ../Doc/using/windows.rst:563 msgid "https://www.microsoft.com/en-us/wdsi/help/folder-variables" -msgstr "" +msgstr "https://www.microsoft.com/en-us/wdsi/help/folder-variables" #: ../Doc/using/windows.rst:563 msgid "Environment variables in Windows NT" -msgstr "" +msgstr "Variables de entorno en Windows NT" #: ../Doc/using/windows.rst:566 msgid "https://technet.microsoft.com/en-us/library/cc754250.aspx" -msgstr "" +msgstr "https://technet.microsoft.com/en-us/library/cc754250.aspx" #: ../Doc/using/windows.rst:566 msgid "The SET command, for temporarily modifying environment variables" -msgstr "" +msgstr "El comando SET, para modificar temporalmente variables de entorno" #: ../Doc/using/windows.rst:569 msgid "https://technet.microsoft.com/en-us/library/cc755104.aspx" -msgstr "" +msgstr "https://technet.microsoft.com/en-us/library/cc755104.aspx" #: ../Doc/using/windows.rst:569 msgid "The SETX command, for permanently modifying environment variables" -msgstr "" +msgstr "El comando SETX, para modificar permanentemente variables de entorno" #: ../Doc/using/windows.rst:572 msgid "" "https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-" "variables-in-windows-xp" msgstr "" +"https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-" +"variables-in-windows-xp" #: ../Doc/using/windows.rst:572 msgid "How To Manage Environment Variables in Windows XP" -msgstr "" +msgstr "Cómo gestionar variables de entorno en Windows XP" #: ../Doc/using/windows.rst:574 msgid "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" -msgstr "" +msgstr "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" #: ../Doc/using/windows.rst:575 msgid "Setting Environment variables, Louis J. Farrugia" -msgstr "" +msgstr "Configurar variables de entorno, Louis J. Farrugia" #: ../Doc/using/windows.rst:580 msgid "Finding the Python executable" -msgstr "" +msgstr "Encontrar el ejecutable de Python" #: ../Doc/using/windows.rst:584 msgid "" @@ -1008,6 +1348,10 @@ msgid "" "interpreter, you might want to start Python in the command prompt. The " "installer has an option to set that up for you." msgstr "" +"Además de utilizar la entrada para el intérprete de Python creada " +"automáticamente en el menú de Inicio, es posible que desee iniciar Python " +"desde el símbolo del sistema. El instalador posee una opción para realizar " +"esa configuración." #: ../Doc/using/windows.rst:588 msgid "" @@ -1019,6 +1363,13 @@ msgid "" "your scripts with command line options, see :ref:`using-on-cmdline` " "documentation." msgstr "" +"En la primera página del instalador, la opción llamada \"Add Python to PATH" +"\" puede ser seleccionada para que el instalador agregue la ubicación de " +"instalación a :envvar:`PATH`. La ubicación del directorio :file:`Scripts\\" +"\\` también es agregada. Esto permite escribir :command:`python` para " +"iniciar el intérprete, y :command:`pip` para el instalador de paquetes. De " +"esta manera los scripts también pueden ser ejecutados con opciones de línea " +"de comandos, consulte la documentación de :ref:`using-on-cmdline`." #: ../Doc/using/windows.rst:595 msgid "" @@ -1030,10 +1381,18 @@ msgid "" "entries. An example variable could look like this (assuming the first two " "entries already existed)::" msgstr "" +"Si no se activa esta opción durante la instalación, en cualquier momento se " +"puede ejecutar nuevamente el instalador, seleccionar Modify, y activarla. " +"Otra alternativa es modificar :envvar:`PATH` manualmente siguiendo las " +"instrucciones en :ref:`setting-envvars`. Se necesita configurar la variable " +"de entorno :envvar:`PATH` para que incluya el directorio de instalación de " +"Python, separándolo con punto y coma (;) de las otras entradas. Una variable " +"de ejemplo pude verse así (asumiendo que las dos primeras entradas ya " +"existían)::" #: ../Doc/using/windows.rst:608 msgid "UTF-8 mode" -msgstr "" +msgstr "Modo UTF-8" #: ../Doc/using/windows.rst:612 msgid "" @@ -1041,12 +1400,18 @@ msgid "" "Page). Python uses it for the default encoding of text files (e.g. :func:" "`locale.getpreferredencoding`)." msgstr "" +"Windows aún utiliza codificación heredada para la codificación del sistema " +"(la página de códigos ASNI). Python la utiliza para la codificación por " +"defecto de archivos de texto (por ej. :func:`locale.getpreferredencoding`)." #: ../Doc/using/windows.rst:616 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." msgstr "" +"Esto puede causar problemas porque UTF-8 es ampliamente utilizado en " +"internet y en la mayoría de los sistemas Unix, incluido WSL (subsistema de " +"Windows para Linux)." #: ../Doc/using/windows.rst:619 msgid "" @@ -1056,10 +1421,15 @@ msgid "" "enabling UTF-8 mode, and :ref:`setting-envvars` for how to modify " "environment variables." msgstr "" +"Se puede utilizar el modo UTF-8 para cambiar la codificación predeterminada " +"a UTF-8. El modo UTF-8 se puede activar mediante la opción de línea de " +"comandos ``-X utf-8``, o con la variable de entorno ``PYTHONUTF8=1``. " +"Consulte :envvar:`PYTHONUTF8 para activar el modo UTF-8, y :ref:`setting-" +"envvars` para saber cómo modificar las variables de entorno." #: ../Doc/using/windows.rst:625 msgid "When UTF-8 mode is enabled:" -msgstr "" +msgstr "Cuando el modo UTF-8 está activado:" #: ../Doc/using/windows.rst:627 msgid "" @@ -1068,16 +1438,24 @@ msgid "" "many places, including :func:`open`, :class:`Popen`, :meth:`Path.read_text`, " "etc." msgstr "" +":func:`locale.getpreferredencoding` retorna ``'UTF-8'`` en lugar de la " +"codificación del sistema. Esta función es utilizada como la codificación de " +"texto predeterminada en muchos lugares, incluidos :func:`open`, :class:" +"`Popen`, :meth:`Path.read_text`, etc." #: ../Doc/using/windows.rst:631 msgid "" ":data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use UTF-8 " "as their text encoding." msgstr "" +":data:`sys.stdin`, :data:`sys.stdout`, y :data:`sys.stderr` utilizan la " +"codificación de texto UTF-8." #: ../Doc/using/windows.rst:633 msgid "You can still use the system encoding via the \"mbcs\" codec." msgstr "" +"Siempre se puede utilizar la codificación del sistema mediante el códec " +"\"mbcs\"." #: ../Doc/using/windows.rst:635 msgid "" @@ -1087,24 +1465,35 @@ msgid "" "recommended to set the environment variable temporarily or use the ``-X " "utf8`` command line option." msgstr "" +"Tenga en cuenta que agregar ``PYTHONUTF8=1`` a las variables de entorno " +"predeterminadas afectará a todas las aplicaciones de Python 3.7+ en el " +"sistema. Si utiliza alguna aplicación de Python 3.7+ que depende de la " +"codificación heredada del sistema, se recomienda que se configure la " +"variable de entorno solo temporalmente o se use la opción de línea de " +"comandos ``-X utf8``." #: ../Doc/using/windows.rst:642 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" msgstr "" +"Aún con el modo UTF-8 desactivado, Python utiliza UTF-8 de forma " +"predeterminada en Windows para:" #: ../Doc/using/windows.rst:645 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" +"E/S de consola, incluía la E/S estándar (consultar :pep:`528` para más " +"detalles)." #: ../Doc/using/windows.rst:646 msgid "The filesystem encoding (see :pep:`529` for details)." msgstr "" +"Codificación del sistema de archivos (ver :pep:`529` para más detalles)." #: ../Doc/using/windows.rst:652 msgid "Python Launcher for Windows" -msgstr "" +msgstr "Lanzador de Python para Windows" #: ../Doc/using/windows.rst:656 msgid "" @@ -1113,6 +1502,10 @@ msgid "" "line) to indicate a preference for a specific Python version, and will " "locate and execute that version." msgstr "" +"El lanzador de Python para Windows es una utilidad que ayuda en la ubicación " +"y ejecución de diferentes versiones de Python. Este permite que los scripts " +"(o la línea de comandos) indiquen preferencia por una versión específica de " +"Python, y ubicará y ejecutará esa versión." #: ../Doc/using/windows.rst:661 msgid "" @@ -1121,18 +1514,22 @@ msgid "" "over system-wide ones, and orders by language version rather than using the " "most recently installed version." msgstr "" +"A diferencia de la variable :envvar:`PATH`, el lanzador seleccionará " +"correctamente la versión más apropiada de Python. Priorizará instalaciones " +"del usuario por sobre instalaciones de todo el sistema, y ordena las " +"versiones por idioma en lugar de utilizar la más recientemente instalada." #: ../Doc/using/windows.rst:666 msgid "The launcher was originally specified in :pep:`397`." -msgstr "" +msgstr "El lanzador se especificó originalmente en :pep:`397`." #: ../Doc/using/windows.rst:669 msgid "Getting started" -msgstr "" +msgstr "Comenzar" #: ../Doc/using/windows.rst:672 msgid "From the command-line" -msgstr "" +msgstr "Desde la línea de comandos" #: ../Doc/using/windows.rst:676 msgid "" @@ -1141,6 +1538,11 @@ msgid "" "of Python, so it does not matter which version is installed. To check that " "the launcher is available, execute the following command in Command Prompt:" msgstr "" +"Las instalaciones en todo el sistema de Python 3.3 y posteriores agregarán " +"la ubicación del lanzador a :envvar:`PATH`. El lanzador es compatible con " +"todas las versiones de Python disponibles, por lo que no importa cuál es la " +"versión que está instalada. Para verificar que el lanzador está disponible, " +"ejecute el siguiente comando en el símbolo del sistema:" #: ../Doc/using/windows.rst:685 msgid "" @@ -1148,6 +1550,9 @@ msgid "" "started - it can be exited as normal, and any additional command-line " "arguments specified will be sent directly to Python." msgstr "" +"Debería suceder que se inicia la última versión de Python instalada - se " +"puede cerrar normalmente, y todo argumento adicional especificado por línea " +"de comandos será enviado directamente a Python." #: ../Doc/using/windows.rst:689 msgid "" @@ -1155,30 +1560,37 @@ msgid "" "you will have noticed that Python |version| was started - to launch Python " "2.7, try the command:" msgstr "" +"Si hay múltiples versiones de Python instaladas (por ej. 2.7 y |versión|) " +"habrá notado que se inició Python |versión| - para iniciar Python 2.7, " +"ejecute el comando:" #: ../Doc/using/windows.rst:697 msgid "" "If you want the latest version of Python 2.x you have installed, try the " "command:" msgstr "" +"Si se quiere la última versión instalada de Python 2.x, ejecute el comando:" #: ../Doc/using/windows.rst:704 msgid "You should find the latest version of Python 2.x starts." -msgstr "" +msgstr "La última versión de Python 2.x debería iniciarse." #: ../Doc/using/windows.rst:706 msgid "If you see the following error, you do not have the launcher installed:" -msgstr "" +msgstr "Si ve el siguiente error es porque el lanzador no está instalado:" #: ../Doc/using/windows.rst:713 msgid "" "Per-user installations of Python do not add the launcher to :envvar:`PATH` " "unless the option was selected on installation." msgstr "" +"Las instalaciones por usuario de Python no agregan la ubicación del lanzador " +"a :envvar:`PATH` a menos que la opción haya sido seleccionada durante la " +"instalación." #: ../Doc/using/windows.rst:717 msgid "Virtual environments" -msgstr "" +msgstr "Entornos virtuales" #: ../Doc/using/windows.rst:721 msgid "" @@ -1189,26 +1601,37 @@ msgid "" "interpreter, either deactivate the virtual environment, or explicitly " "specify the global Python version." msgstr "" +"Si el lanzador es ejecutado sin explícita especificación de la versión de " +"Python, y un entorno virtual se encuentra activo (creado con el módulo :mod:" +"`venv` de la librería estándar o con la herramienta externa ``virtualenv``), " +"el lanzador ejecutará el intérprete del entorno virtual en lugar del global. " +"Para ejecutar el intérprete global, desactive el entorno virtual o " +"especifique explícitamente la versión global de Python." #: ../Doc/using/windows.rst:729 msgid "From a script" -msgstr "" +msgstr "Desde un script" #: ../Doc/using/windows.rst:731 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" msgstr "" +"Vamos a crear un script de Python para una prueba - cree un archivo llamado " +"``hello.py`` con el siguiente contenido" #: ../Doc/using/windows.rst:740 msgid "From the directory in which hello.py lives, execute the command:" msgstr "" +"Desde el directorio en donde se encuentra hello.py, ejecute el comando:" #: ../Doc/using/windows.rst:746 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" msgstr "" +"Debería notar que se imprime el número de versión de la última instalación " +"de Python 2.x. Ahora pruebe cambiando la primera línea por:" #: ../Doc/using/windows.rst:753 msgid "" @@ -1218,6 +1641,12 @@ msgid "" "first line to ``#! python2.6`` and you should find the 2.6 version " "information printed." msgstr "" +"Al ejecutar nuevamente el comando se debería imprimir la información del " +"último Python 3.x. Al igual que en los ejemplos de línea de comandos " +"anteriores, se puede especificar un calificador de versión más explícito. " +"Asumiendo que tiene instalado Python 2.6, pruebe cambiar la primera línea a " +"``#! python2.6`` y debería ver que se imprime la información de la versión " +"2.6." #: ../Doc/using/windows.rst:759 msgid "" @@ -1226,10 +1655,14 @@ msgid "" "compatibility and for compatibility with Unix, where the command ``python`` " "typically refers to Python 2." msgstr "" +"Tenga en cuenta que a diferencia del uso interactivo, un despojado \"python" +"\" utilizará la última versión de Python 2.x que esté instalada. Esto es así " +"por compatibilidad con versiones anteriores y por compatibilidad con Unix, " +"donde el comando ``python`` usualmente refiere a Python 2." #: ../Doc/using/windows.rst:765 msgid "From file associations" -msgstr "" +msgstr "Desde asociaciones de archivos" #: ../Doc/using/windows.rst:767 msgid "" @@ -1239,16 +1672,25 @@ msgid "" "be used, and therefore you can use the same facilities described above to " "have the script specify the version which should be used." msgstr "" +"El lanzador debería haber sido asociado con archivos de Python (por ej. " +"archivos ``.py``, ``.pyw`` y ``.pyc``) cuando fue instalado. Esto significa " +"que cuando se haga doble click sobre alguno de estos archivos desde el " +"explorador de Windows se utilizará el lanzador, por lo que se pueden " +"utilizar las mismas funciones descritas anteriormente para que el script " +"especifique la versión que debería usarse." #: ../Doc/using/windows.rst:773 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." msgstr "" +"El beneficio clave de esto es que un único lanzador puede soportar múltiples " +"versiones de Python al mismo tiempo dependiendo del contenido de la primera " +"línea." #: ../Doc/using/windows.rst:777 msgid "Shebang Lines" -msgstr "" +msgstr "Líneas shebang" #: ../Doc/using/windows.rst:779 msgid "" @@ -1259,6 +1701,12 @@ msgid "" "facilities to be used with Python scripts on Windows and the examples above " "demonstrate their use." msgstr "" +"Si la primera línea de un script comienza con ``#!``, esta se denomina línea " +"\"shebang\". Linux y otros sistemas operativos tipo Unix soportan de forma " +"nativa este tipo de líneas y son comúnmente utilizadas en dichos sistemas " +"para indicar cómo debería ser ejecutado un script. Este lanzador permite que " +"la misma funcionalidad pueda ser utilizada con scripts de Python en Windows, " +"y los ejemplos anteriores demuestran su uso." #: ../Doc/using/windows.rst:786 msgid "" @@ -1266,26 +1714,29 @@ msgid "" "Windows, this launcher supports a number of 'virtual' commands to specify " "which interpreter to use. The supported virtual commands are:" msgstr "" +"Para permitir que las líneas shebang de scripts de Python sean portables " +"entre Unix y Windows, este lanzador soporta varios comandos 'virtuales' para " +"especificar qué intérprete utilizar. Los comandos virtuales soportados son:" #: ../Doc/using/windows.rst:790 msgid "``/usr/bin/env python``" -msgstr "" +msgstr "``/usr/bin/env python``" #: ../Doc/using/windows.rst:791 msgid "``/usr/bin/python``" -msgstr "" +msgstr "``/usr/bin/python``" #: ../Doc/using/windows.rst:792 msgid "``/usr/local/bin/python``" -msgstr "" +msgstr "``/usr/local/bin/python``" #: ../Doc/using/windows.rst:793 msgid "``python``" -msgstr "" +msgstr "``python``" #: ../Doc/using/windows.rst:795 msgid "For example, if the first line of your script starts with" -msgstr "" +msgstr "Por ejemplo, si la primera línea del script comienza con" #: ../Doc/using/windows.rst:801 msgid "" @@ -1295,6 +1746,12 @@ msgid "" "script on Windows which you hope will be useful on Unix, you should use one " "of the shebang lines starting with ``/usr``." msgstr "" +"La versión de Python predeterminada será ubicada y utilizada. Como muchos " +"scripts de Python escritos para funcionar en Unix tienen esta línea, debería " +"suceder que estos scripts pueden ser utilizados por el lanzador sin " +"modificaciones. Si está escribiendo un nuevo script en Windows que espera " +"que sea útil en Unix, debería utilizar una de las líneas shebang que " +"comienza con ``/usr``." #: ../Doc/using/windows.rst:807 msgid "" @@ -1304,6 +1761,11 @@ msgid "" "version. I.e. ``/usr/bin/python2.7-32`` will request usage of the 32-bit " "python 2.7." msgstr "" +"A cualquiera de los mencionados comandos virtuales se le puede agregar la " +"versión explícita como sufijo (ya sea solo la versión mayor, o la versión " +"mayor y menor). Además se puede solicitar la versión de 32 bit agregando " +"\"-32\" detrás de la versión menor. Por ej. ``/usr/bin/python2.7-32`` " +"solicitará el uso de la versión de 32 bit de Python 2.7." #: ../Doc/using/windows.rst:815 msgid "" @@ -1311,6 +1773,10 @@ msgid "" "by the \"-64\" suffix. Furthermore it is possible to specify a major and " "architecture without minor (i.e. ``/usr/bin/python3-64``)." msgstr "" +"Desde la versión 3.7 del lanzador de Python es posible solicitar la versión " +"de 64 bit con el sufijo \"-64\". Además es posible especificar una versión " +"mayor y la arquitectura sin la versión menor (por ej. ``/usr/bin/" +"python3-64``)." #: ../Doc/using/windows.rst:819 msgid "" @@ -1320,28 +1786,35 @@ msgid "" "behaviour of the Unix ``env`` program, which performs a :envvar:`PATH` " "search." msgstr "" +"La forma ``/usr/bin/env`` de la línea shebang tiene un significado especial " +"más. Antes de buscar intérpretes de Python instalados, esta forma buscará el " +"ejecutable de Python en :envvar:`PATH`. Esto se corresponde con el " +"comportamiento en Unix del programa ``env``, el cual realiza una búsqueda " +"en :envvar:`PATH`." #: ../Doc/using/windows.rst:825 msgid "Arguments in shebang lines" -msgstr "" +msgstr "Argumentos en líneas shebang" #: ../Doc/using/windows.rst:827 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" msgstr "" +"Las líneas shebang también pueden especificar opciones adicionales para que " +"sean pasadas al intérprete de Python. Por ej. si se tiene esta línea shebang:" #: ../Doc/using/windows.rst:834 msgid "Then Python will be started with the ``-v`` option" -msgstr "" +msgstr "Entonces Python se iniciará con la opción ``-v``" #: ../Doc/using/windows.rst:837 msgid "Customization" -msgstr "" +msgstr "Personalización" #: ../Doc/using/windows.rst:840 msgid "Customization via INI files" -msgstr "" +msgstr "Personalización con archivos INI" #: ../Doc/using/windows.rst:842 msgid "" @@ -1352,6 +1825,12 @@ msgid "" "launcher. The same .ini files are used for both the 'console' version of the " "launcher (i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)." msgstr "" +"El lanzador buscará dos archivos .ini - ``py.ini`` en el directorio de " +"\"datos de aplicación\" del usuario actual (esto es el directorio retornado " +"por el llamado a la función ``SHGetFolderPath`` con ``CSIDL_LOCAL_APPDATA``) " +"y ``py.ini`` en el directorio del lanzador. Los mismos archivos .ini son " +"usados por la versión 'consola' del lanzador (py.exe) y por la versión " +"'ventana' (pyw.exe)." #: ../Doc/using/windows.rst:849 msgid "" @@ -1360,10 +1839,14 @@ msgid "" "write access to the .ini file next to the launcher, can override commands in " "that global .ini file." msgstr "" +"La personalización especificada en el \"directorio de aplicación\" tendrá " +"precedencia por sobre la que esté junto al ejecutable, por lo que un " +"usuario, que podría no tener acceso de escritura al archivo .ini que está " +"junto al lanzador, puede sobrescribir comandos en ese archivo .ini global." #: ../Doc/using/windows.rst:854 msgid "Customizing default Python versions" -msgstr "" +msgstr "Personalizar las versiones de Python predeterminadas" #: ../Doc/using/windows.rst:856 msgid "" @@ -1374,12 +1857,21 @@ msgid "" "specify if a 32 or 64 bit implementation shall be requested by adding " "\"-32\" or \"-64\"." msgstr "" +"En algunos casos, un calificador de versión puede ser incluido en un comando " +"para dictar qué versión de Python será utilizada por dicho comando. Un " +"calificador de versión comienza con el número mayor de la versión y pude ser " +"seguido opcionalmente por un punto ('.') y el número menor de la versión. " +"Además es posible especificar si se solicita una implementación de 32 o 64 " +"bit agregando \"-32\" o \"-64\"." #: ../Doc/using/windows.rst:862 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." msgstr "" +"Por ejemplo, una línea shebang como ``#!python`` no posee calificador de " +"versión, mientras que ``#!python3`` sí tiene un calificador de versión el " +"cual especifica solo el número mayor de la versión." #: ../Doc/using/windows.rst:865 msgid "" @@ -1390,6 +1882,13 @@ msgid "" "\"3.7-64\". (Note that the \"-64\" option is only available with the " "launcher included with Python 3.7 or newer.)" msgstr "" +"Si no se encuentra un calificador de versión en el comando, la variable de " +"entorno :envvar:`PY_PYTHON` puede configurarse para especificar un " +"calificador de versión predeterminado. Si esta no está configurada, por " +"defecto es \"3\". La variable puede especificar cualquier valor que pueda " +"ser pasado por línea de comandos, como \"3\", \"3.7\", \"3.7-32\" o " +"\"3.7-64\". (Tener en cuenta que la opción \"-64\" solo está disponible con " +"el lanzador incluido con Python 3.7 o versiones posteriores.)" #: ../Doc/using/windows.rst:872 msgid "" @@ -1401,6 +1900,14 @@ msgid "" "is likely, although not guaranteed, to be the most recently installed " "version in that family." msgstr "" +"Si no se encuentra ningún calificador de versión menor, la variable de " +"entorno ``PY_PYTHON{major}`` (donde ``{major}`` es el actual calificador de " +"versión mayor según lo determinado antes) puede ser configurada para " +"especificar la versión completa. Si dicha opción no se encuentra, el " +"lanzador enumerará las versiones de Python instaladas y utilizará la última " +"versión menor encontrada para la versión mayor, la cual es probable, aunque " +"no se garantiza, que sea la versión más recientemente instalada de esa " +"familia." #: ../Doc/using/windows.rst:880 msgid "" @@ -1415,10 +1922,21 @@ msgid "" "launcher was installed last). As noted above, an optional \"-32\" or \"-64\" " "suffix can be used on a version specifier to change this behaviour." msgstr "" +"En un Windows de 64 bit con ambas implementaciones de 32 y 64 bit de la " +"misma versión (mayor.menor) de Python instaladas, la versión de 64 bit " +"siempre tendrá precedencia. Esto se cumple para ambas implementaciones de 32 " +"y 64 bit del lanzador - un lanzador de 32 bit priorizará ejecutar una " +"instalación de Python de 64 bit de la versión especificada si está " +"disponible. Esto es así para que el comportamiento del lanzador pueda ser " +"predecible sabiendo solamente qué versiones están instaladas en la PC y sin " +"importar el orden en el cual fueron instaladas (esto es, sin saber si una " +"versión de Python de 32 o 64 bit y su correspondiente lanzador fue la última " +"instalada). Como se especificó antes, el sufijo \"-32\" o \"-64\" puede ser " +"utilizado en el especificador de versión para cambiar este comportamiento." #: ../Doc/using/windows.rst:891 msgid "Examples:" -msgstr "" +msgstr "Ejemplos:" #: ../Doc/using/windows.rst:893 msgid "" @@ -1426,18 +1944,25 @@ msgid "" "use the latest Python 2.x version installed and the command ``python3`` will " "use the latest Python 3.x installed." msgstr "" +"Si no se configura ninguna opción relevante, los comandos ``python`` y " +"``python2`` utilizarán la última versión de Python 2.x instalada y el " +"comando ``python3`` utilizará el último Python 3.x instalado." #: ../Doc/using/windows.rst:897 msgid "" "The commands ``python3.1`` and ``python2.7`` will not consult any options at " "all as the versions are fully specified." msgstr "" +"Los comandos ``python3.1`` y ``python2.7`` no consultarán ninguna opción ya " +"que las versiones se encuentran completamente especificadas." #: ../Doc/using/windows.rst:900 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." msgstr "" +"Si ``PY_PYTHON=3``, los comandos ``python`` y ``python3`` utilizarán ambos " +"la última versión instalada de Python 3." #: ../Doc/using/windows.rst:903 msgid "" @@ -1446,12 +1971,18 @@ msgid "" "installed Python (PY_PYTHON was not considered at all as a major version was " "specified.)" msgstr "" +"Si ``PY_PYTHON=3.1-32``, el comando ``python`` utilizará la implementación " +"de 32 bit de la versión 3.1 mientras que el comando ``python3`` utilizará el " +"último Python instalado (PY_PYTHON no se consideró para nada ya que se " +"especificó una versión mayor)." #: ../Doc/using/windows.rst:908 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1``, the commands ``python`` and " "``python3`` will both use specifically 3.1" msgstr "" +"Si ``PY_PYTHON=3`` y ``PY_PYTHON3=3.1``, los comandos ``python`` y " +"``python3`` utilizarán ambos 3.1 específicamente" #: ../Doc/using/windows.rst:911 msgid "" @@ -1462,24 +1993,35 @@ msgid "" "the INI file are case insensitive.) The contents of an environment variable " "will override things specified in the INI file." msgstr "" +"Además de las variables de entorno, las mismas configuraciones pueden " +"realizarse desde el archivo .INI utilizado por el lanzador. La sección en el " +"archivo INI se llama ``[defaults]`` y el nombre de cada clave será igual al " +"de la variable de entorno pero sin el prefijo ``PY_`` (tenga en cuenta que " +"los nombres de clave en el archivo INI son indiferentes a mayúsculas y " +"minúsculas). El contenido de las variables de entorno sobrescribirá los " +"valores especificados en el archivo INI." #: ../Doc/using/windows.rst:918 msgid "For example:" -msgstr "" +msgstr "Por ejemplo:" #: ../Doc/using/windows.rst:920 msgid "Setting ``PY_PYTHON=3.1`` is equivalent to the INI file containing:" msgstr "" +"Configurar ``PY_PYTHON=3.1`` es equivalente a un archivo INI con el " +"contenido:" #: ../Doc/using/windows.rst:927 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1`` is equivalent to the INI file " "containing:" msgstr "" +"Configurar ``PY_PYTHON=3`` y ``PY_PYTHON3=3.1`` es equivalente a un archivo " +"INI con el contenido:" #: ../Doc/using/windows.rst:937 msgid "Diagnostics" -msgstr "" +msgstr "Diagnóstico" #: ../Doc/using/windows.rst:939 msgid "" @@ -1490,10 +2032,16 @@ msgid "" "particular version was chosen and the exact command-line used to execute the " "target Python." msgstr "" +"Si se configura la variable de entorno ``PYLAUNCH_DEBUG`` (con cualquier " +"valor), el lanzador imprimirá información de diagnóstico a stderr (en la " +"consola). Aunque esta información es a la vez detallada y concisa, debería " +"permitirle ver qué versiones de Python fueron encontradas, por qué se eligió " +"una versión particular y la línea de comandos exacta que fue utilizada para " +"ejecutar el Python escogido." #: ../Doc/using/windows.rst:951 msgid "Finding modules" -msgstr "" +msgstr "Encontrar módulos" #: ../Doc/using/windows.rst:953 msgid "" @@ -1503,6 +2051,11 @@ msgid "" "\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\\\Lib" "\\\\site-packages\\\\`." msgstr "" +"Python generalmente almacena su biblioteca (y por lo tanto el directorio " +"site-packages) en el directorio de instalación. Por lo tanto si Python fue " +"instalado en :file:`C:\\\\Python\\\\`, la biblioteca predeterminada residirá " +"en :file:`C:\\\\Python\\\\Lib\\\\` y los módulos de terceros deberían " +"almacenarse en :file:`C:\\\\Python\\\\Lib\\\\site-packages\\\\`." #: ../Doc/using/windows.rst:959 msgid "" @@ -1512,6 +2065,12 @@ msgid "" "based on the DLL name overrides the one based on the executable, which " "allows paths to be restricted for any program loading the runtime if desired." msgstr "" +"Para sobrescribir :data:`sys.path` completamente, crear un archivo ``._pth`` " +"con el mismo nombre que la DLL (``python37._pth``) o el ejecutable (``python." +"_pth``) y especificar una línea por cada ruta a agregar a :data:`sys.path`. " +"El archivo basado en el nombre de la DLL tiene precedencia sobre el basado " +"en el ejecutable, lo que permite restringir las rutas para cualquier " +"programa que cargue el tiempo de ejecución si se desea." #: ../Doc/using/windows.rst:965 msgid "" @@ -1522,24 +2081,38 @@ msgid "" "the file. Import statements other than to ``site`` are not permitted, and " "arbitrary code cannot be specified." msgstr "" +"Cuando el archivo existe, se ignoran todas las variables de entorno y del " +"registro, se activa el modo aislado, y no se importa :mod:`site` a menos que " +"una línea en el archivo especifique ``import site``. Rutas en blanco y " +"líneas que comiencen con ``#`` son ignoradas. Cada ruta puede ser absoluta o " +"relativa a la ubicación del archivo. No se permiten declaraciones de " +"importación más que la de ``site``, y no se puede especificar código " +"arbitrario." #: ../Doc/using/windows.rst:972 msgid "" "Note that ``.pth`` files (without leading underscore) will be processed " "normally by the :mod:`site` module when ``import site`` has been specified." msgstr "" +"Tenga en cuenta que los archivos ``.pth`` (sin guion bajo al inicio) serán " +"procesados normalmente por el módulo :mod:`site` cuando ``import site`` haya " +"sido especificado." #: ../Doc/using/windows.rst:975 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" msgstr "" +"Cuando no se encuentre ningún archivo ``._pth``, así es como :data:`sys." +"path` es completado en Windows:" #: ../Doc/using/windows.rst:978 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." msgstr "" +"Se agrega una entrada vacía al comienzo, que corresponde al directorio " +"actual." #: ../Doc/using/windows.rst:981 msgid "" @@ -1548,7 +2121,14 @@ msgid "" "paths in this variable must be separated by semicolons, to distinguish them " "from the colon used in drive identifiers (``C:\\`` etc.)." msgstr "" +"Si existe la variable de entorno :envvar:`PYTHONPATH`, de acuerdo a lo " +"descrito en :ref:`using-on-envvars`, sus entradas se agregan a continuación. " +"Tenga en cuenta que en Windows, las rutas en esta variable deben estar " +"separadas por punto y coma (;), para distinguirlas de los dos puntos " +"utilizados en los identificadores de disco (``C:\\``, etc.)." +# "hive" se traduce como "subárbol" en este contexto. +# referencia: https://es.wikipedia.org/wiki/Registro_de_Windows#Sub%C3%A1rboles #: ../Doc/using/windows.rst:986 msgid "" "Additional \"application paths\" can be added in the registry as subkeys of :" @@ -1558,6 +2138,14 @@ msgid "" "cause each path to be added to :data:`sys.path`. (Note that all known " "installers only use HKLM, so HKCU is typically empty.)" msgstr "" +"Se pueden agregar al registro \"rutas de aplicación\" adicionales como " +"subclaves de :samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\" +"\\PythonPath` bajo los subárboles ``HKEY_CURRENT_USER`` y " +"``HKEY_LOCAL_MACHINE``. Las subclaves que contienen un valor por defecto " +"compuesto por cadenas de ruta separadas por punto y coma causan que cada una " +"de esas rutas sea agregada a :data:`sys.path`. (Tenga en cuenta que todos " +"los instaladores conocidos solo utilizan HKLM, por lo que HKCU comúnmente se " +"encuentra vacío.)" #: ../Doc/using/windows.rst:993 msgid "" @@ -1569,6 +2157,15 @@ msgid "" "on that folder. Otherwise, the core Python path is constructed from the " "PythonPath stored in the registry." msgstr "" +"Si se configura la variable de entorno :envvar:`PYTHONHOME`, es asumida como " +"el \"Python Home\" (el directorio de origen de Python). De lo contrario, la " +"ruta del ejecutable principal de Python es utilizada para ubicar un " +"\"archivo de referencia\" (ya sea ``Lib\\os.py`` o ``pythonXY.zip``) para " +"deducir el \"Python Home\". Si el directorio de origen de Python es " +"encontrado, los subdirectorios relevantes que se agregan a :data: `sys.path` " +"(``Lib``, ``plat-win``, etc.) se basan en ese directorio. Por el contrario, " +"la ruta principal de Python se construye a partir del PythonPath guardado en " +"el registro." #: ../Doc/using/windows.rst:1001 msgid "" @@ -1576,12 +2173,19 @@ msgid "" "in the environment, and no registry entries can be found, a default path " "with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." msgstr "" +"Si el Python Home no puede ser ubicado, :envvar:`PYTHONPATH` no está " +"especificado en el entorno y no se encuentra ninguna entrada en el registro, " +"se usa una ruta predeterminada con entradas relativas (por ej. ``.\\Lib;." +"\\plat-win``, etc.)." #: ../Doc/using/windows.rst:1005 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" msgstr "" +"Si se encuentra el archivo ``pyvenv.cfg`` junto al ejecutable principal o en " +"el directorio un nivel arriba del ejecutable, se aplica la siguiente " +"variación:" #: ../Doc/using/windows.rst:1008 msgid "" @@ -1589,10 +2193,13 @@ msgid "" "path is used instead of the path to the main executable when deducing the " "home location." msgstr "" +"Si ``home`` es una ruta absoluta y :envvar:`PYTHONHOME` no está configurada, " +"se usa esta ruta en lugar de la ruta al ejecutable principal para deducir la " +"ubicación del directorio de origen." #: ../Doc/using/windows.rst:1012 msgid "The end result of all this is:" -msgstr "" +msgstr "El resultado final de todo esto es:" #: ../Doc/using/windows.rst:1014 msgid "" @@ -1601,6 +2208,11 @@ msgid "" "directory), the core path is deduced, and the core paths in the registry are " "ignored. Other \"application paths\" in the registry are always read." msgstr "" +"Cuando se ejecuta :file:`python.exe`, o cualquier otro .exe en el directorio " +"principal de Python (tanto la versión instalada como directamente desde el " +"directorio PCbuild), se deduce la ruta principal, y se ignoran las rutas " +"principales en el registro. Siempre se leen otras \"rutas de aplicación\" " +"del registro." #: ../Doc/using/windows.rst:1019 msgid "" @@ -1609,6 +2221,10 @@ msgid "" "the registry is used. Other \"application paths\" in the registry are " "always read." msgstr "" +"Cuando se aloja Python en otro .exe (distinto directorio, incrustado " +"mediante COM, etc.), el \"Python Home\" no se deduce, y se utiliza la ruta " +"principal del registro. Siempre se leen otras \"rutas de aplicación\" del " +"registro." #: ../Doc/using/windows.rst:1023 msgid "" @@ -1616,12 +2232,17 @@ msgid "" "some very strange installation setup) you get a path with some default, but " "relative, paths." msgstr "" +"Si Python no puede encontrar su directorio de origen y no hay valores en el " +"registro (un .exe congelado, una muy rara configuración de instalación) se " +"obtiene una ruta relativa predeterminada." #: ../Doc/using/windows.rst:1027 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" msgstr "" +"Para aquellos que quieran incluir Python en su aplicación o distribución, " +"los siguientes consejos evitarán conflictos con otras instalaciones:" #: ../Doc/using/windows.rst:1030 msgid "" @@ -1630,6 +2251,10 @@ msgid "" "environment variables, and also ignore :mod:`site` unless ``import site`` is " "listed." msgstr "" +"Incluya un archivo ``._pth`` junto al ejecutable, que contenga los " +"directorios a incluir. Esto hará que se ignoren las rutas enumeradas en el " +"registro y en las variables de entorno, y que también se ignore :mod:`site` " +"a menos que se especifique ``import site``." #: ../Doc/using/windows.rst:1035 msgid "" @@ -1637,12 +2262,17 @@ msgid "" "executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" "`Py_SetProgramName` before :c:func:`Py_Initialize`." msgstr "" +"Si se carga :file:`python3.dll` o :file:`python37.dll` desde un ejecutable " +"propio, invocar explícitamente :c:func:`Py_SetPath` o (al menos) :c:func:" +"`Py_SetProgramName` antes de :c:func:`Py_Initialize`." #: ../Doc/using/windows.rst:1039 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." msgstr "" +"Limpie y/o sobrescriba :envvar:`PYTHONPATH` y configure :envvar:`PYTHONHOME` " +"antes de iniciar :file:`python.exe` desde su aplicación." #: ../Doc/using/windows.rst:1042 msgid "" @@ -1652,6 +2282,12 @@ msgid "" "directory. (Note that it will not be detected inside a ZIP file, but a " "correctly named ZIP file will be detected instead.)" msgstr "" +"Si no se pueden utilizar las sugerencias previas (por ejemplo, en una " +"distribución que permite a los usuarios ejecutar :file:`python.exe` " +"directamente), hay que asegurarse de que el archivo de referencia (:file:`Lib" +"\\\\os.py`) exista en el directorio de instalación. (Tener en cuenta que " +"este no será detectado dentro de un archivo ZIP, pero si se detectará un ZIP " +"correctamente nombrado.)" #: ../Doc/using/windows.rst:1048 msgid "" @@ -1662,18 +2298,28 @@ msgid "" "still be susceptible to non-standard paths in the registry and user site-" "packages." msgstr "" +"Esto asegura que los archivos de una instalación del sistema no tendrán " +"precedencia por sobre la copia de la librería estándar incluida en su " +"aplicación. De otra manera, los usuarios podrían experimentar problemas al " +"utilizar su aplicación. Tenga en cuenta que la primera sugerencia es la " +"mejor, ya que las otras aún pueden ser afectadas por rutas no estándar en el " +"registro y en el site-packages del usuario." #: ../Doc/using/windows.rst:1057 msgid "" "Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." msgstr "" +"Agrega soporte para archivos ``._pth`` y elimina la opción ``applocal`` de " +"``pyvenv.cfg``." #: ../Doc/using/windows.rst:1059 msgid "" "Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " "executable." msgstr "" +"Agrega ``pythonXX.zip`` como un potencial archivo de referencia cuando se " +"encuentra junto al ejecutable." #: ../Doc/using/windows.rst:1065 msgid "" @@ -1682,10 +2328,15 @@ msgid "" "finder is enabled on Windows in 3.6.0 and earlier, but may need to be " "explicitly added to :attr:`sys.meta_path` in the future." msgstr "" +"Los módulos especificados en el registro bajo ``Modules`` (no " +"``PythonPath``) pueden ser importados por :class:`importlib.machinery." +"WindowsRegistryFinder`. Este buscador está habilitado en Windows en la " +"versión 3.6.0 y anteriores, pero es posible que deba agregarse " +"explícitamente a :attr:`sys.meta_path` en el futuro." #: ../Doc/using/windows.rst:1071 msgid "Additional modules" -msgstr "" +msgstr "Módulos adicionales" #: ../Doc/using/windows.rst:1073 msgid "" @@ -1693,16 +2344,22 @@ msgid "" "features that are unique to Windows. A couple of modules, both in the " "standard library and external, and snippets exist to use these features." msgstr "" +"Aunque Python pretende ser portátil entre todas las plataformas, hay " +"características que son exclusivas de Windows. Existen un par de módulos, de " +"la biblioteca estándar y externos, y fragmentos de código para utilizar " +"estas funciones." #: ../Doc/using/windows.rst:1077 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." msgstr "" +"Los módulos estándar específicos para Windows se encuentran documentados en :" +"ref:`mswin-specific-services`." #: ../Doc/using/windows.rst:1081 msgid "PyWin32" -msgstr "" +msgstr "PyWin32" #: ../Doc/using/windows.rst:1083 msgid "" @@ -1710,30 +2367,37 @@ msgid "" "a collection of modules for advanced Windows-specific support. This " "includes utilities for:" msgstr "" +"El módulo `PyWin32 `_ de Mark Hammond es " +"una colección de módulos para soporte avanzado específico para Windows. Este " +"incluye utilidades para:" #: ../Doc/using/windows.rst:1087 msgid "" "`Component Object Model `_ (COM)" msgstr "" +"`Component Object Model `_ (COM)" #: ../Doc/using/windows.rst:1090 msgid "Win32 API calls" -msgstr "" +msgstr "Invocación de la API Win32" #: ../Doc/using/windows.rst:1091 msgid "Registry" -msgstr "" +msgstr "Registro" #: ../Doc/using/windows.rst:1092 msgid "Event log" -msgstr "" +msgstr "Registro de eventos" #: ../Doc/using/windows.rst:1093 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" +"Interfaces de usuario para `Microsoft Foundation Classes `_ (MFC)" #: ../Doc/using/windows.rst:1096 msgid "" @@ -1741,27 +2405,31 @@ msgid "" "org/windows/pythonwin/>`_ is a sample MFC application shipped with PyWin32. " "It is an embeddable IDE with a built-in debugger." msgstr "" +"`PythonWin `_ es una aplicación MFC de muestra distribuida con " +"PyWin32. Es un IDE incrustable con depurador incorporado." #: ../Doc/using/windows.rst:1103 msgid "" "`Win32 How Do I...? `_" msgstr "" +"`Win32 How Do I...? `_" #: ../Doc/using/windows.rst:1103 msgid "by Tim Golden" -msgstr "" +msgstr "por Tim Golden" #: ../Doc/using/windows.rst:1105 msgid "`Python and COM `_" -msgstr "" +msgstr "`Python and COM `_" #: ../Doc/using/windows.rst:1106 msgid "by David and Paul Boddie" -msgstr "" +msgstr "por David y Paul Boddie" #: ../Doc/using/windows.rst:1110 msgid "cx_Freeze" -msgstr "" +msgstr "cx_Freeze" #: ../Doc/using/windows.rst:1112 msgid "" @@ -1771,10 +2439,15 @@ msgid "" "have done this, you can distribute your application without requiring your " "users to install Python." msgstr "" +"`cx_Freeze `_ es una " +"extensión de :mod:`distutils` (ver :ref:`extending-distutils`) que encapsula " +"scripts de Python en programas de Windows ejecutables (:file:`{*}.exe` " +"files). Al hacer esto, se puede distribuir una aplicación sin que los " +"usuarios instalen Python." #: ../Doc/using/windows.rst:1120 msgid "WConio" -msgstr "" +msgstr "WConio" #: ../Doc/using/windows.rst:1122 msgid "" @@ -1782,16 +2455,22 @@ msgid "" "restricted to Unix-like systems, there is a library exclusive to Windows as " "well: Windows Console I/O for Python." msgstr "" +"Dado que la capa de manejo avanzado de terminales de Python, :mod:`curses`, " +"se encuentra restringida a sistemas tipo Unix, también hay una librería " +"exclusiva para Windows: Windows Console I/O para Python" #: ../Doc/using/windows.rst:1126 msgid "" "`WConio `_ is a wrapper " "for Turbo-C's :file:`CONIO.H`, used to create text user interfaces." msgstr "" +"`WConio `_ es un " +"contenedor para :file:`CONIO.H` de Turbo-C, utilizado para crear interfaces " +"de usuario de texto." #: ../Doc/using/windows.rst:1132 msgid "Compiling Python on Windows" -msgstr "" +msgstr "Compilar Python en Windows" #: ../Doc/using/windows.rst:1134 msgid "" @@ -1800,6 +2479,11 @@ msgid "" "either the latest release's source or just grab a fresh `checkout `_." msgstr "" +"Si desea compilar CPython por su cuenta, lo primero que debe hacer es " +"obtener el `código fuente `_. " +"Puede descargar el código fuente de la última versión o simplemente obtener " +"una nueva `copia `_." #: ../Doc/using/windows.rst:1139 msgid "" @@ -1807,22 +2491,30 @@ msgid "" "Visual Studio 2015, which is the compiler used to build the official Python " "releases. These files are in the :file:`PCbuild` directory." msgstr "" +"El árbol del código fuente contiene un solución de compilación y archivos " +"del proyecto para Microsoft Visual Studio 2015, el cual es el compilador " +"utilizado para compilar las versiones oficiales de Python. Estos archivos se " +"encuentran en el directorio :file:`PCbuild`." #: ../Doc/using/windows.rst:1143 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." msgstr "" +"Consulte :file:`PCbuild/readme.txt` para obtener información general acerca " +"del proceso de compilación." #: ../Doc/using/windows.rst:1146 msgid "For extension modules, consult :ref:`building-on-windows`." -msgstr "" +msgstr "Para módulos de extensión, consulte :ref:`building-on-windows`." #: ../Doc/using/windows.rst:1153 msgid "" "`Python + Windows + distutils + SWIG + gcc MinGW `_" msgstr "" +"`Python + Windows + distutils + SWIG + gcc MinGW `_" #: ../Doc/using/windows.rst:1151 msgid "" @@ -1830,14 +2522,17 @@ msgid "" "MinGW gcc under Windows\" or \"Installing Python extension with distutils " "and without Microsoft Visual C++\" by Sébastien Sauvage, 2003" msgstr "" +"o \"Creating Python extensions in C/C++ with SWIG and compiling them with " +"MinGW gcc under Windows\" or \"Installing Python extension with distutils " +"and without Microsoft Visual C++\" por Sébastien Sauvage, 2003" #: ../Doc/using/windows.rst:1155 msgid "`MingW -- Python extensions `_" -msgstr "" +msgstr "`MingW -- Python extensions `_" #: ../Doc/using/windows.rst:1159 msgid "Other Platforms" -msgstr "" +msgstr "Otras plataformas" #: ../Doc/using/windows.rst:1161 msgid "" @@ -1845,10 +2540,13 @@ msgid "" "earlier are no longer supported (due to the lack of users or developers). " "Check :pep:`11` for details on all unsupported platforms." msgstr "" +"Con el continuo desarrollo de Python, algunas plataformas que solían ser " +"compatibles ya no lo son (debido a la falta de usuarios o desarrolladores). " +"Consulte :pep:`11` para detalles sobre las plataformas no soportadas." #: ../Doc/using/windows.rst:1165 msgid "`Windows CE `_ is still supported." -msgstr "" +msgstr "`Windows CE `_ es aún soportado." #: ../Doc/using/windows.rst:1166 msgid "" @@ -1857,9 +2555,16 @@ msgid "" "pub/pc/gnuwin32/cygwin/mirrors/cygnus/ release/python>`_, `Maintainer " "releases `_)" msgstr "" +"El instalador de `Cygwin `_ también ofrece instalar el " +"intérprete de Python (consulte `Cygwin package source `_, " +"`Maintainer releases `_)" #: ../Doc/using/windows.rst:1172 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." msgstr "" +"Para obtener información detallada acerca de las plataformas con " +"instaladores precompilados consulte `Python for Windows `_." From 591fa0f3b2ee2e41fdc2dd38c0199a4a9ab0496d Mon Sep 17 00:00:00 2001 From: Federico Date: Fri, 1 Jan 2021 17:35:06 -0300 Subject: [PATCH 116/153] Translate using/windows.po (#302) Update dictionary --- dictionaries/using_windows.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/dictionaries/using_windows.txt b/dictionaries/using_windows.txt index 92c00c8c7e..49c9d28019 100644 --- a/dictionaries/using_windows.txt +++ b/dictionaries/using_windows.txt @@ -12,6 +12,7 @@ extension incrustable instalable nuget +portables precompilada precompilados runtime From 833305cddad587f835355e78dbdabb1a7ccce4a1 Mon Sep 17 00:00:00 2001 From: Federico Date: Sat, 2 Jan 2021 14:52:25 -0300 Subject: [PATCH 117/153] Translate using/windows.po (#302) Fix build --- using/windows.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/using/windows.po b/using/windows.po index 76b12ea5ed..ce5e295a88 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-01-01 17:01-0300\n" +"PO-Revision-Date: 2021-01-02 14:12-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -136,7 +136,7 @@ msgid "" "connection for optional features. See :ref:`install-layout-option` for other " "ways to avoid downloading during installation." msgstr "" -"Cuatro instaladores de Python |versión| están disponibles para descargar - " +"Cuatro instaladores de Python |version| están disponibles para descargar - " "dos por cada una de las versiones de 32-bit y 64-bit del intérprete. El " "*instalador web* es una pequeña descarga inicial que automáticamente " "descargará los componentes requeridos cuando sea necesario. El *instalador " @@ -354,7 +354,7 @@ msgstr "InstallAllUsers" #: ../Doc/using/windows.rst:144 msgid "Perform a system-wide installation." -msgstr "Realice una instalación en todo el sistema." +msgstr "Realizar una instalación en todo el sistema." #: ../Doc/using/windows.rst:144 ../Doc/using/windows.rst:167 #: ../Doc/using/windows.rst:170 ../Doc/using/windows.rst:179 @@ -1424,7 +1424,7 @@ msgstr "" "Se puede utilizar el modo UTF-8 para cambiar la codificación predeterminada " "a UTF-8. El modo UTF-8 se puede activar mediante la opción de línea de " "comandos ``-X utf-8``, o con la variable de entorno ``PYTHONUTF8=1``. " -"Consulte :envvar:`PYTHONUTF8 para activar el modo UTF-8, y :ref:`setting-" +"Consulte :envvar:`PYTHONUTF8` para activar el modo UTF-8, y :ref:`setting-" "envvars` para saber cómo modificar las variables de entorno." #: ../Doc/using/windows.rst:625 @@ -1560,8 +1560,8 @@ msgid "" "you will have noticed that Python |version| was started - to launch Python " "2.7, try the command:" msgstr "" -"Si hay múltiples versiones de Python instaladas (por ej. 2.7 y |versión|) " -"habrá notado que se inició Python |versión| - para iniciar Python 2.7, " +"Si hay múltiples versiones de Python instaladas (por ej. 2.7 y |version|) " +"habrá notado que se inició Python |version| - para iniciar Python 2.7, " "ejecute el comando:" #: ../Doc/using/windows.rst:697 @@ -2162,7 +2162,7 @@ msgstr "" "ruta del ejecutable principal de Python es utilizada para ubicar un " "\"archivo de referencia\" (ya sea ``Lib\\os.py`` o ``pythonXY.zip``) para " "deducir el \"Python Home\". Si el directorio de origen de Python es " -"encontrado, los subdirectorios relevantes que se agregan a :data: `sys.path` " +"encontrado, los subdirectorios relevantes que se agregan a :data:`sys.path` " "(``Lib``, ``plat-win``, etc.) se basan en ese directorio. Por el contrario, " "la ruta principal de Python se construye a partir del PythonPath guardado en " "el registro." From ed5924bde7035fb16e8e0901e5c98ffbc106e0ab Mon Sep 17 00:00:00 2001 From: Federico Date: Sat, 2 Jan 2021 16:25:14 -0300 Subject: [PATCH 118/153] Translate using/windows.po (#302) Corrections --- dictionaries/using_windows.txt | 1 - using/windows.po | 42 +++++++++++++++++----------------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/dictionaries/using_windows.txt b/dictionaries/using_windows.txt index 49c9d28019..92c00c8c7e 100644 --- a/dictionaries/using_windows.txt +++ b/dictionaries/using_windows.txt @@ -12,7 +12,6 @@ extension incrustable instalable nuget -portables precompilada precompilados runtime diff --git a/using/windows.po b/using/windows.po index ce5e295a88..97cc056aae 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-01-02 14:12-0300\n" +"PO-Revision-Date: 2021-01-02 16:24-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -264,7 +264,7 @@ msgid "" "``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" "\\FileSystem@LongPathsEnabled`` to ``1``." msgstr "" -"En las últimas versiones de Windows, esta límite puede ser extendido a " +"En las últimas versiones de Windows, este límite puede ser extendido a " "aproximadamente 32,000 caracteres. El administrador tendrá que activar la " "directiva de grupo \"Enable Win32 long paths\", o establecer el valor del " "registro ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" @@ -677,8 +677,8 @@ msgid "" msgstr "" "Ejecute el siguiente comando desde el símbolo del sistema para descargar " "todos los posibles archivos requeridos. Recuerde reemplazar ``Python-3.8.0." -"exe`` por el nombre real instalador y crear una estructura de directorios " -"propia para evitar colisiones entre archivos del mismo nombre." +"exe`` por el nombre real del instalador y crear una estructura de " +"directorios propia para evitar colisiones entre archivos del mismo nombre." #: ../Doc/using/windows.rst:268 msgid "" @@ -774,7 +774,7 @@ msgid "" msgstr "" "Luego de la instalación, Python puede iniciarse a través del menú de Inicio. " "Como alternativa, también estará disponible desde cualquier símbolo del " -"sistema o sesión de PowerShell al escribir ``Python``. Además, pip e IDLE " +"sistema o sesión de PowerShell al escribir ``python``. Además, pip e IDLE " "pueden ser usados escribiendo ``pip`` o ``idle``. IDLE también puede ser " "encontrado en el Inicio." @@ -812,9 +812,9 @@ msgid "" "one from the Microsoft Store. To access the new installation, use ``python3." "exe`` or ``python3.x.exe``." msgstr "" -"Si has instalado otra versión de Python que se haya agregado a la " +"Si ha instalado otra versión de Python que se haya agregado a la " "variable``PATH``, estará disponible como ``python.exe`` en lugar de la de " -"Microsoft Store. Para acceder a la nueva instalación, usa ``python3.exe`` o " +"Microsoft Store. Para acceder a la nueva instalación, use ``python3.exe`` o " "``python3.x.exe``." #: ../Doc/using/windows.rst:328 @@ -832,9 +832,9 @@ msgid "" "remove all packages you installed directly into this Python installation, " "but will not remove any virtual environments" msgstr "" -"Para eliminar Python, abre Configuración y utiliza Aplicaciones y " -"características, o encuentra Python en el Inicio y mediante click derecho " -"selecciona Desinstalar. La desinstalación eliminará todos los paquetes " +"Para eliminar Python, abra Configuración y utilice Aplicaciones y " +"características, o encuentre Python en el Inicio y mediante click derecho " +"seleccione Desinstalar. La desinstalación eliminará todos los paquetes " "instalados directamente en esta instalación de Python, pero no eliminará " "ningún entorno virtual" @@ -851,9 +851,9 @@ msgid "" msgstr "" "Debido a restricciones en las aplicaciones de Microsoft Store, los scripts " "de Python podrían no tener acceso completo de escritura en ubicaciones " -"compartidas como ``TEMP`` o el registro. En su lugar, escribirá en una copia " -"privada. Si tus scripts deben modificar las ubicaciones compartidas, " -"necesitarás instalar el instalador completo." +"compartidas como ``TEMP`` o el registro. En su lugar, se escribirá en una " +"copia privada. Si sus scripts deben modificar las ubicaciones compartidas, " +"necesitará instalar el instalador completo." #: ../Doc/using/windows.rst:348 msgid "The nuget.org packages" @@ -878,7 +878,7 @@ msgid "" "information on using nuget. What follows is a summary that is sufficient for " "Python developers." msgstr "" -"Visita `nuget.org `_ para obtener la información más " +"Visite `nuget.org `_ para obtener la información más " "actualizada sobre cómo usar nuget. Lo que sigue es un resumen que es " "suficiente para desarrolladores Python." @@ -903,7 +903,7 @@ msgid "" "the specific version installed. Inside the subdirectory is a ``tools`` " "directory that contains the Python installation::" msgstr "" -"Para seleccionar una versión específica, agrega ``-Version 3.x.y``. El " +"Para seleccionar una versión específica, agregue ``-Version 3.x.y``. El " "directorio de salida se puede cambiar desde ``.``, y el paquete se instalará " "en un subdirectorio. Por defecto, el subdirectorio es nombrado con el mismo " "nombre del paquete, y sin la opción ``-ExcludeVersion`` este nombre incluirá " @@ -1209,8 +1209,8 @@ msgstr "" "considerar cambiar algunas variables de entorno predeterminadas de Windows. " "Si bien el instalador proporciona una opción para configurar las variables " "PATH y PATHEXT, esto solo es confiable para una única instalación en todo el " -"sistema. Si usas varias versiones de Python con regularidad, considera usar " -"el :ref:`launcher`." +"sistema. Si utiliza varias versiones de Python con regularidad, considere " +"usar el :ref:`launcher`." #: ../Doc/using/windows.rst:520 msgid "Excursus: Setting environment variables" @@ -1231,7 +1231,7 @@ msgid "" "command:`set` command:" msgstr "" "Para configurar una variable de entorno temporal, abra el símbolo del " -"sistema y use el comando :command:`set`:" +"sistema y utilice el comando :command:`set`:" #: ../Doc/using/windows.rst:534 msgid "" @@ -1401,7 +1401,7 @@ msgid "" "`locale.getpreferredencoding`)." msgstr "" "Windows aún utiliza codificación heredada para la codificación del sistema " -"(la página de códigos ASNI). Python la utiliza para la codificación por " +"(la página de códigos ANSI). Python la utiliza para la codificación por " "defecto de archivos de texto (por ej. :func:`locale.getpreferredencoding`)." #: ../Doc/using/windows.rst:616 @@ -1714,7 +1714,7 @@ msgid "" "Windows, this launcher supports a number of 'virtual' commands to specify " "which interpreter to use. The supported virtual commands are:" msgstr "" -"Para permitir que las líneas shebang de scripts de Python sean portables " +"Para permitir que las líneas shebang de scripts de Python sean trasladables " "entre Unix y Windows, este lanzador soporta varios comandos 'virtuales' para " "especificar qué intérprete utilizar. Los comandos virtuales soportados son:" @@ -2491,7 +2491,7 @@ msgid "" "Visual Studio 2015, which is the compiler used to build the official Python " "releases. These files are in the :file:`PCbuild` directory." msgstr "" -"El árbol del código fuente contiene un solución de compilación y archivos " +"El árbol del código fuente contiene una solución de compilación y archivos " "del proyecto para Microsoft Visual Studio 2015, el cual es el compilador " "utilizado para compilar las versiones oficiales de Python. Estos archivos se " "encuentran en el directorio :file:`PCbuild`." From da32ddde49e611ab169433af16c501a19bf1f216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Gonz=C3=A1lez?= <47547941+jairock282@users.noreply.github.com> Date: Wed, 6 Jan 2021 06:17:08 -0600 Subject: [PATCH 119/153] Traducido archivo library/resource (#1190) --- TRANSLATORS | 1 + library/resource.po | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index a401b3169a..f3ff764e64 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -136,3 +136,4 @@ Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM) Juan Elias Rodriguez (@Juerodriguez) Victor Carlos (@tuxtitlan) Ignacio Sanz (@elnaquete) +Jaime Rodrigo González Rodríguez (@jairock282) diff --git a/library/resource.po b/library/resource.po index 615211dce7..d4fc090807 100644 --- a/library/resource.po +++ b/library/resource.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-10-25 12:11+0000\n" +"PO-Revision-Date: 2020-12-27 20:51-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Last-Translator: \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/resource.rst:2 msgid ":mod:`resource` --- Resource usage information" @@ -577,7 +577,7 @@ msgstr ":attr:`ru_inblock`" #: ../Doc/library/resource.rst:320 msgid "block input operations" -msgstr "" +msgstr "bloque de operaciones de entrada" #: ../Doc/library/resource.rst:322 msgid "``10``" @@ -589,7 +589,7 @@ msgstr ":attr:`ru_oublock`" #: ../Doc/library/resource.rst:322 msgid "block output operations" -msgstr "" +msgstr "bloque de operaciones de salida" #: ../Doc/library/resource.rst:324 msgid "``11``" From 0e5f4b6bb5a5d69c86ed5d9860194b92c8ca75cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 11 Jan 2021 14:24:47 +0100 Subject: [PATCH 120/153] ci: fix readthedocs extensions issue (#1201) Closes #1200 --- conf.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/conf.py b/conf.py index 8ecc6c9d56..8956b12c0a 100644 --- a/conf.py +++ b/conf.py @@ -69,10 +69,16 @@ _stdauthor, 'manual'), ] -extensions.extend([ - 'sphinx_tabs.tabs', - 'sphinxemoji.sphinxemoji', -]) +try: + extensions.extend([ + 'sphinx_tabs.tabs', + 'sphinxemoji.sphinxemoji', + ]) +except NameError: + extensions = [ + 'sphinx_tabs.tabs', + 'sphinxemoji.sphinxemoji', + ] def setup(app): From 154018d3da1d4deb0ae1da6cba7b9d5659833ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Ram=C3=ADrez?= Date: Sun, 17 Jan 2021 09:30:52 -0300 Subject: [PATCH 121/153] Traducido archivo library/__main__.po (#1194) --- TRANSLATORS | 1 + library/__main__.po | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index f3ff764e64..a8e522341a 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -137,3 +137,4 @@ Juan Elias Rodriguez (@Juerodriguez) Victor Carlos (@tuxtitlan) Ignacio Sanz (@elnaquete) Jaime Rodrigo González Rodríguez (@jairock282) +Martín Ramírez (@tinchoram) diff --git a/library/__main__.po b/library/__main__.po index dfe1fcaa0b..c99f0e5503 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -1,25 +1,27 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-08 10:21-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/__main__.rst:3 msgid ":mod:`__main__` --- Top-level script environment" -msgstr "" +msgstr ":mod:`__main__` --- Entorno de script del nivel superior" #: ../Doc/library/__main__.rst:10 msgid "" @@ -27,6 +29,10 @@ msgid "" "module's __name__ is set equal to ``'__main__'`` when read from standard " "input, a script, or from an interactive prompt." msgstr "" +"``'__main__'`` es el nombre del ámbito en el que se ejecuta el código de " +"nivel superior. El atributo __name__ de un módulo se establece igual a " +"``'__main__'`` cuando se lee desde una entrada estándar, un script o un " +"prompt interactivo." #: ../Doc/library/__main__.rst:14 msgid "" @@ -35,6 +41,10 @@ msgid "" "executing code in a module when it is run as a script or with ``python -m`` " "but not when it is imported::" msgstr "" +"Un módulo puede descubrir si se está ejecutando o no en el ámbito principal " +"al verificar su propio ``__name__``, lo cual permite un idioma común para " +"ejecutar código condicionalmente en un modulo cuando este se ejecuta como un " +"script o con ``python -m`` pero no cuando este es importado::" #: ../Doc/library/__main__.rst:23 msgid "" @@ -42,3 +52,6 @@ msgid "" "py`` module, the contents of which will be executed when the module is run " "with ``-m``." msgstr "" +"Para un paquete, se puede lograr el mismo efecto incluyendo un modulo " +"``__main__.py``, cuyo contenido se ejecutara cuando el modulo se ejecute con " +"``-m``." From ecfc9bd974d0e69e649cb1aae3a620a3e0e47852 Mon Sep 17 00:00:00 2001 From: Juan Biondi Date: Sun, 17 Jan 2021 13:31:44 +0100 Subject: [PATCH 122/153] Traduccion libary/filesys.po (#1203) --- library/filesys.po | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/library/filesys.po b/library/filesys.po index 44471945f4..fbd5bec2ff 100644 --- a/library/filesys.po +++ b/library/filesys.po @@ -1,25 +1,27 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-13 08:17+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Juan Biondi \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/filesys.rst:5 msgid "File and Directory Access" -msgstr "" +msgstr "Acceso a archivos y directorios" #: ../Doc/library/filesys.rst:7 msgid "" @@ -28,31 +30,40 @@ msgid "" "manipulating paths in a portable way, and creating temporary files. The " "full list of modules in this chapter is:" msgstr "" +"Los módulos descritos en este capítulo tratan de archivos de disco y " +"directorios. Por ejemplo, hay módulos para leer las propiedades de los " +"archivos, manipular rutas de acceso de forma portátil y crear archivos " +"temporales. La lista completa de módulos en este capítulo es:" #: ../Doc/library/filesys.rst:32 msgid "Module :mod:`os`" -msgstr "" +msgstr "Módulo :mod:`os`" #: ../Doc/library/filesys.rst:31 msgid "" "Operating system interfaces, including functions to work with files at a " "lower level than Python :term:`file objects `." msgstr "" +"Interfaces del sistema operativo, incluidas las funciones para trabajar con " +"archivos en un nivel inferior al de Python :term:`file objects `." #: ../Doc/library/filesys.rst:36 msgid "Module :mod:`io`" -msgstr "" +msgstr "Módulo :mod:`io`" #: ../Doc/library/filesys.rst:35 msgid "" "Python's built-in I/O library, including both abstract classes and some " "concrete classes such as file I/O." msgstr "" +"La biblioteca de I/O integrada de Python, incluidas las clases abstractas y " +"algunas clases concretas, como la I/O de archivos." #: ../Doc/library/filesys.rst:38 msgid "Built-in function :func:`open`" -msgstr "" +msgstr "Función incorporada :func:`open`" #: ../Doc/library/filesys.rst:39 msgid "The standard way to open files for reading and writing with Python." -msgstr "" +msgstr "La forma estándar de abrir archivos para leer y escribir con Python." From 29188fb212ad0225be03b0387eed86ef648732f1 Mon Sep 17 00:00:00 2001 From: Francisco Mora <72163566+framorac@users.noreply.github.com> Date: Sun, 17 Jan 2021 09:38:48 -0300 Subject: [PATCH 123/153] Traducido archivo library/spwd.po (#1204) --- library/spwd.po | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/library/spwd.po b/library/spwd.po index a05be6a33e..2085b2f4ff 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -1,21 +1,24 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-13 12:45-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Francisco Mora \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/spwd.rst:2 msgid ":mod:`spwd` --- The shadow password database" @@ -62,11 +65,11 @@ msgstr "Significado" #: ../Doc/library/spwd.rst:23 msgid "0" -msgstr "" +msgstr "0" #: ../Doc/library/spwd.rst:23 msgid "``sp_namp``" -msgstr "" +msgstr "``sp_namp``" #: ../Doc/library/spwd.rst:23 msgid "Login name" @@ -74,11 +77,11 @@ msgstr "Nombre de inicio de sesión" #: ../Doc/library/spwd.rst:25 msgid "1" -msgstr "" +msgstr "1" #: ../Doc/library/spwd.rst:25 msgid "``sp_pwdp``" -msgstr "" +msgstr "``sp_pwdp``" #: ../Doc/library/spwd.rst:25 msgid "Encrypted password" @@ -86,11 +89,11 @@ msgstr "Contraseña encriptada" #: ../Doc/library/spwd.rst:27 msgid "2" -msgstr "" +msgstr "2" #: ../Doc/library/spwd.rst:27 msgid "``sp_lstchg``" -msgstr "" +msgstr "``sp_lstchg``" #: ../Doc/library/spwd.rst:27 msgid "Date of last change" @@ -98,11 +101,11 @@ msgstr "Fecha del último cambio" #: ../Doc/library/spwd.rst:29 msgid "3" -msgstr "" +msgstr "3" #: ../Doc/library/spwd.rst:29 msgid "``sp_min``" -msgstr "" +msgstr "``sp_min``" #: ../Doc/library/spwd.rst:29 msgid "Minimal number of days between changes" @@ -110,11 +113,11 @@ msgstr "Número mínimo de días entre cambios" #: ../Doc/library/spwd.rst:32 msgid "4" -msgstr "" +msgstr "4" #: ../Doc/library/spwd.rst:32 msgid "``sp_max``" -msgstr "" +msgstr "``sp_max``" #: ../Doc/library/spwd.rst:32 msgid "Maximum number of days between changes" @@ -122,11 +125,11 @@ msgstr "Número máximo de días entre cambios" #: ../Doc/library/spwd.rst:35 msgid "5" -msgstr "" +msgstr "5" #: ../Doc/library/spwd.rst:35 msgid "``sp_warn``" -msgstr "" +msgstr "``sp_warn``" #: ../Doc/library/spwd.rst:35 msgid "Number of days before password expires to warn user about it" @@ -136,11 +139,11 @@ msgstr "" #: ../Doc/library/spwd.rst:38 msgid "6" -msgstr "" +msgstr "6" #: ../Doc/library/spwd.rst:38 msgid "``sp_inact``" -msgstr "" +msgstr "``sp_inact``" #: ../Doc/library/spwd.rst:38 msgid "Number of days after password expires until account is disabled" @@ -150,11 +153,11 @@ msgstr "" #: ../Doc/library/spwd.rst:42 msgid "7" -msgstr "" +msgstr "7" #: ../Doc/library/spwd.rst:42 msgid "``sp_expire``" -msgstr "" +msgstr "``sp_expire``" #: ../Doc/library/spwd.rst:42 msgid "Number of days since 1970-01-01 when account expires" @@ -162,11 +165,11 @@ msgstr "Número de días desde 1970-01-01 cuando expira la cuenta" #: ../Doc/library/spwd.rst:45 msgid "8" -msgstr "" +msgstr "8" #: ../Doc/library/spwd.rst:45 msgid "``sp_flag``" -msgstr "" +msgstr "``sp_flag``" #: ../Doc/library/spwd.rst:45 msgid "Reserved" From d88ddda4d16e122fe9019afa59617251e2346c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Gonz=C3=A1lez?= <47547941+jairock282@users.noreply.github.com> Date: Sun, 17 Jan 2021 06:40:34 -0600 Subject: [PATCH 124/153] Traducido archivo library/macpath (#1193) --- library/macpath.po | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/library/macpath.po b/library/macpath.po index 2bf398e1fd..d20e06ce8e 100644 --- a/library/macpath.po +++ b/library/macpath.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-15 18:56-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/macpath.rst:2 msgid ":mod:`macpath` --- Mac OS 9 path manipulation functions" -msgstr "" +msgstr ":mod:`macpath` --- Funciones de manipulación de ruta de Mac OS 9" #: ../Doc/library/macpath.rst:7 msgid "**Source code:** :source:`Lib/macpath.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/macpath.py`" #: ../Doc/library/macpath.rst:13 msgid "" @@ -31,6 +33,9 @@ msgid "" "path` module. It can be used to manipulate old-style Macintosh pathnames on " "Mac OS X (or any other platform)." msgstr "" +"Este módulo es la implementación de Mac OS 9 (y anteriores) del módulo :mod:" +"`os.path`. Puede ser usado para manipular nombres de rutas antiguos de " +"Macintosh en Mac OS X (o en cualquier otra plataforma)." #: ../Doc/library/macpath.rst:17 msgid "" @@ -39,3 +44,8 @@ msgid "" "func:`isfile`, :func:`walk`, :func:`exists`. For other functions available " "in :mod:`os.path` dummy counterparts are available." msgstr "" +"En este módulo se encuentran disponibles las siguientes funciones: :func:" +"`normcase`, :func:`normpath`, :func:`isabs`, :func:`join`, :func:`split`, :" +"func:`isdir`, :func:`isfile`, :func:`walk`, :func:`exists`. Para otras " +"funciones disponibles en :mod:`os.path`, hay contrapartes de prueba " +"disponibles." From 5b6a3ce403f6144ee89568489436c338d4e2e78a Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Sun, 17 Jan 2021 10:01:28 -0300 Subject: [PATCH 125/153] Ajuste en listado de funciones (#1205) --- library/functions.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/functions.po b/library/functions.po index f410891fbf..5993005501 100644 --- a/library/functions.po +++ b/library/functions.po @@ -80,7 +80,7 @@ msgstr ":func:`any`" #: ../Doc/library/functions.rst:15 msgid ":func:`dir`" -msgstr ":func:`any`" +msgstr ":func:`dir`" #: ../Doc/library/functions.rst:15 msgid ":func:`hex`" From b68f4e4e5af10a9e46a0fdf03f52431969487e3b Mon Sep 17 00:00:00 2001 From: Francisco Mora <72163566+framorac@users.noreply.github.com> Date: Sun, 17 Jan 2021 10:06:39 -0300 Subject: [PATCH 126/153] Traduccion library/crypto (#1195) --- library/crypto.po | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/library/crypto.po b/library/crypto.po index d7415ec2d4..d83c962b64 100644 --- a/library/crypto.po +++ b/library/crypto.po @@ -1,25 +1,28 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-13 13:31-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Francisco Mora \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/crypto.rst:5 msgid "Cryptographic Services" -msgstr "" +msgstr "Servicios Criptográficos" #: ../Doc/library/crypto.rst:9 msgid "" @@ -28,3 +31,7 @@ msgid "" "installation. On Unix systems, the :mod:`crypt` module may also be " "available. Here's an overview:" msgstr "" +"Los módulos descritos en este capítulo implementan varios algoritmos de " +"naturaleza criptográfica. Están disponibles a discreción de la instalación. " +"En sistema Unix, el módulo :mod:`crypt` también puede estar disponible. Aquí " +"una descripción:" From 1391afb00e007ce0a56667f9368aef3685bfbe28 Mon Sep 17 00:00:00 2001 From: 0-Arngerdur-1 <71467991+0-Arngerdur-1@users.noreply.github.com> Date: Tue, 19 Jan 2021 15:11:25 -0600 Subject: [PATCH 127/153] Traducido archivo library/urllib.robotparser (#1197) --- TRANSLATORS | 1 + library/urllib.robotparser.po | 48 ++++++++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index a8e522341a..0416833b0c 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -126,6 +126,7 @@ Ginés Salar Ibáñez (@Ibnmardanis24) Ana (@popiula) David Silva (@dvidsilva) Ricardo Rodríguez (@ricrogz) +(@0-Arngerdur-1) Melissa Escobar Gutiérrez (@MelissaEscobar) Enrique Zárate (@enrique-zarate) Jaume Montané (@jaumemy) diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index 52f5267a0c..a7b8312234 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -6,27 +6,29 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-08 15:24-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/urllib.robotparser.rst:2 msgid ":mod:`urllib.robotparser` --- Parser for robots.txt" -msgstr "" +msgstr ":mod:`urllib.robotparser` --- Analizador para robots.txt" #: ../Doc/library/urllib.robotparser.rst:10 msgid "**Source code:** :source:`Lib/urllib/robotparser.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/urllib/robotparser.py`" #: ../Doc/library/urllib.robotparser.rst:20 msgid "" @@ -36,30 +38,39 @@ msgid "" "on the structure of :file:`robots.txt` files, see http://www.robotstxt.org/" "orig.html." msgstr "" +"Este módulo proporciona una sola clase, :class:`RobotFileParser`, la cual " +"responde preguntas acerca de si un agente de usuario en particular puede o " +"no obtener una URL en el sitio Web que publico el archivo :file:`robots." +"txt`. Para más detalles sobre la estructura del archivo :file:`robots.txt`, " +"consulte http://www.robotstxt.org/orig.html." #: ../Doc/library/urllib.robotparser.rst:28 msgid "" "This class provides methods to read, parse and answer questions about the :" "file:`robots.txt` file at *url*." msgstr "" +"Esta clase proporciona métodos para leer, analizar y responder preguntas " +"acerca de :file:`robots.txt`" #: ../Doc/library/urllib.robotparser.rst:33 msgid "Sets the URL referring to a :file:`robots.txt` file." -msgstr "" +msgstr "Establece la URL que hace referencia a un archivo :file:`robots.txt`." #: ../Doc/library/urllib.robotparser.rst:37 msgid "Reads the :file:`robots.txt` URL and feeds it to the parser." -msgstr "" +msgstr "Lee la URL :file:`robots.txt` y la envía al analizador." #: ../Doc/library/urllib.robotparser.rst:41 msgid "Parses the lines argument." -msgstr "" +msgstr "Analiza el argumento *lines*." #: ../Doc/library/urllib.robotparser.rst:45 msgid "" "Returns ``True`` if the *useragent* is allowed to fetch the *url* according " "to the rules contained in the parsed :file:`robots.txt` file." msgstr "" +"Retorna ``True`` si el *useragent* tiene permiso para buscar la *url* de " +"acuerdo con las reglas contenidas en el archivo :file:`robots.txt` analizado." #: ../Doc/library/urllib.robotparser.rst:51 msgid "" @@ -67,11 +78,16 @@ msgid "" "for long-running web spiders that need to check for new ``robots.txt`` files " "periodically." msgstr "" +"Retorna la hora en que se recuperó por última vez el archivo ``robots.txt``. " +"Esto es útil para arañas web de larga duración que necesitan buscar nuevos " +"archivos ``robots.txt`` periódicamente." #: ../Doc/library/urllib.robotparser.rst:57 msgid "" "Sets the time the ``robots.txt`` file was last fetched to the current time." msgstr "" +"Establece la hora a la que se recuperó por última vez el archivo ``robots." +"txt`` hasta la hora actual." #: ../Doc/library/urllib.robotparser.rst:62 msgid "" @@ -80,6 +96,10 @@ msgid "" "apply to the *useragent* specified or the ``robots.txt`` entry for this " "parameter has invalid syntax, return ``None``." msgstr "" +"Retorna el valor del parámetro ``Crawl-delay`` de ``robots.txt`` para el " +"*useragent* en cuestión. Si no existe tal parámetro o no se aplica al " +"*useragent* especificado o la entrada ``robots.txt`` para este parámetro " +"tiene una sintaxis no válida, devuelve ``None``." #: ../Doc/library/urllib.robotparser.rst:71 msgid "" @@ -88,6 +108,11 @@ msgid "" "such parameter or it doesn't apply to the *useragent* specified or the " "``robots.txt`` entry for this parameter has invalid syntax, return ``None``." msgstr "" +"Retorna el contenido del parámetro ``Request-rate`` de ``robots.txt`` como " +"una :term:`tupla nombrada` ``RequestRate(requests, seconds)``. Si no existe " +"tal parámetro o no se aplica al *useragent* especificado o la entrada " +"``robots.txt`` para este parámetro tiene una sintaxis no válida, devuelve " +"``None``." #: ../Doc/library/urllib.robotparser.rst:81 msgid "" @@ -95,9 +120,14 @@ msgid "" "form of a :func:`list`. If there is no such parameter or the ``robots.txt`` " "entry for this parameter has invalid syntax, return ``None``." msgstr "" +"Retorna el contenido del parámetro ``Sitemap`` de ``robots.txt`` en forma " +"de :func:`list`. Si no existe tal parámetro o la entrada ``robots.txt`` para " +"este parámetro tiene una sintaxis no válida, devuelve ``None``." #: ../Doc/library/urllib.robotparser.rst:89 msgid "" "The following example demonstrates basic use of the :class:`RobotFileParser` " "class::" msgstr "" +"El siguiente ejemplo demuestra el uso básico de la clase :class:" +"`RobotFileParser`:" From f6e7fd2301b8dd7a220c24db34c7c963b7476691 Mon Sep 17 00:00:00 2001 From: Juan Biondi Date: Tue, 19 Jan 2021 22:12:11 +0100 Subject: [PATCH 128/153] Update posix.po (#1207) --- dictionaries/library_posix.txt | 1 + library/posix.po | 65 +++++++++++++++++++++++++++++----- 2 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 dictionaries/library_posix.txt diff --git a/dictionaries/library_posix.txt b/dictionaries/library_posix.txt new file mode 100644 index 0000000000..d46901a43f --- /dev/null +++ b/dictionaries/library_posix.txt @@ -0,0 +1 @@ +Irix \ No newline at end of file diff --git a/library/posix.po b/library/posix.po index 419aab2456..aa985d3077 100644 --- a/library/posix.po +++ b/library/posix.po @@ -6,23 +6,25 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-15 09:58+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Juan Biondi \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/posix.rst:2 msgid ":mod:`posix` --- The most common POSIX system calls" -msgstr "" +msgstr ":mod:`posix` --- Las llamadas más comunes al sistema POSIX" #: ../Doc/library/posix.rst:10 msgid "" @@ -30,6 +32,9 @@ msgid "" "standardized by the C Standard and the POSIX standard (a thinly disguised " "Unix interface)." msgstr "" +"Este módulo proporciona acceso a la funcionalidad del sistema operativo que " +"está estandarizada por el estándar C y el estándar POSIX (una interfaz Unix " +"finamente disfrazada)." #: ../Doc/library/posix.rst:16 msgid "" @@ -43,16 +48,28 @@ msgid "" "such as automatically calling :func:`~os.putenv` when an entry in ``os." "environ`` is changed." msgstr "" +"**No importe este módulo directamente.** En su lugar, importe el módulo :mod:" +"`os`, que proporciona una versión *portable* de esta interfaz. En Unix, el " +"módulo :mod:`os` proporciona un superconjunto de la interfaz :mod:`posix`. " +"En sistemas operativos que no son Unix, el módulo :mod:`posix` no está " +"disponible, pero un subconjunto siempre está disponible a través de la " +"interfaz :mod:`os`. Una vez que se importa :mod:`os`, *no* hay penalización " +"de rendimiento en su uso en lugar de :mod:`posix`. Además, :mod:`os` " +"proporciona algunas funciones adicionales, como llamar automáticamente a :" +"func:`~os.putenv` cuando se cambia una entrada en ``os.environ``." #: ../Doc/library/posix.rst:25 msgid "" "Errors are reported as exceptions; the usual exceptions are given for type " "errors, while errors reported by the system calls raise :exc:`OSError`." msgstr "" +"Los errores se notifican como excepciones; las excepciones habituales se " +"proporcionan para los errores de tipo, mientras que los errores notificados " +"por las llamadas del sistema lanzan :exc:`OSError`." #: ../Doc/library/posix.rst:32 msgid "Large File Support" -msgstr "" +msgstr "Soporte de archivos grandes" #: ../Doc/library/posix.rst:40 msgid "" @@ -62,6 +79,12 @@ msgid "" "accomplished by defining the relevant size and offset types as 64-bit " "values. Such files are sometimes referred to as :dfn:`large files`." msgstr "" +"Varios sistemas operativos (incluidos AIX, HP-UX, Irix y Solaris) " +"proporcionan compatibilidad con archivos de más de 2 GiB de un modelo de " +"programación C donde :c:type:`int` y :c:type:`long` son valores de 32 bits. " +"Esto se logra normalmente definiendo el tamaño relevante y los tipos de " +"desplazamiento como valores de 64 bits. Tales archivos se conocen a veces " +"como :dfn:`large files`." #: ../Doc/library/posix.rst:46 msgid "" @@ -72,20 +95,31 @@ msgid "" "enabled by default with recent versions of Irix, but with Solaris 2.6 and " "2.7 you need to do something like::" msgstr "" +"La compatibilidad con archivos grandes está habilitada en Python cuando el " +"tamaño de un :c:type:`off_t` es mayor que un :c:type:`long` y :c:type:`long " +"long` es al menos tan grande como :c:type:`off_t`. Puede ser necesario " +"configurar y compilar Python con ciertos indicadores del compilador para " +"habilitar este modo. Por ejemplo, está habilitado de forma predeterminada " +"con las versiones recientes de Irix, pero con Solaris 2.6 y 2.7 debe hacer " +"algo como::" #: ../Doc/library/posix.rst:56 msgid "On large-file-capable Linux systems, this might work::" msgstr "" +"En sistemas Linux con capacidad para archivos grandes, esto podría " +"funcionar::" #: ../Doc/library/posix.rst:65 msgid "Notable Module Contents" -msgstr "" +msgstr "Contenido notable del módulo" #: ../Doc/library/posix.rst:67 msgid "" "In addition to many functions described in the :mod:`os` module " "documentation, :mod:`posix` defines the following data item:" msgstr "" +"Además de muchas funciones descritas en la documentación del módulo :mod:" +"`os`, :mod:`posix` define el siguiente elemento de datos:" #: ../Doc/library/posix.rst:72 msgid "" @@ -94,6 +128,11 @@ msgid "" "example, ``environ[b'HOME']`` (``environ['HOME']`` on Windows) is the " "pathname of your home directory, equivalent to ``getenv(\"HOME\")`` in C." msgstr "" +"Diccionario que representa el entorno de cadena en el momento en que se " +"inició el intérprete. Las claves y los valores son bytes en Unix y str en " +"Windows. Por ejemplo, ``environ[b'HOME']`` (``environ['HOME']`` en Windows) " +"es el nombre de ruta de acceso de su directorio principal, equivalente a " +"``getenv(\"HOME\")`` en C." #: ../Doc/library/posix.rst:77 msgid "" @@ -103,10 +142,15 @@ msgid "" "variable assignments and export statements to the command string for :func:" "`~os.system` or :func:`~os.popen`." msgstr "" +"La modificación de este diccionario no afecta al entorno de cadena que " +"transmite :func:`~os.execv`, :func:`~os.popen` o :func:`~os.system`; si " +"necesita cambiar el entorno, pase ``environ`` a :func:`~os.execve` o agregue " +"asignaciones variables y declaraciones de exportación a la cadena de " +"comandos para :func:`~os.system` o :func:`~os.popen`." #: ../Doc/library/posix.rst:83 msgid "On Unix, keys and values are bytes." -msgstr "" +msgstr "En Unix, las claves y los valores son bytes." #: ../Doc/library/posix.rst:88 msgid "" @@ -116,3 +160,8 @@ msgid "" "module version of this is recommended over direct access to the :mod:`posix` " "module." msgstr "" +"El módulo :mod:`os` proporciona una implementación alternativa de " +"``environ`` que actualiza el entorno en la modificación. Tenga en cuenta " +"también que la actualización :data:`os.environ` hará que este diccionario " +"sea obsoleto. El uso de la versión del módulo :mod:`os` de esto se " +"recomienda sobre el acceso directo al módulo :mod:`posix`." From 55eaa1b56a2b3d7f97c57835aa4cf76ef59a8f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar?= Date: Wed, 20 Jan 2021 21:34:31 +0100 Subject: [PATCH 129/153] =?UTF-8?q?Traducci=C3=B3n=20library/urllib.reques?= =?UTF-8?q?t=20(#1192)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dictionaries/library_urllib.request.txt | 30 + library/urllib.request.po | 881 +++++++++++++++++++++--- 2 files changed, 829 insertions(+), 82 deletions(-) create mode 100644 dictionaries/library_urllib.request.txt diff --git a/dictionaries/library_urllib.request.txt b/dictionaries/library_urllib.request.txt new file mode 100644 index 0000000000..ca988ebf1a --- /dev/null +++ b/dictionaries/library_urllib.request.txt @@ -0,0 +1,30 @@ +reinterpretada +hackear +redireccionadas +sobrescribible +reintentando +Redirecciona +definirlo +reintentará +encadenación +verificable +Firefox +Mozilla +urlretrieve +UnknownHandler +urlencode +DataHandler +FileHandler +ProxyBasicAuthHandler +AbstractDigestAuthHandler +ProxyDigestAuthHandler +BaseHandler +OpenerDirector +getter +Handler +Digest +BasicAuth +ProxyHandler +userinfo +msg +AbstractBasicAuthHandler \ No newline at end of file diff --git a/library/urllib.request.po b/library/urllib.request.po index d729c42c7d..7cbef06750 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -12,21 +12,23 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-02 15:40+0100\n" +"Last-Translator: Álvaro Mondéjar Rubio \n" "Language-Team: python-doc-es\n" +"Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/urllib.request.rst:2 msgid ":mod:`urllib.request` --- Extensible library for opening URLs" -msgstr "" +msgstr ":mod:`urllib.request` --- Biblioteca extensible para abrir URLs" #: ../Doc/library/urllib.request.rst:11 msgid "**Source code:** :source:`Lib/urllib/request.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/urllib/request.py`" #: ../Doc/library/urllib.request.rst:15 msgid "" @@ -34,22 +36,29 @@ msgid "" "opening URLs (mostly HTTP) in a complex world --- basic and digest " "authentication, redirections, cookies and more." msgstr "" +"El módulo :mod:`urllib.request` define funciones y clases que ayudan en la " +"apertura de URLs (la mayoría HTTP) en un mundo complejo --- autenticación " +"básica y digest, redirecciones, cookies y más." #: ../Doc/library/urllib.request.rst:21 msgid "" "The `Requests package `_ is " "recommended for a higher-level HTTP client interface." msgstr "" +"Se recomienda el `paquete Requests `_ para una interfaz de cliente HTTP de mayor nivel." #: ../Doc/library/urllib.request.rst:25 msgid "The :mod:`urllib.request` module defines the following functions:" -msgstr "" +msgstr "El módulo :mod:`urllib.request` define las siguientes funciones:" #: ../Doc/library/urllib.request.rst:30 msgid "" "Open the URL *url*, which can be either a string or a :class:`Request` " "object." msgstr "" +"Abre la URL *url*, la cual puede ser una cadena de caracteres o un objeto :" +"class:`Request`." #: ../Doc/library/urllib.request.rst:33 msgid "" @@ -57,12 +66,17 @@ msgid "" "server, or ``None`` if no such data is needed. See :class:`Request` for " "details." msgstr "" +"*data* debe ser un objeto que especifique datos adicionales a ser enviados " +"al servidor o ``None`` si no se necesitan tales datos. Vea :class:`Request` " +"para más detalles." #: ../Doc/library/urllib.request.rst:37 msgid "" "urllib.request module uses HTTP/1.1 and includes ``Connection:close`` header " "in its HTTP requests." msgstr "" +"El módulo urllib.request usa HTTP/1.1 e incluye el encabezado ``Connection:" +"close`` en sus peticiones HTTP." #: ../Doc/library/urllib.request.rst:40 msgid "" @@ -71,6 +85,10 @@ msgid "" "timeout setting will be used). This actually only works for HTTP, HTTPS and " "FTP connections." msgstr "" +"El parámetro opcional *timeout* especifica un tiempo de expiración en " +"segundos para operaciones bloqueantes como el intento de conexión (si no se " +"especifica, será usado el tiempo de expiración global predeterminado). Esto " +"actualmente sólo funciona para conexiones HTTP, HTTPS y FTP." #: ../Doc/library/urllib.request.rst:45 msgid "" @@ -78,6 +96,9 @@ msgid "" "describing the various SSL options. See :class:`~http.client." "HTTPSConnection` for more details." msgstr "" +"Si se especifica *context*, debe ser una instancia :class:`ssl.SSLContext` " +"describiendo las diferentes opciones SSL. Vea :class:`~http.client." +"HTTPSConnection` para más detalles." #: ../Doc/library/urllib.request.rst:49 msgid "" @@ -87,22 +108,32 @@ msgid "" "directory of hashed certificate files. More information can be found in :" "meth:`ssl.SSLContext.load_verify_locations`." msgstr "" +"Los parámetros opcionales *cafile* y *capath* especifican un conjunto de " +"certificados CA de confianza para peticiones HTTPS. *cafile* debe apuntar a " +"un único archivo que contenga un paquete de certificados CA, mientras " +"*capath* debe apuntar a un directorio de archivos de certificado hash. Se " +"puede encontrar más información en :meth:`ssl.SSLContext." +"load_verify_locations`." #: ../Doc/library/urllib.request.rst:55 msgid "The *cadefault* parameter is ignored." -msgstr "" +msgstr "Se ignora el parámetro *cadefault*." #: ../Doc/library/urllib.request.rst:57 msgid "" "This function always returns an object which can work as a :term:`context " "manager` and has methods such as" msgstr "" +"Esta función siempre retorna un objeto que puede funcionar como un :term:" +"`context manager` y tiene métodos como" #: ../Doc/library/urllib.request.rst:60 msgid "" ":meth:`~urllib.response.addinfourl.geturl` --- return the URL of the " "resource retrieved, commonly used to determine if a redirect was followed" msgstr "" +":meth:`~urllib.response.addinfourl.geturl` --- retorna la URL del recurso " +"obtenido, comúnmente usado para determinar si se ha seguido una redirección" #: ../Doc/library/urllib.request.rst:63 msgid "" @@ -111,12 +142,18 @@ msgid "" "message_from_string` instance (see `Quick Reference to HTTP Headers `_)" msgstr "" +":meth:`~urllib.response.addinfourl.info` --- retorna la meta información de " +"la página, como los encabezados, en la forma de una instancia :func:`email." +"message_from_string` (vea `Quick Reference to HTTP Headers `_)" #: ../Doc/library/urllib.request.rst:67 msgid "" ":meth:`~urllib.response.addinfourl.getcode` -- return the HTTP status code " "of the response." msgstr "" +":meth:`~urllib.response.addinfourl.getcode` -- retorna el código de estado " +"HTTP de la respuesta." #: ../Doc/library/urllib.request.rst:69 msgid "" @@ -127,6 +164,13 @@ msgid "" "server --- instead of the response headers as it is specified in the " "documentation for :class:`~http.client.HTTPResponse`." msgstr "" +"Para URLs HTTP y HTTPS, esta función retorna un objeto :class:`http.client." +"HTTPResponse` ligeramente modificado. Adicionalmente a los tres nuevos " +"métodos anteriores, el atributo msg contiene la misma información que el " +"atributo :attr:`~http.client.HTTPResponse.reason` --- la frase de motivo " +"devuelta por el servidor --- en lugar de los encabezados de la respuesta " +"como se especifica en la documentación para :class:`~http.client." +"HTTPResponse`." #: ../Doc/library/urllib.request.rst:77 msgid "" @@ -134,10 +178,14 @@ msgid "" "class:`URLopener` and :class:`FancyURLopener` classes, this function returns " "a :class:`urllib.response.addinfourl` object." msgstr "" +"Para URLs FTP, de archivo y de datos y para peticiones manejadas " +"explícitamente por las clases heredadas :class:`URLopener` y :class:" +"`FancyURLopener`, esta función retorna un objeto :class:`urllib.response." +"addinfourl`." #: ../Doc/library/urllib.request.rst:81 msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." -msgstr "" +msgstr "Genera :exc:`~urllib.error.URLError` en errores de protocolo." #: ../Doc/library/urllib.request.rst:83 msgid "" @@ -145,6 +193,10 @@ msgid "" "the default installed global :class:`OpenerDirector` uses :class:" "`UnknownHandler` to ensure this never happens)." msgstr "" +"Tenga en cuenta que ``None`` puede ser retornado si ningún manejador " +"gestiona la petición (aunque el :class:`OpenerDirector` global instalado de " +"manera predeterminada usa :class:`UnknownHandler` para asegurar que esto " +"nunca suceda)." #: ../Doc/library/urllib.request.rst:87 msgid "" @@ -153,6 +205,10 @@ msgid "" "`ProxyHandler` is default installed and makes sure the requests are handled " "through the proxy." msgstr "" +"Adicionalmente, si se detectan configuraciones de proxy (por ejemplo, cuando " +"se establece una variable de entorno ``*_proxy`` como :envvar:" +"`http_proxy`), :class:`ProxyHandler` está instalada de forma predeterminada " +"y se asegura que las peticiones son gestionadas a través del proxy." #: ../Doc/library/urllib.request.rst:92 msgid "" @@ -162,11 +218,18 @@ msgid "" "parameter to ``urllib.urlopen``, can be obtained by using :class:" "`ProxyHandler` objects." msgstr "" +"La función heredada de Python 2.6 y anteriores ``urllib.urlopen`` ha sido " +"descontinuada, :func:`urllib.request.urlopen` corresponde a la antigua " +"``urllib2.urlopen``. La gestión de proxy, la cual se hacía pasando un " +"parámetro diccionario a ``urllib.urlopen``, puede ser obtenida usando " +"objetos :class:`ProxyHandler`." msgid "" "Raises an :ref:`auditing event ` ``urllib.Request`` with arguments " "``fullurl``, ``data``, ``headers``, ``method``." msgstr "" +"Genera un :ref:`evento de auditoría ` ``urllib.Request`` con los " +"argumentos ``fullurl``, ``data``, ``headers``, ``method``." #: ../Doc/library/urllib.request.rst:100 msgid "" @@ -174,28 +237,33 @@ msgid "" "Request`` with arguments ``fullurl``, ``data``, ``headers``, ``method`` " "taken from the request object." msgstr "" +"El abridor predeterminado genera un :ref:`evento de auditoría ` " +"``urllib.Request`` con los argumentos ``fullurl``, ``data``, ``headers``, " +"``method`` tomados del objeto de la petición." #: ../Doc/library/urllib.request.rst:104 msgid "*cafile* and *capath* were added." -msgstr "" +msgstr "*cafile* y *capath* fueron añadidos." #: ../Doc/library/urllib.request.rst:107 msgid "" "HTTPS virtual hosts are now supported if possible (that is, if :data:`ssl." "HAS_SNI` is true)." msgstr "" +"Los hosts virtuales HTTPS ahora están soportados si es posible (esto es, si :" +"data:`ssl.HAS_SNI` es verdadero)." #: ../Doc/library/urllib.request.rst:111 msgid "*data* can be an iterable object." -msgstr "" +msgstr "*data* puede ser un objeto iterable." #: ../Doc/library/urllib.request.rst:114 msgid "*cadefault* was added." -msgstr "" +msgstr "*cadefault* fue añadido." #: ../Doc/library/urllib.request.rst:117 msgid "*context* was added." -msgstr "" +msgstr "*context* fue añadido." #: ../Doc/library/urllib.request.rst:122 msgid "" @@ -203,6 +271,10 @@ msgid "" "Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." "create_default_context` select the system's trusted CA certificates for you." msgstr "" +"*cafile*, *capath* y *cadefault* están obsoletos en favor de *context*. Por " +"favor, use :meth:`ssl.SSLContext.load_cert_chain` en su lugar o deja a :func:" +"`ssl.create_default_context` seleccionar el certificado de confianza CA del " +"sistema por ti." #: ../Doc/library/urllib.request.rst:130 msgid "" @@ -212,6 +284,12 @@ msgid "" "`~urllib.request.urlopen`. The code does not check for a real :class:" "`OpenerDirector`, and any class with the appropriate interface will work." msgstr "" +"Instala una instancia :class:`OpenerDirector` como el abridor global " +"predeterminado. Instalar un abridor sólo es necesario si quieres que urlopen " +"use ese abridor; si no, simplemente invoca :meth:`OpenerDirector.open` en " +"lugar de :func:`~urllib.request.urlopen`. El código no comprueba por un :" +"class:`OpenerDirector` real y cualquier clase con la interfaz apropiada " +"funcionará." #: ../Doc/library/urllib.request.rst:140 msgid "" @@ -226,18 +304,32 @@ msgid "" "`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" "`HTTPErrorProcessor`." msgstr "" +"Retorna una instancia :class:`OpenerDirector`, la cual encadena los " +"manejadores en el orden dado. *handler*\\s pueden ser tanto instancias de :" +"class:`BaseHandler` o subclases de :class:`BaseHandler` (en cuyo caso debe " +"ser posible invocar el constructor sin ningún parámetro). Instancias de las " +"siguientes clases estarán delante del *handler*\\s, a no ser que el *handler*" +"\\s las contenga, instancias o subclases de ellas: :class:`ProxyHandler` (si " +"son detectadas configuraciones de proxy), :class:`UnknownHandler`, :class:" +"`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:" +"`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" +"`HTTPErrorProcessor`." #: ../Doc/library/urllib.request.rst:150 msgid "" "If the Python installation has SSL support (i.e., if the :mod:`ssl` module " "can be imported), :class:`HTTPSHandler` will also be added." msgstr "" +"Si la instalación de Python tiene soporte SSL (ej. si se puede importar el " +"módulo :mod:`ssl`), también será añadida :class:`HTTPSHandler`." #: ../Doc/library/urllib.request.rst:153 msgid "" "A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " "attribute to modify its position in the handlers list." msgstr "" +"Una subclase de :class:`BaseHandler` puede cambiar también su atributo :attr:" +"`handler_order` para modificar su posición en la lista de manejadores." #: ../Doc/library/urllib.request.rst:159 msgid "" @@ -246,6 +338,10 @@ msgid "" "The return value will already be quoted using the :func:`~urllib.parse." "quote` function." msgstr "" +"Convierte el nombre de ruta *path* desde la sintaxis local para una ruta a " +"la forma usada en el componente ruta de una URL. Esto no produce una URL " +"completa. El valor retornado ya estará entrecomillado usando la función :" +"func:`~urllib.parse.quote`." #: ../Doc/library/urllib.request.rst:166 msgid "" @@ -253,6 +349,9 @@ msgid "" "syntax for a path. This does not accept a complete URL. This function " "uses :func:`~urllib.parse.unquote` to decode *path*." msgstr "" +"Convierte el componente ruta *path* desde una URL codificada con porcentajes " +"a la sintaxis local para una ruta. No acepta una URL completa. Esta función " +"usa :func:`~urllib.parse.unquote` para decodificar *path*." #: ../Doc/library/urllib.request.rst:172 msgid "" @@ -264,6 +363,14 @@ msgid "" "lowercase and uppercase environment variables exist (and disagree), " "lowercase is preferred." msgstr "" +"Esta función auxiliar devuelve un diccionario de esquema para las " +"asignaciones de URL del servidor proxy. Escanea el entorno en busca de " +"variables denominadas ``_proxy``, tomando en cuenta diferencia entre " +"mayúsculas y minúsculas, para todos los sistemas operativos primero, y " +"cuando no pueden encontrarla, buscan información de proxy desde la " +"Configuración del Sistema Mac OSX para Mac OS X y desde Registros del " +"Sistema para Windows. Si existen variables de entorno tanto en mayúsculas " +"como en minúsculas (y no concuerdan), las minúsculas son preferidas." #: ../Doc/library/urllib.request.rst:182 msgid "" @@ -275,18 +382,25 @@ msgid "" "``ProxyHandler`` explicitly, or make sure the variable name is in lowercase " "(or at least the ``_proxy`` suffix)." msgstr "" +"Si la variable del entorno ``REQUEST_METHOD`` está definida, lo cual " +"usualmente indica que tu script está ejecutándose en un entorno CGI, la " +"variable de entorno ``HTTP_PROXY`` (mayúsculas ``_PROXY``) será ignorada. " +"Esto es porque esa variable puede ser inyectada por un cliente usando el " +"encabezado HTTP \"Proxy:\". Si necesitas usar un proxy HTTP en un entorno " +"CGI, usa ``ProxyHandler`` explícitamente o asegúrate de que el nombre de la " +"variable está en minúsculas (o al menos el sufijo ``_proxy``)." #: ../Doc/library/urllib.request.rst:191 msgid "The following classes are provided:" -msgstr "" +msgstr "Se proveen las siguientes clases:" #: ../Doc/library/urllib.request.rst:195 msgid "This class is an abstraction of a URL request." -msgstr "" +msgstr "Esta clase es un abstracción de una petición URL." #: ../Doc/library/urllib.request.rst:197 msgid "*url* should be a string containing a valid URL." -msgstr "" +msgstr "*url* debe ser una cadena de caracteres conteniendo una URL válida." #: ../Doc/library/urllib.request.rst:199 msgid "" @@ -300,6 +414,16 @@ msgid "" "specified in :rfc:`7230`, Section 3.3.1 will be used to send files and other " "iterables." msgstr "" +"*data* debe ser un objeto que especifique datos adicionales a enviar al " +"servidor o ``None`` si no se necesitan tales datos. Actualmente las " +"peticiones HTTP son las únicas que usan *data*. Los tipos de objetos " +"soportados incluyen bytes, objectos como archivos e iterables de objetos " +"como bytes. Si no se ha provisto el campo de encabezado ``Content-Length`` " +"ni ``Transfer-Encoding``, :class:`HTTPHandler` establecerá estos encabezados " +"de acuerdo al tipo de *data*. ``Content-Length`` será usado para enviar " +"objetos de bytes, mientras ``Transfer-Encoding: chunked`` como se especifica " +"en :rfc:`7230`, Sección 3.3.1 será usado para enviar archivos y otros " +"iterables." #: ../Doc/library/urllib.request.rst:209 msgid "" @@ -309,6 +433,11 @@ msgid "" "returns an ASCII string in this format. It should be encoded to bytes before " "being used as the *data* parameter." msgstr "" +"Para un método de una petición HTTP POST, *data* debe ser un buffer en el " +"formato estándar :mimetype:`application/x-www-form-urlencoded`. La función :" +"func:`urllib.parse.urlencode` toma un mapeo o una secuencia de tuplas de dos " +"valores y retorna una cadena de caracteres ASCII en este formato. Debe ser " +"codificada a bytes antes de ser usada como el parámetro *data*." #: ../Doc/library/urllib.request.rst:215 msgid "" @@ -321,6 +450,15 @@ msgid "" "Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is ``" "\"Python-urllib/2.6\"`` (on Python 2.6)." msgstr "" +"*headers* debe ser un diccionario, y será tratado como si :meth:`add_header` " +"fuera invocado con cada clave y valor como argumentos. Esto es usado " +"frecuentemente para \"parodiar\" el valor de encabezado ``User-Agent``, el " +"cual es usado por un navegador para identificarse a sí mismo -- algunos " +"servidores HTTP sólo permiten peticiones que vienen de navegadores comunes a " +"diferencia de los scripts. Por ejemplo, Mozilla Firefox puede identificarse " +"a sí mismo como ``\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 " +"Firefox/2.0.0.11\"``, mientras el agente de usuario predeterminado de :mod:" +"`urllib` es ``\"Python-urllib/2.6\"`` (en Python 2.6)." #: ../Doc/library/urllib.request.rst:225 msgid "" @@ -329,12 +467,18 @@ msgid "" "None, ``Content-Type: application/x-www-form-urlencoded`` will be added as a " "default." msgstr "" +"Un encabezado apropiado ``Content-Type`` debe ser incluido si el argumento " +"*data* está presente. Si este encabezado no ha sido provisto y *data* no es " +"None, será añadido ``Content-Type: application/x-www-form-urlencoded`` de " +"forma predeterminada." #: ../Doc/library/urllib.request.rst:230 msgid "" "The next two arguments are only of interest for correct handling of third-" "party HTTP cookies:" msgstr "" +"Los siguientes dos argumentos sólo tienen interés para la gestión correcta " +"de cookies HTTP de terceros:" #: ../Doc/library/urllib.request.rst:233 msgid "" @@ -345,6 +489,12 @@ msgid "" "an image in an HTML document, this should be the request-host of the request " "for the page containing the image." msgstr "" +"*origin_req_host* debe ser el host de la petición de la transacción origen, " +"como define :rfc:`2965`. Por defecto es ``http.cookiejar." +"request_host(self)``. Este es el nombre de host o la dirección IP de la " +"petición original que fue iniciada por el usuario. Por ejemplo, si la " +"petición es para una imagen en un documento HTML, debe ser el host de la " +"petición para la página que contiene la imagen." #: ../Doc/library/urllib.request.rst:241 msgid "" @@ -354,6 +504,11 @@ msgid "" "if the request is for an image in an HTML document, and the user had no " "option to approve the automatic fetching of the image, this should be true." msgstr "" +"*unverifiable* debe indicar si la petición no es verificable, como define :" +"rfc:`2965`. Por defecto es ``False``. Una petición no verificable es una " +"cuya URL el usuario no tuvo opción de aprobar. Por ejemplo, si la petición " +"es por una imagen en un documento HTML y el usuario no tuvo opción de " +"aprobar la obtención automática de la imagen, este debe ser verdadero." #: ../Doc/library/urllib.request.rst:248 msgid "" @@ -364,6 +519,12 @@ msgid "" "indicate a different default method by setting the :attr:`~Request.method` " "attribute in the class itself." msgstr "" +"*method* debe ser una cadena que indica el método de la petición HTTP que " +"será usado (ej. ``'HEAD'``). Si se provee, su valor es almacenado en el " +"atributo :attr:`~Request.method` y usado por :meth:`get_method()`. Por " +"defecto es ``'GET'`` si *data* es ``None``, o ``'POST'`` si no. Las " +"subclases pueden indicar un método predeterminado diferente estableciendo el " +"atributo :attr:`~Request.method` es la clase misma." #: ../Doc/library/urllib.request.rst:256 msgid "" @@ -374,14 +535,22 @@ msgid "" "the headers. There is no support for a 100-continue expectation in the " "library." msgstr "" +"La petición no funcionará como se espera si el objeto de datos es incapaz de " +"entregar su contenido más de una vez (ej. un archivo o un iterable que puede " +"producir el contenido sólo una vez) y la petición se reintentará para " +"redirecciones HTTP o autenticación. El *data* es enviado al servidor HTTP " +"directamente después de los encabezados. No hay soporte para una expectativa " +"de funcionamiento 100% continuo en la biblioteca." #: ../Doc/library/urllib.request.rst:263 msgid ":attr:`Request.method` argument is added to the Request class." -msgstr "" +msgstr "El argumento :attr:`Request.method` es añadido a la clase Request." #: ../Doc/library/urllib.request.rst:266 msgid "Default :attr:`Request.method` may be indicated at the class level." msgstr "" +"El atributo predeterminado :attr:`Request.method` puede ser indicado a nivel " +"de clase." #: ../Doc/library/urllib.request.rst:269 msgid "" @@ -389,6 +558,9 @@ msgid "" "*data* is neither ``None`` nor a bytes object. Fall back to use chunked " "transfer encoding instead." msgstr "" +"No se genera un error si el ``Content-Length`` no ha sido provisto y *data* " +"no es ``None`` ni un objeto de bytes. En su lugar recurre a la codificación " +"de transferencia fragmentada." #: ../Doc/library/urllib.request.rst:276 msgid "" @@ -396,26 +568,34 @@ msgid "" "chained together. It manages the chaining of handlers, and recovery from " "errors." msgstr "" +"La clase :class:`OpenerDirector` abre URLs mediante la encadenación conjunta " +"de :class:`BaseHandler`. Este maneja el encadenamiento de manejadores y la " +"recuperación de errores." #: ../Doc/library/urllib.request.rst:282 msgid "" "This is the base class for all registered handlers --- and handles only the " "simple mechanics of registration." msgstr "" +"Esta es la clase base para todos los manejadores registrados --- y manejan " +"sólo las mecánicas simples del registro." #: ../Doc/library/urllib.request.rst:288 msgid "" "A class which defines a default handler for HTTP error responses; all " "responses are turned into :exc:`~urllib.error.HTTPError` exceptions." msgstr "" +"Una clase la cual define un manejador predeterminado para los errores de " +"respuesta HTTP; todas las respuestas son convertidas en excepciones :exc:" +"`~urllib.error.HTTPError`." #: ../Doc/library/urllib.request.rst:294 msgid "A class to handle redirections." -msgstr "" +msgstr "Una clase para manejar redirecciones." #: ../Doc/library/urllib.request.rst:299 msgid "A class to handle HTTP Cookies." -msgstr "" +msgstr "Una clase para manejar Cookies HTTP." #: ../Doc/library/urllib.request.rst:304 msgid "" @@ -427,10 +607,19 @@ msgid "" "a Mac OS X environment proxy information is retrieved from the OS X System " "Configuration Framework." msgstr "" +"Causa que las peticiones vayan a través de un proxy. Si se provee *proxies*, " +"debe ser un diccionario mapeando nombres de protocolos a URLs de proxies. " +"Por defecto lee la lista de proxies de las variables de entorno " +"``_proxy``. Si no se establecen variables de entorno de proxy, " +"entonces se obtienen las configuraciones de proxy en un entorno Windows " +"desde la sección del registro de Configuraciones de Internet y en un entorno " +"Mac OS X se obtiene la información de proxy desde el Framework de " +"Configuración del Sistema de OS X." #: ../Doc/library/urllib.request.rst:312 msgid "To disable autodetected proxy pass an empty dictionary." msgstr "" +"Para deshabilitar la detección automática de proxy pasa un diccionario vacío." #: ../Doc/library/urllib.request.rst:314 msgid "" @@ -439,16 +628,25 @@ msgid "" "list of hostname suffixes, optionally with ``:port`` appended, for example " "``cern.ch,ncsa.uiuc.edu,some.host:8080``." msgstr "" +"La variable de entorno :envvar:`no_proxy` puede ser usada para especificar " +"hosts los cuales no deben ser alcanzados mediante proxy; si se establece, " +"debe ser una lista separada por comas de sufijos de nombres de host, con ``:" +"port`` añadidos opcionalmente, por ejemplo ``cern.ch,ncsa.uiuc.edu,some." +"host:8080``." #: ../Doc/library/urllib.request.rst:321 msgid "" "``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " "the documentation on :func:`~urllib.request.getproxies`." msgstr "" +"``HTTP_PROXY`` será ignorado si se establece una variable " +"``REQUEST_METHOD``; vea la documentación de :func:`~urllib.request." +"getproxies`." #: ../Doc/library/urllib.request.rst:327 msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." msgstr "" +"Mantiene una base de datos de mapeos ``(realm, uri) -> (user, password)``." #: ../Doc/library/urllib.request.rst:332 msgid "" @@ -456,6 +654,9 @@ msgid "" "of ``None`` is considered a catch-all realm, which is searched if no other " "realm fits." msgstr "" +"Mantiene una base de datos de mapeos ``(realm, uri) -> (user, password)``. " +"Un reino de ``None`` se considera un reino caza todo, el cual es buscado si " +"ningún otro reino encaja." #: ../Doc/library/urllib.request.rst:339 msgid "" @@ -464,6 +665,11 @@ msgid "" "BasicAuth handler to determine when to send authentication credentials " "immediately instead of waiting for a ``401`` response first." msgstr "" +"Una variante de :class:`HTTPPasswordMgrWithDefaultRealm` que también tiene " +"una base de datos de mapeos ``uri -> is_authenticated``. Puede ser usada por " +"un manejador BasicAuth para determinar cuando enviar credenciales de " +"autenticación inmediatamente en lugar de esperar primero a una respuesta " +"``401``." #: ../Doc/library/urllib.request.rst:349 msgid "" @@ -483,10 +689,21 @@ msgid "" "the URI, so that subsequent requests to the URI or any of its super-URIs " "will automatically include the authentication credentials." msgstr "" +"Esta es una clase mixin que ayuda con la autenticación HTTP, tanto al host " +"remoto y a un proxy. Si se proporciona *password_mgr*, debe ser algo " +"compatible con :class:`HTTPPasswordMgr`; refiera a la sección :ref:`http-" +"password-mgr` para información sobre la interfaz que debe ser soportada. Si " +"*passwd_mgr* proporciona también métodos ``is_authenticated`` y " +"``update_authenticated`` (vea :ref:`http-password-mgr-with-prior-auth`), " +"entonces el manejador usará el ``is_authenticated`` resultado para una URI " +"dada para determinar el envío o no de credenciales de autenticación con la " +"petición. Si ``is_authenticated`` retorna ``True`` para la URI, las " +"peticiones subsecuentes a la URI o cualquiera de las super URIs incluirán " +"automáticamente los credenciales de autenticación." #: ../Doc/library/urllib.request.rst:366 msgid "Added ``is_authenticated`` support." -msgstr "" +msgstr "Añadido soporte ``is_authenticated``." #: ../Doc/library/urllib.request.rst:372 msgid "" @@ -496,6 +713,11 @@ msgid "" "be supported. HTTPBasicAuthHandler will raise a :exc:`ValueError` when " "presented with a wrong Authentication scheme." msgstr "" +"Administra autenticación con el host remoto. Si se proporciona " +"*password_mgr*, debe ser compatible con :class:`HTTPPasswordMgr`; refiera a " +"la sección :ref:`http-password-mgr` para información sobre la interfaz que " +"debe ser soportada. HTTPBasicAuthHandler generará un :exc:`ValueError` " +"cuando se presente con un esquema de Autenticación incorrecto." #: ../Doc/library/urllib.request.rst:381 ../Doc/library/urllib.request.rst:415 msgid "" @@ -504,6 +726,9 @@ msgid "" "section :ref:`http-password-mgr` for information on the interface that must " "be supported." msgstr "" +"Administra autenticación con el proxy. Si se proporciona *password_mgr* debe " +"ser compatible con :class:`HTTPPasswordMgr`; refiera a la sección :ref:`http-" +"password-mgr` para información sobre la interfaz que debe ser soportada." #: ../Doc/library/urllib.request.rst:389 msgid "" @@ -512,6 +737,10 @@ msgid "" "that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" "`http-password-mgr` for information on the interface that must be supported." msgstr "" +"Esto es una clase mixin que ayuda con la autenticación HTTP, tanto al host " +"remoto como a un proxy. Si se proporciona *password_mgr* debe ser compatible " +"con :class:`HTTPPasswordMgr`; refiera a la sección :ref:`http-password-mgr` " +"para información sobre la interfaz que debe ser soportada." #: ../Doc/library/urllib.request.rst:398 msgid "" @@ -525,53 +754,68 @@ msgid "" "a :exc:`ValueError` when presented with an authentication scheme other than " "Digest or Basic." msgstr "" +"Maneja autenticación con el host remoto. Si se proporciona *password_mgr* " +"debe ser compatible con :class:`HTTPPasswordMgr`; refiera a la sección :ref:" +"`http-password-mgr` para información sobre la interfaz que debe ser " +"soportada. Cuando se añaden tanto el Manejador de Autenticación Digest " +"(*Digest Authentication Handler*) como el Manejador de Autenticación Básico " +"(*Basic Authentication Handler*) la Autenticación Digest siempre se intenta " +"primero. Si la Autenticación Digest retorna una respuesta 40x de nuevo, se " +"envía al controlador de Autenticación Básica para Manejar. Este método " +"Handler generará un :exc:`ValueError` cuando sea presentado con un esquema " +"de autenticación diferente a Digest o Básico." #: ../Doc/library/urllib.request.rst:408 msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." -msgstr "" +msgstr "Genera :exc:`ValueError` en Esquema de Autenticación no soportado." #: ../Doc/library/urllib.request.rst:423 msgid "A class to handle opening of HTTP URLs." -msgstr "" +msgstr "Una clase para gestionar apertura de URLs HTTP." #: ../Doc/library/urllib.request.rst:428 msgid "" "A class to handle opening of HTTPS URLs. *context* and *check_hostname* " "have the same meaning as in :class:`http.client.HTTPSConnection`." msgstr "" +"Una clase para gestionar apertura de URLs HTTPS. *context* y " +"*check_hostname* tienen el mismo significado que en :class:`http.client." +"HTTPSConnection`." #: ../Doc/library/urllib.request.rst:431 msgid "*context* and *check_hostname* were added." -msgstr "" +msgstr "*context* y *check_hostname* fueron añadidos." #: ../Doc/library/urllib.request.rst:437 msgid "Open local files." -msgstr "" +msgstr "Abre archivos locales." #: ../Doc/library/urllib.request.rst:441 msgid "Open data URLs." -msgstr "" +msgstr "Abre URLs de datos." #: ../Doc/library/urllib.request.rst:447 msgid "Open FTP URLs." -msgstr "" +msgstr "Abre URLs FTP." #: ../Doc/library/urllib.request.rst:452 msgid "" "Open FTP URLs, keeping a cache of open FTP connections to minimize delays." msgstr "" +"Abre URLs FTP, manteniendo una caché de conexiones FTP abiertas para " +"minimizar retrasos." #: ../Doc/library/urllib.request.rst:457 msgid "A catch-all class to handle unknown URLs." -msgstr "" +msgstr "Una clase caza todo para gestionar URLs desconocidas." #: ../Doc/library/urllib.request.rst:462 ../Doc/library/urllib.request.rst:1157 msgid "Process HTTP error responses." -msgstr "" +msgstr "Procesa errores de respuestas HTTP." #: ../Doc/library/urllib.request.rst:468 msgid "Request Objects" -msgstr "" +msgstr "Objetos Request" #: ../Doc/library/urllib.request.rst:470 msgid "" @@ -579,10 +823,14 @@ msgid "" "all may be overridden in subclasses. It also defines several public " "attributes that can be used by clients to inspect the parsed request." msgstr "" +"Los siguientes métodos describen la interfaz pública de :class:`Request` por " +"lo que pueden ser sobrescritos en subclases. También define varios atributos " +"públicos que pueden ser usado por clientes para inspeccionar la respuesta " +"analizada." #: ../Doc/library/urllib.request.rst:477 msgid "The original URL passed to the constructor." -msgstr "" +msgstr "La URL original pasada al constructor." #: ../Doc/library/urllib.request.rst:481 msgid "" @@ -590,42 +838,54 @@ msgid "" "attr:`~Request.full_url` returns the original request URL with the fragment, " "if it was present." msgstr "" +"Request.full_url es una propiedad con setter, getter y deleter. Obtener :" +"attr:`~Request.full_url` retorna la petición URL original con el fragmento, " +"si este estaba presente." #: ../Doc/library/urllib.request.rst:487 msgid "The URI scheme." -msgstr "" +msgstr "El esquema de URI." #: ../Doc/library/urllib.request.rst:491 msgid "" "The URI authority, typically a host, but may also contain a port separated " "by a colon." msgstr "" +"La autoridad de URI, típicamente un host, pero también puede contener un " +"puerto separado por un caracter de doble punto." #: ../Doc/library/urllib.request.rst:496 msgid "The original host for the request, without port." -msgstr "" +msgstr "El host original de la petición, sin puerto." #: ../Doc/library/urllib.request.rst:500 msgid "" "The URI path. If the :class:`Request` uses a proxy, then selector will be " "the full URL that is passed to the proxy." msgstr "" +"La ruta de URI. Si :class:`Request` usa un proxy, entonces selector será la " +"URL completa que se pasa al proxy." #: ../Doc/library/urllib.request.rst:505 msgid "The entity body for the request, or ``None`` if not specified." msgstr "" +"El cuerpo de la entidad para la solicitud o ``None`` si no es especificado." #: ../Doc/library/urllib.request.rst:507 msgid "" "Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " "if it was previously set or calculated." msgstr "" +"Cambiar el valor de :attr:`Request.data` elimina ahora el encabezado " +"\"Content-Length\" si fue establecido o calculado previamente." #: ../Doc/library/urllib.request.rst:513 msgid "" "boolean, indicates whether the request is unverifiable as defined by :rfc:" "`2965`." msgstr "" +"booleano, indica si la petición no es verificable como se define por :rfc:" +"`2965`." #: ../Doc/library/urllib.request.rst:518 msgid "" @@ -637,12 +897,21 @@ msgid "" "passing a value in to the :class:`Request` constructor via the *method* " "argument." msgstr "" +"El método de petición HTTP a usar. Por defecto su valor es :const:`None`, lo " +"que significa que :meth:`~Request.get_method` realizará su cálculo normal " +"del método a usar. Su valor puede ser definido (sobrescribiendo así el " +"cálculo predeterminado en :meth:`~Request.get_method`) tanto proporcionando " +"un valor por defecto estableciéndolo a nivel de clase en una subclase de :" +"class:`Request` o pasando un valor al constructor de :class:`Request` por " +"medio del argumento *method*." #: ../Doc/library/urllib.request.rst:528 msgid "" "A default value can now be set in subclasses; previously it could only be " "set via the constructor argument." msgstr "" +"Un valor predeterminado puede ser establecido ahora en subclases; " +"previamente sólo podía ser definido mediante el argumento del constructor." #: ../Doc/library/urllib.request.rst:535 msgid "" @@ -651,10 +920,14 @@ msgid "" "attr:`Request.data` is ``None``, or ``'POST'`` if it's not. This is only " "meaningful for HTTP requests." msgstr "" +"Retorna una cadena indicando el método de petición HTTP. Si :attr:`Request." +"method` no es ``None``, retorna su valor, de otra forma retorna ``'GET'`` " +"si :attr:`Request.data` es ``None`` o ``'POST'`` si no lo es. Esto sólo es " +"significativo para peticiones HTTP." #: ../Doc/library/urllib.request.rst:540 msgid "get_method now looks at the value of :attr:`Request.method`." -msgstr "" +msgstr "get_method ahora mira el valor de :attr:`Request.method`." #: ../Doc/library/urllib.request.rst:546 msgid "" @@ -666,30 +939,43 @@ msgid "" "headers which have meaning when used more than once have a (header-specific) " "way of gaining the same functionality using only one header." msgstr "" +"Añade otro encabezado a la petición. Los encabezados actualmente son " +"ignorados por todos los manejadores excepto los manejadores HTTP, donde son " +"añadidos a la lista de encabezados enviados al servidor. Tenga en cuenta que " +"no puede haber más de un encabezado con el mismo nombre y las invocaciones " +"posteriores sobrescribirán las invocaciones previas en caso de que *key* " +"colisione. Actualmente, esto no es una pérdida de funcionalidad HTTP, ya que " +"todos los encabezados que tienen sentido cuando son usados más de una vez " +"tienen una manera (específica de encabezado) de ganar la misma funcionalidad " +"usando sólo un encabezado." #: ../Doc/library/urllib.request.rst:557 msgid "Add a header that will not be added to a redirected request." -msgstr "" +msgstr "Añade un encabezado que no será añadido a una petición redireccionada." #: ../Doc/library/urllib.request.rst:562 msgid "" "Return whether the instance has the named header (checks both regular and " "unredirected)." msgstr "" +"Retorna si la instancia tiene el encabezado nombrado (comprueba tanto " +"regular como no redirigido)." #: ../Doc/library/urllib.request.rst:568 msgid "" "Remove named header from the request instance (both from regular and " "unredirected headers)." msgstr "" +"Elimina el encabezado nombrado de la instancia de la petición (desde " +"encabezados regulares y no redireccionados)." #: ../Doc/library/urllib.request.rst:576 msgid "Return the URL given in the constructor." -msgstr "" +msgstr "Retorna la URL dada en el constructor." #: ../Doc/library/urllib.request.rst:580 msgid "Returns :attr:`Request.full_url`" -msgstr "" +msgstr "Retorna :attr:`Request.full_url`" #: ../Doc/library/urllib.request.rst:585 msgid "" @@ -697,17 +983,22 @@ msgid "" "will replace those of the instance, and the instance's selector will be the " "original URL given in the constructor." msgstr "" +"Prepara la petición conectando a un servidor proxy. Los *host* y *type* " +"reemplazarán aquellos de la instancia y el selector de la instancia será la " +"URL original dada en el constructor." #: ../Doc/library/urllib.request.rst:592 msgid "" "Return the value of the given header. If the header is not present, return " "the default value." -msgstr "" +msgstr "Retorna el valor del encabezado dado." #: ../Doc/library/urllib.request.rst:598 msgid "" "Return a list of tuples (header_name, header_value) of the Request headers." msgstr "" +"Retorna una lista de tuplas (header_name, header_value) de los encabezados " +"de la Petición." #: ../Doc/library/urllib.request.rst:600 msgid "" @@ -715,14 +1006,18 @@ msgid "" "get_selector, get_origin_req_host and is_unverifiable that were deprecated " "since 3.3 have been removed." msgstr "" +"Los métodos de petición add_data, has_data, get_data, get_type, get_host, " +"get_selector, get_origin_req_host y is_unverifiable que quedaron obsoletos " +"desde 3.3 han sido eliminados." #: ../Doc/library/urllib.request.rst:609 msgid "OpenerDirector Objects" -msgstr "" +msgstr "Objetos OpenerDirector" #: ../Doc/library/urllib.request.rst:611 msgid ":class:`OpenerDirector` instances have the following methods:" msgstr "" +"Las instancias de :class:`OpenerDirector` tienen los siguientes métodos:" #: ../Doc/library/urllib.request.rst:616 msgid "" @@ -734,52 +1029,69 @@ msgid "" "should be replaced with the actual HTTP code, for example :meth:" "`http_error_404` would handle HTTP 404 errors." msgstr "" +"*handler* debe ser una instancia de :class:`BaseHandler`. Los siguientes " +"métodos son buscados y añadidos a las cadenas posibles (tenga en cuenta que " +"los errores HTTP son un caso espacial). Tenga en cuenta que, en los " +"siguientes, *protocol* debe ser remplazado con el protocolo actual a " +"manejar, por ejemplo :meth:`http_response` sería el protocolo HTTP del " +"manejador de respuesta. También *type* debe ser remplazado con el código " +"HTTP actual, por ejemplo :meth:`http_error_404` manejaría errores HTTP 404." #: ../Doc/library/urllib.request.rst:624 msgid "" ":meth:`_open` --- signal that the handler knows how to open " "*protocol* URLs." msgstr "" +":meth:`_open` --- señala que el manejador sabe como abrir URLs " +"*protocol*." #: ../Doc/library/urllib.request.rst:627 msgid "See |protocol_open|_ for more information." -msgstr "" +msgstr "Vea |protocol_open|_ para más información." #: ../Doc/library/urllib.request.rst:629 msgid "" ":meth:`http_error_\\` --- signal that the handler knows how to " "handle HTTP errors with HTTP error code *type*." msgstr "" +":meth:`http_error_\\` --- señala que el manejador sabe como manejar " +"errores HTTP con el código de error *type*." #: ../Doc/library/urllib.request.rst:632 msgid "See |http_error_nnn|_ for more information." -msgstr "" +msgstr "Vea |http_error_nnn|_ para más información." #: ../Doc/library/urllib.request.rst:634 msgid "" ":meth:`_error` --- signal that the handler knows how to handle " "errors from (non-\\ ``http``) *protocol*." msgstr "" +":meth:`_error` --- señala que el manejador sabe como manejar " +"errores de (no ``http``) *protocol*." #: ../Doc/library/urllib.request.rst:637 msgid "" ":meth:`_request` --- signal that the handler knows how to pre-" "process *protocol* requests." msgstr "" +":meth:`_request` --- señala que el manejador sabe como preprocesar " +"peticiones *protocol*." #: ../Doc/library/urllib.request.rst:640 msgid "See |protocol_request|_ for more information." -msgstr "" +msgstr "Vea |protocol_request|_ para más información." #: ../Doc/library/urllib.request.rst:642 msgid "" ":meth:`_response` --- signal that the handler knows how to post-" "process *protocol* responses." msgstr "" +":meth:`_response` --- señala que el manejador sabe como " +"postprocesar respuestas *protocol*." #: ../Doc/library/urllib.request.rst:645 msgid "See |protocol_response|_ for more information." -msgstr "" +msgstr "Vea |protocol_response|_ para más información." #: ../Doc/library/urllib.request.rst:654 msgid "" @@ -792,6 +1104,15 @@ msgid "" "timeout setting will be used). The timeout feature actually works only for " "HTTP, HTTPS and FTP connections)." msgstr "" +"Abre la *url* dada (la cual puede ser un objeto de petición o una cadena de " +"caracteres), pasando opcionalmente el *data* dado. Los argumentos, los " +"valores de retorno y las excepciones generadas son las mismas que aquellas " +"de :func:`urlopen` (las cuales simplemente invocan el método :meth:`open` en " +"el :class:`OpenerDirector` instalado global). El parámetro opcional " +"*timeout* especifica un tiempo de expiración en segundos para operaciones " +"bloqueantes como el intento de conexión (si no se especifica, el tiempo de " +"expiración global será usado). La característica de tiempo de expiración " +"actualmente funciona sólo para conexiones HTTP, HTTPS y FTP." #: ../Doc/library/urllib.request.rst:666 msgid "" @@ -801,27 +1122,39 @@ msgid "" "code to determine the specific error handler; refer to the :meth:`http_error_" "\\` methods of the handler classes." msgstr "" +"Maneja un error del protocolo dado. Esto invocará los manejadores de error " +"registrados para el protocolo dado con los argumentos dados (los cuales son " +"específicos del protocolo). El protocolo HTTP es un caso especial el cual " +"usa el código de respuesta HTTP para determinar el manejador de error " +"específico; refiera a los métodos :meth:`http_error_\\` de las " +"clases del manejador." #: ../Doc/library/urllib.request.rst:672 msgid "" "Return values and exceptions raised are the same as those of :func:`urlopen`." msgstr "" +"Retorna si los valores y excepciones generadas son las mismas que aquellas " +"de :func:`urlopen`." #: ../Doc/library/urllib.request.rst:674 msgid "OpenerDirector objects open URLs in three stages:" -msgstr "" +msgstr "Los objetos OpenerDirector abren URLs en tres etapas:" #: ../Doc/library/urllib.request.rst:676 msgid "" "The order in which these methods are called within each stage is determined " "by sorting the handler instances." msgstr "" +"El orden en el cual esos métodos son invocados dentro de cada etapa es " +"determinado ordenando las instancias manejadoras." #: ../Doc/library/urllib.request.rst:679 msgid "" "Every handler with a method named like :meth:`_request` has that " "method called to pre-process the request." msgstr "" +"Cada manejador con un método nombrado como :meth:`_request` tiene " +"ese método invocador para preprocesar la petición." #: ../Doc/library/urllib.request.rst:682 msgid "" @@ -830,6 +1163,11 @@ msgid "" "const:`None` value (ie. a response), or raises an exception (usually :exc:" "`~urllib.error.URLError`). Exceptions are allowed to propagate." msgstr "" +"Los manejadores con un método nombrado como :meth:`_open` son " +"invocados para manejar la petición. Esta etapa termina cuando un manejador " +"retorna un valor no :const:`None` (ej. una respuesta) o genera una excepción " +"(generalmente :exc:`~urllib.error.URLError`). Se permite que las excepciones " +"propaguen." #: ../Doc/library/urllib.request.rst:687 msgid "" @@ -839,6 +1177,11 @@ msgid "" "methods return :const:`None`, the algorithm is repeated for methods named :" "meth:`unknown_open`." msgstr "" +"De hecho, el algoritmo anterior se intenta primero para métodos nombrados :" +"meth:`default_open`. Si todos esos métodos retornan :const:`None`, el " +"algoritmo se repite para métodos nombrados como :meth:`_open`. Si " +"todos esos métodos retornan :const:`None`, el algoritmo se repite para " +"métodos nombrados como :meth:`unknown_open`." #: ../Doc/library/urllib.request.rst:693 msgid "" @@ -846,16 +1189,21 @@ msgid "" "parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and :" "meth:`~OpenerDirector.error` methods." msgstr "" +"Tenga en cuenta que la implementación de esos métodos puede involucrar " +"invocaciones de los métodos :meth:`~OpenerDirector.open` y :meth:" +"`~OpenerDirector.error` de la instancia :class:`OpenerDirector` padre." #: ../Doc/library/urllib.request.rst:697 msgid "" "Every handler with a method named like :meth:`_response` has that " "method called to post-process the response." msgstr "" +"Cada manejador con un método nombrado como :meth:`_response` tiene " +"ese método invocado para postprocesar la respuesta." #: ../Doc/library/urllib.request.rst:704 msgid "BaseHandler Objects" -msgstr "" +msgstr "Objetos BaseHandler" #: ../Doc/library/urllib.request.rst:706 msgid "" @@ -863,20 +1211,25 @@ msgid "" "useful, and others that are meant to be used by derived classes. These are " "intended for direct use:" msgstr "" +"Los objetos :class:`BaseHandler` proporcionan un par de métodos que son " +"útiles directamente y otros que están destinados a ser utilizados por clases " +"derivadas. Estos están pensados para uso directo:" #: ../Doc/library/urllib.request.rst:713 msgid "Add a director as parent." -msgstr "" +msgstr "Añade un director como padre." #: ../Doc/library/urllib.request.rst:718 msgid "Remove any parents." -msgstr "" +msgstr "Elimina cualquier padre." #: ../Doc/library/urllib.request.rst:720 msgid "" "The following attribute and methods should only be used by classes derived " "from :class:`BaseHandler`." msgstr "" +"El siguiente atributo y los siguientes métodos sólo deben ser usados por " +"clases derivadas de :class:`BaseHandler`." #: ../Doc/library/urllib.request.rst:725 msgid "" @@ -884,18 +1237,25 @@ msgid "" "`_request` or :meth:`_response` methods are named :class:" "`\\*Processor`; all others are named :class:`\\*Handler`." msgstr "" +"Se ha adoptado la convención de que las subclases que definen los métodos :" +"meth:`_request` o :meth:`_response` son nombradas :class:" +"`\\*Processor`; todas las otras son nombradas :class:`\\*Handler`." #: ../Doc/library/urllib.request.rst:732 msgid "" "A valid :class:`OpenerDirector`, which can be used to open using a different " "protocol, or handle errors." msgstr "" +"Un :class:`OpenerDirector` válido, el cual puede ser utilizado para abrir " +"usando un protocolo diferente, o para manejar errores." #: ../Doc/library/urllib.request.rst:738 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs." msgstr "" +"Este método no es definido en :class:`BaseHandler`, pero las subclases deben " +"definirlo si quieren cazar todas las URLs." #: ../Doc/library/urllib.request.rst:741 msgid "" @@ -906,16 +1266,26 @@ msgid "" "happens (for example, :exc:`MemoryError` should not be mapped to :exc:" "`URLError`)." msgstr "" +"Este método, si se implementa, será invocado por el :class:`OpenerDirector` " +"padre. Debe retornar un archivo como objeto tal y como se describe en el " +"valor retornado por :meth:`open` de :class:`OpenerDirector` o ``None``. Debe " +"generar :exc:`~urllib.error.URLError` a no ser que algo verdaderamente " +"excepcional ocurra (por ejemplo, :exc:`MemoryError` no debe ser mapeado a :" +"exc:`URLError`)." #: ../Doc/library/urllib.request.rst:748 msgid "This method will be called before any protocol-specific open method." msgstr "" +"Este método será invocado antes de cualquier método de apertura específico " +"de protocolo." #: ../Doc/library/urllib.request.rst:755 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to handle URLs with the given protocol." msgstr "" +"Este método no está definido en :class:`BaseHandler`, pero las subclases " +"deben definirlo si quieren manejar URLs con el protocolo dado." #: ../Doc/library/urllib.request.rst:758 msgid "" @@ -923,6 +1293,9 @@ msgid "" "`OpenerDirector`. Return values should be the same as for :meth:" "`default_open`." msgstr "" +"Este método, si está definido, será invocado por el :class:`OpenerDirector` " +"padre. Los valores retornados deben ser los mismos que para :meth:" +"`default_open`." #: ../Doc/library/urllib.request.rst:764 msgid "" @@ -930,6 +1303,9 @@ msgid "" "define it if they want to catch all URLs with no specific registered handler " "to open it." msgstr "" +"Este método *no* está definido en :class:`BaseHandler`, pero las subclases " +"deben definirlo si quieren cazar todas las URLs sin manejador registrado " +"para abrirlo." #: ../Doc/library/urllib.request.rst:768 msgid "" @@ -937,6 +1313,9 @@ msgid "" "`OpenerDirector`. Return values should be the same as for :meth:" "`default_open`." msgstr "" +"Este método, si está implementado, será invocado por el :attr:`parent` de :" +"class:`OpenerDirector`. Los valores retornados deben ser los mismos que " +"para :meth:`default_open`." #: ../Doc/library/urllib.request.rst:775 msgid "" @@ -946,6 +1325,11 @@ msgid "" "`OpenerDirector` getting the error, and should not normally be called in " "other circumstances." msgstr "" +"Este método *no* está definido en :class:`BaseHandler`, pero las subclases " +"deben sobreescribirlo si pretenden proporcionar una solución general para " +"los errores HTTP que de otro modo no se manejarían. Sería invocado " +"automáticamente por el :class:`OpenerDirector` obteniendo el error y no debe " +"ser invocado normalmente en otras circunstancias." #: ../Doc/library/urllib.request.rst:780 msgid "" @@ -954,12 +1338,18 @@ msgid "" "*msg* will be the user-visible explanation of the code and *hdrs* will be a " "mapping object with the headers of the error." msgstr "" +"*req* será un objeto :class:`Request`, *fp* será un objeto como archivo con " +"el cuerpo de error HTTP, *code* será el código de error de tres dígitos, " +"*msg* será la explicación visible para el usuario del código y *hdrs* será " +"un objeto de mapeo con los encabezados del error." #: ../Doc/library/urllib.request.rst:785 msgid "" "Return values and exceptions raised should be the same as those of :func:" "`urlopen`." msgstr "" +"Los valores de retorno y las excepciones generadas deben ser los mismos que " +"aquellos de :func:`urlopen`." #: ../Doc/library/urllib.request.rst:792 msgid "" @@ -967,22 +1357,31 @@ msgid "" "defined in :class:`BaseHandler`, but will be called, if it exists, on an " "instance of a subclass, when an HTTP error with code *nnn* occurs." msgstr "" +"*nnn* debe ser un código de error HTTP de tres dígitos. Este método tampoco " +"está definido en :class:`BaseHandler`, pero será invocado, si existe, en una " +"instancia de una subclase, cuando ocurra un error HTTP con código *nnn*." #: ../Doc/library/urllib.request.rst:796 msgid "Subclasses should override this method to handle specific HTTP errors." msgstr "" +"Las subclases deben sobrescribir este método para manejar errores HTTP " +"específicos." #: ../Doc/library/urllib.request.rst:798 msgid "" "Arguments, return values and exceptions raised should be the same as for :" "meth:`http_error_default`." msgstr "" +"Los argumentos, valores de retorno y las excepciones generadas deben ser las " +"mismas que para :meth:`http_error_default`." #: ../Doc/library/urllib.request.rst:806 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to pre-process requests of the given protocol." msgstr "" +"Este método *no* está definido en :class:`BaseHandler`, pero las subclases " +"deben definirlo si pretenden preprocesar peticiones del protocolo dado." #: ../Doc/library/urllib.request.rst:809 msgid "" @@ -990,12 +1389,17 @@ msgid "" "`OpenerDirector`. *req* will be a :class:`Request` object. The return value " "should be a :class:`Request` object." msgstr "" +"Este método, si está definido, será invocado por el :class:`OpenerDirector` " +"padre. *req* será un objeto :class:`Request`. El valor retornado debe ser un " +"objeto :class:`Request`." #: ../Doc/library/urllib.request.rst:818 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to post-process responses of the given protocol." msgstr "" +"Este método *no* está definido en :class:`BaseHandler`, pero las subclases " +"deben definirlo si quieren postprocesar respuestas del protocolo dado." #: ../Doc/library/urllib.request.rst:821 msgid "" @@ -1005,10 +1409,15 @@ msgid "" "`urlopen`. The return value should implement the same interface as the " "return value of :func:`urlopen`." msgstr "" +"Este método, si está definido, será invocado por el :class:`OpenerDirector` " +"padre. *req* será un objeto :class:`Request`. *response* será un objeto que " +"implementa la misma interfaz que el valor retornado de :func:`urlopen`. El " +"valor retornado debe implementar la misma interfaz que el valor retornado " +"de :func:`urlopen`." #: ../Doc/library/urllib.request.rst:831 msgid "HTTPRedirectHandler Objects" -msgstr "" +msgstr "Objetos HTTPRedirectHandler" #: ../Doc/library/urllib.request.rst:835 msgid "" @@ -1016,6 +1425,10 @@ msgid "" "this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616` " "for details of the precise meanings of the various redirection codes." msgstr "" +"Algunas redirecciones HTTP requieren acción desde el código del módulo del " +"cliente. Si este es el caso, se genera :exc:`~urllib.error.HTTPError`. Vea :" +"rfc:`2616` para más detalles de los significados precisos de los diferentes " +"códigos de redirección." #: ../Doc/library/urllib.request.rst:839 msgid "" @@ -1023,6 +1436,9 @@ msgid "" "HTTPRedirectHandler is presented with a redirected URL which is not an HTTP, " "HTTPS or FTP URL." msgstr "" +"Una excepción :class:`HTTPError` generada como consideración de seguridad si " +"el HTTPRedirectHandler se presenta con una URL redirigida la cual no es una " +"URL HTTP, HTTPS o FTP." #: ../Doc/library/urllib.request.rst:846 msgid "" @@ -1034,6 +1450,14 @@ msgid "" "exc:`~urllib.error.HTTPError` if no other handler should try to handle this " "URL, or return ``None`` if you can't but another handler might." msgstr "" +"Retorna un :class:`Request` o ``None`` en respuesta a una redirección. Esto " +"es invocado por las implementaciones predeterminadas de los métodos :meth:" +"`http_error_30\\*` cuando se recibe una redirección del servidor. Si puede " +"tomar lugar una redirección, retorna un nuevo :class:`Request` para permitir " +"a :meth:`http_error_30\\*` realizar la redirección a *newurl*. De otra " +"forma, genera :exc:`~urllib.error.HTTPError` si ningún otro manejador debe " +"intentar manejar esta URL, o retorna ``None`` si no tú pero otro manejador " +"puede." #: ../Doc/library/urllib.request.rst:856 msgid "" @@ -1043,6 +1467,12 @@ msgid "" "browsers do allow automatic redirection of these responses, changing the " "POST to a ``GET``, and the default implementation reproduces this behavior." msgstr "" +"La implementación predeterminada de este método no sigue estrictamente :rfc:" +"`2616`, la cual dice que las respuestas 301 y 302 a peticiones POST no deben " +"ser redirigidas automáticamente sin confirmación por el usuario. En " +"realidad, los navegadores permiten redirección automática de esas " +"respuestas, cambiando el POST a un ``GET`` y la implementación " +"predeterminada reproduce este comportamiento." #: ../Doc/library/urllib.request.rst:865 msgid "" @@ -1050,38 +1480,48 @@ msgid "" "parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " "response." msgstr "" +"Redirecciona a la URL ``Location:`` o ``URI:``. Este método es invocado por " +"el :class:`OpenerDirector` padre al obtener una respuesta HTTP 'moved " +"permanently'." #: ../Doc/library/urllib.request.rst:871 msgid "" "The same as :meth:`http_error_301`, but called for the 'found' response." msgstr "" +"Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta 'found'." #: ../Doc/library/urllib.request.rst:876 msgid "" "The same as :meth:`http_error_301`, but called for the 'see other' response." msgstr "" +"Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta 'see " +"other'." #: ../Doc/library/urllib.request.rst:881 msgid "" "The same as :meth:`http_error_301`, but called for the 'temporary redirect' " "response." msgstr "" +"Lo mismo que :meth:`http_error_301`, pero invocado para la respuesta " +"'temporary redirect'." #: ../Doc/library/urllib.request.rst:888 msgid "HTTPCookieProcessor Objects" -msgstr "" +msgstr "Objetos HTTPCookieProcessor" #: ../Doc/library/urllib.request.rst:890 msgid ":class:`HTTPCookieProcessor` instances have one attribute:" -msgstr "" +msgstr "Las instancias :class:`HTTPCookieProcessor` tienen un atributo:" #: ../Doc/library/urllib.request.rst:894 msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." msgstr "" +"El :class:`http.cookiejar.CookieJar` en el cual las cookies están " +"almacenadas." #: ../Doc/library/urllib.request.rst:900 msgid "ProxyHandler Objects" -msgstr "" +msgstr "Objetos ProxyHandler" #: ../Doc/library/urllib.request.rst:906 msgid "" @@ -1091,16 +1531,23 @@ msgid "" "calling ``request.set_proxy()``, and call the next handler in the chain to " "actually execute the protocol." msgstr "" +"El :class:`ProxyHandler` tendrá un método :meth:`_open` para cada " +"*protocol* el cual tiene un proxy en el diccionario *proxies* dado en el " +"constructor. El método modificará peticiones para ir a través del proxy, " +"invocando ``request.set_proxy()``, e invoca el siguiente manejador en la " +"cadena que ejecuta actualmente el protocolo." #: ../Doc/library/urllib.request.rst:916 msgid "HTTPPasswordMgr Objects" -msgstr "" +msgstr "Objetos HTTPPasswordMgr" #: ../Doc/library/urllib.request.rst:918 msgid "" "These methods are available on :class:`HTTPPasswordMgr` and :class:" "`HTTPPasswordMgrWithDefaultRealm` objects." msgstr "" +"Estos métodos están disponibles en los objetos :class:`HTTPPasswordMgr` y :" +"class:`HTTPPasswordMgrWithDefaultRealm`." #: ../Doc/library/urllib.request.rst:924 msgid "" @@ -1109,22 +1556,31 @@ msgid "" "authentication tokens when authentication for *realm* and a super-URI of any " "of the given URIs is given." msgstr "" +"*uri* puede ser una única URI o una secuencia de URIs. *realm*, *user* y " +"*passwd* deben ser cadenas. Esto causa que ``(user, passwd)`` se utilice " +"como tokens de autenticación cuando la autenticación para *realm* y para una " +"super URI de ninguna de las URIs dadas es provista." #: ../Doc/library/urllib.request.rst:932 msgid "" "Get user/password for given realm and URI, if any. This method will return " "``(None, None)`` if there is no matching user/password." msgstr "" +"Obtener usuario/contraseña para el reino y URI dados, si alguno ha sido " +"dado. Este método retornará ``(None, None)`` si no hay usuario/contraseña " +"concordante." #: ../Doc/library/urllib.request.rst:935 msgid "" "For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " "will be searched if the given *realm* has no matching user/password." msgstr "" +"Para objetos :class:`HTTPPasswordMgrWithDefaultRealm`, el reino ``None`` " +"será buscado si el *realm* dado no tiene usuario/contraseña concordante." #: ../Doc/library/urllib.request.rst:942 msgid "HTTPPasswordMgrWithPriorAuth Objects" -msgstr "" +msgstr "Objetos HTTPPasswordMgrWithPriorAuth" #: ../Doc/library/urllib.request.rst:944 msgid "" @@ -1132,6 +1588,9 @@ msgid "" "support tracking URIs for which authentication credentials should always be " "sent." msgstr "" +"Esta manejador de contraseña extiende :class:" +"`HTTPPasswordMgrWithDefaultRealm` para soportar el seguimiento de URIs para " +"las cuales deben ser enviadas siempre credenciales de autenticación." #: ../Doc/library/urllib.request.rst:951 msgid "" @@ -1140,24 +1599,31 @@ msgid "" "``is_authenticated`` flag for the given URI or list of URIs. If " "*is_authenticated* is specified as ``True``, *realm* is ignored." msgstr "" +"*realm*, *uri*, *user*, *passwd* son como para :meth:`HTTPPasswordMgr." +"add_password`. *is_authenticated* establece el valor inicial del indicador " +"``is_authenticated`` para la URI o lista de URIs dadas. Si se especifica " +"*is_authenticated* como ``True``, *realm* se ignora." #: ../Doc/library/urllib.request.rst:959 msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" -msgstr "" +msgstr "Lo mismo que para objetos :class:`HTTPPasswordMgrWithDefaultRealm`" #: ../Doc/library/urllib.request.rst:965 msgid "" "Update the ``is_authenticated`` flag for the given *uri* or list of URIs." msgstr "" +"Actualiza el indicador ``is_authenticated`` para la *uri* o lista de URIs " +"dadas." #: ../Doc/library/urllib.request.rst:971 msgid "" "Returns the current state of the ``is_authenticated`` flag for the given URI." msgstr "" +"Retorna el estado actual del indicador ``is_authenticated`` para la URI dada." #: ../Doc/library/urllib.request.rst:978 msgid "AbstractBasicAuthHandler Objects" -msgstr "" +msgstr "Objetos AbstractBasicAuthHandler" #: ../Doc/library/urllib.request.rst:983 msgid "" @@ -1167,6 +1633,11 @@ msgid "" "URL and path to authenticate for, *req* should be the (failed) :class:" "`Request` object, and *headers* should be the error headers." msgstr "" +"Maneja una autenticación de petición obteniendo un par usuario/contraseña y " +"reintentando la petición. *authreq* debe ser el nombre del encabezado donde " +"la información sobre el reino se incluye en la petición, *host* especifica " +"la URL y ruta para la cual autenticar, *req* debe ser el objeto :class:" +"`Request` (fallido) y *headers* deben ser los encabezados de error." #: ../Doc/library/urllib.request.rst:989 msgid "" @@ -1175,10 +1646,15 @@ msgid "" "the authority must not contain a userinfo component (so, ``\"python.org\"`` " "and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." msgstr "" +"*host* es una autoridad (ej. ``\"python.org\"``) o una URL conteniendo un " +"componente de autoridad (ej. ``\"http://python.org/\"``). En cualquier caso, " +"la autoridad no debe contener un componente userinfo (por lo que ``\"python." +"org\"`` y ``\"python.org:80\"`` están bien, ``\"joe:password@python.org\"`` " +"no)." #: ../Doc/library/urllib.request.rst:998 msgid "HTTPBasicAuthHandler Objects" -msgstr "" +msgstr "Objetos HTTPBasicAuthHandler" #: ../Doc/library/urllib.request.rst:1003 #: ../Doc/library/urllib.request.rst:1014 @@ -1186,14 +1662,16 @@ msgstr "" #: ../Doc/library/urllib.request.rst:1050 msgid "Retry the request with authentication information, if available." msgstr "" +"Reintenta la petición con la información de autenticación, si está " +"disponible." #: ../Doc/library/urllib.request.rst:1009 msgid "ProxyBasicAuthHandler Objects" -msgstr "" +msgstr "Objetos ProxyBasicAuthHandler" #: ../Doc/library/urllib.request.rst:1020 msgid "AbstractDigestAuthHandler Objects" -msgstr "" +msgstr "Objetos AbstractDigestAuthHandler" #: ../Doc/library/urllib.request.rst:1025 msgid "" @@ -1202,54 +1680,67 @@ msgid "" "to, *req* should be the (failed) :class:`Request` object, and *headers* " "should be the error headers." msgstr "" +"*authreq* debe ser el nombre del encabezado donde la información sobre el " +"reino está incluida en la petición, *host* debe ser el host al que " +"autenticar, *req* debe ser el objeto :class:`Request` (fallido) y *headers* " +"deben ser los encabezados de error." #: ../Doc/library/urllib.request.rst:1034 msgid "HTTPDigestAuthHandler Objects" -msgstr "" +msgstr "Objetos HTTPDigestAuthHandler" #: ../Doc/library/urllib.request.rst:1045 msgid "ProxyDigestAuthHandler Objects" -msgstr "" +msgstr "Objetos ProxyDigestAuthHandler" #: ../Doc/library/urllib.request.rst:1056 msgid "HTTPHandler Objects" -msgstr "" +msgstr "Objetos HTTPHandler" #: ../Doc/library/urllib.request.rst:1061 msgid "" "Send an HTTP request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" +"Envía una petición HTTP, que puede ser GET o POST, dependiendo de ``req." +"has_data()``." #: ../Doc/library/urllib.request.rst:1068 msgid "HTTPSHandler Objects" -msgstr "" +msgstr "Objetos HTTPSHandler" #: ../Doc/library/urllib.request.rst:1073 msgid "" "Send an HTTPS request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" +"Envía una petición HTTPS, que puede ser GET o POST, dependiendo de ``req." +"has_data()``." #: ../Doc/library/urllib.request.rst:1080 msgid "FileHandler Objects" -msgstr "" +msgstr "Objetos FileHandler" #: ../Doc/library/urllib.request.rst:1085 msgid "" "Open the file locally, if there is no host name, or the host name is " "``'localhost'``." msgstr "" +"Abre el archivo localmente, si no hay nombre de host, o el nombre de host es " +"``'localhost'``." #: ../Doc/library/urllib.request.rst:1088 msgid "" "This method is applicable only for local hostnames. When a remote hostname " "is given, an :exc:`~urllib.error.URLError` is raised." msgstr "" +"Este método es aplicable sólo para nombres de host locales. Cuando un nombre " +"de host remoto es dado, se genera una excepción :exc:`~urllib.error." +"URLError`." #: ../Doc/library/urllib.request.rst:1096 msgid "DataHandler Objects" -msgstr "" +msgstr "Objetos DataHandler" #: ../Doc/library/urllib.request.rst:1100 msgid "" @@ -1260,50 +1751,63 @@ msgid "" "mind about a missing padding at the end of a base64 encoded data URL, this " "implementation will raise an :exc:`ValueError` in that case." msgstr "" +"Lee una URL de datos. Este tipo de URL contiene el contenido codificado en " +"la URL misma. La sintaxis de la URL de datos se especifica en :rfc:`2397`. " +"Esta implementación ignora los espacios en blanco en datos codificados como " +"base64 así que la URL puede ser envuelta en cualquier archivo fuente del que " +"proviene. Pero a pesar de que a algunos navegadores no les importa si falta " +"relleno al final de una URL codificada como base64, esta implementación " +"generará un :exc:`ValueError` en este caso." #: ../Doc/library/urllib.request.rst:1111 msgid "FTPHandler Objects" -msgstr "" +msgstr "Objetos FTPHandler" #: ../Doc/library/urllib.request.rst:1116 msgid "" "Open the FTP file indicated by *req*. The login is always done with empty " "username and password." msgstr "" +"Abre el archivo FTP indicado por *req*. El inicio de sesión siempre se " +"realiza con un usuario y contraseña vacíos." #: ../Doc/library/urllib.request.rst:1123 msgid "CacheFTPHandler Objects" -msgstr "" +msgstr "Objetos CacheFTPHandler" #: ../Doc/library/urllib.request.rst:1125 msgid "" ":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " "following additional methods:" msgstr "" +"Los objetos :class:`CacheFTPHandler` son objetos :class:`FTPHandler` con los " +"siguientes métodos adicionales:" #: ../Doc/library/urllib.request.rst:1131 msgid "Set timeout of connections to *t* seconds." -msgstr "" +msgstr "Establece el tiempo de expiración de conexiones a *t* segundos." #: ../Doc/library/urllib.request.rst:1136 msgid "Set maximum number of cached connections to *m*." -msgstr "" +msgstr "Establece el número máximo de conexiones cacheadas a *m*." #: ../Doc/library/urllib.request.rst:1142 msgid "UnknownHandler Objects" -msgstr "" +msgstr "Objetos UnknownHandler" #: ../Doc/library/urllib.request.rst:1147 msgid "Raise a :exc:`~urllib.error.URLError` exception." -msgstr "" +msgstr "Genera una excepción :exc:`~urllib.error.URLError`." #: ../Doc/library/urllib.request.rst:1153 msgid "HTTPErrorProcessor Objects" -msgstr "" +msgstr "Objetos HTTPErrorProcessor" #: ../Doc/library/urllib.request.rst:1159 msgid "For 200 error codes, the response object is returned immediately." msgstr "" +"Para códigos de error que no están en el rango de los 200, el objeto de " +"respuesta es retornado inmediatamente." #: ../Doc/library/urllib.request.rst:1161 msgid "" @@ -1312,30 +1816,39 @@ msgid "" "Eventually, :class:`HTTPDefaultErrorHandler` will raise an :exc:`~urllib." "error.HTTPError` if no other handler handles the error." msgstr "" +"Para códigos de error que no están en el rango de los 200, esto simplemente " +"pasa el trabajo a los métodos del manejador :meth:`http_error_\\`, " +"mediante :meth:`OpenerDirector.error`. Eventualmente, :class:" +"`HTTPDefaultErrorHandler` generará un :exc:`~urllib.error.HTTPError` si " +"ningún otro manejador maneja el error." #: ../Doc/library/urllib.request.rst:1169 msgid "Process HTTPS error responses." -msgstr "" +msgstr "Procesa los errores HTTPS de las respuestas." #: ../Doc/library/urllib.request.rst:1171 msgid "The behavior is same as :meth:`http_response`." -msgstr "" +msgstr "Este comportamiento es el mismo que :meth:`http_response`." #: ../Doc/library/urllib.request.rst:1177 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/urllib.request.rst:1179 msgid "" "In addition to the examples below, more examples are given in :ref:`urllib-" "howto`." msgstr "" +"Adicionalmente a los ejemplos siguientes, se dan más ejemplos en :ref:" +"`urllib-howto`." #: ../Doc/library/urllib.request.rst:1182 msgid "" "This example gets the python.org main page and displays the first 300 bytes " "of it. ::" msgstr "" +"Este ejemplo obtiene la página principal python.org y despliega los primeros " +"300 bytes de ella. ::" #: ../Doc/library/urllib.request.rst:1195 msgid "" @@ -1345,6 +1858,11 @@ msgid "" "returned bytes object to string once it determines or guesses the " "appropriate encoding." msgstr "" +"Tenga en cuenta que urlopen retorna un objeto de bytes. Esto es porque no " +"hay forma para urlopen de determinar automáticamente la codificación del " +"flujo de bytes que recibe del servidor HTTP. En general, un programa " +"decodificará el objeto de bytes retornado a cadena de caracteres una vez que " +"determine o adivine la codificación apropiada." #: ../Doc/library/urllib.request.rst:1201 msgid "" @@ -1352,18 +1870,26 @@ msgid "" "lists the various ways in which an (X)HTML or an XML document could have " "specified its encoding information." msgstr "" +"El siguiente documento W3C, https://www.w3.org/International/O-charset\\ , " +"lista las diferentes formas en la cual un documento (X)HTML o XML podría " +"haber especificado su información de codificación." #: ../Doc/library/urllib.request.rst:1205 msgid "" "As the python.org website uses *utf-8* encoding as specified in its meta " "tag, we will use the same for decoding the bytes object. ::" msgstr "" +"Ya que el sitio web python.org usa codificación *utf-8* tal y como se " +"especifica en su etiqueta meta, usaremos la misma para decodificar el objeto " +"de bytes. ::" #: ../Doc/library/urllib.request.rst:1214 msgid "" "It is also possible to achieve the same result without using the :term:" "`context manager` approach. ::" msgstr "" +"Es posible conseguir el mismo resultado sin usar la aproximación :term:" +"`context manager`. ::" #: ../Doc/library/urllib.request.rst:1223 msgid "" @@ -1371,18 +1897,23 @@ msgid "" "and reading the data it returns to us. Note that this example will only work " "when the Python installation supports SSL. ::" msgstr "" +"En el siguiente ejemplo, estamos enviando un flujo de datos a la entrada " +"estándar de un CGI y leyendo los datos que nos retorna. Tenga en cuenta que " +"este ejemplo sólo funcionará cuando la instalación de Python soporte SSL. ::" #: ../Doc/library/urllib.request.rst:1235 msgid "The code for the sample CGI used in the above example is::" -msgstr "" +msgstr "El código para el CGI de muestra usado en el ejemplo anterior es::" #: ../Doc/library/urllib.request.rst:1242 msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" msgstr "" +"Aquí hay un ejemplo de realizar una petición ``PUT`` usando :class:" +"`Request`::" #: ../Doc/library/urllib.request.rst:1252 msgid "Use of Basic HTTP Authentication::" -msgstr "" +msgstr "Uso de Autenticación HTTP Básica::" #: ../Doc/library/urllib.request.rst:1266 msgid "" @@ -1392,6 +1923,11 @@ msgid "" "involved. For example, the :envvar:`http_proxy` environment variable is " "read to obtain the HTTP proxy's URL." msgstr "" +":func:`build_opener` proporciona muchos manejadores por defecto, incluyendo " +"un :class:`ProxyHandler`. De forma predeterminada, :class:`ProxyHandler` usa " +"las variables de entorno llamadas ``_proxy``, donde ```` es " +"el esquema URL involucrado. Por ejemplo, se lee la variable de entorno :" +"envvar:`http_proxy` para obtener la URL del proxy HTTP." #: ../Doc/library/urllib.request.rst:1272 msgid "" @@ -1399,20 +1935,25 @@ msgid "" "programmatically-supplied proxy URLs, and adds proxy authorization support " "with :class:`ProxyBasicAuthHandler`. ::" msgstr "" +"Este ejemplo reemplaza el :class:`ProxyHandler` predeterminado por uno que " +"usa URLs de proxy suministradas mediante programación y añade soporte de " +"autorización de proxy con :class:`ProxyBasicAuthHandler`. ::" #: ../Doc/library/urllib.request.rst:1284 msgid "Adding HTTP headers:" -msgstr "" +msgstr "Añadiendo encabezados HTTP:" #: ../Doc/library/urllib.request.rst:1286 msgid "Use the *headers* argument to the :class:`Request` constructor, or::" -msgstr "" +msgstr "Usa el argumento *headers* en el constructor de :class:`Request`, o::" #: ../Doc/library/urllib.request.rst:1295 msgid "" ":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " "to every :class:`Request`. To change this::" msgstr "" +":class:`OpenerDirector` añade automáticamente un encabezado :mailheader:" +"`User-Agent` a cada :class:`Request`. Para cambiar esto::" #: ../Doc/library/urllib.request.rst:1303 msgid "" @@ -1420,12 +1961,18 @@ msgid "" "mailheader:`Content-Type` and :mailheader:`Host`) are added when the :class:" "`Request` is passed to :func:`urlopen` (or :meth:`OpenerDirector.open`)." msgstr "" +"También, recuerda que algunos encabezados estándar (:mailheader:`Content-" +"Length`, :mailheader:`Content-Type` y :mailheader:`Host`) son añadidos " +"cuando se pasa :class:`Request` a :func:`urlopen` (o :meth:`OpenerDirector." +"open`)." #: ../Doc/library/urllib.request.rst:1310 msgid "" "Here is an example session that uses the ``GET`` method to retrieve a URL " "containing parameters::" msgstr "" +"Aquí hay un ejemplo de sesión que usa el método ``GET`` para obtener una URL " +"que contiene los parámetros::" #: ../Doc/library/urllib.request.rst:1321 msgid "" @@ -1433,22 +1980,29 @@ msgid "" "output from urlencode is encoded to bytes before it is sent to urlopen as " "data::" msgstr "" +"El siguiente ejemplo usa el método POST en su lugar. Tenga en cuenta que la " +"salida de parámetros desde urlencode es codificada a bytes antes de ser " +"enviados a urlopen como datos::" #: ../Doc/library/urllib.request.rst:1332 msgid "" "The following example uses an explicitly specified HTTP proxy, overriding " "environment settings::" msgstr "" +"El siguiente ejemplo usa un proxy HTTP especificado, sobrescribiendo las " +"configuraciones de entorno::" #: ../Doc/library/urllib.request.rst:1342 msgid "" "The following example uses no proxies at all, overriding environment " "settings::" msgstr "" +"El siguiente ejemplo no usa proxies, sobrescribiendo las variables de " +"entorno::" #: ../Doc/library/urllib.request.rst:1352 msgid "Legacy interface" -msgstr "" +msgstr "Interfaz heredada" #: ../Doc/library/urllib.request.rst:1354 msgid "" @@ -1456,6 +2010,9 @@ msgid "" "``urllib`` (as opposed to ``urllib2``). They might become deprecated at " "some point in the future." msgstr "" +"Las siguientes funciones y clases están portadas desde el módulo ``urllib`` " +"de Python 2 (en oposición a ``urllib2``). Ellas pueden estar obsoletas en " +"algún punto del futuro." #: ../Doc/library/urllib.request.rst:1360 msgid "" @@ -1466,6 +2023,13 @@ msgid "" "meth:`info` method of the object returned by :func:`urlopen` returned (for a " "remote object). Exceptions are the same as for :func:`urlopen`." msgstr "" +"Copia un objeto de red denotado por una URL a un archivo local. Si la URL " +"apunta a un archivo local, el objeto no será copiado a no ser que sea " +"suministrado un nombre de archivo. Retorna una tupla ``(filename, headers)`` " +"donde *filename* es el nombre de archivo local bajo el cual el objeto puede " +"ser encontrado y *headers* es lo que retorna el método :meth:`info` " +"retornado por :func:`urlopen` (para un objeto remoto). Las excepciones son " +"las mismas que para :func:`urlopen`." #: ../Doc/library/urllib.request.rst:1367 msgid "" @@ -1478,10 +2042,20 @@ msgid "" "The third argument may be ``-1`` on older FTP servers which do not return a " "file size in response to a retrieval request." msgstr "" +"El segundo argumento, si está presente, especifica la localización a la que " +"será copiada el objeto (si está ausente, la localización será un archivo " +"temporal con un nombre generado). El tercer argumento, si está presente, es " +"un objeto invocable que será invocado una vez que se establezca la conexión " +"de red y después de eso una vez después de cada lectura de bloque. Al " +"invocable se le pasarán tres argumentos; una cuenta de los bloques " +"transferidos hasta el momento, un tamaño de bloque en bytes y el tamaño " +"total del archivo. El tercer argumento puede ser ``-1`` en servidores FTP " +"antiguos los cuales no retornan un tamaño de archivo en respuesta a una " +"solicitud de recuperación." #: ../Doc/library/urllib.request.rst:1376 msgid "The following example illustrates the most common usage scenario::" -msgstr "" +msgstr "El siguiente ejemplo ilustra el escenario de uso más común::" #: ../Doc/library/urllib.request.rst:1383 msgid "" @@ -1491,6 +2065,11 @@ msgid "" "mimetype:`application/x-www-form-urlencoded` format; see the :func:`urllib." "parse.urlencode` function." msgstr "" +"Si la *url* usa el esquema de identificador :file:`http:`, el argumento " +"opcional *data* puede ser dado para especificar una petición ``POST`` " +"(normalmente el tipo de petición es ``GET``). El argumento *data* debe ser " +"un objeto de bytes en formato :mimetype:`application/x-www-form-urlencoded`; " +"vea la función :func:`urllib.parse.urlencode`." #: ../Doc/library/urllib.request.rst:1389 msgid "" @@ -1499,6 +2078,10 @@ msgid "" "is the size reported by a *Content-Length* header). This can occur, for " "example, when the download is interrupted." msgstr "" +":func:`urlretrieve` generará :exc:`ContentTooShortError` cuando detecte que " +"la cantidad de datos disponibles sea menor que la cantidad esperada (la cual " +"es el tamaño reportado por un encabezado *Content-Length*). Esto puede " +"ocurrir, por ejemplo, cuando se interrumpe la descarga." #: ../Doc/library/urllib.request.rst:1394 msgid "" @@ -1506,12 +2089,17 @@ msgid "" "read, urlretrieve reads more data, but if less data is available, it raises " "the exception." msgstr "" +"El *Content-Length* es tratado como un límite inferior: si no hay más datos " +"a leer, urlretrieve lee más datos, pero si están disponibles menos datos, se " +"genera la excepción." #: ../Doc/library/urllib.request.rst:1398 msgid "" "You can still retrieve the downloaded data in this case, it is stored in " "the :attr:`content` attribute of the exception instance." msgstr "" +"Puedes seguir obteniendo los datos descargados en este caso, son almacenados " +"en el atributo :attr:`content` de la instancia de la excepción." #: ../Doc/library/urllib.request.rst:1401 msgid "" @@ -1519,12 +2107,17 @@ msgid "" "size of the data it has downloaded, and just returns it. In this case you " "just have to assume that the download was successful." msgstr "" +"Si no fue proporcionado el encabezado *Content-Length*, urlretrieve no puede " +"comprobar el tamaño de los datos que han sido descargados, y sólo los " +"retorna. En este caso sólo tienes que asumir que la descarga fue exitosa." #: ../Doc/library/urllib.request.rst:1407 msgid "" "Cleans up temporary files that may have been left behind by previous calls " "to :func:`urlretrieve`." msgstr "" +"Limpia archivos temporales que pueden haber quedado tras llamadas anteriores " +"a :func:`urlretrieve`." #: ../Doc/library/urllib.request.rst:1414 msgid "" @@ -1532,6 +2125,9 @@ msgid "" "objects using schemes other than :file:`http:`, :file:`ftp:`, or :file:`file:" "`, you probably want to use :class:`FancyURLopener`." msgstr "" +"Clase base para apertura y lectura de URLs. A no ser que necesites soporte " +"de apertura de objetos usando esquemas diferentes a :file:`http:`, :file:" +"`ftp:` o :file:`file:`, probablemente quieras usar :class:`FancyURLopener`." #: ../Doc/library/urllib.request.rst:1418 msgid "" @@ -1542,6 +2138,12 @@ msgid "" "class attribute :attr:`version` to an appropriate string value in the " "subclass definition." msgstr "" +"Por defecto, la clase :class:`URLopener` envía un encabezado :mailheader:" +"`User-Agent` de ``urllib/VVV``, donde *VVV* es el número de versión :mod:" +"`urllib`. Las aplicaciones pueden definir su propio encabezado :mailheader:" +"`User-Agent` heredando de :class:`URLopener` o :class:`FancyURLopener` y " +"estableciendo el atributo de clase :attr:`version` a un valor de cadena de " +"caracteres apropiado en la definición de la subclase." #: ../Doc/library/urllib.request.rst:1424 msgid "" @@ -1550,6 +2152,11 @@ msgid "" "default value is ``None``, in which case environmental proxy settings will " "be used if present, as discussed in the definition of :func:`urlopen`, above." msgstr "" +"El parámetro opcional *proxies* debe ser un diccionario mapeando nombres de " +"esquemas a URLs de proxy, donde un diccionario vacío apaga los proxies " +"completamente. Su valor predeterminado es ``None``, en cuyo caso las " +"configuraciones de proxy del entorno serán usadas si están presentes, como " +"ha sido discutido en la definición de :func:`urlopen`, arriba." #: ../Doc/library/urllib.request.rst:1429 msgid "" @@ -1558,12 +2165,19 @@ msgid "" "keywords *key_file* and *cert_file* are supported to provide an SSL key and " "certificate; both are needed to support client authentication." msgstr "" +"Parámetros adicionales de palabra clave, recogidos en *x509*, pueden ser " +"usados por autenticación del cliente cuando usan el esquema :file:`https:`. " +"Las palabras claves *key_file* y *cert_file* están soportadas para proveer " +"una clave y certificado SSL; ambos son necesarias para soportar " +"autenticación de cliente." #: ../Doc/library/urllib.request.rst:1434 msgid "" ":class:`URLopener` objects will raise an :exc:`OSError` exception if the " "server returns an error code." msgstr "" +"Los objetos :class:`URLopener` generarán una excepción :exc:`OSError` si el " +"servidor retorna un código de error." #: ../Doc/library/urllib.request.rst:1439 msgid "" @@ -1573,14 +2187,21 @@ msgid "" "The *data* argument has the same meaning as the *data* argument of :func:" "`urlopen`." msgstr "" +"Abre *fullurl* usando el protocolo apropiado. Este método configura la " +"información de caché e información de proxy, entonces invoca el método " +"apropiado con sus argumentos de entrada. Si el esquema no está reconocido, " +"se invoca :meth:`open_unknown`. El argumento *data* tiene el mismo " +"significado que el argumento *data* de :func:`urlopen`." #: ../Doc/library/urllib.request.rst:1445 msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." msgstr "" +"Este método siempre entrecomilla *fullurl* usando :func:`~urllib.parse." +"quote`." #: ../Doc/library/urllib.request.rst:1449 msgid "Overridable interface to open unknown URL types." -msgstr "" +msgstr "Interfaz sobrescribible para abrir tipos de URL desconocidos." #: ../Doc/library/urllib.request.rst:1454 msgid "" @@ -1598,6 +2219,20 @@ msgid "" "once at the start and after each chunk of data is read from the network. " "*reporthook* is ignored for local URLs." msgstr "" +"Obtiene el contenido de *url* y lo coloca en *filename*. El valor retornado " +"es una tupla que consiste de un nombre de archivo local y un objeto :class:" +"`email.message.Message` conteniendo los encabezados de respuesta (para URLs " +"remotas) o ``None`` (para URLs locales). El invocador debe entonces abrir y " +"leer los contenidos de *filename*. Si *filename* no está dado y la URL " +"refiere a un archivo local, se retorna el nombre de archivo de entrada. Si " +"la URL no es local y no se da *filename*, el nombre de archivo es la salida " +"de la función :func:`tempfile.mktemp` con un sufijo que concuerda con el " +"sufijo del último componente de la ruta de la URL de entrada. Si se da " +"*reporthook*, debe ser una función que acepte tres parámetros numéricos: Un " +"número de fragmento, se leen los fragmentos de tamaño máximo y el tamaño " +"total de la descarga (-1 si es desconocida). Será invocada una vez al " +"comienzo y después de que cada fragmento de datos sea leído de la red. " +"*reporthook* es ignorado para URLs locales." #: ../Doc/library/urllib.request.rst:1467 msgid "" @@ -1607,6 +2242,11 @@ msgid "" "`application/x-www-form-urlencoded` format; see the :func:`urllib.parse." "urlencode` function." msgstr "" +"Si la *url* usa el identificador de esquema :file:`http:`, el argumento " +"opcional *data* puede ser dado para especificar una petición ``POST`` " +"(normalmente el tipo de petición es ``GET``). El argumento *data* debe estar " +"en formato estándar :mimetype:`application/x-www-form-urlencoded`; vea la " +"función :func:`urllib.parse.urlencode`." #: ../Doc/library/urllib.request.rst:1476 msgid "" @@ -1615,6 +2255,10 @@ msgid "" "subclass as a class variable or in the constructor before calling the base " "constructor." msgstr "" +"Variable que especifica el agente de usuario del objeto abridor. Para " +"obtener :mod:`urllib` para decir a los servidores que es un agente de " +"usuario particular, establece esto en una subclase como una variable de " +"clase o en el constructor antes de invocar el constructor base." #: ../Doc/library/urllib.request.rst:1486 msgid "" @@ -1626,6 +2270,13 @@ msgid "" "codes, recursion is bounded by the value of the *maxtries* attribute, which " "defaults to 10." msgstr "" +":class:`FancyURLopener` hereda de :class:`URLopener` proveyendo manejo " +"predeterminado para los siguientes códigos de respuesta HTTP: 301, 302, 303, " +"307 y 401. Para los códigos de respuesta 30x listados anteriormente, se usa " +"el encabezado :mailheader:`Location` para obtener la URL actual. Para " +"códigos de respuesta 401 (autenticación requerida), se realiza autenticación " +"HTTP. Para los códigos de respuesta 30x, la recursión está limitada por el " +"valor del atributo *maxentries*, el cual por defecto es 10." #: ../Doc/library/urllib.request.rst:1493 msgid "" @@ -1633,6 +2284,9 @@ msgid "" "called which you can override in subclasses to handle the error " "appropriately." msgstr "" +"Para todos los demás códigos de respuesta, se invoca al método :meth:" +"`http_error_default`, que puede sobrescribir en subclases para manejar el " +"error de manera adecuada." #: ../Doc/library/urllib.request.rst:1498 msgid "" @@ -1642,12 +2296,19 @@ msgid "" "responses, changing the POST to a GET, and :mod:`urllib` reproduces this " "behaviour." msgstr "" +"De acuerdo a la carta de :rfc:`2616`, las respuestas a las peticiones POST " +"301 y 302 no debe ser redireccionadas automáticamente sin confirmación por " +"el usuario. En realidad, los navegadores permiten redirección automática de " +"esas respuestas, cambiando de POST a GET, y :mod:`urllib` reproduce este " +"comportamiento." #: ../Doc/library/urllib.request.rst:1503 msgid "" "The parameters to the constructor are the same as those for :class:" "`URLopener`." msgstr "" +"Los parámetros del constructor son el mismo que aquellos para :class:" +"`URLopener`." #: ../Doc/library/urllib.request.rst:1507 msgid "" @@ -1657,12 +2318,19 @@ msgid "" "subclass may override this method to support more appropriate behavior if " "needed." msgstr "" +"Cuando se realiza autenticación básica, una instancia :class:" +"`FancyURLopener` invoca a su método :meth:`prompt_user_passwd`. La " +"implementación predeterminada pregunta a los usuarios la información " +"requerida en la terminal de control. Una subclase puede sobrescribir este " +"método para soportar un comportamiento más apropiado si se necesita." #: ../Doc/library/urllib.request.rst:1512 msgid "" "The :class:`FancyURLopener` class offers one additional method that should " "be overloaded to provide the appropriate behavior:" msgstr "" +"La clase :class:`FancyURLopener` ofrece un método adicional que debe ser " +"sobrecargado para proveer el comportamiento apropiado:" #: ../Doc/library/urllib.request.rst:1517 msgid "" @@ -1670,6 +2338,9 @@ msgid "" "specified security realm. The return value should be a tuple, ``(user, " "password)``, which can be used for basic authentication." msgstr "" +"Retorna la información necesaria para autenticar el usuario en el host dado " +"en el reino de seguridad especificado. El valor retornado debe ser una tupla " +"``(user, password)``, la cual puede ser usada para autenticación básica." #: ../Doc/library/urllib.request.rst:1521 msgid "" @@ -1677,31 +2348,41 @@ msgid "" "application should override this method to use an appropriate interaction " "model in the local environment." msgstr "" +"La implementación solicita esta información en el terminal; una aplicación " +"debe sobrescribir este método para usar un modelo de interacción apropiado " +"en el entorno local." #: ../Doc/library/urllib.request.rst:1527 msgid ":mod:`urllib.request` Restrictions" -msgstr "" +msgstr "Restricciones :mod:`urllib.request`" #: ../Doc/library/urllib.request.rst:1533 msgid "" "Currently, only the following protocols are supported: HTTP (versions 0.9 " "and 1.0), FTP, local files, and data URLs." msgstr "" +"Actualmente, sólo uno de los siguientes protocolo están soportados: HTTP " +"(versiones 0.9 y 1.0), FTP, archivos locales y URLs de datos." #: ../Doc/library/urllib.request.rst:1536 msgid "Added support for data URLs." -msgstr "" +msgstr "Añadido soporte para URLs de datos." #: ../Doc/library/urllib.request.rst:1538 msgid "" "The caching feature of :func:`urlretrieve` has been disabled until someone " "finds the time to hack proper processing of Expiration time headers." msgstr "" +"La característica de caché de :func:`urlretrieve` ha sido deshabilitada " +"hasta que alguien encuentre el tiempo para hackear el procesamiento adecuado " +"de los encabezados de tiempo de Expiración." #: ../Doc/library/urllib.request.rst:1541 msgid "" "There should be a function to query whether a particular URL is in the cache." msgstr "" +"Debería haber una función para consultar si una URL en particular está en la " +"caché." #: ../Doc/library/urllib.request.rst:1543 msgid "" @@ -1709,6 +2390,10 @@ msgid "" "the file can't be opened, the URL is re-interpreted using the FTP protocol. " "This can sometimes cause confusing error messages." msgstr "" +"Para compatibilidad con versiones anteriores, si una URL parece apuntar a un " +"archivo local pero el archivo no puede ser abierto, la URL es reinterpretada " +"usando el protocolo FTP. Esto a veces puede causar mensajes de error " +"confusos." #: ../Doc/library/urllib.request.rst:1547 msgid "" @@ -1717,6 +2402,10 @@ msgid "" "that it is difficult to build an interactive Web client using these " "functions without using threads." msgstr "" +"Las funciones :func:`urlopen` y :func:`urlretrieve` pueden causar retrasos " +"arbitrariamente largos mientras esperan a que se configure una conexión de " +"red. Esto significa que es difícil construir un cliente Web interactivo " +"usando estas funciones sin utilizar hilos." #: ../Doc/library/urllib.request.rst:1556 msgid "" @@ -1727,6 +2416,13 @@ msgid "" "`Content-Type` header. If the returned data is HTML, you can use the " "module :mod:`html.parser` to parse it." msgstr "" +"Los datos retornados por :func:`urlopen` o :func:`urlretrieve` son los datos " +"en crudo retornados por el servidor. Estos pueden ser datos binarios (como " +"una imagen), texto plano o (por ejemplo) HTML. El protocolo HTTP provee " +"información de tipo en el encabezado de respuesta, el cual puede ser " +"inspeccionado mirando el encabezado :mailheader:`Content-Type`. Si los datos " +"retornados son HTML, puedes usar el módulo :mod:`html.parser` para " +"analizarlos." #: ../Doc/library/urllib.request.rst:1565 msgid "" @@ -1745,10 +2441,25 @@ msgid "" "module, subclassing :class:`FancyURLopener`, or changing *_urlopener* to " "meet your needs." msgstr "" +"El código que maneja el protocolo FTP no puede diferenciar entre un archivo " +"y un directorio. Esto puede llevar a un comportamiento inesperado cuando se " +"intenta leer una URL que apunta a un archivo que no es accesible. Si la URL " +"termina en un ``/``, se asume que se refiere a un directorio y será manejada " +"acordemente. Pero si un intento de leer un archivo lleva a un error 550 (lo " +"que significa que la URL no puede ser encontrada o no es accesible, a menudo " +"por razones de permisos), entonces se trata la ruta como un directorio para " +"manejar el caso cuando un directorio es especificado por una URL pero el ``/" +"`` trasero ha sido dejado fuera. Esto puede causar resultados erróneos " +"cuando intenta obtener un archivo cuyos permisos de lectura lo hacen " +"inaccesible; el código FTP intentará leerlo, fallará con un error 550 y " +"entonces realizará un listado de directorio para el archivo ilegible. Si se " +"necesita un control más detallado, considere usar el módulo :mod:`ftplib`, " +"heredando :class:`FancyURLopener` o cambiando *_urlopener* para ajustarlo a " +"tus necesidades." #: ../Doc/library/urllib.request.rst:1582 msgid ":mod:`urllib.response` --- Response classes used by urllib" -msgstr "" +msgstr ":mod:`urllib.response` --- Clases de respuesta usadas por urllib" #: ../Doc/library/urllib.request.rst:1587 msgid "" @@ -1759,3 +2470,9 @@ msgid "" "returns the url. Functions defined by this module are used internally by " "the :mod:`urllib.request` module." msgstr "" +"El módulo :mod:`urllib.response` define funciones y clases las cuales " +"definen una interfaz mínima como objeto de archivo, incluyendo ``read()`` y " +"``readline()``. El objeto de respuesta típico es una instancia addinfourl, " +"la cual define un método ``info()`` y este retorna encabezados y un método " +"``geturl()`` que retorna la url. Las funciones definidas por este módulo son " +"usadas internamente por el módulo :mod:`urllib.request`." From 7201b7ef21117cfeee2c66d902179ac5a1b0dda7 Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Wed, 20 Jan 2021 21:36:25 +0100 Subject: [PATCH 130/153] Agregando dos palabras faltantes --- dictionaries/library_turtle.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dictionaries/library_turtle.txt b/dictionaries/library_turtle.txt index bbd9b2753e..605d28be49 100644 --- a/dictionaries/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -72,3 +72,5 @@ Hilbert Koch nim docstringdict +aperiódico +gravitacional From bda7d3dc76c335a41d89b70ba77f794eafe17c16 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Thu, 21 Jan 2021 18:40:02 -0300 Subject: [PATCH 131/153] Traduccion library/faulthandler.po (#1209) --- TRANSLATORS | 1 + dictionaries/library_faulthandler.txt | 1 + library/faulthandler.po | 110 +++++++++++++++++++++----- 3 files changed, 91 insertions(+), 21 deletions(-) create mode 100644 dictionaries/library_faulthandler.txt diff --git a/TRANSLATORS b/TRANSLATORS index 0416833b0c..b241ec2f60 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -139,3 +139,4 @@ Victor Carlos (@tuxtitlan) Ignacio Sanz (@elnaquete) Jaime Rodrigo González Rodríguez (@jairock282) Martín Ramírez (@tinchoram) +Kevin Cajachuán (@Kajachuan) \ No newline at end of file diff --git a/dictionaries/library_faulthandler.txt b/dictionaries/library_faulthandler.txt new file mode 100644 index 0000000000..54a4aec7cd --- /dev/null +++ b/dictionaries/library_faulthandler.txt @@ -0,0 +1 @@ +Apport \ No newline at end of file diff --git a/library/faulthandler.po b/library/faulthandler.po index 4b64cc791f..ed71013603 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -6,23 +6,25 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-21 17:10-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.4.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" #: ../Doc/library/faulthandler.rst:2 msgid ":mod:`faulthandler` --- Dump the Python traceback" -msgstr "" +msgstr ":mod:`faulthandler` --- Volcar el rastreo de Python" #: ../Doc/library/faulthandler.rst:11 msgid "" @@ -34,6 +36,13 @@ msgid "" "`PYTHONFAULTHANDLER` environment variable or by using the :option:`-X` " "``faulthandler`` command line option." msgstr "" +"Este módulo contiene funciones para volcar los rastreos de Python " +"explícitamente, en un fallo, después de un tiempo de espera o en una señal " +"del usuario. Llame a :func:`faulthandler.enable` para instalar los gestores " +"de fallos para las señales :const:`SIGSEGV`, :const:`SIGFPE`, :const:" +"`SIGABRT`, :const:`SIGBUS`, y :const:`SIGILL`. También puede activarlos al " +"inicio estableciendo la variable de entorno :envvar:`PYTHONFAULTHANDLER` o " +"usando la opción de línea de comandos :option:`-X` ``faulthandler``." #: ../Doc/library/faulthandler.rst:18 msgid "" @@ -42,6 +51,11 @@ msgid "" "handlers if the :c:func:`sigaltstack` function is available. This allows it " "to dump the traceback even on a stack overflow." msgstr "" +"El gestor de fallos es compatible con el gestor de fallos del sistema como " +"Apport o el gestor de fallos de Windows. El módulo utiliza una pila " +"alternativa para los gestores de señales si la función :c:func:`sigaltstack` " +"está disponible. Esto le permite volcar el rastreo incluso en un " +"desbordamiento de pila." #: ../Doc/library/faulthandler.rst:23 msgid "" @@ -50,30 +64,38 @@ msgid "" "of this limitation traceback dumping is minimal compared to normal Python " "tracebacks:" msgstr "" +"El gestor de fallos se llama en casos catastróficos y, por lo tanto, solo " +"puede utilizar funciones seguras en señales (por ejemplo, no puede asignar " +"memoria en el *heap*). Debido a esta limitación, el volcado del rastreo es " +"mínimo comparado a los rastreos normales de Python:" #: ../Doc/library/faulthandler.rst:28 msgid "" "Only ASCII is supported. The ``backslashreplace`` error handler is used on " "encoding." msgstr "" +"Solo se soporta ASCII. El gestor de errores ``backslashreplace`` se utiliza " +"en la codificación." #: ../Doc/library/faulthandler.rst:30 msgid "Each string is limited to 500 characters." -msgstr "" +msgstr "Cada cadena de caracteres está limitada a 500 caracteres." #: ../Doc/library/faulthandler.rst:31 msgid "" "Only the filename, the function name and the line number are displayed. (no " "source code)" msgstr "" +"Solo se muestran el nombre de archivo, el nombre de la función y el número " +"de línea. (sin código fuente)" #: ../Doc/library/faulthandler.rst:33 msgid "It is limited to 100 frames and 100 threads." -msgstr "" +msgstr "Está limitado a 100 *frames* y 100 hilos." #: ../Doc/library/faulthandler.rst:34 msgid "The order is reversed: the most recent call is shown first." -msgstr "" +msgstr "El orden se invierte: la llamada más reciente se muestra primero." #: ../Doc/library/faulthandler.rst:36 msgid "" @@ -81,31 +103,39 @@ msgid "" "tracebacks, applications must be run in the terminal. A log file can " "alternatively be passed to :func:`faulthandler.enable`." msgstr "" +"Por defecto, el rastreo de Python se escribe en :data:`sys.stderr`. Para ver " +"los rastreos, las aplicaciones deben ejecutarse en la terminal. " +"Alternativamente se puede pasar un archivo de registro a :func:`faulthandler." +"enable`." #: ../Doc/library/faulthandler.rst:40 msgid "" "The module is implemented in C, so tracebacks can be dumped on a crash or " "when Python is deadlocked." msgstr "" +"El módulo está implementado en C, así los rastreos se pueden volcar en un " +"fallo o cuando Python está en bloqueo mutuo." #: ../Doc/library/faulthandler.rst:45 msgid "Dumping the traceback" -msgstr "" +msgstr "Volcar el rastreo" #: ../Doc/library/faulthandler.rst:49 msgid "" "Dump the tracebacks of all threads into *file*. If *all_threads* is " "``False``, dump only the current thread." msgstr "" +"Vuelca los rastreos de todos los hilos en el archivo *file*. Si " +"*all_threads* es ``False``, vuelca solo el hilo actual." #: ../Doc/library/faulthandler.rst:52 ../Doc/library/faulthandler.rst:70 #: ../Doc/library/faulthandler.rst:108 ../Doc/library/faulthandler.rst:130 msgid "Added support for passing file descriptor to this function." -msgstr "" +msgstr "Se añadió soporte para pasar el descriptor de archivo a esta función." #: ../Doc/library/faulthandler.rst:57 msgid "Fault handler state" -msgstr "" +msgstr "Estado del gestor de fallos" #: ../Doc/library/faulthandler.rst:61 msgid "" @@ -114,30 +144,39 @@ msgid "" "dump the Python traceback. If *all_threads* is ``True``, produce tracebacks " "for every running thread. Otherwise, dump only the current thread." msgstr "" +"Activa el gestor de fallos: instala gestores para las señales :const:" +"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` y :const:" +"`SIGILL` para volcar el rastreo de Python. Si *all_threads* es ``True``, " +"produce rastreos por cada hilo activo. De lo contrario, vuelca solo el hilo " +"actual." #: ../Doc/library/faulthandler.rst:67 msgid "" "The *file* must be kept open until the fault handler is disabled: see :ref:" "`issue with file descriptors `." msgstr "" +"El archivo *file* se debe mantener abierto hasta que se desactive el gestor " +"de fallos: ver :ref:`problema con descriptores de archivo `." #: ../Doc/library/faulthandler.rst:73 msgid "On Windows, a handler for Windows exception is also installed." -msgstr "" +msgstr "En Windows, también se instaló un gestor para la excepción de Windows." #: ../Doc/library/faulthandler.rst:78 msgid "" "Disable the fault handler: uninstall the signal handlers installed by :func:" "`enable`." msgstr "" +"Desactiva el gestor de fallos: desinstala los gestores de señales instalados " +"por :func:`enable`." #: ../Doc/library/faulthandler.rst:83 msgid "Check if the fault handler is enabled." -msgstr "" +msgstr "Comprueba si el gestor de fallos está activado." #: ../Doc/library/faulthandler.rst:87 msgid "Dumping the tracebacks after a timeout" -msgstr "" +msgstr "Volcar los rastreos después de un tiempo de espera" #: ../Doc/library/faulthandler.rst:91 msgid "" @@ -149,6 +188,14 @@ msgid "" "new call replaces previous parameters and resets the timeout. The timer has " "a sub-second resolution." msgstr "" +"Vuelca los rastreos de todos los hilos, después de un tiempo de espera de " +"*timeout* segundos, o cada *timeout* segundos si *repeat* es ``True``. Si " +"*exit* es ``True``, llama a :c:func:`_exit` con status=1 después de volcar " +"los rastreos. (Nota: :c:func:`_exit` termina el proceso inmediatamente, lo " +"que significa que no hace ninguna limpieza como vaciar los buffers de " +"archivos.) Si la función se llama dos veces, la nueva llamada reemplaza los " +"parámetros previos y reinicia el tiempo de espera. El temporizador tiene una " +"resolución de menos de un segundo." #: ../Doc/library/faulthandler.rst:99 msgid "" @@ -156,22 +203,25 @@ msgid "" "`cancel_dump_traceback_later` is called: see :ref:`issue with file " "descriptors `." msgstr "" +"El archivo *file* se debe mantener abierto hasta que se vuelque el rastreo o " +"se llame a :func:`cancel_dump_traceback_later`: ver :ref:`problema con " +"descriptores de archivo `." #: ../Doc/library/faulthandler.rst:103 msgid "This function is implemented using a watchdog thread." -msgstr "" +msgstr "Esta función está implementada utilizando un hilo vigilante." #: ../Doc/library/faulthandler.rst:105 msgid "This function is now always available." -msgstr "" +msgstr "Ahora esta función está siempre disponible." #: ../Doc/library/faulthandler.rst:113 msgid "Cancel the last call to :func:`dump_traceback_later`." -msgstr "" +msgstr "Cancela la última llamada a :func:`dump_traceback_later`." #: ../Doc/library/faulthandler.rst:117 msgid "Dumping the traceback on a user signal" -msgstr "" +msgstr "Volcar el rastreo en una señal del usuario" #: ../Doc/library/faulthandler.rst:121 msgid "" @@ -179,16 +229,23 @@ msgid "" "the traceback of all threads, or of the current thread if *all_threads* is " "``False``, into *file*. Call the previous handler if chain is ``True``." msgstr "" +"Registra una señal del usuario: instala un gestor para la señal *signum* " +"para volcar el rastreo de todos los hilos, o del hilo actual si " +"*all_threads* es ``False``, en el archivo *file*. Llama al gestor previo si " +"*chain* es ``True``." #: ../Doc/library/faulthandler.rst:125 msgid "" "The *file* must be kept open until the signal is unregistered by :func:" "`unregister`: see :ref:`issue with file descriptors `." msgstr "" +"El archivo *file* se debe mantener abierto hasta que la señal sea anulada " +"por :func:`unregister`: ver :ref:`problema con descriptores de archivo " +"`." #: ../Doc/library/faulthandler.rst:128 ../Doc/library/faulthandler.rst:139 msgid "Not available on Windows." -msgstr "" +msgstr "No está disponible en Windows." #: ../Doc/library/faulthandler.rst:135 msgid "" @@ -196,10 +253,13 @@ msgid "" "installed by :func:`register`. Return ``True`` if the signal was registered, " "``False`` otherwise." msgstr "" +"Anula una señal del usuario: desinstala el gestor de la señal *signum* " +"instalada por :func:`register`. Retorna ``True`` si la señal fue registrada, " +"``False`` en otro caso." #: ../Doc/library/faulthandler.rst:145 msgid "Issue with file descriptors" -msgstr "" +msgstr "Problema con descriptores de archivo" #: ../Doc/library/faulthandler.rst:147 msgid "" @@ -209,13 +269,21 @@ msgid "" "the file descriptor, the traceback will be written into a different file. " "Call these functions again each time that the file is replaced." msgstr "" +":func:`enable`, :func:`dump_traceback_later` y :func:`register` guardan el " +"descriptor de archivo de su argumento *file*. Si se cierra el archivo y su " +"descriptor de archivo es reutilizado por un nuevo archivo, o si se usa :func:" +"`os.dup2` para reemplazar el descriptor de archivo, el rastreo se escribirá " +"en un archivo diferente. Llame a estas funciones nuevamente cada vez que se " +"reemplace el archivo." #: ../Doc/library/faulthandler.rst:155 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/faulthandler.rst:157 msgid "" "Example of a segmentation fault on Linux with and without enabling the fault " "handler:" msgstr "" +"Ejemplo de un fallo de segmentación en Linux con y sin activar el gestor de " +"fallos:" From e5d85805b434058a44cfb7f021bf9f6e7a313f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 22 Jan 2021 14:15:13 +0100 Subject: [PATCH 132/153] Apply suggestions from code review Co-authored-by: Emmanuel Arias --- library/turtle.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 533686d8b5..cd1d1877ad 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -134,7 +134,7 @@ msgstr "" "La función :func:`Screen` devuelve un objeto *singleton* de la subclase :" "class:`TurtleScreen`. Esta función debe utilizarse cuando :mod:`turtle` se " "usa como una herramienta independiente para hacer gráficos. Siendo un objeto " -"*singleton*, no es posible que tenga herencias de su clase." +"singleton, no es posible que tenga herencias de su clase." #: ../Doc/library/turtle.rst:68 msgid "" @@ -172,7 +172,7 @@ msgid "" "procedure-oriented interface." msgstr "" "Todos los métodos de *RawTurtle/Turtle* también existen como funciones. Por " -"ejemplo. como parte de la interface orientada a procedimientos." +"ejemplo, como parte de la interface orientada a procedimientos." #: ../Doc/library/turtle.rst:82 msgid "" @@ -210,15 +210,15 @@ msgstr "" #: ../Doc/library/turtle.rst:98 msgid "Overview of available Turtle and Screen methods" -msgstr "Reseña de los métodos disponibles para *Turtle* y *Screen*" +msgstr "Reseña de los métodos disponibles para Turtle y *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" -msgstr "Métodos *Turtle*" +msgstr "Métodos Turtle" #: ../Doc/library/turtle.rst:132 ../Doc/library/turtle.rst:242 msgid "Turtle motion" -msgstr "Movimiento de la tortuga" +msgstr "Movimiento de Turtle" #: ../Doc/library/turtle.rst:120 msgid "Move and draw" @@ -687,7 +687,7 @@ msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" -"Mover hacia adelante la la tortuga la *ditancia* especificada, en la " +"Mover hacia adelante la tortuga la *ditance* especificada, en la " "dirección en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 @@ -732,7 +732,7 @@ msgstr "un número o un par/vector de números" #: ../Doc/library/turtle.rst:344 msgid "a number or ``None``" -msgstr "un número o ` None``" +msgstr "un número o ``None``" #: ../Doc/library/turtle.rst:346 msgid "" @@ -854,7 +854,7 @@ msgid "" "automatically. May be used to draw regular polygons." msgstr "" "Como el círculo se aproxima a un polígono regular inscripto, *steps* " -"determina el número de pasos a usar. SI no se da, será calculado " +"determina el número de pasos a usar. Si no se da, será calculado " "automáticamente. Puede ser usado para dibujar polígonos regulares." #: ../Doc/library/turtle.rst:511 @@ -1046,7 +1046,7 @@ msgstr "Baja el lápiz -- dibuja mientras se mueve." #: ../Doc/library/turtle.rst:811 msgid "Pull the pen up -- no drawing when moving." -msgstr "Sube el lápiz -- no dibuja mientras se mueve." +msgstr "Levanta el lápiz -- no dibuja mientras se mueve." #: ../Doc/library/turtle.rst:817 msgid "a positive number" @@ -1336,7 +1336,7 @@ msgstr "Ver también: Método *Screeen* :func:`colormode`." #: ../Doc/library/turtle.rst:1032 msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "Devuelve *fillstate* (``True`` si está lleno, sino``False``)." +msgstr "Devuelve *fillstate* (``True`` si está lleno, sino ``False``)." #: ../Doc/library/turtle.rst:1047 msgid "To be called just before drawing a shape to be filled." @@ -1389,11 +1389,11 @@ msgstr "True/False" #: ../Doc/library/turtle.rst:1102 msgid "one of the strings \"left\", \"center\" or right\"" -msgstr "una de las frases *\"left*, *center* o *right\"*" +msgstr "una de las frases \"*left*\", \"*center*\" o \"*right*\"" #: ../Doc/library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" -msgstr "un trió (nombre de fuente, tamaño de fuente, tipo de fuente)" +msgstr "un trio (nombre de fuente, tamaño de fuente, tipo de fuente)" #: ../Doc/library/turtle.rst:1105 msgid "" From 67f004ebfd9c690bfbe54909573f76514ca1caaa Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Mon, 1 Feb 2021 16:09:04 -0300 Subject: [PATCH 133/153] Traducido archivo library/hmac (#1211) --- dictionaries/library_hmac.txt | 1 + library/hmac.po | 83 +++++++++++++++++++++++++++++------ 2 files changed, 71 insertions(+), 13 deletions(-) create mode 100644 dictionaries/library_hmac.txt diff --git a/dictionaries/library_hmac.txt b/dictionaries/library_hmac.txt new file mode 100644 index 0000000000..3da1616170 --- /dev/null +++ b/dictionaries/library_hmac.txt @@ -0,0 +1 @@ +hmac \ No newline at end of file diff --git a/library/hmac.po b/library/hmac.po index 83041c7df9..9c2382b388 100644 --- a/library/hmac.po +++ b/library/hmac.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: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-01-29 17:45-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.4.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" -msgstr "" +msgstr ":mod:`hmac` --- *Hash* con clave para autenticación de mensajes" #: ../Doc/library/hmac.rst:10 msgid "**Source code:** :source:`Lib/hmac.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/hmac.py`" #: ../Doc/library/hmac.rst:14 msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." msgstr "" +"Este módulo implementa el algoritmo HMAC como se describe en la :rfc:`2104`." #: ../Doc/library/hmac.rst:19 msgid "" @@ -40,6 +43,12 @@ msgid "" "object to use. It may be any name suitable to :func:`hashlib.new`. Despite " "its argument position, it is required." msgstr "" +"Retorna un nuevo objeto hmac. *key* es un objeto *bytes* o *bytearray* que " +"proporciona la clave secreta. Si *msg* está presente, se realiza la llamada " +"al método ``update(msg)``. *digestmod* es el nombre del resumen, constructor " +"o módulo del resumen para el objeto HMAC que se va a usar. Puede ser " +"cualquier nombre adecuado para :func:`hashlib.new`. Se requiere este " +"argumento a pesar de su posición." #: ../Doc/library/hmac.rst:25 msgid "" @@ -47,6 +56,9 @@ msgid "" "of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the " "name of a hash algorithm." msgstr "" +"El parámetro *key* puede ser un objeto *bytes* o *bytearray*. El parámetro " +"*msg* puede ser de cualquier tipo soportado por :mod:`hashlib`. El parámetro " +"*digestmod* puede ser el nombre del algoritmo de *hash*." #: ../Doc/library/hmac.rst:33 msgid "" @@ -54,6 +66,9 @@ msgid "" "parameter is now required. Pass it as a keyword argument to avoid " "awkwardness when you do not have an initial msg." msgstr "" +"MD5 como resumen por defecto implícito para *digestmod* está obsoleto. Ahora " +"se requiere el parámetro digestmod. Páselo como un argumento de palabra " +"clave para evitar dificultades cuando no tiene un msg inicial." #: ../Doc/library/hmac.rst:38 msgid "" @@ -63,6 +78,11 @@ msgid "" "The parameters *key*, *msg*, and *digest* have the same meaning as in :func:" "`~hmac.new`." msgstr "" +"Retorna el resumen de *msg* para una clave *key* secreta y un resumen " +"*digest* dados. La función es equivalente a ``HMAC(key, msg, digest)." +"digest()``, pero utiliza una implementación optimizada en C o *inline*, que " +"es más rápida para mensajes que caben en memoria. Los parámetros *key*, " +"*msg* y *digest* tienen el mismo significado que en :func:`~hmac.new`." #: ../Doc/library/hmac.rst:44 msgid "" @@ -70,10 +90,13 @@ msgid "" "when *digest* is a string and name of a digest algorithm, which is supported " "by OpenSSL." msgstr "" +"Un detalle de la implementación de CPython: la implementación optimizada en " +"C solo se usa cuando *digest* es una cadena de caracteres y el nombre de un " +"algoritmo de resumen, que está soportado por OpenSSL." #: ../Doc/library/hmac.rst:51 msgid "An HMAC object has the following methods:" -msgstr "" +msgstr "Un objeto HMAC tiene los siguientes métodos:" #: ../Doc/library/hmac.rst:55 msgid "" @@ -81,10 +104,14 @@ msgid "" "single call with the concatenation of all the arguments: ``m.update(a); m." "update(b)`` is equivalent to ``m.update(a + b)``." msgstr "" +"Actualiza el objeto hmac con *msg*. Las llamadas repetidas equivalen a una " +"sola llamada con la concatenación de todos los argumentos: ``m.update(a); m." +"update(b)`` es equivalente a ``m.update(a + b)``." #: ../Doc/library/hmac.rst:59 msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`." msgstr "" +"El parámetro *msg* puede ser de cualquier tipo soportado por :mod:`hashlib`." #: ../Doc/library/hmac.rst:65 msgid "" @@ -93,6 +120,10 @@ msgid "" "given to the constructor. It may contain non-ASCII bytes, including NUL " "bytes." msgstr "" +"Retorna el resumen de los *bytes* que se pasaron al método :meth:`update` " +"hasta el momento. Este objeto *bytes* será de la misma longitud que el " +"*digest_size* del resumen que se pasa al constructor. Puede contener *bytes* " +"no ASCII, incluyendo *bytes* NUL." #: ../Doc/library/hmac.rst:72 msgid "" @@ -101,6 +132,10 @@ msgid "" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." msgstr "" +"Cuando se compara la salida de :meth:`digest` a un resumen provisto " +"externamente durante una rutina de verificación, se recomienda utilizar la " +"función :func:`compare_digest` en lugar del operador ``==`` para reducir la " +"vulnerabilidad a ataques de temporización." #: ../Doc/library/hmac.rst:80 msgid "" @@ -108,6 +143,10 @@ msgid "" "length containing only hexadecimal digits. This may be used to exchange the " "value safely in email or other non-binary environments." msgstr "" +"Como :meth:`digest` excepto que el resumen se retorna como una cadena de " +"caracteres de dos veces la longitud conteniendo solo dígitos hexadecimales. " +"Esto se puede utilizar para intercambiar el valor de forma segura en email u " +"otros entornos no binarios." #: ../Doc/library/hmac.rst:86 msgid "" @@ -116,6 +155,10 @@ msgid "" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." msgstr "" +"Cuando se compara la salida de :meth:`hexdigest` a un resumen provisto " +"externamente durante una rutina de verificación, se recomienda utilizar la " +"función :func:`compare_digest` en lugar del operador ``==`` para reducir la " +"vulnerabilidad a ataques de temporización." #: ../Doc/library/hmac.rst:94 msgid "" @@ -123,26 +166,31 @@ msgid "" "efficiently compute the digests of strings that share a common initial " "substring." msgstr "" +"Retorna una copia (\"clon\") del objeto hmac. Esto se puede utilizar para " +"calcular de forma eficiente los resúmenes de las cadenas de caracteres que " +"comparten una subcadena de caracteres inicial común." #: ../Doc/library/hmac.rst:98 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Un objeto *hash* tiene los siguientes atributos:" #: ../Doc/library/hmac.rst:102 msgid "The size of the resulting HMAC digest in bytes." -msgstr "" +msgstr "El tamaño del resumen HMAC resultante en *bytes*." #: ../Doc/library/hmac.rst:106 msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "El tamaño de bloque interno del algoritmo de *hash* en *bytes*." #: ../Doc/library/hmac.rst:112 msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." msgstr "" +"El nombre canónico de este HMAC, siempre en minúsculas, por ejemplo ``hmac-" +"md5``." #: ../Doc/library/hmac.rst:117 msgid "This module also provides the following helper function:" -msgstr "" +msgstr "Este módulo también provee las siguiente funciones auxiliares:" #: ../Doc/library/hmac.rst:121 msgid "" @@ -152,6 +200,12 @@ msgid "" "either :class:`str` (ASCII only, as e.g. returned by :meth:`HMAC." "hexdigest`), or a :term:`bytes-like object`." msgstr "" +"Retorna ``a == b``. Esta función utiliza un enfoque diseñado para prevenir " +"el análisis de temporización evitando el comportamiento de cortocircuito " +"basado en contenido, haciéndolo adecuado para criptografía. *a* y *b* deben " +"ser del mismo tipo: ya sea :class:`str` (solo ASCII, como por ejemplo " +"retornado por :meth:`HMAC.hexdigest`), o un :term:`objeto tipo binario " +"`." #: ../Doc/library/hmac.rst:129 msgid "" @@ -159,11 +213,14 @@ msgid "" "attack could theoretically reveal information about the types and lengths of " "*a* and *b*—but not their values." msgstr "" +"Si *a* y *b* son de diferente longitud, o si ocurre un error, un ataque de " +"temporización teóricamente podría revelar información sobre los tipos y " +"longitudes de *a* y *b*—pero no sus valores." #: ../Doc/library/hmac.rst:138 msgid "Module :mod:`hashlib`" -msgstr "" +msgstr "Módulo :mod:`hashlib`" #: ../Doc/library/hmac.rst:139 msgid "The Python module providing secure hash functions." -msgstr "" +msgstr "El módulo de Python que provee funciones de *hash* seguras." From ada281cc63e6d8c107e79674f219a3d6640e1402 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Mon, 1 Feb 2021 19:29:40 -0300 Subject: [PATCH 134/153] Traducido howto/functional (29 de 206 - 14%) --- howto/functional.po | 141 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 126 insertions(+), 15 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index dd4003071c..dd6bad061d 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -6,39 +6,41 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-02-01 19:27-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Kevin Cajachuán \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/howto/functional.rst:3 msgid "Functional Programming HOWTO" -msgstr "" +msgstr "Cómo hacer programación funcional" #: ../Doc/howto/functional.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/howto/functional.rst:5 msgid "A. M. Kuchling" -msgstr "" +msgstr "A. M. Kuchling" #: ../Doc/howto/functional.rst msgid "Release" -msgstr "" +msgstr "Publicación" #: ../Doc/howto/functional.rst:6 msgid "0.32" -msgstr "" +msgstr "0.32" #: ../Doc/howto/functional.rst:8 msgid "" @@ -48,10 +50,16 @@ msgid "" "term:`iterator`\\s and :term:`generator`\\s and relevant library modules " "such as :mod:`itertools` and :mod:`functools`." msgstr "" +"En este documento, haremos un recorrido de las características de Python " +"adecuadas para implementar programas en un estilo funcional. Después de una " +"introducción de los conceptos de programación funcional, veremos las " +"características del lenguaje como :term:`iterador `\\es y :term:" +"`generador `\\es y módulos de librería relevantes como :mod:" +"`itertools` and :mod:`functools`." #: ../Doc/howto/functional.rst:16 msgid "Introduction" -msgstr "" +msgstr "Introducción" #: ../Doc/howto/functional.rst:18 msgid "" @@ -59,11 +67,17 @@ msgid "" "just interested in learning about Python language features, skip to the next " "section on :ref:`functional-howto-iterators`." msgstr "" +"Esta sección explica el concepto básico de programación funcional; si solo " +"está interesado en aprender acerca de las características del lenguaje " +"Python, pase a la siguiente sección en :ref:`iteradores `." #: ../Doc/howto/functional.rst:22 msgid "" "Programming languages support decomposing problems in several different ways:" msgstr "" +"Los lenguajes de programación soportan la descomposición de problemas en " +"muchas formas diferentes:" #: ../Doc/howto/functional.rst:24 msgid "" @@ -71,6 +85,10 @@ msgid "" "instructions that tell the computer what to do with the program's input. C, " "Pascal, and even Unix shells are procedural languages." msgstr "" +"La mayoría de los lenguajes de programación son **procedimentales**: los " +"programas son listas de instrucciones que le dicen a la computadora qué " +"hacer con la entrada del programa. C, Pascal e incluso las terminales Unix " +"son lenguajes procedimentales." #: ../Doc/howto/functional.rst:28 msgid "" @@ -81,6 +99,13 @@ msgid "" "to retrieve, and the SQL engine decides whether to scan tables or use " "indexes, which subclauses should be performed first, etc." msgstr "" +"En los lenguajes **declarativos**, se escribe una especificación que " +"describe el problema que se resolverá, y la implementación del lenguaje " +"averigua como realizar el cálculo de forma eficiente. SQL es el lenguaje " +"declarativo con el que probablemente esté más familiarizado; una consulta " +"SQL describe el conjunto de datos que quiere recuperar, y el motor SQL " +"decide si escanear tablas o usar índices, qué subcláusulas deben ejecutarse " +"primero, etc." #: ../Doc/howto/functional.rst:35 msgid "" @@ -90,6 +115,12 @@ msgid "" "and Python are languages that support object-oriented programming, but don't " "force the use of object-oriented features." msgstr "" +"Los programas **orientados a objetos** manipulan colecciones de objetos. Los " +"objetos tienen estado interno y soportan métodos que consultan o modifican " +"su estado interno de alguna manera. Smalltalk y Java son lenguajes " +"orientados a objetos. C++ y Python son lenguajes que soportan la " +"programación orientada a objetos, pero no fuerzan el uso de las " +"características orientadas a objetos." #: ../Doc/howto/functional.rst:41 msgid "" @@ -99,6 +130,11 @@ msgid "" "known functional languages include the ML family (Standard ML, OCaml, and " "other variants) and Haskell." msgstr "" +"La programación **funcional** descompone un problema en un conjunto de " +"funciones. Idealmente, las funciones solo reciben entradas y producen " +"salidas, y no tienen ningún estado interno que afecte la salida producida " +"para una entrada dada. Los lenguajes funcionales bien conocidos incluyen la " +"familia ML (Standard ML, OCaml, y otras variantes) y Haskell." #: ../Doc/howto/functional.rst:47 msgid "" @@ -112,6 +148,16 @@ msgid "" "GUI might be object-oriented while the processing logic is procedural or " "functional, for example." msgstr "" +"Los diseñadores de algunos lenguajes de computadora eligen enfatizar en un " +"enfoque particular para programar. Esto a menudo hace difícil escribir " +"programas que usen un enfoque diferente. Otros lenguajes son lenguajes " +"multiparadigma que soportan varios enfoques diferentes. Lisp, C++ y Python " +"son multiparadigma; puede escribir programas o librerías que son en gran " +"parte procedimentales, orientados a objetos o funcionales en todos estos " +"lenguajes. En un programa grande, las diferentes secciones podrían " +"escribirse usando diferentes enfoques; la GUI podría ser orientada a objetos " +"mientras la lógica de procesamiento es procedimental o funcional, por " +"ejemplo." #: ../Doc/howto/functional.rst:58 msgid "" @@ -123,6 +169,15 @@ msgid "" "side effects means not using data structures that get updated as a program " "runs; every function's output must only depend on its input." msgstr "" +"En un programa funcional, la entrada fluye a través de un conjunto de " +"funciones. Cada función opera sobre su entrada y produce alguna salida. El " +"estilo funcional desalienta las funciones con efectos secundarios que " +"modifican el estado interno o hacen otros cambios que no son visibles en el " +"valor de retorno de la función. Las funciones que no tienen efectos " +"secundarios en absoluto se llaman **puramente funcionales**. Evitar los " +"efectos secundarios significa no usar estructuras de datos que se actualicen " +"mientras se ejecuta un programa; cada salida de la función debe depender " +"solo de su entrada." #: ../Doc/howto/functional.rst:66 msgid "" @@ -134,6 +189,13 @@ msgid "" "called for their side effects of sending some text to the screen or pausing " "execution for a second." msgstr "" +"Algunos lenguajes son muy estrictos sobre la pureza y ni siquiera tienen " +"declaraciones de asignación como ``a=3`` o ``c = a + b``, pero es difícil " +"evitar todos los efectos secundarios. Imprimir en la pantalla o escribir en " +"un archivo en disco son efectos secundarios, por ejemplo. Por ejemplo, en " +"Python una llamada a la función :func:`print` o :func:`time.sleep` retorna " +"un valor inútil; solo se llaman por sus efectos secundarios de enviar algún " +"texto a la pantalla o pausar la ejecución por un segundo." #: ../Doc/howto/functional.rst:74 msgid "" @@ -144,6 +206,12 @@ msgid "" "assignments to local variables, but won't modify global variables or have " "other side effects." msgstr "" +"Los programas de Python escritos en estilo funcional usualmente no irán al " +"extremo de evitar todas las E/S o todas las asignaciones; en cambio, " +"proveerán una interfaz aparentemente funcional pero internamente usará " +"características no funcionales. Por ejemplo, la implementación de una " +"función todavía usará asignaciones a variables locales, pero no modificará " +"variables globales ni tendrá otros efectos secundarios." #: ../Doc/howto/functional.rst:80 msgid "" @@ -156,6 +224,15 @@ msgid "" "approaches by writing functions that take and return instances representing " "objects in your application (e-mail messages, transactions, etc.)." msgstr "" +"La programación funcional se puede considerar lo opuesto a la programación " +"orientada a objetos. Los objetos son pequeñas capsulas que contienen algún " +"estado interno junto con una colección de llamadas a métodos que le permiten " +"modificar este estado, y los programas consisten en realizar el conjunto " +"correcto de cambios de estado. La programación funcional quiere evitar " +"cambios de estado tanto como sea posible y trabaja con flujos de datos entre " +"funciones. En Python podría combinar los dos enfoques para escribir " +"funciones que reciban y retornen instancias que representen objetos en su " +"aplicación (mensajes de e-mail, transacciones, etc.)." #: ../Doc/howto/functional.rst:89 msgid "" @@ -163,32 +240,37 @@ msgid "" "you avoid objects and side effects? There are theoretical and practical " "advantages to the functional style:" msgstr "" +"El diseño funcional puede parecer una restricción extraña bajo la cuál " +"trabajar. Por qué evitaría objetos y efectos secundarios? Hay ventajas " +"teóricas y prácticas para el estilo funcional:" #: ../Doc/howto/functional.rst:93 msgid "Formal provability." -msgstr "" +msgstr "Demostrabilidad formal." #: ../Doc/howto/functional.rst:94 msgid "Modularity." -msgstr "" +msgstr "Modularidad." #: ../Doc/howto/functional.rst:95 msgid "Composability." -msgstr "" +msgstr "Componibilidad." #: ../Doc/howto/functional.rst:96 msgid "Ease of debugging and testing." -msgstr "" +msgstr "Fácil de depurar y probar." #: ../Doc/howto/functional.rst:100 msgid "Formal provability" -msgstr "" +msgstr "Demostrabilidad formal" #: ../Doc/howto/functional.rst:102 msgid "" "A theoretical benefit is that it's easier to construct a mathematical proof " "that a functional program is correct." msgstr "" +"Un beneficio teórico es que es más fácil construir una demostración " +"matemática de que un programa funcional es correcto." #: ../Doc/howto/functional.rst:105 msgid "" @@ -199,6 +281,13 @@ msgid "" "looks right; the goal is instead a rigorous proof that a program produces " "the right result for all possible inputs." msgstr "" +"Por un largo tiempo los investigadores se han interesado en buscar formas de " +"demostrar matemáticamente que los programas son correctos. Esto es diferente " +"de probar un programa sobre numerosas entradas y concluir que su salida es " +"usualmente correcta, o leer el código fuente de un programa y concluir que " +"el código se ve bien; en lugar de eso el objetivo es una demostración " +"rigurosa de que un programa produce el resultado correcto para todas las " +"entradas posibles." #: ../Doc/howto/functional.rst:112 msgid "" @@ -210,6 +299,14 @@ msgid "" "This continues until you reach the end of the program, at which point the " "invariants should match the desired conditions on the program's output." msgstr "" +"La técnica utilizada para demostrar que los programas son correctos es " +"anotar **invariantes**, propiedades de los datos de entrada y de las " +"variables del programa que siempre son verdaderas. Por cada línea de código, " +"debe mostrar que si las invariantes X e Y son verdaderas **antes** que la " +"línea sea ejecutada, las invariantes ligeramente diferentes X' e Y' son " +"verdaderas **después** que la línea se ejecutó. Esto continúa hasta que " +"alcance el fin del programa, punto en el cuál las invariantes deben " +"coincidir con las condiciones deseadas en la salida del programa." #: ../Doc/howto/functional.rst:120 msgid "" @@ -218,6 +315,10 @@ msgid "" "invariants that were true before the assignment without producing any new " "invariants that can be propagated onward." msgstr "" +"La evitación de las asignaciones de la programación funcional surge porque " +"las asignaciones son difíciles de manejar con esta técnica; las asignaciones " +"pueden romper invariantes que eran verdaderas antes de la asignación sin " +"producir nuevas invariantes que se puedan propagar hacia adelante." #: ../Doc/howto/functional.rst:125 msgid "" @@ -230,6 +331,16 @@ msgid "" "the question of verifying the proof; maybe there's an error in it, and you " "wrongly believe you've proved the program correct." msgstr "" +"Desafortunadamente, demostrar que los programas son correctos es en gran " +"parte impráctico y no relevante al software de Python. Aún los programas " +"triviales requieren demostraciones que tienen varias páginas; la " +"demostración de correctitud para un programa moderadamente complicado sería " +"enorme, y pocos o ninguno de los programas que usa diariamente (el " +"interprete de Python, su analizador XML, su navegador web) se podrían " +"demostrar que son correctos. Aún si anotó o generó una demostración, " +"entonces estaría la cuestión de verificar la demostración; quizás hay un " +"error en ella, y equivocadamente cree que demostró que el programa es " +"correcto." #: ../Doc/howto/functional.rst:136 msgid "Modularity" From 096b2766ee5f27d50562c3a34f8664093e9a54a9 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Mon, 1 Feb 2021 20:00:58 -0300 Subject: [PATCH 135/153] Actualizo diccionario parcial --- dictionaries/howto_functional.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 dictionaries/howto_functional.txt diff --git a/dictionaries/howto_functional.txt b/dictionaries/howto_functional.txt new file mode 100644 index 0000000000..359fbab2dc --- /dev/null +++ b/dictionaries/howto_functional.txt @@ -0,0 +1,6 @@ +subcláusulas +multiparadigma +Demostrabilidad +evitación +correctitud +impráctico \ No newline at end of file From 93ffd63afaa69542a729b1627f25a4e2d26b3ab7 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Tue, 2 Feb 2021 15:01:43 -0300 Subject: [PATCH 136/153] Traducido archivo howto/functional (56 de 206 - 27%) --- howto/functional.po | 109 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 98 insertions(+), 11 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index dd6bad061d..63a990920a 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-01 19:27-0300\n" +"PO-Revision-Date: 2021-02-02 15:00-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -190,7 +190,7 @@ msgid "" "execution for a second." msgstr "" "Algunos lenguajes son muy estrictos sobre la pureza y ni siquiera tienen " -"declaraciones de asignación como ``a=3`` o ``c = a + b``, pero es difícil " +"sentencias de asignación como ``a=3`` o ``c = a + b``, pero es difícil " "evitar todos los efectos secundarios. Imprimir en la pantalla o escribir en " "un archivo en disco son efectos secundarios, por ejemplo. Por ejemplo, en " "Python una llamada a la función :func:`print` o :func:`time.sleep` retorna " @@ -241,7 +241,7 @@ msgid "" "advantages to the functional style:" msgstr "" "El diseño funcional puede parecer una restricción extraña bajo la cuál " -"trabajar. Por qué evitaría objetos y efectos secundarios? Hay ventajas " +"trabajar. ¿Por qué evitaría objetos y efectos secundarios? Hay ventajas " "teóricas y prácticas para el estilo funcional:" #: ../Doc/howto/functional.rst:93 @@ -258,7 +258,7 @@ msgstr "Componibilidad." #: ../Doc/howto/functional.rst:96 msgid "Ease of debugging and testing." -msgstr "Fácil de depurar y probar." +msgstr "Facilidad de depurar y probar." #: ../Doc/howto/functional.rst:100 msgid "Formal provability" @@ -344,7 +344,7 @@ msgstr "" #: ../Doc/howto/functional.rst:136 msgid "Modularity" -msgstr "" +msgstr "Modularidad" #: ../Doc/howto/functional.rst:138 msgid "" @@ -354,14 +354,20 @@ msgid "" "thing than a large function that performs a complicated transformation. " "Small functions are also easier to read and to check for errors." msgstr "" +"Un beneficio más práctico de la programación funcional es que fuerza a " +"romper su problema en pequeñas piezas. Como resultado los programas son más " +"modulares. Es más fácil especificar y escribir una función pequeña que hace " +"una cosa que una función grande que realiza una transformación complicada. " +"Las funciones pequeñas también son más fáciles de leer y comprobar si hay " +"errores." #: ../Doc/howto/functional.rst:146 msgid "Ease of debugging and testing" -msgstr "" +msgstr "Facilidad de depurar y probar" #: ../Doc/howto/functional.rst:148 msgid "Testing and debugging a functional-style program is easier." -msgstr "" +msgstr "Probar y depurar un programa en estilo funcional es más fácil." #: ../Doc/howto/functional.rst:150 msgid "" @@ -371,6 +377,11 @@ msgid "" "intermediate inputs and outputs to quickly isolate the function that's " "responsible for a bug." msgstr "" +"La depuración se simplifica porque las funciones generalmente son pequeñas y " +"claramente especificadas. Cuando un programa no funciona, cada función es un " +"punto de interfaz donde puede comprobar si los datos son correctos. Puede " +"ver las entradas y salidas intermedias para aislar rápidamente la función " +"que es responsable de un error." #: ../Doc/howto/functional.rst:155 msgid "" @@ -379,10 +390,15 @@ msgid "" "before running a test; instead you only have to synthesize the right input " "and then check that the output matches expectations." msgstr "" +"Las pruebas son más fáciles porque cada función es un sujeto potencial para " +"una prueba unitaria. Las funciones no dependen de un estado del sistema que " +"necesite ser replicado antes de correr una prueba; en lugar de eso solo " +"tiene que sintetizar la entrada correcta y comprobar que la salida coincida " +"con las expectativas." #: ../Doc/howto/functional.rst:162 msgid "Composability" -msgstr "" +msgstr "Componibilidad" #: ../Doc/howto/functional.rst:164 msgid "" @@ -394,6 +410,13 @@ msgid "" "that takes a filename and returns its contents, can be applied to many " "different situations." msgstr "" +"Mientras trabaja en un programa en estilo funcional, escribirá un número de " +"funciones con diferentes entradas y salidas. Algunas de estas funciones " +"inevitablemente estarán especializadas en una aplicación en particular, pero " +"otras serán útiles en una amplia variedad de programas. Por ejemplo, una " +"función que recibe la ruta de un directorio y retorna todos los archivos XML " +"en el directorio, o una función que recibe el nombre de un archivo y retorna " +"su contenido, se puede aplicar a muchas situaciones diferentes." #: ../Doc/howto/functional.rst:171 msgid "" @@ -401,16 +424,22 @@ msgid "" "assemble new programs by arranging existing functions in a new configuration " "and writing a few functions specialized for the current task." msgstr "" +"Con el tiempo formará una librería personal de utilidades. A menudo " +"ensamblará nuevos programas organizando funciones existentes en una nueva " +"configuración y escribiendo unas pocas funciones especializadas para la " +"tarea actual." #: ../Doc/howto/functional.rst:179 msgid "Iterators" -msgstr "" +msgstr "Iteradores" #: ../Doc/howto/functional.rst:181 msgid "" "I'll start by looking at a Python language feature that's an important " "foundation for writing functional-style programs: iterators." msgstr "" +"Comenzaré viendo una característica del lenguaje Python que es una base " +"importante para escribir programas en estilo funcional: iteradores." #: ../Doc/howto/functional.rst:184 msgid "" @@ -422,6 +451,14 @@ msgid "" "exception. Iterators don't have to be finite, though; it's perfectly " "reasonable to write an iterator that produces an infinite stream of data." msgstr "" +"Un iterador es un objeto que representa un flujo de datos; este objeto " +"retorna los datos de a un elemento a la vez. Un iterador de Python debe " +"soportar un método llamado :meth:`~iterator.__next__` que no recibe " +"argumentos y siempre retorna el siguiente elemento en el flujo. Si no hay " +"más elementos en el flujo, :meth:`~iterator.__next__` debe lanzar la " +"excepción :exc:`StopIteration`. Los iteradores no tienen que ser finitos; es " +"perfectamente razonable escribir un iterador que produce un flujo de datos " +"infinito." #: ../Doc/howto/functional.rst:192 msgid "" @@ -432,10 +469,16 @@ msgid "" "lists and dictionaries. An object is called :term:`iterable` if you can get " "an iterator for it." msgstr "" +"La función integrada :func:`iter` recibe un objeto arbitrario e intenta " +"retornar un iterador que retornará los contenidos o elementos del objeto, " +"lanzando :exc:`TypeError` si el objeto no soporta iteración. Muchos tipos de " +"datos integrados de Python soportan iteración, siendo los más comunes las " +"listas y los diccionarios. Un objeto se llama :term:`iterable` si puede " +"obtener un iterador para él." #: ../Doc/howto/functional.rst:199 msgid "You can experiment with the iteration interface manually:" -msgstr "" +msgstr "Puede experimentar con la interfaz de iteración manualmente:" #: ../Doc/howto/functional.rst:217 msgid "" @@ -444,18 +487,26 @@ msgid "" "Y``, Y must be an iterator or some object for which :func:`iter` can create " "an iterator. These two statements are equivalent::" msgstr "" +"Python espera objetos iterables en muchos contextos diferentes, siendo el " +"más importante la sentencia :keyword:`for`. En la sentencia ``for X in Y``, " +"Y debe ser un iterador o algún objeto para el que :func:`iter` puede crear " +"un iterador. Estas dos sentencias son equivalentes::" #: ../Doc/howto/functional.rst:229 msgid "" "Iterators can be materialized as lists or tuples by using the :func:`list` " "or :func:`tuple` constructor functions:" msgstr "" +"Los iteradores se pueden materializar como listas o tuplas utilizando las " +"funciones constructoras :func:`list` o :func:`tuple`:" #: ../Doc/howto/functional.rst:238 msgid "" "Sequence unpacking also supports iterators: if you know an iterator will " "return N elements, you can unpack them into an N-tuple:" msgstr "" +"El desempaquetado de secuencias también soporta iteradores: si sabe que un " +"iterador retornará N elementos, puede desempaquetarlos en una N-tupla:" #: ../Doc/howto/functional.rst:247 msgid "" @@ -467,6 +518,14 @@ msgid "" "func:`min` will never return, and if the element X never appears in the " "stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either." msgstr "" +"Las funciones integradas como :func:`max` y :func:`min` pueden recibir un " +"solo iterador como argumento y retornarán el elemento más grande o más " +"pequeño. Los operadores ``\"in\"`` y ``\"not in\"`` también soportan " +"iteradores: ``X in iterator`` es verdadero si X se encuentra en el flujo que " +"retornó el iterador. Se encontrará con problemas obvios si el iterador es " +"infinito; :func:`max`, :func:`min` nunca retornarán, y si el elemento X " +"nunca aparece en el flujo, los operadores ``\"in\"`` and ``\"not in\"`` " +"tampoco retornarán." #: ../Doc/howto/functional.rst:255 msgid "" @@ -478,10 +537,17 @@ msgid "" "need to do something different with the same stream, you'll have to create a " "new iterator." msgstr "" +"Note que solo puede ir hacia adelante en un iterador; no hay forma de " +"obtener el elemento anterior, reiniciar el iterador o hacer una copia de él. " +"Los objetos iteradores opcionalmente pueden proveer estas capacidades " +"adicionales, pero el protocolo del iterador solo especifica el método :meth:" +"`~iterator.__next__`. Por lo tanto las funciones pueden consumir toda la " +"salida del iterador, y si necesita hacer algo diferente con el mismo flujo, " +"tendrá que crear un nuevo iterador." #: ../Doc/howto/functional.rst:265 msgid "Data Types That Support Iterators" -msgstr "" +msgstr "Tipos de datos que soportan iteradores" #: ../Doc/howto/functional.rst:267 msgid "" @@ -489,12 +555,17 @@ msgid "" "Python sequence type, such as strings, will automatically support creation " "of an iterator." msgstr "" +"Ya hemos visto cómo las listas y tuplas soportan iteradores. De hecho, " +"cualquier tipo de secuencia de Python, como cadenas de caracteres, " +"automáticamente soportará la creación de un iterador." #: ../Doc/howto/functional.rst:271 msgid "" "Calling :func:`iter` on a dictionary returns an iterator that will loop over " "the dictionary's keys::" msgstr "" +"Llamar a :func:`iter` en un diccionario retornará un iterador que recorrerá " +"sobre las claves del diccionario::" #: ../Doc/howto/functional.rst:291 msgid "" @@ -502,6 +573,10 @@ msgid "" "to be the same as the insertion order. In earlier versions, the behaviour " "was unspecified and could vary between implementations." msgstr "" +"Note que a partir de Python 3.7, se garantiza que el orden de iteración del " +"diccionario es el mismo que el orden de inserción. En versiones anteriores, " +"el comportamiento no estaba especificado y podía variar entre " +"implementaciones." #: ../Doc/howto/functional.rst:295 msgid "" @@ -510,12 +585,19 @@ msgid "" "iterate over values or key/value pairs, you can explicitly call the :meth:" "`~dict.values` or :meth:`~dict.items` methods to get an appropriate iterator." msgstr "" +"Aplicar :func:`iter` a un diccionario siempre recorre sobre las claves, pero " +"los diccionarios tienen métodos que retornan otros iteradores. Si quiere " +"iterar sobre valores o pares clave/valor, puede explícitamente llamar a los " +"métodos :meth:`~dict.values` o :meth:`~dict.items` para obtener un iterador " +"apropiado." #: ../Doc/howto/functional.rst:301 msgid "" "The :func:`dict` constructor can accept an iterator that returns a finite " "stream of ``(key, value)`` tuples:" msgstr "" +"El constructor :func:`dict` puede aceptar un iterador que retorna un flujo " +"finito de tuplas ``(key, value)``\\:" #: ../Doc/howto/functional.rst:308 msgid "" @@ -523,12 +605,17 @@ msgid "" "method until there are no more lines in the file. This means you can read " "each line of a file like this::" msgstr "" +"Los archivos también soportan iteración llamando al método :meth:`~io." +"TextIOBase.readline` hasta que no haya más líneas en el archivo. Esto " +"significa que puede leer cada línea de un archivo de esta forma::" #: ../Doc/howto/functional.rst:316 msgid "" "Sets can take their contents from an iterable and let you iterate over the " "set's elements::" msgstr "" +"Los conjuntos pueden recibir sus contenidos de un iterable y le permiten " +"iterar sobre los elementos del conjunto::" #: ../Doc/howto/functional.rst:326 msgid "Generator expressions and list comprehensions" From 6bc6a24c3350351955b1e13dcc1eea7f987c6261 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Tue, 2 Feb 2021 17:48:23 -0300 Subject: [PATCH 137/153] Traducido howto/functional (113 de 206 - 54%) --- howto/functional.po | 204 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 194 insertions(+), 10 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index 63a990920a..e96c69ec25 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-02 15:00-0300\n" +"PO-Revision-Date: 2021-02-02 17:47-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -597,7 +597,7 @@ msgid "" "stream of ``(key, value)`` tuples:" msgstr "" "El constructor :func:`dict` puede aceptar un iterador que retorna un flujo " -"finito de tuplas ``(key, value)``\\:" +"finito de tuplas ``(key, value)``:" #: ../Doc/howto/functional.rst:308 msgid "" @@ -619,7 +619,7 @@ msgstr "" #: ../Doc/howto/functional.rst:326 msgid "Generator expressions and list comprehensions" -msgstr "" +msgstr "Expresiones generadoras y listas por comprension" #: ../Doc/howto/functional.rst:328 msgid "" @@ -629,6 +629,12 @@ msgid "" "strip off trailing whitespace from each line or extract all the strings " "containing a given substring." msgstr "" +"Dos operaciones comunes en la salida de un iterador son 1) realizar alguna " +"operación para cada elemento, 2) elegir un subconjunto de elementos que " +"reúnen alguna condición. Por ejemplo, dada una lista de cadena de " +"caracteres, podría querer remover los espacios finales de cada línea o " +"extraer todas las cadenas de caracteres que contienen una subcadena de " +"caracteres dada." #: ../Doc/howto/functional.rst:334 msgid "" @@ -637,11 +643,17 @@ msgid "" "functional programming language Haskell (https://www.haskell.org/). You can " "strip all the whitespace from a stream of strings with the following code::" msgstr "" +"Las listas por comprensión y las expresiones generadoras (forma abreviada: " +"\"listcomps\" y \"genexps\") son una notación concisa para tales " +"operaciones, prestadas del lenguaje de programación funcional Haskell " +"(https://www.haskell.org/). Puede remover todos los espacios de un flujo de " +"cadena de caracteres con el siguiente código::" #: ../Doc/howto/functional.rst:347 msgid "" "You can select only certain elements by adding an ``\"if\"`` condition::" msgstr "" +"Puede seleccionar solo ciertos elementos agregando una condición ``\"if\"``::" #: ../Doc/howto/functional.rst:352 msgid "" @@ -653,6 +665,13 @@ msgid "" "infinite stream or a very large amount of data. Generator expressions are " "preferable in these situations." msgstr "" +"Con una lista por comprensión, obtiene una lista de Python; " +"``stripped_list`` es una lista que contiene las líneas resultantes, no un " +"iterador. Las expresiones generadoras retornan un iterador que calcula los " +"valores cuando es necesario, sin necesidad de materializar todos los valores " +"a la vez. Esto significa que las listas por comprensión son inútiles si está " +"trabajando con iteradores que retornan un flujo infinito o una gran cantidad " +"de datos. En estas situaciones son preferibles las expresiones generadoras." #: ../Doc/howto/functional.rst:359 msgid "" @@ -660,12 +679,17 @@ msgid "" "comprehensions are surrounded by square brackets (\"[]\"). Generator " "expressions have the form::" msgstr "" +"Las expresiones generadoras están rodeadas por paréntesis (\"()\") y las " +"listas por comprensión están rodeadas por corchetes (\"[]\"). Las " +"expresiones generadoras tienen la forma::" #: ../Doc/howto/functional.rst:372 msgid "" "Again, for a list comprehension only the outside brackets are different " "(square brackets instead of parentheses)." msgstr "" +"Nuevamente, para una lista por comprensión solo los corchetes exteriores son " +"diferentes (corchetes en lugar de paréntesis)." #: ../Doc/howto/functional.rst:375 msgid "" @@ -674,6 +698,10 @@ msgid "" "``expression`` is only evaluated and added to the result when ``condition`` " "is true." msgstr "" +"Los elementos de la salida generada serán valores sucesivos de " +"``expression``. Las cláusulas ``if`` son todas opcionales; si está presente, " +"``expression`` es solo evaluado y añadido al resultado cuando ``condition`` " +"es verdadero." #: ../Doc/howto/functional.rst:379 msgid "" @@ -681,6 +709,10 @@ msgid "" "parentheses signalling a function call also count. If you want to create an " "iterator that will be immediately passed to a function you can write::" msgstr "" +"Las expresiones generadoras siempre se tienen que escribir dentro de " +"paréntesis, pero los paréntesis que indican la llamada a una función también " +"cuentan. Si quiere crear un iterador que se pase inmediatamente a una " +"función puede escribir::" #: ../Doc/howto/functional.rst:385 msgid "" @@ -691,12 +723,19 @@ msgid "" "looped over for each resulting pair of elements from ``sequence1`` and " "``sequence2``." msgstr "" +"Las cláusulas ``for...in`` contienen las secuencias sobre las que se itera. " +"Las secuencias no tienen que tener la misma longitud, porque son iteradas de " +"izquierda a derecha, **no** en paralelo. Por cada elemento en ``sequence1``, " +"se recorre ``sequence2`` desde el inicio. Luego se recorre ``sequence3`` por " +"cada par de elementos resultante de ``sequence1`` y ``sequence2``." #: ../Doc/howto/functional.rst:391 msgid "" "To put it another way, a list comprehension or generator expression is " "equivalent to the following Python code::" msgstr "" +"Para ponerlo en otra forma, una lista por comprensión o expresión generadora " +"es equivalente al siguiente código Python::" #: ../Doc/howto/functional.rst:408 msgid "" @@ -705,6 +744,10 @@ msgid "" "the lengths of 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 ``for...in`` pero no " +"cláusulas ``if``, la longitud de la salida 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/howto/functional.rst:420 msgid "" @@ -712,10 +755,14 @@ msgid "" "is creating a tuple, it must be surrounded with parentheses. The first list " "comprehension below is a syntax error, while the second one is correct::" msgstr "" +"Para evitar introducir una ambigüedad en la gramática de Python, si " +"``expression`` está creando una tupla, debe estar rodeada de paréntesis. La " +"primera lista por comprensión de abajo tiene un error de sintaxis, mientras " +"que la segunda es correcta::" #: ../Doc/howto/functional.rst:431 msgid "Generators" -msgstr "" +msgstr "Generadores" #: ../Doc/howto/functional.rst:433 msgid "" @@ -723,6 +770,10 @@ msgid "" "writing iterators. Regular functions compute a value and return it, but " "generators return an iterator that returns a stream of values." msgstr "" +"Los generadores son una clase especial de funciones que simplifican la tarea " +"de escribir iteradores. Las funciones regulares calculan un valor y lo " +"devuelven, pero los generadores retornan un iterador que retorna un flujo de " +"valores." #: ../Doc/howto/functional.rst:437 msgid "" @@ -736,10 +787,20 @@ msgid "" "function where it left off? This is what generators provide; they can be " "thought of as resumable functions." msgstr "" +"Sin duda está familiarizado con cómo funcionan las llamadas a funciones " +"regulares en Python o C. Cuando llama a una función, esta obtiene su espacio " +"de nombres privado donde se crean sus variables locales. Cuando la función " +"alcanza una sentencia ``return``, las variables locales son destruidas y el " +"valor se retorna al llamador. Una llamada posterior a la misma función crea " +"un nuevo espacio de nombres privado y un conjunto limpio de variables " +"locales. Pero, ¿qué pasa si las variables locales no fueron desechadas en la " +"salida de una función? ¿Qué pasa si más tarde podría reanudar la función " +"desde donde quedó? Esto es lo que proveen los generadores; se pueden pensar " +"como funciones que se reanudan." #: ../Doc/howto/functional.rst:446 msgid "Here's the simplest example of a generator function:" -msgstr "" +msgstr "Este es el ejemplo más simple de una función generadora:" #: ../Doc/howto/functional.rst:452 msgid "" @@ -747,6 +808,9 @@ msgid "" "this is detected by Python's :term:`bytecode` compiler which compiles the " "function specially as a result." msgstr "" +"Cualquier función que contiene una palabra clave :keyword:`yield` es una " +"función generadora; esto es detectado por el compilador :term:`bytecode` de " +"Python que compila la función de forma especial como resultado." #: ../Doc/howto/functional.rst:456 msgid "" @@ -759,16 +823,26 @@ msgid "" "preserved. On the next call to the generator's :meth:`~generator.__next__` " "method, the function will resume executing." msgstr "" +"Cuando llama a una función generadora, no retorna un solo valor; en lugar de " +"eso retorna un objeto generador que soporta el protocolo iterador. Al " +"ejecutar la expresión ``yield``, el generador produce el valor de ``i``, de " +"forma similar a una sentencia ``return``. La gran diferencia entre una " +"sentencia ``yield`` y un ``return`` es que al alcanzar un ``yield`` se " +"suspende el estado de ejecución del generador y se preservan las variables " +"locales. En la próxima llamada al método :meth:`~generator.__next__` del " +"generador, la función reanudará la ejecución." #: ../Doc/howto/functional.rst:465 msgid "Here's a sample usage of the ``generate_ints()`` generator:" -msgstr "" +msgstr "Este es un ejemplo de uso del generador ``generate_ints()``:" #: ../Doc/howto/functional.rst:482 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a, b, c = " "generate_ints(3)``." msgstr "" +"De igual forma podría escribir ``for i in generate_ints(5)``, o ``a, b, c = " +"generate_ints(3)``." #: ../Doc/howto/functional.rst:485 msgid "" @@ -777,6 +851,10 @@ msgid "" "method. Once this happens, or the bottom of the function is reached, the " "procession of values ends and the generator cannot yield any further values." msgstr "" +"Dentro de una función generadora, ``return value`` causa que se lance " +"``StopIteration(value)`` del método :meth:`~generator.__next__`\\. Una vez " +"que esto pase, o que se alcance el final de la función, termina la procesión " +"de valores y el generador no puede producir más valores." #: ../Doc/howto/functional.rst:490 msgid "" @@ -787,6 +865,13 @@ msgid "" "method increment ``self.count`` and return it. However, for a moderately " "complicated generator, writing a corresponding class can be much messier." msgstr "" +"Podría lograr el efecto de los generadores manualmente escribiendo su propia " +"clase y guardando todas las variables locales del generador como variables " +"de instance. Por ejemplo, retornar una lista de enteros se podría hacer " +"estableciendo ``self.count`` a 0, y teniendo el método :meth:`~iterator." +"__next__` que incrementa ``self.count`` y lo retorna. Sin embargo, para un " +"generador moderadamente complicado, escribir una clase correspondiente puede " +"ser mucho más confuso." #: ../Doc/howto/functional.rst:498 msgid "" @@ -795,6 +880,10 @@ msgid "" "one generator that implements an in-order traversal of a tree using " "generators recursively. ::" msgstr "" +"El banco de pruebas incluido con la librería de Python, :source:`Lib/test/" +"test_generators.py`, contiene un número de ejemplos más interesantes. Este " +"es un generador que implementa un recorrido inorden de un árbol usando " +"generadores recursivamente. ::" #: ../Doc/howto/functional.rst:514 msgid "" @@ -804,10 +893,15 @@ msgid "" "knight to every square of an NxN chessboard without visiting any square " "twice)." msgstr "" +"Otros dos ejemplos en ``test_generators.py`` producen soluciones al problema " +"de N-reinas (ubicar N reinas en un tablero de ajedrez de NxN de forma que " +"ninguna reina amenace a otra) y el problema del caballo (encontrar una ruta " +"que lleve a un caballo a cada cuadro de un tablero de ajedrez de NxN sin " +"visitar ningún cuadro dos veces)." #: ../Doc/howto/functional.rst:522 msgid "Passing values into a generator" -msgstr "" +msgstr "Pasar valores a un generador" #: ../Doc/howto/functional.rst:524 msgid "" @@ -818,6 +912,12 @@ msgid "" "variable or by passing in some mutable object that callers then modify, but " "these approaches are messy." msgstr "" +"En Python 2.4 y anteriores, los generadores solo producían salida. Una vez " +"que el código de un generador era invocado para crear un iterador, no había " +"forma de pasar ninguna información nueva a la función cuando se reanuda su " +"ejecución. Podría lograr esta habilidad haciendo que el generador mire una " +"variable global o pasando en algún objeto mutable que el llamador luego " +"modifica, pero estos enfoques son confusos." #: ../Doc/howto/functional.rst:531 msgid "" @@ -825,6 +925,9 @@ msgid "" "`yield` became an expression, returning a value that can be assigned to a " "variable or otherwise operated on::" msgstr "" +"En Python 2.5 hay una forma más simple de pasar valores a un generador. :" +"keyword:`yield` se convirtió en una expresión, retornando un valor que se " +"puede asignar a una variable o sobre el que se puede operar::" #: ../Doc/howto/functional.rst:537 msgid "" @@ -833,6 +936,10 @@ msgid "" "above example. The parentheses aren't always necessary, but it's easier to " "always add them instead of having to remember when they're needed." msgstr "" +"Recomiendo que **siempre** ponga paréntesis alrededor de una expresión " +"``yield`` cuando esté haciendo algo con el valor retornado, como en el " +"ejemplo de arriba. Los paréntesis no siempre son necesarios, pero siempre es " +"más fácil agregarlos en lugar de tener que recordar cuándo son necesarios." #: ../Doc/howto/functional.rst:542 msgid "" @@ -842,6 +949,11 @@ msgid "" "write ``val = yield i`` but have to use parentheses when there's an " "operation, as in ``val = (yield i) + 12``.)" msgstr "" +"(:pep:`342` explica las reglas exactas, que son que una expresión ``yield`` " +"siempre debe estar entre paréntesis excepto cuando se encuentra en la " +"expresión de primer nivel en el lado derecho de una asignación. Esto " +"significa que puede escribir ``val = yield i`` pero tiene que usar " +"paréntesis cuando hay una operación, como en ``val = (yield i) + 12``.)" #: ../Doc/howto/functional.rst:548 msgid "" @@ -850,16 +962,22 @@ msgid "" "``yield`` expression returns the specified value. If the regular :meth:" "`~generator.__next__` method is called, the ``yield`` returns ``None``." msgstr "" +"Los valores son enviados a un generador llamando a su método :meth:" +"`send(value) `. Este método reanuda el código del generador " +"y la expresión ``yield`` retorna el valor especificado. Si se llama al " +"método regular :meth:`~generator.__next__`, ``yield`` retorna ``None``." #: ../Doc/howto/functional.rst:553 msgid "" "Here's a simple counter that increments by 1 and allows changing the value " "of the internal counter." msgstr "" +"Este es un simple contador que incrementa por 1 y permite cambiar los " +"valores del contador interno." #: ../Doc/howto/functional.rst:568 msgid "And here's an example of changing the counter:" -msgstr "" +msgstr "Y este es un ejemplo del cambio del contador:" #: ../Doc/howto/functional.rst:585 msgid "" @@ -868,12 +986,18 @@ msgid "" "that the :meth:`~generator.send` method will be the only method used to " "resume your generator function." msgstr "" +"Como ``yield`` a menudo retornará ``None``, siempre debería comprobar este " +"caso. No use simplemente su valor en expresiones a menos que esté seguro que " +"el método :meth:`~generator.send` será el único método utilizado para " +"reanudar su función generadora." #: ../Doc/howto/functional.rst:590 msgid "" "In addition to :meth:`~generator.send`, there are two other methods on " "generators:" msgstr "" +"Además del método :meth:`~generator.send`, hay otros dos métodos para " +"generadores:" #: ../Doc/howto/functional.rst:593 msgid "" @@ -881,6 +1005,9 @@ msgid "" "raise an exception inside the generator; the exception is raised by the " "``yield`` expression where the generator's execution is paused." msgstr "" +":meth:`throw(type, value=None, traceback=None) ` se usa " +"para lanzar una excepción dentro del generador; la excepción se lanza en la " +"expresión ``yield`` donde se pausa la ejecución del generador." #: ../Doc/howto/functional.rst:597 msgid "" @@ -892,6 +1019,12 @@ msgid "" "be called by Python's garbage collector when the generator is garbage-" "collected." msgstr "" +":meth:`~generator.close` lanza una excepción :exc:`GeneratorExit` dentro del " +"generador para terminar la iteración. Al recibir esta excepción, el código " +"del generador debe lanzar :exc:`GeneratorExit` o :exc:`StopIteration`; " +"capturar la excepción y hacer cualquier otra cosa es ilegal y disparará un :" +"exc:`RuntimeError`. :meth:`~generator.close` también se llamará por el " +"recolector de basura de Python cuando se recolecte el generador." #: ../Doc/howto/functional.rst:605 msgid "" @@ -899,12 +1032,17 @@ msgid "" "suggest using a ``try: ... finally:`` suite instead of catching :exc:" "`GeneratorExit`." msgstr "" +"Si necesita ejecutar un código de limpieza cuando ocurre un :exc:" +"`GeneratorExit`, sugiero usar un ``try: ... finally:`` en lugar de capturar :" +"exc:`GeneratorExit`." #: ../Doc/howto/functional.rst:608 msgid "" "The cumulative effect of these changes is to turn generators from one-way " "producers of information into both producers and consumers." msgstr "" +"El efecto acumulativo de estos cambios es convertir a los generadores de " +"productores de información unidireccionales en productores y consumidores." #: ../Doc/howto/functional.rst:611 msgid "" @@ -914,35 +1052,48 @@ msgid "" "can be entered, exited, and resumed at many different points (the ``yield`` " "statements)." msgstr "" +"Los generadores también se convierten en **corrutinas**, una forma más " +"generalizada de subrutinas. Las subrutinas inician en un punto y salen en " +"otro punto (el inicio de la función, y la sentencia ``return``), pero las " +"corrutinas pueden iniciar, salir, y reanudarse en muchos puntos diferentes " +"(las sentencias ``yield``)." #: ../Doc/howto/functional.rst:618 msgid "Built-in functions" -msgstr "" +msgstr "Funciones integradas" #: ../Doc/howto/functional.rst:620 msgid "" "Let's look in more detail at built-in functions often used with iterators." msgstr "" +"Veamos con más detalle las funciones integradas usadas a menudo con " +"iteradores." #: ../Doc/howto/functional.rst:622 msgid "" "Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate " "the features of generator expressions:" msgstr "" +"Dos de las funciones integradas de Python, :func:`map` y :func:`filter` " +"duplican las características de las expresiones generadoras:" #: ../Doc/howto/functional.rst:634 msgid "" ":func:`map(f, iterA, iterB, ...) ` returns an iterator over the sequence" msgstr "" +":func:`map(f, iterA, iterB, ...) ` retorna un iterador sobre la " +"secuencia" #: ../Doc/howto/functional.rst:626 msgid "" "``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." msgstr "" +"``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." #: ../Doc/howto/functional.rst:636 msgid "You can of course achieve the same effect with a list comprehension." msgstr "" +"Por supuesto puede lograr el mismo efecto con una lista por comprensión." #: ../Doc/howto/functional.rst:638 msgid "" @@ -952,10 +1103,15 @@ msgid "" "truth value of some condition; for use with :func:`filter`, the predicate " "must take a single value." msgstr "" +":func:`filter(predicate, iter) ` retorna un iterador sobre todos los " +"elementos de la secuencia que reúnen cierta condición, y de forma similar " +"está duplicado por las listas por comprensión. Un **predicado** es una " +"función que retorna un valor de verdad de alguna condición; para usarlo con :" +"func:`filter`, el predicado debe recibir un solo valor." #: ../Doc/howto/functional.rst:651 msgid "This can also be written as a list comprehension:" -msgstr "" +msgstr "Esto también se puede escribir como una lista por comprensión:" #: ../Doc/howto/functional.rst:657 msgid "" @@ -963,12 +1119,17 @@ msgid "" "iterable returning 2-tuples containing the count (from *start*) and each " "element. ::" msgstr "" +":func:`enumerate(iter, start=0) ` enumera los elementos en el " +"iterable retornando 2-tuplas que contienen la enumeración (desde *start*) y " +"cada elemento. ::" #: ../Doc/howto/functional.rst:667 msgid "" ":func:`enumerate` is often used when looping through a list and recording " "the indexes at which certain conditions are met::" msgstr "" +":func:`enumerate` a menudo se usa cuando se recorre una lista y se registran " +"los índices en los que se reúnen una cierta condición::" #: ../Doc/howto/functional.rst:675 msgid "" @@ -977,11 +1138,16 @@ msgid "" "result. The *key* and *reverse* arguments are passed through to the " "constructed list's :meth:`~list.sort` method. ::" msgstr "" +":func:`sorted(iterable, key=None, reverse=False) ` reúne todos los " +"elementos de un iterable en una lista, ordena la lista, y retorna el " +"resultado ordenado. Los argumentos *key* y *reverse* se pasan a través del " +"método :meth:`~list.sort` de la lista construida. ::" #: ../Doc/howto/functional.rst:690 msgid "" "(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" msgstr "" +"(Para una discusión más detallada del ordenamiento, ver :ref:`sortinghowto`.)" #: ../Doc/howto/functional.rst:693 msgid "" @@ -990,12 +1156,18 @@ msgid "" "any element in the iterable is a true value, and :func:`all` returns " "``True`` if all of the elements are true values:" msgstr "" +"Las funciones integradas :func:`any(iter) ` y :func:`all(iter) ` " +"ven los valores de verdad de los contenidos de un iterable. :func:`any` " +"retorna ``True`` si algún elemento en el iterable es un valor verdadero, y :" +"func:`all` retorna ``True`` si todos los elementos son valores verdaderos:" #: ../Doc/howto/functional.rst:712 msgid "" ":func:`zip(iterA, iterB, ...) ` takes one element from each iterable " "and returns them in a tuple::" msgstr "" +":func:`zip(iterA, iterB, ...) ` toma un elemento de cada iterable y los " +"retorna en una tupla::" #: ../Doc/howto/functional.rst:718 msgid "" @@ -1004,6 +1176,11 @@ msgid "" "they're requested. (The technical term for this behaviour is `lazy " "evaluation `__.)" msgstr "" +"No construye una lista en memoria y agota todos los iteradores de entrada " +"antes de ejecutar; en lugar de eso, las tuplas se construyen y retornan solo " +"si son requeridas. (El término técnico para este comportamiento es " +"`evaluación perezosa `__.)" #: ../Doc/howto/functional.rst:723 msgid "" @@ -1011,6 +1188,9 @@ msgid "" "length. If the iterables are of different lengths, the resulting stream " "will be the same length as the shortest iterable. ::" msgstr "" +"Se pretende que el iterador se use con iterables que tengan todos la misma " +"longitud. Si los iterables son de diferentes longitudes, el flujo resultante " +"tendrá la misma longitud que el iterable más corto. ::" #: ../Doc/howto/functional.rst:730 msgid "" @@ -1018,6 +1198,10 @@ msgid "" "the longer iterators and discarded. This means you can't go on to use the " "iterators further because you risk skipping a discarded element." msgstr "" +"Sin embargo, debería evitar hacer esto, porque se puede tomar un elemento de " +"los iteradores más largos y descartarlo. Esto significa que ya no puede " +"seguir usando los iteradores porque corre el riesgo de saltarse un elemento " +"descartado." #: ../Doc/howto/functional.rst:736 msgid "The itertools module" From d58140cefd7abcc5d1834a84748fe0a06e007206 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Tue, 2 Feb 2021 17:55:32 -0300 Subject: [PATCH 138/153] Actualizo diccionario --- dictionaries/howto_functional.txt | 5 ++++- howto/functional.po | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dictionaries/howto_functional.txt b/dictionaries/howto_functional.txt index 359fbab2dc..a24c7bbeed 100644 --- a/dictionaries/howto_functional.txt +++ b/dictionaries/howto_functional.txt @@ -3,4 +3,7 @@ multiparadigma Demostrabilidad evitación correctitud -impráctico \ No newline at end of file +impráctico +Componibilidad +inorden +NxN \ No newline at end of file diff --git a/howto/functional.po b/howto/functional.po index e96c69ec25..f82e04e0e1 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-02 17:47-0300\n" +"PO-Revision-Date: 2021-02-02 17:53-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -619,7 +619,7 @@ msgstr "" #: ../Doc/howto/functional.rst:326 msgid "Generator expressions and list comprehensions" -msgstr "Expresiones generadoras y listas por comprension" +msgstr "Expresiones generadoras y listas por comprensión" #: ../Doc/howto/functional.rst:328 msgid "" From 75738a439fc456ad6586924793fc10abb7c5881a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcelo=20Elizeche=20Land=C3=B3?= Date: Wed, 3 Feb 2021 02:42:57 -0300 Subject: [PATCH 139/153] Traducido archivo whatsnew/index.po --- whatsnew/index.po | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/whatsnew/index.po b/whatsnew/index.po index 72716205a4..e9c4217ef6 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -1,25 +1,27 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-02-03 02:34-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Marcelo Elizeche Landó \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/index.rst:5 msgid "What's New in Python" -msgstr "" +msgstr "Que hay de nuevo en Python" #: ../Doc/whatsnew/index.rst:7 msgid "" @@ -27,6 +29,10 @@ msgid "" "important changes between major Python versions. They are a \"must read\" " "for anyone wishing to stay up-to-date after a new release." msgstr "" +"La serie \"Que hay de nuevo en Python\" da un vistazo a los cambios más " +"importantes entre las versiones de Python. Son de \"lectura obligatoria\" " +"para cualquier persona que quiera estar al día después de un nuevo " +"lanzamiento." #: ../Doc/whatsnew/index.rst:31 msgid "" @@ -35,3 +41,7 @@ msgid "" "tree, which contains *all* nontrivial changes to Python for the current " "version." msgstr "" +"El \"Changelog\" is una versión HTML del `archivo creado `_ a partir del contenido del directorio :source:`Misc/NEWS." +"d`, el cual contiene *todos* los cambios no triviales en Python para la " +"versión actual." From 0b85d0b772883e6ec7ea0efd705710d60c7f2097 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Wed, 3 Feb 2021 19:49:39 -0300 Subject: [PATCH 140/153] Traducido howto/functional (100%) --- howto/functional.po | 278 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 239 insertions(+), 39 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index f82e04e0e1..9fc7e16fd9 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-02 17:53-0300\n" +"PO-Revision-Date: 2021-02-03 19:49-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,7 +55,7 @@ msgstr "" "introducción de los conceptos de programación funcional, veremos las " "características del lenguaje como :term:`iterador `\\es y :term:" "`generador `\\es y módulos de librería relevantes como :mod:" -"`itertools` and :mod:`functools`." +"`itertools` y :mod:`functools`." #: ../Doc/howto/functional.rst:16 msgid "Introduction" @@ -524,7 +524,7 @@ msgstr "" "iteradores: ``X in iterator`` es verdadero si X se encuentra en el flujo que " "retornó el iterador. Se encontrará con problemas obvios si el iterador es " "infinito; :func:`max`, :func:`min` nunca retornarán, y si el elemento X " -"nunca aparece en el flujo, los operadores ``\"in\"`` and ``\"not in\"`` " +"nunca aparece en el flujo, los operadores ``\"in\"`` y ``\"not in\"`` " "tampoco retornarán." #: ../Doc/howto/functional.rst:255 @@ -1147,7 +1147,8 @@ msgstr "" msgid "" "(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" msgstr "" -"(Para una discusión más detallada del ordenamiento, ver :ref:`sortinghowto`.)" +"(Para un tratamiento más detallado del ordenamiento, ver :ref:" +"`sortinghowto`.)" #: ../Doc/howto/functional.rst:693 msgid "" @@ -1205,7 +1206,7 @@ msgstr "" #: ../Doc/howto/functional.rst:736 msgid "The itertools module" -msgstr "" +msgstr "El módulo itertools" #: ../Doc/howto/functional.rst:738 msgid "" @@ -1213,30 +1214,35 @@ msgid "" "well as functions for combining several iterators. This section will " "introduce the module's contents by showing small examples." msgstr "" +"El módulo :mod:`itertools` contiene un número de iteradores comúnmente " +"usados así como funciones para combinar varios iteradores. Esta sección " +"presentará los contenidos del módulo mostrando pequeños ejemplos." #: ../Doc/howto/functional.rst:742 msgid "The module's functions fall into a few broad classes:" -msgstr "" +msgstr "Las funciones del módulo caen en unas pocas clases generales:" #: ../Doc/howto/functional.rst:744 msgid "Functions that create a new iterator based on an existing iterator." -msgstr "" +msgstr "Funciones que crean un nuevo iterador basado en un iterador existente." #: ../Doc/howto/functional.rst:745 msgid "Functions for treating an iterator's elements as function arguments." msgstr "" +"Funciones para tratar los elementos de un iterador como argumentos de " +"función." #: ../Doc/howto/functional.rst:746 msgid "Functions for selecting portions of an iterator's output." -msgstr "" +msgstr "Funciones para seleccionar porciones de la salida de un iterador." #: ../Doc/howto/functional.rst:747 msgid "A function for grouping an iterator's output." -msgstr "" +msgstr "Una función para agrupar la salida de un iterador." #: ../Doc/howto/functional.rst:750 msgid "Creating new iterators" -msgstr "" +msgstr "Crear nuevos iteradores" #: ../Doc/howto/functional.rst:752 msgid "" @@ -1245,6 +1251,10 @@ msgid "" "number, which defaults to 0, and the interval between numbers, which " "defaults to 1::" msgstr "" +":func:`itertools.count(start, step) ` retorna un flujo " +"infinito de valores equiespaciados. Opcionalmente puede suministrar el " +"número de inicio, que por defecto es 0, y el intervalo entre números, que " +"por defecto es 1::" #: ../Doc/howto/functional.rst:763 msgid "" @@ -1253,6 +1263,10 @@ msgid "" "from first to last. The new iterator will repeat these elements " "infinitely. ::" msgstr "" +":func:`itertools.cycle(iter) ` guarda una copia de los " +"contenidos de un iterable provisto y retorna un nuevo iterador que retorna " +"sus elementos del primero al último. El nuevo iterador repetirá estos " +"elementos infinitamente. ::" #: ../Doc/howto/functional.rst:770 msgid "" @@ -1260,6 +1274,8 @@ msgid "" "element *n* times, or returns the element endlessly if *n* is not " "provided. ::" msgstr "" +":func:`itertools.repeat(elem, [n]) ` retorna el elemento " +"provisto *n* veces, o retorna el elemento sin fin si no se provee *n*. ::" #: ../Doc/howto/functional.rst:778 msgid "" @@ -1268,6 +1284,10 @@ msgid "" "first iterator, then all the elements of the second, and so on, until all of " "the iterables have been exhausted. ::" msgstr "" +":func:`itertools.chain(iterA, iterB, ...) ` recibe un " +"número arbitrario de iterables como entrada, y retorna todos los elementos " +"del primer iterador, luego todos los elementos del segundo, y así " +"sucesivamente, hasta que hayan sido agotados todos los iterables. ::" #: ../Doc/howto/functional.rst:786 msgid "" @@ -1279,6 +1299,13 @@ msgid "" "and list slicing, you can't use negative values for *start*, *stop*, or " "*step*. ::" msgstr "" +":func:`itertools.islice(iter, [start], stop, [step]) ` " +"retorna un flujo que es un segmento del iterador. Con solo un argumento " +"*stop*, retornará los primeros *stop* elementos. Si suministra un índice de " +"inicio, obtendrá los elementos *stop-start*, y si suministra un valor para " +"*step*, los elementos se saltarán en consecuencia. A diferencia de la " +"segmentación de listas y cadenas de caracteres de Python, no puede usar " +"valores negativos para *start*, *stop* o *step*. ::" #: ../Doc/howto/functional.rst:800 msgid "" @@ -1289,10 +1316,16 @@ msgid "" "iterator, so this can consume significant memory if the iterator is large " "and one of the new iterators is consumed more than the others. ::" msgstr "" +":func:`itertools.tee(iter, [n]) ` replica un iterador; " +"retorna *n* iteradores independientes que retornarán los contenidos del " +"iterador fuente. Si no suministra un valor para *n*, por defecto es 2. " +"Replicar iteradores requiere guardar algunos de los contenidos del iterador " +"fuente, así este puede consumir memoria significativa si el iterador es " +"grande y uno de los nuevos iteradores se consume más que los otros. ::" #: ../Doc/howto/functional.rst:819 msgid "Calling functions on elements" -msgstr "" +msgstr "Llamar funciones con los elementos" #: ../Doc/howto/functional.rst:821 msgid "" @@ -1302,6 +1335,11 @@ msgid "" "``a != b``), and :func:`operator.attrgetter('id') ` " "(returns a callable that fetches the ``.id`` attribute)." msgstr "" +"El módulo :mod:`operator` contiene un conjunto de funciones correspondientes " +"a los operadores de Python. Algunos ejemplos son :func:`operator.add(a, b) " +"` (suma dos valores), :func:`operator.ne(a, b) ` " +"(lo mismo que ``a != b``) y :func:`operator.attrgetter('id') ` (retorna un invocable que obtiene el atributo ``.id``)." #: ../Doc/howto/functional.rst:827 msgid "" @@ -1309,16 +1347,21 @@ msgid "" "iterable will return a stream of tuples, and calls *func* using these tuples " "as the arguments::" msgstr "" +":func:`itertools.starmap(func, iter) ` asume que el " +"iterable retornará un flujo de tuplas, y llama a *func* usando estas tuplas " +"como los argumentos::" #: ../Doc/howto/functional.rst:839 msgid "Selecting elements" -msgstr "" +msgstr "Seleccionar elementos" #: ../Doc/howto/functional.rst:841 msgid "" "Another group of functions chooses a subset of an iterator's elements based " "on a predicate." msgstr "" +"Otro grupo de funciones elige un subconjunto de elementos de un iterador " +"basado en un predicado." #: ../Doc/howto/functional.rst:844 msgid "" @@ -1326,6 +1369,9 @@ msgid "" "the opposite of :func:`filter`, returning all elements for which the " "predicate returns false::" msgstr "" +":func:`itertools.filterfalse(predicate, iter) ` es el " +"opuesto de :func:`filter`, retornando todos los elementos para los que el " +"predicado retorna falso::" #: ../Doc/howto/functional.rst:851 msgid "" @@ -1333,6 +1379,9 @@ msgid "" "elements for as long as the predicate returns true. Once the predicate " "returns false, the iterator will signal the end of its results. ::" msgstr "" +":func:`itertools.takewhile(predicate, iter) ` retorna " +"los elementos mientras el predicado retorne verdadero. Una vez que el " +"predicado retorna falso, el iterador indicará el final de sus resultados. ::" #: ../Doc/howto/functional.rst:864 msgid "" @@ -1340,6 +1389,9 @@ msgid "" "elements while the predicate returns true, and then returns the rest of the " "iterable's results. ::" msgstr "" +":func:`itertools.dropwhile(predicate, iter) ` descarta " +"los elementos mientras el predicado retorne verdadero, y luego retorna el " +"resto de los resultados del iterable. ::" #: ../Doc/howto/functional.rst:874 msgid "" @@ -1348,10 +1400,14 @@ msgid "" "corresponding element of *selectors* is true, stopping whenever either one " "is exhausted::" msgstr "" +":func:`itertools.compress(data, selectors) ` recibe dos " +"iteradores y retorna solo aquellos elementos de *data* para los cuales el " +"elemento correspondiente de *selectors* es verdadero, deteniéndose cuando " +"alguno se termine::" #: ../Doc/howto/functional.rst:883 msgid "Combinatoric functions" -msgstr "" +msgstr "Funciones combinatorias" #: ../Doc/howto/functional.rst:885 msgid "" @@ -1359,6 +1415,9 @@ msgid "" "returns an iterator giving all possible *r*-tuple combinations of the " "elements contained in *iterable*. ::" msgstr "" +"La función :func:`itertools.combinations(iterable, r) ` retorna un iterador proporcionando todas las combinaciones de " +"*r*-tuplas de los elementos contenidos en *iterable*. ::" #: ../Doc/howto/functional.rst:900 msgid "" @@ -1368,24 +1427,36 @@ msgid "" "permutations(iterable, r=None) `, removes this " "constraint on the order, returning all possible arrangements of length *r*::" msgstr "" +"Los elementos dentro de cada tupla permanecen en el mismo orden en el que " +"*iterable* los retornó. Por ejemplo, el número 1 siempre está antes que 2, " +"3, 4 o 5 en los ejemplos de arriba. Una función similar, :func:`itertools." +"permutations(iterable, r=None) `, remueve esta " +"restricción en el orden, retornando todas las disposiciones posibles de " +"longitud *r*::" #: ../Doc/howto/functional.rst:919 msgid "" "If you don't supply a value for *r* the length of the iterable is used, " "meaning that all the elements are permuted." msgstr "" +"Si no suministra un valor para *r* se usa la longitud del iterable, lo que " +"significa que se permutan todos los elementos." #: ../Doc/howto/functional.rst:922 msgid "" "Note that these functions produce all of the possible combinations by " "position and don't require that the contents of *iterable* are unique::" msgstr "" +"Note que estas funciones producen todas las combinaciones posibles por " +"posición y no requieren que los contenidos de *iterable* sean únicos::" #: ../Doc/howto/functional.rst:929 msgid "" "The identical tuple ``('a', 'a', 'b')`` occurs twice, but the two 'a' " "strings came from different positions." msgstr "" +"La tupla idéntica ``('a', 'a', 'b')`` aparece dos veces, pero las dos " +"cadenas de caracteres 'a' provienen de diferentes posiciones." #: ../Doc/howto/functional.rst:932 msgid "" @@ -1395,10 +1466,15 @@ msgid "" "selected for the first position of each tuple and then is replaced before " "the second element is selected. ::" msgstr "" +"La función :func:`itertools.combinations_with_replacement(iterable, r) " +"` relaja una restricción diferente: " +"los elementos se pueden repetir dentro de una misma tupla. Conceptualmente " +"un elemento se elige para la primera posición de cada tupla y luego se " +"reemplaza antes de que se elija el segundo elemento. ::" #: ../Doc/howto/functional.rst:947 msgid "Grouping elements" -msgstr "" +msgstr "Agrupar elementos" #: ../Doc/howto/functional.rst:949 msgid "" @@ -1408,6 +1484,11 @@ msgid "" "element returned by the iterable. If you don't supply a key function, the " "key is simply each element itself." msgstr "" +"La última función que trataré, :func:`itertools.groupby(iter, key_func=None) " +"`, es la más complicada. ``key_func(elem)`` es una " +"función que calcula un valor clave para cada elemento retornado por el " +"iterable. Si no suministra una función de clave, la clave será simplemente " +"el elemento mismo." #: ../Doc/howto/functional.rst:954 msgid "" @@ -1415,6 +1496,10 @@ msgid "" "underlying iterable that have the same key value, and returns a stream of 2-" "tuples containing a key value and an iterator for the elements with that key." msgstr "" +":func:`~itertools.groupby` reúne todos los elementos consecutivos del " +"iterable subyacente que tienen el mismo valor clave, y retorna un flujo de 2-" +"tuplas que contienen un valor clave y un iterador para los elementos con esa " +"clave." #: ../Doc/howto/functional.rst:982 msgid "" @@ -1423,10 +1508,14 @@ msgid "" "also use the underlying iterable, so you have to consume the results of " "iterator-1 before requesting iterator-2 and its corresponding key." msgstr "" +":func:`~itertools.groupby` asume que los contenidos del iterable subyacente " +"ya se ordenó basado en la clave. Note que los iteradores retornados también " +"usan el iterable subyacente, así que tiene que consumir los resultados de " +"iterator-1 antes de solicitar iterator-2 y su clave correspondiente." #: ../Doc/howto/functional.rst:989 msgid "The functools module" -msgstr "" +msgstr "El módulo functools" #: ../Doc/howto/functional.rst:991 msgid "" @@ -1435,6 +1524,10 @@ msgid "" "and returns a new function. The most useful tool in this module is the :" "func:`functools.partial` function." msgstr "" +"El módulo :mod:`functools` en Python 2.5 contiene algunas funciones de orden " +"superior. Una **función de orden superior** recibe una o más funciones como " +"entrada y retorna una nueva función. La herramienta más útil en este módulo " +"es la función :func:`functools.partial`." #: ../Doc/howto/functional.rst:996 msgid "" @@ -1445,6 +1538,12 @@ msgid "" "filling in a value for one of ``f()``'s parameters. This is called " "\"partial function application\"." msgstr "" +"Para programas escritos en un estilo funcional, a veces querrá construir " +"variantes de funciones existentes que tienen algunos de los parámetros " +"rellenados. Considere una función de Python ``f(a, b, c)``; puede querer " +"crear una nueva función ``g(b, c)`` que sea equivalente a ``f(1, b, c)``; " +"está rellenando un valor para uno de los parámetros de ``f()``. Esto se " +"llama \"aplicación parcial de funciones\"." #: ../Doc/howto/functional.rst:1002 msgid "" @@ -1453,10 +1552,14 @@ msgid "" "resulting object is callable, so you can just call it to invoke ``function`` " "with the filled-in arguments." msgstr "" +"El constructor para :func:`~functools.partial` recibe los argumentos " +"``(function, arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. El objeto " +"resultante es invocable, por lo que puede invocar a ``function`` con los " +"argumentos rellenados." #: ../Doc/howto/functional.rst:1007 msgid "Here's a small but realistic example::" -msgstr "" +msgstr "Aquí hay un ejemplo pequeño pero realista::" #: ../Doc/howto/functional.rst:1019 msgid "" @@ -1472,6 +1575,17 @@ msgid "" "If the initial value is supplied, it's used as a starting point and " "``func(initial_value, A)`` is the first calculation. ::" msgstr "" +":func:`functools.reduce(func, iter, [initial_value]) ` " +"realiza acumulativamente una operación en todos los elementos del iterable " +"y, por lo tanto, no se puede aplicar a infinitos iterables. *func* debe ser " +"una función que recibe dos elementos y retorna un solo valor. :func:" +"`functools.reduce` recibe los primeros dos elementos A y B retornados por el " +"iterador y calcula ``func(A, B)``. Luego pide el tercer elemento, C, calcula " +"``func(func(A, B), C)``, combina este resultado con el cuarto elemento " +"retornado, y continua hasta que se agote el iterable. Si el iterable no " +"retorna ningún valor, se lanza una excepción :exc:`TypeError`. Si se " +"suministra el valor inicial, se usa como punto inicial y " +"``func(initial_value, A)`` es el primer cálculo. ::" #: ../Doc/howto/functional.rst:1043 msgid "" @@ -1479,12 +1593,17 @@ msgid "" "all the elements of the iterable. This case is so common that there's a " "special built-in called :func:`sum` to compute it:" msgstr "" +"Si usa :func:`operator.add` con :func:`functools.reduce`, sumará todos los " +"elementos del iterable. Este caso es tan común que hay una función integrada " +"especial llamada :func:`sum` para calcularla:" #: ../Doc/howto/functional.rst:1055 msgid "" "For many uses of :func:`functools.reduce`, though, it can be clearer to just " "write the obvious :keyword:`for` loop::" msgstr "" +"Sin embargo, para muchos usos de :func:`functools.reduce` puede ser mas " +"claro simplemente escribir el ciclo :keyword:`for`::" #: ../Doc/howto/functional.rst:1067 msgid "" @@ -1493,10 +1612,14 @@ msgid "" "of returning only the final result, :func:`accumulate` returns an iterator " "that also yields each partial result::" msgstr "" +"Una función relacionada es :func:`itertools.accumulate(iterable, " +"func=operator.add) `. Realiza el mismo cálculo, pero " +"en lugar de retornar solo el resultado final, :func:`accumulate` retorna un " +"iterador que también produce cada resultado parcial::" #: ../Doc/howto/functional.rst:1080 msgid "The operator module" -msgstr "" +msgstr "El módulo operator" #: ../Doc/howto/functional.rst:1082 msgid "" @@ -1505,53 +1628,65 @@ msgid "" "useful in functional-style code because they save you from writing trivial " "functions that perform a single operation." msgstr "" +"El módulo :mod:`operator` se mencionó anteriormente. Contiene un conjunto de " +"funciones que corresponden a los operadores de Python. Estas funciones a " +"menudo son útilos en código en estilo funcional porque le salvan de escribir " +"funciones triviales que realizan una sola operación." #: ../Doc/howto/functional.rst:1087 msgid "Some of the functions in this module are:" -msgstr "" +msgstr "Algunas de las funciones en este módulo son:" #: ../Doc/howto/functional.rst:1089 msgid "" "Math operations: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " "``abs()``, ..." msgstr "" +"Operaciones matemáticas: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " +"``abs()``, ..." #: ../Doc/howto/functional.rst:1090 msgid "Logical operations: ``not_()``, ``truth()``." -msgstr "" +msgstr "Operaciones lógicas: ``not_()``, ``truth()``." #: ../Doc/howto/functional.rst:1091 msgid "Bitwise operations: ``and_()``, ``or_()``, ``invert()``." -msgstr "" +msgstr "Operaciones bit a bit: ``and_()``, ``or_()``, ``invert()``." #: ../Doc/howto/functional.rst:1092 msgid "" "Comparisons: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()``, and ``ge()``." msgstr "" +"Comparaciones: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()`` y ``ge()``." #: ../Doc/howto/functional.rst:1093 msgid "Object identity: ``is_()``, ``is_not()``." -msgstr "" +msgstr "Identidad de objeto: ``is_()``, ``is_not()``." #: ../Doc/howto/functional.rst:1095 msgid "Consult the operator module's documentation for a complete list." -msgstr "" +msgstr "Consulte la documentación del módulo operator para una lista completa." #: ../Doc/howto/functional.rst:1099 msgid "Small functions and the lambda expression" -msgstr "" +msgstr "Funciones pequeñas y la expresión lambda" #: ../Doc/howto/functional.rst:1101 msgid "" "When writing functional-style programs, you'll often need little functions " "that act as predicates or that combine elements in some way." msgstr "" +"Cuando se escriben programas en estilo funcional, a menudo necesitará " +"pequeñas funciones que actúen como predicados o que combinen elementos de " +"alguna manera." #: ../Doc/howto/functional.rst:1104 msgid "" "If there's a Python built-in or a module function that's suitable, you don't " "need to define a new function at all::" msgstr "" +"Si hay una función integrada o un módulo de Python, no necesita definir una " +"nueva función en absoluto::" #: ../Doc/howto/functional.rst:1110 msgid "" @@ -1561,18 +1696,26 @@ msgid "" "parameters, and creates an anonymous function that returns the value of the " "expression::" msgstr "" +"Si la función que necesita no existe, necesita escribirla. Una forma de " +"escribir funciones pequeñas es usar la expresión :keyword:`lambda`. " +"``lambda`` recibe un número de parámetros y una expresión que combina estos " +"parámetros, y crea una función anónima que retorna el valor de la expresión::" #: ../Doc/howto/functional.rst:1119 msgid "" "An alternative is to just use the ``def`` statement and define a function in " "the usual way::" msgstr "" +"Una alternativa es simplemente usar la sentencia ``def`` y definir una " +"función en la forma usual::" #: ../Doc/howto/functional.rst:1128 msgid "" "Which alternative is preferable? That's a style question; my usual course " "is to avoid using ``lambda``." msgstr "" +"¿Qué alternativa es preferible? Esa es una pregunta de estilo; mi rumbo " +"usual es evitar usar ``lambda``." #: ../Doc/howto/functional.rst:1131 msgid "" @@ -1583,6 +1726,12 @@ msgid "" "``lambda`` statement, you'll end up with an overly complicated expression " "that's hard to read. Quick, what's the following code doing? ::" msgstr "" +"Una razón para mi preferencia es que ``lambda`` es muy limitado en las " +"funciones que puede definir. El resultado tiene que ser calculable como una " +"sola expresión, que significa que no tiene comparaciones multivía ``if... " +"elif... else`` o sentencias ``try... except``. Si intenta hacer mucho en una " +"sentencia ``lambda``, terminará con una expresión demasiado complicada que " +"es difícil de leer. Rápido, ¿qué hace el siguiente código? ::" #: ../Doc/howto/functional.rst:1141 msgid "" @@ -1590,58 +1739,70 @@ msgid "" "figure out what's going on. Using a short nested ``def`` statements makes " "things a little bit better::" msgstr "" +"Puede averiguarlo, pero toma tiempo desenredar la expresión para averiguar " +"que está pasando. Usar una corta sentencia ``def`` anidada hace las cosas un " +"poco mejor::" #: ../Doc/howto/functional.rst:1151 msgid "But it would be best of all if I had simply used a ``for`` loop::" msgstr "" +"Pero lo mejor de todo sería si simplemente hubiese usado un ciclo ``for``::" #: ../Doc/howto/functional.rst:1157 msgid "Or the :func:`sum` built-in and a generator expression::" -msgstr "" +msgstr "O la función integrada :func:`sum` y una expresión generadora::" #: ../Doc/howto/functional.rst:1161 msgid "" "Many uses of :func:`functools.reduce` are clearer when written as ``for`` " "loops." msgstr "" +"Muchos usos de :func:`functools.reduce` son más claros cuando se escriben " +"como ciclos ``for``." #: ../Doc/howto/functional.rst:1163 msgid "" "Fredrik Lundh once suggested the following set of rules for refactoring uses " "of ``lambda``:" msgstr "" +"Fredrik Lundh una vez sugirió el siguiente conjunto de reglas para " +"refactorizar los usos de ``lambda``:" #: ../Doc/howto/functional.rst:1166 msgid "Write a lambda function." -msgstr "" +msgstr "Escribir una función lambda." #: ../Doc/howto/functional.rst:1167 msgid "Write a comment explaining what the heck that lambda does." -msgstr "" +msgstr "Escribir un comentario explicando qué demonios hace esa lambda." #: ../Doc/howto/functional.rst:1168 msgid "" "Study the comment for a while, and think of a name that captures the essence " "of the comment." msgstr "" +"Estudiar el comentario por un momento, y pensar en un nombre que capture la " +"esencia del comentario." #: ../Doc/howto/functional.rst:1170 msgid "Convert the lambda to a def statement, using that name." -msgstr "" +msgstr "Convertir la lambda a una sentencia def, usando ese nombre." #: ../Doc/howto/functional.rst:1171 msgid "Remove the comment." -msgstr "" +msgstr "Remover el comentario." #: ../Doc/howto/functional.rst:1173 msgid "" "I really like these rules, but you're free to disagree about whether this " "lambda-free style is better." msgstr "" +"Me gustan mucho estas reglas, pero es libre de disentir acerca de si este " +"estilo libre de lambda es mejor." #: ../Doc/howto/functional.rst:1178 msgid "Revision History and Acknowledgements" -msgstr "" +msgstr "Historia de revisiones y reconocimientos" #: ../Doc/howto/functional.rst:1180 msgid "" @@ -1650,39 +1811,53 @@ msgid "" "Ian Bicking, Nick Coghlan, Nick Efford, Raymond Hettinger, Jim Jewett, Mike " "Krell, Leandro Lameiro, Jussi Salmela, Collin Winter, Blake Winton." msgstr "" +"Al autor le gustaría agradecer a las siguientes personar por ofrecer " +"sugerencias, correcciones y asistencia con varios borradores de este " +"articulo: Ian Bicking, Nick Coghlan, Nick Efford, Raymond Hettinger, Jim " +"Jewett, Mike Krell, Leandro Lameiro, Jussi Salmela, Collin Winter, Blake " +"Winton." #: ../Doc/howto/functional.rst:1185 msgid "Version 0.1: posted June 30 2006." -msgstr "" +msgstr "Versión 0.1: publicada el 30 de junio de 2006." #: ../Doc/howto/functional.rst:1187 msgid "Version 0.11: posted July 1 2006. Typo fixes." msgstr "" +"Versión 0.11: publicada el 1 de julio de 2006. Errores tipográficos " +"arreglados." #: ../Doc/howto/functional.rst:1189 msgid "" "Version 0.2: posted July 10 2006. Merged genexp and listcomp sections into " "one. Typo fixes." msgstr "" +"Versión 0.2: publicada el 10 de julio de 2006. Secciones genexp y listcomp " +"unidas en una sola. Errores tipográficos arreglados." #: ../Doc/howto/functional.rst:1192 msgid "" "Version 0.21: Added more references suggested on the tutor mailing list." msgstr "" +"Versión 0.21: Agregadas mas referencias sugeridas en la lista de correos " +"tutor." #: ../Doc/howto/functional.rst:1194 msgid "" "Version 0.30: Adds a section on the ``functional`` module written by Collin " "Winter; adds short section on the operator module; a few other edits." msgstr "" +"Versión 0.30: Agrega una sección sobre el módulo ``functional`` escrito por " +"Collin Winter; agrega una sección corta sobre el módulo operator; y unas " +"pocas otras ediciones." #: ../Doc/howto/functional.rst:1199 msgid "References" -msgstr "" +msgstr "Referencias" #: ../Doc/howto/functional.rst:1202 msgid "General" -msgstr "" +msgstr "Generales" #: ../Doc/howto/functional.rst:1204 msgid "" @@ -1694,6 +1869,13 @@ msgid "" "approaches described in these chapters are applicable to functional-style " "Python code." msgstr "" +"**Estructura e interpretación de programas de computadora**, por Harold " +"Abelson y Gerald Jay Sussman con Julie Sussman. Texto completo en https://" +"mitpress.mit.edu/sicp/. En este libro clásico de ciencia de computación, los " +"capítulos 2 y 3 tratan el uso de secuencias y flujos para organizar el flujo " +"de datos dentro de un programa. El libro usa Scheme para sus ejemplos, pero " +"muchos de los enfoques de diseño descritos en estos capítulos son aplicables " +"al código de Python en estilo funcional." #: ../Doc/howto/functional.rst:1212 msgid "" @@ -1701,25 +1883,32 @@ msgid "" "functional programming that uses Java examples and has a lengthy historical " "introduction." msgstr "" +"http://www.defmacro.org/ramblings/fp.html: Una introducción general a la " +"programación funcional que usa ejemplos en Java y tiene una introducción " +"histórica extensa." #: ../Doc/howto/functional.rst:1215 msgid "" "https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia " "entry describing functional programming." msgstr "" +"https://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional: Entrada general " +"de Wikipedia que describe la programación funcional." #: ../Doc/howto/functional.rst:1218 msgid "https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines." -msgstr "" +msgstr "https://es.wikipedia.org/wiki/Corrutina: Entrada para corrutinas." #: ../Doc/howto/functional.rst:1220 msgid "" "https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying." msgstr "" +"https://es.wikipedia.org/wiki/Currificaci%C3%B3n: Entrada para el concepto " +"de currificación." #: ../Doc/howto/functional.rst:1223 msgid "Python-specific" -msgstr "" +msgstr "Específicas de Python" #: ../Doc/howto/functional.rst:1225 msgid "" @@ -1728,6 +1917,10 @@ msgid "" "text processing, in the section titled \"Utilizing Higher-Order Functions in " "Text Processing\"." msgstr "" +"http://gnosis.cx/TPiP/: El primer capítulo del libro de David Mertz :title-" +"reference:`Text Processing in Python` trata la programación funcional para " +"procesamiento de texto, en la sección titulada \"Utilizando funciones de " +"orden superior en procesamiento de texto\"." #: ../Doc/howto/functional.rst:1230 msgid "" @@ -1736,29 +1929,36 @@ msgid "" "prog/>`__, `part 2 `__, and " "`part 3 `__," msgstr "" +"Mertz también escribió una serie de artículos de 3 partes sobre programación " +"funcional para el sitio DeveloperWorks de IBM; ver `parte 1 `__, `parte 2 `__, y `parte 3 `__," #: ../Doc/howto/functional.rst:1238 msgid "Python documentation" -msgstr "" +msgstr "Documentación de Python" #: ../Doc/howto/functional.rst:1240 msgid "Documentation for the :mod:`itertools` module." -msgstr "" +msgstr "Documentación del módulo :mod:`itertools`." #: ../Doc/howto/functional.rst:1242 msgid "Documentation for the :mod:`functools` module." -msgstr "" +msgstr "Documentación del módulo :mod:`functools`." #: ../Doc/howto/functional.rst:1244 msgid "Documentation for the :mod:`operator` module." -msgstr "" +msgstr "Documentación del módulo :mod:`operator`." #: ../Doc/howto/functional.rst:1246 msgid ":pep:`289`: \"Generator Expressions\"" -msgstr "" +msgstr ":pep:`289`: \"Expresiones generadoras\"" #: ../Doc/howto/functional.rst:1248 msgid "" ":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new " "generator features in Python 2.5." msgstr "" +":pep:`342`: \"Corrutinas a través de generadores mejorados\" describe las " +"características del nuevo generador en Python 2.5." From 677c613eee9c40f27cc646b488a0de2b2936c125 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Wed, 3 Feb 2021 19:56:53 -0300 Subject: [PATCH 141/153] Actualizo diccionario y arreglo typo --- dictionaries/howto_functional.txt | 22 +++++++++++++++++++++- howto/functional.po | 4 ++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/dictionaries/howto_functional.txt b/dictionaries/howto_functional.txt index a24c7bbeed..41854c76d2 100644 --- a/dictionaries/howto_functional.txt +++ b/dictionaries/howto_functional.txt @@ -6,4 +6,24 @@ correctitud impráctico Componibilidad inorden -NxN \ No newline at end of file +NxN +functools +acumulativamente +operator +multivía +Blake +Collin +Ian +Jussi +genexp +listcomp +Collin +Abelson +Gerald +Harold +Jay +Julie +Scheme +Sussman +Mertz +DeveloperWorks \ No newline at end of file diff --git a/howto/functional.po b/howto/functional.po index 9fc7e16fd9..889ac1f74e 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-03 19:49-0300\n" +"PO-Revision-Date: 2021-02-03 19:54-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1630,7 +1630,7 @@ msgid "" msgstr "" "El módulo :mod:`operator` se mencionó anteriormente. Contiene un conjunto de " "funciones que corresponden a los operadores de Python. Estas funciones a " -"menudo son útilos en código en estilo funcional porque le salvan de escribir " +"menudo son útiles en código en estilo funcional porque le salvan de escribir " "funciones triviales que realizan una sola operación." #: ../Doc/howto/functional.rst:1087 From 14d9d249537e5a8f87532ae41622651a9c12a057 Mon Sep 17 00:00:00 2001 From: Juanse Date: Mon, 8 Feb 2021 08:02:50 -0300 Subject: [PATCH 142/153] Traducido library/tty.po (#1214) --- dictionaries/library_tty.txt | 1 + library/tty.po | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 dictionaries/library_tty.txt diff --git a/dictionaries/library_tty.txt b/dictionaries/library_tty.txt new file mode 100644 index 0000000000..593cde1b59 --- /dev/null +++ b/dictionaries/library_tty.txt @@ -0,0 +1 @@ +tty diff --git a/library/tty.po b/library/tty.po index cf619bd209..0c8c1f64c7 100644 --- a/library/tty.po +++ b/library/tty.po @@ -1,44 +1,49 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-02-02 10:07-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/tty.rst:2 msgid ":mod:`tty` --- Terminal control functions" -msgstr "" +msgstr ":mod:`tty` --- Funciones de control de terminal" #: ../Doc/library/tty.rst:11 msgid "**Source code:** :source:`Lib/tty.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/tty.py`" #: ../Doc/library/tty.rst:15 msgid "" "The :mod:`tty` module defines functions for putting the tty into cbreak and " "raw modes." msgstr "" +"El módulo :mod:`tty` define funciones para poner la tty en los modos " +"*cbreak* y *raw*." #: ../Doc/library/tty.rst:18 msgid "" "Because it requires the :mod:`termios` module, it will work only on Unix." msgstr "" +"Dado que requiere el módulo :mod:`termios`, solamente funciona en Unix." #: ../Doc/library/tty.rst:20 msgid "The :mod:`tty` module defines the following functions:" -msgstr "" +msgstr "El módulo :mod:`tty` define las siguientes funciones:" #: ../Doc/library/tty.rst:25 msgid "" @@ -46,6 +51,9 @@ msgid "" "defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." "tcsetattr`." msgstr "" +"Cambia el modo del descriptor de archivo *fd* a *raw*. Si se omite *when*, " +"el valor por defecto es :const:`termios.TCSAFLUSH`, que se pasa a :func:" +"`termios.tcsetattr`." #: ../Doc/library/tty.rst:32 msgid "" @@ -53,11 +61,14 @@ msgid "" "defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." "tcsetattr`." msgstr "" +"Cambia el modo del descriptor de archivo *fd* a *cbreak*. Si se omite " +"*when*, el valor por defecto es :const:`termios.TCSAFLUSH`, que se pasa a :" +"func:`termios.tcsetattr`." #: ../Doc/library/tty.rst:39 msgid "Module :mod:`termios`" -msgstr "" +msgstr "Módulo :mod:`termios`" #: ../Doc/library/tty.rst:40 msgid "Low-level terminal control interface." -msgstr "" +msgstr "Interfaz de control de la terminal de bajo nivel." From 0abe9c4a0b2c502792523b977d9ceb3383055243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcelo=20Elizeche=20Land=C3=B3?= Date: Fri, 12 Feb 2021 19:11:26 -0300 Subject: [PATCH 143/153] update whatsnew/index.po --- TRANSLATORS | 3 ++- whatsnew/index.po | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index b241ec2f60..3a10cf2f28 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -22,6 +22,7 @@ Carlos Joel Delgado Pizarro (@c0x6a) Sergio Delgado Quintero (@sdelquin) Nicolás Demarchi (@gilgamezh) Ignacio Dopazo (@ignaciodopazo) +Marcelo Elizeche Landó (@melizeche) Natalia Elvira Astoreca (@nea23) Nahuel Espinosa (@nahueespinosa) Nataya Soledad Flores (@natayafs) @@ -139,4 +140,4 @@ Victor Carlos (@tuxtitlan) Ignacio Sanz (@elnaquete) Jaime Rodrigo González Rodríguez (@jairock282) Martín Ramírez (@tinchoram) -Kevin Cajachuán (@Kajachuan) \ No newline at end of file +Kevin Cajachuán (@Kajachuan) diff --git a/whatsnew/index.po b/whatsnew/index.po index e9c4217ef6..254df1148b 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -21,7 +21,7 @@ msgstr "" #: ../Doc/whatsnew/index.rst:5 msgid "What's New in Python" -msgstr "Que hay de nuevo en Python" +msgstr "Qué hay de nuevo en Python" #: ../Doc/whatsnew/index.rst:7 msgid "" @@ -29,7 +29,7 @@ msgid "" "important changes between major Python versions. They are a \"must read\" " "for anyone wishing to stay up-to-date after a new release." msgstr "" -"La serie \"Que hay de nuevo en Python\" da un vistazo a los cambios más " +"La serie \"Qué hay de nuevo en Python\" da un vistazo a los cambios más " "importantes entre las versiones de Python. Son de \"lectura obligatoria\" " "para cualquier persona que quiera estar al día después de un nuevo " "lanzamiento." From ca9a2de560d7110009c6e77d44fc7436fcf904c2 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Sat, 20 Feb 2021 10:30:57 -0300 Subject: [PATCH 144/153] Apply suggestions from code review Co-authored-by: Adolfo Villalobos --- library/smtplib.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index 9e6af4a8b3..41b7ef791e 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -489,7 +489,7 @@ msgid "" msgstr "" "Retorna :const:`True` si *name* está en el conjunto de extensiones de " "servicio SMTP devueltas por el servidor, :const:`False` en caso contrario. " -"Se ignora el caso." +"El método es insensible a la presencia de mayúsculas en *name*." #: ../Doc/library/smtplib.rst:297 msgid "" @@ -882,7 +882,7 @@ msgid "" "``SMTPUTF8`` support added, and :exc:`SMTPNotSupportedError` may be raised " "if ``SMTPUTF8`` is specified but the server does not support it." msgstr "" -"Se agregó compatibilidad con ``SMTPUTF8`` y :exc:`SMTPNotSupportedError` " +"Se agregó compatibilidad con ``SMTPUTF8``, y :exc:`SMTPNotSupportedError` " "puede aparecer si se especifica ``SMTPUTF8`` pero el servidor no lo admite." #: ../Doc/library/smtplib.rst:504 From 647d565d25a40bdefef0d8148a0e0d715dfbe37a Mon Sep 17 00:00:00 2001 From: amvillalobos Date: Sun, 21 Feb 2021 15:02:43 -0300 Subject: [PATCH 145/153] =?UTF-8?q?Traducci=C3=B3n=20library/ipc.po?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TRANSLATORS | 1 + library/ipc.po | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 3a10cf2f28..1e831412c0 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -141,3 +141,4 @@ Ignacio Sanz (@elnaquete) Jaime Rodrigo González Rodríguez (@jairock282) Martín Ramírez (@tinchoram) Kevin Cajachuán (@Kajachuan) +Adolfo Villalobos (@AdolfoVillalobos) diff --git a/library/ipc.po b/library/ipc.po index 1fde60a6a4..830c93f9c0 100644 --- a/library/ipc.po +++ b/library/ipc.po @@ -1,31 +1,34 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-02-21 14:50-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.4.2\n" +"Language: es\n" #: ../Doc/library/ipc.rst:5 msgid "Networking and Interprocess Communication" -msgstr "" +msgstr "Comunicación en redes y entre procesos" #: ../Doc/library/ipc.rst:7 msgid "" "The modules described in this chapter provide mechanisms for networking and " "inter-processes communication." msgstr "" +"Los módulos descritos en este capítulo proveen los mecanismos para la " +"comunicación en red y entre procesos." #: ../Doc/library/ipc.rst:10 msgid "" @@ -33,7 +36,11 @@ msgid "" "mod:`signal` and :mod:`mmap`. Other modules support networking protocols " "that two or more processes can use to communicate across machines." msgstr "" +"Algunos módulos solo funcionan para dos procesos que están en una misma " +"máquina, e.g. :mod:`signal` y :mod:`mmap`. Otros módulos soportan protocolos " +"de red que dos o mas procesos pueden utilizar para comunicarse entre " +"máquinas." #: ../Doc/library/ipc.rst:14 msgid "The list of modules described in this chapter is:" -msgstr "" +msgstr "La lista de módulos descritos en este capítulo es:" From 5a36ced286aae0167847cb466c4c12fbe886e1e0 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Mon, 22 Feb 2021 22:52:46 -0300 Subject: [PATCH 146/153] Apply suggestions from code review Impacto aquellas correcciones obvias Co-authored-by: Emmanuel Arias --- library/turtle.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index cd1d1877ad..1c4f5aea38 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1058,7 +1058,7 @@ msgid "" "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " "line thickness. If no argument is given, the current pensize is returned." msgstr "" -"Establece el grosos de la línea a *width* o lo devuelve. Si resizemode se " +"Establece el grosos de la línea a *width* o lo devuelve. Si *resizemode* se " "establece a \"auto\" y turtleshape es un polígono, ese polígono es dibujado " "con el mismo grosor de línea. Si no se dan argumentos, devuelve el grosor " "del lápiz actual." @@ -1103,7 +1103,7 @@ msgstr "\"pensize\": número positivo" #: ../Doc/library/turtle.rst:844 msgid "\"speed\": number in range 0..10" -msgstr "\"speed\": número en rango 0..10" +msgstr "\"speed\": número en el rango 0..10" #: ../Doc/library/turtle.rst:845 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" @@ -1428,7 +1428,7 @@ msgstr "Devuelve ``True`` si la tortuga se muestra, ``False`` si está oculta." #: ../Doc/library/turtle.rst:1161 msgid "a string which is a valid shapename" -msgstr "una cadena de caracteres que es un nombre de forma valido" +msgstr "una cadena de caracteres que es un nombre de forma válido" #: ../Doc/library/turtle.rst:1163 msgid "" @@ -1438,7 +1438,7 @@ msgid "" "\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". To learn " "about how to deal with shapes see Screen method :func:`register_shape`." msgstr "" -"Establece la forma de la tortuga al *name\" que se establece o, si no se " +"Establece la forma de la tortuga al *name* que se establece o, si no se " "establece un nmbre, devuelve el nombre actual de su forma. La forma *name* " "debe existir en el diccionario de formas de *TurtleScreen*. Inicialmente " "están las siguientes formas poligonales: \"*arrow*\", \"*turtle*\", " @@ -1457,7 +1457,7 @@ msgid "" "the following effects:" msgstr "" "Establece *resizemode* a alguno de los valores: \"*auto*\", \"*user*\", " -"\"*noresize*\". SI *mode* no se aporta, devuelve el actual *resizemode*. " +"\"*noresize*\". Si *mode* no se aporta, devuelve el actual *resizemode*. " "Distintos *resizemode* tienen los siguientes efectos:" #: ../Doc/library/turtle.rst:1187 @@ -1590,7 +1590,7 @@ msgstr "" "Si no se proporciona ninguno de los elementos de la matriz, devuelve la " "matriz de transformación como una tupla de 4 elementos. De lo contrario, " "establezca los elementos dados y transforme la forma de tortuga de acuerdo " -"con la matriz consistente en una primer columna *t11*, t12 y la segunda " +"con la matriz consistente en una primer columna t11, t12 y la segunda " "columna t21, 22. El determinante t11 * t22 - t12 * t21 no debe ser cero, de " "lo contrario se genera un error. Modificar el factor de estiramiento, factor " "de corte y el ángulo de inclinación de acuerdo con la matriz dada." @@ -1626,7 +1626,7 @@ msgid "" "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " "it will replace a former binding" msgstr "" -"``True`` o ``False`` -- si ``True``, se agrega un nuevo enlace, de lo " +"``True`` o ``False`` -- si es ``True``, se agrega un nuevo enlace, de lo " "contrario reemplazará el enlace anterior" #: ../Doc/library/turtle.rst:1372 @@ -1755,7 +1755,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1545 msgid "Create an empty Shape object of type \"compound\"." -msgstr "Crear una objeto de forma vacía del tupo *compound*." +msgstr "Crear una objeto de forma vacía del tipo *compound*." #: ../Doc/library/turtle.rst:1546 msgid "" @@ -1887,7 +1887,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1668 msgid "e.g. to search for an erroneously escaped turtle ;-)" -msgstr "p.ej. buscar una tortuga que se escapó por error ;-)" +msgstr "ej. buscar una tortuga que se escapó por error ;-)" #: ../Doc/library/turtle.rst:1673 msgid "a number, x-coordinate of lower left corner of canvas" @@ -2530,7 +2530,7 @@ msgstr "" #: ../Doc/library/turtle.rst:2202 msgid "Calling :func:`help` on methods or functions displays the docstrings::" -msgstr "Llamar a :func:`help` en métodos o funciones muestra los docstrings ::" +msgstr "Llamar a :func:`help` en métodos o funciones muestra los docstrings::" #: ../Doc/library/turtle.rst:2233 msgid "" @@ -2538,7 +2538,7 @@ msgid "" "modified form::" msgstr "" "Los docstrings de las funciones que se derivan de los métodos tienen una " -"forma modificada:" +"forma modificada::" #: ../Doc/library/turtle.rst:2267 msgid "" @@ -2660,7 +2660,7 @@ msgid "" "screensize`." msgstr "" "Las líneas 5 y 6 corresponden a los argumentos del método :meth:`Screen." -"screen size`." +"screensize`." #: ../Doc/library/turtle.rst:2340 msgid "" @@ -2751,7 +2751,7 @@ msgid "" msgstr "" "El paquete :mod:`turtledemo` incluye un conjunto de scripts de demostración. " "Estos scripts se pueden ejecutar y visualizar utilizando el visor de " -"demostración suministrado de la siguiente manera:" +"demostración suministrado de la siguiente manera::" #: ../Doc/library/turtle.rst:2378 msgid "" From b5dc152bf12c040f532396814f00758a4b212b12 Mon Sep 17 00:00:00 2001 From: Federico Date: Sat, 27 Feb 2021 13:33:20 -0300 Subject: [PATCH 147/153] Translate using/windows.po (#302) Apply suggestions --- using/windows.po | 71 ++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/using/windows.po b/using/windows.po index 97cc056aae..411679e164 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-01-02 16:24-0300\n" +"PO-Revision-Date: 2021-02-27 13:30-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -54,7 +54,7 @@ msgstr "" "intérprete principal y la biblioteca para ser usados por un solo usuario. El " "instalador también es capaz de hacer la instalación para todos los usuarios " "de una única máquina, y un archivo ZIP separado está disponible para " -"distribuciones locales junto a aplicaciones." +"distribuciones locales (específicas) para cada aplicación." #: ../Doc/using/windows.rst:24 msgid "" @@ -93,7 +93,7 @@ msgid "" "corrupting other programs. It also provides many convenient commands for " "launching Python and its tools." msgstr "" -":ref:`windows-store` es una instalación de Python simple que es adecuada " +":ref:`windows-store` es una instalación simple de Python que es adecuada " "para ejecutar scripts y paquetes, y para usar IDLE u otros entornos de " "desarrollo. Requiere Windows 10, pero la instalación puede hacerse de forma " "segura sin corromper otros programas. También proporciona muchos comandos " @@ -148,7 +148,8 @@ msgstr "" #: ../Doc/using/windows.rst:65 msgid "After starting the installer, one of two options may be selected:" msgstr "" -"Luego de iniciar el instalador, una o dos opciones pueden ser seleccionadas:" +"Luego de iniciar el instalador, se puede seleccionar una de estas dos " +"opciones:" #: ../Doc/using/windows.rst:69 msgid "If you select \"Install Now\":" @@ -172,13 +173,13 @@ msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" msgstr "" -"El :ref:`launcher` será instalado de acuerdo con las opciones en la parte " +"El :ref:`launcher` será instalado de acuerdo con la opción en la parte " "inferior de la primera página" #: ../Doc/using/windows.rst:77 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" -"La librería estándar, conjunto de pruebas, lanzador y pip serán instalados" +"La biblioteca estándar, conjunto de pruebas, lanzador y pip serán instalados" #: ../Doc/using/windows.rst:78 msgid "If selected, the install directory will be added to your :envvar:`PATH`" @@ -230,7 +231,7 @@ msgstr "" #: ../Doc/using/windows.rst:92 msgid "The standard library can be pre-compiled to bytecode" -msgstr "La librería estándar puede ser precompilada a bytecode" +msgstr "La biblioteca estándar puede ser precompilada a bytecode" #: ../Doc/using/windows.rst:93 msgid "" @@ -382,7 +383,7 @@ msgstr "DefaultAllUsersTargetDir" #: ../Doc/using/windows.rst:149 msgid "The default installation directory for all-user installs" msgstr "" -"El directorio predeterminado de instalación para instalaciones de todos los " +"El directorio predeterminado de instalación cuando se instala para todos los " "usuarios" #: ../Doc/using/windows.rst:149 @@ -498,7 +499,7 @@ msgstr "Include_dev" #: ../Doc/using/windows.rst:181 msgid "Install developer headers and libraries" -msgstr "Instalar encabezados y librerías de desarrollo" +msgstr "Instalar encabezados y bibliotecas de desarrollo" #: ../Doc/using/windows.rst:184 msgid "Include_exe" @@ -530,7 +531,7 @@ msgstr "Include_lib" #: ../Doc/using/windows.rst:192 msgid "Install standard library and extension modules" -msgstr "Instalar la librería estándar y los módulos de extensión" +msgstr "Instalar la biblioteca estándar y los módulos de extensión" #: ../Doc/using/windows.rst:195 msgid "Include_pip" @@ -562,7 +563,7 @@ msgstr "Include_test" #: ../Doc/using/windows.rst:201 msgid "Install standard library test suite" -msgstr "Instalar el conjunto de pruebas de la librería estándar" +msgstr "Instalar el conjunto de pruebas de la biblioteca estándar" #: ../Doc/using/windows.rst:203 msgid "Include_tools" @@ -721,7 +722,7 @@ msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." msgstr "" -"\"Reparar\" verificará todos los archivos que deben instalarse con " +"\"Reparar\" verificará todos los archivos que deben instalarse con la " "configuración actual y reemplazará los que se hayan eliminado o modificado." #: ../Doc/using/windows.rst:285 @@ -934,7 +935,7 @@ msgstr "" "contiene un archivo de propiedades MSBuild ``Python.props`` que puede ser " "usado en un proyecto C++ para referenciar la instalación de Python. Al " "incluir las configuraciones, automáticamente se usarán los encabezados y se " -"importarán las librerías en la compilación." +"importarán las bibliotecas en la compilación." #: ../Doc/using/windows.rst:394 msgid "" @@ -974,10 +975,10 @@ msgid "" msgstr "" "Al ser extraída, la distribución incrustable está (casi) completamente " "aislada del sistema del usuario, incluyendo variables de entorno, " -"configuraciones del registro del sistema y paquetes instalados. La librería " -"estándar se incluye como archivos ``.pyc`` precompilados y optimizados " -"dentro de un ZIP, y ``python3.dll``, ``python37.dll``, ``python.exe`` y " -"``pythonw.exe`` están todos proporcionados. Tcl/tk (incluidos sus " +"configuraciones del registro del sistema y paquetes instalados. La " +"biblioteca estándar se incluye como archivos ``.pyc`` precompilados y " +"optimizados dentro de un ZIP, y ``python3.dll``, ``python37.dll``, ``python." +"exe`` y ``pythonw.exe`` están todos proporcionados. Tcl/tk (incluidos sus " "dependientes, como Idle), pip y la documentación de Python no están " "incluidos." @@ -1387,7 +1388,7 @@ msgstr "" "instrucciones en :ref:`setting-envvars`. Se necesita configurar la variable " "de entorno :envvar:`PATH` para que incluya el directorio de instalación de " "Python, separándolo con punto y coma (;) de las otras entradas. Una variable " -"de ejemplo pude verse así (asumiendo que las dos primeras entradas ya " +"de ejemplo pude verse así (suponiendo que las dos primeras entradas ya " "existían)::" #: ../Doc/using/windows.rst:608 @@ -1483,7 +1484,7 @@ msgstr "" #: ../Doc/using/windows.rst:645 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" -"E/S de consola, incluía la E/S estándar (consultar :pep:`528` para más " +"E/S de consola, incluída la E/S estándar (consultar :pep:`528` para más " "detalles)." #: ../Doc/using/windows.rst:646 @@ -1516,8 +1517,8 @@ msgid "" msgstr "" "A diferencia de la variable :envvar:`PATH`, el lanzador seleccionará " "correctamente la versión más apropiada de Python. Priorizará instalaciones " -"del usuario por sobre instalaciones de todo el sistema, y ordena las " -"versiones por idioma en lugar de utilizar la más recientemente instalada." +"del usuario por sobre instalaciones de todo el sistema, y ordenará por " +"versión del lenguaje en lugar de utilizar la más recientemente instalada." #: ../Doc/using/windows.rst:666 msgid "The launcher was originally specified in :pep:`397`." @@ -1603,10 +1604,10 @@ msgid "" msgstr "" "Si el lanzador es ejecutado sin explícita especificación de la versión de " "Python, y un entorno virtual se encuentra activo (creado con el módulo :mod:" -"`venv` de la librería estándar o con la herramienta externa ``virtualenv``), " -"el lanzador ejecutará el intérprete del entorno virtual en lugar del global. " -"Para ejecutar el intérprete global, desactive el entorno virtual o " -"especifique explícitamente la versión global de Python." +"`venv` de la biblioteca estándar o con la herramienta externa " +"``virtualenv``), el lanzador ejecutará el intérprete del entorno virtual en " +"lugar del global. Para ejecutar el intérprete global, desactive el entorno " +"virtual o especifique explícitamente la versión global de Python." #: ../Doc/using/windows.rst:729 msgid "From a script" @@ -1644,7 +1645,7 @@ msgstr "" "Al ejecutar nuevamente el comando se debería imprimir la información del " "último Python 3.x. Al igual que en los ejemplos de línea de comandos " "anteriores, se puede especificar un calificador de versión más explícito. " -"Asumiendo que tiene instalado Python 2.6, pruebe cambiar la primera línea a " +"Suponiendo que tiene instalado Python 2.6, pruebe cambiar la primera línea a " "``#! python2.6`` y debería ver que se imprime la información de la versión " "2.6." @@ -1827,10 +1828,10 @@ msgid "" msgstr "" "El lanzador buscará dos archivos .ini - ``py.ini`` en el directorio de " "\"datos de aplicación\" del usuario actual (esto es el directorio retornado " -"por el llamado a la función ``SHGetFolderPath`` con ``CSIDL_LOCAL_APPDATA``) " -"y ``py.ini`` en el directorio del lanzador. Los mismos archivos .ini son " -"usados por la versión 'consola' del lanzador (py.exe) y por la versión " -"'ventana' (pyw.exe)." +"por el llamado a la función de Windows ``SHGetFolderPath`` con " +"``CSIDL_LOCAL_APPDATA``) y ``py.ini`` en el directorio del lanzador. Los " +"mismos archivos .ini son usados por la versión 'consola' del lanzador (py." +"exe) y por la versión 'ventana' (pyw.exe)." #: ../Doc/using/windows.rst:849 msgid "" @@ -2299,7 +2300,7 @@ msgid "" "packages." msgstr "" "Esto asegura que los archivos de una instalación del sistema no tendrán " -"precedencia por sobre la copia de la librería estándar incluida en su " +"precedencia por sobre la copia de la biblioteca estándar incluida en su " "aplicación. De otra manera, los usuarios podrían experimentar problemas al " "utilizar su aplicación. Tenga en cuenta que la primera sugerencia es la " "mejor, ya que las otras aún pueden ser afectadas por rutas no estándar en el " @@ -2456,8 +2457,8 @@ msgid "" "well: Windows Console I/O for Python." msgstr "" "Dado que la capa de manejo avanzado de terminales de Python, :mod:`curses`, " -"se encuentra restringida a sistemas tipo Unix, también hay una librería " -"exclusiva para Windows: Windows Console I/O para Python" +"se encuentra restringida a sistemas tipo Unix, también hay una biblioteca " +"exclusiva para Windows: Windows Console I/O para Python." #: ../Doc/using/windows.rst:1126 msgid "" @@ -2523,8 +2524,8 @@ msgid "" "and without Microsoft Visual C++\" by Sébastien Sauvage, 2003" msgstr "" "o \"Creating Python extensions in C/C++ with SWIG and compiling them with " -"MinGW gcc under Windows\" or \"Installing Python extension with distutils " -"and without Microsoft Visual C++\" por Sébastien Sauvage, 2003" +"MinGW gcc under Windows\" o \"Installing Python extension with distutils and " +"without Microsoft Visual C++\" por Sébastien Sauvage, 2003" #: ../Doc/using/windows.rst:1155 msgid "`MingW -- Python extensions `_" From dacfdd7dabc7757c4092348176ceb44de6f56902 Mon Sep 17 00:00:00 2001 From: Federico Date: Sat, 27 Feb 2021 13:44:29 -0300 Subject: [PATCH 148/153] Translate using/windows.po (#302) Fix spelling --- using/windows.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/using/windows.po b/using/windows.po index 411679e164..09fe0d369e 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-27 13:30-0300\n" +"PO-Revision-Date: 2021-02-27 13:43-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1484,7 +1484,7 @@ msgstr "" #: ../Doc/using/windows.rst:645 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" -"E/S de consola, incluída la E/S estándar (consultar :pep:`528` para más " +"E/S de consola, incluida la E/S estándar (consultar :pep:`528` para más " "detalles)." #: ../Doc/using/windows.rst:646 From f89f729d67ec4c43f808d116dd5c3b053f0cf4f4 Mon Sep 17 00:00:00 2001 From: Federico Date: Sat, 27 Feb 2021 14:11:55 -0300 Subject: [PATCH 149/153] Translate using/windows.po (#302) More corrections --- using/windows.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/using/windows.po b/using/windows.po index 09fe0d369e..005c02c1b8 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-27 13:43-0300\n" +"PO-Revision-Date: 2021-02-27 14:06-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -474,7 +474,7 @@ msgstr "Shortcuts" msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" -"Crear accesos director para el intérprete, documentación e IDLE si está " +"Crear accesos directos para el intérprete, documentación e IDLE si está " "instalado." #: ../Doc/using/windows.rst:177 @@ -1656,10 +1656,10 @@ msgid "" "compatibility and for compatibility with Unix, where the command ``python`` " "typically refers to Python 2." msgstr "" -"Tenga en cuenta que a diferencia del uso interactivo, un despojado \"python" -"\" utilizará la última versión de Python 2.x que esté instalada. Esto es así " -"por compatibilidad con versiones anteriores y por compatibilidad con Unix, " -"donde el comando ``python`` usualmente refiere a Python 2." +"Tenga en cuenta que a diferencia del uso interactivo, el comando \"python" +"\" (a secas) utilizará la última versión de Python 2.x que esté instalada. " +"Esto es así por compatibilidad con versiones anteriores y por compatibilidad " +"con Unix, donde el comando ``python`` usualmente refiere a Python 2." #: ../Doc/using/windows.rst:765 msgid "From file associations" From 6990864061bbc6d97c420c7a4624dc5cf30a8258 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Wed, 3 Mar 2021 21:20:29 -0300 Subject: [PATCH 150/153] Update library/turtle.po --- library/turtle.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/turtle.po b/library/turtle.po index 1c4f5aea38..cee54c831f 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1381,7 +1381,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1100 msgid "object to be written to the TurtleScreen" -msgstr "objeto que se escribirá en la pantalla de la tortuga" +msgstr "objeto que se escribirá en *TurtleScreen*" #: ../Doc/library/turtle.rst:1101 msgid "True/False" From 9ef15cc949a714d7c93bc3a2fc44416eba979064 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Wed, 3 Mar 2021 21:48:30 -0300 Subject: [PATCH 151/153] ajuste powrap --- library/turtle.po | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index cee54c831f..a1010c8849 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -11,13 +11,13 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-12-21 18:22+0100\n" +"PO-Revision-Date: 2021-03-03 21:47-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 2.4.2\n" "Last-Translator: Cristián Maureira-Fredes \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: es_AR\n" @@ -687,8 +687,8 @@ msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" -"Mover hacia adelante la tortuga la *ditance* especificada, en la " -"dirección en la que la tortuga apunta." +"Mover hacia adelante la tortuga la *ditance* especificada, en la dirección " +"en la que la tortuga apunta." #: ../Doc/library/turtle.rst:269 ../Doc/library/turtle.rst:473 #: ../Doc/library/turtle.rst:748 ../Doc/library/turtle.rst:1256 @@ -1273,7 +1273,9 @@ msgstr "" #: ../Doc/library/turtle.rst:986 msgid "Return or set pencolor and fillcolor." -msgstr "Devuelve o establece el color del lápiz y el color de relleno." +msgstr "" +"Retorna o establece *pencolor* (el color del lápiz) y *fillcolor* (el color " +"de relleno)." #: ../Doc/library/turtle.rst:988 msgid "" From 4f7c5a9cfa3500a81d84cba61d37b0c84fa90ff8 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Mon, 15 Mar 2021 15:49:43 -0300 Subject: [PATCH 152/153] Realizo las correcciones --- howto/functional.po | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index 889ac1f74e..2985d66706 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-02-03 19:54-0300\n" +"PO-Revision-Date: 2021-03-15 15:48-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "" #: ../Doc/howto/functional.rst:3 msgid "Functional Programming HOWTO" -msgstr "Cómo hacer programación funcional" +msgstr "HOWTO - Programación funcional" #: ../Doc/howto/functional.rst msgid "Author" @@ -173,9 +173,9 @@ msgstr "" "funciones. Cada función opera sobre su entrada y produce alguna salida. El " "estilo funcional desalienta las funciones con efectos secundarios que " "modifican el estado interno o hacen otros cambios que no son visibles en el " -"valor de retorno de la función. Las funciones que no tienen efectos " -"secundarios en absoluto se llaman **puramente funcionales**. Evitar los " -"efectos secundarios significa no usar estructuras de datos que se actualicen " +"valor de retorno de la función. Las funciones que no tienen ningún efecto " +"secundario se llaman **puramente funcionales**. Evitar los efectos " +"secundarios significa no usar estructuras de datos que se actualicen " "mientras se ejecuta un programa; cada salida de la función debe depender " "solo de su entrada." @@ -192,10 +192,10 @@ msgstr "" "Algunos lenguajes son muy estrictos sobre la pureza y ni siquiera tienen " "sentencias de asignación como ``a=3`` o ``c = a + b``, pero es difícil " "evitar todos los efectos secundarios. Imprimir en la pantalla o escribir en " -"un archivo en disco son efectos secundarios, por ejemplo. Por ejemplo, en " -"Python una llamada a la función :func:`print` o :func:`time.sleep` retorna " -"un valor inútil; solo se llaman por sus efectos secundarios de enviar algún " -"texto a la pantalla o pausar la ejecución por un segundo." +"un archivo en disco son efectos secundarios. Por ejemplo, en Python una " +"llamada a la función :func:`print` o :func:`time.sleep` retorna un valor " +"inútil; solo se llaman por sus efectos secundarios de enviar algún texto a " +"la pantalla o pausar la ejecución por un segundo." #: ../Doc/howto/functional.rst:74 msgid "" @@ -332,7 +332,7 @@ msgid "" "wrongly believe you've proved the program correct." msgstr "" "Desafortunadamente, demostrar que los programas son correctos es en gran " -"parte impráctico y no relevante al software de Python. Aún los programas " +"parte impráctico y no relevante al software de Python. Incluso los programas " "triviales requieren demostraciones que tienen varias páginas; la " "demostración de correctitud para un programa moderadamente complicado sería " "enorme, y pocos o ninguno de los programas que usa diariamente (el " @@ -469,7 +469,7 @@ msgid "" "lists and dictionaries. An object is called :term:`iterable` if you can get " "an iterator for it." msgstr "" -"La función integrada :func:`iter` recibe un objeto arbitrario e intenta " +"La función incorporada :func:`iter` recibe un objeto arbitrario e intenta " "retornar un iterador que retornará los contenidos o elementos del objeto, " "lanzando :exc:`TypeError` si el objeto no soporta iteración. Muchos tipos de " "datos integrados de Python soportan iteración, siendo los más comunes las " @@ -518,7 +518,7 @@ msgid "" "func:`min` will never return, and if the element X never appears in the " "stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either." msgstr "" -"Las funciones integradas como :func:`max` y :func:`min` pueden recibir un " +"Las funciones incorporadas como :func:`max` y :func:`min` pueden recibir un " "solo iterador como argumento y retornarán el elemento más grande o más " "pequeño. Los operadores ``\"in\"`` y ``\"not in\"`` también soportan " "iteradores: ``X in iterator`` es verdadero si X se encuentra en el flujo que " @@ -787,7 +787,7 @@ msgid "" "function where it left off? This is what generators provide; they can be " "thought of as resumable functions." msgstr "" -"Sin duda está familiarizado con cómo funcionan las llamadas a funciones " +"Sin duda está relacionado con cómo funcionan las llamadas a funciones " "regulares en Python o C. Cuando llama a una función, esta obtiene su espacio " "de nombres privado donde se crean sus variables locales. Cuando la función " "alcanza una sentencia ``return``, las variables locales son destruidas y el " @@ -1060,13 +1060,13 @@ msgstr "" #: ../Doc/howto/functional.rst:618 msgid "Built-in functions" -msgstr "Funciones integradas" +msgstr "Funciones incorporadas" #: ../Doc/howto/functional.rst:620 msgid "" "Let's look in more detail at built-in functions often used with iterators." msgstr "" -"Veamos con más detalle las funciones integradas usadas a menudo con " +"Veamos con más detalle las funciones incorporadas usadas a menudo con " "iteradores." #: ../Doc/howto/functional.rst:622 @@ -1074,7 +1074,7 @@ msgid "" "Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate " "the features of generator expressions:" msgstr "" -"Dos de las funciones integradas de Python, :func:`map` y :func:`filter` " +"Dos de las funciones incorporadas de Python, :func:`map` y :func:`filter` " "duplican las características de las expresiones generadoras:" #: ../Doc/howto/functional.rst:634 @@ -1157,7 +1157,7 @@ msgid "" "any element in the iterable is a true value, and :func:`all` returns " "``True`` if all of the elements are true values:" msgstr "" -"Las funciones integradas :func:`any(iter) ` y :func:`all(iter) ` " +"Las funciones incorporadas :func:`any(iter) ` y :func:`all(iter) ` " "ven los valores de verdad de los contenidos de un iterable. :func:`any` " "retorna ``True`` si algún elemento en el iterable es un valor verdadero, y :" "func:`all` retorna ``True`` si todos los elementos son valores verdaderos:" @@ -1594,8 +1594,8 @@ msgid "" "special built-in called :func:`sum` to compute it:" msgstr "" "Si usa :func:`operator.add` con :func:`functools.reduce`, sumará todos los " -"elementos del iterable. Este caso es tan común que hay una función integrada " -"especial llamada :func:`sum` para calcularla:" +"elementos del iterable. Este caso es tan común que hay una función " +"incorporada especial llamada :func:`sum` para calcularla:" #: ../Doc/howto/functional.rst:1055 msgid "" @@ -1685,8 +1685,8 @@ msgid "" "If there's a Python built-in or a module function that's suitable, you don't " "need to define a new function at all::" msgstr "" -"Si hay una función integrada o un módulo de Python, no necesita definir una " -"nueva función en absoluto::" +"Si hay una función incorporada o un módulo de Python, no necesita definir " +"una nueva función en absoluto::" #: ../Doc/howto/functional.rst:1110 msgid "" @@ -1750,7 +1750,7 @@ msgstr "" #: ../Doc/howto/functional.rst:1157 msgid "Or the :func:`sum` built-in and a generator expression::" -msgstr "O la función integrada :func:`sum` y una expresión generadora::" +msgstr "O la función incorporada :func:`sum` y una expresión generadora::" #: ../Doc/howto/functional.rst:1161 msgid "" From b8c569d43d9a0033d10c9ad28c51e74f18cd3547 Mon Sep 17 00:00:00 2001 From: Kajachuan Date: Thu, 18 Mar 2021 13:22:16 -0300 Subject: [PATCH 153/153] Aplico las sugerencias --- howto/functional.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/howto/functional.po b/howto/functional.po index 2985d66706..033eac2a3a 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2021-03-15 15:48-0300\n" +"PO-Revision-Date: 2021-03-18 13:21-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1177,11 +1177,11 @@ msgid "" "they're requested. (The technical term for this behaviour is `lazy " "evaluation `__.)" msgstr "" -"No construye una lista en memoria y agota todos los iteradores de entrada " -"antes de ejecutar; en lugar de eso, las tuplas se construyen y retornan solo " -"si son requeridas. (El término técnico para este comportamiento es " -"`evaluación perezosa `__.)" +"Esto no construye una lista en memoria y consume todos los iteradores de " +"entrada antes de ejecutar; en lugar de eso, las tuplas se construyen y " +"retornan solo si son requeridas. (El término técnico para este " +"comportamiento es `evaluación perezosa `__.)" #: ../Doc/howto/functional.rst:723 msgid "" @@ -1275,7 +1275,8 @@ msgid "" "provided. ::" msgstr "" ":func:`itertools.repeat(elem, [n]) ` retorna el elemento " -"provisto *n* veces, o retorna el elemento sin fin si no se provee *n*. ::" +"provisto *n* veces, o retorna el elemento indefinidamente si no se provee " +"*n*. ::" #: ../Doc/howto/functional.rst:778 msgid "" @@ -1320,12 +1321,12 @@ msgstr "" "retorna *n* iteradores independientes que retornarán los contenidos del " "iterador fuente. Si no suministra un valor para *n*, por defecto es 2. " "Replicar iteradores requiere guardar algunos de los contenidos del iterador " -"fuente, así este puede consumir memoria significativa si el iterador es " -"grande y uno de los nuevos iteradores se consume más que los otros. ::" +"fuente, esto puede consumir memoria significativa si el iterador es grande y " +"uno de los nuevos iteradores se consume más que los otros. ::" #: ../Doc/howto/functional.rst:819 msgid "Calling functions on elements" -msgstr "Llamar funciones con los elementos" +msgstr "Aplicar funciones a los elementos" #: ../Doc/howto/functional.rst:821 msgid "" @@ -1361,7 +1362,7 @@ msgid "" "on a predicate." msgstr "" "Otro grupo de funciones elige un subconjunto de elementos de un iterador " -"basado en un predicado." +"basado en un predicado dado." #: ../Doc/howto/functional.rst:844 msgid "" @@ -1540,9 +1541,9 @@ msgid "" msgstr "" "Para programas escritos en un estilo funcional, a veces querrá construir " "variantes de funciones existentes que tienen algunos de los parámetros " -"rellenados. Considere una función de Python ``f(a, b, c)``; puede querer " +"predefinidos. Considere una función de Python ``f(a, b, c)``; puede querer " "crear una nueva función ``g(b, c)`` que sea equivalente a ``f(1, b, c)``; " -"está rellenando un valor para uno de los parámetros de ``f()``. Esto se " +"está completando un valor para uno de los parámetros de ``f()``. Esto se " "llama \"aplicación parcial de funciones\"." #: ../Doc/howto/functional.rst:1002