diff --git a/.gitignore b/.gitignore index 91a849f098..5ecc92b5f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,18 @@ -cpython/locale *.mo /_build/ +# Submodules to avoid issues +cpython +.migration/tutorialpyar + +# Files overriden by our scripts +Doc/tools/templates/customsourcelink.html +Doc/tools/templates/indexsidebar.html +Doc/CONTRIBUTING.rst +Doc/translation-memory.rst +Doc/upgrade-python-version.rst +locales/ + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -49,5 +60,5 @@ coverage.xml # Ides .vscode/ .idea/ - -.pospell +/translation-memory.po +/locale/ diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst index b65a478548..648865efb0 100644 --- a/.overrides/translation-memory.rst +++ b/.overrides/translation-memory.rst @@ -39,3 +39,30 @@ Si quieres ver cómo se ha utilizado un término anteriormente, puedes utilizar docstring docstring. ``library/idle.po`` + + path + Ruta. ``glossary.po`` + + named tuple. + tupla nombrada ``glossary.po`` + + bytecodes + queda igual ``glossary.po`` + + deallocated + desalojable ``glossary.po`` + + callable + invocable ``glossary.po`` + + built-in + incorporada ``glossary.po`` + + mapping + mapeo ``glossary.po`` + + underscore + guión bajo ``glossary.po`` + + awaitable + aguardable ``glossary`` diff --git a/.travis.yml b/.travis.yml index 54acaa519a..9ce8012632 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,4 +14,4 @@ script: - make build branches: only: - - /3\.\d/ + - /^3\.\d$/ diff --git a/TRANSLATORS b/TRANSLATORS index b9cb1279eb..9858a86989 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -1,5 +1,7 @@ Héctor Canto (@hectorcanto_dev) +Carlos Crespo (@cacrespo) Raúl Cumplido (@raulcd) Nicolás Demarchi (@gilgamezh) Manuel Kaufmann (@humitos) +María Andrea Vignau (@mavignau @marian-vignau) Marco Richetta (@marcorichetta) diff --git a/contents.po b/contents.po index c6a110878f..52ded7f6b6 100644 --- a/contents.po +++ b/contents.po @@ -1,22 +1,24 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/PyCampES/python-docs-es/blob/3.7/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.7\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-06 12:21-0300\n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es.python.org)\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/contents.rst:3 msgid "Python Documentation contents" -msgstr "" +msgstr "Contenido de la documentación de Python" diff --git a/dict b/dict index 55a0004281..65890e2d32 100644 --- a/dict +++ b/dict @@ -1,4 +1,5 @@ ASCII +Adler Associates Autocompletado Awk @@ -34,20 +35,24 @@ argv array arrays attr +autenticación autocompletado backspace bash batch bug +búfer collector comilla command compilada +criptográficamente customización customizarlo datagramas debugueando default +descompresor deserialización deserializar dict @@ -66,6 +71,7 @@ format fraccional freeze garbage +gzip hardware if import @@ -104,6 +110,7 @@ object option or permitiéndole +permutaciones pip podés portable @@ -164,6 +171,7 @@ submódulo submódulos subpaquete subpaquetes +subsecuencias subíndices sys tab @@ -177,3 +185,4 @@ tutorial uninstall vía x +zlib diff --git a/glossary.po b/glossary.po index 87c4ca513c..571e00cb15 100644 --- a/glossary.po +++ b/glossary.po @@ -6,16 +6,17 @@ # Check https://github.com/PyCampES/python-docs-es/blob/3.7/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2020-05-06 22:27+0200\n" +"PO-Revision-Date: 2020-05-06 03:50-0300\n" +"Last-Translator: María Andrea Vignau\n" +"Language: es\n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." "python.org)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -23,33 +24,41 @@ msgstr "" #: ../Doc/glossary.rst:5 msgid "Glossary" -msgstr "" +msgstr "Glosario" #: ../Doc/glossary.rst:10 msgid "``>>>``" -msgstr "" +msgstr "``>>>``" #: ../Doc/glossary.rst:12 msgid "" "The default Python prompt of the interactive shell. Often seen for code " "examples which can be executed interactively in the interpreter." msgstr "" +"El prompt en el shell interactivo de Python por omisión. Frecuentemente " +"vistos en ejemplos de código que pueden ser ejecutados interactivamente en " +"el intérprete." #: ../Doc/glossary.rst:14 msgid "``...``" -msgstr "" +msgstr "``...``" #: ../Doc/glossary.rst:16 msgid "Can refer to:" msgstr "" #: ../Doc/glossary.rst:18 +#, fuzzy msgid "" "The default Python prompt of the interactive shell when entering the code " "for an indented code block, when within a pair of matching left and right " "delimiters (parentheses, square brackets, curly braces or triple quotes), or " "after specifying a decorator." msgstr "" +"El prompt en el shell interactivo de Python por omisión cuando se ingresa " +"código para un bloque indentado de código, y cuando se encuentra entre dos " +"delimitadores que emparejan (paréntesis, corchetes, llaves o comillas " +"triples), o después de especificar un decorador." #: ../Doc/glossary.rst:23 msgid "The :const:`Ellipsis` built-in constant." @@ -57,7 +66,7 @@ msgstr "" #: ../Doc/glossary.rst:24 msgid "2to3" -msgstr "" +msgstr "2to3" #: ../Doc/glossary.rst:26 msgid "" @@ -65,6 +74,9 @@ msgid "" "most of the incompatibilities which can be detected by parsing the source " "and traversing the parse tree." msgstr "" +"Una herramienta que intenta convertir código de Python 2.x a Python 3.x " +"arreglando la mayoría de las incompatibilidades que pueden ser detectadas " +"analizando el código y recorriendo el árbol de análisis sintáctico." #: ../Doc/glossary.rst:30 msgid "" @@ -72,10 +84,13 @@ msgid "" "entry point is provided as :file:`Tools/scripts/2to3`. See :ref:`2to3-" "reference`." msgstr "" +"2to3 está disponible en la biblioteca estándar como :mod:`lib2to3`; un punto " +"de entrada independiente es provisto como :file:`Tools/scripts/2to3`. Vea :" +"ref:`2to3-reference`." #: ../Doc/glossary.rst:33 msgid "abstract base class" -msgstr "" +msgstr "clase base abstracta" #: ../Doc/glossary.rst:35 msgid "" @@ -90,16 +105,30 @@ msgid "" "module), import finders and loaders (in the :mod:`importlib.abc` module). " "You can create your own ABCs with the :mod:`abc` module." msgstr "" +"Las clases base abstractas (ABC, por sus siglas en inglés `Abstract Base " +"Class`) complementan al :term:`duck-typing` brindando un forma de definir " +"interfaces con técnicas como :func:`hasattr` que serían confusas o " +"sutilmente erróneas (por ejemplo con :ref:`magic methods `). " +"Las ABC introduce subclases virtuales, las cuales son clases que no heredan " +"desde una clase pero aún así son reconocidas por :func:`isinstance` y :func:" +"`issubclass`; vea la documentación del módulo :mod:`abc`. Python viene con " +"muchas ABC incorporadas para las estructuras de datos( en el módulo :mod:" +"`collections.abc`), números (en el módulo :mod:`numbers` ) , flujos de datos " +"(en el módulo :mod:`io` ) , buscadores y cargadores de importaciones (en el " +"módulo :mod:`importlib.abc` ) . Puede crear sus propios ABCs con el módulo :" +"mod:`abc`." #: ../Doc/glossary.rst:46 msgid "annotation" -msgstr "" +msgstr "anotación" #: ../Doc/glossary.rst:48 msgid "" "A label associated with a variable, a class attribute or a function " "parameter or return value, used by convention as a :term:`type hint`." msgstr "" +"Una etiqueta asociada a una variable, atributo de clase, parámetro de " +"función o valor de retorno, usado por convención como un :term:`type hint`." #: ../Doc/glossary.rst:52 msgid "" @@ -108,22 +137,30 @@ msgid "" "in the :attr:`__annotations__` special attribute of modules, classes, and " "functions, respectively." msgstr "" +"Las anotaciones de variables no pueden ser accedidas en tiempo de ejecución, " +"pero las anotaciones de variables globales, atributos de clase, y funciones " +"son almacenadas en el atributo especial :attr:`__annotations__` de módulos, " +"clases y funciones, respectivamente." #: ../Doc/glossary.rst:58 msgid "" "See :term:`variable annotation`, :term:`function annotation`, :pep:`484` " "and :pep:`526`, which describe this functionality." msgstr "" +"Vea :term:`variable annotation`, :term:`function annotation`, :pep:`484` y :" +"pep:`526`, los cuales describen esta funcionalidad." #: ../Doc/glossary.rst:60 msgid "argument" -msgstr "" +msgstr "argumento" #: ../Doc/glossary.rst:62 msgid "" "A value passed to a :term:`function` (or :term:`method`) when calling the " "function. There are two kinds of argument:" msgstr "" +"Un valor pasado a una :term:`function` (o :term:`method`) cuando se llama a " +"la función. Hay dos clases de argumentos:" #: ../Doc/glossary.rst:65 msgid "" @@ -132,6 +169,10 @@ msgid "" "by ``**``. For example, ``3`` and ``5`` are both keyword arguments in the " "following calls to :func:`complex`::" msgstr "" +":dfn:`argumento nombrado`: es un argumento precedido por un identificador " +"(por ejemplo, ``nombre=``) en una llamada a una función o pasado como valor " +"en un diccionario precedido por ``**``. Por ejemplo ``3`` y ``5`` son " +"argumentos nombrados en las llamadas a :func:`complex`::" #: ../Doc/glossary.rst:73 msgid "" @@ -140,6 +181,11 @@ msgid "" "be passed as elements of an :term:`iterable` preceded by ``*``. For example, " "``3`` and ``5`` are both positional arguments in the following calls::" msgstr "" +":dfn:`argumento posicional` son aquellos que no son nombrados. Los " +"argumentos posicionales deben aparecer al principio de una lista de " +"argumentos o ser pasados como elementos de un :term:`iterable` precedido por " +"``*``. Por ejemplo, ``3`` y ``5`` son argumentos posicionales en las " +"siguientes llamadas:" #: ../Doc/glossary.rst:82 msgid "" @@ -148,6 +194,10 @@ msgid "" "Syntactically, any expression can be used to represent an argument; the " "evaluated value is assigned to the local variable." msgstr "" +"Los argumentos son asignados a las variables locales en el cuerpo de la " +"función. Vea en la sección :ref:`calls` las reglas que rigen estas " +"asignaciones. Sintácticamente, cualquier expresión puede ser usada para " +"representar un argumento; el valor evaluado es asignado a la variable local." #: ../Doc/glossary.rst:87 msgid "" @@ -155,10 +205,13 @@ msgid "" "difference between arguments and parameters `, " "and :pep:`362`." msgstr "" +"Vea también el :term:`parameter` en el glosario, la pregunta frecuente :ref:" +"`la diferencia entre argumentos y parámetros `, " +"y :pep:`362`." #: ../Doc/glossary.rst:90 msgid "asynchronous context manager" -msgstr "" +msgstr "administrador asincrónico de contexto" #: ../Doc/glossary.rst:92 msgid "" @@ -166,10 +219,13 @@ msgid "" "statement by defining :meth:`__aenter__` and :meth:`__aexit__` methods. " "Introduced by :pep:`492`." msgstr "" +"Un objeto que controla el entorno visible en un sentencia :keyword:`async " +"with` al definir los métodos :meth:`__aenter__` :meth:`__aexit__`. " +"Introducido por :pep:`492`." #: ../Doc/glossary.rst:95 msgid "asynchronous generator" -msgstr "" +msgstr "generador asincrónico" #: ../Doc/glossary.rst:97 msgid "" @@ -178,6 +234,10 @@ msgid "" "that it contains :keyword:`yield` expressions for producing a series of " "values usable in an :keyword:`async for` loop." msgstr "" +"Una función que retorna un :term:`asynchronous generator iterator`. Es " +"similar a una función corrutina definida con :keyword:`async def` excepto " +"que contiene expresiones :keyword:`yield` para producir series de variables " +"usadas en un ciclo :keyword:`async for`." #: ../Doc/glossary.rst:102 msgid "" @@ -185,20 +245,26 @@ msgid "" "*asynchronous generator iterator* in some contexts. In cases where the " "intended meaning isn't clear, using the full terms avoids ambiguity." msgstr "" +"Usualmente se refiere a una función generadora asincrónica, pero puede " +"referirse a un *iterador generador asincrónico* en ciertos contextos. En " +"aquellos casos en los que el significado no está claro, usar los términos " +"completos evita la ambigüedad." #: ../Doc/glossary.rst:106 msgid "" "An asynchronous generator function may contain :keyword:`await` expressions " "as well as :keyword:`async for`, and :keyword:`async with` statements." msgstr "" +"Una función generadora asincrónica puede contener expresiones :keyword:" +"`await` así como sentencias :keyword:`async for`, y :keyword:`async with`." #: ../Doc/glossary.rst:109 msgid "asynchronous generator iterator" -msgstr "" +msgstr "iterador generador asincrónico" #: ../Doc/glossary.rst:111 msgid "An object created by a :term:`asynchronous generator` function." -msgstr "" +msgstr "Un objeto creado por una función :term:`asynchronous generator`." #: ../Doc/glossary.rst:113 msgid "" @@ -207,6 +273,10 @@ msgid "" "of the asynchronous generator function until the next :keyword:`yield` " "expression." msgstr "" +"Este es un :term:`asynchronous iterator` el cual cuando es llamado usa el " +"método :meth:`__anext__` retornando un objeto aguardable el cual ejecutará " +"el cuerpo de la función generadora asincrónica hasta la siguiente expresión :" +"keyword:`yield`." #: ../Doc/glossary.rst:118 msgid "" @@ -216,10 +286,15 @@ msgid "" "with another awaitable returned by :meth:`__anext__`, it picks up where it " "left off. See :pep:`492` and :pep:`525`." msgstr "" +"Cada :keyword:`yield` suspende temporalmente el procesamiento, recordando el " +"estado local de ejecución (incluyendo a las variables locales y las " +"sentencias `try` pendientes). Cuando el *iterador del generador asincrónico* " +"vuelve efectivamente con otro aguardable retornado por el método :meth:" +"`__anext__`, retoma donde lo dejó. Vea :pep:`492` y :pep:`525`." #: ../Doc/glossary.rst:123 msgid "asynchronous iterable" -msgstr "" +msgstr "iterable asincrónico" #: ../Doc/glossary.rst:125 msgid "" @@ -227,10 +302,13 @@ msgid "" "return an :term:`asynchronous iterator` from its :meth:`__aiter__` method. " "Introduced by :pep:`492`." msgstr "" +"Un objeto, que puede ser usado en una sentencia :keyword:`async for`. Debe " +"retornar un :term:`asynchronous iterator` de su método :meth:`__aiter__`. " +"Introducido por :pep:`492`." #: ../Doc/glossary.rst:128 msgid "asynchronous iterator" -msgstr "" +msgstr "iterador asincrónico" #: ../Doc/glossary.rst:130 msgid "" @@ -240,10 +318,15 @@ msgid "" "meth:`__anext__` method until it raises a :exc:`StopAsyncIteration` " "exception. Introduced by :pep:`492`." msgstr "" +"Un objeto que implementa los métodos meth:`__aiter__` y :meth:`__anext__`. " +"``__anext__`` debe retornar un objeto :term:`awaitable`. :keyword:`async " +"for` resuelve los esperables retornados por un método de iterador " +"asincrónico :meth:`__anext__` hasta que lanza una excepción :exc:" +"`StopAsyncIteration`. Introducido por :pep:`492`." #: ../Doc/glossary.rst:135 msgid "attribute" -msgstr "" +msgstr "atributo" #: ../Doc/glossary.rst:137 msgid "" @@ -251,10 +334,13 @@ msgid "" "expressions. For example, if an object *o* has an attribute *a* it would be " "referenced as *o.a*." msgstr "" +"Un valor asociado a un objeto que es referencias por el nombre usado " +"expresiones de punto. Por ejemplo, si un objeto *o* tiene un atributo *a* " +"sería referenciado como *o.a*." #: ../Doc/glossary.rst:140 msgid "awaitable" -msgstr "" +msgstr "aguardable" #: ../Doc/glossary.rst:142 msgid "" @@ -262,20 +348,26 @@ msgid "" "term:`coroutine` or an object with an :meth:`__await__` method. See also :" "pep:`492`." msgstr "" +"Es un objeto que puede ser usado en una expresión :keyword:`await`. Puede " +"ser una :term:`coroutine` o un objeto con un método :meth:`__await__`. Vea " +"también pep:`492`." #: ../Doc/glossary.rst:145 msgid "BDFL" -msgstr "" +msgstr "BDFL" #: ../Doc/glossary.rst:147 msgid "" "Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." msgstr "" +"Sigla de Benevolent Dictator For Life, Benevolente dictador vitalicio, es " +"decir `Guido van Rossum `_, el creador de " +"Python." #: ../Doc/glossary.rst:149 msgid "binary file" -msgstr "" +msgstr "archivo binario" #: ../Doc/glossary.rst:151 msgid "" @@ -285,16 +377,23 @@ msgid "" "stdout.buffer`, and instances of :class:`io.BytesIO` and :class:`gzip." "GzipFile`." msgstr "" +"Un :term:`file object` capaz de leer y escribir :term:`objetos tipo binarios " +"`. Ejemplos de archivos binarios son los abiertos en modo " +"binario (``'rb'``, ``'wb'`` o ``'rb+'``), :data:`sys.stdin.buffer`, :data:" +"`sys.stdout.buffer`, e instancias de :class:`io.BytesIO` y de :class:`gzip." +"GzipFile`." #: ../Doc/glossary.rst:158 msgid "" "See also :term:`text file` for a file object able to read and write :class:" "`str` objects." msgstr "" +"Vea también :term:`text file` para un objeto archivo capaz de leer y " +"escribir objetos :class:`str`." #: ../Doc/glossary.rst:160 msgid "bytes-like object" -msgstr "" +msgstr "objetos tipo binarios" #: ../Doc/glossary.rst:162 msgid "" @@ -305,6 +404,12 @@ msgid "" "with binary data; these include compression, saving to a binary file, and " "sending over a socket." msgstr "" +"Un objeto que soporta :ref:`bufferobjects` y puede exportar un buffer C-:" +"term:`contiguous`. Esto incluye todas los objetos :class:`bytes`, :class:" +"`bytearray`, y :class:`array.array`, así como muchos objetos comunes :class:" +"`memoryview`. Los objetos tipo binarios pueden ser usados para varias " +"operaciones que usan datos binarios; éstas incluyen compresión, salvar a " +"archivos binarios, y enviarlos a través de un socket." #: ../Doc/glossary.rst:169 msgid "" @@ -315,10 +420,17 @@ msgid "" "immutable objects (\"read-only bytes-like objects\"); examples of these " "include :class:`bytes` and a :class:`memoryview` of a :class:`bytes` object." msgstr "" +"Algunas operaciones necesitan que los datos binarios sean mutables. La " +"documentación frecuentemente se refiere a éstos como \"objetos tipo binario " +"de lectura y escritura\". Ejemplos de objetos de buffer mutables incluyen a :" +"class:`bytearray` y :class:`memoryview` de la :class:`bytearray`. Otras " +"operaciones que requieren datos binarios almacenados en objetos inmutables " +"(\"objetos tipo binario de sólo lectura\"); ejemplos de éstos incluyen :" +"class:`bytes` y :class:`memoryview` del objeto :class:`bytes`." #: ../Doc/glossary.rst:177 msgid "bytecode" -msgstr "" +msgstr "bytecode" #: ../Doc/glossary.rst:179 msgid "" @@ -331,36 +443,52 @@ msgid "" "expected to work between different Python virtual machines, nor to be stable " "between Python releases." msgstr "" +"El código fuente Python es compilado en bytecode, la representación interna " +"de un programa python en el intérprete CPython. El bytecode también es " +"guardado en caché en los archivos `.pyc` de tal forma que ejecutar el mismo " +"archivo es más fácil la segunda vez (la recompilación desde el código fuente " +"a bytecode puede ser evitada). Este \"lenguaje intermedio\" deberá corren en " +"una :term:`virtual machine` que ejecute el código de máquina correspondiente " +"a cada bytecode. Note que los bytecodes no tienen como requisito trabajar en " +"las diversas máquina virtuales de Python, ni de ser estable entre versiones " +"Python." #: ../Doc/glossary.rst:189 msgid "" "A list of bytecode instructions can be found in the documentation for :ref:" "`the dis module `." msgstr "" +"Una lista de las instrucciones en bytecode está disponible en la " +"documentación de :ref:`el módulo dis `." #: ../Doc/glossary.rst:191 msgid "class" -msgstr "" +msgstr "clase" #: ../Doc/glossary.rst:193 msgid "" "A template for creating user-defined objects. Class definitions normally " "contain method definitions which operate on instances of the class." msgstr "" +"Una plantilla para crear objetos definidos por el usuario. Las definiciones " +"de clase normalmente contienen definiciones de métodos que operan una " +"instancia de la clase." #: ../Doc/glossary.rst:196 msgid "class variable" -msgstr "" +msgstr "variable de clase" #: ../Doc/glossary.rst:198 msgid "" "A variable defined in a class and intended to be modified only at class " "level (i.e., not in an instance of the class)." msgstr "" +"Una variable definida en una clase y prevista para ser modificada sólo a " +"nivel de clase (es decir, no en una instancia de la clase)." #: ../Doc/glossary.rst:200 msgid "coercion" -msgstr "" +msgstr "coerción" #: ../Doc/glossary.rst:202 msgid "" @@ -373,10 +501,18 @@ msgid "" "compatible types would have to be normalized to the same value by the " "programmer, e.g., ``float(3)+4.5`` rather than just ``3+4.5``." msgstr "" +"La conversión implícita de una instancia de un tipo en otra durante una " +"operación que involucra dos argumentos del mismo tipo. Por ejemplo, " +"``int(3.15)`` convierte el número de punto flotante al entero ``3``, pero en " +"``3 + 4.5``, cada argumento es de un tipo diferente (uno entero, otro " +"flotante), y ambos deben ser convertidos al mismo tipo antes de que puedan " +"ser sumados o emitiría un :exc:`TypeError`. Sin coerción, todos los " +"argumentos, incluso de tipos compatibles, deberían ser normalizados al mismo " +"tipo por el programador, por ejemplo ``float(3)+4.5`` en lugar de ``3+4.5``." #: ../Doc/glossary.rst:210 msgid "complex number" -msgstr "" +msgstr "número complejo" #: ../Doc/glossary.rst:212 msgid "" @@ -390,20 +526,33 @@ msgid "" "Use of complex numbers is a fairly advanced mathematical feature. If you're " "not aware of a need for them, it's almost certain you can safely ignore them." msgstr "" +"Una extensión del sistema familiar de número reales en el cual los números " +"son expresados como la suma de una parte real y una parte imaginaria. Los " +"números imaginarios son múltiplos de la unidad imaginaria (la raíz cuadrada " +"de ``-1``), usualmente escrita como ``i`` en matemáticas o ``j`` en " +"ingeniería. Python tiene soporte incorporado para números complejos, los " +"cuales son escritos con la notación mencionada al final.; la parte " +"imaginaria es escrita con un sufijo ``j``, por ejemplo, ``3+1j``. Para " +"tener acceso a los equivalentes complejos del módulo :mod:`math` module, " +"use :mod:`cmath. El uso de números complejos es matemática bastante " +"avanzada. Si no le parecen necesarios, puede ignorarlos sin inconvenientes." #: ../Doc/glossary.rst:222 msgid "context manager" -msgstr "" +msgstr "administrador de contextos" #: ../Doc/glossary.rst:224 msgid "" "An object which controls the environment seen in a :keyword:`with` statement " "by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." msgstr "" +"Un objeto que controla el entorno en la sentencia :keyword:`with` " +"definiendo :meth:`__enter__` y :meth:`__exit__` methods. Vea :pep:`343`." #: ../Doc/glossary.rst:227 +#, fuzzy msgid "context variable" -msgstr "" +msgstr "administrador de contextos" #: ../Doc/glossary.rst:229 msgid "" @@ -417,7 +566,7 @@ msgstr "" #: ../Doc/glossary.rst:236 msgid "contiguous" -msgstr "" +msgstr "contiguo" #: ../Doc/glossary.rst:240 msgid "" @@ -429,22 +578,35 @@ msgid "" "visiting items in order of memory address. However, in Fortran contiguous " "arrays, the first index varies the fastest." msgstr "" +"Un buffer es considerado contiguo con precisión si es *C-contíguo* o " +"*Fortran contiguo*. Los buffers cero dimensionales con C y Fortran " +"contiguos. En los arreglos unidimensionales, los ítems deben ser dispuestos " +"en memoria uno siguiente al otro, ordenados por índices que comienzan en " +"cero. En arreglos unidimensionales C-contíguos, el último índice varía más " +"velozmente en el orden de las direcciones de memoria. Sin embargo, en " +"arreglos Fortran contiguos, el primer índice vería más rápidamente." #: ../Doc/glossary.rst:248 msgid "coroutine" -msgstr "" +msgstr "corrutina" #: ../Doc/glossary.rst:250 +#, fuzzy msgid "" "Coroutines are a more generalized form of subroutines. Subroutines are " "entered at one point and exited at another point. Coroutines can be " "entered, exited, and resumed at many different points. They can be " "implemented with the :keyword:`async def` statement. See also :pep:`492`." msgstr "" +"Las corrutinas son una forma más generalizadas de las subrutinas. A las " +"subrutinas se ingresa por un punto y se sale por otro punto. Las corrutinas " +"pueden se iniciadas, finalizadas y reanudadas en muchos puntos diferentes. " +"Pueden ser implementadas con la sentencia :keyword:`async def`. Vea además :" +"pep:`492`." #: ../Doc/glossary.rst:255 msgid "coroutine function" -msgstr "" +msgstr "función corrutina" #: ../Doc/glossary.rst:257 msgid "" @@ -453,10 +615,14 @@ msgid "" "keyword:`await`, :keyword:`async for`, and :keyword:`async with` keywords. " "These were introduced by :pep:`492`." msgstr "" +"Un función que retorna un objeto :term:`coroutine` . Una función corrutina " +"puede ser definida con la sentencia :keyword:`async def`, y puede contener " +"las palabras claves :keyword:`await`, :keyword:`async for`, y :keyword:" +"`async with`. Las mismas son introducidas en :pep:`492`." #: ../Doc/glossary.rst:262 msgid "CPython" -msgstr "" +msgstr "CPython" #: ../Doc/glossary.rst:264 msgid "" @@ -465,10 +631,14 @@ msgid "" "is used when necessary to distinguish this implementation from others such " "as Jython or IronPython." msgstr "" +"La implementación canónica del lenguaje de programación Python, como se " +"distribuye en `python.org `_. El término \"CPython\" " +"es usado cuando es necesario distinguir esta implementación de otras como " +"Jython o IronPython." #: ../Doc/glossary.rst:268 msgid "decorator" -msgstr "" +msgstr "decorador" #: ../Doc/glossary.rst:270 msgid "" @@ -476,12 +646,17 @@ msgid "" "transformation using the ``@wrapper`` syntax. Common examples for " "decorators are :func:`classmethod` and :func:`staticmethod`." msgstr "" +"Una función que retorna otra función, usualmente aplicada como una función " +"de transformación empleando la sintaxis ``@envoltorio``. Ejemplos comunes de " +"decoradores son :func:`classmethod` y func:`staticmethod`." #: ../Doc/glossary.rst:274 msgid "" "The decorator syntax is merely syntactic sugar, the following two function " "definitions are semantically equivalent::" msgstr "" +"La sintaxis del decorador es meramente azúcar sintáctico, las definiciones " +"de las siguientes dos funciones son semánticamente equivalentes::" #: ../Doc/glossary.rst:285 msgid "" @@ -489,10 +664,13 @@ msgid "" "the documentation for :ref:`function definitions ` and :ref:`class " "definitions ` for more about decorators." msgstr "" +"El mismo concepto existe para clases, pero son menos usadas. Vea la " +"documentación de :ref:`function definitions ` y :ref:`class " +"definitions ` para mayor detalle sobre decoradores." #: ../Doc/glossary.rst:288 msgid "descriptor" -msgstr "" +msgstr "descriptor" #: ../Doc/glossary.rst:290 msgid "" @@ -506,15 +684,26 @@ msgid "" "including functions, methods, properties, class methods, static methods, and " "reference to super classes." msgstr "" +"Cualquier objeto que define los métodos :meth:`__get__`, :meth:`__set__`, " +"o :meth:`__delete__`. Cuando un atributo de clase es un descriptor, su " +"conducta enlazada especial es disparada durante la búsqueda del atributo. " +"Normalmente, usando *a.b* para consultar, establecer o borrar un atributo " +"busca el objeto llamado *b* en el diccionario de clase de *a*, pero si *b* " +"es un descriptor, el respectivo método descriptor es llamado. Entender " +"descriptores es clave para lograr una comprensión profunda de Python porque " +"son la base de muchas de las capacidades incluyendo funciones, métodos, " +"propiedades, métodos de clase, métodos estáticos, y referencia a súper " +"clases." #: ../Doc/glossary.rst:300 msgid "" "For more information about descriptors' methods, see :ref:`descriptors`." msgstr "" +"Para más información sobre métodos descriptores, vea :ref:`descriptors`." #: ../Doc/glossary.rst:301 msgid "dictionary" -msgstr "" +msgstr "diccionario" #: ../Doc/glossary.rst:303 msgid "" @@ -522,10 +711,13 @@ msgid "" "can be any object with :meth:`__hash__` and :meth:`__eq__` methods. Called a " "hash in Perl." msgstr "" +"Un arreglo asociativo, con claves arbitrarias que son asociadas a valores. " +"Las claves pueden ser cualquier objeto con los métodos :meth:`__hash__` y :" +"meth:`__eq__` . Son llamadas hash en Perl." #: ../Doc/glossary.rst:306 msgid "dictionary view" -msgstr "" +msgstr "vista de diccionario" #: ../Doc/glossary.rst:308 msgid "" @@ -535,10 +727,16 @@ msgid "" "reflects these changes. To force the dictionary view to become a full list " "use ``list(dictview)``. See :ref:`dict-views`." msgstr "" +"Los objetos retornados por los métodos :meth:`dict.keys`, :meth:`dict." +"values`, y :meth:`dict.items` son llamados vistas de diccionarios. Proveen " +"una vista dinámica de las entradas de un diccionario, lo que significa que " +"cuando el diccionario cambia, la vista refleja éstos cambios. Para forzar a " +"la vista de diccionario a convertirse en una lista completa, use " +"``list(dictview)``. Vea :ref:`dict-views`." #: ../Doc/glossary.rst:314 msgid "docstring" -msgstr "" +msgstr "docstring" #: ../Doc/glossary.rst:316 msgid "" @@ -548,10 +746,15 @@ msgid "" "class, function or module. Since it is available via introspection, it is " "the canonical place for documentation of the object." msgstr "" +"Una cadena de caracteres literal que aparece como la primera expresión en " +"una clase, función o módulo. Aunque es ignorada cuando se ejecuta, es " +"reconocida por el compilador y puesta en el atributo :attr:`__doc__` de la " +"clase, función o módulo comprendida. Como está disponible mediante " +"introspección, es el lugar canónico para ubicar la documentación del objeto." #: ../Doc/glossary.rst:322 msgid "duck-typing" -msgstr "" +msgstr "tipado de pato" #: ../Doc/glossary.rst:324 msgid "" @@ -565,10 +768,20 @@ msgid "" "term:`abstract base classes `.) Instead, it typically " "employs :func:`hasattr` tests or :term:`EAFP` programming." msgstr "" +"Un estilo de programación que no revisa el tipo del objeto para determinar " +"si tiene la interfaz correcta; en vez de ello, el método o atributo es " +"simplemente llamado o usado (\"Si se ve como un pato y grazna como un pato, " +"debe ser un pato\"). Enfatizando las interfaces en vez de hacerlo con los " +"tipos específicos, un código bien diseñado pues tener mayor flexibilidad " +"permitiendo la sustitución polimórfica. El tipado de pato *duck-typing* " +"evita usar pruebas llamando a :func:`type` o :func:`isinstance`. (Nota: si " +"embargo, el tipado de pato puede ser complementado con :term:`abstract base " +"classes `. En su lugar, generalmente emplea :func:" +"`hasattr` tests o :term:`EAFP`." #: ../Doc/glossary.rst:333 msgid "EAFP" -msgstr "" +msgstr "EAFP" #: ../Doc/glossary.rst:335 msgid "" @@ -579,10 +792,17 @@ msgid "" "statements. The technique contrasts with the :term:`LBYL` style common to " "many other languages such as C." msgstr "" +"Del inglés \"Easier to ask for forgiveness than permission\", es más fácil " +"pedir perdón que pedir permiso. Este estilo de codificación común en Python " +"asume la existencia de claves o atributos válidos y atrapa las excepciones " +"si esta suposición resulta falsa. Este estilo rápido y limpio está " +"caracterizado por muchas sentencias :keyword:`try` y :keyword:`except`. " +"Esta técnica contrasta con estilo :term:`LBYL` usual en otros lenguajes como " +"C." #: ../Doc/glossary.rst:341 msgid "expression" -msgstr "" +msgstr "expresión" #: ../Doc/glossary.rst:343 msgid "" @@ -594,20 +814,29 @@ msgid "" "expressions, such as :keyword:`while`. Assignments are also statements, not " "expressions." msgstr "" +"Una construcción sintáctica que puede ser evaluada, hasta dar un valor. En " +"otras palabras, una expresión es una acumulación de elementos de expresión " +"tales como literales, nombres, accesos a atributos, operadores o llamadas a " +"funciones, todos ellos retornando valor. A diferencia de otros lenguajes, " +"no toda la sintaxis del lenguaje son expresiones. También hay :term:" +"`statement`\\s que no pueden ser usadas como expresiones, como la :keyword:" +"`while`. Las asignaciones también son sentencias, no expresiones." #: ../Doc/glossary.rst:350 msgid "extension module" -msgstr "" +msgstr "módulo de extensión" #: ../Doc/glossary.rst:352 msgid "" "A module written in C or C++, using Python's C API to interact with the core " "and with user code." msgstr "" +"Un módulo escrito en C o C++, usando la API para C de Python para " +"interactuar con el núcleo y el código del usuario." #: ../Doc/glossary.rst:354 msgid "f-string" -msgstr "" +msgstr "f-string" #: ../Doc/glossary.rst:356 msgid "" @@ -615,10 +844,13 @@ msgid "" "strings\" which is short for :ref:`formatted string literals `. " "See also :pep:`498`." msgstr "" +"Son llamadas \"f-strings\" las cadenas literales que usan el prefijo ``'f'`` " +"o ``'F'``, que es una abreviatura para :ref:`cadenas literales formateadas " +"`. Vea también :pep:`498`." #: ../Doc/glossary.rst:359 msgid "file object" -msgstr "" +msgstr "objeto archivo" #: ../Doc/glossary.rst:361 msgid "" @@ -629,6 +861,13 @@ msgid "" "output, in-memory buffers, sockets, pipes, etc.). File objects are also " "called :dfn:`file-like objects` or :dfn:`streams`." msgstr "" +"Un objeto que expone una API orientada a archivos (con métodos como :meth:" +"`read()` o :meth:`write()`) al objeto subyacente. Dependiendo de la forma " +"en la que fue creado, un objeto archivo, puede mediar el acceso a un archivo " +"real en el disco u otro tipo de dispositivo de almacenamiento o de " +"comunicación (por ejemplo, entrada/salida estándar, buffer de memoria, " +"sockets, pipes, etc.). Los objetos archivo son también denominados :dfn:" +"`objetos tipo archivo` o :dfn:`flujos`." #: ../Doc/glossary.rst:369 msgid "" @@ -638,24 +877,31 @@ msgid "" "The canonical way to create a file object is by using the :func:`open` " "function." msgstr "" +"Existen tres categorías de objetos archivo: crudos *raw* :term:`archivos " +"binarios `, con buffer :term:`archivos binarios ` " +"y :term:`archivos de texto `. Sus interfaces son definidas en el " +"módulo :mod:`io`. La forma canónica de crear objetos archivo es usando la " +"función :func:`open`." #: ../Doc/glossary.rst:374 msgid "file-like object" -msgstr "" +msgstr "objetos tipo archivo" #: ../Doc/glossary.rst:376 msgid "A synonym for :term:`file object`." -msgstr "" +msgstr "Un sinónimo de :term:`file object`." #: ../Doc/glossary.rst:377 msgid "finder" -msgstr "" +msgstr "buscador" #: ../Doc/glossary.rst:379 msgid "" "An object that tries to find the :term:`loader` for a module that is being " "imported." msgstr "" +"Un objeto que trata de encontrar el :term:`loader` para el módulo que está " +"siendo importado." #: ../Doc/glossary.rst:382 msgid "" @@ -663,14 +909,18 @@ msgid "" "` for use with :data:`sys.meta_path`, and :term:`path " "entry finders ` for use with :data:`sys.path_hooks`." msgstr "" +"Desde la versión 3.3 de Python, existen dos tipos de buscadores: :term:`meta " +"buscadores de ruta ` para usar con :data:`sys.meta_path`, " +"y :term:`buscadores de entradas de rutas ` para usar " +"con :data:`sys.path_hooks`." #: ../Doc/glossary.rst:386 msgid "See :pep:`302`, :pep:`420` and :pep:`451` for much more detail." -msgstr "" +msgstr "Vea :pep:`302`, :pep:`420` y :pep:`451` para mayores detalles." #: ../Doc/glossary.rst:387 msgid "floor division" -msgstr "" +msgstr "división entera" #: ../Doc/glossary.rst:389 msgid "" @@ -680,10 +930,15 @@ msgid "" "division. Note that ``(-11) // 4`` is ``-3`` because that is ``-2.75`` " "rounded *downward*. See :pep:`238`." msgstr "" +"Una división matemática que se redondea hacia el entero menor más cercano. " +"El operador de la división entera es ``//``. Por ejemplo, la expresión " +"``11 // 4`` evalúa ``2`` a diferencia del ``2.75`` retornado por la " +"verdadera división de números flotantes. Note que ``(-11) // 4`` es ``-3`` " +"porque es ``-2.75`` redondeado *para abajo*. Ver :pep:`238`." #: ../Doc/glossary.rst:394 msgid "function" -msgstr "" +msgstr "función" #: ../Doc/glossary.rst:396 msgid "" @@ -692,14 +947,19 @@ msgid "" "execution of the body. See also :term:`parameter`, :term:`method`, and the :" "ref:`function` section." msgstr "" +"Una serie de sentencias que retornan un valor al que las llama. También se " +"le puede pasar cero o más :term:`argumentos ` los cuales pueden " +"ser usados en la ejecución de la misma. Vea también :term:`parameter`, :term:" +"`method`, y la sección :ref:`function`." #: ../Doc/glossary.rst:400 msgid "function annotation" -msgstr "" +msgstr "anotación de función" #: ../Doc/glossary.rst:402 msgid "An :term:`annotation` of a function parameter or return value." msgstr "" +"Una :term:`annotation` del parámetro de una función o un valor de retorno." #: ../Doc/glossary.rst:404 msgid "" @@ -707,26 +967,36 @@ msgid "" "for example, this function is expected to take two :class:`int` arguments " "and is also expected to have an :class:`int` return value::" msgstr "" +"Las anotaciones de funciones son usadas frecuentemente para :term:`type " +"hint`s , por ejemplo, se espera que una función tome dos argumentos de " +"clase :class:`int` y también se espera que devuelva dos valores :class:" +"`int`::" #: ../Doc/glossary.rst:412 msgid "Function annotation syntax is explained in section :ref:`function`." msgstr "" +"La sintaxis de las anotaciones de funciones son explicadas en la sección :" +"ref:`function`." #: ../Doc/glossary.rst:414 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality." msgstr "" +"Vea :term:`variable annotation` y :pep:`484`, que describen esta " +"funcionalidad." #: ../Doc/glossary.rst:416 msgid "__future__" -msgstr "" +msgstr "__future__" #: ../Doc/glossary.rst:418 msgid "" "A pseudo-module which programmers can use to enable new language features " "which are not compatible with the current interpreter." msgstr "" +"Un pseudo-módulo que los programadores pueden usar para habilitar nuevas " +"capacidades del lenguaje que no son compatibles con el intérprete actual." #: ../Doc/glossary.rst:421 msgid "" @@ -734,10 +1004,13 @@ msgid "" "can see when a new feature was first added to the language and when it " "becomes the default::" msgstr "" +"Al importar el módulo :mod:`__future__` y evaluar sus variables, puede verse " +"cuándo las nuevas capacidades fueron agregadas por primera vez al lenguaje y " +"cuando se quedaron establecidas por defecto::" #: ../Doc/glossary.rst:428 msgid "garbage collection" -msgstr "" +msgstr "recolección de basura" #: ../Doc/glossary.rst:430 msgid "" @@ -746,10 +1019,15 @@ msgid "" "that is able to detect and break reference cycles. The garbage collector " "can be controlled using the :mod:`gc` module." msgstr "" +"El proceso de liberar la memoria de lo que ya no está en uso. Python " +"realiza recolección de basura (*garbage collection*) llevando la cuenta de " +"las referencias, y el recogedor de basura cíclico es capaz de detectar y " +"romper las referencias cíclicas. El recogedor de basura puede ser " +"controlado mediante el módulo :mod:`gc` ." #: ../Doc/glossary.rst:436 msgid "generator" -msgstr "" +msgstr "generador" #: ../Doc/glossary.rst:438 msgid "" @@ -758,6 +1036,10 @@ msgid "" "producing a series of values usable in a for-loop or that can be retrieved " "one at a time with the :func:`next` function." msgstr "" +"Una función que retorna un :term:`generator iterator`. Luce como una " +"función normal excepto que contiene la expresión :keyword:`yield` para " +"producir series de valores utilizables en un bucle for o que pueden ser " +"obtenidas una por una con la función :func:`next`." #: ../Doc/glossary.rst:443 msgid "" @@ -765,14 +1047,17 @@ msgid "" "iterator* in some contexts. In cases where the intended meaning isn't " "clear, using the full terms avoids ambiguity." msgstr "" +"Usualmente se refiere a una función generadora, pero puede referirse a un " +"*iterador generador* en ciertos contextos. En aquellos casos en los que el " +"significado no está claro, usar los términos completos evita la ambigüedad." #: ../Doc/glossary.rst:446 msgid "generator iterator" -msgstr "" +msgstr "iterador generador" #: ../Doc/glossary.rst:448 msgid "An object created by a :term:`generator` function." -msgstr "" +msgstr "Un objeto creado por una función :term:`generator`." #: ../Doc/glossary.rst:450 msgid "" @@ -781,10 +1066,15 @@ msgid "" "statements). When the *generator iterator* resumes, it picks up where it " "left off (in contrast to functions which start fresh on every invocation)." msgstr "" +"Cada :keyword:`yield` suspende temporalmente el procesamiento, recordando el " +"estado de ejecución local (incluyendo las variables locales y las sentencias " +"try pendientes). Cuando el \"iterador generado\" vuelve, retoma donde ha " +"dejado, a diferencia de lo que ocurre con las funciones que comienzan " +"nuevamente con cada invocación." #: ../Doc/glossary.rst:457 msgid "generator expression" -msgstr "" +msgstr "expresión generadora" #: ../Doc/glossary.rst:459 msgid "" @@ -793,10 +1083,14 @@ msgid "" "optional :keyword:`!if` clause. The combined expression generates values " "for an enclosing function::" msgstr "" +"Una expresión que retorna un iterador. Luce como una expresión normal " +"seguida por la cláusula :keyword:`!for` definiendo así una variable de " +"bucle, un rango y una cláusula opcional :keyword:`!if`. La expresión " +"combinada genera valores para la función contenedora::" #: ../Doc/glossary.rst:466 msgid "generic function" -msgstr "" +msgstr "función genérica" #: ../Doc/glossary.rst:468 msgid "" @@ -804,24 +1098,29 @@ msgid "" "for different types. Which implementation should be used during a call is " "determined by the dispatch algorithm." msgstr "" +"Una función compuesta de muchas funciones que implementan la misma operación " +"para diferentes tipos. Qué implementación deberá ser usada durante la " +"llamada a la misma es determinado por el algoritmo de despacho." #: ../Doc/glossary.rst:472 msgid "" "See also the :term:`single dispatch` glossary entry, the :func:`functools." "singledispatch` decorator, and :pep:`443`." msgstr "" +"Vea también la entrada de glosario :term:`single dispatch`, el decorador :" +"func:`functools.singledispatch`, y :pep:`443`." #: ../Doc/glossary.rst:475 msgid "GIL" -msgstr "" +msgstr "GIL" #: ../Doc/glossary.rst:477 msgid "See :term:`global interpreter lock`." -msgstr "" +msgstr "Vea :term:`global interpreter lock`." #: ../Doc/glossary.rst:478 msgid "global interpreter lock" -msgstr "" +msgstr "bloqueo global del intérprete" #: ../Doc/glossary.rst:480 msgid "" @@ -833,6 +1132,13 @@ msgid "" "multi-threaded, at the expense of much of the parallelism afforded by multi-" "processor machines." msgstr "" +"Mecanismo empleado por el intérprete :term:`CPython` para asegurar que sólo " +"un hilo ejecute el :term:`bytecode` Python por vez. Esto simplifica la " +"implementación de CPython haciendo que el modelo de objetos (incluyendo " +"algunos críticos como :class:`dict`) están implícitamente a salvo de acceso " +"concurrente. Bloqueando el intérprete completo se simplifica hacerlo multi-" +"hilos, a costa de mucho del paralelismo ofrecido por las máquinas con " +"múltiples procesadores." #: ../Doc/glossary.rst:489 msgid "" @@ -841,6 +1147,10 @@ msgid "" "such as compression or hashing. Also, the GIL is always released when doing " "I/O." msgstr "" +"Sin embargo, algunos módulos de extensión, tanto estándar como de terceros, " +"están diseñados para liberar el GIL cuando se realizan tareas " +"computacionalmente intensivas como la compresión o el hashing. Además, el " +"GIL siempre es liberado cuando se hace entrada/salida." #: ../Doc/glossary.rst:494 msgid "" @@ -850,10 +1160,15 @@ msgid "" "that overcoming this performance issue would make the implementation much " "more complicated and therefore costlier to maintain." msgstr "" +"Esfuerzos previos hechos para crear un intérprete \"sin hilos\" (uno que " +"bloquee los datos compartidos con una granularidad mucho más fina) no han " +"sido exitosos debido a que el rendimiento sufrió para el caso más común de " +"un solo procesador. Se cree que superar este problema de rendimiento haría " +"la implementación mucho más compleja y por tanto, más costosa de mantener." #: ../Doc/glossary.rst:500 msgid "hash-based pyc" -msgstr "" +msgstr "hash-based pyc" #: ../Doc/glossary.rst:502 msgid "" @@ -861,10 +1176,13 @@ msgid "" "of the corresponding source file to determine its validity. See :ref:`pyc-" "invalidation`." msgstr "" +"Un archivo cache de bytecode que usa el hash en vez de usar el tiempo de la " +"última modificación del archivo fuente correspondiente para determinar su " +"validez. Vea :ref:`pyc-invalidation`." #: ../Doc/glossary.rst:505 msgid "hashable" -msgstr "" +msgstr "hashable" #: ../Doc/glossary.rst:507 msgid "" @@ -873,14 +1191,22 @@ msgid "" "other objects (it needs an :meth:`__eq__` method). Hashable objects which " "compare equal must have the same hash value." msgstr "" +"Un objeto es *hashable* si tiene un valor de hash que nunca cambiará durante " +"su tiempo de vida (necesita un método :meth:`__hash__` ), y puede ser " +"comparado con otro objeto (necesita el método :meth:`__eq__` ). Los objetos " +"hashables que se comparan iguales deben tener el mismo número hash." #: ../Doc/glossary.rst:512 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." msgstr "" +"La hashabilidad hace a un objeto empleable como clave de un diccionario y " +"miembro de un set, porque éstas estructuras de datos usan los valores de " +"hash internamente." #: ../Doc/glossary.rst:515 +#, fuzzy msgid "" "Most of Python's immutable built-in objects are hashable; mutable containers " "(such as lists or dictionaries) are not; immutable containers (such as " @@ -889,10 +1215,15 @@ msgid "" "default. They all compare unequal (except with themselves), and their hash " "value is derived from their :func:`id`." msgstr "" +"Todos los objetos inmutables incorporados en Python son hashables; los " +"contenedores mutables (como las listas o los diccionarios) no lo son. Los " +"objetos que son instancias de clases definidas por el usuario son hashables " +"por defecto. Todos se comparan como desiguales (excepto consigo mismos), y " +"su valor de hash está derivado de su función :func:`id`." #: ../Doc/glossary.rst:522 msgid "IDLE" -msgstr "" +msgstr "IDLE" #: ../Doc/glossary.rst:524 msgid "" @@ -900,10 +1231,13 @@ msgid "" "and interpreter environment which ships with the standard distribution of " "Python." msgstr "" +"El entorno integrado de desarrollo de Python, o \"Integrated Development " +"Environment for Python\". IDLE es un editor básico y un entorno de " +"intérprete que se incluye con la distribución estándar de Python." #: ../Doc/glossary.rst:527 msgid "immutable" -msgstr "" +msgstr "inmutable" #: ../Doc/glossary.rst:529 msgid "" @@ -913,10 +1247,15 @@ msgid "" "in places where a constant hash value is needed, for example as a key in a " "dictionary." msgstr "" +"Un objeto con un valor fijo. Los objetos inmutables son números, cadenas y " +"tuplas. Éstos objetos no pueden ser alterados. Un nuevo objeto debe ser " +"creado si un valor diferente ha de ser guardado. Juegan un rol importante " +"en lugares donde es necesario un valor de hash constante, por ejemplo como " +"claves de un diccionario." #: ../Doc/glossary.rst:534 msgid "import path" -msgstr "" +msgstr "ruta de importación" #: ../Doc/glossary.rst:536 msgid "" @@ -925,30 +1264,39 @@ msgid "" "list of locations usually comes from :data:`sys.path`, but for subpackages " "it may also come from the parent package's ``__path__`` attribute." msgstr "" +"Una lista de las ubicaciones (o :term:`entradas de ruta `) que " +"son revisadas por :term:`path based finder` al importar módulos. Durante la " +"importación, ésta lista de localizaciones usualmente viene de :data:`sys." +"path`, pero para los subpaquetes también puede incluir al atributo " +"``__path__`` del paquete padre." #: ../Doc/glossary.rst:541 msgid "importing" -msgstr "" +msgstr "importar" #: ../Doc/glossary.rst:543 msgid "" "The process by which Python code in one module is made available to Python " "code in another module." msgstr "" +"El proceso mediante el cual el código Python dentro de un módulo se hace " +"alcanzable desde otro código Python en otro módulo." #: ../Doc/glossary.rst:545 msgid "importer" -msgstr "" +msgstr "importador" #: ../Doc/glossary.rst:547 msgid "" "An object that both finds and loads a module; both a :term:`finder` and :" "term:`loader` object." msgstr "" +"Un objeto que buscan y lee un módulo; un objeto que es tanto :term:`finder` " +"como :term:`loader`." #: ../Doc/glossary.rst:549 msgid "interactive" -msgstr "" +msgstr "interactivo" #: ../Doc/glossary.rst:551 msgid "" @@ -958,10 +1306,16 @@ msgid "" "selecting it from your computer's main menu). It is a very powerful way to " "test out new ideas or inspect modules and packages (remember ``help(x)``)." msgstr "" +"Python tiene un intérprete interactivo, lo que significa que puede ingresar " +"sentencias y expresiones en el prompt del intérprete, ejecutarlos de " +"inmediato y ver sus resultados. Sólo ejecute ``python`` sin argumentos " +"(podría seleccionarlo desde el menú principal de su computadora). Es una " +"forma muy potente de probar nuevas ideas o inspeccionar módulos y paquetes " +"(recuerde ``help(x)``)." #: ../Doc/glossary.rst:557 msgid "interpreted" -msgstr "" +msgstr "interpretado" #: ../Doc/glossary.rst:559 msgid "" @@ -972,10 +1326,17 @@ msgid "" "shorter development/debug cycle than compiled ones, though their programs " "generally also run more slowly. See also :term:`interactive`." msgstr "" +"Python es un lenguaje interpretado, a diferencia de uno compilado, a pesar " +"de que la distinción puede ser difusa debido al compilador a bytecode. Esto " +"significa que los archivos fuente pueden ser corridos directamente, sin " +"crear explícitamente un ejecutable que es corrido luego. Los lenguajes " +"interpretados típicamente tienen ciclos de desarrollo y depuración más " +"cortos que los compilados, sin embargo sus programas suelen correr más " +"lentamente. Vea también :term:`interactive`." #: ../Doc/glossary.rst:566 msgid "interpreter shutdown" -msgstr "" +msgstr "apagado del intérprete" #: ../Doc/glossary.rst:568 msgid "" @@ -988,16 +1349,27 @@ msgid "" "relies on may not function anymore (common examples are library modules or " "the warnings machinery)." msgstr "" +"Cuando se le solicita apagarse, el intérprete Python ingresa a un fase " +"especial en la cual gradualmente libera todos los recursos reservados, como " +"módulos y varias estructuras internas críticas. También hace varias " +"llamadas al :term:`recolector de basura `. Esto puede " +"disparar la ejecución de código de destructores definidos por el usuario o " +"\"weakref callbacks\". El código ejecutado durante la fase de apagado puede " +"encontrar varias excepciones debido a que los recursos que necesita pueden " +"no funcionar más (ejemplos comunes son los módulos de bibliotecas o los " +"artefactos de advertencias \"warnings machinery\")" #: ../Doc/glossary.rst:577 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module or " "the script being run has finished executing." msgstr "" +"La principal razón para el apagado del intérpreter es que el módulo " +"``__main__`` o el script que estaba corriendo termine su ejecución." #: ../Doc/glossary.rst:579 msgid "iterable" -msgstr "" +msgstr "iterable" #: ../Doc/glossary.rst:581 msgid "" @@ -1008,6 +1380,12 @@ msgid "" "meth:`__iter__` method or with a :meth:`__getitem__` method that implements :" "term:`Sequence` semantics." msgstr "" +"Un objeto capaz de retornar sus miembros uno por vez. Ejemplos de iterables " +"son todos los tipos de secuencias (como :class:`list`, :class:`str`, y :" +"class:`tuple`) y algunos de tipos no secuenciales, como :class:`dict`, :term:" +"`objeto archivo `, y objetos de cualquier clase que defina con " +"los métodos :meth:`__iter__` o con un método :meth:`__getitem__` que " +"implementen la semántica de :term:`Sequence`." #: ../Doc/glossary.rst:588 msgid "" @@ -1021,10 +1399,19 @@ msgid "" "unnamed variable to hold the iterator for the duration of the loop. See " "also :term:`iterator`, :term:`sequence`, and :term:`generator`." msgstr "" +"Los iterables pueden ser usados en el bucle :keyword:`for` y en muchos otros " +"sitios donde una secuencia es necesaria (:func:`zip`, :func:`map`, ...). " +"Cuando un objeto iterable es pasado como argumento a la función incorporada :" +"func:`iter`, retorna un iterador para el objeto. Este iterador pasa así el " +"conjunto de valores. Cuando se usan iterables, normalmente no es necesario " +"llamar a la función :func:`iter` o tratar con los objetos iteradores usted " +"mismo. La sentencia ``for`` lo hace automáticamente por usted, creando un " +"variable temporal sin nombre para mantener el iterador mientras dura el " +"bucle. Vea también :term:`iterator`, :term:`sequence`, y :term:`generator`." #: ../Doc/glossary.rst:598 msgid "iterator" -msgstr "" +msgstr "iterador" #: ../Doc/glossary.rst:600 msgid "" @@ -1043,14 +1430,29 @@ msgid "" "iterator will just return the same exhausted iterator object used in the " "previous iteration pass, making it appear like an empty container." msgstr "" +"Un objeto que representa un flujo de datos. Llamadas repetidas al método :" +"meth:`~iterator.__next__` del iterador (o al pasar la función incorporada :" +"func:`next`) retorna ítems sucesivos del flujo. Cuando no hay más datos " +"disponibles, una excepción :exc:`StopIteration` es disparada. En este " +"momento, el objeto iterador está exhausto y cualquier llamada posterior al " +"método :meth:`__next__` sólo dispara otra vez :exc:`StopIteration`. Los " +"iteradores necesitan tener un método:meth:`__iter__` que retorna el objeto " +"iterador mismo así cada iterador es también un iterable y puede ser usado en " +"casi todos los lugares donde los iterables son aceptados. Una excepción " +"importante es el código que intenta múltiples pases de iteración. Un objeto " +"contenedor (como la :class:`list`) produce un nuevo iterador cada vez que " +"las pasa a una función :func:`iter` o la usa en un blucle :keyword:`for`. " +"Intentar ésto con un iterador simplemente retornaría el mismo objeto " +"iterador exhausto usado en previas iteraciones, haciéndolo aparecer como un " +"contenedor vacío." #: ../Doc/glossary.rst:615 msgid "More information can be found in :ref:`typeiter`." -msgstr "" +msgstr "Puede encontrar más información en :ref:`typeiter`." #: ../Doc/glossary.rst:616 msgid "key function" -msgstr "" +msgstr "función clave" #: ../Doc/glossary.rst:618 msgid "" @@ -1058,6 +1460,10 @@ msgid "" "for sorting or ordering. For example, :func:`locale.strxfrm` is used to " "produce a sort key that is aware of locale specific sort conventions." msgstr "" +"Una función clave o una función de colación es un invocable que retorna un " +"valor usado para el ordenamiento o clasificación. Por ejemplo, :func:" +"`locale.strxfrm` es usada para producir claves de ordenamiento que se " +"adaptan a las convenciones específicas de ordenamiento de un locale." #: ../Doc/glossary.rst:623 msgid "" @@ -1066,6 +1472,10 @@ msgid "" "meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, :func:`heapq." "nlargest`, and :func:`itertools.groupby`." msgstr "" +"Cierta cantidad de herramientas de Python aceptan funciones clave para " +"controlar como los elementos son ordenados o agrupados. Incluyendo a :func:" +"`min`, :func:`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :" +"func:`heapq.nsmallest`, :func:`heapq.nlargest`, y :func:`itertools.groupby`." #: ../Doc/glossary.rst:629 msgid "" @@ -1078,18 +1488,27 @@ msgid "" "methodcaller`. See the :ref:`Sorting HOW TO ` for examples of " "how to create and use key functions." msgstr "" +"Hay varias formas de crear una función clave. Por ejemplo, el método :meth:" +"`str.lower` puede servir como función clave para ordenamientos que no " +"distingan mayúsculas de minúsculas. Como alternativa, una función clave " +"puede ser realizada con una expresión :keyword:`lambda` como ``lambda r: " +"(r[0], r[2])``. También, el módulo :mod:`operator` provee tres " +"constructores de funciones clave: :func:`~operator.attrgetter`, :func:" +"`~operator.itemgetter`, y :func:`~operator.methodcaller`. Vea en :ref:" +"`Sorting HOW TO ` ejemplos de cómo crear y usar funciones " +"clave." #: ../Doc/glossary.rst:637 msgid "keyword argument" -msgstr "" +msgstr "argumento nombrado" #: ../Doc/glossary.rst:639 ../Doc/glossary.rst:916 msgid "See :term:`argument`." -msgstr "" +msgstr "Vea :term:`argument`." #: ../Doc/glossary.rst:640 msgid "lambda" -msgstr "" +msgstr "lambda" #: ../Doc/glossary.rst:642 msgid "" @@ -1097,10 +1516,13 @@ msgid "" "is evaluated when the function is called. The syntax to create a lambda " "function is ``lambda [parameters]: expression``" msgstr "" +"Una función anónima de una línea consistente en un sola :term:`expression` " +"que es evaluada cuando la función es llamada. La sintaxis para crear una " +"función lambda es ``lambda [parameters]: expression``" #: ../Doc/glossary.rst:645 msgid "LBYL" -msgstr "" +msgstr "LBYL" #: ../Doc/glossary.rst:647 msgid "" @@ -1109,6 +1531,11 @@ msgid "" "approach and is characterized by the presence of many :keyword:`if` " "statements." msgstr "" +"Del inglés \"Look before you leap\", \"mira antes de saltar\". Es un estilo " +"de codificación que prueba explícitamente las condiciones previas antes de " +"hacer llamadas o búsquedas. Este estilo contrasta con la manera :term:" +"`EAFP` y está caracterizado por la presencia de muchas sentencias :keyword:" +"`if`." #: ../Doc/glossary.rst:652 msgid "" @@ -1118,10 +1545,16 @@ msgid "" "thread removes *key* from *mapping* after the test, but before the lookup. " "This issue can be solved with locks or by using the EAFP approach." msgstr "" +"En entornos multi-hilos, el método LBYL tiene el riesgo de introducir " +"condiciones de carrera entre los hilos que están \"mirando\" y los que están " +"\"saltando\". Por ejemplo, el código, `if key in mapping: return " +"mapping[key]`` puede fallar si otro hilo remueve *key* de *mapping* después " +"del test, pero antes de retornar el valor. Este problema puede ser resuelto " +"usando bloqueos o empleando el método EAFP." #: ../Doc/glossary.rst:657 msgid "list" -msgstr "" +msgstr "lista" #: ../Doc/glossary.rst:659 msgid "" @@ -1129,10 +1562,13 @@ msgid "" "array in other languages than to a linked list since access to elements is " "O(1)." msgstr "" +"Es una :term:`sequence` Python incorporada. A pesar de su nombre es más " +"similar a un arreglo en otros lenguajes que a una lista enlazada porque el " +"acceso a los elementos es O(1)." #: ../Doc/glossary.rst:662 msgid "list comprehension" -msgstr "" +msgstr "comprensión de listas" #: ../Doc/glossary.rst:664 msgid "" @@ -1142,10 +1578,16 @@ msgid "" "numbers (0x..) in the range from 0 to 255. The :keyword:`if` clause is " "optional. If omitted, all elements in ``range(256)`` are processed." msgstr "" +"Una forma compacta de procesar todos o parte de los elementos en una " +"secuencia y retornar una lista como resultado. ``result = ['{:#04x}'." +"format(x) for x in range(256) if x % 2 == 0]`` genera una lista de cadenas " +"conteniendo números hexadecimales (0x..) entre 0 y 255. La cláusula :keyword:" +"`if` es opcional. Si es omitida, todos los elementos en ``range(256)`` son " +"procesados." #: ../Doc/glossary.rst:670 msgid "loader" -msgstr "" +msgstr "cargador" #: ../Doc/glossary.rst:672 msgid "" @@ -1154,18 +1596,22 @@ msgid "" "`302` for details and :class:`importlib.abc.Loader` for an :term:`abstract " "base class`." msgstr "" +"Un objeto que carga un módulo. Debe definir el método llamado :meth:" +"`load_module`. Un cargador es normalmente retornados por un :term:" +"`finder`. Vea :pep:`302` para detalles y :class:`importlib.abc.Loader` para " +"una :term:`abstract base class`." #: ../Doc/glossary.rst:676 msgid "magic method" -msgstr "" +msgstr "método mágico" #: ../Doc/glossary.rst:680 msgid "An informal synonym for :term:`special method`." -msgstr "" +msgstr "Una manera informal de llamar a un :term:`special method`." #: ../Doc/glossary.rst:681 msgid "mapping" -msgstr "" +msgstr "mapeado" #: ../Doc/glossary.rst:683 msgid "" @@ -1176,10 +1622,16 @@ msgid "" "`collections.defaultdict`, :class:`collections.OrderedDict` and :class:" "`collections.Counter`." msgstr "" +"Un objeto contenedor que permite recupero de claves arbitrarias y que " +"implementa los métodos especificados en la :class:`~collections.abc.Mapping` " +"o :class:`~collections.abc.MutableMapping` :ref:`abstract base classes " +"`. Por ejemplo, :class:`dict`, :class:" +"`collections.defaultdict`, :class:`collections.OrderedDict` y :class:" +"`collections.Counter`." #: ../Doc/glossary.rst:689 msgid "meta path finder" -msgstr "" +msgstr "meta buscadores de ruta" #: ../Doc/glossary.rst:691 msgid "" @@ -1187,16 +1639,21 @@ msgid "" "finders are related to, but different from :term:`path entry finders `." msgstr "" +"Un :term:`finder` retornado por una búsqueda de :data:`sys.meta_path`. Los " +"meta buscadores de ruta están relacionados a :term:`buscadores de entradas " +"de rutas `, pero son algo diferente." #: ../Doc/glossary.rst:695 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." msgstr "" +"Vea en :class:`importlib.abc.MetaPathFinder` los métodos que los meta " +"buscadores de ruta implementan." #: ../Doc/glossary.rst:697 msgid "metaclass" -msgstr "" +msgstr "metaclase" #: ../Doc/glossary.rst:699 msgid "" @@ -1210,14 +1667,24 @@ msgid "" "access, adding thread-safety, tracking object creation, implementing " "singletons, and many other tasks." msgstr "" +"La clase de una clase. Las definiciones de clases crean nombres de clase, " +"un diccionario de clase, y una lista de clases base. Las metaclases son " +"responsables de tomar estos tres argumentos y crear la clase. La mayoría de " +"los objetos de un lenguaje de programación orientado a objetos provienen de " +"una implementación por defecto. Lo que hace a Python especial que es " +"posible crear metaclases a medida. La mayoría de los usuario nunca " +"necesitarán esta herramienta, pero cuando la necesidad surge, las metaclases " +"pueden brindar soluciones poderosas y elegantes. Han sido usadas para " +"loggear acceso de atributos, agregar seguridad a hilos, rastrear la creación " +"de objetos, implementar singletons, y muchas otras tareas." #: ../Doc/glossary.rst:709 msgid "More information can be found in :ref:`metaclasses`." -msgstr "" +msgstr "Más información hallará en :ref:`metaclasses`." #: ../Doc/glossary.rst:710 msgid "method" -msgstr "" +msgstr "método" #: ../Doc/glossary.rst:712 msgid "" @@ -1226,10 +1693,14 @@ msgid "" "first :term:`argument` (which is usually called ``self``). See :term:" "`function` and :term:`nested scope`." msgstr "" +"Una función que es definida dentro del cuerpo de una clase. Si es llamada " +"como un atributo de una instancia de otra clase, el método tomará el objeto " +"instanciado como su primer :term:`argument` (el cual es usualmente " +"denominado `self`). Vea :term:`function` y :term:`nested scope`." #: ../Doc/glossary.rst:716 msgid "method resolution order" -msgstr "" +msgstr "orden de resolución de métodos" #: ../Doc/glossary.rst:718 msgid "" @@ -1238,10 +1709,14 @@ msgid "" "www.python.org/download/releases/2.3/mro/>`_ for details of the algorithm " "used by the Python interpreter since the 2.3 release." msgstr "" +"Orden de resolución de métodos es el orden en el cual una clase base es " +"buscada por un miembro durante la búsqueda. Mire en `The Python 2.3 Method " +"Resolution Order `_ los " +"detalles del algoritmo usado por el intérprete Python desde la versión 2.3." #: ../Doc/glossary.rst:722 msgid "module" -msgstr "" +msgstr "módulo" #: ../Doc/glossary.rst:724 msgid "" @@ -1249,42 +1724,50 @@ msgid "" "have a namespace containing arbitrary Python objects. Modules are loaded " "into Python by the process of :term:`importing`." msgstr "" +"Un objeto que sirve como unidad de organización del código Python. Los " +"módulos tienen espacios de nombres conteniendo objetos Python arbitrarios. " +"Los módulos son cargados en Python por el proceso de :term:`importing`." #: ../Doc/glossary.rst:728 msgid "See also :term:`package`." -msgstr "" +msgstr "Vea también :term:`package`." #: ../Doc/glossary.rst:729 msgid "module spec" -msgstr "" +msgstr "especificador de módulo" #: ../Doc/glossary.rst:731 msgid "" "A namespace containing the import-related information used to load a module. " "An instance of :class:`importlib.machinery.ModuleSpec`." msgstr "" +"Un espacio de nombres que contiene la información relacionada a la " +"importación usada al leer un módulo. Una instancia de :class:`importlib." +"machinery.ModuleSpec`." #: ../Doc/glossary.rst:733 msgid "MRO" -msgstr "" +msgstr "MRO" #: ../Doc/glossary.rst:735 msgid "See :term:`method resolution order`." -msgstr "" +msgstr "Vea :term:`method resolution order`." #: ../Doc/glossary.rst:736 msgid "mutable" -msgstr "" +msgstr "mutable" #: ../Doc/glossary.rst:738 msgid "" "Mutable objects can change their value but keep their :func:`id`. See also :" "term:`immutable`." msgstr "" +"Los objetos mutables pueden cambiar su valor pero mantener su :func:`id`. " +"Vea también :term:`immutable`." #: ../Doc/glossary.rst:740 msgid "named tuple" -msgstr "" +msgstr "tupla nombrada" #: ../Doc/glossary.rst:742 msgid "" @@ -1312,7 +1795,7 @@ msgstr "" #: ../Doc/glossary.rst:764 msgid "namespace" -msgstr "" +msgstr "espacio de nombres" #: ../Doc/glossary.rst:766 msgid "" @@ -1326,10 +1809,21 @@ msgid "" "func:`itertools.islice` makes it clear that those functions are implemented " "by the :mod:`random` and :mod:`itertools` modules, respectively." msgstr "" +"El lugar donde la variable es almacenada. Los espacios de nombres son " +"implementados como diccionarios. Hay espacio de nombre local, global, e " +"incorporado así como espacios de nombres anidados en objetos (en métodos). " +"Los espacios de nombres soportan modularidad previniendo conflictos de " +"nombramiento. Por ejemplo, las funciones :func:`builtins.open <.open>` y :" +"func:`os.open` se distinguen por su espacio de nombres. Los espacios de " +"nombres también ayuda a la legibilidad y mantenibilidad dejando claro qué " +"módulo implementa una función. Por ejemplo, escribiendo :func:`random.seed` " +"o :func:`itertools.islice` queda claro que éstas funciones están " +"implementadas en los módulos :mod:`random` y :mod:`itertools`, " +"respectivamente." #: ../Doc/glossary.rst:776 msgid "namespace package" -msgstr "" +msgstr "paquete de espacios de nombres" #: ../Doc/glossary.rst:778 msgid "" @@ -1338,14 +1832,18 @@ msgid "" "specifically are not like a :term:`regular package` because they have no " "``__init__.py`` file." msgstr "" +"Un :pep:`420` :term:`package` que sirve sólo para contener subpaquetes. Los " +"paquetes de espacios de nombres pueden no tener representación física, y " +"específicamente se diferencian de los :term:`regular package` porque no " +"tienen un archivo ``__init__.py``." #: ../Doc/glossary.rst:783 msgid "See also :term:`module`." -msgstr "" +msgstr "Vea también :term:`module`." #: ../Doc/glossary.rst:784 msgid "nested scope" -msgstr "" +msgstr "alcances anidados" #: ../Doc/glossary.rst:786 msgid "" @@ -1356,10 +1854,18 @@ msgid "" "the innermost scope. Likewise, global variables read and write to the " "global namespace. The :keyword:`nonlocal` allows writing to outer scopes." msgstr "" +"La habilidad de referirse a una variable dentro de una definición " +"encerrada. Por ejemplo, una función definida dentro de otra función puede " +"referir a variables en la función externa. Note que los alcances anidados " +"por defecto sólo funcionan para referencia y no para asignación. Las " +"variables locales leen y escriben sólo en el alcance más interno. De manera " +"semejante, las variables globales pueden leer y escribir en el espacio de " +"nombres global. Con :keyword:`nonlocal` se puede escribir en alcances " +"exteriores." #: ../Doc/glossary.rst:793 msgid "new-style class" -msgstr "" +msgstr "clase de nuevo estilo" #: ../Doc/glossary.rst:795 msgid "" @@ -1368,20 +1874,28 @@ msgid "" "versatile features like :attr:`~object.__slots__`, descriptors, properties, :" "meth:`__getattribute__`, class methods, and static methods." msgstr "" +"Vieja denominación usada para el estilo de clases ahora empleado en todos " +"los objetos de clase. En versiones más tempranas de Python, sólo las nuevas " +"clases podían usar capacidades nuevas y versátiles de Python como :attr:" +"`~object.__slots__`, descriptores, propiedades, :meth:`__getattribute__`, " +"métodos de clase y métodos estáticos." #: ../Doc/glossary.rst:799 msgid "object" -msgstr "" +msgstr "objeto" #: ../Doc/glossary.rst:801 msgid "" "Any data with state (attributes or value) and defined behavior (methods). " "Also the ultimate base class of any :term:`new-style class`." msgstr "" +"Cualquier dato con estado (atributo o valor) y comportamiento definido " +"(métodos). También es la más básica clase base para cualquier :term:`new-" +"style class`." #: ../Doc/glossary.rst:804 msgid "package" -msgstr "" +msgstr "paquete" #: ../Doc/glossary.rst:806 msgid "" @@ -1389,14 +1903,17 @@ msgid "" "subpackages. Technically, a package is a Python module with an ``__path__`` " "attribute." msgstr "" +"Un :term:`module` Python que puede contener submódulos o recursivamente, " +"subpaquetes. Técnicamente, un paquete es un módulo Python con un atributo " +"``__path__``." #: ../Doc/glossary.rst:810 msgid "See also :term:`regular package` and :term:`namespace package`." -msgstr "" +msgstr "Vea también :term:`regular package` y :term:`namespace package`." #: ../Doc/glossary.rst:811 msgid "parameter" -msgstr "" +msgstr "parámetro" #: ../Doc/glossary.rst:813 msgid "" @@ -1404,6 +1921,9 @@ msgid "" "an :term:`argument` (or in some cases, arguments) that the function can " "accept. There are five kinds of parameter:" msgstr "" +"Una entidad nombrada en una definición de una :term:`function` (o método) " +"que especifica un :term:`argument` (o en algunos casos, varios argumentos) " +"que la función puede aceptar. Existen cinco tipos de argumentos:" #: ../Doc/glossary.rst:817 msgid "" @@ -1412,6 +1932,10 @@ msgid "" "`. This is the default kind of parameter, for example *foo* and " "*bar* in the following::" msgstr "" +":dfn:`posicional o nombrado`: especifica un argumento que puede ser pasado " +"tanto como :term:`posicional ` o como :term:`nombrado " +"`. Este es el tipo por defecto de parámetro, como *foo* y *bar* " +"en el siguiente ejemplo::" #: ../Doc/glossary.rst:826 msgid "" @@ -1429,6 +1953,11 @@ msgid "" "definition before them, for example *kw_only1* and *kw_only2* in the " "following::" msgstr "" +":dfn:`sólo nombrado`: especifica un argumento que sólo puede ser pasado por " +"nombre. Los parámetros sólo por nombre pueden ser definidos incluyendo un " +"parámetro posicional de una sola variable o un mero ``*``` antes de ellos en " +"la lista de parámetros en la definición de la función, como *kw_only1* y " +"*kw_only2* en el ejemplo siguiente::" #: ../Doc/glossary.rst:843 msgid "" @@ -1438,6 +1967,11 @@ msgid "" "prepending the parameter name with ``*``, for example *args* in the " "following::" msgstr "" +":dfn:`variable posicional`: especifica una secuencia arbitraria de " +"argumentos posicionales que pueden ser brindados (además de cualquier " +"argumento posicional aceptado por otros parámetros). Este parámetro puede " +"ser definido anteponiendo al nombre del parámetro ``*``, como a *args* en el " +"siguiente ejemplo::" #: ../Doc/glossary.rst:851 msgid "" @@ -1446,12 +1980,19 @@ msgid "" "parameters). Such a parameter can be defined by prepending the parameter " "name with ``**``, for example *kwargs* in the example above." msgstr "" +":dfn:`variable nombrado`: especifica que arbitrariamente muchos argumentos " +"nombrados pueden ser brindados (además de cualquier argumento nombrado ya " +"aceptado por cualquier otro parámetro). Este parámetro puede ser definido " +"anteponiendo al nombre del parámetro con ``**``, como *kwargs* en el ejemplo " +"más arriba." #: ../Doc/glossary.rst:857 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." msgstr "" +"Los parámetros puede especificar tanto argumentos opcionales como " +"requeridos, así como valores por defecto para algunos argumentos opcionales." #: ../Doc/glossary.rst:860 msgid "" @@ -1460,20 +2001,26 @@ msgid "" "the :class:`inspect.Parameter` class, the :ref:`function` section, and :pep:" "`362`." msgstr "" +"Vea también el glosario de :term:`argument`, la pregunta respondida en :ref:" +"`la diferencia entre argumentos y parámetros `, " +"la clase :class:`inspect.Parameter`, la sección :ref:`function` , y :pep:" +"`362`." #: ../Doc/glossary.rst:864 msgid "path entry" -msgstr "" +msgstr "entrada de ruta" #: ../Doc/glossary.rst:866 msgid "" "A single location on the :term:`import path` which the :term:`path based " "finder` consults to find modules for importing." msgstr "" +"Una ubicación única en el :term:`import path` que el :term:`path based " +"finder` consulta para encontrar los módulos a importar." #: ../Doc/glossary.rst:868 msgid "path entry finder" -msgstr "" +msgstr "buscador de entradas de ruta" #: ../Doc/glossary.rst:870 msgid "" @@ -1481,16 +2028,21 @@ msgid "" "term:`path entry hook`) which knows how to locate modules given a :term:" "`path entry`." msgstr "" +"Un :term:`finder` retornado por un invocable en :data:`sys.path_hooks` (esto " +"es, un :term:`path entry hook`) que sabe cómo localizar módulos dada una :" +"term:`path entry`." #: ../Doc/glossary.rst:874 msgid "" "See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " "finders implement." msgstr "" +"Vea en :class:`importlib.abc.PathEntryFinder` los métodos que los buscadores " +"de entradas de paths implementan." #: ../Doc/glossary.rst:876 msgid "path entry hook" -msgstr "" +msgstr "gancho a entrada de ruta" #: ../Doc/glossary.rst:878 msgid "" @@ -1498,20 +2050,25 @@ msgid "" "entry finder` if it knows how to find modules on a specific :term:`path " "entry`." msgstr "" +"Un invocable en la lista :data:`sys.path_hook` que retorna un :term:`path " +"entry finder` si éste sabe cómo encontrar módulos en un :term:`path entry` " +"específico." #: ../Doc/glossary.rst:881 msgid "path based finder" -msgstr "" +msgstr "buscador basado en ruta" #: ../Doc/glossary.rst:883 msgid "" "One of the default :term:`meta path finders ` which " "searches an :term:`import path` for modules." msgstr "" +"Uno de los :term:`meta buscadores de ruta ` por defecto " +"que busca un :term:`import path` para los módulos." #: ../Doc/glossary.rst:885 msgid "path-like object" -msgstr "" +msgstr "objeto tipo ruta" #: ../Doc/glossary.rst:887 msgid "" @@ -1524,10 +2081,18 @@ msgid "" "`str` or :class:`bytes` result instead, respectively. Introduced by :pep:" "`519`." msgstr "" +"Un objeto que representa una ruta del sistema de archivos. Un objeto tipo " +"ruta puede ser tanto una :class:`str` como un :class:`bytes` representando " +"una ruta, o un objeto que implementa el protocolo :class:`os.PathLike`. Un " +"objeto que soporta el protocolo :class:`os.PathLike` puede ser convertido a " +"ruta del sistema de archivo de clase :class:`str` o :class:`bytes` usando la " +"función :func:`os.fspath`; :func:`os.fsdecode` :func:`os.fsencode` pueden " +"emplearse para garantizar que retorne respectivamente :class:`str` o :class:" +"`bytes`. Introducido por :pep:`519`." #: ../Doc/glossary.rst:895 msgid "PEP" -msgstr "" +msgstr "PEP" #: ../Doc/glossary.rst:897 msgid "" @@ -1536,6 +2101,11 @@ msgid "" "or its processes or environment. PEPs should provide a concise technical " "specification and a rationale for proposed features." msgstr "" +"Propuesta de mejora de Python, del inglés \"Python Enhancement Proposal\". " +"Un PEP es un documento de diseño que brinda información a la comunidad " +"Python, o describe una nueva capacidad para Python, sus procesos o entorno. " +"Los PEPs deberían dar una especificación técnica concisa y una " +"fundamentación para las capacidades propuestas." #: ../Doc/glossary.rst:903 msgid "" @@ -1545,28 +2115,36 @@ msgid "" "responsible for building consensus within the community and documenting " "dissenting opinions." msgstr "" +"Los PEPs tienen como propósito ser los mecanismos primarios para proponer " +"nuevas y mayores capacidad, para recoger la opinión de la comunidad sobre un " +"tema, y para documentar las decisiones de diseño que se han hecho en Python. " +"El autor del PEP es el responsable de lograr consenso con la comunidad y " +"documentar las opiniones disidentes." #: ../Doc/glossary.rst:909 msgid "See :pep:`1`." -msgstr "" +msgstr "Vea :pep:`1`." #: ../Doc/glossary.rst:910 msgid "portion" -msgstr "" +msgstr "porción" #: ../Doc/glossary.rst:912 msgid "" "A set of files in a single directory (possibly stored in a zip file) that " "contribute to a namespace package, as defined in :pep:`420`." msgstr "" +"Un conjunto de archivos en un único directorio (posiblemente guardo en un " +"archivo comprimido zip) que contribuye a un espacio de nombres de paquete, " +"como está definido en :pep:`420`." #: ../Doc/glossary.rst:914 msgid "positional argument" -msgstr "" +msgstr "argumento posicional" #: ../Doc/glossary.rst:917 msgid "provisional API" -msgstr "" +msgstr "API provisoria" #: ../Doc/glossary.rst:919 msgid "" @@ -1578,6 +2156,14 @@ msgid "" "will not be made gratuitously -- they will occur only if serious fundamental " "flaws are uncovered that were missed prior to the inclusion of the API." msgstr "" +"Una API provisoria es aquella que deliberadamente fue excluida de las " +"garantías de compatibilidad hacia atrás de la biblioteca estándar. Aunque " +"no se esperan cambios fundamentales en dichas interfaces, como están " +"marcadas como provisionales, los cambios incompatibles hacia atrás (incluso " +"remover la misma interfaz) podrían ocurrir si los desarrolladores " +"principales lo estiman. Estos cambios no se hacen gratuitamente -- solo " +"ocurrirán si fallas fundamentales y serias son descubiertas que no fueron " +"vistas antes de la inclusión de la API." #: ../Doc/glossary.rst:928 msgid "" @@ -1585,6 +2171,10 @@ msgid "" "\"solution of last resort\" - every attempt will still be made to find a " "backwards compatible resolution to any identified problems." msgstr "" +"Incluso para APIs provisorias, los cambios incompatibles hacia atrás son " +"vistos como una \"solución de último recurso\" - se intentará todo para " +"encontrar una solución compatible hacia atrás para los problemas " +"identificados." #: ../Doc/glossary.rst:932 msgid "" @@ -1592,18 +2182,21 @@ msgid "" "without locking in problematic design errors for extended periods of time. " "See :pep:`411` for more details." msgstr "" +"Este proceso permite que la biblioteca estándar continúe evolucionando con " +"el tiempo, sin bloquearse por errores de diseño problemáticos por períodos " +"extensos de tiempo. Vea :pep`241` para más detalles." #: ../Doc/glossary.rst:935 msgid "provisional package" -msgstr "" +msgstr "paquete provisorio" #: ../Doc/glossary.rst:937 msgid "See :term:`provisional API`." -msgstr "" +msgstr "Vea :term:`provisional API`." #: ../Doc/glossary.rst:938 msgid "Python 3000" -msgstr "" +msgstr "Python 3000" #: ../Doc/glossary.rst:940 msgid "" @@ -1611,10 +2204,13 @@ msgid "" "of version 3 was something in the distant future.) This is also abbreviated " "\"Py3k\"." msgstr "" +"Apodo para la fecha de lanzamiento de Python 3.x (acuñada en un tiempo " +"cuando llegar a la versión 3 era algo distante en el futuro.) También se lo " +"abrevió como \"Py3k\"." #: ../Doc/glossary.rst:943 msgid "Pythonic" -msgstr "" +msgstr "Pythónico" #: ../Doc/glossary.rst:945 msgid "" @@ -1625,14 +2221,21 @@ msgid "" "languages don't have this type of construct, so people unfamiliar with " "Python sometimes use a numerical counter instead::" msgstr "" +"Una idea o pieza de código que sigue ajustadamente la convenciones " +"idiomáticas comunes del lenguaje Python, en vez de implementar código usando " +"conceptos comunes a otros lenguajes. Por ejemplo, una convención común en " +"Python es hacer bucles sobre todos los elementos de un iterable con la " +"sentencia :keyword:`for`. Muchos otros lenguajes no tienen este tipo de " +"construcción, así que los que no están familiarizados con Python podrían " +"usar contadores numéricos::" #: ../Doc/glossary.rst:955 msgid "As opposed to the cleaner, Pythonic method::" -msgstr "" +msgstr "En contraste, un método Pythónico más limpio::" #: ../Doc/glossary.rst:959 msgid "qualified name" -msgstr "" +msgstr "nombre calificado" #: ../Doc/glossary.rst:961 msgid "" @@ -1641,6 +2244,10 @@ msgid "" "top-level functions and classes, the qualified name is the same as the " "object's name::" msgstr "" +"Un nombre con puntos mostrando la ruta desde el alcance global del módulo a " +"la clase, función o método definido en dicho módulo, como se define en :pep:" +"`3155`. Para las funciones o clases de más alto nivel, el nombre calificado " +"es el igual al nombre del objeto::" #: ../Doc/glossary.rst:978 msgid "" @@ -1648,10 +2255,13 @@ msgid "" "dotted path to the module, including any parent packages, e.g. ``email.mime." "text``::" msgstr "" +"Cuando es usado para referirse a los módulos, *nombre completamente " +"calificado* significa la ruta con puntos completo al módulo, incluyendo " +"cualquier paquete padre, por ejemplo, `email.mime.text``::" #: ../Doc/glossary.rst:985 msgid "reference count" -msgstr "" +msgstr "contador de referencias" #: ../Doc/glossary.rst:987 msgid "" @@ -1662,24 +2272,32 @@ msgid "" "function that programmers can call to return the reference count for a " "particular object." msgstr "" +"El número de referencias a un objeto. Cuando el contador de referencias de " +"un objeto cae hasta cero, éste es desalojable. En conteo de referencias no " +"suele ser visible en el código de Python, pero es un elemento clave para la " +"implementación de :term:`CPython`. El módulo :mod:`sys` define la :func:" +"`~sys.getrefcount` que los programadores pueden emplear para retornar el " +"conteo de referencias de un objeto en particular." #: ../Doc/glossary.rst:993 msgid "regular package" -msgstr "" +msgstr "paquete regular" #: ../Doc/glossary.rst:995 msgid "" "A traditional :term:`package`, such as a directory containing an ``__init__." "py`` file." msgstr "" +"Un :term:`package` tradicional, como aquellos con un directorio conteniendo " +"el archivo ``__init__.py``." #: ../Doc/glossary.rst:998 msgid "See also :term:`namespace package`." -msgstr "" +msgstr "Vea también :term:`namespace package`." #: ../Doc/glossary.rst:999 msgid "__slots__" -msgstr "" +msgstr "__slots__" #: ../Doc/glossary.rst:1001 msgid "" @@ -1689,10 +2307,15 @@ msgid "" "cases where there are large numbers of instances in a memory-critical " "application." msgstr "" +"Es una declaración dentro de una clase que ahorra memoria pre declarando " +"espacio para las atributos de la instancia y eliminando diccionarios de la " +"instancia. Aunque es popular, esta técnica es algo dificultosa de lograr " +"correctamente y es mejor reservarla para los casos raros en los que existen " +"grandes cantidades de instancias en aplicaciones con uso crítico de memoria." #: ../Doc/glossary.rst:1006 msgid "sequence" -msgstr "" +msgstr "secuencia" #: ../Doc/glossary.rst:1008 msgid "" @@ -1704,6 +2327,14 @@ msgid "" "`__len__`, but is considered a mapping rather than a sequence because the " "lookups use arbitrary :term:`immutable` keys rather than integers." msgstr "" +"Un :term:`iterable` que logra un acceso eficiente a los elementos usando " +"índices enteros a través del método especial :meth:`__getitem__` y que " +"define un método :meth:`__len__` que devuelve la longitud de la secuencia. " +"Algunas de las secuencias incorporadas son :class:`list`, :class:`str`, :" +"class:`tuple`, y :class:`bytes`. Observe que :class:`dict` también soporta :" +"meth:`__getitem__` y :meth:`__len__`, pero es considerada un mapeo más que " +"una secuencia porque las búsquedas son por claves arbitraria :term:" +"`immutable` y no por enteros." #: ../Doc/glossary.rst:1017 msgid "" @@ -1713,20 +2344,27 @@ msgid "" "meth:`__reversed__`. Types that implement this expanded interface can be " "registered explicitly using :func:`~abc.register`." msgstr "" +"La clase base abstracta :class:`collections.abc.Sequence` define una " +"interfaz mucho más rica que va más allá de sólo :meth:`__getitem__` y :meth:" +"`__len__`, agregando :meth:`count`, :meth:`index`, :meth:`__contains__`, y :" +"meth:`__reversed__`. Los tipos que implementan esta interfaz expandida " +"pueden ser registrados explícitamente usando :func:`~abc.register`." #: ../Doc/glossary.rst:1024 msgid "single dispatch" -msgstr "" +msgstr "despacho único" #: ../Doc/glossary.rst:1026 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." msgstr "" +"Una forma de despacho de una :term:`generic function` donde la " +"implementación es elegida a partir del tipo de un sólo argumento." #: ../Doc/glossary.rst:1028 msgid "slice" -msgstr "" +msgstr "rebanada" #: ../Doc/glossary.rst:1030 msgid "" @@ -1735,10 +2373,14 @@ msgid "" "when several are given, such as in ``variable_name[1:3:5]``. The bracket " "(subscript) notation uses :class:`slice` objects internally." msgstr "" +"Un objeto que contiene una porción de una :term:`sequence`. Una rebanada es " +"creada usando la notación de suscripto, ``[]`` con dos puntos entre los " +"números cuando se ponen varios, como en ``nombre_variable[1:3:5]``. La " +"notación con corchete (suscrito) usa internamente objetos :class:`slice`." #: ../Doc/glossary.rst:1034 msgid "special method" -msgstr "" +msgstr "método especial" #: ../Doc/glossary.rst:1038 msgid "" @@ -1747,10 +2389,14 @@ msgid "" "with double underscores. Special methods are documented in :ref:" "`specialnames`." msgstr "" +"Un método que es llamado implícitamente por Python cuando ejecuta ciertas " +"operaciones en un tipo, como la adición. Estos métodos tienen nombres que " +"comienzan y terminan con doble barra baja. Los métodos especiales están " +"documentados en :ref:`specialnames`." #: ../Doc/glossary.rst:1042 msgid "statement" -msgstr "" +msgstr "sentencia" #: ../Doc/glossary.rst:1044 msgid "" @@ -1758,18 +2404,22 @@ msgid "" "an :term:`expression` or one of several constructs with a keyword, such as :" "keyword:`if`, :keyword:`while` or :keyword:`for`." msgstr "" +"Una sentencia es parte de un conjunto (un \"bloque\" de código). Una " +"sentencia tanto es una :term:`expression` como alguna de las varias " +"sintaxis usando una palabra clave, como :keyword:`if`, :keyword:`while` o :" +"keyword:`for`." #: ../Doc/glossary.rst:1047 msgid "text encoding" -msgstr "" +msgstr "codificación de texto" #: ../Doc/glossary.rst:1049 msgid "A codec which encodes Unicode strings to bytes." -msgstr "" +msgstr "Un códec que codifica las cadenas Unicode a bytes." #: ../Doc/glossary.rst:1050 msgid "text file" -msgstr "" +msgstr "archivo de texto" #: ../Doc/glossary.rst:1052 msgid "" @@ -1779,16 +2429,23 @@ msgid "" "text mode (``'r'`` or ``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, and " "instances of :class:`io.StringIO`." msgstr "" +"Un :term:`file object` capaz de leer y escribir objetos :class:`str`. " +"Frecuentemente, un archivo de texto también accede a un flujo de datos " +"binario y maneja automáticamente el :term:`text encoding`. Ejemplos de " +"archivos de texto que son abiertos en modo texto (``'r'`` o ``'w'``), :data:" +"`sys.stdin`, :data:`sys.stdout`, y las instancias de :class:`io.StringIO`." #: ../Doc/glossary.rst:1059 msgid "" "See also :term:`binary file` for a file object able to read and write :term:" "`bytes-like objects `." msgstr "" +"Vea también :term:`binary file` por objeto de archivos capaces de leer y " +"escribir :term:`objeto tipo binario `." #: ../Doc/glossary.rst:1061 msgid "triple-quoted string" -msgstr "" +msgstr "cadena con triple comilla" #: ../Doc/glossary.rst:1063 msgid "" @@ -1800,10 +2457,16 @@ msgid "" "continuation character, making them especially useful when writing " "docstrings." msgstr "" +"Una cadena que está enmarcada por tres instancias de comillas (\") o " +"apostrofes ('). Aunque no brindan ninguna funcionalidad que no está " +"disponible usando cadenas con comillas simple, son útiles por varias " +"razones. Permiten incluir comillas simples o dobles sin escapar dentro de " +"las cadenas y pueden abarcar múltiples líneas sin el uso de caracteres de " +"continuación, haciéndolas particularmente útiles para escribir docstrings." #: ../Doc/glossary.rst:1070 msgid "type" -msgstr "" +msgstr "tipo" #: ../Doc/glossary.rst:1072 msgid "" @@ -1811,38 +2474,46 @@ msgid "" "object has a type. An object's type is accessible as its :attr:`~instance." "__class__` attribute or can be retrieved with ``type(obj)``." msgstr "" +"El tipo de un objeto Python determina qué tipo de objeto es; cada objeto " +"tiene un tipo. El tipo de un objeto puede ser accedido por su atributo :" +"attr:`~instance.__class__` o puede ser conseguido usando ``type(obj)``." #: ../Doc/glossary.rst:1076 msgid "type alias" -msgstr "" +msgstr "alias de tipos" #: ../Doc/glossary.rst:1078 msgid "A synonym for a type, created by assigning the type to an identifier." msgstr "" +"Un sinónimo para un tipo, creado al asignar un tipo a un identificador." #: ../Doc/glossary.rst:1080 msgid "" "Type aliases are useful for simplifying :term:`type hints `. For " "example::" msgstr "" +"Los alias de tipos son útiles para simplificar los :term:`indicadores de " +"tipo `. Por ejemplo::" #: ../Doc/glossary.rst:1089 msgid "could be made more readable like this::" -msgstr "" +msgstr "podría ser más legible así::" #: ../Doc/glossary.rst:1098 ../Doc/glossary.rst:1112 msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." -msgstr "" +msgstr "Vea :mod:`typing` y :pep:`484`, que describen esta funcionalidad." #: ../Doc/glossary.rst:1099 msgid "type hint" -msgstr "" +msgstr "indicador de tipo" #: ../Doc/glossary.rst:1101 msgid "" "An :term:`annotation` that specifies the expected type for a variable, a " "class attribute, or a function parameter or return value." msgstr "" +"Una :term:`annotation` que especifica el tipo esperado para una variable, " +"un atributo de clase, un parámetro para una función o un valor de retorno." #: ../Doc/glossary.rst:1104 msgid "" @@ -1850,16 +2521,22 @@ msgid "" "to static type analysis tools, and aid IDEs with code completion and " "refactoring." msgstr "" +"Los indicadores de tipo son opcionales y no son obligados por Python pero " +"son útiles para las herramientas de análisis de tipos estático, y ayuda a " +"las IDE en el completado del código y la refactorización." #: ../Doc/glossary.rst:1108 msgid "" "Type hints of global variables, class attributes, and functions, but not " "local variables, can be accessed using :func:`typing.get_type_hints`." msgstr "" +"Los indicadores de tipo de las variables globales, atributos de clase, y " +"funciones, no de variables locales, pueden ser accedidos usando :func:" +"`typing.get_type_hints`." #: ../Doc/glossary.rst:1113 msgid "universal newlines" -msgstr "" +msgstr "saltos de líneas universales" #: ../Doc/glossary.rst:1115 msgid "" @@ -1869,39 +2546,53 @@ msgid "" "``'\\r'``. See :pep:`278` and :pep:`3116`, as well as :func:`bytes." "splitlines` for an additional use." msgstr "" +"Una manera de interpretar flujos de texto en la cual son reconocidos como " +"finales de línea todas siguientes formas: la convención de Unix para fin de " +"línea ``'\\n'``, la convención de Windows ``'\\r\\n'``, y la vieja " +"convención de Macintosh ``'\\r'``. Vea :pep:`278` y :pep:`3116`, además de:" +"func:`bytes.splitlines` para usos adicionales." #: ../Doc/glossary.rst:1120 msgid "variable annotation" -msgstr "" +msgstr "anotación de variable" #: ../Doc/glossary.rst:1122 msgid "An :term:`annotation` of a variable or a class attribute." -msgstr "" +msgstr "Una :term:`annotation` de una variable o un atributo de clase." #: ../Doc/glossary.rst:1124 msgid "" "When annotating a variable or a class attribute, assignment is optional::" msgstr "" +"Cuando se anota una variable o un atributo de clase, la asignación es " +"opcional::" #: ../Doc/glossary.rst:1129 msgid "" "Variable annotations are usually used for :term:`type hints `: " "for example this variable is expected to take :class:`int` values::" msgstr "" +"Las anotaciones de variables son frecuentemente usadas para :term:`type " +"hints `: por ejemplo, se espera que esta variable tenga valores " +"de clase :class:`int`::" #: ../Doc/glossary.rst:1135 msgid "Variable annotation syntax is explained in section :ref:`annassign`." msgstr "" +"La sintaxis de la anotación de variables está explicada en la sección :ref:" +"`annassign`." #: ../Doc/glossary.rst:1137 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " "this functionality." msgstr "" +"Vea :term:`function annotation`, :pep:`484` y :pep:`526`, los cuales " +"describen esta funcionalidad." #: ../Doc/glossary.rst:1139 msgid "virtual environment" -msgstr "" +msgstr "entorno virtual" #: ../Doc/glossary.rst:1141 msgid "" @@ -1910,24 +2601,30 @@ msgid "" "interfering with the behaviour of other Python applications running on the " "same system." msgstr "" +"Un entorno cooperativamente aislado de ejecución que permite a los usuarios " +"de Python y a las aplicaciones instalar y actualizar paquetes de " +"distribución de Python sin interferir con el comportamiento de otras " +"aplicaciones de Python en el mismo sistema." #: ../Doc/glossary.rst:1146 msgid "See also :mod:`venv`." -msgstr "" +msgstr "Vea también :mod:`venv`." #: ../Doc/glossary.rst:1147 msgid "virtual machine" -msgstr "" +msgstr "máquina virtual" #: ../Doc/glossary.rst:1149 msgid "" "A computer defined entirely in software. Python's virtual machine executes " "the :term:`bytecode` emitted by the bytecode compiler." msgstr "" +"Una computadora definida enteramente por software. La máquina virtual de " +"Python ejecuta el :term:`bytecode` generado por el compilador de bytecode." #: ../Doc/glossary.rst:1151 msgid "Zen of Python" -msgstr "" +msgstr "Zen de Python" #: ../Doc/glossary.rst:1153 msgid "" @@ -1935,3 +2632,62 @@ msgid "" "understanding and using the language. The listing can be found by typing " "\"``import this``\" at the interactive prompt." msgstr "" +"Un listado de los principios de diseño y la filosofía de Python que son " +"útiles para entender y usar el lenguaje. El listado puede encontrarse " +"ingresando \"``import this``\" en la consola interactiva." + +#~ msgid "" +#~ "Any tuple-like class whose indexable elements are also accessible using " +#~ "named attributes (for example, :func:`time.localtime` returns a tuple-" +#~ "like object where the *year* is accessible either with an index such as " +#~ "``t[0]`` or with a named attribute like ``t.tm_year``)." +#~ msgstr "" +#~ "Cualquier clase similar a una tupla cuyos elementos indexables son " +#~ "también accesibles usando atributos nombrados (por ejemplo, :func:`time." +#~ "localtime` retorna un objeto similar a tupla donde *year* es accesible " +#~ "tanto como ``t[0]`` o con un atributo nombrado como``t.tm_year``)." + +#~ msgid "" +#~ "A named tuple can be a built-in type such as :class:`time.struct_time`, " +#~ "or it can be created with a regular class definition. A full featured " +#~ "named tuple can also be created with the factory function :func:" +#~ "`collections.namedtuple`. The latter approach automatically provides " +#~ "extra features such as a self-documenting representation like " +#~ "``Employee(name='jones', title='programmer')``." +#~ msgstr "" +#~ "Una tupla nombrada puede ser un tipo incorporado como :class:`time." +#~ "struct_time`, o puede ser creada con una definición regular de clase. " +#~ "Una tupla nombrada con todas las características puede también ser creada " +#~ "con la función factoría :func:`collections.namedtuple`. Esta última " +#~ "forma automáticamente brinda capacidades extra como una representación " +#~ "autodocumentada como ``Employee(name='jones', title='programmer')``." + +#~ msgid "" +#~ ":dfn:`positional-only`: specifies an argument that can be supplied only " +#~ "by position. Python has no syntax for defining positional-only " +#~ "parameters. However, some built-in functions have positional-only " +#~ "parameters (e.g. :func:`abs`)." +#~ msgstr "" +#~ ":dfn:`sólo posicional`: especifica un argumento que puede ser pasado sólo " +#~ "por posición. Python no tiene una sintaxis específica para los " +#~ "parámetros que son sólo por posición. Sin embargo, algunas funciones " +#~ "tienen parámetros sólo por posición (por ejemplo :func:`abs`)." + +#~ msgid "struct sequence" +#~ msgstr "secuencias estructuradas" + +#~ msgid "" +#~ "A tuple with named elements. Struct sequences expose an interface similar " +#~ "to :term:`named tuple` in that elements can be accessed either by index " +#~ "or as an attribute. However, they do not have any of the named tuple " +#~ "methods like :meth:`~collections.somenamedtuple._make` or :meth:" +#~ "`~collections.somenamedtuple._asdict`. Examples of struct sequences " +#~ "include :data:`sys.float_info` and the return value of :func:`os.stat`." +#~ msgstr "" +#~ "Una tupla con elementos nombrados. Las secuencias estructuradas exponen " +#~ "una interfaz similar a :term:`named tuple` ya que los elementos pueden " +#~ "ser accedidos mediante un índice o como si fueran un atributo. Sin " +#~ "embargo, no tienen ninguno de los métodos de las tuplas nombradas como :" +#~ "meth:`~collections.somenamedtuple._make` o :meth:`~collections." +#~ "somenamedtuple._asdict`. Ejemplos de secuencias estructuradas son :data:" +#~ "`sys.float_info` y el valor de retorno de :func:`os.stat`." diff --git a/library/zlib.po b/library/zlib.po index 0af864f790..e45d7e612b 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -6,16 +6,17 @@ # Check https://github.com/PyCampES/python-docs-es/blob/3.7/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2020-05-06 22:27+0200\n" +"PO-Revision-Date: 2020-05-05 21:57-0300\n" +"Last-Translator: Carlos A. Crespo \n" +"Language: es\n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." "python.org)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -23,7 +24,7 @@ msgstr "" #: ../Doc/library/zlib.rst:2 msgid ":mod:`zlib` --- Compression compatible with :program:`gzip`" -msgstr "" +msgstr ":mod:`zlib` --- Compresión compatible con :program:`gzip`" #: ../Doc/library/zlib.rst:10 msgid "" @@ -34,6 +35,13 @@ msgid "" "earlier than 1.1.3; 1.1.3 has a security vulnerability, so we recommend " "using 1.1.4 or later." msgstr "" +"Para las aplicaciones que requieren compresión de datos, las funciones de " +"este módulo permiten la compresión y la descompresión, utilizando la " +"biblioteca zlib. La biblioteca zlib tiene su propia página de inicio en " +"http://www.zlib.net. Existen incompatibilidades conocidas entre el módulo " +"Python y las versiones de la biblioteca zlib anteriores a 1.1.3; 1.1.3 tiene " +"una vulnerabilidad de seguridad, por lo que recomendamos usar 1.1.4 o " +"posterior." #: ../Doc/library/zlib.rst:17 msgid "" @@ -42,18 +50,22 @@ msgid "" "consult the zlib manual at http://www.zlib.net/manual.html for authoritative " "information." msgstr "" +"Las funciones de zlib tienen muchas opciones y a menudo necesitan ser " +"utilizadas en un orden particular. Esta documentación no intenta cubrir " +"todas las permutaciones; consultar el manual de zlib en http://www.zlib.net/" +"manual.html para obtener información autorizada." #: ../Doc/library/zlib.rst:22 msgid "For reading and writing ``.gz`` files see the :mod:`gzip` module." -msgstr "" +msgstr "Para leer y escribir archivos ``.gz`` consultar el módulo :mod:`gzip`." #: ../Doc/library/zlib.rst:24 msgid "The available exception and functions in this module are:" -msgstr "" +msgstr "La excepción y las funciones disponibles en este módulo son:" #: ../Doc/library/zlib.rst:29 msgid "Exception raised on compression and decompression errors." -msgstr "" +msgstr "Excepción provocada en errores de compresión y descompresión." #: ../Doc/library/zlib.rst:34 msgid "" @@ -67,12 +79,25 @@ msgid "" "Since the algorithm is designed for use as a checksum algorithm, it is not " "suitable for use as a general hash algorithm." msgstr "" +"Calcula una suma de comprobación Adler-32 de *data*. (Una suma de " +"comprobación Adler-32 es casi tan confiable como un CRC32, pero se puede " +"calcular mucho más rápidamente). El resultado es un entero de 32 bits sin " +"signo. Si *value* está presente, se utiliza como el valor inicial de la suma " +"de comprobación; de lo contrario, se utiliza un valor predeterminado de 1. " +"Pasar *value* permite calcular una suma de comprobación en ejecución durante " +"la concatenación de varias entradas. El algoritmo no es criptográficamente " +"fuerte y no se debe utilizar para la autenticación o las firmas digitales. " +"Puesto que está diseñado como un algoritmo de suma de comprobación, no es " +"adecuado su uso como un algoritmo *hash* general." #: ../Doc/library/zlib.rst:44 msgid "" "Always returns an unsigned value. To generate the same numeric value across " "all Python versions and platforms, use ``adler32(data) & 0xffffffff``." msgstr "" +"Siempre devuelve un valor sin signo. Para generar el mismo valor numérico en " +"todas las versiones y plataformas de Python, utilice ``adler32(data) & " +"0xffffffff``." #: ../Doc/library/zlib.rst:52 msgid "" @@ -85,16 +110,27 @@ msgid "" "default compromise between speed and compression (currently equivalent to " "level 6). Raises the :exc:`error` exception if any error occurs." msgstr "" +"Comprime los bytes de *data*, devolviendo un objeto bytes que contiene datos " +"comprimidos. *level* es un entero de ``0`` a ``9`` o ``-1`` que controla el " +"nivel de compresión; ``1`` (Z_BEST_SPEED) es más rápido y produce la menor " +"compresión, ``9`` (Z_BEST_COMPRESSION) es más lento y produce mayor " +"compresión. ``0`` (Z_NO_COMPRESSION) no es compresión. El valor " +"predeterminado es ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION " +"representa un compromiso predeterminado entre velocidad y compresión " +"(actualmente equivalente al nivel 6). Genera la excepción :exc:`error` si se " +"produce algún error." #: ../Doc/library/zlib.rst:60 msgid "*level* can now be used as a keyword parameter." -msgstr "" +msgstr "*level* ahora se puede utilizar como parámetro de palabra clave." #: ../Doc/library/zlib.rst:66 msgid "" "Returns a compression object, to be used for compressing data streams that " "won't fit into memory at once." msgstr "" +"Devuelve un objeto de compresión, para ser usado para comprimir flujos de " +"datos que no caben en la memoria de una vez." #: ../Doc/library/zlib.rst:69 msgid "" @@ -106,12 +142,21 @@ msgid "" "default compromise between speed and compression (currently equivalent to " "level 6)." msgstr "" +"*level* es el nivel de compresión -- es un entero de `` 0`` a `` 9`` o `` " +"-1``. Un valor de `` 1`` (Z_BEST_SPEED) es el más rápido y produce la menor " +"compresión, mientras que un valor de `` 9`` (Z_BEST_COMPRESSION) es el más " +"lento y produce la mayor cantidad. ``0`` (Z_NO_COMPRESSION) no es " +"compresión. El valor predeterminado es ``-1`` (Z_DEFAULT_COMPRESSION). " +"Z_DEFAULT_COMPRESSION representa un compromiso predeterminado entre " +"velocidad y compresión (actualmente equivalente al nivel 6)." #: ../Doc/library/zlib.rst:76 msgid "" "*method* is the compression algorithm. Currently, the only supported value " "is :const:`DEFLATED`." msgstr "" +"*method* es el algoritmo de compresión. Actualmente, el único valor admitido " +"es :const:`DEFLATED`." #: ../Doc/library/zlib.rst:79 msgid "" @@ -120,6 +165,10 @@ msgid "" "trailer is included in the output. It can take several ranges of values, " "defaulting to ``15`` (MAX_WBITS):" msgstr "" +"El argumento *wbits* controla el tamaño del búfer histórico (o el \"tamaño " +"de ventana\") utilizado al comprimir datos, y si se incluye un encabezado y " +"un avance en la salida. Puede tomar varios rangos de valores, por defecto es " +"``15`` (MAX_WBITS):" #: ../Doc/library/zlib.rst:84 msgid "" @@ -128,12 +177,19 @@ msgid "" "expense of greater memory usage. The resulting output will include a zlib-" "specific header and trailer." msgstr "" +"+9 a +15: el logaritmo en base dos del tamaño de la ventana, que por lo " +"tanto oscila entre 512 y 32768. Los valores más grandes producen una mejor " +"compresión a expensas de un mayor uso de memoria. Como resultado se incluirá " +"un encabezado y un avance específicos de zlib." #: ../Doc/library/zlib.rst:89 msgid "" "−9 to −15: Uses the absolute value of *wbits* as the window size logarithm, " "while producing a raw output stream with no header or trailing checksum." msgstr "" +"−9 a −15: utiliza el valor absoluto de *wbits* como el logaritmo del tamaño " +"de la ventana, al tiempo que produce una secuencia de salida sin encabezado " +"ni suma de verificación." #: ../Doc/library/zlib.rst:93 msgid "" @@ -141,6 +197,9 @@ msgid "" "size logarithm, while including a basic :program:`gzip` header and trailing " "checksum in the output." msgstr "" +"+25 a +31 = 16 + (9 a 15): utiliza los 4 bits bajos del valor como el " +"logaritmo del tamaño de la ventana, mientras que incluye un encabezado " +"básico :program:`gzip` y suma de verificación en la salida." #: ../Doc/library/zlib.rst:97 msgid "" @@ -148,6 +207,10 @@ msgid "" "compression state. Valid values range from ``1`` to ``9``. Higher values use " "more memory, but are faster and produce smaller output." msgstr "" +"El argumento *memLevel* controla la cantidad de memoria utilizada para el " +"estado de compresión interna. Los valores posibles varían de ``1`` a ``9``. " +"Los valores más altos usan más memoria, pero son más rápidos y producen una " +"salida más pequeña." #: ../Doc/library/zlib.rst:101 msgid "" @@ -155,6 +218,10 @@ msgid "" "const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :" "const:`Z_RLE` (zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." msgstr "" +"*strategy* se usa para ajustar el algoritmo de compresión. Los valores " +"posibles son :const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILtered`, :const:" +"`Z_HUFFMAN_ONLY`, :const:`Z_RLE` (zlib 1.2.0.1) y :const:`Z_FIXED` (zlib " +"1.2.2.2)." #: ../Doc/library/zlib.rst:105 msgid "" @@ -163,10 +230,16 @@ msgid "" "to occur frequently in the data that is to be compressed. Those subsequences " "that are expected to be most common should come at the end of the dictionary." msgstr "" +"*zdict* es un diccionario de compresión predefinido. Este es una secuencia " +"de bytes (como un objeto: clase: `bytes`) que contiene subsecuencias que se " +"espera que ocurran con frecuencia en los datos que se van a comprimir. Las " +"subsecuencias que se espera que sean más comunes deben aparecer al final del " +"diccionario." #: ../Doc/library/zlib.rst:110 msgid "Added the *zdict* parameter and keyword argument support." msgstr "" +"Se agregó el parámetro *zdict* y el soporte de argumentos de palabras clave." #: ../Doc/library/zlib.rst:120 msgid "" @@ -179,12 +252,24 @@ msgid "" "Since the algorithm is designed for use as a checksum algorithm, it is not " "suitable for use as a general hash algorithm." msgstr "" +"Calcula un suma de comprobación CRC (comprobación de redundancia cíclica, " +"por sus siglas en inglés *Cyclic Redundancy Check*) de *datos*. El resultado " +"es un entero de 32 bits sin signo. Si *value* está presente, se usa como el " +"valor inicial de la suma de verificación; de lo contrario, se usa el valor " +"predeterminado 0. Pasar *value* permite calcular una suma de verificación en " +"ejecución sobre la concatenación de varias entradas. El algoritmo no es " +"criptográficamente fuerte y no debe usarse para autenticación o firmas " +"digitales. Dado que está diseñado para usarse como un algoritmo de suma de " +"verificación, no es adecuado su uso como algoritmo *hash* general." #: ../Doc/library/zlib.rst:129 msgid "" "Always returns an unsigned value. To generate the same numeric value across " "all Python versions and platforms, use ``crc32(data) & 0xffffffff``." msgstr "" +"Siempre devuelve un valor sin signo. Para generar el mismo valor numérico en " +"todas las versiones y plataformas de Python, use ``crc32 (data) & " +"0xffffffff``." #: ../Doc/library/zlib.rst:137 msgid "" @@ -194,6 +279,11 @@ msgid "" "initial size of the output buffer. Raises the :exc:`error` exception if any " "error occurs." msgstr "" +"Descomprime los bytes en *data*, devolviendo un objeto de bytes que contiene " +"los datos sin comprimir. El parámetro *wbits* depende del formato de *data*, " +"y se trata más adelante. Si se da *bufsize*, se usa como el tamaño inicial " +"del búfer de salida. Provoca la excepción :exc:`error` si se produce algún " +"error." #: ../Doc/library/zlib.rst:145 msgid "" @@ -201,36 +291,52 @@ msgid "" "size\"), and what header and trailer format is expected. It is similar to " "the parameter for :func:`compressobj`, but accepts more ranges of values:" msgstr "" +"El parámetro *wbits* controla el tamaño del búfer histórico (o el \"tamaño " +"de ventana\") y qué formato de encabezado y cola se espera. Es similar al " +"parámetro para :func:`compressobj`, pero acepta más rangos de valores:" #: ../Doc/library/zlib.rst:150 msgid "" "+8 to +15: The base-two logarithm of the window size. The input must " "include a zlib header and trailer." msgstr "" +"+8 a +15: el logaritmo en base dos del tamaño del búfer. La entrada debe " +"incluir encabezado y cola zlib." #: ../Doc/library/zlib.rst:153 msgid "" "0: Automatically determine the window size from the zlib header. Only " "supported since zlib 1.2.3.5." msgstr "" +"0: determina automáticamente el tamaño del búfer desde el encabezado zlib. " +"Solo se admite desde zlib 1.2.3.5." #: ../Doc/library/zlib.rst:156 msgid "" "−8 to −15: Uses the absolute value of *wbits* as the window size logarithm. " "The input must be a raw stream with no header or trailer." msgstr "" +"-8 to -15: utiliza el valor absoluto de *wbits* como el logaritmo del tamaño " +"del búfer. La entrada debe ser una transmisión sin formato, sin encabezado " +"ni cola." #: ../Doc/library/zlib.rst:159 msgid "" "+24 to +31 = 16 + (8 to 15): Uses the low 4 bits of the value as the window " "size logarithm. The input must include a gzip header and trailer." msgstr "" +"+24 a +31 = 16 + (8 a 15): utiliza los 4 bits de bajo orden del valor como " +"el logaritmo del tamaño del búfer. La entrada debe incluir encabezado y cola " +"gzip." #: ../Doc/library/zlib.rst:163 msgid "" "+40 to +47 = 32 + (8 to 15): Uses the low 4 bits of the value as the window " "size logarithm, and automatically accepts either the zlib or gzip format." msgstr "" +"+40 a +47 = 32 + (8 a 15): utiliza los 4 bits de bajo orden del valor como " +"el logaritmo del tamaño del búfer y acepta automáticamente el formato zlib o " +"gzip." #: ../Doc/library/zlib.rst:167 msgid "" @@ -240,6 +346,11 @@ msgid "" "to the largest window size and requires a zlib header and trailer to be " "included." msgstr "" +"Al descomprimir una secuencia, el tamaño del búfer no debe ser menor al " +"tamaño utilizado originalmente para comprimir la secuencia; el uso de un " +"valor demasiado pequeño puede generar una excepción :exc:`error`. El valor " +"predeterminado *wbits* corresponde al tamaño más grande de búfer y requiere " +"que se incluya encabezado y cola zlib." #: ../Doc/library/zlib.rst:173 msgid "" @@ -248,16 +359,23 @@ msgid "" "you don't have to get this value exactly right; tuning it will only save a " "few calls to :c:func:`malloc`." msgstr "" +"*bufsize* es el tamaño inicial del búfer utilizado para contener datos " +"descomprimidos. Si se requiere más espacio, el tamaño del búfer aumentará " +"según sea necesario, por lo que no hay que tomar este valor como exactamente " +"correcto; al ajustarlo solo se guardarán algunas llamadas en :c:func:" +"`malloc`." #: ../Doc/library/zlib.rst:178 msgid "*wbits* and *bufsize* can be used as keyword arguments." -msgstr "" +msgstr "*wbits* y *bufsize* se pueden usar como argumentos de palabra clave." #: ../Doc/library/zlib.rst:183 msgid "" "Returns a decompression object, to be used for decompressing data streams " "that won't fit into memory at once." msgstr "" +"Devuelve un objeto de descompresión, que se utilizará para descomprimir " +"flujos de datos que no caben en la memoria de una vez." #: ../Doc/library/zlib.rst:186 msgid "" @@ -265,6 +383,9 @@ msgid "" "\"window size\"), and what header and trailer format is expected. It has " "the same meaning as `described for decompress() <#decompress-wbits>`__." msgstr "" +"El parámetro *wbits* controla el tamaño del búfer histórico (o el \"tamaño " +"de ventana\") y qué formato de encabezado y cola se espera. Tiene el mismo " +"significado que `described for decompress() <#decompress-wbits>`__." #: ../Doc/library/zlib.rst:190 msgid "" @@ -272,6 +393,9 @@ msgid "" "provided, this must be the same dictionary as was used by the compressor " "that produced the data that is to be decompressed." msgstr "" +"El parámetro *zdict* especifica un diccionario de compresión predefinido. Si " +"se proporciona, este debe ser el mismo diccionario utilizado por el " +"compresor que produjo los datos que se van a descomprimir." #: ../Doc/library/zlib.rst:196 msgid "" @@ -279,14 +403,17 @@ msgid "" "modify its contents between the call to :func:`decompressobj` and the first " "call to the decompressor's ``decompress()`` method." msgstr "" +"Si *zdict* es un objeto mutable (como :class:`bytearray`), no se debe " +"modificar su contenido entre la llamada :func:`decompressobj` y la primera " +"llamada al método descompresor ``decompress()``." #: ../Doc/library/zlib.rst:200 msgid "Added the *zdict* parameter." -msgstr "" +msgstr "Se agregó el parámetro *zdict*." #: ../Doc/library/zlib.rst:204 msgid "Compression objects support the following methods:" -msgstr "" +msgstr "Los objetos de compresión admiten los siguientes métodos:" #: ../Doc/library/zlib.rst:209 msgid "" @@ -295,6 +422,10 @@ msgid "" "output produced by any preceding calls to the :meth:`compress` method. Some " "input may be kept in internal buffers for later processing." msgstr "" +"Comprime *data*, y devuelve al menos algunos de los datos comprimidos como " +"un objeto de bytes. Estos datos deben concatenarse a la salida producida por " +"cualquier llamada anterior al método :meth:`compress`. Algunas entradas " +"pueden mantenerse en un búfer interno para su posterior procesamiento." #: ../Doc/library/zlib.rst:217 msgid "" @@ -309,12 +440,25 @@ msgid "" "`compress` method cannot be called again; the only realistic action is to " "delete the object." msgstr "" +"Se procesan todas las entradas pendientes y se devuelve un objeto de bytes " +"que contiene la salida comprimida restante. El argumento *mode* acepta una " +"de las siguientes constantes :const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :" +"const:`Z_SYNC_FLUSH`, :const:`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib " +"1.2.3.4), o :const:`Z_FINISH`, por defecto :const:`Z_FINISH`. Excepto :const:" +"`Z_FINISH`, todas las constantes permiten comprimir más cadenas de bytes, " +"mientras que :const:`Z_FINISH` finaliza el flujo comprimido y evita la " +"compresión de más datos. Después de llamar a :meth:`flush` con *mode* " +"establecido en :const:`Z_FINISH`, el método :meth:`compress` no se puede " +"volver a llamar. La única acción posible es eliminar el objeto." #: ../Doc/library/zlib.rst:230 msgid "" "Returns a copy of the compression object. This can be used to efficiently " "compress a set of data that share a common initial prefix." msgstr "" +"Devuelve una copia del objeto compresor. Esto se puede utilizar para " +"comprimir eficientemente un conjunto de datos que comparten un prefijo " +"inicial común." #: ../Doc/library/zlib.rst:234 msgid "" @@ -325,6 +469,7 @@ msgstr "" #: ../Doc/library/zlib.rst:239 msgid "Decompression objects support the following methods and attributes:" msgstr "" +"Los objetos de descompresión admiten los siguientes métodos y atributos:" #: ../Doc/library/zlib.rst:244 msgid "" @@ -333,6 +478,11 @@ msgid "" "compression data is available. If the whole bytestring turned out to " "contain compressed data, this is ``b\"\"``, an empty bytes object." msgstr "" +"Un objeto de bytes que contiene todos los bytes restantes después de los " +"datos comprimidos. Es decir, esto permanece ``b \"\"`` hasta que esté " +"disponible el último byte que contiene datos de compresión. Si la cadena de " +"bytes completa resultó contener datos comprimidos, es ``b\"\"``, un objeto " +"de bytes vacío." #: ../Doc/library/zlib.rst:252 msgid "" @@ -342,18 +492,28 @@ msgid "" "must feed it (possibly with further data concatenated to it) back to a " "subsequent :meth:`decompress` method call in order to get correct output." msgstr "" +"Un objeto de bytes que contiene datos no procesados por la última llamada al " +"método :meth:`descompress` , debido a un desbordamiento del límite del búfer " +"de datos descomprimidos. Estos datos aún no han sido procesados por la " +"biblioteca zlib, por lo que debe enviarlos (potencialmente concatenando los " +"datos nuevamente) mediante una llamada al método :meth:`descompress` para " +"obtener la salida correcta." #: ../Doc/library/zlib.rst:261 msgid "" "A boolean indicating whether the end of the compressed data stream has been " "reached." msgstr "" +"Un valor booleano que indica si se ha alcanzado el final del flujo de datos " +"comprimido." #: ../Doc/library/zlib.rst:264 msgid "" "This makes it possible to distinguish between a properly-formed compressed " "stream, and an incomplete or truncated one." msgstr "" +"Esto hace posible distinguir entre un flujo comprimido correctamente y un " +"flujo incompleto." #: ../Doc/library/zlib.rst:272 msgid "" @@ -363,6 +523,11 @@ msgid "" "`decompress` method. Some of the input data may be preserved in internal " "buffers for later processing." msgstr "" +"Descomprime *data*, devolviendo un objeto de bytes que contiene al menos " +"parte de los datos descomprimidos en *string*. Estos datos deben " +"concatenarse con la salida producida por cualquier llamada anterior al " +"método :meth:`decompress`. Algunos de los datos de entrada pueden " +"conservarse en búfer internos para su posterior procesamiento." #: ../Doc/library/zlib.rst:278 msgid "" @@ -374,10 +539,17 @@ msgid "" "*max_length* is zero then the whole input is decompressed, and :attr:" "`unconsumed_tail` is empty." msgstr "" +"Si el parámetro opcional *max_length* no es cero, el valor de retorno no " +"será más largo que *max_length*. Esto puede significar que no toda la " +"entrada comprimida puede procesarse; y los datos no consumidos se " +"almacenarán en el atributo :attr:`unconsumed_tail`. Esta cadena de bytes " +"debe pasarse a una llamada posterior a :meth:`decompress` si la " +"descompresión ha de continuar. Si *max_length* es cero, toda la entrada se " +"descomprime y :attr: `unconsumed_tail` queda vacío." #: ../Doc/library/zlib.rst:285 msgid "*max_length* can be used as a keyword argument." -msgstr "" +msgstr "*max_length* puede ser utilizado como argumento de palabras clave." #: ../Doc/library/zlib.rst:291 msgid "" @@ -386,11 +558,17 @@ msgid "" "`decompress` method cannot be called again; the only realistic action is to " "delete the object." msgstr "" +"Se procesan todas las entradas pendientes y se devuelve un objeto de bytes " +"que contiene el resto de los datos que se descomprimirán. Después de llamar " +"a :meth:`flush`, no se puede volver a llamar al método :meth:`decompress`. " +"La única acción posible es eliminar el objeto." #: ../Doc/library/zlib.rst:296 msgid "" "The optional parameter *length* sets the initial size of the output buffer." msgstr "" +"El parámetro opcional *length* establece el tamaño inicial del búfer de " +"salida." #: ../Doc/library/zlib.rst:301 msgid "" @@ -398,6 +576,9 @@ msgid "" "state of the decompressor midway through the data stream in order to speed " "up random seeks into the stream at a future point." msgstr "" +"Devuelve una copia del objeto de descompresión. Puede usarlo para guardar el " +"estado de la descompresión actual, de modo que pueda regresar rápidamente a " +"esta ubicación más tarde." #: ../Doc/library/zlib.rst:306 msgid "" @@ -410,6 +591,8 @@ msgid "" "Information about the version of the zlib library in use is available " "through the following constants:" msgstr "" +"La información sobre la versión de la biblioteca zlib en uso está disponible " +"a través de las siguientes constantes:" #: ../Doc/library/zlib.rst:317 msgid "" @@ -417,34 +600,41 @@ msgid "" "module. This may be different from the zlib library actually used at " "runtime, which is available as :const:`ZLIB_RUNTIME_VERSION`." msgstr "" +"Versión de la biblioteca zlib utilizada al compilar el módulo. Puede ser " +"diferente de la biblioteca zlib utilizada actualmente por el sistema, que " +"puede ver en :const:`ZLIB_RUNTIME_VERSION`." #: ../Doc/library/zlib.rst:324 msgid "" "The version string of the zlib library actually loaded by the interpreter." msgstr "" +"Cadena que contiene la versión de la biblioteca zlib utilizada actualmente " +"por el intérprete." #: ../Doc/library/zlib.rst:332 msgid "Module :mod:`gzip`" -msgstr "" +msgstr "Módulo :mod:`gzip`" #: ../Doc/library/zlib.rst:332 msgid "Reading and writing :program:`gzip`\\ -format files." -msgstr "" +msgstr "Lectura y escritura de los archivos en formato :program:`gzip`." #: ../Doc/library/zlib.rst:335 msgid "http://www.zlib.net" -msgstr "" +msgstr "http://www.zlib.net" #: ../Doc/library/zlib.rst:335 msgid "The zlib library home page." -msgstr "" +msgstr "Página oficial de la biblioteca zlib." #: ../Doc/library/zlib.rst:338 msgid "http://www.zlib.net/manual.html" -msgstr "" +msgstr "http://www.zlib.net/manual.html" #: ../Doc/library/zlib.rst:338 msgid "" "The zlib manual explains the semantics and usage of the library's many " "functions." msgstr "" +"El manual de zlib explica la semántica y el uso de las numerosas funciones " +"de la biblioteca." diff --git a/scripts/create_issue.py b/scripts/create_issue.py new file mode 100644 index 0000000000..331eedd353 --- /dev/null +++ b/scripts/create_issue.py @@ -0,0 +1,27 @@ +import os +import sys + +import polib +from github import Github + + +if len(sys.argv) != 2: + print('Specify PO filename') + sys.exit(1) + +pofilename = sys.argv[1] +percentage = polib.pofile(pofilename).percent_translated() + +g = Github(os.environ.get('GITHUB_TOKEN')) + +repo = g.get_repo('PyCampES/python-docs-es') +# https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html#github.Repository.Repository.create_issue +issue = repo.create_issue( + title=f'Translate `{pofilename}`', + body=f'''This file is at {percentage}% translated. It needs to reach 100% translated. + +Please, comment here if you want this file to be assigned to you and an member will assign it to you as soon as possible, so you can start working on it. + +Remember to follow the steps in our [Contributing Guide](https://python-docs-es.readthedocs.io/es/3.7/CONTRIBUTING.html)''', +) +print(f'Issue created at {issue.html_url}') diff --git a/scripts/find_in_po.py b/scripts/find_in_po.py old mode 100644 new mode 100755 index d38d306cef..f0744aad19 --- a/scripts/find_in_po.py +++ b/scripts/find_in_po.py @@ -5,9 +5,9 @@ import os from textwrap import fill -import regex -import polib -from tabulate import tabulate +import regex # fades +import polib # fades +from tabulate import tabulate # fades def find_in_po(pattern): @@ -22,9 +22,10 @@ def find_in_po(pattern): pofile = polib.pofile(file) for entry in pofile: if entry.msgstr and regex.search(pattern, entry.msgid): + add_str = entry.msgstr + " ·filename: " + file + "·" table.append( [ - fill(entry.msgid, width=available_width), + fill(add_str, width=available_width), fill(entry.msgstr, width=available_width), ] ) diff --git a/sphinx.po b/sphinx.po index bb1c65b6a0..5cb1d604d2 100644 --- a/sphinx.po +++ b/sphinx.po @@ -1,6 +1,6 @@ # 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.7/TRANSLATORS to get the list of volunteers # @@ -9,16 +9,16 @@ msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: 2019-05-08 10:38-0400\n" +"PO-Revision-Date: 2020-05-06 09:33-0300\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Last-Translator: \n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." -"python.org) \n" +"python.org)\n" "Language: es_ES\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/tools/templates/customsourcelink.html:3 msgid "This Page" @@ -70,227 +70,231 @@ msgstr "empieza aquí" #: ../Doc/tools/templates/indexcontent.html:17 msgid "Library Reference" -msgstr "" +msgstr "Referencia de la Biblioteca" #: ../Doc/tools/templates/indexcontent.html:18 msgid "keep this under your pillow" -msgstr "" +msgstr "Mantén esto bajo tu almohada" #: ../Doc/tools/templates/indexcontent.html:19 msgid "Language Reference" -msgstr "" +msgstr "Referencia del lenguaje" #: ../Doc/tools/templates/indexcontent.html:20 msgid "describes syntax and language elements" -msgstr "" +msgstr "descripción de sintaxis y los elementos del lenguaje" #: ../Doc/tools/templates/indexcontent.html:21 msgid "Python Setup and Usage" -msgstr "" +msgstr "Configuración y uso de Python" #: ../Doc/tools/templates/indexcontent.html:22 msgid "how to use Python on different platforms" -msgstr "" +msgstr "como usar Python en diferentes plataformas" #: ../Doc/tools/templates/indexcontent.html:23 msgid "Python HOWTOs" -msgstr "" +msgstr "Cómos (*HOWTOs*) de Python" #: ../Doc/tools/templates/indexcontent.html:24 msgid "in-depth documents on specific topics" -msgstr "" +msgstr "documentos detallados sobre temas específicos" #: ../Doc/tools/templates/indexcontent.html:26 msgid "Installing Python Modules" -msgstr "" +msgstr "Instalación de módulos de Python" #: ../Doc/tools/templates/indexcontent.html:27 msgid "installing from the Python Package Index & other sources" -msgstr "" +msgstr "instalación desde el índice de paquete de Python (*Python Package Index*) & otras fuentes" #: ../Doc/tools/templates/indexcontent.html:28 msgid "Distributing Python Modules" -msgstr "" +msgstr "Distribuir módulos de Python" #: ../Doc/tools/templates/indexcontent.html:29 msgid "publishing modules for installation by others" -msgstr "" +msgstr "publicación de módulos para que otros los instalen" #: ../Doc/tools/templates/indexcontent.html:30 msgid "Extending and Embedding" -msgstr "" +msgstr "Extender e incrustar" #: ../Doc/tools/templates/indexcontent.html:31 msgid "tutorial for C/C++ programmers" -msgstr "" +msgstr "tutorial para programadores de C/C++" #: ../Doc/tools/templates/indexcontent.html:32 msgid "Python/C API" -msgstr "" +msgstr "Python/C API" #: ../Doc/tools/templates/indexcontent.html:33 msgid "reference for C/C++ programmers" -msgstr "" +msgstr "referencia para programadores de C/C++" #: ../Doc/tools/templates/indexcontent.html:34 msgid "FAQs" -msgstr "" +msgstr "Preguntas frecuentes" #: ../Doc/tools/templates/indexcontent.html:35 msgid "frequently asked questions (with answers!)" -msgstr "" +msgstr "preguntas frecuentes (¡con respuestas!)" #: ../Doc/tools/templates/indexcontent.html:39 msgid "Indices and tables:" -msgstr "" +msgstr "Índices y tablas:" #: ../Doc/tools/templates/indexcontent.html:42 msgid "Global Module Index" -msgstr "" +msgstr "Índice de Módulos Global" #: ../Doc/tools/templates/indexcontent.html:43 msgid "quick access to all modules" -msgstr "" +msgstr "acceso rápido a todos los módulos" #: ../Doc/tools/templates/indexcontent.html:44 msgid "General Index" -msgstr "" +msgstr "Índice general" #: ../Doc/tools/templates/indexcontent.html:45 msgid "all functions, classes, terms" -msgstr "" +msgstr "todas las funciones, clases, términos" #: ../Doc/tools/templates/indexcontent.html:46 msgid "Glossary" -msgstr "" +msgstr "Glosario" #: ../Doc/tools/templates/indexcontent.html:47 msgid "the most important terms explained" -msgstr "" +msgstr "los términos más importantes explicados" #: ../Doc/tools/templates/indexcontent.html:49 msgid "Search page" -msgstr "" +msgstr "Página de búsqueda" #: ../Doc/tools/templates/indexcontent.html:50 msgid "search this documentation" -msgstr "" +msgstr "buscar en esta documentación" #: ../Doc/tools/templates/indexcontent.html:51 msgid "Complete Table of Contents" -msgstr "" +msgstr "Tabla de contenidos completa" #: ../Doc/tools/templates/indexcontent.html:52 msgid "lists all sections and subsections" -msgstr "" +msgstr "listado de todas las secciones y subsecciones" #: ../Doc/tools/templates/indexcontent.html:56 msgid "Meta information:" -msgstr "" +msgstr "Meta información:" #: ../Doc/tools/templates/indexcontent.html:59 msgid "Reporting bugs" -msgstr "" +msgstr "Reportar errores (*bugs*)" #: ../Doc/tools/templates/indexcontent.html:60 msgid "About the documentation" -msgstr "" +msgstr "Acerca de la documentación" #: ../Doc/tools/templates/indexcontent.html:62 msgid "History and License of Python" -msgstr "" +msgstr "Historia y licencia de Python" #: ../Doc/tools/templates/indexcontent.html:63 #: ../Doc/tools/templates/layout.html:116 msgid "Copyright" -msgstr "" +msgstr "Copyright" #: ../Doc/tools/templates/indexsidebar.html:1 msgid "Download" -msgstr "" +msgstr "Descarga" #: ../Doc/tools/templates/indexsidebar.html:2 msgid "Download these documents" -msgstr "" +msgstr "Descarga esta documentación" #: ../Doc/tools/templates/indexsidebar.html:3 msgid "Docs by version" -msgstr "" +msgstr "Documentos por versión" #: ../Doc/tools/templates/indexsidebar.html:5 msgid "Python 3.8 (in development)" -msgstr "" +msgstr "Python 3.8 (en desarrollo)" #: ../Doc/tools/templates/indexsidebar.html:6 msgid "Python 3.7 (stable)" -msgstr "" +msgstr "Python 3.7 (estable)" #: ../Doc/tools/templates/indexsidebar.html:7 msgid "Python 3.6 (security-fixes)" -msgstr "" +msgstr "Python 3.6 (correcciones de seguridad)" #: ../Doc/tools/templates/indexsidebar.html:8 msgid "Python 3.5 (security-fixes)" -msgstr "" +msgstr "Python 3.5 (correcciones de seguridad)" #: ../Doc/tools/templates/indexsidebar.html:9 msgid "Python 2.7 (stable)" -msgstr "" +msgstr "Python 2.7 (estable)" #: ../Doc/tools/templates/indexsidebar.html:10 msgid "All versions" -msgstr "" +msgstr "Todas las versiones" #: ../Doc/tools/templates/indexsidebar.html:13 msgid "Other resources" -msgstr "" +msgstr "Otros recursos" #: ../Doc/tools/templates/indexsidebar.html:16 msgid "PEP Index" -msgstr "" +msgstr "Índice PEP" #: ../Doc/tools/templates/indexsidebar.html:17 msgid "Beginner's Guide" -msgstr "" +msgstr "Guía para principiantes" #: ../Doc/tools/templates/indexsidebar.html:18 msgid "Book List" -msgstr "" +msgstr "Listado de libros" #: ../Doc/tools/templates/indexsidebar.html:19 msgid "Audio/Visual Talks" -msgstr "" +msgstr "Charlas Audios/Videos" #: ../Doc/tools/templates/layout.html:10 msgid "Documentation " -msgstr "" +msgstr "Documentación " #: ../Doc/tools/templates/layout.html:21 msgid "Quick search" -msgstr "" +msgstr "Búsqueda rápida" #: ../Doc/tools/templates/layout.html:22 msgid "Go" -msgstr "" +msgstr "Ir" #: ../Doc/tools/templates/layout.html:118 msgid "The Python Software Foundation is a non-profit corporation." msgstr "" +"La PSF (*Python Software Fundation*) es una " +"organización sin fines de lucro." #: ../Doc/tools/templates/layout.html:119 msgid "Please donate." -msgstr "" +msgstr "Por favor, haga una donación." #: ../Doc/tools/templates/layout.html:121 msgid "Last updated on %(last_updated)s." -msgstr "" +msgstr "Última actualización el %(last_updated)." #: ../Doc/tools/templates/layout.html:122 msgid "Found a bug?" -msgstr "" +msgstr "¿Encontró un error?" #: ../Doc/tools/templates/layout.html:124 msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" +"Creado usando Sphinx " +"%(sphinx_version)s."