From 8cd20c72661a7b262cc6b1343e21f4e03922e75d Mon Sep 17 00:00:00 2001 From: Ignasi Fosch Date: Sat, 22 Aug 2020 12:46:26 +0200 Subject: [PATCH 1/2] WIP library/wsgiref.po --- dictionaries/library_wsgiref.txt | 1 + library/wsgiref.po | 443 +++++++++++++++++++++++++++++-- 2 files changed, 421 insertions(+), 23 deletions(-) create mode 100644 dictionaries/library_wsgiref.txt diff --git a/dictionaries/library_wsgiref.txt b/dictionaries/library_wsgiref.txt new file mode 100644 index 0000000000..75d240d7a0 --- /dev/null +++ b/dictionaries/library_wsgiref.txt @@ -0,0 +1 @@ +transcodifica diff --git a/library/wsgiref.po b/library/wsgiref.po index 55c9a75596..ea2c773333 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -5,6 +5,7 @@ # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers +# Ignasi Fosch , 2020. # #, fuzzy msgid "" @@ -12,17 +13,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: python-doc-es\n" +"PO-Revision-Date: 2020-08-23 07:54+0200\n" +"Language-Team: Spanish - Spain \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Last-Translator: Ignasi Fosch \n" +"Language: es_ES\n" +"X-Generator: Gtranslator 3.36.0\n" #: ../Doc/library/wsgiref.rst:2 msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" -msgstr "" +msgstr ":mod:`wsgiref` --- Utilidades WSGI e implementación de referencia" #: ../Doc/library/wsgiref.rst:12 msgid "" @@ -31,6 +35,10 @@ msgid "" "interface makes it easy to use an application that supports WSGI with a " "number of different web servers." msgstr "" +"La Interfaz de Pasarela del Servidor Web, o *Web Server Gateway Interface* " +"en inglés (WSGI), es una interfaz estándar entre el servidor web y " +"aplicaciones web escritas en Python. Con una interfaz estándar es más " +"sencillo usar una aplicación que soporte WSGI con diferentes servidores web." #: ../Doc/library/wsgiref.rst:17 msgid "" @@ -39,6 +47,10 @@ msgid "" "every detail of WSGI just to install a WSGI application or to write a web " "application using an existing framework." msgstr "" +"Sólo los autores de servidores y *frameworks* web necesitan conocer cada " +"detalle y caso límite del diseño WSGI. No es necesario conocer cada detalle " +"de WSGI sólo para instalar o escribir una aplicación web usando un " +"*framework* existente." #: ../Doc/library/wsgiref.rst:22 msgid "" @@ -49,16 +61,25 @@ msgid "" "WSGI applications, and a validation tool that checks WSGI servers and " "applications for conformance to the WSGI specification (:pep:`3333`)." msgstr "" +":mod:`wsgiref` es una implementación de referencia de la especificación WSGI " +"que se puede usar para añadir soporte WSGI a un servidor o *framework* web. " +"Este módulo provee utilidades para manipular las variables de entorno WSGI y " +"las cabeceras de respuesta, clases base para implementar servidores WSGI, un " +"servidor HTTP de demostración que sirve aplicaciones WSGI, y una herramienta " +"de validación que comprueba la compatibilidad de servidores y aplicaciones " +"WSGI en base a la especificación :pep:`3333`." #: ../Doc/library/wsgiref.rst:29 msgid "" "See `wsgi.readthedocs.io `_ for more " "information about WSGI, and links to tutorials and other resources." msgstr "" +"Vea `wsgi.readthedocs.io `_ para más " +"información sobre WSGI, así como enlaces a tutoriales y otros recursos." #: ../Doc/library/wsgiref.rst:36 msgid ":mod:`wsgiref.util` -- WSGI environment utilities" -msgstr "" +msgstr ":mod:`wsgiref.util` -- Utilidades de entorno WSGI" #: ../Doc/library/wsgiref.rst:42 msgid "" @@ -68,6 +89,11 @@ msgid "" "*environ* parameter expect a WSGI-compliant dictionary to be supplied; " "please see :pep:`3333` for a detailed specification." msgstr "" +"Este módulo ofrece una variedad de funciones útiles para trabajar con " +"entornos WSGI. Un entorno WSGI es un diccionario que contiene variables de " +"la petición HTTP, descrito en :pep:`3333`. Todas las funciones que aceptan " +"un parámetro *environ* esperan un diccionario compatible con WSGI. Por " +"favor, consulte la especificación detallada en :pep:`3333`." #: ../Doc/library/wsgiref.rst:51 msgid "" @@ -75,6 +101,9 @@ msgid "" "\", by checking for a ``HTTPS`` environment variable in the *environ* " "dictionary. The return value is a string." msgstr "" +"Retorna una deducción del valor para ``wsgi.url_scheme`` que debería ser " +"\"http\" o \"https\", buscando la variable de entorno ``HTTPS`` en el " +"diccionario *environ*. El valor de retorno es una cadena." #: ../Doc/library/wsgiref.rst:55 msgid "" @@ -84,6 +113,11 @@ msgid "" "a request is received via SSL. So, this function returns \"https\" if such " "a value is found, and \"http\" otherwise." msgstr "" +"Esta función es útil al crear un *gateway* que envuelve CGI o un protocolo " +"similar como FastCGI. Habitualmente, los servidores que ofrecen estos " +"protocolos incluyen una variable ``HTTPS`` con el valor \"1\", \"yes\", o " +"\"on\" cuando reciben una petición vía SSL. Así, esta función retorna \"https" +"\" si encuentra ese valor, o \"http\", en caso contrario." #: ../Doc/library/wsgiref.rst:64 msgid "" @@ -92,6 +126,10 @@ msgid "" "If *include_query* is false, the query string is not included in the " "resulting URI." msgstr "" +"Retorna la URI completa de la petición, opcionalmente la cadena de consulta, " +"usando el algoritmo encontrado en la sección \"URL Reconstruction\" de :pep:" +"`3333`. Si *include_query* es falso, la cadena de consulta no se incluye en " +"la URI resultante." #: ../Doc/library/wsgiref.rst:71 msgid "" @@ -99,6 +137,9 @@ msgid "" "``QUERY_STRING`` variables are ignored. The result is the base URI of the " "application object addressed by the request." msgstr "" +"Similar a :func:`request_uri` excepto que se ignoran las variables " +"``PATH_INFO`` y ``QUERY_STRING``. El resultado es la URI base del objeto de " +"aplicación indicado en la petición." #: ../Doc/library/wsgiref.rst:78 msgid "" @@ -106,12 +147,15 @@ msgid "" "name. The *environ* dictionary is *modified* in-place; use a copy if you " "need to keep the original ``PATH_INFO`` or ``SCRIPT_NAME`` intact." msgstr "" +"Desplaza un solo nombre de ``PATH_INFO`` a ``SCRIPT_NAME`` y retorna el " +"nombre. Se modifica el diccionario *environ*, por lo que se deberá usar una " +"copia si se quiere mantener ``PATH_INFO`` o ``SCRIPT_NAME`` intactos." #: ../Doc/library/wsgiref.rst:82 msgid "" "If there are no remaining path segments in ``PATH_INFO``, ``None`` is " "returned." -msgstr "" +msgstr "Si no quedan segmentos en ``PATH_INFO``, retornará ``None``." #: ../Doc/library/wsgiref.rst:84 msgid "" @@ -126,6 +170,15 @@ msgid "" "bar``. That is, ``SCRIPT_NAME`` will change from ``/foo`` to ``/foo/bar``, " "and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." msgstr "" +"Habitualmente, esta rutina se usa para procesar cada porción de la ruta del " +"URI de la petición, por ejemplo, para usar la ruta como una serie de claves " +"en un diccionario. Esta rutina modifica el entorno pasado para permitir " +"invocar otra aplicación WSGI que esté localizada en la URI objetivo. Por " +"ejemplo, si hay una aplicación WSGI en ``/foo``, y la ruta es ``/foo/bar/" +"baz``, y la aplicación WSGI en ``/foo`` llama a :func:`shift_path_info`, " +"recibirá la cadena \"bar\", y se actualizará el entorno para pasarlo a una " +"aplicación WSGI en ``/foo/bar``. Es decir, ``SCRIPT_NAME`` cambiará de ``/" +"foo`` a ``/foo/bar`` y ``PATH_INFO`` cambiará de ``/bar/baz`` a ``/baz``." #: ../Doc/library/wsgiref.rst:95 msgid "" @@ -136,10 +189,18 @@ msgid "" "difference between URIs ending in ``/x`` from ones ending in ``/x/`` when " "using this routine to do object traversal." msgstr "" +"Cuando ``PATH_INFO`` es únicamente \"/\", esta rutina retornará una cadena " +"vacía y añadirá una barra final a ``SCRIPT_NAME``, incluso cuando " +"normalmente los segmentos de ruta vacíos se ignoran y ``SCRIPT_NAME`` no " +"acaba con una barra. Este comportamiento es intencional, para asegurar que " +"una aplicación puede diferenciar entre URIs que acaban en ``/x`` de las que " +"acaban en ``/x/`` cuando usan esta rutina para atravesar objetos." #: ../Doc/library/wsgiref.rst:105 msgid "Update *environ* with trivial defaults for testing purposes." msgstr "" +"Actualiza *environ* con valores por defecto triviales con propósito de " +"prueba." #: ../Doc/library/wsgiref.rst:107 msgid "" @@ -149,6 +210,11 @@ msgid "" "*`` variables. It only supplies default values, and does not replace any " "existing settings for these variables." msgstr "" +"Esta rutina añade varios parámetros requeridos por WSGI, incluyendo " +"``HTTP_POST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO``, y todas las variables ``wsgi.*`` definidas " +"en :pep:`3333`. Sólo ofrece valores por defecto y no reemplaza ningún valor " +"existente en esas variables." #: ../Doc/library/wsgiref.rst:113 msgid "" @@ -156,23 +222,30 @@ msgid "" "and applications to set up dummy environments. It should NOT be used by " "actual WSGI servers or applications, since the data is fake!" msgstr "" +"Esta rutina pretende facilitar la preparación de entornos ficticios para " +"pruebas unitarias de servidores y aplicaciones WSGI. NO debería usarse en " +"servidores y aplicaciones WSGI reales, ya que los valores son ficticios!" #: ../Doc/library/wsgiref.rst:117 ../Doc/library/wsgiref.rst:164 #: ../Doc/library/wsgiref.rst:286 ../Doc/library/wsgiref.rst:418 msgid "Example usage::" -msgstr "" +msgstr "Ejemplo de uso::" #: ../Doc/library/wsgiref.rst:141 msgid "" "In addition to the environment functions above, the :mod:`wsgiref.util` " "module also provides these miscellaneous utilities:" msgstr "" +"Además de las funciones de entorno previas, el módulo :mod:`wsgiref.util` " +"también ofrece las siguientes utilidades varias:" #: ../Doc/library/wsgiref.rst:147 msgid "" "Return ``True`` if 'header_name' is an HTTP/1.1 \"Hop-by-Hop\" header, as " "defined by :rfc:`2616`." msgstr "" +"Retorna ``True`` si 'header_name' es una cabecera \"Hop-by-Hop\" HTTP/1.1, " +"como se define en :rfc:`2616`." #: ../Doc/library/wsgiref.rst:153 msgid "" @@ -184,6 +257,13 @@ msgid "" "to yield. When :meth:`read` returns an empty bytestring, iteration is ended " "and is not resumable." msgstr "" +"Un *wrapper* para convertir un objeto archivo en un :term:`iterator`. Los " +"objetos resultantes soportan los estilos de iteración :meth:`__getitem__` y :" +"meth:`__iter__`, por compatibilidad con Python 2.1 y Jython. A medida que se " +"itera sobre el objeto, el parámetro opcional *blksize* se pasará " +"repetidamente al método :meth:`read` del objeto archivo para obtener cadenas " +"de bytes para entregar. Cuando :meth:`read` retorna una cadena de bytes " +"vacía, la iteración finalizará y no se podrá reiniciar." #: ../Doc/library/wsgiref.rst:160 msgid "" @@ -191,20 +271,26 @@ msgid "" "a :meth:`close` method, and it will invoke the *filelike* object's :meth:" "`close` method when called." msgstr "" +"Si *filelike* tiene un método :meth:`close`, el objeto retornado también " +"tendrá un método :meth:`close` que llamará al método :meth:`close` del " +"objeto archivo subyacente." #: ../Doc/library/wsgiref.rst:176 msgid "Support for :meth:`sequence protocol <__getitem__>` is deprecated." -msgstr "" +msgstr "El soporte de :meth:`sequence protocol <__getitem__>` es obsoleto." #: ../Doc/library/wsgiref.rst:181 msgid ":mod:`wsgiref.headers` -- WSGI response header tools" msgstr "" +":mod:`wsgiref.headers` -- Herramientas para cabeceras de respuesta WSGI" #: ../Doc/library/wsgiref.rst:187 msgid "" "This module provides a single class, :class:`Headers`, for convenient " "manipulation of WSGI response headers using a mapping-like interface." msgstr "" +"Este módulo ofrece una sola clase, :class:`Headers`, para la manipulación de " +"cabeceras de respuesta WSGI usando un interfaz de mapa." #: ../Doc/library/wsgiref.rst:193 msgid "" @@ -212,6 +298,9 @@ msgid "" "header name/value tuples as described in :pep:`3333`. The default value of " "*headers* is an empty list." msgstr "" +"Crea un objeto con interfaz de mapa envolviendo *headers*, que debe ser una " +"lista de tuplas nombre/valor de las cabeceras, como se describe en :pep:" +"`3333`. El valor por defecto de *headers* es una lista vacía." #: ../Doc/library/wsgiref.rst:197 msgid "" @@ -224,6 +313,15 @@ msgid "" "wrapped header list. Headers' existing order is generally maintained, with " "new headers added to the end of the wrapped list." msgstr "" +"Los objetos :class:`Headers` soportan las operaciones de mapa habituales " +"incluyendo :meth:`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:" +"`setdefault`, :meth:`__delitem__` y :meth:`__contains__`. Para cada uno de " +"esos métodos, la clave es el nombre de la cabecera, sin distinción entre " +"mayúsculas y minúsculas, y el valor es el primer valor asociado con el " +"nombre de la cabecera. Establecer una cabecera borra cualquier valor " +"previamente existente y añade un nuevo valor al final de la lista de " +"cabeceras. En general, el orden de las cabeceras existentes se mantiene, con " +"las nuevas cabeceras añadidas al final de la lista de cabeceras." #: ../Doc/library/wsgiref.rst:206 msgid "" @@ -232,6 +330,11 @@ msgid "" "nonexistent header just returns ``None``, and deleting a nonexistent header " "does nothing." msgstr "" +"A diferencia de un diccionario, los objetos :class:`Headers` no lanzan un " +"error cuando se intenta obtener o eliminar una clave que no está en la lista " +"de cabeceras subyacente. Al intentar obtener una clave inexistente " +"simplemente se retornará ``None``, mientras que el intento de eliminación de " +"una cabecera inexistente simplemente no tendrá ningún efecto." #: ../Doc/library/wsgiref.rst:211 msgid "" @@ -243,6 +346,13 @@ msgid "" "In fact, the :meth:`items` method just returns a copy of the wrapped header " "list." msgstr "" +"Los objetos :class:`Headers` también soportan los métodos :meth:`keys`, :" +"meth:`values`, y :meth:`items`. Las listas retornadas por :meth:`keys` y :" +"meth:`items` pueden incluir la misma clave más de una vez si se trata de una " +"cabecera de valor múltiple. La ``len()`` de un objeto :class:`Headers` es la " +"misma que la longitud de sus :meth:`items`, que es la misma que la longitud " +"de la lista de cabeceras envuelta. De hecho, el método :meth:`items` " +"simplemente retorna una copia de la lista de cabeceras." #: ../Doc/library/wsgiref.rst:218 msgid "" @@ -252,6 +362,11 @@ msgid "" "line is terminated by a carriage return and line feed, and the bytestring is " "terminated with a blank line." msgstr "" +"La llamada ``bytes()`` sobre un objeto :class:`Headers` retorna una cadena " +"de bytes formateada y lista para su transmisión como cabeceras de respuesta " +"HTTP. Cada cabecera se ubica en una línea con su valor separado por dos " +"puntos y un espacio. Cada línea finaliza con un salto de carro y un salto de " +"línea, y la cadena de bytes finaliza con una línea en blanco." #: ../Doc/library/wsgiref.rst:224 msgid "" @@ -259,10 +374,14 @@ msgid "" "`Headers` objects also have the following methods for querying and adding " "multi-valued headers, and for adding headers with MIME parameters:" msgstr "" +"Además de la interfaz de mapa y las funcionalidades de formateado, los " +"objetos :class:`Headers` también ofrecen los siguientes métodos para " +"consultar y añadir cabeceras con múltiples valores, y para añadir cabeceras " +"con parámetros MIME:" #: ../Doc/library/wsgiref.rst:231 msgid "Return a list of all the values for the named header." -msgstr "" +msgstr "Retorna una lista de todos los valores para la cabecera indicada." #: ../Doc/library/wsgiref.rst:233 msgid "" @@ -271,12 +390,19 @@ msgid "" "fields deleted and re-inserted are always appended to the header list. If " "no fields exist with the given name, returns an empty list." msgstr "" +"La lista retornada tendrá los valores ordenados según la lista de cabeceras " +"original o según se hayan añadido a esta instancia, y podrá contener " +"duplicados. Cualquier campo eliminado y añadido de nuevo estará al final de " +"la lista. Si no existen campos con el nombre indicado, retornará una lista " +"vacía." #: ../Doc/library/wsgiref.rst:241 msgid "" "Add a (possibly multi-valued) header, with optional MIME parameters " "specified via keyword arguments." msgstr "" +"Añade una cabecera, posiblemente de valor múltiple, con los parámetros MIME " +"opcionales especificados vía argumentos por palabra clave." #: ../Doc/library/wsgiref.rst:244 msgid "" @@ -289,18 +415,27 @@ msgid "" "only the parameter name is added. (This is used for MIME parameters without " "a value.) Example usage::" msgstr "" +"*name* es el nombre de la cabecera a añadir. Se pueden usar argumentos por " +"palabra clave para establecer parámetros MIME para la cabecera. Cada " +"parámetro debe ser una cadena o ``None``. Todos los guiones bajos en los " +"nombres de parámetros se convierten en guiones, dado que los guiones son " +"inválidos en identificadores Python y muchos parámetros MIME incluyen " +"guiones. Si el valor del parámetro es una cadena, se añade a los parámetros " +"del valor de la cabecera con la forma ``nombre=valor``. Si es ``None``, sólo " +"se añade el nombre del parámetro, para reflejar parámetros MIME sin valor. " +"Ejemplo de uso::" #: ../Doc/library/wsgiref.rst:254 msgid "The above will add a header that looks like this::" -msgstr "" +msgstr "El código anterior añadirá una cabecera como la siguiente::" #: ../Doc/library/wsgiref.rst:259 msgid "*headers* parameter is optional." -msgstr "" +msgstr "El parámetro *headers* es opcional." #: ../Doc/library/wsgiref.rst:264 msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" -msgstr "" +msgstr ":mod:`wsgiref.simple_server`-- Un servidor HTTP WSGI simple" #: ../Doc/library/wsgiref.rst:270 msgid "" @@ -312,6 +447,13 @@ msgid "" "request. (E.g., using the :func:`shift_path_info` function from :mod:" "`wsgiref.util`.)" msgstr "" +"Este módulo implementa un servidor HTTP simple, basado en :mod:`http." +"server`, que sirve aplicaciones WSGI. Cada instancia del servidor sirve una " +"aplicación WSGI simple en una máquina y puerto dados. Si se quiere servir " +"múltiples aplicaciones en una misma máquina y puerto, se deberá crear una " +"aplicación WSGI que analiza ``PATH_INFO`` para seleccionar qué aplicación " +"invocar para cada petición. Por ejemplo, usando la función :func:" +"`shift_path_info` de :mod:`wsgiref.util`." #: ../Doc/library/wsgiref.rst:281 msgid "" @@ -321,6 +463,10 @@ msgid "" "*handler_class*. *app* must be a WSGI application object, as defined by :" "pep:`3333`." msgstr "" +"Crea un nuevo servidor WSGI que sirve en *host* y *port*, aceptando " +"conexiones para *app*. El valor de retorno es una instancia de " +"*server_class* y procesará peticiones usando *handler_class*. *app* debe ser " +"un objeto aplicación WSGI, como se define en :pep:`3333`." #: ../Doc/library/wsgiref.rst:302 msgid "" @@ -330,6 +476,11 @@ msgid "" "WSGI server (such as :mod:`wsgiref.simple_server`) is able to run a simple " "WSGI application correctly." msgstr "" +"Esta función es una pequeña pero completa aplicación WSGI que devuelve una " +"página de texto con el mensaje \"Hello world!\" y una lista de pares clave/" +"valor obtenida del parámetro *environ*. Es útil para verificar que un " +"servidor WSGI, como :mod:`wsgiref.simple_server`, es capaz de ejecutar una " +"aplicación WSGI simple correctamente." #: ../Doc/library/wsgiref.rst:311 msgid "" @@ -337,12 +488,18 @@ msgid "" "port)`` tuple, and *RequestHandlerClass* should be the subclass of :class:" "`http.server.BaseHTTPRequestHandler` that will be used to process requests." msgstr "" +"Crea una instancia de :class:`WSGIServer`. *server_address* debe ser una " +"tupla ``(máquina,puerto)`` y (RequestHandlerClass* debe ser la subclase de :" +"class:`http.server.BaseHTTPRequestHandler` que se usará para procesar " +"peticiones." #: ../Doc/library/wsgiref.rst:316 msgid "" "You do not normally need to call this constructor, as the :func:" "`make_server` function can handle all the details for you." msgstr "" +"Normalmente, no es necesario invocar este constructor, ya que la función :" +"func:`make_server` puede gestionar todos los detalles." #: ../Doc/library/wsgiref.rst:319 msgid "" @@ -350,16 +507,22 @@ msgid "" "of its methods (such as :meth:`serve_forever` and :meth:`handle_request`) " "are available. :class:`WSGIServer` also provides these WSGI-specific methods:" msgstr "" +":class:`WSGIServer` es una subclase de :class:`http.server.HTTPServer`, por " +"lo que todos sus métodos, como :meth:`serve_forever` y :meth:" +"`handle_request`, están disponibles. :class:`WSGIServer` también ofrece los " +"siguientes métodos específicos de WSGI:" #: ../Doc/library/wsgiref.rst:326 msgid "" "Sets the callable *application* as the WSGI application that will receive " "requests." msgstr "" +"Establece el invocable *application* como la aplicación WSGI que recibirá " +"las peticiones." #: ../Doc/library/wsgiref.rst:332 msgid "Returns the currently-set application callable." -msgstr "" +msgstr "Retorna la aplicación invocable actual." #: ../Doc/library/wsgiref.rst:334 msgid "" @@ -367,6 +530,9 @@ msgid "" "`set_app` is normally called by :func:`make_server`, and the :meth:`get_app` " "exists mainly for the benefit of request handler instances." msgstr "" +"Habitualmente, sin embargo, no es necesario usar estos métodos adicionales, " +"ya que :meth:`set_app` se llama desde :func:`make_server` y :meth:`get_app` " +"existe sobretodo para el beneficio de instancias del gestor de peticiones." #: ../Doc/library/wsgiref.rst:341 msgid "" @@ -374,6 +540,9 @@ msgid "" "*client_address* (a ``(host,port)`` tuple), and *server* (:class:" "`WSGIServer` instance)." msgstr "" +"Crea un gestor HTTP para la *request* indicada, es decir un socket, " +"*client_address, una tupla ``(máquina,puerto)``, y *server*, una instancia :" +"class:`WSGIServer`." #: ../Doc/library/wsgiref.rst:344 msgid "" @@ -383,6 +552,11 @@ msgid "" "`make_server` function. Some possibly relevant methods for overriding in " "subclasses:" msgstr "" +"No es necesario crear instancias de esta clase directamente. Se crean " +"automáticamente bajo demanda por objetos :class:`WSGIServer`. Sin embargo, " +"se pueden crear subclases de esta clase y proveerlas como *handler_class* a " +"la función :func:`make_server`. Algunos métodos posiblemente relevantes para " +"sobreescribir en estas subclases:" #: ../Doc/library/wsgiref.rst:353 msgid "" @@ -393,12 +567,20 @@ msgid "" "return a new dictionary containing all of the relevant CGI environment " "variables as specified in :pep:`3333`." msgstr "" +"Retorna un diccionario con el entorno WSGI para una petición. La " +"implementación por defecto copia el contenido del diccionario atributo :attr:" +"`base_environ` del objeto :class:`WSGIserver` y añade varias cabeceras " +"derivadas de la petición HTTP. Cada llamada a este método debe retornar un " +"nuevo diccionario con todas las variables de entorno CGI relevante " +"especificadas en :pep:`3333`." #: ../Doc/library/wsgiref.rst:363 msgid "" "Return the object that should be used as the ``wsgi.errors`` stream. The " "default implementation just returns ``sys.stderr``." msgstr "" +"Retorna el objeto que debe usarse como el flujo de ``wsgi.errors``. La " +"implementación por defecto devuelve simplemente ``sys.stderr``." #: ../Doc/library/wsgiref.rst:369 msgid "" @@ -406,10 +588,13 @@ msgid "" "instance using a :mod:`wsgiref.handlers` class to implement the actual WSGI " "application interface." msgstr "" +"Procesa la petición HTTP. La implementación por defecto crea una instancia " +"gestora usando una clase :mod:`wsgiref.handlers` para implementar la " +"interfaz de aplicación WSGI real." #: ../Doc/library/wsgiref.rst:375 msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" -msgstr "" +msgstr ":mod:`wsgiref.validate` --- Verificador de compatibilidad WSGI" #: ../Doc/library/wsgiref.rst:381 msgid "" @@ -420,6 +605,12 @@ msgid "" "gateway and a WSGI application object, to check both sides for protocol " "conformance." msgstr "" +"Al crear nuevos objetos aplicación WSGI, *frameworks*, servidores, o " +"*middleware*, puede ser útil validar la compatibilidad del nuevo código " +"usando :mod:`wsgiref.validate`. Este módulo ofrece una función que crea " +"objetos de aplicación WSGI que validan las comunicaciones entre un servidor " +"o *gateway* WSGI y un objeto de aplicación WSGI, para comprobar la " +"compatibilidad del protocolo en ambos lados." #: ../Doc/library/wsgiref.rst:388 #, python-format @@ -430,12 +621,18 @@ msgid "" "virtually certain that either the server or application is not " "100% compliant." msgstr "" +"Hay que observar que esta utilidad no garantiza compatibilidad completa con :" +"pep:`3333`. La ausencia de errores usando este módulo no implica que no " +"existan errores. Sin embargo, si este módulo produce errores, implica que o " +"el servidor o la aplicación no son 100% compatibles." #: ../Doc/library/wsgiref.rst:393 msgid "" "This module is based on the :mod:`paste.lint` module from Ian Bicking's " "\"Python Paste\" library." msgstr "" +"Este módulo se basa en el módulo :mod:`paste.lint` de la librería *Python " +"Paste* de *Ian Bicking*." #: ../Doc/library/wsgiref.rst:399 msgid "" @@ -444,6 +641,10 @@ msgid "" "will check that both the *application* and the server invoking it are " "conforming to the WSGI specification and to :rfc:`2616`." msgstr "" +"Envuelve *application* y retorna un nuevo objeto de aplicación WSGI. La " +"aplicación retornada reenviará todas las peticiones a la *application* " +"original y comprobará que tanto la *application* como el servidor que la " +"llama son compatibles con la especificación WSGI y con :rfc:`2616`." #: ../Doc/library/wsgiref.rst:404 msgid "" @@ -455,6 +656,13 @@ msgid "" "occurred, and dump the traceback to ``sys.stderr`` or some other error " "stream." msgstr "" +"Cualquier incompatibilidad detectada provocará el lanzamiento de un :exc:" +"`AssertionError`. Nótese que, sin embargo, cómo se gestionan estos errores " +"depende del servidor. Por ejemplo, :mod:`wsgiref.simple_server` y otros " +"servidores basados en :mod:`wsgiref.handlers`, que no sobreescriben los " +"métodos de gestión de errores para hacer otras cosas, simplemente escribirán " +"un mensaje de que el error ha ocurrido y volcarán la traza de error en ``sys." +"stderr`` o algún otro flujo de errores." #: ../Doc/library/wsgiref.rst:411 msgid "" @@ -465,10 +673,16 @@ msgid "" "to ``sys.stderr`` (*not* ``wsgi.errors``, unless they happen to be the same " "object)." msgstr "" +"Este *wrapper* puede también generar salidas usando el módulo :mod:" +"`warnings` para señalar comportamientos que son cuestionables pero que no " +"están realmente prohibidos por :pep:`3333`. A no ser que se suprima esta " +"salida usando opciones de línea de comandos de Python o la API de :mod:" +"`warnings`, cualquier aviso se escribirá en ``sys.stderr``, en lugar de en " +"``wsgi.errors``, aunque sean el mismo objeto." #: ../Doc/library/wsgiref.rst:443 msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" -msgstr "" +msgstr ":mod:`wsgiref.handlers` -- Clases base servidor/*gateway*" #: ../Doc/library/wsgiref.rst:449 msgid "" @@ -477,6 +691,10 @@ msgid "" "a WSGI application, as long as they are given a CGI-like environment, along " "with input, output, and error streams." msgstr "" +"Este módulo ofrece clases gestoras base para implementar servidores y " +"*gateways* WSGI. Estas clases base gestionan la mayoría del trabajo de " +"comunicarse con una aplicación WSGI, siempre que se les dé un entorno CGI, " +"junto con una entrada, una salida, y un flujo de errores." #: ../Doc/library/wsgiref.rst:457 msgid "" @@ -485,6 +703,11 @@ msgid "" "run it as a CGI script. Simply invoke ``CGIHandler().run(app)``, where " "``app`` is the WSGI application object you wish to invoke." msgstr "" +"Invocación basada en CGI vía ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` y " +"``os.environ``. Esto es útil cuando se quiere ejecutar una aplicación WSGI " +"como un script CGI. Simplemente es necesario invocar ``CGIHandler()." +"run(app)``, donde ``app`` es el objeto de aplicación WSGI que se quiere " +"invocar." #: ../Doc/library/wsgiref.rst:462 msgid "" @@ -493,6 +716,10 @@ msgid "" "to true, and always uses :mod:`sys` and :mod:`os` to obtain the necessary " "CGI streams and environment." msgstr "" +"Esta clase es una subclase de :class:`BaseCGIHandler` que establece ``wsgi." +"run_once`` a cierto, ``wsgi.multithread`` a falso, y ``wsgi.multiprocess`` a " +"cierto, y siempre usa :mod:`sys` y :mod:`os` para obtener los flujos y " +"entorno CGI necesarios." #: ../Doc/library/wsgiref.rst:470 msgid "" @@ -500,6 +727,10 @@ msgid "" "Microsoft's IIS web server, without having set the config allowPathInfo " "option (IIS>=7) or metabase allowPathInfoForScriptMappings (IIS<7)." msgstr "" +"Una alternativa especializada a :class:`CGIHandler`, para usar al desplegar " +"en servidores web Microsoft IIS, sin establecer la opción de configuración " +"``allowPathInfo`` (IIS>=7) o la meta-base ``allowPathInfoForScriptMappings`` " +"(IIS<7)." #: ../Doc/library/wsgiref.rst:474 msgid "" @@ -507,6 +738,9 @@ msgid "" "the front, causing problems for WSGI applications that wish to implement " "routing. This handler strips any such duplicated path." msgstr "" +"Por defecto, IIS entrega ``PATH_INFO`` que duplica ``SCRIPT_NAME`` al " +"principio, causando problemas con aplicaciones WSGI que implementan " +"enrutamiento. Este gestor elimina las partes duplicadas de la ruta." #: ../Doc/library/wsgiref.rst:478 msgid "" @@ -518,6 +752,14 @@ msgid "" "IIS<7 is almost never deployed with the fix. (Even IIS7 rarely uses it " "because there is still no UI for it.)" msgstr "" +"IIS puede configurarse para pasar el ``PATH_INFO`` correctamente, pero esto " +"cause otro bug por el que ``PATH_TRANSLATED`` es incorrecto. " +"Afortunadamente, esta variable raramente se usa y no está garantizada por " +"WSGI. En IIS<7, sin embargo, la configuración se puede hacer a nivel de " +"virtual host, afectando a todos los mapas de scripts, muchos de los cuales " +"se rompen cuando se exponen al bug de ``PATH_TRANSLATED``. Por esa razón, " +"IIS<7 casi nunca se despliega con la solución. (Incluso IIS7 rara vez lo " +"usa, al no haber interfaz de usuario para él.)" #: ../Doc/library/wsgiref.rst:486 msgid "" @@ -526,6 +768,10 @@ msgid "" "`CGIHandler`, i.e., by calling ``IISCGIHandler().run(app)``, where ``app`` " "is the WSGI application object you wish to invoke." msgstr "" +"No hay forma de que el código CGI detecte cuándo la opción está activada, " +"por lo que se ofrece una clase gestora separada. Se usa de la misma forma " +"que :class:`CGIHandler`, p.e. llamando a ``IISCGIHandler().run(app)``, donde " +"``app`` es el objeto aplicación WSGI que se desea invocar." #: ../Doc/library/wsgiref.rst:496 msgid "" @@ -535,6 +781,11 @@ msgid "" "multithread`` and ``wsgi.multiprocess`` flags for any applications run by " "the handler instance." msgstr "" +"Similar a :class:`CGIHandler`, pero en lugar de usar los módulos :mod:`sys` " +"y :mod:`os`, el entorno CGI y los flujos de E/S se especifican " +"explícitamente. Los valores *multithread* y *multiprocess* se pasan a las " +"aplicaciones ejecutadas por la instancia de gestión como ``wsgi." +"multithread`` y ``wsgi.multiprocess``." #: ../Doc/library/wsgiref.rst:502 msgid "" @@ -544,6 +795,12 @@ msgid "" "``Status:`` header to send an HTTP status, you probably want to subclass " "this instead of :class:`SimpleHandler`." msgstr "" +"Esta clase es una subclase de :class:`SimpleHandler` para usarse con " +"servidores HTTP que no reciben peticiones directas de Internet, *HTTP origin " +"servers*. Al escribir una implementación de un protocolo de pasarela, como " +"CGI, FastCGI, SCGI, etcétera, que use una cabecera ``Status:`` para enviar " +"un estado HTTP, probablemente sea adecuado heredar de esta clase, en lugar " +"de :class:`SimpleHandler`." #: ../Doc/library/wsgiref.rst:511 msgid "" @@ -551,6 +808,10 @@ msgid "" "servers. If you are writing an HTTP server implementation, you will " "probably want to subclass this instead of :class:`BaseCGIHandler`." msgstr "" +"Similar a :class:`BaseCGIHandler` pero diseñada para usarse con servidores " +"que reciban peticiones directamente de Internet, o *HTTP origin servers*. Al " +"escribir una implementación de un servidor HTTP, probablemente prefiera " +"heredar de esta clase en lugar de :class:`BaseCGIHandler`." #: ../Doc/library/wsgiref.rst:515 msgid "" @@ -561,12 +822,20 @@ msgid "" "streams are stored in the :attr:`stdin`, :attr:`stdout`, :attr:`stderr`, " "and :attr:`environ` attributes." msgstr "" +"Esta clase es una subclase de :class:`BaseHandler`. Sobreescribe los " +"métodos :meth:`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:" +"`add_cgi_vars`, :meth:`_write` y :meth:`_flush` para soportar el uso " +"explícito del entorno y los flujos a partir del constructor. El entorno y " +"los flujos especificados se almacenan en los atributos :attr:`stdin`, :attr:" +"`stdout`, :attr:`stderr` y :attr:`environ`." #: ../Doc/library/wsgiref.rst:522 msgid "" "The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " "chunk in full, like :class:`io.BufferedIOBase`." msgstr "" +"El método :meth:`~io.BufferedIOBase.write` de *stdout* podría escribir cada " +"fragmento de información completamente, como :class:`io.BufferedIOBase`." #: ../Doc/library/wsgiref.rst:528 msgid "" @@ -574,16 +843,20 @@ msgid "" "will handle a single HTTP request, although in principle you could create a " "subclass that was reusable for multiple requests." msgstr "" +"Esta es una clase base abstracta para ejecutar aplicaciones WSGI. Cada " +"instancia gestionará una sola petición HTTP, aunque en principio se podría " +"crear una subclase reutilizable para múltiples peticiones." #: ../Doc/library/wsgiref.rst:532 msgid "" ":class:`BaseHandler` instances have only one method intended for external " "use:" msgstr "" +"Las instancias de :class:`BaseHandler` tiene un sólo método para uso externo:" #: ../Doc/library/wsgiref.rst:537 msgid "Run the specified WSGI application, *app*." -msgstr "" +msgstr "Ejecuta la aplicación WSGI *app* indicada." #: ../Doc/library/wsgiref.rst:539 msgid "" @@ -591,10 +864,13 @@ msgid "" "the process of running the application, and thus exist primarily to allow " "customizing the process." msgstr "" +"Todos los otros métodos de :class:`BaseHandler` se invocan por este método " +"en el proceso de ejecutar la aplicación, es decir, existen principalmente " +"para permitir personalizar el proceso." #: ../Doc/library/wsgiref.rst:543 msgid "The following methods MUST be overridden in a subclass:" -msgstr "" +msgstr "Los métodos siguientes DEBEN sobrescribirse en una subclase:" #: ../Doc/library/wsgiref.rst:548 msgid "" @@ -603,30 +879,43 @@ msgid "" "write and flush operations for greater efficiency when the underlying system " "actually has such a distinction." msgstr "" +"Enviar los bytes *data* para la transmisión al cliente. Es correcto que este " +"método realmente transmita la información. La clase :class:`BaseHandler` " +"simplemente separa las operaciones de escritura y liberación para una mayor " +"eficiencia cuando el sistema subyacente realmente hace esa distinción." #: ../Doc/library/wsgiref.rst:556 msgid "" "Force buffered data to be transmitted to the client. It's okay if this " "method is a no-op (i.e., if :meth:`_write` actually sends the data)." msgstr "" +"Forzar la transmisión de los datos en el búfer al cliente. Es correcto si " +"este método no es operativo, p.e., si :meth:`_write` realmente envía los " +"datos." #: ../Doc/library/wsgiref.rst:562 msgid "" "Return an input stream object suitable for use as the ``wsgi.input`` of the " "request currently being processed." msgstr "" +"Retorna un objeto de flujo de entrada disponible para usar como ``wsgi." +"input`` de la petición en proceso actualmente." #: ../Doc/library/wsgiref.rst:568 msgid "" "Return an output stream object suitable for use as the ``wsgi.errors`` of " "the request currently being processed." msgstr "" +"Retorna un objeto de flujo de salida disponible para usar como ``wsgi." +"errors`` de la petición en proceso actualmente." #: ../Doc/library/wsgiref.rst:574 msgid "" "Insert CGI variables for the current request into the :attr:`environ` " "attribute." msgstr "" +"Inserta las variables CGI para la petición actual en el atributo :attr:" +"`environ`." #: ../Doc/library/wsgiref.rst:576 msgid "" @@ -636,10 +925,15 @@ msgid "" "additional information before attempting to create a customized :class:" "`BaseHandler` subclass." msgstr "" +"A continuación se describen algunos métodos y atributos más que podría ser " +"interesante sobrescribir. Esta lista es sólo un sumario, sin embargo, y no " +"incluye cada método que puede ser sobrescrito. Conviene consultar las " +"docstrings y el código fuente para obtener información adicional antes de " +"intentar crear una subclase de :class:`BaseHandler` personalizada." #: ../Doc/library/wsgiref.rst:582 msgid "Attributes and methods for customizing the WSGI environment:" -msgstr "" +msgstr "Atributos y métodos para personalizar el entorno WSGI:" #: ../Doc/library/wsgiref.rst:587 msgid "" @@ -647,6 +941,9 @@ msgid "" "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" +"El valor a usar en la variable de entorno ``wsgi.multithread``. Por defecto " +"es cierto en :class:`BaseHandler`, pero puede tener un valor por defecto " +"distinto (o establecerse en el constructor) en otras subclases." #: ../Doc/library/wsgiref.rst:594 msgid "" @@ -654,6 +951,9 @@ msgid "" "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" +"El valor a usar en la variable de entorno ``wsgi.multiprocess``. Por defecto " +"es cierto en :class:`BaseHandler`, pero puede tener un valor por defecto " +"distinto (o establecerse en el constructor) en otras subclases." #: ../Doc/library/wsgiref.rst:601 msgid "" @@ -661,6 +961,9 @@ msgid "" "defaults to false in :class:`BaseHandler`, but :class:`CGIHandler` sets it " "to true by default." msgstr "" +"El valor a usar en la variable de entorno ``wsgi.run_once``. Por defecto es " +"falso en :class:`BaseHandler`, pero en :class:`CGIHandler` es cierto por " +"defecto." #: ../Doc/library/wsgiref.rst:608 msgid "" @@ -671,6 +974,12 @@ msgid "" "considered read-only, since the default value is shared between multiple " "classes and instances." msgstr "" +"Las variables de entorno por defecto que se incluirán en el entorno WSGI de " +"cada petición. Por defecto, es una copia de ``os.environ`` cuando se " +"importa :mod:`wsgiref.handlers`, pero otras subclases pueden crear las suyas " +"propias a nivel de clase o de instancia. Se debe tener en cuenta que el " +"diccionario se debe considerar como de sólo lectura, ya que el valor por " +"defecto se comparte entre múltiples clases e instancias." #: ../Doc/library/wsgiref.rst:618 msgid "" @@ -680,12 +989,19 @@ msgid "" "for handlers (such as :class:`BaseCGIHandler` and :class:`CGIHandler`) that " "are not HTTP origin servers." msgstr "" +"Si el atributo :attr:`origin_server` tiene valor, éste se usa para " +"establecer el valor por defecto de la variable de entorno WSGI " +"``SERVER_SOFTWARE`` y un cabecera ``Server:`` por defecto en las respuestas " +"HTTP. Las clases gestoras que no son *HTTP origin servers*, como :class:" +"`BaseCGIHandler` y :class:`CGIHandler`, ignoran este atributo." #: ../Doc/library/wsgiref.rst:624 msgid "" "The term \"Python\" is replaced with implementation specific term like " "\"CPython\", \"Jython\" etc." msgstr "" +"El término \"Python\" se reemplaza con el término específico correspondiente " +"a la implementación del intérprete, como \"CPython\", \"Jython\", etc." #: ../Doc/library/wsgiref.rst:630 msgid "" @@ -694,6 +1010,10 @@ msgid "" "util` to guess whether the scheme should be \"http\" or \"https\", based on " "the current request's :attr:`environ` variables." msgstr "" +"Retorna el esquema usado en la URL para la petición actual. La " +"implementación por defecto utiliza la función :func:`guess_scheme` de :mod:" +"`wsgiref.util` para adivinar si el esquema debería ser \"http\" o \"https\", " +"basándose en las variables de :attr:`environ` de la petición actual." #: ../Doc/library/wsgiref.rst:638 msgid "" @@ -704,10 +1024,17 @@ msgid "" "``SERVER_SOFTWARE`` key if not present, as long as the :attr:`origin_server` " "attribute is a true value and the :attr:`server_software` attribute is set." msgstr "" +"Establece el atributo :attr:`environ` a un entorno WSGI completo. La " +"implementación por defecto utiliza todos los métodos y atributos " +"anteriormente mencionados, más los métodos :meth:`get_stdin`, :meth:" +"`get_stderr` y :meth:`add_cgi_vars`, y el atributo :attr:" +"`wsgi_file_wrapper`. También incluye una clave ``SERVER_SOFTWARE`` si no " +"existe, siempre y cuando el atributo :attr:`origin_server` tiene un valor " +"válido y el atributo :attr:`server_software` está establecido." #: ../Doc/library/wsgiref.rst:645 msgid "Methods and attributes for customizing exception handling:" -msgstr "" +msgstr "Métodos y atributos para personalizar el manejo de excepciones:" #: ../Doc/library/wsgiref.rst:650 msgid "" @@ -718,18 +1045,30 @@ msgid "" "traceback to an administrator, or whatever other action may be deemed " "suitable." msgstr "" +"Envía la tupla *exc_info* al registro del servidor. *exc_info* es un tupla " +"``(type, value, traceback)``. La implementación por defecto simplemente " +"escribe el seguimiento de la pila en el flujo ``wsgi.errors`` de la petición " +"y lo vacía. Las subclases pueden sobrescribir éste método para cambiar el " +"formato o redirigir la salida, enviar mensajes de correo con el seguimiento " +"de pila a un administrador o cualquier otra acción que se considere adecuada." #: ../Doc/library/wsgiref.rst:659 msgid "" "The maximum number of frames to include in tracebacks output by the default :" "meth:`log_exception` method. If ``None``, all frames are included." msgstr "" +"El máximo número de marcos a incluir en la salida de seguimientos de pilas " +"por el método por defecto :meth:`log_exception`. Si vale ``None``, se " +"incluyen todos los marcos." #: ../Doc/library/wsgiref.rst:665 msgid "" "This method is a WSGI application to generate an error page for the user. " "It is only invoked if an error occurs before headers are sent to the client." msgstr "" +"Este método es una aplicación WSGI para generar una página de error para el " +"usuario. Sólo se invoca si un error ocurre antes de enviar las cabeceras al " +"cliente." #: ../Doc/library/wsgiref.rst:668 msgid "" @@ -737,6 +1076,10 @@ msgid "" "exc_info()``, and should pass that information to *start_response* when " "calling it (as described in the \"Error Handling\" section of :pep:`3333`)." msgstr "" +"Este método puede acceder a la información de error actual usando ``sys." +"exc_info()`` y debería pasar esa información a *start_response* cuando es " +"llamada, tal y como se describe en la sección \"Error Handling\" de :pep:" +"`3333`." #: ../Doc/library/wsgiref.rst:672 msgid "" @@ -744,6 +1087,10 @@ msgid "" "`error_headers`, and :attr:`error_body` attributes to generate an output " "page. Subclasses can override this to produce more dynamic error output." msgstr "" +"La implementación por defecto sólo utiliza los atributos :attr:" +"`error_status`, :attr:`error_headers` y :attr:`error_body` para generar una " +"página de salida. Las subclases pueden sobrescribir éste para producir una " +"salida de error dinámica mejor." #: ../Doc/library/wsgiref.rst:676 msgid "" @@ -752,12 +1099,20 @@ msgid "" "special to enable diagnostic output, which is why the default implementation " "doesn't include any." msgstr "" +"Hay que tener en cuenta, sin embargo, que no se recomienda, desde una " +"perspectiva de seguridad, mostrar información de diagnóstico a cualquier " +"usuario antiguo. Idealmente, se debería hacer algo especial para activar la " +"salida de información de diagnóstico, motivo por el que la implementación " +"por defecto no incluye ninguna." #: ../Doc/library/wsgiref.rst:684 msgid "" "The HTTP status used for error responses. This should be a status string as " "defined in :pep:`3333`; it defaults to a 500 code and message." msgstr "" +"El estado HTTP utilizado para las respuestas de error. Se debería utilizar " +"una de las cadenas de estado definidas en :pep:`3333`. Por defecto es un " +"código 500 y un mensaje." #: ../Doc/library/wsgiref.rst:690 msgid "" @@ -765,6 +1120,10 @@ msgid "" "response headers (``(name, value)`` tuples), as described in :pep:`3333`. " "The default list just sets the content type to ``text/plain``." msgstr "" +"Las cabeceras HTTP utilizadas por las respuestas de error. Debería tratarse " +"de una lista de cabeceras de respuesta WSGI (tuplas ``(name, value)``), tal " +"y como se describe en :pep:`3333`. La lista por defecto simplemente " +"establece el tipo de contenido a ``text/plain``." #: ../Doc/library/wsgiref.rst:697 msgid "" @@ -772,18 +1131,25 @@ msgid "" "It defaults to the plain text, \"A server error occurred. Please contact " "the administrator.\"" msgstr "" +"El cuerpo de la respuesta de error. Debería ser una cadena de bytes con el " +"cuerpo de la respuesta HTTP. Por defecto contiene el texto plano *A server " +"error occurred. Please contact the administrator.*" #: ../Doc/library/wsgiref.rst:701 msgid "" "Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " "Handling\" feature:" msgstr "" +"Métodos y atributos para la funcionalidad \"Optional Platform-Specific File " +"Handling\" de :pep:`3333`:" #: ../Doc/library/wsgiref.rst:707 msgid "" "A ``wsgi.file_wrapper`` factory, or ``None``. The default value of this " "attribute is the :class:`wsgiref.util.FileWrapper` class." msgstr "" +"Una factoría ``wsgi.file_wrapper``, o ``None``. El valor por defecto de este " +"atributo es la clase :class:`wsgiref.util.FileWrapper`." #: ../Doc/library/wsgiref.rst:713 msgid "" @@ -794,10 +1160,17 @@ msgid "" "default transmission code will not be executed. The default implementation " "of this method just returns a false value." msgstr "" +"Sobrescribir para implementar la transmisión de ficheros específica para la " +"plataforma. Este método se llama sólo si el valor de retorno de la " +"aplicación es una instancia de la clase especificada por el atributo :attr:" +"`wsgi_file_wrapper`. Debería retornar un valor cierto si fue capaz de " +"transmitir correctamente el fichero, de modo que el código por defecto de " +"transmisión no será ejecutado. La implementación por defecto de este método " +"simplemente retorna un valor falso." #: ../Doc/library/wsgiref.rst:720 msgid "Miscellaneous methods and attributes:" -msgstr "" +msgstr "Métodos y atributos varios:" #: ../Doc/library/wsgiref.rst:725 msgid "" @@ -806,18 +1179,27 @@ msgid "" "rather than via a CGI-like gateway protocol that wants the HTTP status in a " "special ``Status:`` header." msgstr "" +"Este atributo debería establecerse a cierto si los métodos :meth:`_write` y :" +"meth:`_flush` están siendo usados para comunicar directamente al cliente, en " +"lugar de usar un protocolo de pasarela CGI que requiere el estado HTTP en " +"una cabecera ``Status:`` especial." #: ../Doc/library/wsgiref.rst:730 msgid "" "This attribute's default value is true in :class:`BaseHandler`, but false " "in :class:`BaseCGIHandler` and :class:`CGIHandler`." msgstr "" +"El valor por defecto de este atributo es cierto en :class:`BaseHandler`, " +"pero en :class:`BaseCGIHandler` y :class:`CGIHandler` es falso." #: ../Doc/library/wsgiref.rst:736 msgid "" "If :attr:`origin_server` is true, this string attribute is used to set the " "HTTP version of the response set to the client. It defaults to ``\"1.0\"``." msgstr "" +"Si :attr:`origin_server` es cierto, este atributo de tipo cadena se usa para " +"establecer la versión HTTP de la respuesta enviada al cliente. Por defecto " +"es ``\"1.0\"``." #: ../Doc/library/wsgiref.rst:742 msgid "" @@ -830,6 +1212,15 @@ msgid "" "bytes, but the system encoding used by Python to decode it is anything other " "than ISO-8859-1 (e.g. Unix systems using UTF-8)." msgstr "" +"Transcodifica las variables CGI de ``os.environ`` a cadenas \"bytes in " +"unicode\" definidas en :pep:`3333`, retornando un nuevo diccionario. Esta " +"función se usa en :class:`CGIHandler` y :class:`IISCGIHandler` en lugar de " +"usar directamente ``os.environ``, lo que no es necesariamente compatible con " +"EWGI en todas las plataformas y servidores web usando Python 3 -- " +"específicamente, aquellas en las que el entorno actual del sistema operativo " +"es Unicode, p.e. Windows, o en las que el entorno está en bytes, pero la " +"codificación del sistema usada por Python para descodificar lo es cualquier " +"otro que ISO-8859-1, por ejemplo, sistemas UNIX que usen UTF-8." #: ../Doc/library/wsgiref.rst:751 msgid "" @@ -837,17 +1228,23 @@ msgid "" "to use this routine instead of just copying values out of ``os.environ`` " "directly." msgstr "" +"Cuando se está implementando un gestor basado en CGI propio, probablemente " +"se requiera usar esta rutina en lugar de sólo copiar directamente los " +"valores de ``os.environ``." #: ../Doc/library/wsgiref.rst:759 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/wsgiref.rst:761 msgid "This is a working \"Hello World\" WSGI application::" -msgstr "" +msgstr "Ésta es una aplicación WSGI \"Hello World\" que funciona:" #: ../Doc/library/wsgiref.rst:786 msgid "" "Example of a WSGI application serving the current directory, accept optional " "directory and port number (default: 8000) on the command line:" msgstr "" +"Ejemplo de una aplicación WSGI que sirve el directorio actual, acepta un " +"directorio opcional y un número de puerto (default: 8000) en la línea de " +"comandos:" From 01ba4ec381a503ad94b6f4339a69656467f86e1b Mon Sep 17 00:00:00 2001 From: Ignasi Fosch Date: Tue, 15 Sep 2020 23:03:16 +0200 Subject: [PATCH 2/2] =?UTF-8?q?A=C3=B1ade=20sugerencias=20del=20CR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emmanuel Arias --- dictionaries/library_wsgiref.txt | 1 + library/wsgiref.po | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dictionaries/library_wsgiref.txt b/dictionaries/library_wsgiref.txt index 75d240d7a0..bb8ed39389 100644 --- a/dictionaries/library_wsgiref.txt +++ b/dictionaries/library_wsgiref.txt @@ -1 +1,2 @@ transcodifica +frameworks diff --git a/library/wsgiref.po b/library/wsgiref.po index ea2c773333..4bb800c50f 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -7,13 +7,12 @@ # get the list of volunteers # Ignasi Fosch , 2020. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-23 07:54+0200\n" +"PO-Revision-Date: 2020-09-15 23:10+0200\n" "Language-Team: Spanish - Spain \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -47,7 +46,7 @@ msgid "" "every detail of WSGI just to install a WSGI application or to write a web " "application using an existing framework." msgstr "" -"Sólo los autores de servidores y *frameworks* web necesitan conocer cada " +"Sólo los autores de servidores y frameworks web necesitan conocer cada " "detalle y caso límite del diseño WSGI. No es necesario conocer cada detalle " "de WSGI sólo para instalar o escribir una aplicación web usando un " "*framework* existente." @@ -365,8 +364,8 @@ msgstr "" "La llamada ``bytes()`` sobre un objeto :class:`Headers` retorna una cadena " "de bytes formateada y lista para su transmisión como cabeceras de respuesta " "HTTP. Cada cabecera se ubica en una línea con su valor separado por dos " -"puntos y un espacio. Cada línea finaliza con un salto de carro y un salto de " -"línea, y la cadena de bytes finaliza con una línea en blanco." +"puntos y un espacio. Cada línea finaliza con un retorno de carro y un salto " +"de línea, y la cadena de bytes finaliza con una línea en blanco." #: ../Doc/library/wsgiref.rst:224 msgid "" @@ -489,7 +488,7 @@ msgid "" "`http.server.BaseHTTPRequestHandler` that will be used to process requests." msgstr "" "Crea una instancia de :class:`WSGIServer`. *server_address* debe ser una " -"tupla ``(máquina,puerto)`` y (RequestHandlerClass* debe ser la subclase de :" +"tupla ``(máquina,puerto)`` y *RequestHandlerClass* debe ser la subclase de :" "class:`http.server.BaseHTTPRequestHandler` que se usará para procesar " "peticiones." @@ -540,9 +539,9 @@ msgid "" "*client_address* (a ``(host,port)`` tuple), and *server* (:class:" "`WSGIServer` instance)." msgstr "" -"Crea un gestor HTTP para la *request* indicada, es decir un socket, " -"*client_address, una tupla ``(máquina,puerto)``, y *server*, una instancia :" -"class:`WSGIServer`." +"Crea un gestor HTTP para la *request* indicada (es decir un socket), " +"*client_address (una tupla ``(máquina,puerto)``), y *server* (una instancia :" +"class:`WSGIServer`)." #: ../Doc/library/wsgiref.rst:344 msgid ""