From b739772a68cf8568a22f7d66d3b83ad306596706 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 10:08:22 +0100 Subject: [PATCH 01/26] Add file to be ignored on OSX --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 5ecc92b5f9..ed18f9e376 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,6 @@ coverage.xml .idea/ /translation-memory.po /locale/ + +# OSX +.DS_Store From 0675a7145ef1abfb2e560b06df9568bc7014f8ca Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 10:09:17 +0100 Subject: [PATCH 02/26] Add myself as a new translator --- TRANSLATORS | 1 + 1 file changed, 1 insertion(+) diff --git a/TRANSLATORS b/TRANSLATORS index 9858a86989..93cc2d5e77 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -5,3 +5,4 @@ Nicolás Demarchi (@gilgamezh) Manuel Kaufmann (@humitos) María Andrea Vignau (@mavignau @marian-vignau) Marco Richetta (@marcorichetta) +Sergio Delgado Quintero (@sdelquin) From ac3818a88f4c0ddc7f8f4001cfedb96b6acdf97b Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 10:09:40 +0100 Subject: [PATCH 03/26] Add some words to dict --- dict | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dict b/dict index c03a1b7446..0a4aaf93c8 100644 --- a/dict +++ b/dict @@ -1,5 +1,7 @@ +API ASCII Adler +Alex Associates Autocompletado Awk @@ -7,15 +9,17 @@ B Built C Circus -Cookbook Comos +Cookbook Fibonacci Flags Flying Fortran Fourier +HTML Index Interesantemente +Java Linux Mac Monty @@ -27,9 +31,12 @@ Pillow PyRun Python Reilly +Rezinsky +SYSV SciPy SimpleFileExFlags Smalltalk +Smalltalk Tk Tutorial Unicode @@ -55,7 +62,9 @@ collector comilla command compilada +consolelib criptográficamente +curses customización customizarlo datagramas @@ -71,6 +80,7 @@ docstrings ecualizadora else enrutamiento +env especificador estáticamente except @@ -119,10 +129,13 @@ mezclarlos mortem multi multilínea +ncurses nonlocal object +onexit option or +pads permitiéndole permutaciones pip @@ -195,6 +208,8 @@ sys t tab tabulación +termcap +testeo tipado tipear token From dd12ac19c9a941284eea281bc7955535ce8c9839 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 10:10:20 +0100 Subject: [PATCH 04/26] Add 30% of translations --- faq/library.po | 127 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 107 insertions(+), 20 deletions(-) diff --git a/faq/library.po b/faq/library.po index 01891fb6e0..cb33785c61 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1,37 +1,39 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/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: 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-05-10 10:07+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/faq/library.rst:5 msgid "Library and Extension FAQ" -msgstr "" +msgstr "Preguntas frecuentes sobre librerías y extensiones" #: ../Doc/faq/library.rst:8 msgid "Contents" -msgstr "" +msgstr "Contenidos" #: ../Doc/faq/library.rst:12 msgid "General Library Questions" -msgstr "" +msgstr "Cuestiones generales sobre librerías" #: ../Doc/faq/library.rst:15 msgid "How do I find a module or application to perform task X?" -msgstr "" +msgstr "¿Cómo encuentro un módulo o aplicación para ejecutar la tarea X?" #: ../Doc/faq/library.rst:17 msgid "" @@ -39,6 +41,9 @@ msgid "" "relevant standard library module. (Eventually you'll learn what's in the " "standard library and will be able to skip this step.)" msgstr "" +"Vea la :ref:`referencia de librerías ` para comprobar si " +"existe un módulo relevante en la librería estándar. (Eventualmente aprenderá " +"lo que hay en la librería estándar y será capaz de saltarse este paso.)" #: ../Doc/faq/library.rst:21 msgid "" @@ -47,10 +52,15 @@ msgid "" "engine. Searching for \"Python\" plus a keyword or two for your topic of " "interest will usually find something helpful." msgstr "" +"Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " +"` o pruebe `Google ` u otro motor " +"de búsqueda. Buscando por “*Python*” más una o dos palabras claves del tema " +"de interés generalmente encontrará algo útil." #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" msgstr "" +"¿Dónde está el fichero fuente *math.py* (*socket.py*, *regex.py*, etc.)?" #: ../Doc/faq/library.rst:30 msgid "" @@ -60,29 +70,37 @@ msgid "" "file:`mathmodule.c`, somewhere in a C source directory (not on the Python " "Path)." msgstr "" +"Si no puede encontrar un fichero fuente para un módulo, puede ser un módulo " +"incorporado o cargado dinámicamente implementado en C, C++ u otro lenguaje " +"compilado. En este caso puede no disponer del fichero fuente o puede ser " +"algo como :file:`mathmodule.c`, en algún lugar de un directorio fuente C " +"(fuera del Python *Path*)." #: ../Doc/faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" -msgstr "" +msgstr "Hay (al menos) tres tipos de módulos en Python:" #: ../Doc/faq/library.rst:37 msgid "modules written in Python (.py);" -msgstr "" +msgstr "módulos escritos en Python (.py);" #: ../Doc/faq/library.rst:38 msgid "" "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" +"módulos escritos en C y cargados dinámicamente (.dll, .pyd, .so, .sl, etc.);" #: ../Doc/faq/library.rst:39 msgid "" "modules written in C and linked with the interpreter; to get a list of " "these, type::" msgstr "" +"módulos escritos en C y enlazadas con el intérprete; para obtener una lista " +"de estos, escriba::" #: ../Doc/faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" -msgstr "" +msgstr "¿Cómo hago ejecutable un script Python en Unix?" #: ../Doc/faq/library.rst:49 msgid "" @@ -90,24 +108,33 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" +"Necesita hacer dos cosas: el modo del fichero de script debe ser ejecutable " +"y la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete " +"de Python." #: ../Doc/faq/library.rst:53 msgid "" "The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " "755 scriptfile``." msgstr "" +"Lo primero se hace ejecutando ``chmod +x scriptfile`` o bien ``chmod 755 " +"scriptfile``." #: ../Doc/faq/library.rst:56 msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" +"Lo segundo se puede hacer de distintas maneras. La manera más directa es " +"escribir ::" #: ../Doc/faq/library.rst:61 msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" +"en la primera línea de su fichero, usando la ruta donde está instalado el " +"intérprete de Python en su plataforma." #: ../Doc/faq/library.rst:64 msgid "" @@ -116,6 +143,10 @@ msgid "" "variants support the following, assuming the Python interpreter is in a " "directory on the user's :envvar:`PATH`::" msgstr "" +"Si quiere que el script sea independiente de dónde se ubique el intérprete " +"de Python, puede usar el :programa:`env`. Casi todas las variantes de Unix " +"soportan lo siguiente, asumiendo que el intérprete de Python está en un " +"directorio del :envvar:`PATH`: de usuario:" #: ../Doc/faq/library.rst:71 msgid "" @@ -123,6 +154,8 @@ msgid "" "scripts is often very minimal, so you need to use the actual absolute " "pathname of the interpreter." msgstr "" +"*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI " +"es mínima, así que necesita usar la ruta real absoluta al intérprete." #: ../Doc/faq/library.rst:75 msgid "" @@ -130,16 +163,21 @@ msgid "" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky):" msgstr "" +"Ocasionalmente, un entorno de usuario está tan lleno que el :programa:`/usr/" +"bin/env` falla; o bien no existe el programa env. En ese caso, puede " +"intentar el siguiente truco (gracias a Alex Rezinsky):" #: ../Doc/faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" +"Una pequeña desventaja es que esto define la cadena *doc*. Sin embargo, " +"puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" -msgstr "" +msgstr "Hay un paquete curses/termcap para Python?" #: ../Doc/faq/library.rst:98 msgid "" @@ -148,6 +186,10 @@ msgid "" "compiled by default. (Note that this is not available in the Windows " "distribution -- there is no curses module for Windows.)" msgstr "" +"Para variantes Unix: La distribución estándar de Python viene con un módulo " +"curses en el subdirectorio :source:`Modules`, aunque no está compilado por " +"defecto. (Nótese que esto no está disponible en la distribución Windows — no " +"hay módulo curses para Windows.) " #: ../Doc/faq/library.rst:103 msgid "" @@ -158,44 +200,56 @@ msgid "" "but there don't seem to be any currently maintained OSes that fall into this " "category." msgstr "" +"El módulo :mod:`curses` soporta características básicas de cursores así como " +"muchas funciones adicionales de ncurses y cursores SYSV como color, soporte " +"para conjuntos de caracteres alternativos, pads, y soporte para ratón. Esto " +"significa que el módulo no es compatible con sistemas operativos que sólo " +"tienen cursores BSD, pero no parece que ningún sistema operativo actualmente " +"mantenido caiga dentro de esta categoría." #: ../Doc/faq/library.rst:109 msgid "" "For Windows: use `the consolelib module `_." msgstr "" +"Para Windows: use `el módulo consolelib `_." #: ../Doc/faq/library.rst:114 msgid "Is there an equivalent to C's onexit() in Python?" -msgstr "" +msgstr "¿Hay un equivalente en Python al onexit() de C?" #: ../Doc/faq/library.rst:116 msgid "" "The :mod:`atexit` module provides a register function that is similar to " "C's :c:func:`onexit`." msgstr "" +"El módulo :mod:`atexit` proporciona una función de registro que es similar " +"a :c:func:`onexit` de C." #: ../Doc/faq/library.rst:121 msgid "Why don't my signal handlers work?" -msgstr "" +msgstr "¿Por qué no funcionan mis manejadores de señales?" #: ../Doc/faq/library.rst:123 msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" msgstr "" +"El problema más común es que el manejador de señales está declarado con la " +"lista incorrecta de argumentos. Se llama como ::" #: ../Doc/faq/library.rst:128 msgid "so it should be declared with two arguments::" -msgstr "" +msgstr "así que debería declararse con dos argumentos::" #: ../Doc/faq/library.rst:135 msgid "Common tasks" -msgstr "" +msgstr "Tareas comunes" #: ../Doc/faq/library.rst:138 msgid "How do I test a Python program or component?" -msgstr "" +msgstr "¿Cómo pruebo un programa o un componente Python?" #: ../Doc/faq/library.rst:140 msgid "" @@ -203,12 +257,18 @@ msgid "" "examples in the docstrings for a module and runs them, comparing the output " "with the expected output given in the docstring." msgstr "" +"Python viene con dos *frameworks* de *testing*. El módulo :mod:`doctest` " +"encuentra ejemplos en las cadenas de documentación para un módulo y los " +"ejecuta, comparando la salida con la salida esperada especificada en la " +"cadena de documentación." #: ../Doc/faq/library.rst:144 msgid "" "The :mod:`unittest` module is a fancier testing framework modelled on Java " "and Smalltalk testing frameworks." msgstr "" +"El módulo :mod:`unittest` es un *framework* de *testing* más agradable y " +"modelado sobre los *frameworks* de *testing* de Java y Smalltalk." #: ../Doc/faq/library.rst:147 msgid "" @@ -220,14 +280,23 @@ msgid "" "avoid depending on mutating global variables, since this makes testing much " "more difficult to do." msgstr "" +"Para hacer más fácil el *testing*, debería usar un buen diseño modular en su " +"programa. Su programa debería tener casi toda la funcionalidad encapsulada " +"bien en funciones o bien en método de clases — y esto algunas veces tiene el " +"efecto sorprendente y encantador de que su programa funcione más rápido " +"(porque los accesos a las variables locales son más rápidas que los accesos " +"a las variables globales). Además el programa debería evitar depender de la " +"mutación de variables globales, ya que esto dificulta mucho más hacer el " +"*testing*." #: ../Doc/faq/library.rst:155 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "" +"La “lógica global principal* de su programa puede ser tan simple como ::" #: ../Doc/faq/library.rst:160 msgid "at the bottom of the main module of your program." -msgstr "" +msgstr "al final del módulo principal de su programa." #: ../Doc/faq/library.rst:162 msgid "" @@ -240,12 +309,22 @@ msgid "" "the \"production code\", since this makes it easy to find bugs and even " "design flaws earlier." msgstr "" +"Una vez que su programa esté organizado en una colección manejable de " +"funciones y comportamientos de clases usted debería escribir funciones de " +"comprobación que ejerciten los comportamientos. Se puede asociar un conjunto " +"de pruebas a cada módulos. Esto suena a mucho trabajo, pero gracias a que " +"Python es tan y conciso y flexible, se hace sorprendentemente fácil. Puede " +"codificar de manera mucho más agradable y divertido escribiendo funciones de " +"comprobación en paralelo con el “código de producción”, ya que esto facilita " +"encontrar antes errores e incluso fallos de diseño." #: ../Doc/faq/library.rst:170 msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" +"Los “módulos de soporte” que no tienen la intención de estar en el módulo " +"principal de un programa pueden incluir una auto comprobación del módulo. ::" #: ../Doc/faq/library.rst:176 msgid "" @@ -253,10 +332,13 @@ msgid "" "when the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" +"Incluso los programas que interactúan con interfaces externas complejas se " +"pueden testar cuando las interfaces externas no están disponibles usando " +"interfaces “simuladas” implementadas en Python." #: ../Doc/faq/library.rst:182 msgid "How do I create documentation from doc strings?" -msgstr "" +msgstr "¿Cómo creo documentación a partir de los doctrings?" #: ../Doc/faq/library.rst:184 msgid "" @@ -265,10 +347,15 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" +"El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en " +"su código fuente Python. Una alternativa para crear documentación API " +"estrictamente desde doctrings es `epydoc `_. `Sphinx `_ también puede incluir contenido " +"docstring." #: ../Doc/faq/library.rst:191 msgid "How do I get a single keypress at a time?" -msgstr "" +msgstr "¿Cómo consigo presionar una única tecla cada vez?" #: ../Doc/faq/library.rst:193 msgid "" From d3d6f568bd982c413af5262c7f07ab1b15f92887 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 11:02:26 +0100 Subject: [PATCH 05/26] Fix bugs after reviewing generated docs --- dict | 3 +++ faq/library.po | 49 ++++++++++++++++++++++++------------------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/dict b/dict index 0a4aaf93c8..1e8d97568c 100644 --- a/dict +++ b/dict @@ -1,3 +1,6 @@ +math.py +socket.py +regex.py API ASCII Adler diff --git a/faq/library.po b/faq/library.po index cb33785c61..1a3a83be62 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 10:07+0100\n" +"PO-Revision-Date: 2020-05-10 11:01+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,14 +53,13 @@ msgid "" "interest will usually find something helpful." msgstr "" "Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " -"` o pruebe `Google ` u otro motor " -"de búsqueda. Buscando por “*Python*” más una o dos palabras claves del tema " -"de interés generalmente encontrará algo útil." +"`_ o pruebe `Google `_ u otro " +"motor de búsqueda. Buscando por “Python” más una o dos palabras clave del " +"tema de interés generalmente encontrará algo útil." #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "" -"¿Dónde está el fichero fuente *math.py* (*socket.py*, *regex.py*, etc.)?" +msgstr "¿Dónde está el fichero fuente math.py (socket.py, regex.py, etc.)?" #: ../Doc/faq/library.rst:30 msgid "" @@ -95,7 +94,7 @@ msgid "" "modules written in C and linked with the interpreter; to get a list of " "these, type::" msgstr "" -"módulos escritos en C y enlazadas con el intérprete; para obtener una lista " +"módulos escritos en C y enlazados con el intérprete; para obtener una lista " "de estos, escriba::" #: ../Doc/faq/library.rst:47 @@ -108,7 +107,7 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" -"Necesita hacer dos cosas: el modo del fichero de script debe ser ejecutable " +"Necesita hacer dos cosas: el modo del fichero del script debe ser ejecutable " "y la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete " "de Python." @@ -143,10 +142,10 @@ msgid "" "variants support the following, assuming the Python interpreter is in a " "directory on the user's :envvar:`PATH`::" msgstr "" -"Si quiere que el script sea independiente de dónde se ubique el intérprete " -"de Python, puede usar el :programa:`env`. Casi todas las variantes de Unix " -"soportan lo siguiente, asumiendo que el intérprete de Python está en un " -"directorio del :envvar:`PATH`: de usuario:" +"Si quiere que el script sea independiente de donde se ubique el intérprete " +"de Python, puede usar el programa :program:`env`. Casi todas las variantes " +"de Unix soportan lo siguiente, asumiendo que el intérprete de Python está en " +"un directorio del :envvar:`PATH`: de usuario:" #: ../Doc/faq/library.rst:71 msgid "" @@ -163,17 +162,17 @@ msgid "" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky):" msgstr "" -"Ocasionalmente, un entorno de usuario está tan lleno que el :programa:`/usr/" -"bin/env` falla; o bien no existe el programa env. En ese caso, puede " -"intentar el siguiente truco (gracias a Alex Rezinsky):" +"Ocasionalmente, un entorno de usuario está tan lleno que el programa :" +"program:`/usr/bin/env` falla; o bien no existe el programa env. En ese caso, " +"puede intentar el siguiente truco (gracias a Alex Rezinsky):" #: ../Doc/faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -"Una pequeña desventaja es que esto define la cadena *doc*. Sin embargo, " -"puede arreglarlo añadiendo ::" +"Una pequeña desventaja es que esto sobreescribe la cadena de documentación. " +"Sin embargo, puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" @@ -236,7 +235,7 @@ msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" msgstr "" -"El problema más común es que el manejador de señales está declarado con la " +"El problema más común es que el manejador de señales esté declarado con la " "lista incorrecta de argumentos. Se llama como ::" #: ../Doc/faq/library.rst:128 @@ -282,8 +281,8 @@ msgid "" msgstr "" "Para hacer más fácil el *testing*, debería usar un buen diseño modular en su " "programa. Su programa debería tener casi toda la funcionalidad encapsulada " -"bien en funciones o bien en método de clases — y esto algunas veces tiene el " -"efecto sorprendente y encantador de que su programa funcione más rápido " +"bien en funciones o bien en métodos de clases — y esto algunas veces tiene " +"el efecto sorprendente y encantador de que su programa funcione más rápido " "(porque los accesos a las variables locales son más rápidas que los accesos " "a las variables globales). Además el programa debería evitar depender de la " "mutación de variables globales, ya que esto dificulta mucho más hacer el " @@ -292,7 +291,7 @@ msgstr "" #: ../Doc/faq/library.rst:155 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "" -"La “lógica global principal* de su programa puede ser tan simple como ::" +"La “lógica global principal” de su programa puede ser tan simple como ::" #: ../Doc/faq/library.rst:160 msgid "at the bottom of the main module of your program." @@ -312,9 +311,9 @@ msgstr "" "Una vez que su programa esté organizado en una colección manejable de " "funciones y comportamientos de clases usted debería escribir funciones de " "comprobación que ejerciten los comportamientos. Se puede asociar un conjunto " -"de pruebas a cada módulos. Esto suena a mucho trabajo, pero gracias a que " -"Python es tan y conciso y flexible, se hace sorprendentemente fácil. Puede " -"codificar de manera mucho más agradable y divertido escribiendo funciones de " +"de pruebas a cada módulo. Esto suena a mucho trabajo, pero gracias a que " +"Python es conciso y flexible, se hace sorprendentemente fácil. Puede " +"codificar de manera mucho más agradable y divertida escribiendo funciones de " "comprobación en paralelo con el “código de producción”, ya que esto facilita " "encontrar antes errores e incluso fallos de diseño." @@ -333,7 +332,7 @@ msgid "" "implemented in Python." msgstr "" "Incluso los programas que interactúan con interfaces externas complejas se " -"pueden testar cuando las interfaces externas no están disponibles usando " +"pueden comprobar cuando las interfaces externas no están disponibles usando " "interfaces “simuladas” implementadas en Python." #: ../Doc/faq/library.rst:182 From f8715458e72b879b4c0f9370c56e35bb871edcb6 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:12:29 +0100 Subject: [PATCH 06/26] Add some words to dict --- dict | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dict b/dict index 1e8d97568c..b5016052f4 100644 --- a/dict +++ b/dict @@ -1,3 +1,15 @@ +Adam +Olsen +Greg +Stein +CPU +mutex +PVM +bytecode +VM +GIL +run +Aahz math.py socket.py regex.py @@ -132,6 +144,7 @@ mezclarlos mortem multi multilínea +multihilo ncurses nonlocal object From a9a1b4df3ea01a198b1e486c293a326bd7ead55f Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:12:47 +0100 Subject: [PATCH 07/26] Add 50% of translations --- faq/library.po | 98 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 10 deletions(-) diff --git a/faq/library.po b/faq/library.po index 1a3a83be62..4dcbe8e9f5 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 11:01+0100\n" +"PO-Revision-Date: 2020-05-10 12:31+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -361,14 +361,16 @@ msgid "" "For Unix variants there are several solutions. It's straightforward to do " "this using curses, but curses is a fairly large module to learn." msgstr "" +"Para variantes Unix hay varias soluciones. Lo más directo es hacerlo usando " +"cursores, pero curses es un módulo bastante amplio para aprenderlo." #: ../Doc/faq/library.rst:237 msgid "Threads" -msgstr "" +msgstr "Hilos" #: ../Doc/faq/library.rst:240 msgid "How do I program using threads?" -msgstr "" +msgstr "¿Cómo programo usando hilos?" #: ../Doc/faq/library.rst:242 msgid "" @@ -376,28 +378,38 @@ msgid "" "module. The :mod:`threading` module builds convenient abstractions on top of " "the low-level primitives provided by the :mod:`_thread` module." msgstr "" +"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. " +"El módulo :mod:`threading` construye abstracciones convenientes sobre las " +"primitivas de bajo nivel proporcionadas por el módulo :mod:`_thread`." #: ../Doc/faq/library.rst:246 msgid "" "Aahz has a set of slides from his threading tutorial that are helpful; see " "http://www.pythoncraft.com/OSCON2001/." msgstr "" +"Aahz tiene un conjunto de transparencias sobre su tutoría de hilos que es " +"útil: vea http://www.pythoncraft.com/OSCON2001/." #: ../Doc/faq/library.rst:251 msgid "None of my threads seem to run: why?" -msgstr "" +msgstr "Ninguno de mis hilos parece funcionar: ¿por qué?" #: ../Doc/faq/library.rst:253 msgid "" "As soon as the main thread exits, all threads are killed. Your main thread " "is running too quickly, giving the threads no time to do any work." msgstr "" +"Tan pronto como el hilo principal termine, se matan todos los hilos. Su hilo " +"principal está corriendo demasiado rápido, sin dar tiempo a los hilos para " +"hacer algún trabajo." #: ../Doc/faq/library.rst:256 msgid "" "A simple fix is to add a sleep to the end of the program that's long enough " "for all the threads to finish::" msgstr "" +"Una solución sencilla es añadir un *sleep* al final del programa que sea " +"suficientemente largo para que todos los hilos terminen::" #: ../Doc/faq/library.rst:271 msgid "" @@ -405,10 +417,16 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" +"Por ahora (en muchas plataformas) los hilos no corren en paralelo, pero " +"parece que corren secuencialmente, ¡uno a la vez! La razón es que el " +"planificador de hilos del sistema operativo no inicia un nuevo hilo hasta " +"que el hilo anterior está bloqueado." #: ../Doc/faq/library.rst:275 msgid "A simple fix is to add a tiny sleep to the start of the run function::" msgstr "" +"Una solución sencilla es añadir un pequeño *sleep* al comienzo de la función " +"run::" #: ../Doc/faq/library.rst:288 msgid "" @@ -418,16 +436,23 @@ msgid "" "the queue when it finishes, and let the main thread read as many tokens from " "the queue as there are threads." msgstr "" +"En vez de intentar adivinar un valor de retardo adecuado para :func:`time." +"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar " +"el módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo " +"añada un *token* a la cola cuando termine, y permitiendo al hilo principal " +"leer tantos tokens de la cola como hilos haya." #: ../Doc/faq/library.rst:296 msgid "How do I parcel out work among a bunch of worker threads?" -msgstr "" +msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?" #: ../Doc/faq/library.rst:298 msgid "" "The easiest way is to use the new :mod:`concurrent.futures` module, " "especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" +"La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, " +"especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`." #: ../Doc/faq/library.rst:301 msgid "" @@ -438,24 +463,33 @@ msgid "" "``.get()`` method to return them. The class will take care of the locking " "necessary to ensure that each job is handed out exactly once." msgstr "" +"O, si quiere tener un control más preciso sobre el algoritmo de despacho, " +"puede escribir su propia lógica manualmente. Use el módulo :mod:`queue` para " +"crear una cola que contenga una lista de trabajos. La clase :class:`~queue." +"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que " +"añade elementos a la cola y un método ``.get()`` que los devuelve. Esta " +"clase se encargará de los bloqueos necesarios para asegurar que cada trabajo " +"se reparte exactamente una vez." #: ../Doc/faq/library.rst:308 msgid "Here's a trivial example::" -msgstr "" +msgstr "Aquí hay un ejemplo trivial::" #: ../Doc/faq/library.rst:346 msgid "When run, this will produce the following output:" -msgstr "" +msgstr "Cuando se ejecute, esto producirá la siguiente salida:" #: ../Doc/faq/library.rst:364 msgid "" "Consult the module's documentation for more details; the :class:`~queue." "Queue` class provides a featureful interface." msgstr "" +"Consulte la documentación del módulo para más detalles; la clase :class:" +"`~queue.Queue` proporciona una interfaz llena de características." #: ../Doc/faq/library.rst:369 msgid "What kinds of global value mutation are thread-safe?" -msgstr "" +msgstr "¿Qué tipos de mutación de valores globales son *thread-safe*?" #: ../Doc/faq/library.rst:371 msgid "" @@ -466,6 +500,13 @@ msgid "" "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" +"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar " +"que sólo un hilo correo a la vez en la VM de Python. En general, Python " +"ofrece cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con " +"la que cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada " +"instrucción bytecode y por lo tanto toda la implementación de código C " +"alcanzada por cada instrucción es atómica desde el punto de vista de un " +"programa Python." #: ../Doc/faq/library.rst:378 msgid "" @@ -474,16 +515,23 @@ msgid "" "shared variables of built-in data types (ints, lists, dicts, etc) that " "\"look atomic\" really are." msgstr "" +"En teoría, esto significa que una cuenta exacta requiere de un conocimiento " +"exacto de la implementación en bytecode de la PVM. En la práctica, esto " +"significa que las operaciones entre variables compartidas de tipos de datos " +"*built-in* (enteros, listas, diccionarios, etc.) que “parecen atómicas” " +"realmente lo son." #: ../Doc/faq/library.rst:383 msgid "" "For example, the following operations are all atomic (L, L1, L2 are lists, " "D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" +"Por ejemplo, las siguientes operaciones son todas atómicas (L, L1, L2 son " +"listas, D, D1, D2 son diccionarios, x, y son objetos, i, j son enteros)::" #: ../Doc/faq/library.rst:398 msgid "These aren't::" -msgstr "" +msgstr "Estas no lo son::" #: ../Doc/faq/library.rst:405 msgid "" @@ -492,10 +540,15 @@ msgid "" "affect things. This is especially true for the mass updates to dictionaries " "and lists. When in doubt, use a mutex!" msgstr "" +"Las operaciones que reemplazan otros objetos pueden invocar el método :meth:" +"`__del__` de esos otros objetos cuando su número de referencias alcance " +"cero, y eso puede afectar a otras cosas. Esto es especialmente cierto para " +"las actualizaciones en masa de diccionarios y listas. Cuando se esté en " +"duda, ¡use un mutex!" #: ../Doc/faq/library.rst:412 msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "" +msgstr "¿Podemos deshacernos del *Global Interpreter Lock*?" #: ../Doc/faq/library.rst:416 msgid "" @@ -504,6 +557,11 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" +"El :term:`global interpreter lock` (GIL) se percibe a menudo como un " +"obstáculo en el desarrollo de Python sobre máquinas servidoras finales de " +"múltiples procesadores, porque un programa Python multihilo efectivamente " +"sólo usa una CPU, debido a la exigencia de que (casi) todo el código Python " +"sólo puede correr mientras el GIL esté activado." #: ../Doc/faq/library.rst:421 msgid "" @@ -516,6 +574,14 @@ msgid "" "due to the amount of fine-grained locking necessary to compensate for the " "removal of the GIL." msgstr "" +"En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio " +"de parches (los parches “libres de hilo”) que eliminaba el GIL y lo " +"reemplazaba con un bloqueo de grano fino. Adam Olsen hizo recientemente un " +"experimento similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos " +"exhibieron una aguda caída en el rendimiento (al menos del 30% o más baja), " +"debido a la cantidad de bloqueos de grano fino necesarios para compensar la " +"eliminación del GIL." #: ../Doc/faq/library.rst:429 msgid "" @@ -527,6 +593,13 @@ msgid "" "module provides a lower-level API in case you want more control over " "dispatching of tasks." msgstr "" +"¡Esto no significa que no pueda hacer buen uso de Python en máquinas de " +"múltiples CPU! Usted sólo tiene que ser creativo a la hora de dividir el " +"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La " +"clase :class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" +"`concurrent.futures` proporciona una manera sencilla de hacer esto; el " +"módulo :mod:`multiprocessing` proporciona una API de bajo nivel en caso de " +"que se quiera tener un mayor control sobre el despacho de las tareas." #: ../Doc/faq/library.rst:437 msgid "" @@ -536,6 +609,11 @@ msgid "" "work done. Some standard library modules such as :mod:`zlib` and :mod:" "`hashlib` already do this." msgstr "" +"El uso sensato de extensiones C también ayudará; si usa una extensión C para " +"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al " +"GIL mientras el hilo de ejecución esté en el código C y permite a otros " +"hilos hacer algún trabajo. Algunos módulos de la librería estándar tales " +"como :mod:`zlib` y :mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 msgid "" From 6fa39fe5f55ad0d8fa4529e463b0226517049241 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:14:14 +0100 Subject: [PATCH 08/26] =?UTF-8?q?Replace=20librer=C3=ADa=20with=20bibliote?= =?UTF-8?q?ca?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- faq/library.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/faq/library.po b/faq/library.po index 4dcbe8e9f5..67ad5093cb 100644 --- a/faq/library.po +++ b/faq/library.po @@ -21,7 +21,7 @@ msgstr "" #: ../Doc/faq/library.rst:5 msgid "Library and Extension FAQ" -msgstr "Preguntas frecuentes sobre librerías y extensiones" +msgstr "Preguntas frecuentes sobre bibliotecas y extensiones" #: ../Doc/faq/library.rst:8 msgid "Contents" @@ -29,7 +29,7 @@ msgstr "Contenidos" #: ../Doc/faq/library.rst:12 msgid "General Library Questions" -msgstr "Cuestiones generales sobre librerías" +msgstr "Cuestiones generales sobre bibliotecas" #: ../Doc/faq/library.rst:15 msgid "How do I find a module or application to perform task X?" @@ -41,9 +41,9 @@ msgid "" "relevant standard library module. (Eventually you'll learn what's in the " "standard library and will be able to skip this step.)" msgstr "" -"Vea la :ref:`referencia de librerías ` para comprobar si " -"existe un módulo relevante en la librería estándar. (Eventualmente aprenderá " -"lo que hay en la librería estándar y será capaz de saltarse este paso.)" +"Vea la :ref:`referencia de bibliotecas ` para comprobar si " +"existe un módulo relevante en la biblioteca estándar. (Eventualmente aprenderá " +"lo que hay en la biblioteca estándar y será capaz de saltarse este paso.)" #: ../Doc/faq/library.rst:21 msgid "" @@ -612,7 +612,7 @@ msgstr "" "El uso sensato de extensiones C también ayudará; si usa una extensión C para " "ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al " "GIL mientras el hilo de ejecución esté en el código C y permite a otros " -"hilos hacer algún trabajo. Algunos módulos de la librería estándar tales " +"hilos hacer algún trabajo. Algunos módulos de la biblioteca estándar tales " "como :mod:`zlib` y :mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 From c002d2083d53e63c5f742a7ea549ab8834a8060a Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:23:16 +0100 Subject: [PATCH 09/26] Fix suggested changes --- faq/library.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/faq/library.po b/faq/library.po index 67ad5093cb..33d93efa09 100644 --- a/faq/library.po +++ b/faq/library.po @@ -171,12 +171,12 @@ msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -"Una pequeña desventaja es que esto sobreescribe la cadena de documentación. " +"Una pequeña desventaja es que esto define el __doc__ del script. " "Sin embargo, puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" -msgstr "Hay un paquete curses/termcap para Python?" +msgstr "¿Hay un paquete curses/termcap para Python?" #: ../Doc/faq/library.rst:98 msgid "" @@ -257,7 +257,7 @@ msgid "" "with the expected output given in the docstring." msgstr "" "Python viene con dos *frameworks* de *testing*. El módulo :mod:`doctest` " -"encuentra ejemplos en las cadenas de documentación para un módulo y los " +"encuentra ejemplos en los docstrings para un módulo y los " "ejecuta, comparando la salida con la salida esperada especificada en la " "cadena de documentación." @@ -281,7 +281,7 @@ msgid "" msgstr "" "Para hacer más fácil el *testing*, debería usar un buen diseño modular en su " "programa. Su programa debería tener casi toda la funcionalidad encapsulada " -"bien en funciones o bien en métodos de clases — y esto algunas veces tiene " +"en funciones o en métodos de clases — y esto algunas veces tiene " "el efecto sorprendente y encantador de que su programa funcione más rápido " "(porque los accesos a las variables locales son más rápidas que los accesos " "a las variables globales). Además el programa debería evitar depender de la " @@ -309,12 +309,12 @@ msgid "" "design flaws earlier." msgstr "" "Una vez que su programa esté organizado en una colección manejable de " -"funciones y comportamientos de clases usted debería escribir funciones de " +"funciones y comportamientos de clases, usted debería escribir funciones de " "comprobación que ejerciten los comportamientos. Se puede asociar un conjunto " "de pruebas a cada módulo. Esto suena a mucho trabajo, pero gracias a que " -"Python es conciso y flexible, se hace sorprendentemente fácil. Puede " +"Python es tan conciso y flexible, se hace sorprendentemente fácil. Puede " "codificar de manera mucho más agradable y divertida escribiendo funciones de " -"comprobación en paralelo con el “código de producción”, ya que esto facilita " +"comprobación en paralelo con el \"código de producción\", ya que esto facilita " "encontrar antes errores e incluso fallos de diseño." #: ../Doc/faq/library.rst:170 @@ -322,8 +322,8 @@ msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" -"Los “módulos de soporte” que no tienen la intención de estar en el módulo " -"principal de un programa pueden incluir una auto comprobación del módulo. ::" +"Los \"módulos de soporte\" que no tienen la intención de estar en el módulo " +"principal de un programa pueden incluir un auto *test* del módulo. ::" #: ../Doc/faq/library.rst:176 msgid "" @@ -333,7 +333,7 @@ msgid "" msgstr "" "Incluso los programas que interactúan con interfaces externas complejas se " "pueden comprobar cuando las interfaces externas no están disponibles usando " -"interfaces “simuladas” implementadas en Python." +"interfaces \"simuladas\" implementadas en Python." #: ../Doc/faq/library.rst:182 msgid "How do I create documentation from doc strings?" From 0ef1b68bdf1d55f98d26b4736438158b0faa7970 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:23:28 +0100 Subject: [PATCH 10/26] Sort dict file --- dict | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dict b/dict index b5016052f4..8fc5f79f10 100644 --- a/dict +++ b/dict @@ -1,20 +1,7 @@ -Adam -Olsen -Greg -Stein -CPU -mutex -PVM -bytecode -VM -GIL -run -Aahz -math.py -socket.py -regex.py API ASCII +Aahz +Adam Adler Alex Associates @@ -23,6 +10,7 @@ Awk B Built C +CPU Circus Comos Cookbook @@ -31,6 +19,8 @@ Flags Flying Fortran Fourier +GIL +Greg HTML Index Interesantemente @@ -40,6 +30,8 @@ Mac Monty NumPy Numerical +Olsen +PVM Package Perl Pillow @@ -52,10 +44,12 @@ SciPy SimpleFileExFlags Smalltalk Smalltalk +Stein Tk Tutorial Unicode Unix +VM Windows X append @@ -72,6 +66,7 @@ bash batch big-endian bug +bytecode búfer collector comilla @@ -140,11 +135,13 @@ lexicográfico m manejador manejadores +math.py mezclarlos mortem multi -multilínea multihilo +multilínea +mutex ncurses nonlocal object @@ -186,8 +183,10 @@ referenciado referenciados referencian referenciarse +regex.py remove reordenar +run s script scripting @@ -206,6 +205,7 @@ sintácticamente situ sobreescriban sobreescribe +socket.py sockets solucionadores sort From 9ea8e9c5dceed0cf8d4e3f735075788948f6f86c Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 13:36:39 +0100 Subject: [PATCH 11/26] Add translations of pending GIL section --- faq/library.po | 443 +++++++++++++++++++++++++------------------------ 1 file changed, 222 insertions(+), 221 deletions(-) diff --git a/faq/library.po b/faq/library.po index 33d93efa09..3c3290b288 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 12:31+0100\n" +"PO-Revision-Date: 2020-05-10 13:35+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,9 +53,9 @@ msgid "" "interest will usually find something helpful." msgstr "" "Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " -"`_ o pruebe `Google `_ u otro " -"motor de búsqueda. Buscando por “Python” más una o dos palabras clave del " -"tema de interés generalmente encontrará algo útil." +"`_ o pruebe `Google `_ u otro motor " +"de búsqueda. Buscando por “Python” más una o dos palabras clave del tema de " +"interés generalmente encontrará algo útil." #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" @@ -64,16 +64,15 @@ msgstr "¿Dónde está el fichero fuente math.py (socket.py, regex.py, etc.)?" #: ../Doc/faq/library.rst:30 msgid "" "If you can't find a source file for a module it may be a built-in or " -"dynamically loaded module implemented in C, C++ or other compiled language. " -"In this case you may not have the source file or it may be something like :" -"file:`mathmodule.c`, somewhere in a C source directory (not on the Python " -"Path)." +"dynamically loaded module implemented in C, C++ or other compiled language. In " +"this case you may not have the source file or it may be something like :file:" +"`mathmodule.c`, somewhere in a C source directory (not on the Python Path)." msgstr "" "Si no puede encontrar un fichero fuente para un módulo, puede ser un módulo " "incorporado o cargado dinámicamente implementado en C, C++ u otro lenguaje " -"compilado. En este caso puede no disponer del fichero fuente o puede ser " -"algo como :file:`mathmodule.c`, en algún lugar de un directorio fuente C " -"(fuera del Python *Path*)." +"compilado. En este caso puede no disponer del fichero fuente o puede ser algo " +"como :file:`mathmodule.c`, en algún lugar de un directorio fuente C (fuera del " +"Python *Path*)." #: ../Doc/faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" @@ -84,18 +83,17 @@ msgid "modules written in Python (.py);" msgstr "módulos escritos en Python (.py);" #: ../Doc/faq/library.rst:38 -msgid "" -"modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" +msgid "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" "módulos escritos en C y cargados dinámicamente (.dll, .pyd, .so, .sl, etc.);" #: ../Doc/faq/library.rst:39 msgid "" -"modules written in C and linked with the interpreter; to get a list of " -"these, type::" +"modules written in C and linked with the interpreter; to get a list of these, " +"type::" msgstr "" -"módulos escritos en C y enlazados con el intérprete; para obtener una lista " -"de estos, escriba::" +"módulos escritos en C y enlazados con el intérprete; para obtener una lista de " +"estos, escriba::" #: ../Doc/faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" @@ -107,14 +105,14 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" -"Necesita hacer dos cosas: el modo del fichero del script debe ser ejecutable " -"y la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete " -"de Python." +"Necesita hacer dos cosas: el modo del fichero del script debe ser ejecutable y " +"la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete de " +"Python." #: ../Doc/faq/library.rst:53 msgid "" -"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " -"755 scriptfile``." +"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod 755 " +"scriptfile``." msgstr "" "Lo primero se hace ejecutando ``chmod +x scriptfile`` o bien ``chmod 755 " "scriptfile``." @@ -137,42 +135,42 @@ msgstr "" #: ../Doc/faq/library.rst:64 msgid "" -"If you would like the script to be independent of where the Python " -"interpreter lives, you can use the :program:`env` program. Almost all Unix " -"variants support the following, assuming the Python interpreter is in a " -"directory on the user's :envvar:`PATH`::" +"If you would like the script to be independent of where the Python interpreter " +"lives, you can use the :program:`env` program. Almost all Unix variants " +"support the following, assuming the Python interpreter is in a directory on " +"the user's :envvar:`PATH`::" msgstr "" -"Si quiere que el script sea independiente de donde se ubique el intérprete " -"de Python, puede usar el programa :program:`env`. Casi todas las variantes " -"de Unix soportan lo siguiente, asumiendo que el intérprete de Python está en " -"un directorio del :envvar:`PATH`: de usuario:" +"Si quiere que el script sea independiente de donde se ubique el intérprete de " +"Python, puede usar el programa :program:`env`. Casi todas las variantes de " +"Unix soportan lo siguiente, asumiendo que el intérprete de Python está en un " +"directorio del :envvar:`PATH`: de usuario:" #: ../Doc/faq/library.rst:71 msgid "" -"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI " -"scripts is often very minimal, so you need to use the actual absolute " -"pathname of the interpreter." +"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI scripts " +"is often very minimal, so you need to use the actual absolute pathname of the " +"interpreter." msgstr "" "*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI " "es mínima, así que necesita usar la ruta real absoluta al intérprete." #: ../Doc/faq/library.rst:75 msgid "" -"Occasionally, a user's environment is so full that the :program:`/usr/bin/" -"env` program fails; or there's no env program at all. In that case, you can " -"try the following hack (due to Alex Rezinsky):" +"Occasionally, a user's environment is so full that the :program:`/usr/bin/env` " +"program fails; or there's no env program at all. In that case, you can try " +"the following hack (due to Alex Rezinsky):" msgstr "" -"Ocasionalmente, un entorno de usuario está tan lleno que el programa :" -"program:`/usr/bin/env` falla; o bien no existe el programa env. En ese caso, " -"puede intentar el siguiente truco (gracias a Alex Rezinsky):" +"Ocasionalmente, un entorno de usuario está tan lleno que el programa :program:" +"`/usr/bin/env` falla; o bien no existe el programa env. En ese caso, puede " +"intentar el siguiente truco (gracias a Alex Rezinsky):" #: ../Doc/faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -"Una pequeña desventaja es que esto define el __doc__ del script. " -"Sin embargo, puede arreglarlo añadiendo ::" +"Una pequeña desventaja es que esto define el __doc__ del script. Sin embargo, " +"puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" @@ -180,24 +178,23 @@ msgstr "¿Hay un paquete curses/termcap para Python?" #: ../Doc/faq/library.rst:98 msgid "" -"For Unix variants: The standard Python source distribution comes with a " -"curses module in the :source:`Modules` subdirectory, though it's not " -"compiled by default. (Note that this is not available in the Windows " -"distribution -- there is no curses module for Windows.)" +"For Unix variants: The standard Python source distribution comes with a curses " +"module in the :source:`Modules` subdirectory, though it's not compiled by " +"default. (Note that this is not available in the Windows distribution -- there " +"is no curses module for Windows.)" msgstr "" "Para variantes Unix: La distribución estándar de Python viene con un módulo " "curses en el subdirectorio :source:`Modules`, aunque no está compilado por " "defecto. (Nótese que esto no está disponible en la distribución Windows — no " -"hay módulo curses para Windows.) " +"hay módulo curses para Windows.)" #: ../Doc/faq/library.rst:103 msgid "" "The :mod:`curses` module supports basic curses features as well as many " -"additional functions from ncurses and SYSV curses such as colour, " -"alternative character set support, pads, and mouse support. This means the " -"module isn't compatible with operating systems that only have BSD curses, " -"but there don't seem to be any currently maintained OSes that fall into this " -"category." +"additional functions from ncurses and SYSV curses such as colour, alternative " +"character set support, pads, and mouse support. This means the module isn't " +"compatible with operating systems that only have BSD curses, but there don't " +"seem to be any currently maintained OSes that fall into this category." msgstr "" "El módulo :mod:`curses` soporta características básicas de cursores así como " "muchas funciones adicionales de ncurses y cursores SYSV como color, soporte " @@ -208,11 +205,11 @@ msgstr "" #: ../Doc/faq/library.rst:109 msgid "" -"For Windows: use `the consolelib module `_." +"For Windows: use `the consolelib module `_." msgstr "" -"Para Windows: use `el módulo consolelib `_." +"Para Windows: use `el módulo consolelib `_." #: ../Doc/faq/library.rst:114 msgid "Is there an equivalent to C's onexit() in Python?" @@ -220,11 +217,11 @@ msgstr "¿Hay un equivalente en Python al onexit() de C?" #: ../Doc/faq/library.rst:116 msgid "" -"The :mod:`atexit` module provides a register function that is similar to " -"C's :c:func:`onexit`." +"The :mod:`atexit` module provides a register function that is similar to C's :" +"c:func:`onexit`." msgstr "" -"El módulo :mod:`atexit` proporciona una función de registro que es similar " -"a :c:func:`onexit` de C." +"El módulo :mod:`atexit` proporciona una función de registro que es similar a :" +"c:func:`onexit` de C." #: ../Doc/faq/library.rst:121 msgid "Why don't my signal handlers work?" @@ -232,8 +229,8 @@ msgstr "¿Por qué no funcionan mis manejadores de señales?" #: ../Doc/faq/library.rst:123 msgid "" -"The most common problem is that the signal handler is declared with the " -"wrong argument list. It is called as ::" +"The most common problem is that the signal handler is declared with the wrong " +"argument list. It is called as ::" msgstr "" "El problema más común es que el manejador de señales esté declarado con la " "lista incorrecta de argumentos. Se llama como ::" @@ -257,14 +254,13 @@ msgid "" "with the expected output given in the docstring." msgstr "" "Python viene con dos *frameworks* de *testing*. El módulo :mod:`doctest` " -"encuentra ejemplos en los docstrings para un módulo y los " -"ejecuta, comparando la salida con la salida esperada especificada en la " -"cadena de documentación." +"encuentra ejemplos en los docstrings para un módulo y los ejecuta, comparando " +"la salida con la salida esperada especificada en la cadena de documentación." #: ../Doc/faq/library.rst:144 msgid "" -"The :mod:`unittest` module is a fancier testing framework modelled on Java " -"and Smalltalk testing frameworks." +"The :mod:`unittest` module is a fancier testing framework modelled on Java and " +"Smalltalk testing frameworks." msgstr "" "El módulo :mod:`unittest` es un *framework* de *testing* más agradable y " "modelado sobre los *frameworks* de *testing* de Java y Smalltalk." @@ -280,18 +276,16 @@ msgid "" "more difficult to do." msgstr "" "Para hacer más fácil el *testing*, debería usar un buen diseño modular en su " -"programa. Su programa debería tener casi toda la funcionalidad encapsulada " -"en funciones o en métodos de clases — y esto algunas veces tiene " -"el efecto sorprendente y encantador de que su programa funcione más rápido " -"(porque los accesos a las variables locales son más rápidas que los accesos " -"a las variables globales). Además el programa debería evitar depender de la " -"mutación de variables globales, ya que esto dificulta mucho más hacer el " -"*testing*." +"programa. Su programa debería tener casi toda la funcionalidad encapsulada en " +"funciones o en métodos de clases — y esto algunas veces tiene el efecto " +"sorprendente y encantador de que su programa funcione más rápido (porque los " +"accesos a las variables locales son más rápidas que los accesos a las " +"variables globales). Además el programa debería evitar depender de la mutación " +"de variables globales, ya que esto dificulta mucho más hacer el *testing*." #: ../Doc/faq/library.rst:155 msgid "The \"global main logic\" of your program may be as simple as ::" -msgstr "" -"La “lógica global principal” de su programa puede ser tan simple como ::" +msgstr "La “lógica global principal” de su programa puede ser tan simple como ::" #: ../Doc/faq/library.rst:160 msgid "at the bottom of the main module of your program." @@ -301,12 +295,11 @@ msgstr "al final del módulo principal de su programa." msgid "" "Once your program is organized as a tractable collection of functions and " "class behaviours you should write test functions that exercise the " -"behaviours. A test suite that automates a sequence of tests can be " -"associated with each module. This sounds like a lot of work, but since " -"Python is so terse and flexible it's surprisingly easy. You can make coding " -"much more pleasant and fun by writing your test functions in parallel with " -"the \"production code\", since this makes it easy to find bugs and even " -"design flaws earlier." +"behaviours. A test suite that automates a sequence of tests can be associated " +"with each module. This sounds like a lot of work, but since Python is so terse " +"and flexible it's surprisingly easy. You can make coding much more pleasant " +"and fun by writing your test functions in parallel with the \"production code" +"\", since this makes it easy to find bugs and even design flaws earlier." msgstr "" "Una vez que su programa esté organizado en una colección manejable de " "funciones y comportamientos de clases, usted debería escribir funciones de " @@ -346,11 +339,10 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" -"El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en " -"su código fuente Python. Una alternativa para crear documentación API " -"estrictamente desde doctrings es `epydoc `_. `Sphinx `_ también puede incluir contenido " -"docstring." +"El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en su " +"código fuente Python. Una alternativa para crear documentación API " +"estrictamente desde doctrings es `epydoc `_. " +"`Sphinx `_ también puede incluir contenido docstring." #: ../Doc/faq/library.rst:191 msgid "How do I get a single keypress at a time?" @@ -374,12 +366,12 @@ msgstr "¿Cómo programo usando hilos?" #: ../Doc/faq/library.rst:242 msgid "" -"Be sure to use the :mod:`threading` module and not the :mod:`_thread` " -"module. The :mod:`threading` module builds convenient abstractions on top of " -"the low-level primitives provided by the :mod:`_thread` module." +"Be sure to use the :mod:`threading` module and not the :mod:`_thread` module. " +"The :mod:`threading` module builds convenient abstractions on top of the low-" +"level primitives provided by the :mod:`_thread` module." msgstr "" -"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. " -"El módulo :mod:`threading` construye abstracciones convenientes sobre las " +"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. El " +"módulo :mod:`threading` construye abstracciones convenientes sobre las " "primitivas de bajo nivel proporcionadas por el módulo :mod:`_thread`." #: ../Doc/faq/library.rst:246 @@ -396,8 +388,8 @@ msgstr "Ninguno de mis hilos parece funcionar: ¿por qué?" #: ../Doc/faq/library.rst:253 msgid "" -"As soon as the main thread exits, all threads are killed. Your main thread " -"is running too quickly, giving the threads no time to do any work." +"As soon as the main thread exits, all threads are killed. Your main thread is " +"running too quickly, giving the threads no time to do any work." msgstr "" "Tan pronto como el hilo principal termine, se matan todos los hilos. Su hilo " "principal está corriendo demasiado rápido, sin dar tiempo a los hilos para " @@ -417,10 +409,10 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" -"Por ahora (en muchas plataformas) los hilos no corren en paralelo, pero " -"parece que corren secuencialmente, ¡uno a la vez! La razón es que el " -"planificador de hilos del sistema operativo no inicia un nuevo hilo hasta " -"que el hilo anterior está bloqueado." +"Por ahora (en muchas plataformas) los hilos no corren en paralelo, pero parece " +"que corren secuencialmente, ¡uno a la vez! La razón es que el planificador de " +"hilos del sistema operativo no inicia un nuevo hilo hasta que el hilo anterior " +"está bloqueado." #: ../Doc/faq/library.rst:275 msgid "A simple fix is to add a tiny sleep to the start of the run function::" @@ -432,15 +424,15 @@ msgstr "" msgid "" "Instead of trying to guess a good delay value for :func:`time.sleep`, it's " "better to use some kind of semaphore mechanism. One idea is to use the :mod:" -"`queue` module to create a queue object, let each thread append a token to " -"the queue when it finishes, and let the main thread read as many tokens from " -"the queue as there are threads." +"`queue` module to create a queue object, let each thread append a token to the " +"queue when it finishes, and let the main thread read as many tokens from the " +"queue as there are threads." msgstr "" "En vez de intentar adivinar un valor de retardo adecuado para :func:`time." -"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar " -"el módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo " -"añada un *token* a la cola cuando termine, y permitiendo al hilo principal " -"leer tantos tokens de la cola como hilos haya." +"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar el " +"módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo añada " +"un *token* a la cola cuando termine, y permitiendo al hilo principal leer " +"tantos tokens de la cola como hilos haya." #: ../Doc/faq/library.rst:296 msgid "How do I parcel out work among a bunch of worker threads?" @@ -448,8 +440,8 @@ msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?" #: ../Doc/faq/library.rst:298 msgid "" -"The easiest way is to use the new :mod:`concurrent.futures` module, " -"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class." +"The easiest way is to use the new :mod:`concurrent.futures` module, especially " +"the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" "La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, " "especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`." @@ -466,10 +458,10 @@ msgstr "" "O, si quiere tener un control más preciso sobre el algoritmo de despacho, " "puede escribir su propia lógica manualmente. Use el módulo :mod:`queue` para " "crear una cola que contenga una lista de trabajos. La clase :class:`~queue." -"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que " -"añade elementos a la cola y un método ``.get()`` que los devuelve. Esta " -"clase se encargará de los bloqueos necesarios para asegurar que cada trabajo " -"se reparte exactamente una vez." +"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que añade " +"elementos a la cola y un método ``.get()`` que los devuelve. Esta clase se " +"encargará de los bloqueos necesarios para asegurar que cada trabajo se reparte " +"exactamente una vez." #: ../Doc/faq/library.rst:308 msgid "Here's a trivial example::" @@ -481,8 +473,8 @@ msgstr "Cuando se ejecute, esto producirá la siguiente salida:" #: ../Doc/faq/library.rst:364 msgid "" -"Consult the module's documentation for more details; the :class:`~queue." -"Queue` class provides a featureful interface." +"Consult the module's documentation for more details; the :class:`~queue.Queue` " +"class provides a featureful interface." msgstr "" "Consulte la documentación del módulo para más detalles; la clase :class:" "`~queue.Queue` proporciona una interfaz llena de características." @@ -493,27 +485,26 @@ msgstr "¿Qué tipos de mutación de valores globales son *thread-safe*?" #: ../Doc/faq/library.rst:371 msgid "" -"A :term:`global interpreter lock` (GIL) is used internally to ensure that " -"only one thread runs in the Python VM at a time. In general, Python offers " -"to switch among threads only between bytecode instructions; how frequently " -"it switches can be set via :func:`sys.setswitchinterval`. Each bytecode " +"A :term:`global interpreter lock` (GIL) is used internally to ensure that only " +"one thread runs in the Python VM at a time. In general, Python offers to " +"switch among threads only between bytecode instructions; how frequently it " +"switches can be set via :func:`sys.setswitchinterval`. Each bytecode " "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" -"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar " -"que sólo un hilo correo a la vez en la VM de Python. En general, Python " -"ofrece cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con " -"la que cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada " -"instrucción bytecode y por lo tanto toda la implementación de código C " -"alcanzada por cada instrucción es atómica desde el punto de vista de un " -"programa Python." +"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar que " +"sólo un hilo correo a la vez en la VM de Python. En general, Python ofrece " +"cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con la que " +"cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada instrucción " +"bytecode y por lo tanto toda la implementación de código C alcanzada por cada " +"instrucción es atómica desde el punto de vista de un programa Python." #: ../Doc/faq/library.rst:378 msgid "" "In theory, this means an exact accounting requires an exact understanding of " "the PVM bytecode implementation. In practice, it means that operations on " -"shared variables of built-in data types (ints, lists, dicts, etc) that " -"\"look atomic\" really are." +"shared variables of built-in data types (ints, lists, dicts, etc) that \"look " +"atomic\" really are." msgstr "" "En teoría, esto significa que una cuenta exacta requiere de un conocimiento " "exacto de la implementación en bytecode de la PVM. En la práctica, esto " @@ -523,8 +514,8 @@ msgstr "" #: ../Doc/faq/library.rst:383 msgid "" -"For example, the following operations are all atomic (L, L1, L2 are lists, " -"D, D1, D2 are dicts, x, y are objects, i, j are ints)::" +"For example, the following operations are all atomic (L, L1, L2 are lists, D, " +"D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" "Por ejemplo, las siguientes operaciones son todas atómicas (L, L1, L2 son " "listas, D, D1, D2 son diccionarios, x, y son objetos, i, j son enteros)::" @@ -536,15 +527,15 @@ msgstr "Estas no lo son::" #: ../Doc/faq/library.rst:405 msgid "" "Operations that replace other objects may invoke those other objects' :meth:" -"`__del__` method when their reference count reaches zero, and that can " -"affect things. This is especially true for the mass updates to dictionaries " -"and lists. When in doubt, use a mutex!" +"`__del__` method when their reference count reaches zero, and that can affect " +"things. This is especially true for the mass updates to dictionaries and " +"lists. When in doubt, use a mutex!" msgstr "" "Las operaciones que reemplazan otros objetos pueden invocar el método :meth:" -"`__del__` de esos otros objetos cuando su número de referencias alcance " -"cero, y eso puede afectar a otras cosas. Esto es especialmente cierto para " -"las actualizaciones en masa de diccionarios y listas. Cuando se esté en " -"duda, ¡use un mutex!" +"`__del__` de esos otros objetos cuando su número de referencias alcance cero, " +"y eso puede afectar a otras cosas. Esto es especialmente cierto para las " +"actualizaciones en masa de diccionarios y listas. Cuando se esté en duda, ¡use " +"un mutex!" #: ../Doc/faq/library.rst:412 msgid "Can't we get rid of the Global Interpreter Lock?" @@ -557,22 +548,21 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" -"El :term:`global interpreter lock` (GIL) se percibe a menudo como un " -"obstáculo en el desarrollo de Python sobre máquinas servidoras finales de " -"múltiples procesadores, porque un programa Python multihilo efectivamente " -"sólo usa una CPU, debido a la exigencia de que (casi) todo el código Python " -"sólo puede correr mientras el GIL esté activado." +"El :term:`global interpreter lock` (GIL) se percibe a menudo como un obstáculo " +"en el desarrollo de Python sobre máquinas servidoras finales de múltiples " +"procesadores, porque un programa Python multihilo efectivamente sólo usa una " +"CPU, debido a la exigencia de que (casi) todo el código Python sólo puede " +"correr mientras el GIL esté activado." #: ../Doc/faq/library.rst:421 msgid "" "Back in the days of Python 1.5, Greg Stein actually implemented a " -"comprehensive patch set (the \"free threading\" patches) that removed the " -"GIL and replaced it with fine-grained locking. Adam Olsen recently did a " -"similar experiment in his `python-safethread `_ project. Unfortunately, both experiments " -"exhibited a sharp drop in single-thread performance (at least 30% slower), " -"due to the amount of fine-grained locking necessary to compensate for the " -"removal of the GIL." +"comprehensive patch set (the \"free threading\" patches) that removed the GIL " +"and replaced it with fine-grained locking. Adam Olsen recently did a similar " +"experiment in his `python-safethread `_ project. Unfortunately, both experiments exhibited a sharp drop " +"in single-thread performance (at least 30% slower), due to the amount of fine-" +"grained locking necessary to compensate for the removal of the GIL." msgstr "" "En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio " "de parches (los parches “libres de hilo”) que eliminaba el GIL y lo " @@ -587,59 +577,73 @@ msgstr "" msgid "" "This doesn't mean that you can't make good use of Python on multi-CPU " "machines! You just have to be creative with dividing the work up between " -"multiple *processes* rather than multiple *threads*. The :class:" -"`~concurrent.futures.ProcessPoolExecutor` class in the new :mod:`concurrent." -"futures` module provides an easy way of doing so; the :mod:`multiprocessing` " -"module provides a lower-level API in case you want more control over " -"dispatching of tasks." +"multiple *processes* rather than multiple *threads*. The :class:`~concurrent." +"futures.ProcessPoolExecutor` class in the new :mod:`concurrent.futures` module " +"provides an easy way of doing so; the :mod:`multiprocessing` module provides a " +"lower-level API in case you want more control over dispatching of tasks." msgstr "" "¡Esto no significa que no pueda hacer buen uso de Python en máquinas de " "múltiples CPU! Usted sólo tiene que ser creativo a la hora de dividir el " "trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La " "clase :class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" -"`concurrent.futures` proporciona una manera sencilla de hacer esto; el " -"módulo :mod:`multiprocessing` proporciona una API de bajo nivel en caso de " -"que se quiera tener un mayor control sobre el despacho de las tareas." +"`concurrent.futures` proporciona una manera sencilla de hacer esto; el módulo :" +"mod:`multiprocessing` proporciona una API de bajo nivel en caso de que se " +"quiera tener un mayor control sobre el despacho de las tareas." #: ../Doc/faq/library.rst:437 msgid "" "Judicious use of C extensions will also help; if you use a C extension to " "perform a time-consuming task, the extension can release the GIL while the " -"thread of execution is in the C code and allow other threads to get some " -"work done. Some standard library modules such as :mod:`zlib` and :mod:" -"`hashlib` already do this." +"thread of execution is in the C code and allow other threads to get some work " +"done. Some standard library modules such as :mod:`zlib` and :mod:`hashlib` " +"already do this." msgstr "" "El uso sensato de extensiones C también ayudará; si usa una extensión C para " -"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al " -"GIL mientras el hilo de ejecución esté en el código C y permite a otros " -"hilos hacer algún trabajo. Algunos módulos de la biblioteca estándar tales " -"como :mod:`zlib` y :mod:`hashlib` ya lo hacen." +"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al GIL " +"mientras el hilo de ejecución esté en el código C y permite a otros hilos " +"hacer algún trabajo. Algunos módulos de la biblioteca estándar tales como :mod:" +"`zlib` y :mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 msgid "" "It has been suggested that the GIL should be a per-interpreter-state lock " -"rather than truly global; interpreters then wouldn't be able to share " -"objects. Unfortunately, this isn't likely to happen either. It would be a " -"tremendous amount of work, because many object implementations currently " -"have global state. For example, small integers and short strings are cached; " -"these caches would have to be moved to the interpreter state. Other object " -"types have their own free list; these free lists would have to be moved to " -"the interpreter state. And so on." -msgstr "" +"rather than truly global; interpreters then wouldn't be able to share objects. " +"Unfortunately, this isn't likely to happen either. It would be a tremendous " +"amount of work, because many object implementations currently have global " +"state. For example, small integers and short strings are cached; these caches " +"would have to be moved to the interpreter state. Other object types have " +"their own free list; these free lists would have to be moved to the " +"interpreter state. And so on." +msgstr "" +"Se ha sugerido que el GIL debería ser un bloqueo por estado de intérprete, en " +"vez de realmente global; luego los intérpretes no serían capaces de compartir " +"objetos. Desafortunadamente, esto tampoco es probable que ocurra. Sería una " +"tremenda cantidad de trabajo, porque muchas implementaciones de objetos " +"actualmente tienen un estado global. Por ejemplo, los enteros pequeños y las " +"cadenas pequeñas están *cacheadas*; estas *caches* se tendrían que mover al " +"estado del intérprete. Otros tipos de objetos tienen su propia lista libre; " +"estas listas libres se tendrían que mover al estado del intérprete. Y así " +"sucesivamente." #: ../Doc/faq/library.rst:452 msgid "" -"And I doubt that it can even be done in finite time, because the same " -"problem exists for 3rd party extensions. It is likely that 3rd party " -"extensions are being written at a faster rate than you can convert them to " -"store all their global state in the interpreter state." +"And I doubt that it can even be done in finite time, because the same problem " +"exists for 3rd party extensions. It is likely that 3rd party extensions are " +"being written at a faster rate than you can convert them to store all their " +"global state in the interpreter state." msgstr "" +"Y dudo de si se puede hacer en tiempo finito, porque el mismo problema existe " +"para extensiones de terceros. Es probable que las extensiones de terceros se " +"escriban más rápido de lo que se puedan convertir para almacenar todo su " +"estado global en el estado del intérprete." #: ../Doc/faq/library.rst:457 msgid "" "And finally, once you have multiple interpreters not sharing any state, what " "have you gained over running each interpreter in a separate process?" msgstr "" +"Y finalmente, una vez que tenga múltiples intérpretes sin compartir ningún " +"estado, ¿qué habrá ganado sobre correr cada intérprete en un proceso separado?" #: ../Doc/faq/library.rst:462 msgid "Input and Output" @@ -651,9 +655,9 @@ msgstr "" #: ../Doc/faq/library.rst:467 msgid "" -"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " -"see the :mod:`os` module. The two functions are identical; :func:`~os." -"unlink` is simply the name of the Unix system call for this function." +"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, see " +"the :mod:`os` module. The two functions are identical; :func:`~os.unlink` is " +"simply the name of the Unix system call for this function." msgstr "" #: ../Doc/faq/library.rst:471 @@ -671,17 +675,17 @@ msgstr "" #: ../Doc/faq/library.rst:479 msgid "" -"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " -"``f.truncate(offset)``; offset defaults to the current seek position. " -"There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." -"open`, where *fd* is the file descriptor (a small integer)." +"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use ``f." +"truncate(offset)``; offset defaults to the current seek position. There's " +"also ``os.ftruncate(fd, offset)`` for files opened with :func:`os.open`, where " +"*fd* is the file descriptor (a small integer)." msgstr "" #: ../Doc/faq/library.rst:484 msgid "" -"The :mod:`shutil` module also contains a number of functions to work on " -"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" -"func:`~shutil.rmtree`." +"The :mod:`shutil` module also contains a number of functions to work on files " +"including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :func:" +"`~shutil.rmtree`." msgstr "" #: ../Doc/faq/library.rst:490 @@ -713,23 +717,23 @@ msgstr "" #: ../Doc/faq/library.rst:512 msgid "" -"The '>' in the format string forces big-endian data; the letter 'h' reads " -"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " -"bytes) from the string." +"The '>' in the format string forces big-endian data; the letter 'h' reads one " +"\"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 bytes) from " +"the string." msgstr "" #: ../Doc/faq/library.rst:516 msgid "" -"For data that is more regular (e.g. a homogeneous list of ints or floats), " -"you can also use the :mod:`array` module." +"For data that is more regular (e.g. a homogeneous list of ints or floats), you " +"can also use the :mod:`array` module." msgstr "" #: ../Doc/faq/library.rst:521 msgid "" -"To read and write binary data, it is mandatory to open the file in binary " -"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " -"instead (the default), the file will be open in text mode and ``f.read()`` " -"will return :class:`str` objects rather than :class:`bytes` objects." +"To read and write binary data, it is mandatory to open the file in binary mode " +"(here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` instead (the " +"default), the file will be open in text mode and ``f.read()`` will return :" +"class:`str` objects rather than :class:`bytes` objects." msgstr "" #: ../Doc/faq/library.rst:529 @@ -738,11 +742,11 @@ msgstr "" #: ../Doc/faq/library.rst:531 msgid "" -":func:`os.read` is a low-level function which takes a file descriptor, a " -"small integer representing the opened file. :func:`os.popen` creates a high-" -"level file object, the same type returned by the built-in :func:`open` " -"function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." -"popen`, you need to use ``p.read(n)``." +":func:`os.read` is a low-level function which takes a file descriptor, a small " +"integer representing the opened file. :func:`os.popen` creates a high-level " +"file object, the same type returned by the built-in :func:`open` function. " +"Thus, to read *n* bytes from a pipe *p* created with :func:`os.popen`, you " +"need to use ``p.read(n)``." msgstr "" #: ../Doc/faq/library.rst:618 @@ -780,15 +784,15 @@ msgid "" "For most file objects you create in Python via the built-in :func:`open` " "function, ``f.close()`` marks the Python file object as being closed from " "Python's point of view, and also arranges to close the underlying C file " -"descriptor. This also happens automatically in ``f``'s destructor, when " -"``f`` becomes garbage." +"descriptor. This also happens automatically in ``f``'s destructor, when ``f`` " +"becomes garbage." msgstr "" #: ../Doc/faq/library.rst:641 msgid "" "But stdin, stdout and stderr are treated specially by Python, because of the " -"special status also given to them by C. Running ``sys.stdout.close()`` " -"marks the Python-level file object as being closed, but does *not* close the " +"special status also given to them by C. Running ``sys.stdout.close()`` marks " +"the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" @@ -820,14 +824,14 @@ msgstr "" #: ../Doc/faq/library.rst:669 msgid "" -"A summary of available frameworks is maintained by Paul Boddie at https://" -"wiki.python.org/moin/WebProgramming\\ ." +"A summary of available frameworks is maintained by Paul Boddie at https://wiki." +"python.org/moin/WebProgramming\\ ." msgstr "" #: ../Doc/faq/library.rst:672 msgid "" -"Cameron Laird maintains a useful set of pages about Python web technologies " -"at http://phaseit.net/claird/comp.lang.python/web_python." +"Cameron Laird maintains a useful set of pages about Python web technologies at " +"http://phaseit.net/claird/comp.lang.python/web_python." msgstr "" #: ../Doc/faq/library.rst:677 @@ -883,8 +887,8 @@ msgstr "" msgid "" "A Unix-only alternative uses sendmail. The location of the sendmail program " "varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" -"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " -"some sample code::" +"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's some " +"sample code::" msgstr "" #: ../Doc/faq/library.rst:762 @@ -911,8 +915,8 @@ msgstr "" msgid "" "You can use the ``connect_ex()`` method to avoid creating an exception. It " "will just return the errno value. To poll, you can call ``connect_ex()`` " -"again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- " -"or you can pass this socket to select to check if it's writable." +"again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or " +"you can pass this socket to select to check if it's writable." msgstr "" #: ../Doc/faq/library.rst:780 @@ -938,8 +942,7 @@ msgstr "" msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " "` are also included with standard Python. There is also the :mod:" -"`sqlite3` module, which provides a lightweight disk-based relational " -"database." +"`sqlite3` module, which provides a lightweight disk-based relational database." msgstr "" #: ../Doc/faq/library.rst:799 @@ -955,10 +958,10 @@ msgstr "" #: ../Doc/faq/library.rst:807 msgid "" -"The :mod:`pickle` library module solves this in a very general way (though " -"you still can't store things like open files, sockets or windows), and the :" -"mod:`shelve` library module uses pickle and (g)dbm to create persistent " -"mappings containing arbitrary Python objects." +"The :mod:`pickle` library module solves this in a very general way (though you " +"still can't store things like open files, sockets or windows), and the :mod:" +"`shelve` library module uses pickle and (g)dbm to create persistent mappings " +"containing arbitrary Python objects." msgstr "" #: ../Doc/faq/library.rst:814 @@ -971,8 +974,8 @@ msgstr "" #: ../Doc/faq/library.rst:819 msgid "" -"The standard module :mod:`random` implements a random number generator. " -"Usage is simple::" +"The standard module :mod:`random` implements a random number generator. Usage " +"is simple::" msgstr "" #: ../Doc/faq/library.rst:825 @@ -980,8 +983,7 @@ msgid "This returns a random floating point number in the range [0, 1)." msgstr "" #: ../Doc/faq/library.rst:827 -msgid "" -"There are also many other specialized generators in this module, such as:" +msgid "There are also many other specialized generators in this module, such as:" msgstr "" #: ../Doc/faq/library.rst:829 @@ -993,8 +995,7 @@ msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "" #: ../Doc/faq/library.rst:831 -msgid "" -"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." +msgid "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" #: ../Doc/faq/library.rst:833 From a5840c3ebe400e1b56afd6320e4694951b6a3c86 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 18:03:38 +0100 Subject: [PATCH 12/26] Add translations of Input and Output section --- dict | 9 ++++++ faq/library.po | 82 +++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 77 insertions(+), 14 deletions(-) diff --git a/dict b/dict index 8fc5f79f10..ab77ec2ea0 100644 --- a/dict +++ b/dict @@ -8,9 +8,11 @@ Associates Autocompletado Awk B +BSD Built C CPU +Chapman Circus Comos Cookbook @@ -25,12 +27,16 @@ HTML Index Interesantemente Java +Jython Linux Mac +MacOS +Mitch Monty NumPy Numerical Olsen +POSIX PVM Package Perl @@ -50,6 +56,7 @@ Tutorial Unicode Unix VM +Win32 Windows X append @@ -66,7 +73,9 @@ bash batch big-endian bug +byte bytecode +bytes búfer collector comilla diff --git a/faq/library.po b/faq/library.po index 3c3290b288..54d989ca4d 100644 --- a/faq/library.po +++ b/faq/library.po @@ -9,13 +9,13 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2020-05-10 13:35+0100\n" +"PO-Revision-Date: 2020-05-10 18:02+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Sergio Delgado Quintero \n" "Language: es\n" "X-Generator: Poedit 2.3\n" @@ -647,11 +647,11 @@ msgstr "" #: ../Doc/faq/library.rst:462 msgid "Input and Output" -msgstr "" +msgstr "Entrada y Salida" #: ../Doc/faq/library.rst:465 msgid "How do I delete a file? (And other file questions...)" -msgstr "" +msgstr "¿Cómo borro un fichero? (Y otras preguntas sobre ficheros…)" #: ../Doc/faq/library.rst:467 msgid "" @@ -659,6 +659,9 @@ msgid "" "the :mod:`os` module. The two functions are identical; :func:`~os.unlink` is " "simply the name of the Unix system call for this function." msgstr "" +"Use ``os.remove(filename)`` o ``os.unlink(filename)``; para la documentación, " +"vea el módulo :mod:`os`. Las dos funciones son idénticas; :func:`~os.unlink` " +"es simplemente el nombre de la llamada al sistema UNIX para esta función." #: ../Doc/faq/library.rst:471 msgid "" @@ -668,10 +671,15 @@ msgid "" "directories as long as they're empty; if you want to delete an entire " "directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" +"Para borrar un directorio, use :func:`os.rmdir`; use :func:`os.mkdir` para " +"crear uno. ``os.makedirs(path)`` creará cualquier directorio intermedio que no " +"exista en ``path``. ``os.removedirs(path)`` borrará los directorios " +"intermedios siempre y cuando estén vacíos; si quiere borrar un árbol de " +"directorios completo y sus contenidos, use :func:`shutil.rmtree`." #: ../Doc/faq/library.rst:477 msgid "To rename a file, use ``os.rename(old_path, new_path)``." -msgstr "" +msgstr "Para renombre un fichero, use ``os.rename(old_path, new_path)``." #: ../Doc/faq/library.rst:479 msgid "" @@ -680,6 +688,11 @@ msgid "" "also ``os.ftruncate(fd, offset)`` for files opened with :func:`os.open`, where " "*fd* is the file descriptor (a small integer)." msgstr "" +"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use " +"``f.truncate(offset)``; el desplazamiento toma por defecto la posición actual " +"de búsqueda. También existe ``os.ftruncate(fd, offset)`` para ficheros " +"abiertos con :func:`os.open`, donde *fd* es el descriptor del fichero (un " +"entero pequeño)." #: ../Doc/faq/library.rst:484 msgid "" @@ -687,20 +700,25 @@ msgid "" "including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :func:" "`~shutil.rmtree`." msgstr "" +"El módulo :mod:`shutil` también contiene distintas funciones para trabajar con " +"fichero incluyendo :func:`~shutil.copyfile`, :func:`~shutil.copytree` y :func:" +"`~shutil.rmtree`." #: ../Doc/faq/library.rst:490 msgid "How do I copy a file?" -msgstr "" +msgstr "¿Cómo copio un fichero?" #: ../Doc/faq/library.rst:492 msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " "that on MacOS 9 it doesn't copy the resource fork and Finder info." msgstr "" +"El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. Nótese " +"que en MacOS 9 no copia el *fork* del recurso ni la información de *Finder*." #: ../Doc/faq/library.rst:497 msgid "How do I read (or write) binary data?" -msgstr "" +msgstr "¿Cómo leo (o escribo) datos binarios?" #: ../Doc/faq/library.rst:499 msgid "" @@ -708,12 +726,18 @@ msgid "" "`struct` module. It allows you to take a string containing binary data " "(usually numbers) and convert it to Python objects; and vice versa." msgstr "" +"Para leer o escribir formatos binarios complejos de datos, es mejor usar el " +"módulo :mod:`struct`. Esto le permite tomar una cadena de texto que contiene " +"datos binarios (normalmente números) y convertirla a objetos de Python; y " +"viceversa." #: ../Doc/faq/library.rst:503 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" +"Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y " +"uno de 4-bytes en formato big-endian::" #: ../Doc/faq/library.rst:512 msgid "" @@ -721,12 +745,17 @@ msgid "" "\"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 bytes) from " "the string." msgstr "" +"El '>' en la cadena de formato fuerza los datos big-endian; la letra 'h' lee " +"un \"entero corto\" (2 bytes), y 'l' lee un \"entero largo\" (4 bytes) desde " +"la cadena de texto." #: ../Doc/faq/library.rst:516 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), you " "can also use the :mod:`array` module." msgstr "" +"Para datos que son más regulares (por ejemplo una lista homogéneo de enteros o " +"flotantes), puede también usar el módulo :mod:`array`." #: ../Doc/faq/library.rst:521 msgid "" @@ -735,10 +764,15 @@ msgid "" "default), the file will be open in text mode and ``f.read()`` will return :" "class:`str` objects rather than :class:`bytes` objects." msgstr "" +"Para leer y escribir datos binarios, es obligatorio abrir el fichero en modo " +"binario (aquí, pasando ``\"rb\"`` a :func:`open`). Si, en cambio, usa ``\"r" +"\"`` (por defecto), el fichero se abrirá en modo texto y ``f.read()`` " +"devolverá objetos :class:`str` en vez de objetos :class:`bytes`." #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" +"No consigo usar *os.read()* en un *pipe* creado con *os.popen()*; ¿por qué?" #: ../Doc/faq/library.rst:531 msgid "" @@ -748,36 +782,43 @@ msgid "" "Thus, to read *n* bytes from a pipe *p* created with :func:`os.popen`, you " "need to use ``p.read(n)``." msgstr "" +":func:`os.read` es una función de bajo nivel que recibe un descriptor de " +"fichero, un entero pequeño representando el fichero abierto. :func:`os.popen` " +"crea un objeto fichero de alto nivel, el mismo tipo que devuelve la función " +"*built-in* :func:`open`. Así, para leer *n* bytes de un *pipe* *p* creado con :" +"func:`os.popen`, necesita usar ``p.read(n)``." #: ../Doc/faq/library.rst:618 msgid "How do I access the serial (RS232) port?" -msgstr "" +msgstr "¿Cómo accedo al puerto serial (RS232)?" #: ../Doc/faq/library.rst:620 msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:" -msgstr "" +msgstr "Para Win32, POSIX (Linux, BSD, etc.), Jython:" #: ../Doc/faq/library.rst:622 msgid "http://pyserial.sourceforge.net" -msgstr "" +msgstr "http://pyserial.sourceforge.net" #: ../Doc/faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "" +msgstr "Para Unix, vea una publicación *Usenet* de Mitch Chapman:" #: ../Doc/faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" -msgstr "" +msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "" +msgstr "¿Por qué no cerrando *sys.stdout (stdin, stderr)* realmente se cierra?" #: ../Doc/faq/library.rst:632 msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." msgstr "" +"Los :term:`objetos de tipo fichero ` en Python son una capa de " +"abstracción de alto nivel sobre los descriptores de fichero de bajo nivel de C." #: ../Doc/faq/library.rst:635 msgid "" @@ -787,6 +828,11 @@ msgid "" "descriptor. This also happens automatically in ``f``'s destructor, when ``f`` " "becomes garbage." msgstr "" +"Para la mayoría de objetos de tipo fichero que cree en Python vía la función " +"*built-in* :func:`open`, ``f.close()`` marca el objeto de tipo fichero Python " +"para que se cierre desde un punto de vista de Python, y también organiza el " +"cierre del descriptor de fichero subyacente en C. Esto también ocurre " +"automáticamente en el destructor de ``f``, cuando ``f`` se convierte en basura." #: ../Doc/faq/library.rst:641 msgid "" @@ -795,6 +841,10 @@ msgid "" "the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" +"Pero *stdin*, *stdout* y *stderr* se tratan de manera especial en Python, " +"debido a su estatus especial que también le proporciona C. Ejecutando ``sys." +"stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, " +"pero *no* cierra el descriptor de fichero asociado en C." #: ../Doc/faq/library.rst:646 msgid "" @@ -802,10 +852,14 @@ msgid "" "first be sure that's what you really want to do (e.g., you may confuse " "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" +"Para cerrar el descriptor de fichero subyacente en C para uno de estos tres " +"casos, debería primero asegurarse de que eso es realmente lo que quiere hacer " +"(por ejemplo, puede confundir módulos de extensión intentado hacer *I/O*). Si " +"es así, use :func:`os.close`::" #: ../Doc/faq/library.rst:654 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." -msgstr "" +msgstr "O puede usar las constantes numéricas 0, 1 y 2, respectivamente." #: ../Doc/faq/library.rst:658 msgid "Network/Internet Programming" From 60dcec728aa09026a75a81ee21dccd802aeb8342 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 18:07:49 +0100 Subject: [PATCH 13/26] Fix pospell bugs found at #61c6e47 --- dict | 5 +++-- faq/library.po | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/dict b/dict index ab77ec2ea0..4aafd9ddef 100644 --- a/dict +++ b/dict @@ -144,7 +144,6 @@ lexicográfico m manejador manejadores -math.py mezclarlos mortem multi @@ -192,7 +191,6 @@ referenciado referenciados referencian referenciarse -regex.py remove reordenar run @@ -248,3 +246,6 @@ vía wchar x zlib +subdirectorio +sorprendentemente +secuencialmente diff --git a/faq/library.po b/faq/library.po index 54d989ca4d..88cf4026a2 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 18:02+0100\n" +"PO-Revision-Date: 2020-05-10 18:06+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,7 +59,7 @@ msgstr "" #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "¿Dónde está el fichero fuente math.py (socket.py, regex.py, etc.)?" +msgstr "¿Dónde está el fichero fuente *math.py* (*socket.py*, *regex.py*, etc.)?" #: ../Doc/faq/library.rst:30 msgid "" @@ -85,7 +85,7 @@ msgstr "módulos escritos en Python (.py);" #: ../Doc/faq/library.rst:38 msgid "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" -"módulos escritos en C y cargados dinámicamente (.dll, .pyd, .so, .sl, etc.);" +"módulos escritos en C y cargados dinámicamente (*.dll, .pyd, .so, .sl*, etc.);" #: ../Doc/faq/library.rst:39 msgid "" @@ -330,7 +330,7 @@ msgstr "" #: ../Doc/faq/library.rst:182 msgid "How do I create documentation from doc strings?" -msgstr "¿Cómo creo documentación a partir de los doctrings?" +msgstr "¿Cómo creo documentación a partir de los docstrings?" #: ../Doc/faq/library.rst:184 msgid "" @@ -341,7 +341,7 @@ msgid "" msgstr "" "El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en su " "código fuente Python. Una alternativa para crear documentación API " -"estrictamente desde doctrings es `epydoc `_. " +"estrictamente desde docstrings es `epydoc `_. " "`Sphinx `_ también puede incluir contenido docstring." #: ../Doc/faq/library.rst:191 @@ -518,7 +518,7 @@ msgid "" "D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" "Por ejemplo, las siguientes operaciones son todas atómicas (L, L1, L2 son " -"listas, D, D1, D2 son diccionarios, x, y son objetos, i, j son enteros)::" +"listas, D, D1, D2 son diccionarios, *x, y* son objetos, *i, j* son enteros)::" #: ../Doc/faq/library.rst:398 msgid "These aren't::" From bd09045523ea6c0747b0e7ce637f67425aeed819 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 18:43:41 +0100 Subject: [PATCH 14/26] Add translations of Networking section --- dict | 16 ++++++++++---- faq/library.po | 57 +++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 59 insertions(+), 14 deletions(-) diff --git a/dict b/dict index 4aafd9ddef..0c13ab47d6 100644 --- a/dict +++ b/dict @@ -9,9 +9,11 @@ Autocompletado Awk B BSD +Boddie Built C CPU +Cameron Chapman Circus Comos @@ -28,6 +30,7 @@ Index Interesantemente Java Jython +Laird Linux Mac MacOS @@ -39,6 +42,7 @@ Olsen POSIX PVM Package +Paul Perl Pillow PyRun @@ -51,11 +55,13 @@ SimpleFileExFlags Smalltalk Smalltalk Stein +TCP Tk Tutorial Unicode Unix VM +WWW Win32 Windows X @@ -199,6 +205,7 @@ script scripting scripts search +secuencialmente seguirle seguirle self @@ -212,15 +219,17 @@ sintácticamente situ sobreescriban sobreescribe -socket.py +socket sockets solucionadores +sorprendentemente sort spam strings sub subcarpetas subcomandos +subdirectorio submódulo submódulos subpaquete @@ -244,8 +253,7 @@ tutorial uninstall vía wchar +web +wiki x zlib -subdirectorio -sorprendentemente -secuencialmente diff --git a/faq/library.po b/faq/library.po index 88cf4026a2..f422edcf7a 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 18:06+0100\n" +"PO-Revision-Date: 2020-05-10 18:43+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -863,11 +863,11 @@ msgstr "O puede usar las constantes numéricas 0, 1 y 2, respectivamente." #: ../Doc/faq/library.rst:658 msgid "Network/Internet Programming" -msgstr "" +msgstr "Programación de Redes/Internet" #: ../Doc/faq/library.rst:661 msgid "What WWW tools are there for Python?" -msgstr "" +msgstr "¿Qué herramientas de Python existen para WWW?" #: ../Doc/faq/library.rst:663 msgid "" @@ -875,32 +875,41 @@ msgid "" "Reference Manual. Python has many modules that will help you build server-" "side and client-side web systems." msgstr "" +"Vea los capítulos titulados :ref:`internet` y :ref:`netdata` en el manual de " +"referencia de bibliotecas. Python tiene muchos módulos que le ayudarán a " +"construir sistemas web del lado del servidor y del lado del cliente." #: ../Doc/faq/library.rst:669 msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://wiki." "python.org/moin/WebProgramming\\ ." msgstr "" +"Paul Boddie mantiene un resumen de los *frameworks* disponibles en https://" +"wiki.python.org/moin/WebProgramming\\ ." #: ../Doc/faq/library.rst:672 msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies at " "http://phaseit.net/claird/comp.lang.python/web_python." msgstr "" +"Cameron Laird mantiene un conjunto útil de páginas sobre tecnologías web " +"Python en http://phaseit.net/claird/comp.lang.python/web_python." #: ../Doc/faq/library.rst:677 msgid "How can I mimic CGI form submission (METHOD=POST)?" -msgstr "" +msgstr "¿Cómo puedo imitar un envío de formulario CGI (*METHOD=POST*)?" #: ../Doc/faq/library.rst:679 msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" +"Me gustaría recuperar páginas web que son resultado del envío de un formulario." +"¿Existe algún código que me permitiera hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" -msgstr "" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" #: ../Doc/faq/library.rst:697 msgid "" @@ -908,34 +917,41 @@ msgid "" "be quoted using :func:`urllib.parse.urlencode`. For example, to send " "``name=Guy Steele, Jr.``::" msgstr "" +"Nótese que para operaciones *POST* de tipo *percent-encoded*, las cadenas de " +"consulta tienen que estar entrecomilladas usando :func:`urllib.parse." +"urlencode`. Por ejemplo, para enviar ``name=Guy Steele, Jr.``::" #: ../Doc/faq/library.rst:705 msgid ":ref:`urllib-howto` for extensive examples." -msgstr "" +msgstr ":ref:`urllib-howto` para ejemplos más detallados." #: ../Doc/faq/library.rst:709 msgid "What module should I use to help with generating HTML?" -msgstr "" +msgstr "¿Qué modulo debería usar que ayude con la generación de HTML?" #: ../Doc/faq/library.rst:713 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" +"Puede encontrar una colección de enlaces útiles en la `página wiki de " +"programación web `_." #: ../Doc/faq/library.rst:718 msgid "How do I send mail from a Python script?" -msgstr "" +msgstr "¿Cómo envío correo desde un script Python?" #: ../Doc/faq/library.rst:720 msgid "Use the standard library module :mod:`smtplib`." -msgstr "" +msgstr "Use el módulo :mod:`smtplib` de la biblioteca estándar." #: ../Doc/faq/library.rst:722 msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" msgstr "" +"Aquí hay un remitente simple interactivo que lo usa. Este método trabajará en " +"cualquier máquina que soporte un *listener SMTP*. ::" #: ../Doc/faq/library.rst:742 msgid "" @@ -944,16 +960,22 @@ msgid "" "usr/sbin/sendmail``. The sendmail manual page will help you out. Here's some " "sample code::" msgstr "" +"Una alternativa sólo para UNIX es usar *sendmail*. La ubicación del programa " +"*sendmail* varía entre sistemas; algunas veces está en ``/usr/lib/sendmail``, " +"otras veces en ``/usr/sbin/sendmail``. El manual de *sendmail* le ayudará. " +"Aquí hay un ejemplo de código::" #: ../Doc/faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "" +msgstr "¿Cómo evito el bloqueo en el método *connect()* de un *socket*?" #: ../Doc/faq/library.rst:764 msgid "" "The :mod:`select` module is commonly used to help with asynchronous I/O on " "sockets." msgstr "" +"El módulo :mod:`select` es mayoritariamente usado para ayudar con entrada/" +"salida de sockets." #: ../Doc/faq/library.rst:767 msgid "" @@ -964,6 +986,12 @@ msgid "" "progress, but hasn't finished yet. Different OSes will return different " "values, so you're going to have to check what's returned on your system." msgstr "" +"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en " +"modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " +"inmediatamente (improbable) u obtendrá una excepción que contiene el número de " +"error como `.errno``. ``errno.EINPROGRESS``indica que la conexión está en " +"curso, pero no ha terminado aún. Diferentes sistemas operativos devolverán " +"diferentes valores, así que debe comprobar cuál es el retornado en su sistema." #: ../Doc/faq/library.rst:774 msgid "" @@ -972,6 +1000,11 @@ msgid "" "again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or " "you can pass this socket to select to check if it's writable." msgstr "" +"Puede usar el método ``connect_ex()``para evitar crear una excepción. " +"Devolverá simplemente el número de error. Para sondear, puede llamar más tarde " +"a ``connect_ex()`` de nuevo - ``0`` o ``errno.EISCONN`` indican que está " +"conectado -- o puede pasar este socket a *select* para comprobar si se puede " +"escribir en él." #: ../Doc/faq/library.rst:780 msgid "" @@ -979,6 +1012,10 @@ msgid "" "of writing non-blocking networking code. The third-party `Twisted `_ library is a popular and feature-rich alternative." msgstr "" +"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema " +"de escribir código de red no bloqueante. La biblioteca de terceros `Twisted " +"`_ es una alternativa popular y rica en " +"características." #: ../Doc/faq/library.rst:787 msgid "Databases" From 871e049b77cfbe8f1cc8291c7c7966b42bafbf10 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 18:50:34 +0100 Subject: [PATCH 15/26] Add translations of Databases section --- dict | 1 + faq/library.po | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/dict b/dict index 0c13ab47d6..72ea2a02c3 100644 --- a/dict +++ b/dict @@ -138,6 +138,7 @@ instanciada instanciar int interactivamente +interfaces intermezzo interoperabilidad invocables diff --git a/faq/library.po b/faq/library.po index f422edcf7a..8f12092ce3 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 18:43+0100\n" +"PO-Revision-Date: 2020-05-10 18:50+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1019,15 +1019,15 @@ msgstr "" #: ../Doc/faq/library.rst:787 msgid "Databases" -msgstr "" +msgstr "Bases de datos" #: ../Doc/faq/library.rst:790 msgid "Are there any interfaces to database packages in Python?" -msgstr "" +msgstr "¿Hay paquetes para interfaces a bases de datos en Python?" #: ../Doc/faq/library.rst:792 msgid "Yes." -msgstr "" +msgstr "Sí." #: ../Doc/faq/library.rst:794 msgid "" @@ -1035,6 +1035,10 @@ msgid "" "` are also included with standard Python. There is also the :mod:" "`sqlite3` module, which provides a lightweight disk-based relational database." msgstr "" +"Interfaces a *hashes* basados en disco tales como :mod:`DBM ` y :mod:" +"`GDBM ` están también incluidas en estándar Python. También hay un " +"módulo :mod:`sqlite3`, que proporciona una base de datos relacional ligera " +"basada en disco." #: ../Doc/faq/library.rst:799 msgid "" @@ -1042,10 +1046,13 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" +"Está disponible el soporte para la mayoría de bases de datos relacionarles. " +"Vea la `página wiki de Programación de Bases de datos `_ para más detalles." #: ../Doc/faq/library.rst:805 msgid "How do you implement persistent objects in Python?" -msgstr "" +msgstr "¿Cómo implementa objetos persistentes en Python?" #: ../Doc/faq/library.rst:807 msgid "" @@ -1054,6 +1061,10 @@ msgid "" "`shelve` library module uses pickle and (g)dbm to create persistent mappings " "containing arbitrary Python objects." msgstr "" +"El módulo de biblioteca :mod:`pickle` soluciona esto de una forma muy general " +"(aunque todavía no puede almacenar cosas como ficheros abiertos, sockets o " +"ventanas), y el módulo de biblioteca :mod:`shelve` usa *pickle* y *(g)dbm* " +"para crear mapeos persistentes que contienen objetos arbitrarios Python." #: ../Doc/faq/library.rst:814 msgid "Mathematics and Numerics" From 1a5842931214e01b6f26f14b46c71c4175c3046a Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 19:04:17 +0100 Subject: [PATCH 16/26] Add translations of Math section --- faq/library.po | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/faq/library.po b/faq/library.po index 8f12092ce3..363e0feda4 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 18:50+0100\n" +"PO-Revision-Date: 2020-05-10 19:04+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1068,52 +1068,62 @@ msgstr "" #: ../Doc/faq/library.rst:814 msgid "Mathematics and Numerics" -msgstr "" +msgstr "Matemáticas y Numérica" #: ../Doc/faq/library.rst:817 msgid "How do I generate random numbers in Python?" -msgstr "" +msgstr "¿Cómo genero números aleatorios en Python?" #: ../Doc/faq/library.rst:819 msgid "" "The standard module :mod:`random` implements a random number generator. Usage " "is simple::" msgstr "" +"El módulo estándar :mod:`random` implementa un generador de números " +"aleatorios. El uso es simple::" #: ../Doc/faq/library.rst:825 msgid "This returns a random floating point number in the range [0, 1)." -msgstr "" +msgstr "Esto retorna un número flotante aleatorio en el rango [0, 1)." #: ../Doc/faq/library.rst:827 msgid "There are also many other specialized generators in this module, such as:" msgstr "" +"Hay también muchos otros generadores especializados en este módulo, tales como:" #: ../Doc/faq/library.rst:829 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." -msgstr "" +msgstr "``randrange(a, b)`` selecciona un entero en el rango [a, b)." #: ../Doc/faq/library.rst:830 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." -msgstr "" +msgstr "``uniform(a, b)`` selecciona un número flotante en el rango [a, b)." #: ../Doc/faq/library.rst:831 msgid "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" +"``normalvariate(mean, sdev)`` muestrea una distribución normal (*Gaussian*)." #: ../Doc/faq/library.rst:833 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" +"Algunas funciones de alto nivel operan directamente sobre secuencias, tales " +"como:" #: ../Doc/faq/library.rst:835 msgid "``choice(S)`` chooses random element from a given sequence" -msgstr "" +msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada" #: ../Doc/faq/library.rst:836 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly" msgstr "" +"``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta " +"aleatoriamente" #: ../Doc/faq/library.rst:838 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" +"También hay una clase `Random`` que puede instanciar para crear múltiples " +"generadores independientes de valores aleatorios." From 2bbd3f8e8c7422d6b7cb5eedd4c92af993286a51 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 20:05:03 +0100 Subject: [PATCH 17/26] Fix pospell bugs found at #0539f10 --- dict | 35 +++++++++++++++++++---------------- faq/library.po | 16 ++++++++-------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/dict b/dict index 44653fbcac..48761d411d 100644 --- a/dict +++ b/dict @@ -20,29 +20,31 @@ Circus Comos Cookbook Fibonacci +Fibonacci Flags Flying +Flying Fortran Fourier GIL Greg HTML +Hugunin +Index Index Interesantemente Java -Jython -Laird -Hugunin -Index -L Jim Jython +Jython +L +Laird Linux Lloyd Mac MacOS -Mitch Macintosh +Mitch Monty NumPy Numerical @@ -50,8 +52,8 @@ Olsen POSIX PVM Package -Paul Pasarles +Paul Perl Pillow PyRun @@ -74,9 +76,9 @@ Unicode Unix VM WWW -Win32 Windows X +aleatoriamente append aproximarla argv @@ -92,12 +94,12 @@ b backspace bash batch -big-endian +bloqueante bug +built byte bytecode bytes -built búfer búferes coerción @@ -105,8 +107,8 @@ collector comilla command compilada -consolelib computacionalmente +consolelib corrutina corrutinas criptográficamente @@ -133,11 +135,9 @@ especificador estáticamente except f -Fibonacci flag flags float -Flying format fraccional freeze @@ -175,8 +175,8 @@ intermezzo interoperabilidad intérpreter invocable -invocables invocable +invocables iterador iteradores json @@ -186,11 +186,14 @@ m manejador manejadores mantenibilidad +mapeo +mapeos metaclase metaclases mezclarlos modularidad mortem +muestrea multi multihilo multilínea @@ -208,8 +211,8 @@ personalizadamente pip podés polimórfica -portable portabilidad +portable posicional posicionales post @@ -260,9 +263,9 @@ serializar shell sincronización singleton +singleton sintácticamente situ -singleton sobreescriban sobreescribe socket diff --git a/faq/library.po b/faq/library.po index 363e0feda4..09cb938cf9 100644 --- a/faq/library.po +++ b/faq/library.po @@ -169,7 +169,7 @@ msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -"Una pequeña desventaja es que esto define el __doc__ del script. Sin embargo, " +"Una pequeña desventaja es que esto define el *__doc__* del script. Sin embargo, " "puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 @@ -737,7 +737,7 @@ msgid "" "integer in big-endian format from a file::" msgstr "" "Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y " -"uno de 4-bytes en formato big-endian::" +"uno de 4-bytes en formato *big-endian*::" #: ../Doc/faq/library.rst:512 msgid "" @@ -745,8 +745,8 @@ msgid "" "\"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 bytes) from " "the string." msgstr "" -"El '>' en la cadena de formato fuerza los datos big-endian; la letra 'h' lee " -"un \"entero corto\" (2 bytes), y 'l' lee un \"entero largo\" (4 bytes) desde " +"El '>' en la cadena de formato fuerza los datos *big-endian; la letra '*h*' lee " +"un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 bytes) desde " "la cadena de texto." #: ../Doc/faq/library.rst:516 @@ -794,7 +794,7 @@ msgstr "¿Cómo accedo al puerto serial (RS232)?" #: ../Doc/faq/library.rst:620 msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:" -msgstr "Para Win32, POSIX (Linux, BSD, etc.), Jython:" +msgstr "Para *Win32*, POSIX (Linux, BSD, etc.), Jython:" #: ../Doc/faq/library.rst:622 msgid "http://pyserial.sourceforge.net" @@ -909,7 +909,7 @@ msgstr "" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" #: ../Doc/faq/library.rst:697 msgid "" @@ -989,7 +989,7 @@ msgstr "" "Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en " "modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " "inmediatamente (improbable) u obtendrá una excepción que contiene el número de " -"error como `.errno``. ``errno.EINPROGRESS``indica que la conexión está en " +"error como ``.errno``. ``errno.EINPROGRESS``indica que la conexión está en " "curso, pero no ha terminado aún. Diferentes sistemas operativos devolverán " "diferentes valores, así que debe comprobar cuál es el retornado en su sistema." @@ -1002,7 +1002,7 @@ msgid "" msgstr "" "Puede usar el método ``connect_ex()``para evitar crear una excepción. " "Devolverá simplemente el número de error. Para sondear, puede llamar más tarde " -"a ``connect_ex()`` de nuevo - ``0`` o ``errno.EISCONN`` indican que está " +"a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " "conectado -- o puede pasar este socket a *select* para comprobar si se puede " "escribir en él." From 6660685dbf44031f12806c90e0e02add0fb14c99 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 20:47:16 +0100 Subject: [PATCH 18/26] Fix pospell bugs found at #5f34c35 --- faq/library.po | 343 ++++++++++++++++++++++++------------------------- 1 file changed, 171 insertions(+), 172 deletions(-) diff --git a/faq/library.po b/faq/library.po index 09cb938cf9..0132b8496f 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 19:04+0100\n" +"PO-Revision-Date: 2020-05-10 20:45+0100\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,9 +37,9 @@ msgstr "¿Cómo encuentro un módulo o aplicación para ejecutar la tarea X?" #: ../Doc/faq/library.rst:17 msgid "" -"Check :ref:`the Library Reference ` to see if there's a " -"relevant standard library module. (Eventually you'll learn what's in the " -"standard library and will be able to skip this step.)" +"Check :ref:`the Library Reference ` to see if there's a relevant " +"standard library module. (Eventually you'll learn what's in the standard " +"library and will be able to skip this step.)" msgstr "" "Vea la :ref:`referencia de bibliotecas ` para comprobar si " "existe un módulo relevante en la biblioteca estándar. (Eventualmente aprenderá " @@ -47,10 +47,10 @@ msgstr "" #: ../Doc/faq/library.rst:21 msgid "" -"For third-party packages, search the `Python Package Index `_ or try `Google `_ or another Web search " -"engine. Searching for \"Python\" plus a keyword or two for your topic of " -"interest will usually find something helpful." +"For third-party packages, search the `Python Package Index `_ " +"or try `Google `_ or another Web search engine. " +"Searching for \"Python\" plus a keyword or two for your topic of interest will " +"usually find something helpful." msgstr "" "Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " "`_ o pruebe `Google `_ u otro motor " @@ -119,8 +119,8 @@ msgstr "" #: ../Doc/faq/library.rst:56 msgid "" -"The second can be done in a number of ways. The most straightforward way is " -"to write ::" +"The second can be done in a number of ways. The most straightforward way is to " +"write ::" msgstr "" "Lo segundo se puede hacer de distintas maneras. La manera más directa es " "escribir ::" @@ -137,12 +137,12 @@ msgstr "" msgid "" "If you would like the script to be independent of where the Python interpreter " "lives, you can use the :program:`env` program. Almost all Unix variants " -"support the following, assuming the Python interpreter is in a directory on " -"the user's :envvar:`PATH`::" +"support the following, assuming the Python interpreter is in a directory on the " +"user's :envvar:`PATH`::" msgstr "" "Si quiere que el script sea independiente de donde se ubique el intérprete de " -"Python, puede usar el programa :program:`env`. Casi todas las variantes de " -"Unix soportan lo siguiente, asumiendo que el intérprete de Python está en un " +"Python, puede usar el programa :program:`env`. Casi todas las variantes de Unix " +"soportan lo siguiente, asumiendo que el intérprete de Python está en un " "directorio del :envvar:`PATH`: de usuario:" #: ../Doc/faq/library.rst:71 @@ -151,17 +151,17 @@ msgid "" "is often very minimal, so you need to use the actual absolute pathname of the " "interpreter." msgstr "" -"*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI " -"es mínima, así que necesita usar la ruta real absoluta al intérprete." +"*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI es " +"mínima, así que necesita usar la ruta real absoluta al intérprete." #: ../Doc/faq/library.rst:75 msgid "" "Occasionally, a user's environment is so full that the :program:`/usr/bin/env` " -"program fails; or there's no env program at all. In that case, you can try " -"the following hack (due to Alex Rezinsky):" +"program fails; or there's no env program at all. In that case, you can try the " +"following hack (due to Alex Rezinsky):" msgstr "" -"Ocasionalmente, un entorno de usuario está tan lleno que el programa :program:" -"`/usr/bin/env` falla; o bien no existe el programa env. En ese caso, puede " +"Ocasionalmente, un entorno de usuario está tan lleno que el programa :program:`/" +"usr/bin/env` falla; o bien no existe el programa env. En ese caso, puede " "intentar el siguiente truco (gracias a Alex Rezinsky):" #: ../Doc/faq/library.rst:86 @@ -217,11 +217,11 @@ msgstr "¿Hay un equivalente en Python al onexit() de C?" #: ../Doc/faq/library.rst:116 msgid "" -"The :mod:`atexit` module provides a register function that is similar to C's :" -"c:func:`onexit`." +"The :mod:`atexit` module provides a register function that is similar to C's :c:" +"func:`onexit`." msgstr "" -"El módulo :mod:`atexit` proporciona una función de registro que es similar a :" -"c:func:`onexit` de C." +"El módulo :mod:`atexit` proporciona una función de registro que es similar a :c:" +"func:`onexit` de C." #: ../Doc/faq/library.rst:121 msgid "Why don't my signal handlers work?" @@ -279,9 +279,9 @@ msgstr "" "programa. Su programa debería tener casi toda la funcionalidad encapsulada en " "funciones o en métodos de clases — y esto algunas veces tiene el efecto " "sorprendente y encantador de que su programa funcione más rápido (porque los " -"accesos a las variables locales son más rápidas que los accesos a las " -"variables globales). Además el programa debería evitar depender de la mutación " -"de variables globales, ya que esto dificulta mucho más hacer el *testing*." +"accesos a las variables locales son más rápidas que los accesos a las variables " +"globales). Además el programa debería evitar depender de la mutación de " +"variables globales, ya que esto dificulta mucho más hacer el *testing*." #: ../Doc/faq/library.rst:155 msgid "The \"global main logic\" of your program may be as simple as ::" @@ -293,22 +293,22 @@ msgstr "al final del módulo principal de su programa." #: ../Doc/faq/library.rst:162 msgid "" -"Once your program is organized as a tractable collection of functions and " -"class behaviours you should write test functions that exercise the " -"behaviours. A test suite that automates a sequence of tests can be associated " -"with each module. This sounds like a lot of work, but since Python is so terse " -"and flexible it's surprisingly easy. You can make coding much more pleasant " -"and fun by writing your test functions in parallel with the \"production code" -"\", since this makes it easy to find bugs and even design flaws earlier." -msgstr "" -"Una vez que su programa esté organizado en una colección manejable de " -"funciones y comportamientos de clases, usted debería escribir funciones de " -"comprobación que ejerciten los comportamientos. Se puede asociar un conjunto " -"de pruebas a cada módulo. Esto suena a mucho trabajo, pero gracias a que " -"Python es tan conciso y flexible, se hace sorprendentemente fácil. Puede " -"codificar de manera mucho más agradable y divertida escribiendo funciones de " -"comprobación en paralelo con el \"código de producción\", ya que esto facilita " -"encontrar antes errores e incluso fallos de diseño." +"Once your program is organized as a tractable collection of functions and class " +"behaviours you should write test functions that exercise the behaviours. A " +"test suite that automates a sequence of tests can be associated with each " +"module. This sounds like a lot of work, but since Python is so terse and " +"flexible it's surprisingly easy. You can make coding much more pleasant and " +"fun by writing your test functions in parallel with the \"production code\", " +"since this makes it easy to find bugs and even design flaws earlier." +msgstr "" +"Una vez que su programa esté organizado en una colección manejable de funciones " +"y comportamientos de clases, usted debería escribir funciones de comprobación " +"que ejerciten los comportamientos. Se puede asociar un conjunto de pruebas a " +"cada módulo. Esto suena a mucho trabajo, pero gracias a que Python es tan " +"conciso y flexible, se hace sorprendentemente fácil. Puede codificar de manera " +"mucho más agradable y divertida escribiendo funciones de comprobación en " +"paralelo con el \"código de producción\", ya que esto facilita encontrar antes " +"errores e incluso fallos de diseño." #: ../Doc/faq/library.rst:170 msgid "" @@ -320,8 +320,8 @@ msgstr "" #: ../Doc/faq/library.rst:176 msgid "" -"Even programs that interact with complex external interfaces may be tested " -"when the external interfaces are unavailable by using \"fake\" interfaces " +"Even programs that interact with complex external interfaces may be tested when " +"the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" "Incluso los programas que interactúan con interfaces externas complejas se " @@ -350,8 +350,8 @@ msgstr "¿Cómo consigo presionar una única tecla cada vez?" #: ../Doc/faq/library.rst:193 msgid "" -"For Unix variants there are several solutions. It's straightforward to do " -"this using curses, but curses is a fairly large module to learn." +"For Unix variants there are several solutions. It's straightforward to do this " +"using curses, but curses is a fairly large module to learn." msgstr "" "Para variantes Unix hay varias soluciones. Lo más directo es hacerlo usando " "cursores, pero curses es un módulo bastante amplio para aprenderlo." @@ -379,8 +379,8 @@ msgid "" "Aahz has a set of slides from his threading tutorial that are helpful; see " "http://www.pythoncraft.com/OSCON2001/." msgstr "" -"Aahz tiene un conjunto de transparencias sobre su tutoría de hilos que es " -"útil: vea http://www.pythoncraft.com/OSCON2001/." +"Aahz tiene un conjunto de transparencias sobre su tutoría de hilos que es útil: " +"vea http://www.pythoncraft.com/OSCON2001/." #: ../Doc/faq/library.rst:251 msgid "None of my threads seem to run: why?" @@ -397,8 +397,8 @@ msgstr "" #: ../Doc/faq/library.rst:256 msgid "" -"A simple fix is to add a sleep to the end of the program that's long enough " -"for all the threads to finish::" +"A simple fix is to add a sleep to the end of the program that's long enough for " +"all the threads to finish::" msgstr "" "Una solución sencilla es añadir un *sleep* al final del programa que sea " "suficientemente largo para que todos los hilos terminen::" @@ -448,17 +448,17 @@ msgstr "" #: ../Doc/faq/library.rst:301 msgid "" -"Or, if you want fine control over the dispatching algorithm, you can write " -"your own logic manually. Use the :mod:`queue` module to create a queue " -"containing a list of jobs. The :class:`~queue.Queue` class maintains a list " -"of objects and has a ``.put(obj)`` method that adds items to the queue and a " -"``.get()`` method to return them. The class will take care of the locking " -"necessary to ensure that each job is handed out exactly once." -msgstr "" -"O, si quiere tener un control más preciso sobre el algoritmo de despacho, " -"puede escribir su propia lógica manualmente. Use el módulo :mod:`queue` para " -"crear una cola que contenga una lista de trabajos. La clase :class:`~queue." -"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que añade " +"Or, if you want fine control over the dispatching algorithm, you can write your " +"own logic manually. Use the :mod:`queue` module to create a queue containing a " +"list of jobs. The :class:`~queue.Queue` class maintains a list of objects and " +"has a ``.put(obj)`` method that adds items to the queue and a ``.get()`` method " +"to return them. The class will take care of the locking necessary to ensure " +"that each job is handed out exactly once." +msgstr "" +"O, si quiere tener un control más preciso sobre el algoritmo de despacho, puede " +"escribir su propia lógica manualmente. Use el módulo :mod:`queue` para crear " +"una cola que contenga una lista de trabajos. La clase :class:`~queue.Queue` " +"mantiene una lista de objetos y tiene un método ``.put(obj)`` que añade " "elementos a la cola y un método ``.get()`` que los devuelve. Esta clase se " "encargará de los bloqueos necesarios para asegurar que cada trabajo se reparte " "exactamente una vez." @@ -476,8 +476,8 @@ msgid "" "Consult the module's documentation for more details; the :class:`~queue.Queue` " "class provides a featureful interface." msgstr "" -"Consulte la documentación del módulo para más detalles; la clase :class:" -"`~queue.Queue` proporciona una interfaz llena de características." +"Consulte la documentación del módulo para más detalles; la clase :class:`~queue." +"Queue` proporciona una interfaz llena de características." #: ../Doc/faq/library.rst:369 msgid "What kinds of global value mutation are thread-safe?" @@ -532,8 +532,8 @@ msgid "" "lists. When in doubt, use a mutex!" msgstr "" "Las operaciones que reemplazan otros objetos pueden invocar el método :meth:" -"`__del__` de esos otros objetos cuando su número de referencias alcance cero, " -"y eso puede afectar a otras cosas. Esto es especialmente cierto para las " +"`__del__` de esos otros objetos cuando su número de referencias alcance cero, y " +"eso puede afectar a otras cosas. Esto es especialmente cierto para las " "actualizaciones en masa de diccionarios y listas. Cuando se esté en duda, ¡use " "un mutex!" @@ -544,9 +544,9 @@ msgstr "¿Podemos deshacernos del *Global Interpreter Lock*?" #: ../Doc/faq/library.rst:416 msgid "" "The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " -"Python's deployment on high-end multiprocessor server machines, because a " -"multi-threaded Python program effectively only uses one CPU, due to the " -"insistence that (almost) all Python code can only run while the GIL is held." +"Python's deployment on high-end multiprocessor server machines, because a multi-" +"threaded Python program effectively only uses one CPU, due to the insistence " +"that (almost) all Python code can only run while the GIL is held." msgstr "" "El :term:`global interpreter lock` (GIL) se percibe a menudo como un obstáculo " "en el desarrollo de Python sobre máquinas servidoras finales de múltiples " @@ -556,36 +556,36 @@ msgstr "" #: ../Doc/faq/library.rst:421 msgid "" -"Back in the days of Python 1.5, Greg Stein actually implemented a " -"comprehensive patch set (the \"free threading\" patches) that removed the GIL " -"and replaced it with fine-grained locking. Adam Olsen recently did a similar " -"experiment in his `python-safethread `_ project. Unfortunately, both experiments exhibited a sharp drop " -"in single-thread performance (at least 30% slower), due to the amount of fine-" -"grained locking necessary to compensate for the removal of the GIL." -msgstr "" -"En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio " -"de parches (los parches “libres de hilo”) que eliminaba el GIL y lo " -"reemplazaba con un bloqueo de grano fino. Adam Olsen hizo recientemente un " -"experimento similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos " -"exhibieron una aguda caída en el rendimiento (al menos del 30% o más baja), " -"debido a la cantidad de bloqueos de grano fino necesarios para compensar la " -"eliminación del GIL." +"Back in the days of Python 1.5, Greg Stein actually implemented a comprehensive " +"patch set (the \"free threading\" patches) that removed the GIL and replaced it " +"with fine-grained locking. Adam Olsen recently did a similar experiment in his " +"`python-safethread `_ " +"project. Unfortunately, both experiments exhibited a sharp drop in single-" +"thread performance (at least 30% slower), due to the amount of fine-grained " +"locking necessary to compensate for the removal of the GIL." +msgstr "" +"En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio de " +"parches (los parches “libres de hilo”) que eliminaba el GIL y lo reemplazaba " +"con un bloqueo de grano fino. Adam Olsen hizo recientemente un experimento " +"similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos exhibieron una " +"aguda caída en el rendimiento (al menos del 30% o más baja), debido a la " +"cantidad de bloqueos de grano fino necesarios para compensar la eliminación del " +"GIL." #: ../Doc/faq/library.rst:429 msgid "" -"This doesn't mean that you can't make good use of Python on multi-CPU " -"machines! You just have to be creative with dividing the work up between " -"multiple *processes* rather than multiple *threads*. The :class:`~concurrent." -"futures.ProcessPoolExecutor` class in the new :mod:`concurrent.futures` module " -"provides an easy way of doing so; the :mod:`multiprocessing` module provides a " -"lower-level API in case you want more control over dispatching of tasks." +"This doesn't mean that you can't make good use of Python on multi-CPU machines! " +"You just have to be creative with dividing the work up between multiple " +"*processes* rather than multiple *threads*. The :class:`~concurrent.futures." +"ProcessPoolExecutor` class in the new :mod:`concurrent.futures` module provides " +"an easy way of doing so; the :mod:`multiprocessing` module provides a lower-" +"level API in case you want more control over dispatching of tasks." msgstr "" "¡Esto no significa que no pueda hacer buen uso de Python en máquinas de " "múltiples CPU! Usted sólo tiene que ser creativo a la hora de dividir el " -"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La " -"clase :class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" +"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La clase :" +"class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" "`concurrent.futures` proporciona una manera sencilla de hacer esto; el módulo :" "mod:`multiprocessing` proporciona una API de bajo nivel en caso de que se " "quiera tener un mayor control sobre el despacho de las tareas." @@ -600,9 +600,9 @@ msgid "" msgstr "" "El uso sensato de extensiones C también ayudará; si usa una extensión C para " "ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al GIL " -"mientras el hilo de ejecución esté en el código C y permite a otros hilos " -"hacer algún trabajo. Algunos módulos de la biblioteca estándar tales como :mod:" -"`zlib` y :mod:`hashlib` ya lo hacen." +"mientras el hilo de ejecución esté en el código C y permite a otros hilos hacer " +"algún trabajo. Algunos módulos de la biblioteca estándar tales como :mod:`zlib` " +"y :mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 msgid "" @@ -611,9 +611,9 @@ msgid "" "Unfortunately, this isn't likely to happen either. It would be a tremendous " "amount of work, because many object implementations currently have global " "state. For example, small integers and short strings are cached; these caches " -"would have to be moved to the interpreter state. Other object types have " -"their own free list; these free lists would have to be moved to the " -"interpreter state. And so on." +"would have to be moved to the interpreter state. Other object types have their " +"own free list; these free lists would have to be moved to the interpreter " +"state. And so on." msgstr "" "Se ha sugerido que el GIL debería ser un bloqueo por estado de intérprete, en " "vez de realmente global; luego los intérpretes no serían capaces de compartir " @@ -634,8 +634,8 @@ msgid "" msgstr "" "Y dudo de si se puede hacer en tiempo finito, porque el mismo problema existe " "para extensiones de terceros. Es probable que las extensiones de terceros se " -"escriban más rápido de lo que se puedan convertir para almacenar todo su " -"estado global en el estado del intérprete." +"escriban más rápido de lo que se puedan convertir para almacenar todo su estado " +"global en el estado del intérprete." #: ../Doc/faq/library.rst:457 msgid "" @@ -660,22 +660,22 @@ msgid "" "simply the name of the Unix system call for this function." msgstr "" "Use ``os.remove(filename)`` o ``os.unlink(filename)``; para la documentación, " -"vea el módulo :mod:`os`. Las dos funciones son idénticas; :func:`~os.unlink` " -"es simplemente el nombre de la llamada al sistema UNIX para esta función." +"vea el módulo :mod:`os`. Las dos funciones son idénticas; :func:`~os.unlink` es " +"simplemente el nombre de la llamada al sistema UNIX para esta función." #: ../Doc/faq/library.rst:471 msgid "" "To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " -"one. ``os.makedirs(path)`` will create any intermediate directories in " -"``path`` that don't exist. ``os.removedirs(path)`` will remove intermediate " -"directories as long as they're empty; if you want to delete an entire " -"directory tree and its contents, use :func:`shutil.rmtree`." +"one. ``os.makedirs(path)`` will create any intermediate directories in ``path`` " +"that don't exist. ``os.removedirs(path)`` will remove intermediate directories " +"as long as they're empty; if you want to delete an entire directory tree and " +"its contents, use :func:`shutil.rmtree`." msgstr "" "Para borrar un directorio, use :func:`os.rmdir`; use :func:`os.mkdir` para " "crear uno. ``os.makedirs(path)`` creará cualquier directorio intermedio que no " -"exista en ``path``. ``os.removedirs(path)`` borrará los directorios " -"intermedios siempre y cuando estén vacíos; si quiere borrar un árbol de " -"directorios completo y sus contenidos, use :func:`shutil.rmtree`." +"exista en ``path``. ``os.removedirs(path)`` borrará los directorios intermedios " +"siempre y cuando estén vacíos; si quiere borrar un árbol de directorios " +"completo y sus contenidos, use :func:`shutil.rmtree`." #: ../Doc/faq/library.rst:477 msgid "To rename a file, use ``os.rename(old_path, new_path)``." @@ -684,15 +684,15 @@ msgstr "Para renombre un fichero, use ``os.rename(old_path, new_path)``." #: ../Doc/faq/library.rst:479 msgid "" "To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use ``f." -"truncate(offset)``; offset defaults to the current seek position. There's " -"also ``os.ftruncate(fd, offset)`` for files opened with :func:`os.open`, where " -"*fd* is the file descriptor (a small integer)." +"truncate(offset)``; offset defaults to the current seek position. There's also " +"``os.ftruncate(fd, offset)`` for files opened with :func:`os.open`, where *fd* " +"is the file descriptor (a small integer)." msgstr "" -"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use " -"``f.truncate(offset)``; el desplazamiento toma por defecto la posición actual " -"de búsqueda. También existe ``os.ftruncate(fd, offset)`` para ficheros " -"abiertos con :func:`os.open`, donde *fd* es el descriptor del fichero (un " -"entero pequeño)." +"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use ``f." +"truncate(offset)``; el desplazamiento toma por defecto la posición actual de " +"búsqueda. También existe ``os.ftruncate(fd, offset)`` para ficheros abiertos " +"con :func:`os.open`, donde *fd* es el descriptor del fichero (un entero " +"pequeño)." #: ../Doc/faq/library.rst:484 msgid "" @@ -736,8 +736,8 @@ msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" -"Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y " -"uno de 4-bytes en formato *big-endian*::" +"Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y uno " +"de 4-bytes en formato *big-endian*::" #: ../Doc/faq/library.rst:512 msgid "" @@ -765,9 +765,9 @@ msgid "" "class:`str` objects rather than :class:`bytes` objects." msgstr "" "Para leer y escribir datos binarios, es obligatorio abrir el fichero en modo " -"binario (aquí, pasando ``\"rb\"`` a :func:`open`). Si, en cambio, usa ``\"r" -"\"`` (por defecto), el fichero se abrirá en modo texto y ``f.read()`` " -"devolverá objetos :class:`str` en vez de objetos :class:`bytes`." +"binario (aquí, pasando ``\"rb\"`` a :func:`open`). Si, en cambio, usa ``\"r\"`` " +"(por defecto), el fichero se abrirá en modo texto y ``f.read()`` devolverá " +"objetos :class:`str` en vez de objetos :class:`bytes`." #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" @@ -779,8 +779,8 @@ msgid "" ":func:`os.read` is a low-level function which takes a file descriptor, a small " "integer representing the opened file. :func:`os.popen` creates a high-level " "file object, the same type returned by the built-in :func:`open` function. " -"Thus, to read *n* bytes from a pipe *p* created with :func:`os.popen`, you " -"need to use ``p.read(n)``." +"Thus, to read *n* bytes from a pipe *p* created with :func:`os.popen`, you need " +"to use ``p.read(n)``." msgstr "" ":func:`os.read` es una función de bajo nivel que recibe un descriptor de " "fichero, un entero pequeño representando el fichero abierto. :func:`os.popen` " @@ -814,8 +814,8 @@ msgstr "¿Por qué no cerrando *sys.stdout (stdin, stderr)* realmente se cierra? #: ../Doc/faq/library.rst:632 msgid "" -"Python :term:`file objects ` are a high-level layer of " -"abstraction on low-level C file descriptors." +"Python :term:`file objects ` are a high-level layer of abstraction " +"on low-level C file descriptors." msgstr "" "Los :term:`objetos de tipo fichero ` en Python son una capa de " "abstracción de alto nivel sobre los descriptores de fichero de bajo nivel de C." @@ -843,8 +843,8 @@ msgid "" msgstr "" "Pero *stdin*, *stdout* y *stderr* se tratan de manera especial en Python, " "debido a su estatus especial que también le proporciona C. Ejecutando ``sys." -"stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, " -"pero *no* cierra el descriptor de fichero asociado en C." +"stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, pero " +"*no* cierra el descriptor de fichero asociado en C." #: ../Doc/faq/library.rst:646 msgid "" @@ -872,8 +872,8 @@ msgstr "¿Qué herramientas de Python existen para WWW?" #: ../Doc/faq/library.rst:663 msgid "" "See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " -"Reference Manual. Python has many modules that will help you build server-" -"side and client-side web systems." +"Reference Manual. Python has many modules that will help you build server-side " +"and client-side web systems." msgstr "" "Vea los capítulos titulados :ref:`internet` y :ref:`netdata` en el manual de " "referencia de bibliotecas. Python tiene muchos módulos que le ayudarán a " @@ -884,16 +884,16 @@ msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://wiki." "python.org/moin/WebProgramming\\ ." msgstr "" -"Paul Boddie mantiene un resumen de los *frameworks* disponibles en https://" -"wiki.python.org/moin/WebProgramming\\ ." +"Paul Boddie mantiene un resumen de los *frameworks* disponibles en https://wiki." +"python.org/moin/WebProgramming\\ ." #: ../Doc/faq/library.rst:672 msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies at " "http://phaseit.net/claird/comp.lang.python/web_python." msgstr "" -"Cameron Laird mantiene un conjunto útil de páginas sobre tecnologías web " -"Python en http://phaseit.net/claird/comp.lang.python/web_python." +"Cameron Laird mantiene un conjunto útil de páginas sobre tecnologías web Python " +"en http://phaseit.net/claird/comp.lang.python/web_python." #: ../Doc/faq/library.rst:677 msgid "How can I mimic CGI form submission (METHOD=POST)?" @@ -913,9 +913,9 @@ msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" #: ../Doc/faq/library.rst:697 msgid "" -"Note that in general for percent-encoded POST operations, query strings must " -"be quoted using :func:`urllib.parse.urlencode`. For example, to send " -"``name=Guy Steele, Jr.``::" +"Note that in general for percent-encoded POST operations, query strings must be " +"quoted using :func:`urllib.parse.urlencode`. For example, to send ``name=Guy " +"Steele, Jr.``::" msgstr "" "Nótese que para operaciones *POST* de tipo *percent-encoded*, las cadenas de " "consulta tienen que estar entrecomilladas usando :func:`urllib.parse." @@ -956,14 +956,14 @@ msgstr "" #: ../Doc/faq/library.rst:742 msgid "" "A Unix-only alternative uses sendmail. The location of the sendmail program " -"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" -"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's some " +"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/usr/" +"sbin/sendmail``. The sendmail manual page will help you out. Here's some " "sample code::" msgstr "" "Una alternativa sólo para UNIX es usar *sendmail*. La ubicación del programa " "*sendmail* varía entre sistemas; algunas veces está en ``/usr/lib/sendmail``, " -"otras veces en ``/usr/sbin/sendmail``. El manual de *sendmail* le ayudará. " -"Aquí hay un ejemplo de código::" +"otras veces en ``/usr/sbin/sendmail``. El manual de *sendmail* le ayudará. Aquí " +"hay un ejemplo de código::" #: ../Doc/faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" @@ -981,39 +981,39 @@ msgstr "" msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" "blocking mode. Then when you do the ``connect()``, you will either connect " -"immediately (unlikely) or get an exception that contains the error number as " -"``.errno``. ``errno.EINPROGRESS`` indicates that the connection is in " -"progress, but hasn't finished yet. Different OSes will return different " -"values, so you're going to have to check what's returned on your system." -msgstr "" -"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en " -"modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " -"inmediatamente (improbable) u obtendrá una excepción que contiene el número de " -"error como ``.errno``. ``errno.EINPROGRESS``indica que la conexión está en " -"curso, pero no ha terminado aún. Diferentes sistemas operativos devolverán " -"diferentes valores, así que debe comprobar cuál es el retornado en su sistema." +"immediately (unlikely) or get an exception that contains the error number as ``." +"errno``. ``errno.EINPROGRESS`` indicates that the connection is in progress, " +"but hasn't finished yet. Different OSes will return different values, so " +"you're going to have to check what's returned on your system." +msgstr "" +"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en modo " +"no bloqueante. Luego cuando ejecute ``connect()``, conectará inmediatamente " +"(improbable) u obtendrá una excepción que contiene el número de error como ``." +"errno``. ``errno.EINPROGRESS`` indica que la conexión está en curso, pero no ha " +"terminado aún. Diferentes sistemas operativos devolverán diferentes valores, " +"así que debe comprobar cuál es el retornado en su sistema." #: ../Doc/faq/library.rst:774 msgid "" "You can use the ``connect_ex()`` method to avoid creating an exception. It " -"will just return the errno value. To poll, you can call ``connect_ex()`` " -"again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or " -"you can pass this socket to select to check if it's writable." +"will just return the errno value. To poll, you can call ``connect_ex()`` again " +"later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or you " +"can pass this socket to select to check if it's writable." msgstr "" -"Puede usar el método ``connect_ex()``para evitar crear una excepción. " -"Devolverá simplemente el número de error. Para sondear, puede llamar más tarde " -"a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " +"Puede usar el método ``connect_ex()``para evitar crear una excepción. Devolverá " +"simplemente el número de error. Para sondear, puede llamar más tarde a " +"``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " "conectado -- o puede pasar este socket a *select* para comprobar si se puede " "escribir en él." #: ../Doc/faq/library.rst:780 msgid "" -"The :mod:`asyncore` module presents a framework-like approach to the problem " -"of writing non-blocking networking code. The third-party `Twisted `_ library is a popular and feature-rich alternative." msgstr "" -"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema " -"de escribir código de red no bloqueante. La biblioteca de terceros `Twisted " +"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema de " +"escribir código de red no bloqueante. La biblioteca de terceros `Twisted " "`_ es una alternativa popular y rica en " "características." @@ -1046,9 +1046,9 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" -"Está disponible el soporte para la mayoría de bases de datos relacionarles. " -"Vea la `página wiki de Programación de Bases de datos `_ para más detalles." +"Está disponible el soporte para la mayoría de bases de datos relacionarles. Vea " +"la `página wiki de Programación de Bases de datos `_ para más detalles." #: ../Doc/faq/library.rst:805 msgid "How do you implement persistent objects in Python?" @@ -1063,8 +1063,8 @@ msgid "" msgstr "" "El módulo de biblioteca :mod:`pickle` soluciona esto de una forma muy general " "(aunque todavía no puede almacenar cosas como ficheros abiertos, sockets o " -"ventanas), y el módulo de biblioteca :mod:`shelve` usa *pickle* y *(g)dbm* " -"para crear mapeos persistentes que contienen objetos arbitrarios Python." +"ventanas), y el módulo de biblioteca :mod:`shelve` usa *pickle* y *(g)dbm* para " +"crear mapeos persistentes que contienen objetos arbitrarios Python." #: ../Doc/faq/library.rst:814 msgid "Mathematics and Numerics" @@ -1079,8 +1079,8 @@ msgid "" "The standard module :mod:`random` implements a random number generator. Usage " "is simple::" msgstr "" -"El módulo estándar :mod:`random` implementa un generador de números " -"aleatorios. El uso es simple::" +"El módulo estándar :mod:`random` implementa un generador de números aleatorios. " +"El uso es simple::" #: ../Doc/faq/library.rst:825 msgid "This returns a random floating point number in the range [0, 1)." @@ -1117,8 +1117,7 @@ msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada" #: ../Doc/faq/library.rst:836 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly" msgstr "" -"``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta " -"aleatoriamente" +"``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta aleatoriamente" #: ../Doc/faq/library.rst:838 msgid "" From 84d5eedfeda4bf6bb8386e5be9bf23799d80942b Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 20:51:40 +0100 Subject: [PATCH 19/26] Fix suggestions of @marian-vignau --- faq/library.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/faq/library.po b/faq/library.po index 0132b8496f..71832989b3 100644 --- a/faq/library.po +++ b/faq/library.po @@ -810,7 +810,7 @@ msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "¿Por qué no cerrando *sys.stdout (stdin, stderr)* realmente se cierra?" +msgstr "¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente ino se cierran?" #: ../Doc/faq/library.rst:632 msgid "" @@ -830,8 +830,8 @@ msgid "" msgstr "" "Para la mayoría de objetos de tipo fichero que cree en Python vía la función " "*built-in* :func:`open`, ``f.close()`` marca el objeto de tipo fichero Python " -"para que se cierre desde un punto de vista de Python, y también organiza el " -"cierre del descriptor de fichero subyacente en C. Esto también ocurre " +"como ya cerrado desde el punto de vista de Python, y también ordena el " +"cierre del descriptor de fichero subyacente en C. Esto además ocurre " "automáticamente en el destructor de ``f``, cuando ``f`` se convierte en basura." #: ../Doc/faq/library.rst:641 @@ -842,7 +842,7 @@ msgid "" "associated C file descriptor." msgstr "" "Pero *stdin*, *stdout* y *stderr* se tratan de manera especial en Python, " -"debido a su estatus especial que también le proporciona C. Ejecutando ``sys." +"debido a un estatus especial que también tienen en C. Ejecutando ``sys." "stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, pero " "*no* cierra el descriptor de fichero asociado en C." @@ -1014,8 +1014,8 @@ msgid "" msgstr "" "El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema de " "escribir código de red no bloqueante. La biblioteca de terceros `Twisted " -"`_ es una alternativa popular y rica en " -"características." +"`_ es una alternativa popular y de muchas " +"capacidades." #: ../Doc/faq/library.rst:787 msgid "Databases" @@ -1036,7 +1036,7 @@ msgid "" "`sqlite3` module, which provides a lightweight disk-based relational database." msgstr "" "Interfaces a *hashes* basados en disco tales como :mod:`DBM ` y :mod:" -"`GDBM ` están también incluidas en estándar Python. También hay un " +"`GDBM ` están también incluidas en Python estándar. También hay un " "módulo :mod:`sqlite3`, que proporciona una base de datos relacional ligera " "basada en disco." @@ -1046,7 +1046,7 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" -"Está disponible el soporte para la mayoría de bases de datos relacionarles. Vea " +"Está disponible el soporte para la mayoría de bases de datos relacionales. Vea " "la `página wiki de Programación de Bases de datos `_ para más detalles." From 83538e7f49e581275c276d31ab1f6e785b04b31c Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 21:00:34 +0100 Subject: [PATCH 20/26] Fix pospell bugs found at #5e1c82c --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index 71832989b3..cf99a429d4 100644 --- a/faq/library.po +++ b/faq/library.po @@ -810,7 +810,7 @@ msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente ino se cierran?" +msgstr "¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente no se cierran?" #: ../Doc/faq/library.rst:632 msgid "" From 24d6edd2148903f472f4d74166082fcb51611f25 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 21:34:22 +0100 Subject: [PATCH 21/26] Improve writing based on preview --- faq/library.po | 90 +++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/faq/library.po b/faq/library.po index cf99a429d4..9ea02f36e8 100644 --- a/faq/library.po +++ b/faq/library.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-05-10 20:45+0100\n" +"PO-Revision-Date: 2020-05-10 21:32+0100\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 "" "Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " "`_ o pruebe `Google `_ u otro motor " "de búsqueda. Buscando por “Python” más una o dos palabras clave del tema de " -"interés generalmente encontrará algo útil." +"interés, generalmente encontrará algo útil." #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" @@ -143,7 +143,7 @@ msgstr "" "Si quiere que el script sea independiente de donde se ubique el intérprete de " "Python, puede usar el programa :program:`env`. Casi todas las variantes de Unix " "soportan lo siguiente, asumiendo que el intérprete de Python está en un " -"directorio del :envvar:`PATH`: de usuario:" +"directorio del :envvar:`PATH` de usuario:" #: ../Doc/faq/library.rst:71 msgid "" @@ -379,8 +379,8 @@ msgid "" "Aahz has a set of slides from his threading tutorial that are helpful; see " "http://www.pythoncraft.com/OSCON2001/." msgstr "" -"Aahz tiene un conjunto de transparencias sobre su tutoría de hilos que es útil: " -"vea http://www.pythoncraft.com/OSCON2001/." +"Aahz tiene un conjunto de transparencias en su tutorial de hilos que resulta " +"útil: vea http://www.pythoncraft.com/OSCON2001/." #: ../Doc/faq/library.rst:251 msgid "None of my threads seem to run: why?" @@ -409,10 +409,10 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" -"Por ahora (en muchas plataformas) los hilos no corren en paralelo, pero parece " -"que corren secuencialmente, ¡uno a la vez! La razón es que el planificador de " -"hilos del sistema operativo no inicia un nuevo hilo hasta que el hilo anterior " -"está bloqueado." +"Por ahora (en muchas plataformas) los hilos no corren en paralelo, sino que " +"parecen corren secuencialmente, ¡uno a la vez! La razón es que el planificador " +"de hilos del sistema operativo no inicia un nuevo hilo hasta que el hilo " +"anterior está bloqueado." #: ../Doc/faq/library.rst:275 msgid "A simple fix is to add a tiny sleep to the start of the run function::" @@ -493,11 +493,11 @@ msgid "" "instruction is therefore atomic from the point of view of a Python program." msgstr "" "Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar que " -"sólo un hilo correo a la vez en la VM de Python. En general, Python ofrece " +"sólo un hilo corre a la vez en la VM de Python. En general, Python ofrece " "cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con la que " "cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada instrucción " -"bytecode y por lo tanto toda la implementación de código C alcanzada por cada " -"instrucción es atómica desde el punto de vista de un programa Python." +"bytecode y por lo tanto, toda la implementación de código C alcanzada por cada " +"instrucción, es atómica desde el punto de vista de un programa Python." #: ../Doc/faq/library.rst:378 msgid "" @@ -506,7 +506,7 @@ msgid "" "shared variables of built-in data types (ints, lists, dicts, etc) that \"look " "atomic\" really are." msgstr "" -"En teoría, esto significa que una cuenta exacta requiere de un conocimiento " +"En teoría, esto significa que un informe exacto requiere de un conocimiento " "exacto de la implementación en bytecode de la PVM. En la práctica, esto " "significa que las operaciones entre variables compartidas de tipos de datos " "*built-in* (enteros, listas, diccionarios, etc.) que “parecen atómicas” " @@ -549,7 +549,7 @@ msgid "" "that (almost) all Python code can only run while the GIL is held." msgstr "" "El :term:`global interpreter lock` (GIL) se percibe a menudo como un obstáculo " -"en el desarrollo de Python sobre máquinas servidoras finales de múltiples " +"en el despliegue de Python sobre máquinas servidoras finales de múltiples " "procesadores, porque un programa Python multihilo efectivamente sólo usa una " "CPU, debido a la exigencia de que (casi) todo el código Python sólo puede " "correr mientras el GIL esté activado." @@ -564,11 +564,11 @@ msgid "" "thread performance (at least 30% slower), due to the amount of fine-grained " "locking necessary to compensate for the removal of the GIL." msgstr "" -"En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio de " +"En los días de Python 1.5, Greg Stein de hecho implementó un conjunto amplio de " "parches (los parches “libres de hilo”) que eliminaba el GIL y lo reemplazaba " "con un bloqueo de grano fino. Adam Olsen hizo recientemente un experimento " "similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos exhibieron una " +"python-safethread>`_. Desafortunadamente, ambos experimentos mostraron una " "aguda caída en el rendimiento (al menos del 30% o más baja), debido a la " "cantidad de bloqueos de grano fino necesarios para compensar la eliminación del " "GIL." @@ -601,8 +601,8 @@ msgstr "" "El uso sensato de extensiones C también ayudará; si usa una extensión C para " "ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al GIL " "mientras el hilo de ejecución esté en el código C y permite a otros hilos hacer " -"algún trabajo. Algunos módulos de la biblioteca estándar tales como :mod:`zlib` " -"y :mod:`hashlib` ya lo hacen." +"trabajo. Algunos módulos de la biblioteca estándar tales como :mod:`zlib` y :" +"mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 msgid "" @@ -679,7 +679,7 @@ msgstr "" #: ../Doc/faq/library.rst:477 msgid "To rename a file, use ``os.rename(old_path, new_path)``." -msgstr "Para renombre un fichero, use ``os.rename(old_path, new_path)``." +msgstr "Para renombrar un fichero, use ``os.rename(old_path, new_path)``." #: ../Doc/faq/library.rst:479 msgid "" @@ -701,7 +701,7 @@ msgid "" "`~shutil.rmtree`." msgstr "" "El módulo :mod:`shutil` también contiene distintas funciones para trabajar con " -"fichero incluyendo :func:`~shutil.copyfile`, :func:`~shutil.copytree` y :func:" +"ficheros incluyendo :func:`~shutil.copyfile`, :func:`~shutil.copytree` y :func:" "`~shutil.rmtree`." #: ../Doc/faq/library.rst:490 @@ -726,7 +726,7 @@ msgid "" "`struct` module. It allows you to take a string containing binary data " "(usually numbers) and convert it to Python objects; and vice versa." msgstr "" -"Para leer o escribir formatos binarios complejos de datos, es mejor usar el " +"Para leer o escribir formatos binarios de datos complejos, es mejor usar el " "módulo :mod:`struct`. Esto le permite tomar una cadena de texto que contiene " "datos binarios (normalmente números) y convertirla a objetos de Python; y " "viceversa." @@ -745,16 +745,16 @@ msgid "" "\"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 bytes) from " "the string." msgstr "" -"El '>' en la cadena de formato fuerza los datos *big-endian; la letra '*h*' lee " -"un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 bytes) desde " -"la cadena de texto." +"El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra '*h*' " +"lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 bytes) " +"desde la cadena de texto." #: ../Doc/faq/library.rst:516 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), you " "can also use the :mod:`array` module." msgstr "" -"Para datos que son más regulares (por ejemplo una lista homogéneo de enteros o " +"Para datos que son más regulares (por ejemplo una lista homogénea de enteros o " "flotantes), puede también usar el módulo :mod:`array`." #: ../Doc/faq/library.rst:521 @@ -818,7 +818,7 @@ msgid "" "on low-level C file descriptors." msgstr "" "Los :term:`objetos de tipo fichero ` en Python son una capa de " -"abstracción de alto nivel sobre los descriptores de fichero de bajo nivel de C." +"abstracción de alto nivel sobre los descriptores de ficheros de bajo nivel de C." #: ../Doc/faq/library.rst:635 msgid "" @@ -830,9 +830,9 @@ msgid "" msgstr "" "Para la mayoría de objetos de tipo fichero que cree en Python vía la función " "*built-in* :func:`open`, ``f.close()`` marca el objeto de tipo fichero Python " -"como ya cerrado desde el punto de vista de Python, y también ordena el " -"cierre del descriptor de fichero subyacente en C. Esto además ocurre " -"automáticamente en el destructor de ``f``, cuando ``f`` se convierte en basura." +"como ya cerrado desde el punto de vista de Python, y también ordena el cierre " +"del descriptor de fichero subyacente en C. Esto además ocurre automáticamente " +"en el destructor de ``f``, cuando ``f`` se convierte en basura." #: ../Doc/faq/library.rst:641 msgid "" @@ -842,9 +842,9 @@ msgid "" "associated C file descriptor." msgstr "" "Pero *stdin*, *stdout* y *stderr* se tratan de manera especial en Python, " -"debido a un estatus especial que también tienen en C. Ejecutando ``sys." -"stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, pero " -"*no* cierra el descriptor de fichero asociado en C." +"debido a un estatus especial que también tienen en C. Ejecutando ``sys.stdout." +"close()`` marca el objeto fichero de nivel Python para ser cerrado, pero *no* " +"cierra el descriptor de fichero asociado en C." #: ../Doc/faq/library.rst:646 msgid "" @@ -904,8 +904,8 @@ msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" -"Me gustaría recuperar páginas web que son resultado del envío de un formulario." -"¿Existe algún código que me permitiera hacer esto fácilmente?" +"Me gustaría recuperar páginas web que son resultado del envío de un formulario. " +"¿Existe algún código que me permita hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" @@ -927,7 +927,7 @@ msgstr ":ref:`urllib-howto` para ejemplos más detallados." #: ../Doc/faq/library.rst:709 msgid "What module should I use to help with generating HTML?" -msgstr "¿Qué modulo debería usar que ayude con la generación de HTML?" +msgstr "¿Qué modulo debería usar para generación de HTML?" #: ../Doc/faq/library.rst:713 msgid "" @@ -989,8 +989,8 @@ msgstr "" "Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en modo " "no bloqueante. Luego cuando ejecute ``connect()``, conectará inmediatamente " "(improbable) u obtendrá una excepción que contiene el número de error como ``." -"errno``. ``errno.EINPROGRESS`` indica que la conexión está en curso, pero no ha " -"terminado aún. Diferentes sistemas operativos devolverán diferentes valores, " +"errno``. ``errno.EINPROGRESS`` indica que la conexión está en curso, pero aún " +"no ha terminado. Diferentes sistemas operativos devolverán diferentes valores, " "así que debe comprobar cuál es el retornado en su sistema." #: ../Doc/faq/library.rst:774 @@ -1000,9 +1000,9 @@ msgid "" "later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or you " "can pass this socket to select to check if it's writable." msgstr "" -"Puede usar el método ``connect_ex()``para evitar crear una excepción. Devolverá " -"simplemente el número de error. Para sondear, puede llamar más tarde a " -"``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " +"Puede usar el método ``connect_ex()`` para evitar crear una excepción. " +"Devolverá simplemente el número de error. Para sondear, puede llamar más tarde " +"a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " "conectado -- o puede pasar este socket a *select* para comprobar si se puede " "escribir en él." @@ -1014,7 +1014,7 @@ msgid "" msgstr "" "El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema de " "escribir código de red no bloqueante. La biblioteca de terceros `Twisted " -"`_ es una alternativa popular y de muchas " +"`_ es una alternativa popular y ofrece muchas " "capacidades." #: ../Doc/faq/library.rst:787 @@ -1052,7 +1052,7 @@ msgstr "" #: ../Doc/faq/library.rst:805 msgid "How do you implement persistent objects in Python?" -msgstr "¿Cómo implementa objetos persistentes en Python?" +msgstr "¿Cómo implementar objetos persistentes en Python?" #: ../Doc/faq/library.rst:807 msgid "" @@ -1102,7 +1102,7 @@ msgstr "``uniform(a, b)`` selecciona un número flotante en el rango [a, b)." #: ../Doc/faq/library.rst:831 msgid "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" -"``normalvariate(mean, sdev)`` muestrea una distribución normal (*Gaussian*)." +"``normalvariate(mean, sdev)`` muestrea una distribución normal (*Gausiana*)." #: ../Doc/faq/library.rst:833 msgid "Some higher-level functions operate on sequences directly, such as:" @@ -1124,5 +1124,5 @@ msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" -"También hay una clase `Random`` que puede instanciar para crear múltiples " -"generadores independientes de valores aleatorios." +"También hay una clase ``Random`` que usted puede instanciar para crear " +"múltiples generadores independientes de valores aleatorios." From e29263d6a7e51eb4017a68e1ae5826197ed87318 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Sun, 10 May 2020 21:59:03 +0100 Subject: [PATCH 22/26] Fix powrap issues --- faq/library.po | 789 +++++++++++++++++++++++++------------------------ 1 file changed, 408 insertions(+), 381 deletions(-) diff --git a/faq/library.po b/faq/library.po index 9ea02f36e8..3fd7b99c1e 100644 --- a/faq/library.po +++ b/faq/library.po @@ -37,42 +37,45 @@ msgstr "¿Cómo encuentro un módulo o aplicación para ejecutar la tarea X?" #: ../Doc/faq/library.rst:17 msgid "" -"Check :ref:`the Library Reference ` to see if there's a relevant " -"standard library module. (Eventually you'll learn what's in the standard " -"library and will be able to skip this step.)" +"Check :ref:`the Library Reference ` to see if there's a " +"relevant standard library module. (Eventually you'll learn what's in the " +"standard library and will be able to skip this step.)" msgstr "" "Vea la :ref:`referencia de bibliotecas ` para comprobar si " -"existe un módulo relevante en la biblioteca estándar. (Eventualmente aprenderá " -"lo que hay en la biblioteca estándar y será capaz de saltarse este paso.)" +"existe un módulo relevante en la biblioteca estándar. (Eventualmente " +"aprenderá lo que hay en la biblioteca estándar y será capaz de saltarse este " +"paso.)" #: ../Doc/faq/library.rst:21 msgid "" -"For third-party packages, search the `Python Package Index `_ " -"or try `Google `_ or another Web search engine. " -"Searching for \"Python\" plus a keyword or two for your topic of interest will " -"usually find something helpful." +"For third-party packages, search the `Python Package Index `_ or try `Google `_ or another Web search " +"engine. Searching for \"Python\" plus a keyword or two for your topic of " +"interest will usually find something helpful." msgstr "" "Para los paquetes de terceros, busque en el `Índice de Paquetes de Python " -"`_ o pruebe `Google `_ u otro motor " -"de búsqueda. Buscando por “Python” más una o dos palabras clave del tema de " -"interés, generalmente encontrará algo útil." +"`_ o pruebe `Google `_ u otro " +"motor de búsqueda. Buscando por “Python” más una o dos palabras clave del " +"tema de interés, generalmente encontrará algo útil." #: ../Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "¿Dónde está el fichero fuente *math.py* (*socket.py*, *regex.py*, etc.)?" +msgstr "" +"¿Dónde está el fichero fuente *math.py* (*socket.py*, *regex.py*, etc.)?" #: ../Doc/faq/library.rst:30 msgid "" "If you can't find a source file for a module it may be a built-in or " -"dynamically loaded module implemented in C, C++ or other compiled language. In " -"this case you may not have the source file or it may be something like :file:" -"`mathmodule.c`, somewhere in a C source directory (not on the Python Path)." +"dynamically loaded module implemented in C, C++ or other compiled language. " +"In this case you may not have the source file or it may be something like :" +"file:`mathmodule.c`, somewhere in a C source directory (not on the Python " +"Path)." msgstr "" "Si no puede encontrar un fichero fuente para un módulo, puede ser un módulo " "incorporado o cargado dinámicamente implementado en C, C++ u otro lenguaje " -"compilado. En este caso puede no disponer del fichero fuente o puede ser algo " -"como :file:`mathmodule.c`, en algún lugar de un directorio fuente C (fuera del " -"Python *Path*)." +"compilado. En este caso puede no disponer del fichero fuente o puede ser " +"algo como :file:`mathmodule.c`, en algún lugar de un directorio fuente C " +"(fuera del Python *Path*)." #: ../Doc/faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" @@ -83,17 +86,19 @@ msgid "modules written in Python (.py);" msgstr "módulos escritos en Python (.py);" #: ../Doc/faq/library.rst:38 -msgid "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" +msgid "" +"modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" -"módulos escritos en C y cargados dinámicamente (*.dll, .pyd, .so, .sl*, etc.);" +"módulos escritos en C y cargados dinámicamente (*.dll, .pyd, .so, .sl*, " +"etc.);" #: ../Doc/faq/library.rst:39 msgid "" -"modules written in C and linked with the interpreter; to get a list of these, " -"type::" +"modules written in C and linked with the interpreter; to get a list of " +"these, type::" msgstr "" -"módulos escritos en C y enlazados con el intérprete; para obtener una lista de " -"estos, escriba::" +"módulos escritos en C y enlazados con el intérprete; para obtener una lista " +"de estos, escriba::" #: ../Doc/faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" @@ -105,22 +110,22 @@ msgid "" "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" -"Necesita hacer dos cosas: el modo del fichero del script debe ser ejecutable y " -"la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete de " -"Python." +"Necesita hacer dos cosas: el modo del fichero del script debe ser ejecutable " +"y la primera línea debe comenzar con ``#!`` seguido de la ruta al intérprete " +"de Python." #: ../Doc/faq/library.rst:53 msgid "" -"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod 755 " -"scriptfile``." +"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " +"755 scriptfile``." msgstr "" "Lo primero se hace ejecutando ``chmod +x scriptfile`` o bien ``chmod 755 " "scriptfile``." #: ../Doc/faq/library.rst:56 msgid "" -"The second can be done in a number of ways. The most straightforward way is to " -"write ::" +"The second can be done in a number of ways. The most straightforward way is " +"to write ::" msgstr "" "Lo segundo se puede hacer de distintas maneras. La manera más directa es " "escribir ::" @@ -135,42 +140,42 @@ msgstr "" #: ../Doc/faq/library.rst:64 msgid "" -"If you would like the script to be independent of where the Python interpreter " -"lives, you can use the :program:`env` program. Almost all Unix variants " -"support the following, assuming the Python interpreter is in a directory on the " -"user's :envvar:`PATH`::" +"If you would like the script to be independent of where the Python " +"interpreter lives, you can use the :program:`env` program. Almost all Unix " +"variants support the following, assuming the Python interpreter is in a " +"directory on the user's :envvar:`PATH`::" msgstr "" -"Si quiere que el script sea independiente de donde se ubique el intérprete de " -"Python, puede usar el programa :program:`env`. Casi todas las variantes de Unix " -"soportan lo siguiente, asumiendo que el intérprete de Python está en un " -"directorio del :envvar:`PATH` de usuario:" +"Si quiere que el script sea independiente de donde se ubique el intérprete " +"de Python, puede usar el programa :program:`env`. Casi todas las variantes " +"de Unix soportan lo siguiente, asumiendo que el intérprete de Python está en " +"un directorio del :envvar:`PATH` de usuario:" #: ../Doc/faq/library.rst:71 msgid "" -"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI scripts " -"is often very minimal, so you need to use the actual absolute pathname of the " -"interpreter." +"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI " +"scripts is often very minimal, so you need to use the actual absolute " +"pathname of the interpreter." msgstr "" -"*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI es " -"mínima, así que necesita usar la ruta real absoluta al intérprete." +"*No* haga esto para scripts CGI. La variable :envvar:`PATH` para scripts CGI " +"es mínima, así que necesita usar la ruta real absoluta al intérprete." #: ../Doc/faq/library.rst:75 msgid "" -"Occasionally, a user's environment is so full that the :program:`/usr/bin/env` " -"program fails; or there's no env program at all. In that case, you can try the " -"following hack (due to Alex Rezinsky):" +"Occasionally, a user's environment is so full that the :program:`/usr/bin/" +"env` program fails; or there's no env program at all. In that case, you can " +"try the following hack (due to Alex Rezinsky):" msgstr "" -"Ocasionalmente, un entorno de usuario está tan lleno que el programa :program:`/" -"usr/bin/env` falla; o bien no existe el programa env. En ese caso, puede " -"intentar el siguiente truco (gracias a Alex Rezinsky):" +"Ocasionalmente, un entorno de usuario está tan lleno que el programa :" +"program:`/usr/bin/env` falla; o bien no existe el programa env. En ese caso, " +"puede intentar el siguiente truco (gracias a Alex Rezinsky):" #: ../Doc/faq/library.rst:86 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -"Una pequeña desventaja es que esto define el *__doc__* del script. Sin embargo, " -"puede arreglarlo añadiendo ::" +"Una pequeña desventaja es que esto define el *__doc__* del script. Sin " +"embargo, puede arreglarlo añadiendo ::" #: ../Doc/faq/library.rst:94 msgid "Is there a curses/termcap package for Python?" @@ -178,10 +183,10 @@ msgstr "¿Hay un paquete curses/termcap para Python?" #: ../Doc/faq/library.rst:98 msgid "" -"For Unix variants: The standard Python source distribution comes with a curses " -"module in the :source:`Modules` subdirectory, though it's not compiled by " -"default. (Note that this is not available in the Windows distribution -- there " -"is no curses module for Windows.)" +"For Unix variants: The standard Python source distribution comes with a " +"curses module in the :source:`Modules` subdirectory, though it's not " +"compiled by default. (Note that this is not available in the Windows " +"distribution -- there is no curses module for Windows.)" msgstr "" "Para variantes Unix: La distribución estándar de Python viene con un módulo " "curses en el subdirectorio :source:`Modules`, aunque no está compilado por " @@ -191,10 +196,11 @@ msgstr "" #: ../Doc/faq/library.rst:103 msgid "" "The :mod:`curses` module supports basic curses features as well as many " -"additional functions from ncurses and SYSV curses such as colour, alternative " -"character set support, pads, and mouse support. This means the module isn't " -"compatible with operating systems that only have BSD curses, but there don't " -"seem to be any currently maintained OSes that fall into this category." +"additional functions from ncurses and SYSV curses such as colour, " +"alternative character set support, pads, and mouse support. This means the " +"module isn't compatible with operating systems that only have BSD curses, " +"but there don't seem to be any currently maintained OSes that fall into this " +"category." msgstr "" "El módulo :mod:`curses` soporta características básicas de cursores así como " "muchas funciones adicionales de ncurses y cursores SYSV como color, soporte " @@ -205,11 +211,11 @@ msgstr "" #: ../Doc/faq/library.rst:109 msgid "" -"For Windows: use `the consolelib module `_." +"For Windows: use `the consolelib module `_." msgstr "" -"Para Windows: use `el módulo consolelib `_." +"Para Windows: use `el módulo consolelib `_." #: ../Doc/faq/library.rst:114 msgid "Is there an equivalent to C's onexit() in Python?" @@ -217,11 +223,11 @@ msgstr "¿Hay un equivalente en Python al onexit() de C?" #: ../Doc/faq/library.rst:116 msgid "" -"The :mod:`atexit` module provides a register function that is similar to C's :c:" -"func:`onexit`." +"The :mod:`atexit` module provides a register function that is similar to " +"C's :c:func:`onexit`." msgstr "" -"El módulo :mod:`atexit` proporciona una función de registro que es similar a :c:" -"func:`onexit` de C." +"El módulo :mod:`atexit` proporciona una función de registro que es similar " +"a :c:func:`onexit` de C." #: ../Doc/faq/library.rst:121 msgid "Why don't my signal handlers work?" @@ -229,8 +235,8 @@ msgstr "¿Por qué no funcionan mis manejadores de señales?" #: ../Doc/faq/library.rst:123 msgid "" -"The most common problem is that the signal handler is declared with the wrong " -"argument list. It is called as ::" +"The most common problem is that the signal handler is declared with the " +"wrong argument list. It is called as ::" msgstr "" "El problema más común es que el manejador de señales esté declarado con la " "lista incorrecta de argumentos. Se llama como ::" @@ -254,13 +260,14 @@ msgid "" "with the expected output given in the docstring." msgstr "" "Python viene con dos *frameworks* de *testing*. El módulo :mod:`doctest` " -"encuentra ejemplos en los docstrings para un módulo y los ejecuta, comparando " -"la salida con la salida esperada especificada en la cadena de documentación." +"encuentra ejemplos en los docstrings para un módulo y los ejecuta, " +"comparando la salida con la salida esperada especificada en la cadena de " +"documentación." #: ../Doc/faq/library.rst:144 msgid "" -"The :mod:`unittest` module is a fancier testing framework modelled on Java and " -"Smalltalk testing frameworks." +"The :mod:`unittest` module is a fancier testing framework modelled on Java " +"and Smalltalk testing frameworks." msgstr "" "El módulo :mod:`unittest` es un *framework* de *testing* más agradable y " "modelado sobre los *frameworks* de *testing* de Java y Smalltalk." @@ -276,16 +283,18 @@ msgid "" "more difficult to do." msgstr "" "Para hacer más fácil el *testing*, debería usar un buen diseño modular en su " -"programa. Su programa debería tener casi toda la funcionalidad encapsulada en " -"funciones o en métodos de clases — y esto algunas veces tiene el efecto " +"programa. Su programa debería tener casi toda la funcionalidad encapsulada " +"en funciones o en métodos de clases — y esto algunas veces tiene el efecto " "sorprendente y encantador de que su programa funcione más rápido (porque los " -"accesos a las variables locales son más rápidas que los accesos a las variables " -"globales). Además el programa debería evitar depender de la mutación de " -"variables globales, ya que esto dificulta mucho más hacer el *testing*." +"accesos a las variables locales son más rápidas que los accesos a las " +"variables globales). Además el programa debería evitar depender de la " +"mutación de variables globales, ya que esto dificulta mucho más hacer el " +"*testing*." #: ../Doc/faq/library.rst:155 msgid "The \"global main logic\" of your program may be as simple as ::" -msgstr "La “lógica global principal” de su programa puede ser tan simple como ::" +msgstr "" +"La “lógica global principal” de su programa puede ser tan simple como ::" #: ../Doc/faq/library.rst:160 msgid "at the bottom of the main module of your program." @@ -293,22 +302,23 @@ msgstr "al final del módulo principal de su programa." #: ../Doc/faq/library.rst:162 msgid "" -"Once your program is organized as a tractable collection of functions and class " -"behaviours you should write test functions that exercise the behaviours. A " -"test suite that automates a sequence of tests can be associated with each " -"module. This sounds like a lot of work, but since Python is so terse and " -"flexible it's surprisingly easy. You can make coding much more pleasant and " -"fun by writing your test functions in parallel with the \"production code\", " -"since this makes it easy to find bugs and even design flaws earlier." -msgstr "" -"Una vez que su programa esté organizado en una colección manejable de funciones " -"y comportamientos de clases, usted debería escribir funciones de comprobación " -"que ejerciten los comportamientos. Se puede asociar un conjunto de pruebas a " -"cada módulo. Esto suena a mucho trabajo, pero gracias a que Python es tan " -"conciso y flexible, se hace sorprendentemente fácil. Puede codificar de manera " -"mucho más agradable y divertida escribiendo funciones de comprobación en " -"paralelo con el \"código de producción\", ya que esto facilita encontrar antes " -"errores e incluso fallos de diseño." +"Once your program is organized as a tractable collection of functions and " +"class behaviours you should write test functions that exercise the " +"behaviours. A test suite that automates a sequence of tests can be " +"associated with each module. This sounds like a lot of work, but since " +"Python is so terse and flexible it's surprisingly easy. You can make coding " +"much more pleasant and fun by writing your test functions in parallel with " +"the \"production code\", since this makes it easy to find bugs and even " +"design flaws earlier." +msgstr "" +"Una vez que su programa esté organizado en una colección manejable de " +"funciones y comportamientos de clases, usted debería escribir funciones de " +"comprobación que ejerciten los comportamientos. Se puede asociar un conjunto " +"de pruebas a cada módulo. Esto suena a mucho trabajo, pero gracias a que " +"Python es tan conciso y flexible, se hace sorprendentemente fácil. Puede " +"codificar de manera mucho más agradable y divertida escribiendo funciones de " +"comprobación en paralelo con el \"código de producción\", ya que esto " +"facilita encontrar antes errores e incluso fallos de diseño." #: ../Doc/faq/library.rst:170 msgid "" @@ -320,8 +330,8 @@ msgstr "" #: ../Doc/faq/library.rst:176 msgid "" -"Even programs that interact with complex external interfaces may be tested when " -"the external interfaces are unavailable by using \"fake\" interfaces " +"Even programs that interact with complex external interfaces may be tested " +"when the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" "Incluso los programas que interactúan con interfaces externas complejas se " @@ -339,10 +349,11 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" -"El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en su " -"código fuente Python. Una alternativa para crear documentación API " -"estrictamente desde docstrings es `epydoc `_. " -"`Sphinx `_ también puede incluir contenido docstring." +"El módulo :mod:`pydoc` puede crear HTML desde los docstrings existentes en " +"su código fuente Python. Una alternativa para crear documentación API " +"estrictamente desde docstrings es `epydoc `_. `Sphinx `_ también puede incluir contenido " +"docstring." #: ../Doc/faq/library.rst:191 msgid "How do I get a single keypress at a time?" @@ -350,8 +361,8 @@ msgstr "¿Cómo consigo presionar una única tecla cada vez?" #: ../Doc/faq/library.rst:193 msgid "" -"For Unix variants there are several solutions. It's straightforward to do this " -"using curses, but curses is a fairly large module to learn." +"For Unix variants there are several solutions. It's straightforward to do " +"this using curses, but curses is a fairly large module to learn." msgstr "" "Para variantes Unix hay varias soluciones. Lo más directo es hacerlo usando " "cursores, pero curses es un módulo bastante amplio para aprenderlo." @@ -366,12 +377,12 @@ msgstr "¿Cómo programo usando hilos?" #: ../Doc/faq/library.rst:242 msgid "" -"Be sure to use the :mod:`threading` module and not the :mod:`_thread` module. " -"The :mod:`threading` module builds convenient abstractions on top of the low-" -"level primitives provided by the :mod:`_thread` module." +"Be sure to use the :mod:`threading` module and not the :mod:`_thread` " +"module. The :mod:`threading` module builds convenient abstractions on top of " +"the low-level primitives provided by the :mod:`_thread` module." msgstr "" -"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. El " -"módulo :mod:`threading` construye abstracciones convenientes sobre las " +"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. " +"El módulo :mod:`threading` construye abstracciones convenientes sobre las " "primitivas de bajo nivel proporcionadas por el módulo :mod:`_thread`." #: ../Doc/faq/library.rst:246 @@ -388,8 +399,8 @@ msgstr "Ninguno de mis hilos parece funcionar: ¿por qué?" #: ../Doc/faq/library.rst:253 msgid "" -"As soon as the main thread exits, all threads are killed. Your main thread is " -"running too quickly, giving the threads no time to do any work." +"As soon as the main thread exits, all threads are killed. Your main thread " +"is running too quickly, giving the threads no time to do any work." msgstr "" "Tan pronto como el hilo principal termine, se matan todos los hilos. Su hilo " "principal está corriendo demasiado rápido, sin dar tiempo a los hilos para " @@ -397,8 +408,8 @@ msgstr "" #: ../Doc/faq/library.rst:256 msgid "" -"A simple fix is to add a sleep to the end of the program that's long enough for " -"all the threads to finish::" +"A simple fix is to add a sleep to the end of the program that's long enough " +"for all the threads to finish::" msgstr "" "Una solución sencilla es añadir un *sleep* al final del programa que sea " "suficientemente largo para que todos los hilos terminen::" @@ -410,9 +421,9 @@ msgid "" "doesn't start a new thread until the previous thread is blocked." msgstr "" "Por ahora (en muchas plataformas) los hilos no corren en paralelo, sino que " -"parecen corren secuencialmente, ¡uno a la vez! La razón es que el planificador " -"de hilos del sistema operativo no inicia un nuevo hilo hasta que el hilo " -"anterior está bloqueado." +"parecen corren secuencialmente, ¡uno a la vez! La razón es que el " +"planificador de hilos del sistema operativo no inicia un nuevo hilo hasta " +"que el hilo anterior está bloqueado." #: ../Doc/faq/library.rst:275 msgid "A simple fix is to add a tiny sleep to the start of the run function::" @@ -424,15 +435,15 @@ msgstr "" msgid "" "Instead of trying to guess a good delay value for :func:`time.sleep`, it's " "better to use some kind of semaphore mechanism. One idea is to use the :mod:" -"`queue` module to create a queue object, let each thread append a token to the " -"queue when it finishes, and let the main thread read as many tokens from the " -"queue as there are threads." +"`queue` module to create a queue object, let each thread append a token to " +"the queue when it finishes, and let the main thread read as many tokens from " +"the queue as there are threads." msgstr "" "En vez de intentar adivinar un valor de retardo adecuado para :func:`time." -"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar el " -"módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo añada " -"un *token* a la cola cuando termine, y permitiendo al hilo principal leer " -"tantos tokens de la cola como hilos haya." +"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar " +"el módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo " +"añada un *token* a la cola cuando termine, y permitiendo al hilo principal " +"leer tantos tokens de la cola como hilos haya." #: ../Doc/faq/library.rst:296 msgid "How do I parcel out work among a bunch of worker threads?" @@ -440,28 +451,28 @@ msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?" #: ../Doc/faq/library.rst:298 msgid "" -"The easiest way is to use the new :mod:`concurrent.futures` module, especially " -"the :mod:`~concurrent.futures.ThreadPoolExecutor` class." +"The easiest way is to use the new :mod:`concurrent.futures` module, " +"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" "La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, " "especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`." #: ../Doc/faq/library.rst:301 msgid "" -"Or, if you want fine control over the dispatching algorithm, you can write your " -"own logic manually. Use the :mod:`queue` module to create a queue containing a " -"list of jobs. The :class:`~queue.Queue` class maintains a list of objects and " -"has a ``.put(obj)`` method that adds items to the queue and a ``.get()`` method " -"to return them. The class will take care of the locking necessary to ensure " -"that each job is handed out exactly once." -msgstr "" -"O, si quiere tener un control más preciso sobre el algoritmo de despacho, puede " -"escribir su propia lógica manualmente. Use el módulo :mod:`queue` para crear " -"una cola que contenga una lista de trabajos. La clase :class:`~queue.Queue` " -"mantiene una lista de objetos y tiene un método ``.put(obj)`` que añade " -"elementos a la cola y un método ``.get()`` que los devuelve. Esta clase se " -"encargará de los bloqueos necesarios para asegurar que cada trabajo se reparte " -"exactamente una vez." +"Or, if you want fine control over the dispatching algorithm, you can write " +"your own logic manually. Use the :mod:`queue` module to create a queue " +"containing a list of jobs. The :class:`~queue.Queue` class maintains a list " +"of objects and has a ``.put(obj)`` method that adds items to the queue and a " +"``.get()`` method to return them. The class will take care of the locking " +"necessary to ensure that each job is handed out exactly once." +msgstr "" +"O, si quiere tener un control más preciso sobre el algoritmo de despacho, " +"puede escribir su propia lógica manualmente. Use el módulo :mod:`queue` para " +"crear una cola que contenga una lista de trabajos. La clase :class:`~queue." +"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que " +"añade elementos a la cola y un método ``.get()`` que los devuelve. Esta " +"clase se encargará de los bloqueos necesarios para asegurar que cada trabajo " +"se reparte exactamente una vez." #: ../Doc/faq/library.rst:308 msgid "Here's a trivial example::" @@ -473,11 +484,11 @@ msgstr "Cuando se ejecute, esto producirá la siguiente salida:" #: ../Doc/faq/library.rst:364 msgid "" -"Consult the module's documentation for more details; the :class:`~queue.Queue` " -"class provides a featureful interface." +"Consult the module's documentation for more details; the :class:`~queue." +"Queue` class provides a featureful interface." msgstr "" -"Consulte la documentación del módulo para más detalles; la clase :class:`~queue." -"Queue` proporciona una interfaz llena de características." +"Consulte la documentación del módulo para más detalles; la clase :class:" +"`~queue.Queue` proporciona una interfaz llena de características." #: ../Doc/faq/library.rst:369 msgid "What kinds of global value mutation are thread-safe?" @@ -485,26 +496,27 @@ msgstr "¿Qué tipos de mutación de valores globales son *thread-safe*?" #: ../Doc/faq/library.rst:371 msgid "" -"A :term:`global interpreter lock` (GIL) is used internally to ensure that only " -"one thread runs in the Python VM at a time. In general, Python offers to " -"switch among threads only between bytecode instructions; how frequently it " -"switches can be set via :func:`sys.setswitchinterval`. Each bytecode " +"A :term:`global interpreter lock` (GIL) is used internally to ensure that " +"only one thread runs in the Python VM at a time. In general, Python offers " +"to switch among threads only between bytecode instructions; how frequently " +"it switches can be set via :func:`sys.setswitchinterval`. Each bytecode " "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" -"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar que " -"sólo un hilo corre a la vez en la VM de Python. En general, Python ofrece " -"cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con la que " -"cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada instrucción " -"bytecode y por lo tanto, toda la implementación de código C alcanzada por cada " -"instrucción, es atómica desde el punto de vista de un programa Python." +"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar " +"que sólo un hilo corre a la vez en la VM de Python. En general, Python " +"ofrece cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con " +"la que cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada " +"instrucción bytecode y por lo tanto, toda la implementación de código C " +"alcanzada por cada instrucción, es atómica desde el punto de vista de un " +"programa Python." #: ../Doc/faq/library.rst:378 msgid "" "In theory, this means an exact accounting requires an exact understanding of " "the PVM bytecode implementation. In practice, it means that operations on " -"shared variables of built-in data types (ints, lists, dicts, etc) that \"look " -"atomic\" really are." +"shared variables of built-in data types (ints, lists, dicts, etc) that " +"\"look atomic\" really are." msgstr "" "En teoría, esto significa que un informe exacto requiere de un conocimiento " "exacto de la implementación en bytecode de la PVM. En la práctica, esto " @@ -514,8 +526,8 @@ msgstr "" #: ../Doc/faq/library.rst:383 msgid "" -"For example, the following operations are all atomic (L, L1, L2 are lists, D, " -"D1, D2 are dicts, x, y are objects, i, j are ints)::" +"For example, the following operations are all atomic (L, L1, L2 are lists, " +"D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" "Por ejemplo, las siguientes operaciones son todas atómicas (L, L1, L2 son " "listas, D, D1, D2 son diccionarios, *x, y* son objetos, *i, j* son enteros)::" @@ -527,15 +539,15 @@ msgstr "Estas no lo son::" #: ../Doc/faq/library.rst:405 msgid "" "Operations that replace other objects may invoke those other objects' :meth:" -"`__del__` method when their reference count reaches zero, and that can affect " -"things. This is especially true for the mass updates to dictionaries and " -"lists. When in doubt, use a mutex!" +"`__del__` method when their reference count reaches zero, and that can " +"affect things. This is especially true for the mass updates to dictionaries " +"and lists. When in doubt, use a mutex!" msgstr "" "Las operaciones que reemplazan otros objetos pueden invocar el método :meth:" -"`__del__` de esos otros objetos cuando su número de referencias alcance cero, y " -"eso puede afectar a otras cosas. Esto es especialmente cierto para las " -"actualizaciones en masa de diccionarios y listas. Cuando se esté en duda, ¡use " -"un mutex!" +"`__del__` de esos otros objetos cuando su número de referencias alcance " +"cero, y eso puede afectar a otras cosas. Esto es especialmente cierto para " +"las actualizaciones en masa de diccionarios y listas. Cuando se esté en " +"duda, ¡use un mutex!" #: ../Doc/faq/library.rst:412 msgid "Can't we get rid of the Global Interpreter Lock?" @@ -544,98 +556,100 @@ msgstr "¿Podemos deshacernos del *Global Interpreter Lock*?" #: ../Doc/faq/library.rst:416 msgid "" "The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " -"Python's deployment on high-end multiprocessor server machines, because a multi-" -"threaded Python program effectively only uses one CPU, due to the insistence " -"that (almost) all Python code can only run while the GIL is held." +"Python's deployment on high-end multiprocessor server machines, because a " +"multi-threaded Python program effectively only uses one CPU, due to the " +"insistence that (almost) all Python code can only run while the GIL is held." msgstr "" -"El :term:`global interpreter lock` (GIL) se percibe a menudo como un obstáculo " -"en el despliegue de Python sobre máquinas servidoras finales de múltiples " -"procesadores, porque un programa Python multihilo efectivamente sólo usa una " -"CPU, debido a la exigencia de que (casi) todo el código Python sólo puede " -"correr mientras el GIL esté activado." +"El :term:`global interpreter lock` (GIL) se percibe a menudo como un " +"obstáculo en el despliegue de Python sobre máquinas servidoras finales de " +"múltiples procesadores, porque un programa Python multihilo efectivamente " +"sólo usa una CPU, debido a la exigencia de que (casi) todo el código Python " +"sólo puede correr mientras el GIL esté activado." #: ../Doc/faq/library.rst:421 msgid "" -"Back in the days of Python 1.5, Greg Stein actually implemented a comprehensive " -"patch set (the \"free threading\" patches) that removed the GIL and replaced it " -"with fine-grained locking. Adam Olsen recently did a similar experiment in his " -"`python-safethread `_ " -"project. Unfortunately, both experiments exhibited a sharp drop in single-" -"thread performance (at least 30% slower), due to the amount of fine-grained " -"locking necessary to compensate for the removal of the GIL." -msgstr "" -"En los días de Python 1.5, Greg Stein de hecho implementó un conjunto amplio de " -"parches (los parches “libres de hilo”) que eliminaba el GIL y lo reemplazaba " -"con un bloqueo de grano fino. Adam Olsen hizo recientemente un experimento " -"similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos mostraron una " -"aguda caída en el rendimiento (al menos del 30% o más baja), debido a la " -"cantidad de bloqueos de grano fino necesarios para compensar la eliminación del " -"GIL." +"Back in the days of Python 1.5, Greg Stein actually implemented a " +"comprehensive patch set (the \"free threading\" patches) that removed the " +"GIL and replaced it with fine-grained locking. Adam Olsen recently did a " +"similar experiment in his `python-safethread `_ project. Unfortunately, both experiments " +"exhibited a sharp drop in single-thread performance (at least 30% slower), " +"due to the amount of fine-grained locking necessary to compensate for the " +"removal of the GIL." +msgstr "" +"En los días de Python 1.5, Greg Stein de hecho implementó un conjunto amplio " +"de parches (los parches “libres de hilo”) que eliminaba el GIL y lo " +"reemplazaba con un bloqueo de grano fino. Adam Olsen hizo recientemente un " +"experimento similar con su proyecto `python-safethread `_. Desafortunadamente, ambos experimentos " +"mostraron una aguda caída en el rendimiento (al menos del 30% o más baja), " +"debido a la cantidad de bloqueos de grano fino necesarios para compensar la " +"eliminación del GIL." #: ../Doc/faq/library.rst:429 msgid "" -"This doesn't mean that you can't make good use of Python on multi-CPU machines! " -"You just have to be creative with dividing the work up between multiple " -"*processes* rather than multiple *threads*. The :class:`~concurrent.futures." -"ProcessPoolExecutor` class in the new :mod:`concurrent.futures` module provides " -"an easy way of doing so; the :mod:`multiprocessing` module provides a lower-" -"level API in case you want more control over dispatching of tasks." +"This doesn't mean that you can't make good use of Python on multi-CPU " +"machines! You just have to be creative with dividing the work up between " +"multiple *processes* rather than multiple *threads*. The :class:" +"`~concurrent.futures.ProcessPoolExecutor` class in the new :mod:`concurrent." +"futures` module provides an easy way of doing so; the :mod:`multiprocessing` " +"module provides a lower-level API in case you want more control over " +"dispatching of tasks." msgstr "" "¡Esto no significa que no pueda hacer buen uso de Python en máquinas de " "múltiples CPU! Usted sólo tiene que ser creativo a la hora de dividir el " -"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La clase :" -"class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" -"`concurrent.futures` proporciona una manera sencilla de hacer esto; el módulo :" -"mod:`multiprocessing` proporciona una API de bajo nivel en caso de que se " -"quiera tener un mayor control sobre el despacho de las tareas." +"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La " +"clase :class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:" +"`concurrent.futures` proporciona una manera sencilla de hacer esto; el " +"módulo :mod:`multiprocessing` proporciona una API de bajo nivel en caso de " +"que se quiera tener un mayor control sobre el despacho de las tareas." #: ../Doc/faq/library.rst:437 msgid "" "Judicious use of C extensions will also help; if you use a C extension to " "perform a time-consuming task, the extension can release the GIL while the " -"thread of execution is in the C code and allow other threads to get some work " -"done. Some standard library modules such as :mod:`zlib` and :mod:`hashlib` " -"already do this." +"thread of execution is in the C code and allow other threads to get some " +"work done. Some standard library modules such as :mod:`zlib` and :mod:" +"`hashlib` already do this." msgstr "" "El uso sensato de extensiones C también ayudará; si usa una extensión C para " -"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al GIL " -"mientras el hilo de ejecución esté en el código C y permite a otros hilos hacer " -"trabajo. Algunos módulos de la biblioteca estándar tales como :mod:`zlib` y :" -"mod:`hashlib` ya lo hacen." +"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al " +"GIL mientras el hilo de ejecución esté en el código C y permite a otros " +"hilos hacer trabajo. Algunos módulos de la biblioteca estándar tales como :" +"mod:`zlib` y :mod:`hashlib` ya lo hacen." #: ../Doc/faq/library.rst:443 msgid "" "It has been suggested that the GIL should be a per-interpreter-state lock " -"rather than truly global; interpreters then wouldn't be able to share objects. " -"Unfortunately, this isn't likely to happen either. It would be a tremendous " -"amount of work, because many object implementations currently have global " -"state. For example, small integers and short strings are cached; these caches " -"would have to be moved to the interpreter state. Other object types have their " -"own free list; these free lists would have to be moved to the interpreter " -"state. And so on." -msgstr "" -"Se ha sugerido que el GIL debería ser un bloqueo por estado de intérprete, en " -"vez de realmente global; luego los intérpretes no serían capaces de compartir " -"objetos. Desafortunadamente, esto tampoco es probable que ocurra. Sería una " -"tremenda cantidad de trabajo, porque muchas implementaciones de objetos " -"actualmente tienen un estado global. Por ejemplo, los enteros pequeños y las " -"cadenas pequeñas están *cacheadas*; estas *caches* se tendrían que mover al " -"estado del intérprete. Otros tipos de objetos tienen su propia lista libre; " -"estas listas libres se tendrían que mover al estado del intérprete. Y así " -"sucesivamente." +"rather than truly global; interpreters then wouldn't be able to share " +"objects. Unfortunately, this isn't likely to happen either. It would be a " +"tremendous amount of work, because many object implementations currently " +"have global state. For example, small integers and short strings are cached; " +"these caches would have to be moved to the interpreter state. Other object " +"types have their own free list; these free lists would have to be moved to " +"the interpreter state. And so on." +msgstr "" +"Se ha sugerido que el GIL debería ser un bloqueo por estado de intérprete, " +"en vez de realmente global; luego los intérpretes no serían capaces de " +"compartir objetos. Desafortunadamente, esto tampoco es probable que ocurra. " +"Sería una tremenda cantidad de trabajo, porque muchas implementaciones de " +"objetos actualmente tienen un estado global. Por ejemplo, los enteros " +"pequeños y las cadenas pequeñas están *cacheadas*; estas *caches* se " +"tendrían que mover al estado del intérprete. Otros tipos de objetos tienen " +"su propia lista libre; estas listas libres se tendrían que mover al estado " +"del intérprete. Y así sucesivamente." #: ../Doc/faq/library.rst:452 msgid "" -"And I doubt that it can even be done in finite time, because the same problem " -"exists for 3rd party extensions. It is likely that 3rd party extensions are " -"being written at a faster rate than you can convert them to store all their " -"global state in the interpreter state." +"And I doubt that it can even be done in finite time, because the same " +"problem exists for 3rd party extensions. It is likely that 3rd party " +"extensions are being written at a faster rate than you can convert them to " +"store all their global state in the interpreter state." msgstr "" -"Y dudo de si se puede hacer en tiempo finito, porque el mismo problema existe " -"para extensiones de terceros. Es probable que las extensiones de terceros se " -"escriban más rápido de lo que se puedan convertir para almacenar todo su estado " -"global en el estado del intérprete." +"Y dudo de si se puede hacer en tiempo finito, porque el mismo problema " +"existe para extensiones de terceros. Es probable que las extensiones de " +"terceros se escriban más rápido de lo que se puedan convertir para almacenar " +"todo su estado global en el estado del intérprete." #: ../Doc/faq/library.rst:457 msgid "" @@ -643,7 +657,8 @@ msgid "" "have you gained over running each interpreter in a separate process?" msgstr "" "Y finalmente, una vez que tenga múltiples intérpretes sin compartir ningún " -"estado, ¿qué habrá ganado sobre correr cada intérprete en un proceso separado?" +"estado, ¿qué habrá ganado sobre correr cada intérprete en un proceso " +"separado?" #: ../Doc/faq/library.rst:462 msgid "Input and Output" @@ -655,27 +670,28 @@ msgstr "¿Cómo borro un fichero? (Y otras preguntas sobre ficheros…)" #: ../Doc/faq/library.rst:467 msgid "" -"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, see " -"the :mod:`os` module. The two functions are identical; :func:`~os.unlink` is " -"simply the name of the Unix system call for this function." +"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " +"see the :mod:`os` module. The two functions are identical; :func:`~os." +"unlink` is simply the name of the Unix system call for this function." msgstr "" -"Use ``os.remove(filename)`` o ``os.unlink(filename)``; para la documentación, " -"vea el módulo :mod:`os`. Las dos funciones son idénticas; :func:`~os.unlink` es " -"simplemente el nombre de la llamada al sistema UNIX para esta función." +"Use ``os.remove(filename)`` o ``os.unlink(filename)``; para la " +"documentación, vea el módulo :mod:`os`. Las dos funciones son idénticas; :" +"func:`~os.unlink` es simplemente el nombre de la llamada al sistema UNIX " +"para esta función." #: ../Doc/faq/library.rst:471 msgid "" "To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " -"one. ``os.makedirs(path)`` will create any intermediate directories in ``path`` " -"that don't exist. ``os.removedirs(path)`` will remove intermediate directories " -"as long as they're empty; if you want to delete an entire directory tree and " -"its contents, use :func:`shutil.rmtree`." +"one. ``os.makedirs(path)`` will create any intermediate directories in " +"``path`` that don't exist. ``os.removedirs(path)`` will remove intermediate " +"directories as long as they're empty; if you want to delete an entire " +"directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" "Para borrar un directorio, use :func:`os.rmdir`; use :func:`os.mkdir` para " -"crear uno. ``os.makedirs(path)`` creará cualquier directorio intermedio que no " -"exista en ``path``. ``os.removedirs(path)`` borrará los directorios intermedios " -"siempre y cuando estén vacíos; si quiere borrar un árbol de directorios " -"completo y sus contenidos, use :func:`shutil.rmtree`." +"crear uno. ``os.makedirs(path)`` creará cualquier directorio intermedio que " +"no exista en ``path``. ``os.removedirs(path)`` borrará los directorios " +"intermedios siempre y cuando estén vacíos; si quiere borrar un árbol de " +"directorios completo y sus contenidos, use :func:`shutil.rmtree`." #: ../Doc/faq/library.rst:477 msgid "To rename a file, use ``os.rename(old_path, new_path)``." @@ -683,26 +699,26 @@ msgstr "Para renombrar un fichero, use ``os.rename(old_path, new_path)``." #: ../Doc/faq/library.rst:479 msgid "" -"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use ``f." -"truncate(offset)``; offset defaults to the current seek position. There's also " -"``os.ftruncate(fd, offset)`` for files opened with :func:`os.open`, where *fd* " -"is the file descriptor (a small integer)." +"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " +"``f.truncate(offset)``; offset defaults to the current seek position. " +"There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." +"open`, where *fd* is the file descriptor (a small integer)." msgstr "" -"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use ``f." -"truncate(offset)``; el desplazamiento toma por defecto la posición actual de " -"búsqueda. También existe ``os.ftruncate(fd, offset)`` para ficheros abiertos " -"con :func:`os.open`, donde *fd* es el descriptor del fichero (un entero " -"pequeño)." +"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use " +"``f.truncate(offset)``; el desplazamiento toma por defecto la posición " +"actual de búsqueda. También existe ``os.ftruncate(fd, offset)`` para " +"ficheros abiertos con :func:`os.open`, donde *fd* es el descriptor del " +"fichero (un entero pequeño)." #: ../Doc/faq/library.rst:484 msgid "" -"The :mod:`shutil` module also contains a number of functions to work on files " -"including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :func:" -"`~shutil.rmtree`." +"The :mod:`shutil` module also contains a number of functions to work on " +"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" +"func:`~shutil.rmtree`." msgstr "" -"El módulo :mod:`shutil` también contiene distintas funciones para trabajar con " -"ficheros incluyendo :func:`~shutil.copyfile`, :func:`~shutil.copytree` y :func:" -"`~shutil.rmtree`." +"El módulo :mod:`shutil` también contiene distintas funciones para trabajar " +"con ficheros incluyendo :func:`~shutil.copyfile`, :func:`~shutil.copytree` " +"y :func:`~shutil.rmtree`." #: ../Doc/faq/library.rst:490 msgid "How do I copy a file?" @@ -713,8 +729,9 @@ msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " "that on MacOS 9 it doesn't copy the resource fork and Finder info." msgstr "" -"El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. Nótese " -"que en MacOS 9 no copia el *fork* del recurso ni la información de *Finder*." +"El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " +"Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " +"*Finder*." #: ../Doc/faq/library.rst:497 msgid "How do I read (or write) binary data?" @@ -736,38 +753,38 @@ msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" -"Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y uno " -"de 4-bytes en formato *big-endian*::" +"Por ejemplo, el siguiente código lee de un fichero dos enteros de 2-bytes y " +"uno de 4-bytes en formato *big-endian*::" #: ../Doc/faq/library.rst:512 msgid "" -"The '>' in the format string forces big-endian data; the letter 'h' reads one " -"\"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 bytes) from " -"the string." +"The '>' in the format string forces big-endian data; the letter 'h' reads " +"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " +"bytes) from the string." msgstr "" -"El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra '*h*' " -"lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 bytes) " -"desde la cadena de texto." +"El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra " +"'*h*' lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 " +"bytes) desde la cadena de texto." #: ../Doc/faq/library.rst:516 msgid "" -"For data that is more regular (e.g. a homogeneous list of ints or floats), you " -"can also use the :mod:`array` module." +"For data that is more regular (e.g. a homogeneous list of ints or floats), " +"you can also use the :mod:`array` module." msgstr "" -"Para datos que son más regulares (por ejemplo una lista homogénea de enteros o " -"flotantes), puede también usar el módulo :mod:`array`." +"Para datos que son más regulares (por ejemplo una lista homogénea de enteros " +"o flotantes), puede también usar el módulo :mod:`array`." #: ../Doc/faq/library.rst:521 msgid "" -"To read and write binary data, it is mandatory to open the file in binary mode " -"(here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` instead (the " -"default), the file will be open in text mode and ``f.read()`` will return :" -"class:`str` objects rather than :class:`bytes` objects." +"To read and write binary data, it is mandatory to open the file in binary " +"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " +"instead (the default), the file will be open in text mode and ``f.read()`` " +"will return :class:`str` objects rather than :class:`bytes` objects." msgstr "" "Para leer y escribir datos binarios, es obligatorio abrir el fichero en modo " -"binario (aquí, pasando ``\"rb\"`` a :func:`open`). Si, en cambio, usa ``\"r\"`` " -"(por defecto), el fichero se abrirá en modo texto y ``f.read()`` devolverá " -"objetos :class:`str` en vez de objetos :class:`bytes`." +"binario (aquí, pasando ``\"rb\"`` a :func:`open`). Si, en cambio, usa ``\"r" +"\"`` (por defecto), el fichero se abrirá en modo texto y ``f.read()`` " +"devolverá objetos :class:`str` en vez de objetos :class:`bytes`." #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" @@ -776,17 +793,17 @@ msgstr "" #: ../Doc/faq/library.rst:531 msgid "" -":func:`os.read` is a low-level function which takes a file descriptor, a small " -"integer representing the opened file. :func:`os.popen` creates a high-level " -"file object, the same type returned by the built-in :func:`open` function. " -"Thus, to read *n* bytes from a pipe *p* created with :func:`os.popen`, you need " -"to use ``p.read(n)``." +":func:`os.read` is a low-level function which takes a file descriptor, a " +"small integer representing the opened file. :func:`os.popen` creates a high-" +"level file object, the same type returned by the built-in :func:`open` " +"function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." +"popen`, you need to use ``p.read(n)``." msgstr "" ":func:`os.read` es una función de bajo nivel que recibe un descriptor de " -"fichero, un entero pequeño representando el fichero abierto. :func:`os.popen` " -"crea un objeto fichero de alto nivel, el mismo tipo que devuelve la función " -"*built-in* :func:`open`. Así, para leer *n* bytes de un *pipe* *p* creado con :" -"func:`os.popen`, necesita usar ``p.read(n)``." +"fichero, un entero pequeño representando el fichero abierto. :func:`os." +"popen` crea un objeto fichero de alto nivel, el mismo tipo que devuelve la " +"función *built-in* :func:`open`. Así, para leer *n* bytes de un *pipe* *p* " +"creado con :func:`os.popen`, necesita usar ``p.read(n)``." #: ../Doc/faq/library.rst:618 msgid "How do I access the serial (RS232) port?" @@ -810,41 +827,44 @@ msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente no se cierran?" +msgstr "" +"¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente no se cierran?" #: ../Doc/faq/library.rst:632 msgid "" -"Python :term:`file objects ` are a high-level layer of abstraction " -"on low-level C file descriptors." +"Python :term:`file objects ` are a high-level layer of " +"abstraction on low-level C file descriptors." msgstr "" "Los :term:`objetos de tipo fichero ` en Python son una capa de " -"abstracción de alto nivel sobre los descriptores de ficheros de bajo nivel de C." +"abstracción de alto nivel sobre los descriptores de ficheros de bajo nivel " +"de C." #: ../Doc/faq/library.rst:635 msgid "" "For most file objects you create in Python via the built-in :func:`open` " "function, ``f.close()`` marks the Python file object as being closed from " "Python's point of view, and also arranges to close the underlying C file " -"descriptor. This also happens automatically in ``f``'s destructor, when ``f`` " -"becomes garbage." +"descriptor. This also happens automatically in ``f``'s destructor, when " +"``f`` becomes garbage." msgstr "" "Para la mayoría de objetos de tipo fichero que cree en Python vía la función " -"*built-in* :func:`open`, ``f.close()`` marca el objeto de tipo fichero Python " -"como ya cerrado desde el punto de vista de Python, y también ordena el cierre " -"del descriptor de fichero subyacente en C. Esto además ocurre automáticamente " -"en el destructor de ``f``, cuando ``f`` se convierte en basura." +"*built-in* :func:`open`, ``f.close()`` marca el objeto de tipo fichero " +"Python como ya cerrado desde el punto de vista de Python, y también ordena " +"el cierre del descriptor de fichero subyacente en C. Esto además ocurre " +"automáticamente en el destructor de ``f``, cuando ``f`` se convierte en " +"basura." #: ../Doc/faq/library.rst:641 msgid "" "But stdin, stdout and stderr are treated specially by Python, because of the " -"special status also given to them by C. Running ``sys.stdout.close()`` marks " -"the Python-level file object as being closed, but does *not* close the " +"special status also given to them by C. Running ``sys.stdout.close()`` " +"marks the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" "Pero *stdin*, *stdout* y *stderr* se tratan de manera especial en Python, " -"debido a un estatus especial que también tienen en C. Ejecutando ``sys.stdout." -"close()`` marca el objeto fichero de nivel Python para ser cerrado, pero *no* " -"cierra el descriptor de fichero asociado en C." +"debido a un estatus especial que también tienen en C. Ejecutando ``sys." +"stdout.close()`` marca el objeto fichero de nivel Python para ser cerrado, " +"pero *no* cierra el descriptor de fichero asociado en C." #: ../Doc/faq/library.rst:646 msgid "" @@ -853,9 +873,9 @@ msgid "" "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" "Para cerrar el descriptor de fichero subyacente en C para uno de estos tres " -"casos, debería primero asegurarse de que eso es realmente lo que quiere hacer " -"(por ejemplo, puede confundir módulos de extensión intentado hacer *I/O*). Si " -"es así, use :func:`os.close`::" +"casos, debería primero asegurarse de que eso es realmente lo que quiere " +"hacer (por ejemplo, puede confundir módulos de extensión intentado hacer *I/" +"O*). Si es así, use :func:`os.close`::" #: ../Doc/faq/library.rst:654 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." @@ -872,8 +892,8 @@ msgstr "¿Qué herramientas de Python existen para WWW?" #: ../Doc/faq/library.rst:663 msgid "" "See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " -"Reference Manual. Python has many modules that will help you build server-side " -"and client-side web systems." +"Reference Manual. Python has many modules that will help you build server-" +"side and client-side web systems." msgstr "" "Vea los capítulos titulados :ref:`internet` y :ref:`netdata` en el manual de " "referencia de bibliotecas. Python tiene muchos módulos que le ayudarán a " @@ -881,19 +901,19 @@ msgstr "" #: ../Doc/faq/library.rst:669 msgid "" -"A summary of available frameworks is maintained by Paul Boddie at https://wiki." -"python.org/moin/WebProgramming\\ ." +"A summary of available frameworks is maintained by Paul Boddie at https://" +"wiki.python.org/moin/WebProgramming\\ ." msgstr "" -"Paul Boddie mantiene un resumen de los *frameworks* disponibles en https://wiki." -"python.org/moin/WebProgramming\\ ." +"Paul Boddie mantiene un resumen de los *frameworks* disponibles en https://" +"wiki.python.org/moin/WebProgramming\\ ." #: ../Doc/faq/library.rst:672 msgid "" -"Cameron Laird maintains a useful set of pages about Python web technologies at " -"http://phaseit.net/claird/comp.lang.python/web_python." +"Cameron Laird maintains a useful set of pages about Python web technologies " +"at http://phaseit.net/claird/comp.lang.python/web_python." msgstr "" -"Cameron Laird mantiene un conjunto útil de páginas sobre tecnologías web Python " -"en http://phaseit.net/claird/comp.lang.python/web_python." +"Cameron Laird mantiene un conjunto útil de páginas sobre tecnologías web " +"Python en http://phaseit.net/claird/comp.lang.python/web_python." #: ../Doc/faq/library.rst:677 msgid "How can I mimic CGI form submission (METHOD=POST)?" @@ -904,8 +924,8 @@ msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" -"Me gustaría recuperar páginas web que son resultado del envío de un formulario. " -"¿Existe algún código que me permita hacer esto fácilmente?" +"Me gustaría recuperar páginas web que son resultado del envío de un " +"formulario. ¿Existe algún código que me permita hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" @@ -913,9 +933,9 @@ msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" #: ../Doc/faq/library.rst:697 msgid "" -"Note that in general for percent-encoded POST operations, query strings must be " -"quoted using :func:`urllib.parse.urlencode`. For example, to send ``name=Guy " -"Steele, Jr.``::" +"Note that in general for percent-encoded POST operations, query strings must " +"be quoted using :func:`urllib.parse.urlencode`. For example, to send " +"``name=Guy Steele, Jr.``::" msgstr "" "Nótese que para operaciones *POST* de tipo *percent-encoded*, las cadenas de " "consulta tienen que estar entrecomilladas usando :func:`urllib.parse." @@ -950,20 +970,20 @@ msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" msgstr "" -"Aquí hay un remitente simple interactivo que lo usa. Este método trabajará en " -"cualquier máquina que soporte un *listener SMTP*. ::" +"Aquí hay un remitente simple interactivo que lo usa. Este método trabajará " +"en cualquier máquina que soporte un *listener SMTP*. ::" #: ../Doc/faq/library.rst:742 msgid "" "A Unix-only alternative uses sendmail. The location of the sendmail program " -"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/usr/" -"sbin/sendmail``. The sendmail manual page will help you out. Here's some " -"sample code::" +"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" +"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " +"some sample code::" msgstr "" "Una alternativa sólo para UNIX es usar *sendmail*. La ubicación del programa " -"*sendmail* varía entre sistemas; algunas veces está en ``/usr/lib/sendmail``, " -"otras veces en ``/usr/sbin/sendmail``. El manual de *sendmail* le ayudará. Aquí " -"hay un ejemplo de código::" +"*sendmail* varía entre sistemas; algunas veces está en ``/usr/lib/" +"sendmail``, otras veces en ``/usr/sbin/sendmail``. El manual de *sendmail* " +"le ayudará. Aquí hay un ejemplo de código::" #: ../Doc/faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" @@ -981,41 +1001,42 @@ msgstr "" msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" "blocking mode. Then when you do the ``connect()``, you will either connect " -"immediately (unlikely) or get an exception that contains the error number as ``." -"errno``. ``errno.EINPROGRESS`` indicates that the connection is in progress, " -"but hasn't finished yet. Different OSes will return different values, so " -"you're going to have to check what's returned on your system." -msgstr "" -"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en modo " -"no bloqueante. Luego cuando ejecute ``connect()``, conectará inmediatamente " -"(improbable) u obtendrá una excepción que contiene el número de error como ``." -"errno``. ``errno.EINPROGRESS`` indica que la conexión está en curso, pero aún " -"no ha terminado. Diferentes sistemas operativos devolverán diferentes valores, " -"así que debe comprobar cuál es el retornado en su sistema." +"immediately (unlikely) or get an exception that contains the error number as " +"``.errno``. ``errno.EINPROGRESS`` indicates that the connection is in " +"progress, but hasn't finished yet. Different OSes will return different " +"values, so you're going to have to check what's returned on your system." +msgstr "" +"Para prevenir el bloqueo en la conexión TCP, puede establecer el socket en " +"modo no bloqueante. Luego cuando ejecute ``connect()``, conectará " +"inmediatamente (improbable) u obtendrá una excepción que contiene el número " +"de error como ``.errno``. ``errno.EINPROGRESS`` indica que la conexión está " +"en curso, pero aún no ha terminado. Diferentes sistemas operativos " +"devolverán diferentes valores, así que debe comprobar cuál es el retornado " +"en su sistema." #: ../Doc/faq/library.rst:774 msgid "" "You can use the ``connect_ex()`` method to avoid creating an exception. It " -"will just return the errno value. To poll, you can call ``connect_ex()`` again " -"later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- or you " -"can pass this socket to select to check if it's writable." +"will just return the errno value. To poll, you can call ``connect_ex()`` " +"again later -- ``0`` or ``errno.EISCONN`` indicate that you're connected -- " +"or you can pass this socket to select to check if it's writable." msgstr "" "Puede usar el método ``connect_ex()`` para evitar crear una excepción. " -"Devolverá simplemente el número de error. Para sondear, puede llamar más tarde " -"a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que está " -"conectado -- o puede pasar este socket a *select* para comprobar si se puede " -"escribir en él." +"Devolverá simplemente el número de error. Para sondear, puede llamar más " +"tarde a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que " +"está conectado -- o puede pasar este socket a *select* para comprobar si se " +"puede escribir en él." #: ../Doc/faq/library.rst:780 msgid "" -"The :mod:`asyncore` module presents a framework-like approach to the problem of " -"writing non-blocking networking code. The third-party `Twisted `_ library is a popular and feature-rich alternative." msgstr "" -"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema de " -"escribir código de red no bloqueante. La biblioteca de terceros `Twisted " -"`_ es una alternativa popular y ofrece muchas " -"capacidades." +"El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al problema " +"de escribir código de red no bloqueante. La biblioteca de terceros `Twisted " +"`_ es una alternativa popular y ofrece " +"muchas capacidades." #: ../Doc/faq/library.rst:787 msgid "Databases" @@ -1033,12 +1054,13 @@ msgstr "Sí." msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " "` are also included with standard Python. There is also the :mod:" -"`sqlite3` module, which provides a lightweight disk-based relational database." +"`sqlite3` module, which provides a lightweight disk-based relational " +"database." msgstr "" -"Interfaces a *hashes* basados en disco tales como :mod:`DBM ` y :mod:" -"`GDBM ` están también incluidas en Python estándar. También hay un " -"módulo :mod:`sqlite3`, que proporciona una base de datos relacional ligera " -"basada en disco." +"Interfaces a *hashes* basados en disco tales como :mod:`DBM ` y :" +"mod:`GDBM ` están también incluidas en Python estándar. También hay " +"un módulo :mod:`sqlite3`, que proporciona una base de datos relacional " +"ligera basada en disco." #: ../Doc/faq/library.rst:799 msgid "" @@ -1046,9 +1068,9 @@ msgid "" "`DatabaseProgramming wiki page `_ for details." msgstr "" -"Está disponible el soporte para la mayoría de bases de datos relacionales. Vea " -"la `página wiki de Programación de Bases de datos `_ para más detalles." +"Está disponible el soporte para la mayoría de bases de datos relacionales. " +"Vea la `página wiki de Programación de Bases de datos `_ para más detalles." #: ../Doc/faq/library.rst:805 msgid "How do you implement persistent objects in Python?" @@ -1056,15 +1078,16 @@ msgstr "¿Cómo implementar objetos persistentes en Python?" #: ../Doc/faq/library.rst:807 msgid "" -"The :mod:`pickle` library module solves this in a very general way (though you " -"still can't store things like open files, sockets or windows), and the :mod:" -"`shelve` library module uses pickle and (g)dbm to create persistent mappings " -"containing arbitrary Python objects." +"The :mod:`pickle` library module solves this in a very general way (though " +"you still can't store things like open files, sockets or windows), and the :" +"mod:`shelve` library module uses pickle and (g)dbm to create persistent " +"mappings containing arbitrary Python objects." msgstr "" -"El módulo de biblioteca :mod:`pickle` soluciona esto de una forma muy general " -"(aunque todavía no puede almacenar cosas como ficheros abiertos, sockets o " -"ventanas), y el módulo de biblioteca :mod:`shelve` usa *pickle* y *(g)dbm* para " -"crear mapeos persistentes que contienen objetos arbitrarios Python." +"El módulo de biblioteca :mod:`pickle` soluciona esto de una forma muy " +"general (aunque todavía no puede almacenar cosas como ficheros abiertos, " +"sockets o ventanas), y el módulo de biblioteca :mod:`shelve` usa *pickle* y " +"*(g)dbm* para crear mapeos persistentes que contienen objetos arbitrarios " +"Python." #: ../Doc/faq/library.rst:814 msgid "Mathematics and Numerics" @@ -1076,20 +1099,22 @@ msgstr "¿Cómo genero números aleatorios en Python?" #: ../Doc/faq/library.rst:819 msgid "" -"The standard module :mod:`random` implements a random number generator. Usage " -"is simple::" +"The standard module :mod:`random` implements a random number generator. " +"Usage is simple::" msgstr "" -"El módulo estándar :mod:`random` implementa un generador de números aleatorios. " -"El uso es simple::" +"El módulo estándar :mod:`random` implementa un generador de números " +"aleatorios. El uso es simple::" #: ../Doc/faq/library.rst:825 msgid "This returns a random floating point number in the range [0, 1)." msgstr "Esto retorna un número flotante aleatorio en el rango [0, 1)." #: ../Doc/faq/library.rst:827 -msgid "There are also many other specialized generators in this module, such as:" +msgid "" +"There are also many other specialized generators in this module, such as:" msgstr "" -"Hay también muchos otros generadores especializados en este módulo, tales como:" +"Hay también muchos otros generadores especializados en este módulo, tales " +"como:" #: ../Doc/faq/library.rst:829 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." @@ -1100,7 +1125,8 @@ msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "``uniform(a, b)`` selecciona un número flotante en el rango [a, b)." #: ../Doc/faq/library.rst:831 -msgid "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." +msgid "" +"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" "``normalvariate(mean, sdev)`` muestrea una distribución normal (*Gausiana*)." @@ -1117,7 +1143,8 @@ msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada" #: ../Doc/faq/library.rst:836 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly" msgstr "" -"``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta aleatoriamente" +"``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta " +"aleatoriamente" #: ../Doc/faq/library.rst:838 msgid "" From 214a97af365a66a17d2c4f05506e329113da8997 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Tue, 12 May 2020 22:49:56 +0200 Subject: [PATCH 23/26] Apply suggestions from code review --- faq/library.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/faq/library.po b/faq/library.po index 3fd7b99c1e..791129d438 100644 --- a/faq/library.po +++ b/faq/library.po @@ -421,7 +421,7 @@ msgid "" "doesn't start a new thread until the previous thread is blocked." msgstr "" "Por ahora (en muchas plataformas) los hilos no corren en paralelo, sino que " -"parecen corren secuencialmente, ¡uno a la vez! La razón es que el " +"parece que corren secuencialmente, ¡uno a la vez! La razón es que el " "planificador de hilos del sistema operativo no inicia un nuevo hilo hasta " "que el hilo anterior está bloqueado." @@ -666,7 +666,7 @@ msgstr "Entrada y Salida" #: ../Doc/faq/library.rst:465 msgid "How do I delete a file? (And other file questions...)" -msgstr "¿Cómo borro un fichero? (Y otras preguntas sobre ficheros…)" +msgstr "¿Cómo borro un fichero? (Y otras preguntas sobre ficheros...)" #: ../Doc/faq/library.rst:467 msgid "" @@ -704,7 +704,7 @@ msgid "" "There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." "open`, where *fd* is the file descriptor (a small integer)." msgstr "" -"Para truncar un fichero, ábralo usando ``f = open(filename, “rb+”)``, y use " +"Para truncar un fichero, ábralo usando ``f = open(filename, \"rb+\")``, y use " "``f.truncate(offset)``; el desplazamiento toma por defecto la posición " "actual de búsqueda. También existe ``os.ftruncate(fd, offset)`` para " "ficheros abiertos con :func:`os.open`, donde *fd* es el descriptor del " @@ -731,7 +731,7 @@ msgid "" msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " "Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " -"*Finder*." +"Finder." #: ../Doc/faq/library.rst:497 msgid "How do I read (or write) binary data?" @@ -763,7 +763,7 @@ msgid "" "bytes) from the string." msgstr "" "El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra " -"'*h*' lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 " +"'h' lee un \"entero corto\" (2 bytes), y 'l' lee un \"entero largo\" (4 " "bytes) desde la cadena de texto." #: ../Doc/faq/library.rst:516 @@ -789,7 +789,7 @@ msgstr "" #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" -"No consigo usar *os.read()* en un *pipe* creado con *os.popen()*; ¿por qué?" +"No consigo usar os.read() en un *pipe* creado con os.popen(); ¿por qué?" #: ../Doc/faq/library.rst:531 msgid "" @@ -819,7 +819,7 @@ msgstr "http://pyserial.sourceforge.net" #: ../Doc/faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "Para Unix, vea una publicación *Usenet* de Mitch Chapman:" +msgstr "Para Unix, vea una publicación Usenet de Mitch Chapman:" #: ../Doc/faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" @@ -828,7 +828,7 @@ msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" -"¿Por qué al cerrar *sys.stdout (stdin, stderr)* realmente no se cierran?" +"¿Por qué al cerrar sys.stdout (stdin, stderr) realmente no se cierran?" #: ../Doc/faq/library.rst:632 msgid "" @@ -929,7 +929,7 @@ msgstr "" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" #: ../Doc/faq/library.rst:697 msgid "" @@ -937,7 +937,7 @@ msgid "" "be quoted using :func:`urllib.parse.urlencode`. For example, to send " "``name=Guy Steele, Jr.``::" msgstr "" -"Nótese que para operaciones *POST* de tipo *percent-encoded*, las cadenas de " +"Nótese que para operaciones POST de tipo *percent-encoded*, las cadenas de " "consulta tienen que estar entrecomilladas usando :func:`urllib.parse." "urlencode`. Por ejemplo, para enviar ``name=Guy Steele, Jr.``::" From c95bd216fd5e3eb171721d40ecfedebc45560f5f Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Tue, 12 May 2020 22:46:19 +0100 Subject: [PATCH 24/26] Fix pospell bugs found at #9a457e6 --- dict | 21 ++++++++++++--------- faq/library.po | 17 ++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/dict b/dict index 839f774c96..67b7f1990b 100644 --- a/dict +++ b/dict @@ -34,8 +34,8 @@ Foundation Fourier GIL Greg -HTML Gtk+ +HTML Hammond Henstridge Hugunin @@ -45,19 +45,19 @@ Index Interesantemente Java Jim +Jim Jython +Kivy L Laird -Jim -Kivy Linux Lloyd Mac MacOS Macintosh -Mitch Mark Microsoft +Mitch Monty NumPy Numerical @@ -80,8 +80,8 @@ Qt Randal Reilly Rezinsky -SYSV Ruby +SYSV Schwartz SciPy SimpleFileExFlags @@ -100,8 +100,8 @@ VM WWW Windows X -aleatoriamente Xt +aleatoriamente append aproximarla argv @@ -155,8 +155,8 @@ docstrings ecualizadora else enrutamiento -env enumerador +env especificador estáticamente except @@ -304,6 +304,9 @@ solucionadores sorprendentemente sort spam +stderr +stdin +stdout strings sub subcarpetas @@ -319,9 +322,9 @@ sys t tab tabulación +takefocus termcap testeo -takefocus tipado tipear token @@ -334,9 +337,9 @@ uninstall vía wchar web -wiki widget widgets +wiki wxPython wxWidgets wxwidgets diff --git a/faq/library.po b/faq/library.po index 791129d438..fe896a9c1b 100644 --- a/faq/library.po +++ b/faq/library.po @@ -704,8 +704,8 @@ msgid "" "There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." "open`, where *fd* is the file descriptor (a small integer)." msgstr "" -"Para truncar un fichero, ábralo usando ``f = open(filename, \"rb+\")``, y use " -"``f.truncate(offset)``; el desplazamiento toma por defecto la posición " +"Para truncar un fichero, ábralo usando ``f = open(filename, \"rb+\")``, y " +"use ``f.truncate(offset)``; el desplazamiento toma por defecto la posición " "actual de búsqueda. También existe ``os.ftruncate(fd, offset)`` para " "ficheros abiertos con :func:`os.open`, donde *fd* es el descriptor del " "fichero (un entero pequeño)." @@ -727,7 +727,7 @@ msgstr "¿Cómo copio un fichero?" #: ../Doc/faq/library.rst:492 msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " -"that on MacOS 9 it doesn't copy the resource fork and Finder info." +"that on MacOS 9 it doesn't copy the resource fork and *Finder* info." msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " "Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " @@ -763,7 +763,7 @@ msgid "" "bytes) from the string." msgstr "" "El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra " -"'h' lee un \"entero corto\" (2 bytes), y 'l' lee un \"entero largo\" (4 " +"'*h*' lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 " "bytes) desde la cadena de texto." #: ../Doc/faq/library.rst:516 @@ -789,7 +789,7 @@ msgstr "" #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" -"No consigo usar os.read() en un *pipe* creado con os.popen(); ¿por qué?" +"No consigo usar *os.read()* en un *pipe* creado con *os.popen()*; ¿por qué?" #: ../Doc/faq/library.rst:531 msgid "" @@ -819,7 +819,7 @@ msgstr "http://pyserial.sourceforge.net" #: ../Doc/faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "Para Unix, vea una publicación Usenet de Mitch Chapman:" +msgstr "Para Unix, vea una publicación *Usenet* de Mitch Chapman:" #: ../Doc/faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" @@ -827,8 +827,7 @@ msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" #: ../Doc/faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "" -"¿Por qué al cerrar sys.stdout (stdin, stderr) realmente no se cierran?" +msgstr "¿Por qué al cerrar sys.stdout (stdin, stderr) realmente no se cierran?" #: ../Doc/faq/library.rst:632 msgid "" @@ -929,7 +928,7 @@ msgstr "" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" #: ../Doc/faq/library.rst:697 msgid "" From 0434293b471f0c9a2776791de1dcb074ba7f4904 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Tue, 12 May 2020 22:57:28 +0100 Subject: [PATCH 25/26] Fix pospell bugs found at #10e9f8a --- faq/library.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/library.po b/faq/library.po index fe896a9c1b..cf91eea78c 100644 --- a/faq/library.po +++ b/faq/library.po @@ -731,7 +731,7 @@ msgid "" msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " "Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " -"Finder." +"*Finder*." #: ../Doc/faq/library.rst:497 msgid "How do I read (or write) binary data?" From 61cf7c5d5835cfcc2d5e111cb3364678cd892c93 Mon Sep 17 00:00:00 2001 From: Sergio Delgado Quintero Date: Wed, 13 May 2020 16:50:26 +0100 Subject: [PATCH 26/26] Fix some dict issues --- dict | 13 +++++++++++++ faq/library.po | 14 +++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/dict b/dict index 67b7f1990b..d747a7fd66 100644 --- a/dict +++ b/dict @@ -26,6 +26,7 @@ FLTK Fibonacci Fibonacci Fibonacci +Finder Flags Flying Flying @@ -63,6 +64,7 @@ NumPy Numerical Olsen POSIX +POST PVM Package Pasarles @@ -96,6 +98,7 @@ Tkinter Tutorial Unicode Unix +Usenet VM WWW Windows @@ -170,6 +173,7 @@ freeze garbage granularidad gzip +h hardware hash hashables @@ -206,6 +210,7 @@ invocables iterador iteradores json +l lexicográfica lexicográfico libtclsam @@ -232,6 +237,7 @@ object onexit option or +os pads parsea parseada @@ -241,6 +247,7 @@ personalizadamente pip podés polimórfica +popen portabilidad portable posicional @@ -256,6 +263,7 @@ pseudo py pyc python +read readline recompila recompilación @@ -277,6 +285,7 @@ referencian referenciarse remove reordenar +request run s script @@ -305,8 +314,11 @@ sorprendentemente sort spam stderr +stderr +stdin stdin stdout +stdout strings sub subcarpetas @@ -334,6 +346,7 @@ tupla tuplas tutorial uninstall +urllib vía wchar web diff --git a/faq/library.po b/faq/library.po index cf91eea78c..3fad03be09 100644 --- a/faq/library.po +++ b/faq/library.po @@ -731,7 +731,7 @@ msgid "" msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " "Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " -"*Finder*." +"Finder." #: ../Doc/faq/library.rst:497 msgid "How do I read (or write) binary data?" @@ -762,9 +762,9 @@ msgid "" "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " "bytes) from the string." msgstr "" -"El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra " -"'*h*' lee un \"entero corto\" (2 bytes), y '*l*' lee un \"entero largo\" (4 " -"bytes) desde la cadena de texto." +"El '>' en la cadena de formato fuerza los datos a *big-endian*; la letra 'h' " +"lee un \"entero corto\" (2 bytes), y 'l' lee un \"entero largo\" (4 bytes) " +"desde la cadena de texto." #: ../Doc/faq/library.rst:516 msgid "" @@ -789,7 +789,7 @@ msgstr "" #: ../Doc/faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" -"No consigo usar *os.read()* en un *pipe* creado con *os.popen()*; ¿por qué?" +"No consigo usar os.read() en un *pipe* creado con os.popen(); ¿por qué?" #: ../Doc/faq/library.rst:531 msgid "" @@ -819,7 +819,7 @@ msgstr "http://pyserial.sourceforge.net" #: ../Doc/faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "Para Unix, vea una publicación *Usenet* de Mitch Chapman:" +msgstr "Para Unix, vea una publicación Usenet de Mitch Chapman:" #: ../Doc/faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" @@ -928,7 +928,7 @@ msgstr "" #: ../Doc/faq/library.rst:682 msgid "Yes. Here's a simple example that uses urllib.request::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa *urllib.request*::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" #: ../Doc/faq/library.rst:697 msgid ""