From 8361ec2f2c30d73b61826cbd294c1efbca04d4ae Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Mon, 23 Oct 2023 11:02:33 -0500 Subject: [PATCH 1/4] =?UTF-8?q?Traducci=C3=B3n=20library/cgitb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/cgitb.po | 92 +++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/library/cgitb.po b/library/cgitb.po index 008726eb08..fd1332ca02 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -11,19 +11,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-11 16:23-0300\n" +"PO-Revision-Date: 2023-10-23 11:01-0500\n" "Last-Translator: Sofía Denner \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/cgitb.rst:2 msgid ":mod:`cgitb` --- Traceback manager for CGI scripts" -msgstr ":mod:`cgitb` --- Administrador *traceback* para scripts CGI." +msgstr ":mod:`cgitb` --- Controlador de rastreos o *traceback*para scripts CGI" #: ../Doc/library/cgitb.rst:11 msgid "**Source code:** :source:`Lib/cgitb.py`" @@ -34,7 +35,7 @@ msgid "" "The :mod:`cgitb` module is deprecated (see :pep:`PEP 594 <594#cgitb>` for " "details)." msgstr "" -"El módulo :mod:`cgitb` está deprecado (ver :pep:`PEP 594 <594#cgitb>` para " +"El módulo :mod:`cgitb` está obsoleto (ver :pep:`PEP 594 <594#cgitb>` para " "más detalles)." #: ../Doc/library/cgitb.rst:25 @@ -50,23 +51,23 @@ msgid "" "debug the problem. Optionally, you can save this information to a file " "instead of sending it to the browser." msgstr "" -"El modulo :mod:`cgitb` proporciona un manejador de excepciones especial para " -"script de Python. (Su nombre es un poco engañoso. Fue diseñado originalmente " -"para mostrar una amplia información de *traceback* en HTML para los scripts " -"CGI). Más tarde se generalizó para mostrar también esta información en texto " -"plano). Después de activar este módulo, si se produce una excepción no " -"capturada, se mostrará un informe detallado y formateado. El informe incluye " -"un *traceback* que muestra extractos del código fuente para cada nivel, así " -"como los valores de los argumentos y las variables locales de las funciones " -"que se están ejecutando actualmente, para ayudar a depurar el problema. " -"Opcionalmente, puede guardar esta información en un archivo en lugar de " -"enviarla al navegador." +"El modulo :mod:`cgitb` proporciona un manejador especial de excepciones para " +"scripts de Python. (Su nombre es un poco engañoso. Fue diseñado " +"originalmente para mostrar una amplia información de rastreo o *traceback* " +"en HTML para los scripts CGI). Más tarde se generalizó para mostrar también " +"esta información en texto plano). Después de activar este módulo, si se " +"produce una excepción no capturada, se mostrará un informe formateado y " +"detallado. El informe incluye un rastreo o *traceback* que muestra extractos " +"del código fuente para cada nivel, así como los valores de los argumentos y " +"las variables locales de las funciones que se están ejecutando actualmente, " +"para ayudar a depurar el problema. Opcionalmente, puedes guardar esta " +"información en un archivo en lugar de enviarla al navegador." #: ../Doc/library/cgitb.rst:35 msgid "To enable this feature, simply add this to the top of your CGI script::" msgstr "" -"Para activar esta función, simplemente añada lo siguiente a la parte " -"superior de su script CGI::" +"Para activar esta función, simplemente añade lo siguiente a la parte " +"superior de tu script CGI::" #: ../Doc/library/cgitb.rst:40 msgid "" @@ -84,9 +85,9 @@ msgid "" "default handling for exceptions by setting the value of :attr:`sys." "excepthook`." msgstr "" -"Esta función hace que el módulo :mod:`cgitb` se encargue del control " -"predeterminado del intérprete para las excepciones estableciendo el valor " -"de :attr:`sys.excepthook`." +"Esta función hace que el módulo :mod:`cgitb` se haga cargo del manejo de " +"excepciones por defecto del intérprete, estableciendo el valor de :attr:`sys." +"excepthook`." #: ../Doc/library/cgitb.rst:52 msgid "" @@ -101,15 +102,16 @@ msgid "" "``\"html\"``." msgstr "" "El argumento opcional *display* tiene como valor predeterminado ``1`` y se " -"puede establecer en ``0`` para suprimir el envío de la traza al navegador. " -"Si el argumento *logdir* está presente, los informes de *traceback* se " -"escriben en los archivos. El valor de *logdir* debe ser un directorio donde " -"se estos archivos serán colocados. El argumento opcional *context* es el " -"número de líneas de contexto que se mostrarán alrededor de la línea actual " -"del código fuente en el *traceback*; esto tiene como valor predeterminado " -"``5``. Si el argumento opcional *format* es ``\"html\"``, la salida se " -"formatea como HTML. Cualquier otro valor fuerza la salida de texto sin " -"formato. El valor predeterminado es ``\"html\"``." +"puede establecer en ``0`` para suprimir el rastreo o *traceback* al " +"navegador. Si el argumento *logdir* está presente, los informes de rastreo o " +"*traceback* se escriben en los archivos. El valor de *logdir* debe ser un " +"directorio donde estos archivos serán colocados. El argumento opcional " +"*context* es el número de líneas de contexto que se mostrarán alrededor de " +"la línea actual del código fuente en el rastreo o *traceback*; esto tiene " +"como valor predeterminado ``5``. Si el argumento opcional *format* es " +"``\"html\"``, la salida se formatea como HTML. Cualquier otro valor fuerza " +"la salida a un formato de texto plano. El valor predeterminado es " +"``\"html\"``." #: ../Doc/library/cgitb.rst:64 msgid "" @@ -120,11 +122,11 @@ msgid "" "source code in the traceback; this defaults to ``5``." msgstr "" "Esta función controla la excepción descrita por *info* (una tupla de 3 que " -"contiene el resultado de :func:`sys..exc_info`), dando formato a su " -"*traceback* como texto y retornando el resultado como una cadena de " +"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " +"o *traceback* como texto y retornando el resultado como una cadena de " "caracteres. El argumento opcional *context* es el número de líneas de " "contexto que se mostrarán alrededor de la línea actual de código fuente en " -"el *traceback*; esto tiene como valor predeterminado ``5``." +"el rastreo o *traceback*; esto tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:73 msgid "" @@ -135,11 +137,11 @@ msgid "" "source code in the traceback; this defaults to ``5``." msgstr "" "Esta función controla la excepción descrita por *info* (una tupla de 3 que " -"contiene el resultado de :func:`sys..exc_info`), dando formato a su " -"*traceback* como HTML y retornando el resultado como una cadena de " +"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " +"o *traceback* como HTML y retornando el resultado como una cadena de " "caracteres. El argumento opcional *context* es el número de líneas de " "contexto que se mostrarán alrededor de la línea actual de código fuente en " -"el *traceback*; esto tiene como valor predeterminado ``5``." +"el rastreo o *traceback*; esto tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:82 msgid "" @@ -152,30 +154,30 @@ msgid "" "exception is obtained from :func:`sys.exc_info`." msgstr "" "Esta función maneja una excepción utilizando la configuración predeterminada " -"(es decir, mostrar un informe en el navegador, pero no registrar en un " +"(es decir, mostrar un informe en el navegador, pero no lo registrará en un " "archivo). Esto puede ser usado cuando has capturado una excepción y quieres " "reportarla usando :mod:`cgitb`. El argumento opcional *info* debería ser una " "tupla de 3 que contenga un tipo de excepción, un valor de excepción y un " -"objeto de *traceback*, exactamente como la tupla retornada por :func:`sys." -"exc_info`. Si no se proporciona el argumento *info*, la excepción actual se " -"obtiene de :func:`sys.exc_info`." +"objeto de rastreo o *traceback*, exactamente como la tupla retornada por :" +"func:`sys.exc_info`. Si no se proporciona el argumento *info*, la excepción " +"actual se obtiene de :func:`sys.exc_info`." #: ../Doc/library/cgitb.rst:13 msgid "CGI" -msgstr "" +msgstr "CGI" #: ../Doc/library/cgitb.rst:13 msgid "exceptions" -msgstr "" +msgstr "excepciones" #: ../Doc/library/cgitb.rst:13 msgid "tracebacks" -msgstr "" +msgstr "rastreos o *tracebacks*" #: ../Doc/library/cgitb.rst:13 msgid "in CGI scripts" -msgstr "" +msgstr "en scripts CGI" #: ../Doc/library/cgitb.rst:47 msgid "excepthook() (in module sys)" -msgstr "" +msgstr "excepthook() (en el módulo sys)" From 66738d5b55f634de1ac4bcf6d24282e1c0e0f138 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Mon, 30 Oct 2023 08:53:25 -0500 Subject: [PATCH 2/4] correcciones library-cgitb --- library/cgitb.po | 75 ++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/library/cgitb.po b/library/cgitb.po index fd1332ca02..bef407f4ef 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-10-23 11:01-0500\n" +"PO-Revision-Date: 2023-10-30 08:52-0500\n" "Last-Translator: Sofía Denner \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -20,11 +20,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" -"X-Generator: Poedit 3.4\n" +"X-Generator: Poedit 3.4.1\n" #: ../Doc/library/cgitb.rst:2 msgid ":mod:`cgitb` --- Traceback manager for CGI scripts" -msgstr ":mod:`cgitb` --- Controlador de rastreos o *traceback*para scripts CGI" +msgstr ":mod:`cgitb` --- Controlador de rastreos para scripts CGI" #: ../Doc/library/cgitb.rst:11 msgid "**Source code:** :source:`Lib/cgitb.py`" @@ -53,15 +53,15 @@ msgid "" msgstr "" "El modulo :mod:`cgitb` proporciona un manejador especial de excepciones para " "scripts de Python. (Su nombre es un poco engañoso. Fue diseñado " -"originalmente para mostrar una amplia información de rastreo o *traceback* " -"en HTML para los scripts CGI). Más tarde se generalizó para mostrar también " -"esta información en texto plano). Después de activar este módulo, si se " -"produce una excepción no capturada, se mostrará un informe formateado y " -"detallado. El informe incluye un rastreo o *traceback* que muestra extractos " -"del código fuente para cada nivel, así como los valores de los argumentos y " -"las variables locales de las funciones que se están ejecutando actualmente, " -"para ayudar a depurar el problema. Opcionalmente, puedes guardar esta " -"información en un archivo en lugar de enviarla al navegador." +"originalmente para mostrar una amplia información de rastreo en HTML para " +"los scripts CGI). Más tarde se generalizó para mostrar también esta " +"información en texto plano). Después de activar este módulo, si se produce " +"una excepción no capturada, se mostrará un informe formateado y detallado. " +"El informe incluye un rastreo que muestra extractos del código fuente para " +"cada nivel, así como los valores de los argumentos y las variables locales " +"de las funciones que se están ejecutando actualmente, para ayudar a depurar " +"el problema. Opcionalmente, puedes guardar esta información en un archivo en " +"lugar de enviarla al navegador." #: ../Doc/library/cgitb.rst:35 msgid "To enable this feature, simply add this to the top of your CGI script::" @@ -102,16 +102,15 @@ msgid "" "``\"html\"``." msgstr "" "El argumento opcional *display* tiene como valor predeterminado ``1`` y se " -"puede establecer en ``0`` para suprimir el rastreo o *traceback* al " -"navegador. Si el argumento *logdir* está presente, los informes de rastreo o " -"*traceback* se escriben en los archivos. El valor de *logdir* debe ser un " -"directorio donde estos archivos serán colocados. El argumento opcional " -"*context* es el número de líneas de contexto que se mostrarán alrededor de " -"la línea actual del código fuente en el rastreo o *traceback*; esto tiene " -"como valor predeterminado ``5``. Si el argumento opcional *format* es " -"``\"html\"``, la salida se formatea como HTML. Cualquier otro valor fuerza " -"la salida a un formato de texto plano. El valor predeterminado es " -"``\"html\"``." +"puede establecer en ``0`` para suprimir el rastreo al navegador. Si el " +"argumento *logdir* está presente, los informes de rastreo se escriben en los " +"archivos. El valor de *logdir* debe ser un directorio donde estos archivos " +"serán colocados. El argumento opcional *context* es el número de líneas de " +"contexto que se mostrarán alrededor de la línea actual del código fuente en " +"el rastreo; esto tiene como valor predeterminado ``5``. Si el argumento " +"opcional *format* es ``\"html\"``, la salida se formatea como HTML. " +"Cualquier otro valor fuerza la salida a un formato de texto plano. El valor " +"predeterminado es ``\"html\"``." #: ../Doc/library/cgitb.rst:64 msgid "" @@ -121,12 +120,12 @@ msgid "" "is the number of lines of context to display around the current line of " "source code in the traceback; this defaults to ``5``." msgstr "" -"Esta función controla la excepción descrita por *info* (una tupla de 3 que " -"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " -"o *traceback* como texto y retornando el resultado como una cadena de " -"caracteres. El argumento opcional *context* es el número de líneas de " -"contexto que se mostrarán alrededor de la línea actual de código fuente en " -"el rastreo o *traceback*; esto tiene como valor predeterminado ``5``." +"Esta función controla la excepción descrita por * info* (una " +"tupla de 3 que contiene el resultado de :func:`sys..exc_info`), dando " +"formato a su rastreo como texto y retornando el resultado como una cadena de " +"caracteres. El argumento opcional * context* es el número de " +"líneas de contexto que se mostrarán alrededor de la línea actual de código " +"fuente en el rastreo; esto tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:73 msgid "" @@ -136,12 +135,12 @@ msgid "" "is the number of lines of context to display around the current line of " "source code in the traceback; this defaults to ``5``." msgstr "" -"Esta función controla la excepción descrita por *info* (una tupla de 3 que " -"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " -"o *traceback* como HTML y retornando el resultado como una cadena de " -"caracteres. El argumento opcional *context* es el número de líneas de " -"contexto que se mostrarán alrededor de la línea actual de código fuente en " -"el rastreo o *traceback*; esto tiene como valor predeterminado ``5``." +"Esta función controla la excepción descrita por * info* (una " +"tupla de 3 que contiene el resultado de :func:`sys..exc_info`), dando " +"formato a su rastreo como HTML y retornando el resultado como una cadena de " +"caracteres. El argumento opcional * context* es el número de " +"líneas de contexto que se mostrarán alrededor de la línea actual de código " +"fuente en el rastreo; esto tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:82 msgid "" @@ -158,9 +157,9 @@ msgstr "" "archivo). Esto puede ser usado cuando has capturado una excepción y quieres " "reportarla usando :mod:`cgitb`. El argumento opcional *info* debería ser una " "tupla de 3 que contenga un tipo de excepción, un valor de excepción y un " -"objeto de rastreo o *traceback*, exactamente como la tupla retornada por :" -"func:`sys.exc_info`. Si no se proporciona el argumento *info*, la excepción " -"actual se obtiene de :func:`sys.exc_info`." +"objeto de rastreo, exactamente como la tupla retornada por :func:`sys." +"exc_info`. Si no se proporciona el argumento * info*, la " +"excepción actual se obtiene de :func:`sys.exc_info`." #: ../Doc/library/cgitb.rst:13 msgid "CGI" @@ -172,7 +171,7 @@ msgstr "excepciones" #: ../Doc/library/cgitb.rst:13 msgid "tracebacks" -msgstr "rastreos o *tracebacks*" +msgstr "rastreos" #: ../Doc/library/cgitb.rst:13 msgid "in CGI scripts" From b5e541c38536b3bfcf32772d75bd97a7591b60cd Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Wed, 1 Nov 2023 16:57:52 -0500 Subject: [PATCH 3/4] correcion2 library-cgitb --- library/cgitb.po | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/library/cgitb.po b/library/cgitb.po index bef407f4ef..ce4d940f6a 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-10-30 08:52-0500\n" +"PO-Revision-Date: 2023-11-01 16:57-0500\n" "Last-Translator: Sofía Denner \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -120,12 +120,12 @@ msgid "" "is the number of lines of context to display around the current line of " "source code in the traceback; this defaults to ``5``." msgstr "" -"Esta función controla la excepción descrita por * info* (una " -"tupla de 3 que contiene el resultado de :func:`sys..exc_info`), dando " -"formato a su rastreo como texto y retornando el resultado como una cadena de " -"caracteres. El argumento opcional * context* es el número de " -"líneas de contexto que se mostrarán alrededor de la línea actual de código " -"fuente en el rastreo; esto tiene como valor predeterminado ``5``." +"Esta función controla la excepción descrita por *info* (una tupla de 3 que " +"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " +"como texto y retornando el resultado como una cadena de caracteres. El " +"argumento opcional *context* es el número de líneas de contexto que se " +"mostrarán alrededor de la línea actual de código fuente en el rastreo; esto " +"tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:73 msgid "" @@ -135,12 +135,12 @@ msgid "" "is the number of lines of context to display around the current line of " "source code in the traceback; this defaults to ``5``." msgstr "" -"Esta función controla la excepción descrita por * info* (una " -"tupla de 3 que contiene el resultado de :func:`sys..exc_info`), dando " -"formato a su rastreo como HTML y retornando el resultado como una cadena de " -"caracteres. El argumento opcional * context* es el número de " -"líneas de contexto que se mostrarán alrededor de la línea actual de código " -"fuente en el rastreo; esto tiene como valor predeterminado ``5``." +"Esta función controla la excepción descrita por *info* (una tupla de 3 que " +"contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " +"como HTML y retornando el resultado como una cadena de caracteres. El " +"argumento opcional *context* es el número de líneas de contexto que se " +"mostrarán alrededor de la línea actual de código fuente en el rastreo; esto " +"tiene como valor predeterminado ``5``." #: ../Doc/library/cgitb.rst:82 msgid "" @@ -153,30 +153,30 @@ msgid "" "exception is obtained from :func:`sys.exc_info`." msgstr "" "Esta función maneja una excepción utilizando la configuración predeterminada " -"(es decir, mostrar un informe en el navegador, pero no lo registrará en un " +"(es decir, muestra un informe en el navegador, pero no lo registra en un " "archivo). Esto puede ser usado cuando has capturado una excepción y quieres " "reportarla usando :mod:`cgitb`. El argumento opcional *info* debería ser una " "tupla de 3 que contenga un tipo de excepción, un valor de excepción y un " "objeto de rastreo, exactamente como la tupla retornada por :func:`sys." -"exc_info`. Si no se proporciona el argumento * info*, la " -"excepción actual se obtiene de :func:`sys.exc_info`." +"exc_info`. Si no se proporciona el argumento *info*, la excepción actual se " +"obtiene de :func:`sys.exc_info`." #: ../Doc/library/cgitb.rst:13 msgid "CGI" -msgstr "CGI" +msgstr "" #: ../Doc/library/cgitb.rst:13 msgid "exceptions" -msgstr "excepciones" +msgstr "" #: ../Doc/library/cgitb.rst:13 msgid "tracebacks" -msgstr "rastreos" +msgstr "" #: ../Doc/library/cgitb.rst:13 msgid "in CGI scripts" -msgstr "en scripts CGI" +msgstr "" #: ../Doc/library/cgitb.rst:47 msgid "excepthook() (in module sys)" -msgstr "excepthook() (en el módulo sys)" +msgstr "" From 52b7904a79a978df52eae118a8a568934e4c7812 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Thu, 2 Nov 2023 00:22:30 -0500 Subject: [PATCH 4/4] correccion3 library-cgitb --- library/cgitb.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/cgitb.po b/library/cgitb.po index ce4d940f6a..9e2c63da5e 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-11-01 16:57-0500\n" +"PO-Revision-Date: 2023-11-02 00:21-0500\n" "Last-Translator: Sofía Denner \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -135,7 +135,7 @@ msgid "" "is the number of lines of context to display around the current line of " "source code in the traceback; this defaults to ``5``." msgstr "" -"Esta función controla la excepción descrita por *info* (una tupla de 3 que " +"Esta función controla la excepción descrita por *info* (una tupla de 3 que " "contiene el resultado de :func:`sys..exc_info`), dando formato a su rastreo " "como HTML y retornando el resultado como una cadena de caracteres. El " "argumento opcional *context* es el número de líneas de contexto que se " @@ -163,20 +163,20 @@ msgstr "" #: ../Doc/library/cgitb.rst:13 msgid "CGI" -msgstr "" +msgstr "CGI" #: ../Doc/library/cgitb.rst:13 msgid "exceptions" -msgstr "" +msgstr "exceptions" #: ../Doc/library/cgitb.rst:13 msgid "tracebacks" -msgstr "" +msgstr "tracebacks" #: ../Doc/library/cgitb.rst:13 msgid "in CGI scripts" -msgstr "" +msgstr "in CGI scripts" #: ../Doc/library/cgitb.rst:47 msgid "excepthook() (in module sys)" -msgstr "" +msgstr "excepthook() (in module sys)" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy