Commits

Eneldo Serrata committed 563f01e

translation of the documentation to Spanish version 0.2

Comments (0)

Files changed (8)

Add a comment to this file

sphinx/source/locale/es/LC_MESSAGES/tutorial/basics.mo

Binary file modified.

sphinx/source/locale/es/LC_MESSAGES/tutorial/basics.po

-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: CherryPy 3.2.4\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-06-17 16:33\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2013-06-20 14:03-0400\n"
+"Last-Translator: Eneldo Serrata <eneldoserrata@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
 
 #: ../../source/tutorial/basics.rst:3
 msgid "Your first CherryPy application"
 "The standard 'Hello world!' application takes less than 10 lines of code "
 "when written using CherryPy::"
 msgstr ""
-"'Hola, mundo!' usa menos de 10 líneas de código "
-"cuando se escribe con CherryPy::"
+"'Hola, mundo!' usa menos de 10 líneas de código cuando se escribe con "
+"CherryPy::"
 
 #: ../../source/tutorial/basics.rst:18
 msgid ""
 "Copy the file above and save it locally as ``hello.py``, then start the "
 "application at the command prompt::"
 msgstr ""
-"Suponemos que ya tiene CherryPy :doc:`instalado </intro/install>`"
-" Copie el archivo anterior y guardarlo localmente como ``hello.py`` , a continuación, inicia la"
-" aplicación en el símbolo del sistema:: "
+"Suponemos que ya tiene CherryPy :doc:`instalado </intro/install>` Copie el "
+"archivo anterior y guardarlo localmente como ``hello.py`` , a continuación, "
+"inicia la aplicación en el símbolo del sistema:: "
 
 #: ../../source/tutorial/basics.rst:24
 msgid ""
-"Direct your favorite web browser to http://localhost:8080 and you should see"
-" ``Hello world!`` printed there."
+"Direct your favorite web browser to http://localhost:8080 and you should see "
+"``Hello world!`` printed there."
 msgstr ""
-"Abre tu navegador favorito en http://localhost:8080 y usted debería ver"
-" ``Hello world!`` en su navegador"
+"Abre tu navegador favorito en http://localhost:8080 y usted debería ver "
+"``Hello world!`` en su navegador"
 
 #: ../../source/tutorial/basics.rst:28
 msgid "How does it work?"
-msgstr ""
+msgstr "¿Cómo funciona?"
 
 #: ../../source/tutorial/basics.rst:30
 msgid "Let's take a look at ``hello.py``:"
-msgstr ""
+msgstr "Vamos a echar un vistazo a ``hello.py``:"
 
 #: ../../source/tutorial/basics.rst:32
 msgid ""
 "The ``import cherrypy`` statement imports the main CherryPy module. This is "
-"all that is required to have CherryPy working. Feel free to \"import "
-"cherrypy\" in an interactive session and see what's available! "
-"``help(cherrypy)`` is also quite useful."
+"all that is required to have CherryPy working. Feel free to \"import cherrypy"
+"\" in an interactive session and see what's available! ``help(cherrypy)`` is "
+"also quite useful."
 msgstr ""
+"Con ``import cherrypy`` importa el módulo principal CherryPy. Esto es todo "
+"lo que se requiere trabajar con CherryPy. Siéntase libre de importar "
+"cherrypy en el shell de Python y ver lo que está disponible! Use el comando "
+"``help(cherrypy)`` que también es muy útil para ver su documentación desde "
+"el shell de Python."
 
 #: ../../source/tutorial/basics.rst:36
 msgid ""
 "fact, you don't even have to use classes at all! But let's start with them "
 "for now."
 msgstr ""
+"Declaramos una clase llamada ``HelloWorld``. Que es una instancia de la "
+"clase objeto que será publicada por CherryPy. Contiene un único método "
+"llamado ``index``, que se llamará cuando la URL raíz del sitio web es "
+"solicitado (por ejemplo, ``http://localhost/`` ). Este método devuelve el, "
+"**contenidos de la página Web**; en este caso ``'Hello World!'`` Tenga en "
+"cuenta que usted no tiene que usar ninguna dependencia del framework lo cual "
+"logra que su código no dependa del framework, usted ni siquiera tiene que "
+"utilizar clases para todo! Tambien pudiera ser una funcion. Pero vamos a "
+"empezar por aquí por el momento."
 
 #: ../../source/tutorial/basics.rst:43
 msgid ""
 "The ``index.exposed = True`` is a necessary step to tell CherryPy that the "
 "``index()`` method will be **exposed**. Only exposed methods can be called "
-"to answer a request. This feature allows the user to select which methods of"
-" an object will be accessible via the Web; non-exposed methods can't be "
-"accessed. Another way to **expose** a method is to use the decorator "
-":func:`cherrypy.expose`."
+"to answer a request. This feature allows the user to select which methods of "
+"an object will be accessible via the Web; non-exposed methods can't be "
+"accessed. Another way to **expose** a method is to use the decorator :func:"
+"`cherrypy.expose`."
 msgstr ""
+"El ``index.exposed = True`` es un paso necesario para decirle a CherryPy que "
+"el método ``index()`` será **expuesto**, Sólo se puede llamar métodos "
+"expuestos para responder a una solicitud desde la web. Esta función permite "
+"al usuario seleccionar los métodos de un objeto que serán accesible a través "
+"de la Web, los métodos no expuestos no pueden ser accedidos desde la web. "
+"Otra forma de exponer un **método** es utilizar el decorador :func:`cherrypy."
+"expose` ."
 
 #: ../../source/tutorial/basics.rst:49
 msgid ""
 "interrupted, either with ``Ctrl-C`` or via a suitable signal (a simple "
 "``kill`` on Unix will do it)."
 msgstr ""
+"``cherrypy.quickstart (HelloWorld ())`` monta una instancia de la clase "
+"HelloWorld, e inicia el servidor web incorporado. Se ejecuta hasta que se "
+"interrumpa de forma explícita, ya sea con ``Ctrl-C`` o por medio de una "
+"señal adecuada con un simple ``kill`` en Unix tambien lo hará."
 
 #: ../../source/tutorial/basics.rst:54
 msgid ""
 "When the application is executed, the CherryPy server is started with the "
 "default configuration. It will listen on ``localhost`` at port ``8080``. "
-"These defaults can be overridden by using a configuration file or dictionary"
-" (more on this later)."
+"These defaults can be overridden by using a configuration file or dictionary "
+"(more on this later)."
 msgstr ""
+"Cuando se ejecuta la aplicación, el servidor CherryPy se inicia con la "
+"configuración predeterminada. Se escuchará en ``localhost`` en el puerto  "
+"``8080``. Estos valores predeterminados se puedran modificar mediante un "
+"archivo de configuración o diccionario (más sobre esto hablaremos más "
+"adelante)."
 
 #: ../../source/tutorial/basics.rst:59
 msgid ""
-"Finally, the web server receives the request for the URL "
-"``http://localhost:8080``. It searches for the best method to handle the "
-"request, starting from the ``HelloWorld`` instance. In this particular case,"
-" the root of the site is automatically mapped to the ``index()`` method "
-"(similar to the ``index.html`` that is the standard page for conventional "
-"Web servers). The HelloWorld class defines an ``index()`` method and exposes"
-" it. CherryPy calls ``HelloWorld().index()``, and the result of the call is "
-"sent back to the browser as the contents of the index page for the website. "
-"All the dispatching and HTTP-processing work is done automatically; the "
-"application programmer only needs to provide the desired content as the "
-"return value of the ``index`` method."
+"Finally, the web server receives the request for the URL ``http://"
+"localhost:8080``. It searches for the best method to handle the request, "
+"starting from the ``HelloWorld`` instance. In this particular case, the root "
+"of the site is automatically mapped to the ``index()`` method (similar to "
+"the ``index.html`` that is the standard page for conventional Web servers). "
+"The HelloWorld class defines an ``index()`` method and exposes it. CherryPy "
+"calls ``HelloWorld().index()``, and the result of the call is sent back to "
+"the browser as the contents of the index page for the website. All the "
+"dispatching and HTTP-processing work is done automatically; the application "
+"programmer only needs to provide the desired content as the return value of "
+"the ``index`` method."
 msgstr ""
+"Por último, el servidor web recibe la petición de la URL ``http://"
+"localhost:8080``. Busca el mejor método para manejar la petición, a partir "
+"del ejemplo  ``HelloWorld``. En este caso particular, la raíz del sitio se "
+"asigna automáticamente al método ``índice()`` (similar a un ``index.html``  "
+"que es la página por defecto para servidores web convencionales). La clase "
+"HelloWorld define  el metodo ``index()`` y lo expone. Las llamadas CherryPy  "
+"a ``HelloWorld().Index()``, y el resultado de la llamada se envía de vuelta "
+"al navegador como el contenido de la página de index() para el sitio web. "
+"Todo el envío y el trabajo de procesamiento de HTTP se realiza de forma "
+"automática, el programador de la aplicación sólo necesita proporcionar el "
+"contenido deseado en el valor de retorno del método ``index()``."
 
 #: ../../source/tutorial/basics.rst:72
 msgid "CherryPy structure"
-msgstr ""
+msgstr "La Estructura de CherryPy"
 
 #: ../../source/tutorial/basics.rst:74
 msgid ""
 "Most of the features of CherryPy are available through the :mod:`cherrypy` "
 "module. It contains several members:"
 msgstr ""
+"La mayoría de las características de CherryPy están disponibles a través del "
+"modulo :mod:`cherrypy` ."
 
 #: ../../source/tutorial/basics.rst:77
 msgid ""
 ":class:`cherrypy.engine <cherrypy.process.wspbus.Bus>` controls process "
-"startup, shutdown, and other events, including your own Plugins. See "
-":doc:`/tutorial/engine`."
+"startup, shutdown, and other events, including your own Plugins. See :doc:`/"
+"tutorial/engine`."
 msgstr ""
+":class:`cherrypy.engine <cherrypy.process.wspbus.Bus>` controla proceso de "
+"inicio, apagado y otros eventos, incluyendo sus propios plugins. Ver :doc:`/"
+"tutorial/engine`."
 
 #: ../../source/tutorial/basics.rst:80
 msgid ""
-":class:`cherrypy.server <cherrypy._cpserver.Server>` configures and controls"
-" the HTTP server."
+":class:`cherrypy.server <cherrypy._cpserver.Server>` configures and controls "
+"the HTTP server."
 msgstr ""
+":class:`cherrypy.server <cherrypy._cpserver.Server>` configura y controla el "
+"servidor HTTP."
 
 #: ../../source/tutorial/basics.rst:82
 msgid ""
 "information that comes with the HTTP request, after it is parsed and "
 "analyzed by CherryPy."
 msgstr ""
+":class:`cherrypy.request <cherrypy._cprequest.Request>` contiene toda la "
+"información que acompaña a la solicitud HTTP, una vez que se analizó por "
+"CherryPy."
 
 #: ../../source/tutorial/basics.rst:85
 msgid ""
 ":attr:`cherrypy.request.headers <cherrypy.lib.httputil.HeaderMap>` contains "
 "a mapping with the header options that were sent as part of the request."
 msgstr ""
+":attr:`cherrypy.request.headers <cherrypy.lib.httputil.HeaderMap>` contiene "
+"una correspondencia con las opciones de encabezado que fueron enviados como "
+"parte de la solicitud."
 
 #: ../../source/tutorial/basics.rst:88
 msgid ""
 ":class:`cherrypy.session <cherrypy.lib.sessions.Session>` is a special "
 "mapping that is automatically generated and encoded by CherryPy; it can be "
 "used to store session-data in a persistent cookie. For it to work you have "
-"to enable the session functionality by setting 'tools.session.on' to True in"
-" your config."
+"to enable the session functionality by setting 'tools.session.on' to True in "
+"your config."
 msgstr ""
+":class:`cherrypy.session <cherrypy.lib.sessions.Session>` es un mapeo "
+"especial que se genera y se codifica por CherryPy automáticamente, que se "
+"puede utilizar para almacenar datos de sesiónen es una cookie persistente. "
+"Para que funcione hay que habilitar la funcionalidad de sesión estableciendo "
+"'tools.session.on' en True en su configuración."
 
 #: ../../source/tutorial/basics.rst:93
 msgid ""
 ":class:`cherrypy.response <cherrypy._cprequest.Response>` contains the data "
 "that is used to build the HTTP response."
 msgstr ""
+":class:`cherrypy.response <cherrypy._cprequest.Response>` contiene los datos "
+"que se utilizan para construir la respuesta HTTP."
 
 #: ../../source/tutorial/basics.rst:95
 msgid ""
-":attr:`cherrypy.response.headers <cherrypy.lib.httputil.HeaderMap>` contains"
-" a mapping with the header options that will be returned by the server, "
+":attr:`cherrypy.response.headers <cherrypy.lib.httputil.HeaderMap>` contains "
+"a mapping with the header options that will be returned by the server, "
 "before the contents get sent."
 msgstr ""
+":attr:`cherrypy.response.headers <cherrypy.lib.httputil.HeaderMap>` contiene "
+"una correspondencia con las opciones de encabezado que serán devueltos por "
+"el servidor, antes de que los contenidos son enviados."
 
 #: ../../source/tutorial/basics.rst:98
 msgid ""
 ":attr:`cherrypy.response.body <cherrypy._cprequest.Response.body>` contains "
 "the actual contents of the webpage that will be sent as a response."
 msgstr ""
+":attr:`<cherrypy._cprequest.Response.body> cherrypy.response.body` contiene "
+"el contenido real de la página web, que será enviado como respuesta."
 
 #: ../../source/tutorial/basics.rst:102
 msgid "CherryPy Response"
-msgstr ""
+msgstr "Respuesta CherryPy"
 
 #: ../../source/tutorial/basics.rst:104
 msgid ""
 "local, meaning although it appears to be a global variable, its value is "
 "specific to the current thread, and thus the current request."
 msgstr ""
+"El objeto `cherrypy.response` está disponible para afectar los aspectos de "
+"la respuesta a una solicitud. Al igual que la petición, la respuesta es un "
+"objeto de subproceso local, es decir, que a pesar de que parece ser una "
+"variable global, su valor es específico para el subproceso actual, y por lo "
+"tanto para la solicitud actual."
 
 #: ../../source/tutorial/basics.rst:109
 msgid "One may store arbitrary data in the response object."
-msgstr ""
+msgstr "Uno puede almacenar datos arbitrarios en el objeto respuesta."
 
 #: ../../source/tutorial/basics.rst:112
 msgid "HTTP Headers"
-msgstr ""
+msgstr "HTTP Headers"
 
 #: ../../source/tutorial/basics.rst:114
 msgid ""
-"CherryPy exposes the request headers (as sent from the client), and response"
-" headers (to be returned in the response) in the `headers` attribute of "
+"CherryPy exposes the request headers (as sent from the client), and response "
+"headers (to be returned in the response) in the `headers` attribute of "
 "`cherrypy.request` and `cherrypy.response`."
 msgstr ""
+"CherryPy expone los encabezados de solicitud (que fueron enviados desde el "
+"cliente), y las cabeceras de respuesta (para devolver una respuesta) en el "
+"atributo `headers` de `cherrypy.request` y `cherrypy.response`."
 
 #: ../../source/tutorial/basics.rst:118
 msgid ""
 "For example, to find out what \"host\" to which the client intended to "
 "connect::"
 msgstr ""
+"Por ejemplo, para averiguar lo que \"host\" hace al momento que el cliente "
+"intente conectarse::"
 
 #: ../../source/tutorial/basics.rst:131
 msgid "Or to set headers on the response::"
-msgstr ""
+msgstr "O establecer encabezados en la respuesta::"
Add a comment to this file

sphinx/source/locale/es/LC_MESSAGES/tutorial/config.mo

Binary file modified.

sphinx/source/locale/es/LC_MESSAGES/tutorial/config.po

-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: CherryPy 3.2.4\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-06-17 16:33\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2013-06-20 18:31-0400\n"
+"Last-Translator: Eneldo Serrata <eneldoserrata@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
 
 #: ../../source/tutorial/config.rst:5
 msgid "Configuration"
-msgstr ""
+msgstr "Configuración"
 
 #: ../../source/tutorial/config.rst:7
 msgid ""
 "Configuration in CherryPy is implemented via dictionaries. Keys are strings "
 "which name the mapped value; values may be of any type."
 msgstr ""
+"La configuración en CherryPy se implementa a través de los diccionarios. Las "
+"claves son cadenas que nombran el valor asignado, los valores pueden ser de "
+"cualquier tipo."
 
 #: ../../source/tutorial/config.rst:10
 msgid ""
 "In CherryPy 3, you use configuration (files or dicts) to set attributes "
 "directly on the engine, server, request, response, and log objects. So the "
-"best way to know the full range of what's available in the config file is to"
-" simply import those objects and see what ``help(obj)`` tells you."
+"best way to know the full range of what's available in the config file is to "
+"simply import those objects and see what ``help(obj)`` tells you."
 msgstr ""
+"En CherryPy 3, se utiliza (archivos o diccionarios) de configuración para "
+"establecer los atributos directamente en el engine, server, request, "
+"response y objetos de registro. Así que la mejor manera de conocer la gama "
+"completa de lo que está disponible en el archivo de configuración es "
+"simplemente importar los objetos y ver lo que ``help(obj)`` le dice."
 
 #: ../../source/tutorial/config.rst:16
 msgid "Architecture"
-msgstr ""
+msgstr "Arquitectura"
 
 #: ../../source/tutorial/config.rst:18
 msgid ""
-"The first thing you need to know about CherryPy 3's configuration is that it"
-" separates *global* config from *application* config. If you're deploying "
-"multiple *applications* at the same *site* (and more and more people are, as"
-" Python web apps are tending to decentralize), you need to be careful to "
-"separate the configurations, as well. There's only ever one \"global "
-"config\", but there is a separate \"app config\" for each app you deploy."
+"The first thing you need to know about CherryPy 3's configuration is that it "
+"separates *global* config from *application* config. If you're deploying "
+"multiple *applications* at the same *site* (and more and more people are, as "
+"Python web apps are tending to decentralize), you need to be careful to "
+"separate the configurations, as well. There's only ever one \"global config"
+"\", but there is a separate \"app config\" for each app you deploy."
 msgstr ""
+"La primera cosa que usted necesita saber acerca de la configuración de "
+"CherryPy 3 es que separa la *configuracion global* de la *configuracion de "
+"aplicación* . Si va a implementar múltiples * aplicaciones* a la misma *Web* "
+"(y cada vez más personas son, como las aplicaciones web de Python tienden a "
+"descentralizar), es necesario tener cuidado para separar las "
+"configuraciones, también. Sólo hay siempre habra solo un \"global config\", "
+"pero hay un \"aplicación config\" para cada aplicación que se implementa."
 
 #: ../../source/tutorial/config.rst:25
 msgid ""
 "context, and configuration data may apply to any of those three scopes. "
 "Let's look at each of those scopes in turn."
 msgstr ""
+"Los CherryPy *request* son parte de la *aplicación*, que se ejecuta en un "
+"contexto *global*, y los datos de configuración se pueden aplicar a "
+"cualquiera de esos tres ámbitos. Echemos un vistazo a cada uno de esos "
+"ámbitos, a su vez."
 
 #: ../../source/tutorial/config.rst:30
 msgid "Global config"
-msgstr ""
+msgstr "Configuración global"
 
 #: ../../source/tutorial/config.rst:32
 msgid ""
-"Global config entries apply everywhere, and are stored in "
-":class:`cherrypy.config <cherrypy._cpconfig.Config>`. This flat dict only "
-"holds global config data; that is, \"site-wide\" config entries which affect"
-" all mounted applications."
+"Global config entries apply everywhere, and are stored in :class:`cherrypy."
+"config <cherrypy._cpconfig.Config>`. This flat dict only holds global config "
+"data; that is, \"site-wide\" config entries which affect all mounted "
+"applications."
 msgstr ""
+"las entradas de configuraciónes globales se aplican en todas partes, y se "
+"almacenan en :class:`cherrypy.config <cherrypy._cpconfig.Config>`. Este "
+"diccionario plano sólo contiene los datos de configuración globales, es "
+"decir, \"en todo el sitio\" son entradas de configuración que afectan a "
+"todas las aplicaciones montadas."
 
 #: ../../source/tutorial/config.rst:37
 msgid ""
-"Global config is stored in the :class:`cherrypy.config "
-"<cherrypy._cpconfig.Config>` dict, and you therefore update it by calling "
-"``cherrypy.config.update(conf)``. The ``conf`` argument can be either a "
-"filename, an open file, or a dict of config entries. Here's an example of "
-"passing a dict argument::"
+"Global config is stored in the :class:`cherrypy.config <cherrypy._cpconfig."
+"Config>` dict, and you therefore update it by calling ``cherrypy.config."
+"update(conf)``. The ``conf`` argument can be either a filename, an open "
+"file, or a dict of config entries. Here's an example of passing a dict "
+"argument::"
 msgstr ""
+"La configuracion se almacena en el diccionario :class:`cherrypy.config "
+"<cherrypy._cpconfig.Config>`, por lo que su actualización es llamanda "
+"``cherrypy.config.update (conf)``. El argumento config puede ser un nombre "
+"de archivo, un archivo abierto, o un diccionario de entradas de "
+"configuración. Aquí hay un ejemplo de como pasar un argumento dict::"
 
 #: ../../source/tutorial/config.rst:47
 msgid ""
 "network interface CherryPy will listen. The ``server.socket_port`` option "
 "declares the TCP port on which to listen."
 msgstr ""
+"El ``server.socket_host`` opción en este ejemplo se determina en qué "
+"interfaz CherryPy red va a escuchar. La opción ``server.socket_port`` "
+"declara el puerto TCP en el que escucha."
 
 #: ../../source/tutorial/config.rst:52
 msgid "Application config"
-msgstr ""
+msgstr "Configuracion de aplicación"
 
 #: ../../source/tutorial/config.rst:54
 msgid ""
-"Application entries apply to a single mounted application, and are stored on"
-" each Application object itself as :attr:`app.config "
-"<cherrypy._cptree.Application.config>`. This is a two-level dict where each "
-"top-level key is a path, or \"relative URL\" (for example, ``\"/\"`` or "
-"``\"/my/page\"``), and each value is a dict of config entries. The URL's are"
-" relative to the script name (mount point) of the Application. Usually, all "
-"this data is provided in the call to ``tree.mount(root(), "
-"script_name='/path/to', config=conf)``, although you may also use "
-"``app.merge(conf)``. The ``conf`` argument can be either a filename, an open"
-" file, or a dict of config entries."
+"Application entries apply to a single mounted application, and are stored on "
+"each Application object itself as :attr:`app.config <cherrypy._cptree."
+"Application.config>`. This is a two-level dict where each top-level key is a "
+"path, or \"relative URL\" (for example, ``\"/\"`` or ``\"/my/page\"``), and "
+"each value is a dict of config entries. The URL's are relative to the script "
+"name (mount point) of the Application. Usually, all this data is provided in "
+"the call to ``tree.mount(root(), script_name='/path/to', config=conf)``, "
+"although you may also use ``app.merge(conf)``. The ``conf`` argument can be "
+"either a filename, an open file, or a dict of config entries."
 msgstr ""
+"Las entradas de aplicación se aplican a una sola aplicación montada y se "
+"almacenan en el mismo objeto de aplicación como :attr:`app.config <cherrypy."
+"_cptree.Application.config>`. Se trata de un diccionario de dos niveles, "
+"donde cada clave de nivel superior es una ruta, o \"URL relativa\" (por "
+"ejemplo, `` \"/\" `` o `` \"/mi/ página\" ``), y cada valor es un "
+"diccionario de entradas de configuración. Las URL son relativas al nombre "
+"(punto de montaje) de la solicitud. Por lo general, todos estos datos que se "
+"proporciona en la llamada ``tree.mount(root(), script_name='/path/to', "
+"config=conf)``, aunque también se puede usar ``app.merge(conf)``. El "
+"argumento ``conf `` puede ser un nombre de archivo, un archivo abierto, o un "
+"diccionario de entradas de configuración."
 
 #: ../../source/tutorial/config.rst:66
 msgid "Configuration file example::"
-msgstr ""
+msgstr "Ejemplo de archivo de configuración::"
 
 #: ../../source/tutorial/config.rst:72
 msgid "or, in python code::"
-msgstr ""
+msgstr "o, en el código python::"
 
 #: ../../source/tutorial/config.rst:82
 msgid ""
 "CherryPy only uses sections that start with ``\"/\"`` (except ``[global]``, "
 "see below). That means you can place your own configuration entries in a "
-"CherryPy config file by giving them a section name which does not start with"
-" ``\"/\"``. For example, you might include database entries like this::"
+"CherryPy config file by giving them a section name which does not start with "
+"``\"/\"``. For example, you might include database entries like this::"
 msgstr ""
+"CherryPy sólo utiliza las secciones que comienzan con ``\"/\"`` (excepto ``"
+"[global]``, ver más abajo). Eso significa que usted puede poner sus propias "
+"entradas de configuración en un archivo de configuración CherryPy dándoles "
+"un nombre de la sección que no empiece con ``\"/\"``. Por ejemplo, podría "
+"incluir Las entradas base de datos como este::"
 
 #: ../../source/tutorial/config.rst:98
 msgid ""
-"Then, in your application code you can read these values during request time"
-" via ``cherrypy.request.app.config['Databases']``. For code that is outside "
+"Then, in your application code you can read these values during request time "
+"via ``cherrypy.request.app.config['Databases']``. For code that is outside "
 "the request process, you'll have to pass a reference to your Application "
 "around."
 msgstr ""
+"Luego, en el código de aplicación puede leer estos valores durante la "
+"petición mediante ``cherrypy.request.app.config ['Bases de Datos'] ``. Para "
+"el código que se encuentra fuera del proceso de solicitud, tendrá que pasar "
+"una referencia a su aplicación."
 
 #: ../../source/tutorial/config.rst:103
 msgid "Request config"
-msgstr ""
+msgstr "Request config"
 
 #: ../../source/tutorial/config.rst:105
 msgid ""
-"Each Request object possesses a single :attr:`request.config "
-"<cherrypy._cprequest.Request.config>` dict. Early in the request process, "
-"this dict is populated by merging Global config, Application config, and any"
-" config acquired while looking up the page handler (see next). This dict "
-"contains only those config entries which apply to the given request."
+"Each Request object possesses a single :attr:`request.config <cherrypy."
+"_cprequest.Request.config>` dict. Early in the request process, this dict is "
+"populated by merging Global config, Application config, and any config "
+"acquired while looking up the page handler (see next). This dict contains "
+"only those config entries which apply to the given request."
 msgstr ""
+"Cada objeto Request posee una sola :attr:`request.config <cherrypy."
+"_cprequest.Request.config>`. en el proceso de solicitud, este diccionario "
+"contiene una fusión de la  configuración global y la configuración de la "
+"aplicación, y cualquier configuración adquirida al buscar el controlador de "
+"páginas (ver a continuación). Este diccionario contiene sólo las entradas de "
+"configuración que se aplican a la solicitud dada."
 
 #: ../../source/tutorial/config.rst:113
 msgid ""
-"when you do an "
-":class:`InternalRedirect<cherrypy._cperror.InternalRedirect>`, this config "
-"attribute is recalculated for the new path."
+"when you do an :class:`InternalRedirect<cherrypy._cperror."
+"InternalRedirect>`, this config attribute is recalculated for the new path."
 msgstr ""
+"cuando haces un :class:`InternalRedirect<cherrypy._cperror."
+"InternalRedirect>`, este atributo config se calcula de nuevo para la nueva "
+"ruta."
 
 #: ../../source/tutorial/config.rst:117
 msgid "Declaration"
-msgstr ""
+msgstr "Declaration"
 
 #: ../../source/tutorial/config.rst:119
 msgid ""
-"Configuration data may be supplied as a Python dictionary, as a filename, or"
-" as an open file object."
+"Configuration data may be supplied as a Python dictionary, as a filename, or "
+"as an open file object."
 msgstr ""
+"Los datos de configuración se pueden facilitar como un diccionario de "
+"Python, como nombre de archivo, o como un objeto fichero abierto."
 
 #: ../../source/tutorial/config.rst:123
 msgid "Configuration files"
-msgstr ""
+msgstr "Los archivos de configuración"
 
 #: ../../source/tutorial/config.rst:125
 msgid ""
 "When you supply a filename or file, CherryPy uses Python's builtin "
 "ConfigParser; you declare Application config by writing each path as a "
-"section header, and each entry as a ``\"key: value\"`` (or ``\"key = "
-"value\"``) pair::"
+"section header, and each entry as a ``\"key: value\"`` (or ``\"key = value"
+"\"``) pair::"
 msgstr ""
+"Al suministrar un nombre de archivo o un archivo, CherryPy usa incorporado "
+"ConfigParser de Python, se declara de aplicación config escribiendo cada "
+"trayectoria como encabezado de sección, y cada entrada como ``\"key: value"
+"\"`` (or ``\"key = value\"``) pair::"
 
 #: ../../source/tutorial/config.rst:134
 msgid "Combined Configuration Files"
-msgstr ""
+msgstr "Archivos de configuración combinados"
 
 #: ../../source/tutorial/config.rst:136
 msgid ""
-"If you are only deploying a single application, you can make a single config"
-" file that contains both global and app entries. Just stick the global "
+"If you are only deploying a single application, you can make a single config "
+"file that contains both global and app entries. Just stick the global "
 "entries into a config section named ``[global]``, and pass the same file to "
-"both :func:`config.update <cherrypy._cpconfig.Config.update>` and "
-":func:`tree.mount <cherrypy._cptree.Tree.mount`. If you're calling "
-"``cherrypy.quickstart(app root, script name, config)``, it will pass the "
-"config to both places for you. But as soon as you decide to add another "
-"application to the same site, you need to separate the two config "
-"files/dicts."
+"both :func:`config.update <cherrypy._cpconfig.Config.update>` and :func:"
+"`tree.mount <cherrypy._cptree.Tree.mount`. If you're calling ``cherrypy."
+"quickstart(app root, script name, config)``, it will pass the config to both "
+"places for you. But as soon as you decide to add another application to the "
+"same site, you need to separate the two config files/dicts."
 msgstr ""
+"Si sólo se va a implementar una sola aplicación, puede hacer que un archivo "
+"de configuración única que contenga tanto las entradas globales y las de "
+"aplicación. Sólo se adhieren las entradas globales en una sección de "
+"configuración llamado ``[global]``, y pasar el mismo archivo para ambos :"
+"func:`config.update <cherrypy._cpconfig.Config.update>` y :func:`tree.mount "
+"<cherrypy._cptree.Tree.mount>`. Si llama ``cherrypy.quickstart (root "
+"aplicación, nombre del script, config)``, pasará a la configuración de los "
+"dos lugares para usted. Pero tan pronto como usted decide agregar otra "
+"aplicación en el mismo sitio, es necesario separar los dos archivos de "
+"configuración."
 
 #: ../../source/tutorial/config.rst:146
 msgid "Separate Configuration Files"
-msgstr ""
+msgstr "Archivos de configuración separados"
 
 #: ../../source/tutorial/config.rst:148
 msgid ""
 "If you're deploying more than one application in the same process, you need "
-"(1) file for global config, plus (1) file for *each* Application. The global"
-" config is applied by calling :func:`cherrypy.config.update "
-"<cherrypy._cpconfig.Config.update>`, and application config is usually "
-"passed in a call to :func:`cherrypy.tree.mount "
-"<cherrypy._cptree.Tree.mount>`."
+"(1) file for global config, plus (1) file for *each* Application. The global "
+"config is applied by calling :func:`cherrypy.config.update <cherrypy."
+"_cpconfig.Config.update>`, and application config is usually passed in a "
+"call to :func:`cherrypy.tree.mount <cherrypy._cptree.Tree.mount>`."
 msgstr ""
+"Si va a implementar más de una solicitud en el mismo proceso, es necesario "
+"(1) Archivo de configuración global, más (1) Archivo por *cada aplicación*. "
+"La configuración global se aplica llamando al :func:`cherrypy.config.update "
+"<cherrypy._cpconfig.Config.update>`, y la aplicación de configuración suele "
+"pasar en una llamada a :func:`cherrypy.tree.mount <cherrypy._cptree . Tree."
+"mount>`."
 
 #: ../../source/tutorial/config.rst:155
 msgid ""
 "In general, you should set global config first, and then mount each "
 "application with its own config. Among other benefits, this allows you to "
-"set up global logging so that, if something goes wrong while trying to mount"
-" an application, you'll see the tracebacks. In other words, use this order::"
+"set up global logging so that, if something goes wrong while trying to mount "
+"an application, you'll see the tracebacks. In other words, use this order::"
 msgstr ""
+"En general, la global debe pasarse primero, y luego montar cada aplicación "
+"con su propia configuración. Entre otras ventajas, esto le permite "
+"configurar el registro global, de modo que si algo sale mal al tratar de "
+"instalar una aplicación, verá los rastreos. En otras palabras, utilice este "
+"orden::"
 
 #: ../../source/tutorial/config.rst:181
 msgid "Values in config files use Python syntax"
 #: ../../source/tutorial/config.rst:211
 msgid ""
 "It's obvious that the extra method is the norm for that path; in fact, the "
-"code could be considered broken without it. In CherryPy, you can attach that"
-" bit of config directly on the page handler::"
+"code could be considered broken without it. In CherryPy, you can attach that "
+"bit of config directly on the page handler::"
 msgstr ""
 
 #: ../../source/tutorial/config.rst:220
 "``_cp_config`` is a reserved attribute which the dispatcher looks for at "
 "each node in the object tree. The ``_cp_config`` attribute must be a "
 "CherryPy config dictionary. If the dispatcher finds a ``_cp_config`` "
-"attribute, it merges that dictionary into the rest of the config. The entire"
-" merged config dictionary is placed in :attr:`cherrypy.request.config "
+"attribute, it merges that dictionary into the rest of the config. The entire "
+"merged config dictionary is placed in :attr:`cherrypy.request.config "
 "<cherrypy._cprequest.Request.config>`."
 msgstr ""
 
 
 #: ../../source/tutorial/config.rst:246
 msgid ""
-"Put config near where it's used for improved readability and "
-"maintainability."
+"Put config near where it's used for improved readability and maintainability."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:247
 "Because config entries usually just set attributes on objects, they're "
 "almost all of the form: ``object.attribute``. A few are of the form: "
 "``object.subobject.attribute``. They look like normal Python attribute "
-"chains, because they work like them. We call the first name in the chain the"
-" *\"config namespace\"*. When you provide a config entry, it is bound as "
+"chains, because they work like them. We call the first name in the chain the "
+"*\"config namespace\"*. When you provide a config entry, it is bound as "
 "early as possible to the actual object referenced by the namespace; for "
 "example, the entry ``response.stream`` actually sets the ``stream`` "
 "attribute of :class:`cherrypy.response <cherrypy._cprequest.Response>`! In "
 #: ../../source/tutorial/config.rst:271
 msgid ""
 "Each config namespace has its own handler; for example, the \"request\" "
-"namespace has a handler which takes your config entry and sets that value on"
-" the appropriate \"request\" attribute. There are a few namespaces, however,"
-" which don't work like normal attributes behind the scenes; however, they "
+"namespace has a handler which takes your config entry and sets that value on "
+"the appropriate \"request\" attribute. There are a few namespaces, however, "
+"which don't work like normal attributes behind the scenes; however, they "
 "still use dotted keys and are considered to \"have a namespace\"."
 msgstr ""
 
 msgstr ""
 
 #: ../../source/tutorial/config.rst:286 ../../source/tutorial/config.rst:287
-#: ../../source/tutorial/config.rst:287 ../../source/tutorial/config.rst:287
-#: ../../source/tutorial/config.rst:288 ../../source/tutorial/config.rst:288
-#: ../../source/tutorial/config.rst:289 ../../source/tutorial/config.rst:289
-#: ../../source/tutorial/config.rst:289 ../../source/tutorial/config.rst:290
-#: ../../source/tutorial/config.rst:290 ../../source/tutorial/config.rst:290
-#: ../../source/tutorial/config.rst:291 ../../source/tutorial/config.rst:292
-#: ../../source/tutorial/config.rst:292 ../../source/tutorial/config.rst:292
+#: ../../source/tutorial/config.rst:288 ../../source/tutorial/config.rst:289
+#: ../../source/tutorial/config.rst:290 ../../source/tutorial/config.rst:291
+#: ../../source/tutorial/config.rst:292
 msgid "X"
 msgstr ""
 
 #: ../../source/tutorial/config.rst:297
 msgid ""
 "Entries in this namespace controls the 'application engine'. These can only "
-"be declared in the global config. Any attribute of "
-":class:`cherrypy.engine<cherrypy.process.wspbus.Bus>` may be set in config; "
-"however, there are a few extra entries available in config:"
+"be declared in the global config. Any attribute of :class:`cherrypy."
+"engine<cherrypy.process.wspbus.Bus>` may be set in config; however, there "
+"are a few extra entries available in config:"
 msgstr ""
 
 #: ../../source/tutorial/config.rst:302
 msgid ""
-"Plugin attributes. Many of the :ref:`Engine Plugins<plugins>` are themselves"
-" attributes of ``cherrypy.engine``. You can set any attribute of an attached"
-" plugin by simply naming it. For example, there is an instance of the "
-":class:`Autoreloader<cherrypy.process.plugins.Autoreloader>` class at "
-"``engine.autoreload``; you can set its \"frequency\" attribute via the "
-"config entry ``engine.autoreload.frequency = 60``. In addition, you can turn"
-" such plugins on and off by setting ``engine.autoreload.on = True`` or "
-"``False``."
+"Plugin attributes. Many of the :ref:`Engine Plugins<plugins>` are themselves "
+"attributes of ``cherrypy.engine``. You can set any attribute of an attached "
+"plugin by simply naming it. For example, there is an instance of the :class:"
+"`Autoreloader<cherrypy.process.plugins.Autoreloader>` class at ``engine."
+"autoreload``; you can set its \"frequency\" attribute via the config entry "
+"``engine.autoreload.frequency = 60``. In addition, you can turn such plugins "
+"on and off by setting ``engine.autoreload.on = True`` or ``False``."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:309
 msgid ""
 "``engine.SIGHUP/SIGTERM``: These entries can be used to set the list of "
 "listeners for the given :ref:`channel<channels>`. Mostly, this is used to "
-"turn off the signal handling one gets automatically via "
-":func:`cherrypy.quickstart`."
+"turn off the signal handling one gets automatically via :func:`cherrypy."
+"quickstart`."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:317
 #: ../../source/tutorial/config.rst:327
 msgid ""
 "Configures logging. These can only be declared in the global config (for "
-"global logging) or ``[/]`` config (for each application). See "
-":class:`LogManager<cherrypy._cplogging.LogManager>` for the list of "
-"configurable attributes. Typically, the \"access_file\", \"error_file\", and"
-" \"screen\" attributes are the most commonly configured."
+"global logging) or ``[/]`` config (for each application). See :class:"
+"`LogManager<cherrypy._cplogging.LogManager>` for the list of configurable "
+"attributes. Typically, the \"access_file\", \"error_file\", and \"screen\" "
+"attributes are the most commonly configured."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:336
 msgid ""
-"Sets attributes on each Request. See the "
-":class:`Request<cherrypy._cprequest.Request>` class for a complete list."
+"Sets attributes on each Request. See the :class:`Request<cherrypy._cprequest."
+"Request>` class for a complete list."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:342
 msgid ""
-"Sets attributes on each Response. See the "
-":class:`Response<cherrypy._cprequest.Response>` class for a complete list."
+"Sets attributes on each Response. See the :class:`Response<cherrypy."
+"_cprequest.Response>` class for a complete list."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:347
 msgid ""
-"Controls the default HTTP server via "
-":class:`cherrypy.server<cherrypy._cpserver.Server>` (see that class for a "
-"complete list of configurable attributes). These can only be declared in the"
-" global config."
+"Controls the default HTTP server via :class:`cherrypy.server<cherrypy."
+"_cpserver.Server>` (see that class for a complete list of configurable "
+"attributes). These can only be declared in the global config."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:355
 msgid ""
-"Enables and configures additional request-processing packages. See the "
-":doc:`/tutorial/tools` overview for more information."
+"Enables and configures additional request-processing packages. See the :doc:"
+"`/tutorial/tools` overview for more information."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:359
 
 #: ../../source/tutorial/config.rst:364
 msgid ""
-"``wsgi.pipeline``: Appends to the WSGi pipeline. The value must be a list of"
-" (name, app factory) pairs. Each app factory must be a WSGI callable class "
+"``wsgi.pipeline``: Appends to the WSGi pipeline. The value must be a list of "
+"(name, app factory) pairs. Each app factory must be a WSGI callable class "
 "(or callable that returns a WSGI callable); it must take an initial "
 "'nextapp' argument, plus any optional keyword arguments. The optional "
 "arguments may be configured via ``wsgi.<name>.<arg>``."
 
 #: ../../source/tutorial/config.rst:369
 msgid ""
-"``wsgi.response_class``: Overrides the default "
-":class:`Response<cherrypy._cprequest.Response>` class."
+"``wsgi.response_class``: Overrides the default :class:`Response<cherrypy."
+"_cprequest.Response>` class."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:373
 msgid ""
 "Controls the \"checker\", which looks for common errors in app state "
 "(including config) when the engine starts. You can turn off individual "
-"checks by setting them to ``False`` in config. See "
-":class:`cherrypy._cpchecker.Checker` for a complete list. Global config "
-"only."
+"checks by setting them to ``False`` in config. See :class:`cherrypy."
+"_cpchecker.Checker` for a complete list. Global config only."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:382
 msgid ""
 "In essence, a config namespace handler is just a function, that gets passed "
 "any config entries in its namespace. You add it to a namespaces registry (a "
-"dict), where keys are namespace names and values are handler functions. When"
-" a config entry for your namespace is encountered, the corresponding handler"
-" function will be called, passing the config key and value; that is, "
+"dict), where keys are namespace names and values are handler functions. When "
+"a config entry for your namespace is encountered, the corresponding handler "
+"function will be called, passing the config key and value; that is, "
 "``namespaces[namespace](k, v)``. For example, if you write::"
 msgstr ""
 
 #: ../../source/tutorial/config.rst:402
 msgid ""
-"then ``cherrypy.config.update({\"db.connstring\": "
-"\"Oracle:host=1.10.100.200;sid=TEST\"})`` will call "
-"``db_namespace('connstring', 'Oracle:host=1.10.100.200;sid=TEST')``."
+"then ``cherrypy.config.update({\"db.connstring\": \"Oracle:host=1.10.100.200;"
+"sid=TEST\"})`` will call ``db_namespace('connstring', 'Oracle:"
+"host=1.10.100.200;sid=TEST')``."
 msgstr ""
 
 #: ../../source/tutorial/config.rst:405
 msgid ""
-"The point at which your namespace handler is called depends on where you add"
-" it:"
+"The point at which your namespace handler is called depends on where you add "
+"it:"
 msgstr ""
 
 #: ../../source/tutorial/config.rst:408
 
 #: ../../source/tutorial/config.rst:411
 msgid "Application"
-msgstr ""
+msgstr "Aplicación"
 
 #: ../../source/tutorial/config.rst:411
 msgid ":attr:`app.namespaces <cherrypy._cptree.Application.namespaces>`"
 
 #: ../../source/tutorial/config.rst:411
 msgid "Application.merge (which is called by cherrypy.tree.mount)"
-msgstr ""
+msgstr "Application.merge (que es llamado por cherrypy.tree.mount)"
 
 #: ../../source/tutorial/config.rst:412
 msgid "Request"
-msgstr ""
+msgstr "Request"
 
 #: ../../source/tutorial/config.rst:412
 msgid ""
-":attr:`app.request_class.namespaces "
-"<cherrypy._cprequest.Request.namespaces>`"
+":attr:`app.request_class.namespaces <cherrypy._cprequest.Request.namespaces>`"
 msgstr ""
+":attr:`app.request_class.namespaces <cherrypy._cprequest.Request.namespaces>`"
 
 #: ../../source/tutorial/config.rst:412
 msgid ""
 "Request.configure (called for each request, after the handler is looked up)"
 msgstr ""
+"Request.configure (llamada para cada solicitud, después de que el "
+"controlador se busca)"
 
 #: ../../source/tutorial/config.rst:415
 msgid ""
 "The name can be any string, and the handler must be either a callable or a "
 "(Python 2.5 style) context manager."
 msgstr ""
+"El nombre puede ser cualquier cadena, y el guía debe ser un exigible o un "
+"gestor de contexto (Python 2.5 style)."
 
 #: ../../source/tutorial/config.rst:418
 msgid ""
 "collected, you can supply a callable context manager in place of a normal "
 "function for the handler. Context managers are defined in :pep:`343`."
 msgstr ""
+"Si necesita código adicional que se ejecutará cuando se recogen todas las "
+"llaves de espacio de nombres, se puede proporcionar un gestor de contexto se "
+"puede llamar en lugar de una función normal del controlador. Administradores "
+"de contexto se definen en :pep:`343`."
 
 #: ../../source/tutorial/config.rst:425
 msgid "Environments"
Add a comment to this file

sphinx/source/locale/es/LC_MESSAGES/tutorial/dispatching.mo

Binary file modified.

sphinx/source/locale/es/LC_MESSAGES/tutorial/dispatching.po

-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: CherryPy 3.2.4\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-06-17 16:33\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2013-06-20 17:55-0400\n"
+"Last-Translator: Eneldo Serrata <eneldoserrata@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
 
 #: ../../source/tutorial/dispatching.rst:3
 msgid "Dispatching"
-msgstr ""
+msgstr "Dispatching"
 
 #: ../../source/tutorial/dispatching.rst:5
 msgid ""
-"The resource is not the storage object. The resource is not a mechanism that"
-" the server uses to handle the storage object. The resource is a conceptual "
-"mapping -- the server receives the identifier (which identifies the mapping)"
-" and applies it to its current mapping implementation (usually a combination"
-" of collection-specific deep tree traversal and/or hash tables) to find the "
+"The resource is not the storage object. The resource is not a mechanism that "
+"the server uses to handle the storage object. The resource is a conceptual "
+"mapping -- the server receives the identifier (which identifies the mapping) "
+"and applies it to its current mapping implementation (usually a combination "
+"of collection-specific deep tree traversal and/or hash tables) to find the "
 "currently responsible handler implementation and the handler implementation "
 "then selects the appropriate action+response based on the request content. "
 "All of these implementation-specific issues are hidden behind the Web "
 "interface; their nature cannot be assumed by a client that only has access "
 "through the Web interface."
 msgstr ""
+"Un recurso no es el objeto de almacenamiento. Un recurso no es un mecanismo "
+"que utiliza el servidor para manejar el objeto de almacenamiento. Un recurso "
+"es una mapeo conceptual - el servidor recibe el identificador (se identifica "
+"la asignación) y lo aplica a su aplicación de asignación actual (por lo "
+"general una combinación de específica de la colección del árbol de URL y/o "
+"tablas hash) para encontrar el controlador actualmente responsable para la "
+"implementación del controlador del controlador, selecciona la acción "
+"apropiada + respuesta basada en el contenido de la petición. Todos estos "
+"temas específicos de la implementación se ocultan detrás de la interfaz web, "
+"su naturaleza no puede ser asumida por un cliente que solo tiene acceso a "
+"través de la interfaz web."
 
 #: ../../source/tutorial/dispatching.rst:16
 msgid ""
-"`Roy Fielding "
-"<http://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation.htm>`_"
+"`Roy Fielding <http://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation."
+"htm>`_"
 msgstr ""
+"`Roy Fielding <http://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation."
+"htm>`_"
 
 #: ../../source/tutorial/dispatching.rst:18
 msgid ""
 "calls one for each request and uses its response (a string of HTML, for "
 "example) as the representation."
 msgstr ""
+"Cuando desee servir a un recurso en la Web, que en realidad nunca se sirve "
+"del recurso, ya que \"recursos\" son conceptos. Lo que sirve son "
+"representaciones del recurso, y *manipuladores página* son lo que utiliza "
+"CherryPy hacerlo. Manipuladores de página son las funciones que escriba; "
+"CherryPy llama a uno para cada solicitud y utiliza su respuesta (una cadena "
+"de HTML, JSON, XML etc.. por ejemplo) como la representación."
 
 #: ../../source/tutorial/dispatching.rst:25
 msgid ""
 "For the user, a web application is just like a website with static files. "
 "The user types (or clicks) a URL, and gets to the desired webpage. A "
 "conventional webserver uses the URL to retrieve a static file from the "
-"filesystem. A web application server, on the other hand, not only serves the"
-" content from static files; it can also map the URL it receives into some "
+"filesystem. A web application server, on the other hand, not only serves the "
+"content from static files; it can also map the URL it receives into some "
 "object and call it. The result is then sent back to the user's browser, "
 "where it is rendered into a viewable page. The result is a dynamic web "
 "application; for each URL, a unique object can be called into action. The "
 "key to understand how to write a new web application is to understand how "
 "this mapping occurs."
 msgstr ""
+"Para el usuario, una aplicación web es como un sitio web con archivos "
+"estáticos. El usuario escribe (o hace clic en) una URL, y llega a la página "
+"web deseada. Un servidor web convencional usa la URL para descargar un "
+"archivo estático del sistema de ficheros. Un servidor de aplicaciones web, "
+"por otra parte, no sólo sirve el contenido de los archivos estáticos, sino "
+"que también puede asignar la dirección URL que se asigna a un objeto y "
+"llamarlas. El resultado se envía de vuelta al navegador del usuario, en el "
+"que se representa en una página visible. El resultado es una aplicación web "
+"dinámica, para cada URL, un objeto único puede ser llamado a la acción. La "
+"clave para entender cómo se escribe una nueva aplicación web es entender "
+"cómo se produce esta asignación."
 
 #: ../../source/tutorial/dispatching.rst:36
 msgid ""
-"CherryPy takes the output of the appropriate page handler function, binds it"
-" to :attr:`cherrypy.response.body <cherrypy._cprequest.Response.body>`, and "
+"CherryPy takes the output of the appropriate page handler function, binds it "
+"to :attr:`cherrypy.response.body <cherrypy._cprequest.Response.body>`, and "
 "sends it as the HTTP response entity body. Your page handler function (and "
-"almost any other part of CherryPy) can directly set "
-":attr:`cherrypy.response.status <cherrypy._cprequest.Response.status>` and "
-":attr:`cherrypy.response.headers <cherrypy._cprequest.Response.headers>` as "
-"desired."
+"almost any other part of CherryPy) can directly set :attr:`cherrypy.response."
+"status <cherrypy._cprequest.Response.status>` and :attr:`cherrypy.response."
+"headers <cherrypy._cprequest.Response.headers>` as desired."
 msgstr ""
+"CherryPy toma la función de salida del controlador de página "
+"correspondiente, se une a :attr:`cherrypy.response.body <cherrypy._cprequest."
+"Response.body>`, y la envía la respuesta como una entidad body HTTP. La "
+"función de controlador de la página (y casi cualquier otra parte de "
+"CherryPy) puede establecer directamente :attr:`cherrypy.response.status "
+"<cherrypy._cprequest.Response.status>` y :attr:`cherrypy.response.headers "
+"<cherrypy._cprequest. response.headers>` como lo desee."
 
 #: ../../source/tutorial/dispatching.rst:45
 msgid "Dispatchers"
-msgstr ""
+msgstr "Dispatchers"
 
 #: ../../source/tutorial/dispatching.rst:47
 msgid ""
 "are, and 2) which one to call for a given 'identifier' (URI). In CherryPy, "
 "we use a Dispatcher object to:"
 msgstr ""
+"Antes de que CherryPy pueda llamar a los controladores de la página, tiene "
+"que saber 1) dónde están, y 2) cua llamar al pedir un \"identificador\" dado "
+"(URI). En CherryPy, se utiliza un objeto Dispatcher para:"
 
 #: ../../source/tutorial/dispatching.rst:51
 msgid "Understand the arrangement of handlers"
-msgstr ""
+msgstr "Entender la disposición de los manipuladores"
 
 #: ../../source/tutorial/dispatching.rst:52
 msgid "Find the appropriate page handler function"
-msgstr ""
+msgstr "Encuentre la función de controlador de página correspondiente"
 
 #: ../../source/tutorial/dispatching.rst:53
 msgid ""
-"Wrap your actual handler function in a :class:`PageHandler "
-"<cherrypy._cpdispatch.PageHandler>` object (see below)"
+"Wrap your actual handler function in a :class:`PageHandler <cherrypy."
+"_cpdispatch.PageHandler>` object (see below)"
 msgstr ""
+"Envuelva su función real en un controlador :class:`PageHandler <cherrypy."
+"_cpdispatch.PageHandler>` (ver más abajo)"
 
 #: ../../source/tutorial/dispatching.rst:55
 msgid ""
 "Set :attr:`cherrypy.request.handler <cherrypy._cprequest.Request.handler>` "
 "(to the :class:`PageHandler <cherrypy._cpdispatch.PageHandler>` wrapper)"
 msgstr ""
+"Asigne :attr:`cherrypy.request.handler <cherrypy._cprequest.Request."
+"handler>` (a la :class:`PageHandler <cherrypy._cpdispatch.PageHandler>` "
+"wrapper)"
 
 #: ../../source/tutorial/dispatching.rst:57
 msgid ""
-"Collect configuration entries into :attr:`cherrypy.request.config "
-"<cherrypy._cprequest.Request.config>`"
+"Collect configuration entries into :attr:`cherrypy.request.config <cherrypy."
+"_cprequest.Request.config>`"
 msgstr ""
+"Acceda entradas de configuración en :attr:`cherrypy.request.config <cherrypy."
+"_cprequest.Request.config>`"
 
 #: ../../source/tutorial/dispatching.rst:59
 msgid "Collect \"virtual path\" components"
-msgstr ""
+msgstr "Recoge componentes en \"virtual path\""
 
 #: ../../source/tutorial/dispatching.rst:61
 msgid ""
 "CherryPy has a default arrangement of handlers (see next), but also allows "
 "you to trade it for any arrangement you can think up and implement."
 msgstr ""
+"CherryPy tiene un acuerdo por defecto con los controladores (ver a "
+"continuación), pero también le permite operar por cualquier acuerdo que se "
+"pueda imaginar y ponerlo en práctica."
 
 #: ../../source/tutorial/dispatching.rst:67
 msgid "Default Dispatcher"
-msgstr ""
+msgstr "Dispatcher por defecto"
 
 #: ../../source/tutorial/dispatching.rst:69
 msgid ""
 "By default, CherryPy uses a fairly straightforward mapping procedure. The "
-"root of the site is the :attr:`Application.root "
-"<cherrypy._cptree.Application.root>` object. When it receives a URL, it "
-"breaks it into its path components, and proceeds looking down into the site "
-"until it finds an object that is the 'best match' for that particular URL. "
-"For each path component it tries to find an object with the same name, "
-"starting from ``root``, and going down for each component it finds, until it"
-" can't find a match. An example shows it better::"
+"root of the site is the :attr:`Application.root <cherrypy._cptree."
+"Application.root>` object. When it receives a URL, it breaks it into its "
+"path components, and proceeds looking down into the site until it finds an "
+"object that is the 'best match' for that particular URL. For each path "
+"component it tries to find an object with the same name, starting from "
+"``root``, and going down for each component it finds, until it can't find a "
+"match. An example shows it better::"
 msgstr ""
+"De forma predeterminada, CherryPy usa un procedimiento de mapeo bastante "
+"sencillo. La raíz del sitio es :attr:`Application.root <cherrypy._cptree."
+"Application.root>`. Cuando se recibe una URL, que la divide en sus "
+"componentes de ruta, y procede buscando hacia abajo en la página hasta que "
+"encuentre el objeto de una URL concreta. Para cada componente de la ruta que "
+"trata de encontrar el objeto con el mismo nombre, a partir de ``root ``, y "
+"bajando por cada componente que encuentra, hasta que no puede encontrar una "
+"coincidencia. Un ejemplo lo muestra mejor::"
 
 #: ../../source/tutorial/dispatching.rst:81
 msgid ""
-"In the example above, the URL ``http://localhost/onepage`` will point at the"
-" first object and the URL ``http://localhost/otherpage`` will point at the "
+"In the example above, the URL ``http://localhost/onepage`` will point at the "
+"first object and the URL ``http://localhost/otherpage`` will point at the "
 "second one. As usual, this search is done automatically. But it goes even "
 "further::"
 msgstr ""
+"En el ejemplo anterior, la URL ``http://localhost/onepage``  apuntará en el "
+"primer objeto y la URL ``http://localhost/otherpage``  apuntará a la "
+"segunda. Como es habitual, esta búsqueda se realiza automáticamente. Pero va "
+"más allá::"
 
 #: ../../source/tutorial/dispatching.rst:88
 msgid ""
 "the ``root.some.page`` object. If this object is exposed (or alternatively, "
 "its ``index`` method is), it will be called for that URL."
 msgstr ""
+"En este ejemplo, la URL ``http://localhost/some/page``  se asignará a la "
+"``root.some.page`` objeto. Si este objeto está expuesto (o, alternativamente "
+"es, su método ``index``), se llamó a esa URL."
 
 #: ../../source/tutorial/dispatching.rst:92
 msgid ""
 "In our HelloWorld example, adding the ``http://localhost/onepage/`` mapping "
 "to ``OnePage().index`` could be done like this::"
 msgstr ""
+"En nuestro ejemplo HelloWorld, agregamos que el ``http://localhost/onepage/"
+"`` mapea ``OnePage().index`` podría hacerse así::"
 
 #: ../../source/tutorial/dispatching.rst:114
 msgid "Normal methods"
-msgstr ""
+msgstr "Métodos normales"
 
 #: ../../source/tutorial/dispatching.rst:118
 msgid ""
 "CherryPy can directly call methods on the mounted objects, if it receives a "
 "URL that is directly mapped to them. For example::"
 msgstr ""
+"CherryPy puede llamar directamente a los métodos de los objetos montados, si "
+"recibe un URL que se asigna directamente a ellos. Por ejemplo ::"
 
 #: ../../source/tutorial/dispatching.rst:145
 msgid ""
-"In the example, ``root.foo`` contains a function object, named ``foo``. When"
-" CherryPy receives a request for the ``/foo`` URL, it will automatically "
-"call the ``foo()`` function. Note that it can be a plain function, or a "
-"method of any object; any callable will do it."
+"In the example, ``root.foo`` contains a function object, named ``foo``. When "
+"CherryPy receives a request for the ``/foo`` URL, it will automatically call "
+"the ``foo()`` function. Note that it can be a plain function, or a method of "
+"any object; any callable will do it."
 msgstr ""
+"El ejemplo, ``root.foo``  contiene un objeto función, llamado ``foo``. "
+"Cuando CherryPy recibe una solicitud de la URL ``/foo``, se llamará "
+"automáticamente a la función ``foo()``. Tenga en cuenta que puede ser una "
+"función normal, o un método de cualquier objeto, cualquier funcion lo hara."
 
 #: ../../source/tutorial/dispatching.rst:153
 msgid "Index methods"
-msgstr ""
+msgstr "El métodos index"
 
 #: ../../source/tutorial/dispatching.rst:157
 msgid ""
-"The ``index`` method has a special role in CherryPy: it handles intermediate"
-" URI's that end in a slash; for example, the URI ``/orders/items/`` might "
-"map to ``root.orders.items.index``. The ``index`` method can take additional"
-" keyword arguments if the request includes querystring or POST params; see "
-":ref:`kwargs`, next. However, unlike all other page handlers, it *cannot* "
+"The ``index`` method has a special role in CherryPy: it handles intermediate "
+"URI's that end in a slash; for example, the URI ``/orders/items/`` might map "
+"to ``root.orders.items.index``. The ``index`` method can take additional "
+"keyword arguments if the request includes querystring or POST params; see :"
+"ref:`kwargs`, next. However, unlike all other page handlers, it *cannot* "
 "take positional arguments (see :ref:`args`, below)."
 msgstr ""
+"El método ``index`` tiene un papel especial en CherryPy: maneja URI "
+"intermedia que terminan en una barra, por ejemplo, el URI ``/pedidos/"
+"productos/`` seria asignada ``root.orders.items.index``. El método ``index`` "
+"puede tomar argumentos de palabra clave adicionales si la solicitud incluye "
+"la cadenas de consulta o parametros POST; ver :ref:`kwargs`, al lado. Sin "
+"embargo, a diferencia de todos los demás controladores de la página, *no "
+"puede* recibir argumentos posicionales (ver :ref:`args`)."
 
 #: ../../source/tutorial/dispatching.rst:165
 msgid ""
-"The default dispatcher will always try to find a method named `index` at the"
-" end of the branch traversal. In the example above, the URI \"/onepage/\" "
-"would result in the call: ``app.root.onepage.index()``. Depending on the use"
-" of the :func:`trailing_slash Tool <cherrypy.lib.cptools.trailing_slash>`, "
-"that might be interrupted with an HTTPRedirect, but otherwise, both "
-"``\"/onepage\"`` (no trailing slash) and ``\"/onepage/\"`` (trailing slash) "
-"will result in the same call."
+"The default dispatcher will always try to find a method named `index` at the "
+"end of the branch traversal. In the example above, the URI \"/onepage/\" "
+"would result in the call: ``app.root.onepage.index()``. Depending on the use "
+"of the :func:`trailing_slash Tool <cherrypy.lib.cptools.trailing_slash>`, "
+"that might be interrupted with an HTTPRedirect, but otherwise, both ``\"/"
+"onepage\"`` (no trailing slash) and ``\"/onepage/\"`` (trailing slash) will "
+"result in the same call."
 msgstr ""
+"El dispatcher por defecto siempre tratará de encontrar un método llamado "
+"`index` al final del recorrido de la rama. En el ejemplo anterior, el URI \"/"
+"onepage/\" daría lugar a la llamada: ``app.root.onepage.index ()``. "
+"Dependiendo del uso de la :func:`trailing_slash Tool <cherrypy.lib.cptools."
+"trailing_slash>`, que puede ser interrumpido con un HTTPRedirect, pero por "
+"lo demás, ``\"/ onepage \" `` (sin barra al final) y ``\"/ onepage/\" `` "
+"(con barra final) dará lugar a la misma llamada."
 
 #: ../../source/tutorial/dispatching.rst:176
 msgid "Keyword Arguments"
-msgstr ""
+msgstr "Argumentos por nombre"
 
 #: ../../source/tutorial/dispatching.rst:180
 msgid ""
 "*keyword arguments*. For example, the following login form sends the "
 "``username`` and the ``password`` as form arguments using the POST method::"
 msgstr ""
+"Cualquier controlador de páginas que se llame por CherryPy (``index``, o por "
+"cualquier otro método) puede recibir datos adicionales de los formularios "
+"HTML o de otro tipo con *argumentos de palabra clave\". Por ejemplo, el "
+"siguiente formulario de acceso envía el nombre de ``usuario `` y "
+"``contraseña`` como argumentos de formulario utilizando el método POST::"
 
 #: ../../source/tutorial/dispatching.rst:196
 msgid "The following code can be used to handle this URL::"
-msgstr ""
+msgstr "El código siguiente se puede utilizar para manejar este URL::"
 
 #: ../../source/tutorial/dispatching.rst:203
 msgid ""
-"Both arguments have to be declared as *keyword arguments*. The default value"
-" can be used either to provide a suitable default value for optional "
+"Both arguments have to be declared as *keyword arguments*. The default value "
+"can be used either to provide a suitable default value for optional "
 "arguments, or to provide means for the application to detect if some values "
 "were missing from the request."
 msgstr ""
+"Ambos argumentos tienen que ser declarados como *argumentos de palabra "
+"clave*. El valor por defecto puede ser utilizado para proporcionar un valor "
+"predeterminado adecuado para los argumentos opcionales, o proporcionar los "
+"medios para la aplicación, para detectar si algunos valores faltaban en la "
+"solicitud."
 
 #: ../../source/tutorial/dispatching.rst:208
 msgid ""
-"CherryPy supports both the GET and POST method for HTML forms. Arguments are"
-" passed the same way, regardless of the original method used by the browser "
+"CherryPy supports both the GET and POST method for HTML forms. Arguments are "
+"passed the same way, regardless of the original method used by the browser "
 "to send data to the web server."
 msgstr ""
+"CherryPy soporta el método GET y POST para formularios HTML. Los argumentos "
+"se pasan de la misma manera, independientemente del método original "
+"utilizado por el navegador para enviar los datos al servidor web."
 
 #: ../../source/tutorial/dispatching.rst:215
 msgid "Positional Arguments"
-msgstr ""
+msgstr "Argumentos posicionales"
 
 #: ../../source/tutorial/dispatching.rst:219
 msgid ""
 "call: ``app.root.branch.leaf(4)``, or ``app.root.index(branch, leaf, 4)`` "
 "depending on how you have your handlers arranged."
 msgstr ""
+"Cuando se procesa una solicitud, la URI se divide en sus componentes, y cada "
+"uno se corresponde con el fin de encontrar los nodos en el árbol. Todos los "
+"componentes son \"virtual path\" y se pasan como argumentos posicionales. "
+"Por ejemplo, el URI ``\"/branch/leaf/4\"`` podría dar lugar a la llamada: "
+"``app.root.branch.leaf(4)`` o ``app.root.index(branch, leaf, 4)`` "
+"dependiendo de cómo usted tienga los controladores configurados."
 
 #: ../../source/tutorial/dispatching.rst:226
 msgid ""
-"Partial matches can happen when a URL contains components that do not map to"
-" the object tree. This can happen for a number of reasons. For example, it "
+"Partial matches can happen when a URL contains components that do not map to "
+"the object tree. This can happen for a number of reasons. For example, it "
 "may be an error; the user just typed the wrong URL. But it also can mean "
 "that the URL contains extra arguments."
 msgstr ""
+"Coincidencias parciales pueden ocurrir cuando una URL contiene componentes "
+"que no se asignan al árbol de objetos. Esto puede ocurrir por un número de "
+"razones. Por ejemplo, puede ser un error; el usuario acaba de teclear la "
+"dirección equivocada. Pero también puede significar que la URL contiene "
+"argumentos adicionales."
 
 #: ../../source/tutorial/dispatching.rst:231
 msgid ""
 "For example, assume that you have a blog-like application written in "
-"CherryPy that takes the year, month and day as part of the URL "
-"``http://localhost/blog/2005/01/17``. This URL can be handled by the "
-"following code::"
+"CherryPy that takes the year, month and day as part of the URL ``http://"
+"localhost/blog/2005/01/17``. This URL can be handled by the following code::"
 msgstr ""
+"Por ejemplo, suponga que tiene una aplicación de tipo blog escrito en "
+"CherryPy que lleva el año, mes y día como parte de la URL ``http://localhost/"
+"blog/2005/01/17`` . Esta URL puede ser manejada por el siguiente código::"
 
 #: ../../source/tutorial/dispatching.rst:244
 msgid "So the URL above will be mapped as a call to::"
-msgstr ""
+msgstr "Así que la URL anterior se asignará como una llamada a::"
 
 #: ../../source/tutorial/dispatching.rst:248
 msgid ""
 "In this case, there is a partial match up to the ``blog`` component. The "
-"rest of the URL can't be found in the mounted object tree. In this case, the"
-" ``blog()`` method will be called, and the positional parameters will "
-"receive the remaining path segments as arguments. The values are passed as "
-"strings; in the above mentioned example, the arguments would still need to "
-"be converted back into numbers, but the idea is correctly presented."
+"rest of the URL can't be found in the mounted object tree. In this case, the "
+"``blog()`` method will be called, and the positional parameters will receive "
+"the remaining path segments as arguments. The values are passed as strings; "
+"in the above mentioned example, the arguments would still need to be "
+"converted back into numbers, but the idea is correctly presented."
 msgstr ""
+"En este caso, hay una coincidencia parcial hacia el componente ``blog``. El "
+"resto de la URL no se puede encontrar en el árbol de objetos montados. En "
+"este caso, el método ``blog ()``, será llamado y los parámetros posicionales "
+"recibirá los restantes segmentos de la URL como argumentos. Los valores se "
+"pasan como cadenas, en el ejemplo mencionado anteriormente, aún tendría que "
+"convertirse de nuevo en números los argumentos, pero la idea se presenta "
+"correctamente."
 
 #: ../../source/tutorial/dispatching.rst:258
 msgid "Default methods"
-msgstr ""
+msgstr "Método Default"
 
 #: ../../source/tutorial/dispatching.rst:262
 msgid ""
 "''up'' the tree looking for `default` methods. Default methods work just "
 "like any other method with positional arguments, but are defined one level "
 "further down, in case you have multiple methods to expose. For example, we "
-"could have written the above \"blog\" example equivalently with a "
-"\"default\" method instead::"
+"could have written the above \"blog\" example equivalently with a \"default"
+"\" method instead::"
 msgstr ""
+"Si el dispatcher por defecto no es capaz de localizar un controlador de "
+"páginas adecuado caminando por el árbol, tiene una opción de último recurso: "
+"se empieza a caminar de nuevo ''hasta'' el árbol en busca de métodos "
+"`default`. Métodos predeterminados funcionan igual que cualquier otro método "
+"con argumentos posicionales, pero se define a un nivel más abajo, en caso de "
+"tener múltiples métodos para exponer. Por ejemplo, podríamos haber escrito "
+"el \"blog\" equivalente con un método\"default\" en lugar::"
 
 #: ../../source/tutorial/dispatching.rst:283
 msgid ""
-"So the URL ``http://localhost/blog/2005/01/17`` will be mapped as a call "
-"to::"
+"So the URL ``http://localhost/blog/2005/01/17`` will be mapped as a call to::"
 msgstr ""
+"Así que la URL ``http://localhost/blog/2005/01/17`` se asignará como una "
+"llamada a::"
 
 #: ../../source/tutorial/dispatching.rst:287
 msgid ""
 "You could achieve the same effect by defining a ``__call__`` method in this "
 "case, but \"default\" just reads better. ;)"
 msgstr ""
+"Usted podría conseguir el mismo efecto mediante la definición de un método "
+"``__call__`` en este caso, pero por \"default\" simplemente lee mejor. ;)"
 
 #: ../../source/tutorial/dispatching.rst:291
 msgid "Special characters"
-msgstr ""
+msgstr "Caracteres especiales"
 
 #: ../../source/tutorial/dispatching.rst:293
 msgid ""
-"You can use dots in a URI like ``/path/to/my.html``, but Python method names"
-" don't allow dots. To work around this, the default dispatcher converts all "
+"You can use dots in a URI like ``/path/to/my.html``, but Python method names "
+"don't allow dots. To work around this, the default dispatcher converts all "
 "dots in the URI to underscores before trying to find the page handler. In "
 "the example, therefore, you would name your page handler \"def my_html\". "
-"However, this means the page is also available at the URI "
-"``/path/to/my_html``. If you need to protect the resource (e.g. with "
-"authentication), **you must protect both URLs**."
+"However, this means the page is also available at the URI ``/path/to/"
+"my_html``. If you need to protect the resource (e.g. with authentication), "
+"**you must protect both URLs**."
 msgstr ""
+"Puede utilizar los puntos en un URI como ``/path/to/mi.html ``, pero los "
+"nombres de métodos de Python no permitir puntos. Para evitar esto, el "
+"despachador predeterminado convierte todos los puntos en el URI de subrayado "
+"antes de tratar de encontrar el controlador de la página. En el ejemplo, por "
+"lo tanto, tendría el nombre de su controlador de la página \"def my_html\". "
+"Sin embargo, esto significa que la página también está disponible en el URI "
+"``/path/to/my_html``. Si usted necesita para proteger los recursos (por "
+"ejemplo, con autenticación), **debe proteger tanto a las direcciones URL.**"
 
 #: ../../source/tutorial/dispatching.rst:301
 msgid ""
 "The default dispatcher now takes a 'translate' argument, which converts all "
-"characters in string.punctuation to underscores using the builtin "
-":meth:`str.translate <str.translate>` method of string objects. You are free"
-" to specify any other translation string of length 256."
+"characters in string.punctuation to underscores using the builtin :meth:`str."
+"translate <str.translate>` method of string objects. You are free to specify "
+"any other translation string of length 256."
 msgstr ""
+"El dispatcher por defecto ahora toma un argumento de \"traducir\", que "
+"convierte todos los caracteres de string.punctuation a subrayado (_) usando "
+"una orden interna :meth:`str.translate <str.translate>` de objetos de "
+"cadena. Usted es libre de especificar cualquier otra cadena de traducción de "
+"la longitud 256."
 
 #: ../../source/tutorial/dispatching.rst:308
 msgid "Other Dispatchers"
-msgstr ""
+msgstr "Otros Dispatchers"
 
 #: ../../source/tutorial/dispatching.rst:310
 msgid ""
 "But Mr. Fielding mentions two kinds of \"mapping implementations\" above: "
 "trees and hash tables ('dicts' in Python). Some web developers claim trees "
 "are difficult to change as an application evolves, and prefer to use dicts "
-"(or a list of tuples) instead. Under these schemes, the mapping key is often"
-" a regular expression, and the value is the handler function. For example::"
+"(or a list of tuples) instead. Under these schemes, the mapping key is often "
+"a regular expression, and the value is the handler function. For example::"
 msgstr ""
+"Pero el señor Fielding menciona dos tipos de \"de implementaciones de mapeo"
+"\" sobre: árboles y tablas hash ('diccionarios' en Python). Algunos "
+"desarrolladores web afirman que los árboles son difíciles de cambiar a "
+"medida que se desarrolla una aplicación, y prefieren utilizar adictos (o una "
+"lista de tuplas) en su lugar. Bajo estos esquemas, la clave de asignación es "
+"a menudo una expresión regular, y el valor es la función de controlador. Por "
+"ejemplo::"
 
 #: ../../source/tutorial/dispatching.rst:327
 msgid ""
-"CherryPy allows you to use a "
-":class:`Dispatcher<cherrypy._cpdispatch.Dispatcher>` other than the default "
-"if you wish. By using another :class:`Dispatcher "
-"<cherrypy._cpdispatch.Dispatcher>` (or writing your own), you gain complete "
-"control over the arrangement and behavior of your page handlers (and "
-"config). To use another dispatcher, set the ``request.dispatch`` config "
-"entry to the dispatcher you like::"
+"CherryPy allows you to use a :class:`Dispatcher<cherrypy._cpdispatch."
+"Dispatcher>` other than the default if you wish. By using another :class:"
+"`Dispatcher <cherrypy._cpdispatch.Dispatcher>` (or writing your own), you "
+"gain complete control over the arrangement and behavior of your page "
+"handlers (and config). To use another dispatcher, set the ``request."
+"dispatch`` config entry to the dispatcher you like::"
 msgstr ""
+"CherryPy permite utilizar un :class:`Dispatcher<cherrypy._cpdispatch."
+"Dispatcher>` distintas de la predeterminada si así lo desea. Mediante el uso "
+"de otra :class:`Dispatcher <cherrypy._cpdispatch.Dispatcher>` (o escribir el "
+"tuyo propio), se obtiene un control completo sobre la disposición y el "
+"comportamiento de los controladores de las páginas (y configuración). Para "
+"utilizar otro despachador, establezca la entrada ``request.dispatch`` en la "
+"configuracion al despachador que guste::"
 
 #: ../../source/tutorial/dispatching.rst:344
 msgid "A couple of notes about the example above:"
-msgstr ""
+msgstr "Un par de notas sobre el ejemplo anterior:"
 
 #: ../../source/tutorial/dispatching.rst:346
 msgid ""
 "to :func:`cherrypy.tree.mount <cherrypy._cptree.Tree.mount>`; pass ``None`` "
 "in this case."
 msgstr ""
+"Desde que las rutas no tengan ninguna jerarquía de mando, no tiene que "
+"pasarlas por una raíz a :func:`cherrypy.tree.mount <cherrypy._cptree.Tree."
+"mount>`; coloque ``None`` en estos caso."
 
 #: ../../source/tutorial/dispatching.rst:349
 msgid ""
 "at the root (\"/\") is common. But you can use different dispatchers for "
 "different paths if you like."
 msgstr ""
+"Por lo general, vamos a usar el mismo dispatcher para una aplicación "
+"completa, por lo que especifica que en la raíz (\"/\") es común. Sin "
+"embargo, se pueden utilizar diferentes dispatchers de diferentes caminos, si "
+"quieres."
 
 #: ../../source/tutorial/dispatching.rst:352
 msgid ""
 "Because the dispatcher is so critical to finding handlers (and their "
-"ancestors), this is one of the few cases where you *cannot* use "
-":ref:`_cp_config <cp_config>`; it's a chicken-and-egg problem: you can't ask"
-" a handler you haven't found yet how it wants to be found."
+"ancestors), this is one of the few cases where you *cannot* use :ref:"
+"`_cp_config <cp_config>`; it's a chicken-and-egg problem: you can't ask a "
+"handler you haven't found yet how it wants to be found."
 msgstr ""
+"Debido a que el dispatcher es tan importante para la búsqueda de los "
+"controladores (y sus padres), este es uno de los pocos casos en los que *no "
+"puede* usar :ref:`_cp_config <cp_config>`; es un problema de la gallina y el "
+"huevo: no se puede pedir al controlador que aún no ha encontrado la forma en "
+"que quiere ser encontrado."
 
 #: ../../source/tutorial/dispatching.rst:356
 msgid ""
-"Since Routes are explicit, there's no need to set the ``exposed`` attribute."
-" **All routes are always exposed.**"
+"Since Routes are explicit, there's no need to set the ``exposed`` attribute. "
+"**All routes are always exposed.**"
 msgstr ""
+"Desde rutas son explícitas, no hay necesidad de colocar el atributo. "
+"``exposed``. **Todas las rutas están siempre expuestos.**"
 
 #: ../../source/tutorial/dispatching.rst:359
 msgid ""
 "CherryPy ships with additional Dispatchers in :mod:`cherrypy._cpdispatch`."
 msgstr ""
+"CherryPy viene con despachadores adicionales :mod:`cherrypy._cpdispatch`."
 
 #: ../../source/tutorial/dispatching.rst:364
 msgid "PageHandler Objects"
-msgstr ""
+msgstr "Objetos PageHandler"
 
 #: ../../source/tutorial/dispatching.rst:366
 msgid ""
-"Because the Dispatcher sets :attr:`cherrypy.request.handler "
-"<cherrypy._cprequest.Request.handler>`, it can also control the input and "
-"output of that handler function by wrapping the actual handler. The default "
-"Dispatcher passes \"virtual path\" components as positional arguments and "
-"passes query-string and entity (GET and POST) parameters as keyword "
-"arguments. It uses a :class:`PageHandler <cherrypy._cpdispatch.PageHandler>`"
-" object for this, which looks a lot like::"
+"Because the Dispatcher sets :attr:`cherrypy.request.handler <cherrypy."
+"_cprequest.Request.handler>`, it can also control the input and output of "
+"that handler function by wrapping the actual handler. The default Dispatcher "
+"passes \"virtual path\" components as positional arguments and passes query-"
+"string and entity (GET and POST) parameters as keyword arguments. It uses a :"
+"class:`PageHandler <cherrypy._cpdispatch.PageHandler>` object for this, "
+"which looks a lot like::"
 msgstr ""
+"Cuando se establece el Dispatcher :attr:`cherrypy.request.handler <cherrypy."
+"_cprequest.Request.handler>`, también se controla la entrada y salida de la "
+"función de controlador que envuelve al controlador real. El Dispatcher pasa "
+"por defecto el componente ”virtual path”  como argumentos posicionales y "
+"pasa los parámetros de cadena de consulta y de las entidades (GET y POST) "
+"como argumentos de palabras clave. Se utiliza un :class:"
+"`PageHandler<cherrypy._cpdispatch.PageHandler>` que se parece mucho a::"
 
 #: ../../source/tutorial/dispatching.rst:386
 msgid ""
-"The actual default PageHandler is a little bit more complicated (because the"
-" args and kwargs are bound later), but you get the idea. And you can see how"
-" easy it would be to provide your own behavior, whether your own inputs or "
+"The actual default PageHandler is a little bit more complicated (because the "
+"args and kwargs are bound later), but you get the idea. And you can see how "
+"easy it would be to provide your own behavior, whether your own inputs or "
 "your own way of modifying the output. Remember, whatever is returned from "
-"the handler will be bound to :attr:`cherrypy.response.body "
-"<cherrypy._cprequest.Response.body>` and will be used as the response "
-"entity."
+"the handler will be bound to :attr:`cherrypy.response.body <cherrypy."
+"_cprequest.Response.body>` and will be used as the response entity."
 msgstr ""
+"El PageHandler predeterminado real es un poco más complicado (ya que los "
+"argumentos y kwargs son obligatorios), pero usted consigue la idea. Y usted "
+"puede ver lo fácil que sería para proporcionar su propio comportamiento, si "
+"sus propias entradas o su propia manera de modificar la salida. Recuerde, "
+"todo lo que se devuelve desde el controlador quedará obligado a :attr:"
+"`<cherrypy._cprequest.Response.body> cherrypy.response.body` y será "
+"utilizado como la entidad de respuesta."
 
 #: ../../source/tutorial/dispatching.rst:395
 msgid "Replacing page handlers"
-msgstr ""
+msgstr "Sustitución de los manipuladores de página"
 
 #: ../../source/tutorial/dispatching.rst:397
 msgid ""
-"The handler that's going to be called during a request is available at "
-":attr:`cherrypy.request.handler <cherrypy._cprequest.Request.handler>`, "
-"which means your code has a chance to replace it before the handler runs. "
-"It's a snap to write a Tool to do so with a :class:`HandlerWrapperTool "
-"<cherrypy._cptools.HandlerWrapperTool>`::"
+"The handler that's going to be called during a request is available at :attr:"
+"`cherrypy.request.handler <cherrypy._cprequest.Request.handler>`, which "
+"means your code has a chance to replace it before the handler runs. It's a "
+"snap to write a Tool to do so with a :class:`HandlerWrapperTool <cherrypy."
+"_cptools.HandlerWrapperTool>`::"
 msgstr ""
+"El controlador que se va a llamar durante una solicitud está disponible en :"
+"attr:`cherrypy.request.handler <cherrypy._cprequest.Request.handler>`, lo "
+"que significa que su código tiene la oportunidad de reemplazarlo antes de "
+"ejecutar el controlador. Es muy fácil de escribir una herramienta para "
+"hacerlo con un :class:`HandlerWrapperTool <cherrypy._cptools."
+"HandlerWrapperTool>`::"
 
 #: ../../source/tutorial/dispatching.rst:419
 msgid "Configuration"
-msgstr ""
+msgstr "Configuración"
 
 #: ../../source/tutorial/dispatching.rst:421
 msgid ""
 "URI's to handlers is not always 1:1, this provides a flexibility which is "
 "not as easily definable in other, flatter arrangements."
 msgstr ""
+"La disposición por defecto de los controladores de CherryPy es un árbol. "
+"Esto permite una técnica de configuración muy potente: la configuracion se "
+"puede conectar a un nodo en el árbol y en cascada hacia abajo todos los "
+"hijos de ese nodo. Dado que la asignación de URI de a los manipuladores no "
+"siempre es de 1:1, esto proporciona una flexibilidad que no es tan fácil de "
+"definir en otras disposiciones, más planas."
 
 #: ../../source/tutorial/dispatching.rst:427
 msgid ""
 "However, because the arrangement of config is directly related to the "
 "arrangement of handlers, it is the responsibility of the Dispatcher to "
 "collect per-handler config, merge it with per-URI and global config, and "
-"bind the resulting dict to :attr:`cherrypy.request.config "
-"<cherrypy._cprequest.Request.config>`. This dict is of depth 1 and will "
-"contain all config entries which are in effect for the current request."
+"bind the resulting dict to :attr:`cherrypy.request.config <cherrypy."
+"_cprequest.Request.config>`. This dict is of depth 1 and will contain all "
+"config entries which are in effect for the current request."
 msgstr ""
+"Sin embargo, debido a la disposición de config está directamente relacionada "
+"con la disposición de los controladores, es la responsabilidad del "
+"Dispatcher de recoger config por-manejador, fusionarla con config por-URI y "
+"global y unir al dicccionario el resultado :attr:`cherrypy.request.config "
+"<cherrypy._cprequest.Request.config>`. Este diccionario es de profundidad 1 "
+"y contendrá todas las entradas de configuración que afectan la solicitud "
+"actual."
 
 #: ../../source/tutorial/dispatching.rst:116
 #: ../../source/tutorial/dispatching.rst:155
 #: ../../source/tutorial/dispatching.rst:260
 msgid "methods"
-msgstr ""
+msgstr "métodos"
 
 #: ../../source/tutorial/dispatching.rst:116
 msgid "normal"
-msgstr ""
+msgstr "normal"
 
 #: ../../source/tutorial/dispatching.rst:155
-#: ../../source/tutorial/dispatching.rst:155
 msgid "index"
-msgstr ""
+msgstr "index"
 
 #: ../../source/tutorial/dispatching.rst:178
 msgid "forms"
-msgstr ""
+msgstr "forms"
 
 #: ../../source/tutorial/dispatching.rst:178
 msgid "**kwargs"
-msgstr ""
+msgstr "**kwargs"
 
 #: ../../source/tutorial/dispatching.rst:217
 msgid "path"
-msgstr ""
+msgstr "ruta"
 
 #: ../../source/tutorial/dispatching.rst:217
 msgid "virtual path"
-msgstr ""
+msgstr "ruta virtual"
 
 #: ../../source/tutorial/dispatching.rst:217
 msgid "path segments"
-msgstr ""
+msgstr "path segments"
 
 #: ../../source/tutorial/dispatching.rst:217
 msgid "*args"
-msgstr ""
+msgstr "*args"
 
 #: ../../source/tutorial/dispatching.rst:217
 msgid "positional arguments"
-msgstr ""
+msgstr "argumentos posicionales"
 
 #: ../../source/tutorial/dispatching.rst:260
-#: ../../source/tutorial/dispatching.rst:260
 msgid "default"
-msgstr ""
+msgstr "default"
Add a comment to this file

sphinx/source/locale/es/LC_MESSAGES/tutorial/exposing.mo

Binary file modified.

sphinx/source/locale/es/LC_MESSAGES/tutorial/exposing.po

-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: CherryPy 3.2.4\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-06-17 16:33\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS&g