diff --git a/library/email.message.po b/library/email.message.po index 1897866bae..d9387afba9 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-09-16 21:31+0200\n" +"PO-Revision-Date: 2020-12-20 13:12-0600\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Cristián Maureira-Fredes \n" +"Last-Translator: Hugo Valencia Vargas \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/library/email.message.rst:2 msgid ":mod:`email.message`: Representing an email message" @@ -45,7 +45,7 @@ msgstr "" "La clase central en el paquete de :mod:`email` es la clase :class:" "`EmailMessage`, importada desde el módulo :mod:`email.message`. Esta es la " "clase base para el modelo de objeto :mod:`email`. :class:`EmailMessage` " -"provee la funcionalidad clave para configurar y consultar los *headers*, " +"provee la funcionalidad clave para configurar y consultar las cabeceras, " "para acceder al cuerpo del mensaje, y para crear o modificar la estructura " "del mensaje." @@ -61,15 +61,15 @@ msgid "" "having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:`message/" "rfc822`." msgstr "" -"Un mensaje de e-mail consiste en *headers* y un *payload* (al que también " -"nos referimos como *content*). *Headers* como :rfc:`5322` o :rfc:`6532` son " -"nombres de campos de estilo y valores, donde el nombre y valor están " -"separados por un ':'. Los dos puntos no son parte ni del nombre ni del " -"valor. El *payload* puede ser un simple mensaje, un objeto binario, o una " -"secuencia estructurada de sub-mensajes, cada uno con su propio conjunto de " -"*headers* y su propio *payload*. El último tipo de *payload* es indicado por " -"el mensaje con un MIME como :mimetype:`multipart/\\*` o :mimetype:`message/" -"rfc822` ." +"Un mensaje de e-mail consiste en *cabeceras* y una *carga útil* (a la que " +"también nos referimos como *contenido* o *payload*). Cabeceras como :rfc:" +"`5322` o :rfc:`6532` son nombres de campos de estilo y valores, donde el " +"nombre y valor están separados por un ':'. Los dos puntos no son parte ni " +"del nombre ni del valor. La carga útil puede ser un simple mensaje, un " +"objeto binario, o una secuencia estructurada de sub-mensajes, cada uno con " +"su propio conjunto de cabeceras y su propia carga útil. El último tipo de " +"carga útil es indicado por el mensaje con un MIME como :mimetype:`multipart/" +"\\*` o :mimetype:`message/rfc822` ." #: ../Doc/library/email.message.rst:31 msgid "" @@ -83,12 +83,12 @@ msgid "" "the message, and for recursively walking over the object tree." msgstr "" "El modelo conceptual provisto por un objeto :class:`EmailMessage` es el de " -"un diccionario ordenado de *headers* emparejados con un *payload* que " +"un diccionario ordenado de cabeceras emparejadas con una carga útil que " "representa al cuerpo del mensaje :rfc:`5322`, que podría ser una lista de " "objetos sub-``EmailMessage``. Además de los métodos normales de diccionario " -"para acceder a los *headers* y valores, tiene métodos para acceder a " -"información especializada desde los *headers* (por ejemplo, el tipo de " -"contenido MIME), para operar en el *payload*, generar una versión " +"para acceder a las cabeceras y valores, tiene métodos para acceder a " +"información especializada desde las cabeceras (por ejemplo, el tipo de " +"contenido MIME), para operar en la carga útil, generar una versión " "serializada del mensaje, y recorrer recursivamente el árbol de objetos." #: ../Doc/library/email.message.rst:40 @@ -101,6 +101,14 @@ msgid "" "Additional methods are provided for working with headers that have duplicate " "keys." msgstr "" +"La interfaz tipo diccionario de :class:`EmailMessage` está indexada por los " +"nombres de las cabeceras, que deberán ser valores ASCII. Los valores del " +"diccionario son cadenas con algunos métodos adicionales. Las cabeceras son " +"almacenadas y retornadas de forma sensible a mayúsculas, pero los nombres de " +"los campos son comparados sin discriminar entre mayúsculas. A diferencia de " +"un dict real, las llaves están ordenadas y pueden estar duplicadas. Se " +"proveen métodos adicionales para trabajar con cabeceras que tienen llaves " +"duplicadas." # No encuentro la manera que se me haga correcta de traducir la última oración, la escribí lo mejor que pude. #: ../Doc/library/email.message.rst:47 @@ -110,7 +118,7 @@ msgid "" "container documents such as :mimetype:`multipart/\\*` and :mimetype:`message/" "rfc822` message objects." msgstr "" -"El *payload* es un objeto de cadena de caracteres o bytes, en el caso de " +"La carga útil es un objeto de cadena de caracteres o bytes, en el caso de " "objetos de mensaje simples, o una lista de objetos :class:`EmailMessage`, " "para documentos de contenedor MIME como :mimetype:`multipart/\\*` y objetos " "de mensaje :mimetype:`message/rfc822`." @@ -125,7 +133,7 @@ msgid "" "`~email.policy` documentation." msgstr "" "Si se especifica *policy*, use las reglas especificadas para actualizar y " -"serializar la representación del mensaje. Si *policy* no es establecida, " +"serializar la representación del mensaje. Si la política no es establecida, " "use :class:`~email.policy.default`, que sigue las reglas RFC de email " "excepto para el fin de línea(en lugar del RFC ``\\r\\n``, usa los finales " "estándar de Python ``\\n`` como final de línea). Para más información ve a " @@ -145,7 +153,7 @@ msgid "" "class:`~email.generator.Generator`." msgstr "" "Retorna el mensaje entero como cadena de caracteres. Cuando la opción " -"*unixform* es verdadera, el *header* está incluido en la cadena de " +"*unixform* es verdadera, la cabecera está incluida en la cadena de " "caracteres retornada. *unixform* está predeterminado con valor ``False``. " "Por compatibilidad con versiones anteriores, la base :class:`~email.message." "Message`, la case *maxheaderlen* es aceptada pero con valor ``None`` como " @@ -153,7 +161,7 @@ msgstr "" "`~email.policy.EmailPolicy.max_line_length`. El argumento *policy* puede ser " "usado para anular el valor predeterminado obtenido de la instancia del " "mensaje. Esto puede ser usado para controlar parte del formato producido por " -"el método, ya que el *policy* especificado pasará a :class:`~email.generator." +"el método, ya que la política especificada pasará a :class:`~email.generator." "Generator`." #: ../Doc/library/email.message.rst:76 ../Doc/library/email.message.rst:114 @@ -191,7 +199,7 @@ msgid "" "policy." msgstr "" "el comportamiento predeterminado cuando *maxheaderlen* no está especificado " -"cambió de 0 al valor de *max_line_length* ." +"cambió de 0 al valor de *max_line_length* de la política ." #: ../Doc/library/email.message.rst:95 msgid "" @@ -200,8 +208,8 @@ msgid "" "readable format." msgstr "" "Equivalente a ``as_string(policy=self.policy.clone(utf8=True))``. Permite " -"``str(msg)`` para producir un *string* que contenga un mensaje serializado " -"en un formato legible." +"``str(msg)`` para producir una cadena que contenga un mensaje serializado en " +"un formato legible." #: ../Doc/library/email.message.rst:99 msgid "" @@ -223,11 +231,11 @@ msgid "" "BytesGenerator`." msgstr "" "Retorna el mensaje plano como un objeto de bytes. Cuando *unixform* es " -"verdadero, el *header* es incluido en la cadena de caracteres retornada. El " +"verdadero, la cabecera es incluida en la cadena de caracteres retornada. El " "valor predeterminado de *unixform* es ``False``. El argumento *policy* puede " "ser usado para sobreescribir el valor predeterminado obtenido de la " "instancia del mensaje. Esto puede ser usado para controlar parte del formato " -"producido por el método, ya que el *policy* especificado pasará a :class:" +"producido por el método, ya que la política especificada pasará a :class:" "`~email.generator.Generator`." #: ../Doc/library/email.message.rst:118 @@ -262,14 +270,14 @@ msgid "" "example, ``is_multipart`` will return ``True`` when the :class:" "`EmailMessage` is of type ``message/rfc822``." msgstr "" -"Retorna ``True`` si el *payload* del mensaje es una lista de objetos de sub-" +"Retorna ``True`` si la carga útil del mensaje es una lista de objetos de sub-" "\\ :class:`EmailMessage`, de otra manera retorna ``False``. Cuando :meth:" -"`is_multipart` retorna ``False``, el *payload* deberá ser un objeto cadena " -"de caracteres (que podría ser un *payload* binario codificado con CTE). Note " -"que si :meth:`is_multipart` retorna ``True`` no necesariamente significa que " -"\"msg.get_content_maintype() == 'multipart'\" retornará ``True``. Por " -"ejemplo, ``is_multipart`` retornará ``True`` cuando la :class:`EmailMessage` " -"sea del tipo ``message/rfc822``." +"`is_multipart` retorna ``False``, la carga útil deberá ser un objeto cadena " +"de caracteres (que podría ser una carga útil binaria codificada con CTE). " +"Note que si :meth:`is_multipart` retorna ``True`` no necesariamente " +"significa que \"msg.get_content_maintype() == 'multipart'\" retornará " +"``True``. Por ejemplo, ``is_multipart`` retornará ``True`` cuando la :class:" +"`EmailMessage` sea del tipo ``message/rfc822``." #: ../Doc/library/email.message.rst:145 msgid "" @@ -278,7 +286,7 @@ msgid "" msgstr "" "Configura la cabecera del mensaje a *unixform*, que debería ser una cadena " "de caracteres. (Consulte :class:`~mailbox.mboxMessage` para una descripción " -"de este *header*)" +"de esta cabecera)" #: ../Doc/library/email.message.rst:152 msgid "" @@ -301,15 +309,15 @@ msgid "" "header deleted and then re-added is always appended to the end of the header " "list." msgstr "" -"Los siguientes métodos implementan el mapeo como una interfaz para acceder " -"al *header* del mensaje. Tenga en cuenta que hay algunas diferencias " +"Los siguientes métodos implementan el mapeo como una interfaz para acceder a " +"la cabecera del mensaje. Tenga en cuenta que hay algunas diferencias " "semánticas entre esos métodos y una interfaz de mapeo normal(es decir, " "diccionario). Por ejemplo, en un diccionario no hay claves duplicadas, pero " -"pueden haber *headers* duplicados. Además, en los diccionarios no hay un " +"pueden haber cabeceras duplicadas. Además, en los diccionarios no hay un " "orden garantizado para las claves retornadas por :meth:`keys`, pero en un " -"objeto :class:`EmailMessage`, los *headers* siempre regresan en orden de " -"aparición en el mensaje original, o en el que fueron agregados luego. " -"Cualquier *header* borrado y vuelto a añadir siempre se agrega al final de " +"objeto :class:`EmailMessage`, las cabeceras siempre regresan en orden de " +"aparición en el mensaje original, o en el que fueron agregadas luego. " +"Cualquier cabecera borrada y vuelta a añadir siempre se agrega al final de " "la lista." #: ../Doc/library/email.message.rst:167 @@ -325,12 +333,12 @@ msgid "" "Note that in all cases, any envelope header present in the message is not " "included in the mapping interface." msgstr "" -"Note que en todos los casos, cualquier *header* presente en el mensaje no se " +"Note que en todos los casos, cualquier cabecera presente en el mensaje no se " "incluye en la interfaz de mapeo." #: ../Doc/library/email.message.rst:176 msgid "Return the total number of headers, including duplicates." -msgstr "Retorna el número total de *headers*, incluidos los duplicados." +msgstr "Retorna el número total de cabeceras, incluidas las duplicadas." #: ../Doc/library/email.message.rst:181 msgid "" @@ -348,8 +356,8 @@ msgid "" "colon field separator. If the header is missing, ``None`` is returned; a :" "exc:`KeyError` is never raised." msgstr "" -"Retorna el valor del *header* nombrado. *name* no incluye el separador de " -"dos puntos, ':'. Si el *header* se pierde, regresa ``None``, un :exc:" +"Retorna el valor de la cabecera nombrada. *name* no incluye el separador de " +"dos puntos, ':'. Si la cabecera se pierde, regresa ``None``, un :exc:" "`KeyError` no se genera nunca." #: ../Doc/library/email.message.rst:195 @@ -359,10 +367,10 @@ msgid "" "Use the :meth:`get_all` method to get the values of all the extant headers " "named *name*." msgstr "" -"Tenga en cuenta que si el campo nombrado aparece más de una vez en el " -"*header* del mensaje, esa cantidad de veces el valor regresado será " -"indefinido. Use el método :meth:`get_all` para obtener los valores de todos " -"los *headers* existentes llamados *name*." +"Tenga en cuenta que si el campo nombrado aparece más de una vez en la " +"cabecera del mensaje, esa cantidad de veces el valor regresado será " +"indefinido. Use el método :meth:`get_all` para obtener los valores de todas " +"las cabeceras existentes llamadas *name*." #: ../Doc/library/email.message.rst:200 msgid "" @@ -377,8 +385,8 @@ msgid "" "Add a header to the message with field name *name* and value *val*. The " "field is appended to the end of the message's existing headers." msgstr "" -"Agrega un *header* al mensaje con un campo 'nombre' y un valor 'val'. El " -"campo se agrega al final de los *headers* existentes en el mensaje." +"Agrega una cabecera al mensaje con un campo 'nombre' y un valor 'val'. El " +"campo se agrega al final de las cabeceras existentes en el mensaje." #: ../Doc/library/email.message.rst:209 msgid "" @@ -386,8 +394,8 @@ msgid "" "same name. If you want to ensure that the new header is the only one " "present in the message with field name *name*, delete the field first, e.g.::" msgstr "" -"Tenga en cuenta que esto no sobrescribe ni borra ningún *header* con el " -"mismo nombre. Si quiere asegurarse de que el nuevo *header* es el único en " +"Tenga en cuenta que esto no sobrescribe ni borra ninguna cabecera con el " +"mismo nombre. Si quiere asegurarse de que la nueva cabecera es la única en " "el mensaje con el campo 'nombre', borre el campo primero, por ejemplo::" #: ../Doc/library/email.message.rst:216 @@ -399,11 +407,11 @@ msgid "" "we may choose to make such assignments do an automatic deletion of the " "existing header in the future." msgstr "" -"Si el :mod:`policy` define ciertos *headers* para ser únicos(como lo hace el " +"Si el :mod:`policy` define ciertas cabeceras para ser únicos(como lo hace el " "*standard*), este método puede generar un :exc:`ValueError` cuando se " -"intenta asignar un valor a un *header* preexistente. Este comportamiento es " +"intenta asignar un valor a una cabecera preexistente. Este comportamiento es " "intencional por consistencia, pero no dependa de ello, ya que podemos optar " -"por hacer que tales asignaciones eliminen el *header* en el futuro." +"por hacer que tales asignaciones eliminen la cabecera en el futuro." #: ../Doc/library/email.message.rst:226 msgid "" @@ -411,14 +419,14 @@ msgid "" "headers. No exception is raised if the named field isn't present in the " "headers." msgstr "" -"Elimine todas las apariciones del campo 'nombre' de los *headers* del " +"Elimine todas las apariciones del campo 'nombre' de las cabeceras del " "mensaje. No se genera ninguna excepción si el campo nombrado no está " -"presente en los encabezados." +"presente en las cabeceras." #: ../Doc/library/email.message.rst:233 msgid "Return a list of all the message's header field names." msgstr "" -"Retorna una lista de los nombres de todos los campos del *header* del " +"Retorna una lista de los nombres de todos los campos de la cabecera del " "mensaje." #: ../Doc/library/email.message.rst:238 @@ -426,6 +434,7 @@ msgid "Return a list of all the message's field values." msgstr "Retorna una lista de todos los valores de los campos del mensaje." #: ../Doc/library/email.message.rst:243 +#, fuzzy msgid "" "Return a list of 2-tuples containing all the message's field headers and " "values." @@ -439,14 +448,14 @@ msgid "" "`__getitem__` except that optional *failobj* is returned if the named header " "is missing (*failobj* defaults to ``None``)." msgstr "" -"Retorna el valor del *header* nombrado. Esto es idéntico a :meth:" -"`__getitem__` excepto si el opcional *failobj* regresado en el *header* " -"nombrado no se encuentra(*failobj* es por defecto ``None``)." +"Retorna el valor de la cabecera nombrada. Esto es idéntico a :meth:" +"`__getitem__` excepto que el opcional *failobj* es retornado si no se " +"encuentra la cabecera nombrada (*failobj* es por defecto ``None``)." #: ../Doc/library/email.message.rst:254 msgid "Here are some additional useful header related methods:" msgstr "" -"Aquí hay algunos métodos adicionales útiles relacionados con el *header*:" +"Aquí hay algunos métodos adicionales útiles relacionados con la cabecera:" #: ../Doc/library/email.message.rst:259 msgid "" @@ -455,7 +464,7 @@ msgid "" "``None``)." msgstr "" "Retorna una lista de todos los valores para el campo *nombre*. Si no se " -"nombran tales *headers* en el mensaje, regresa *failobj* (por defecto " +"nombran tales cabeceras en el mensaje, regresa *failobj* (por defecto " "``None``)" #: ../Doc/library/email.message.rst:266 @@ -465,8 +474,8 @@ msgid "" "arguments. *_name* is the header field to add and *_value* is the *primary* " "value for the header." msgstr "" -"Configuración extendida de *headers*. Este método es similar a :meth:" -"`__setitem__`, excepto que se pueden proporcionar parámetros de *header* " +"Configuración extendida de cabeceras. Este método es similar a :meth:" +"`__setitem__`, excepto que se pueden proporcionar parámetros de cabecera " "adicionales como argumentos de palabras clave." #: ../Doc/library/email.message.rst:271 @@ -512,7 +521,7 @@ msgstr "Aquí hay un ejemplo::" #: ../Doc/library/email.message.rst:291 msgid "This will add a header that looks like ::" -msgstr "Esto agregará un *header* que se ve como::" +msgstr "Esto agregará una cabecera que se ve como::" #: ../Doc/library/email.message.rst:295 msgid "An example of the extended interface with non-ASCII characters::" @@ -524,9 +533,9 @@ msgid "" "matches *_name*, retaining header order and field name case of the original " "header. If no matching header is found, raise a :exc:`KeyError`." msgstr "" -"Reemplaza un *header*. Reemplaza el primer *header* encontrado en el mensaje " -"que coincida con *_name*, conservando el orden de *header* y uso de " -"minúsculas (y mayúsculas) del nombre de campo del *header* original. Si no " +"Reemplaza una cabecera. Reemplaza la primer cabecera encontrada en el " +"mensaje que coincida con *_name*, conservando el orden de cabeceras y uso de " +"minúsculas (y mayúsculas) del nombre de campo de la cabecera original. Si no " "hay coincidencia, se lanzará un :exc:`KeyError`." #: ../Doc/library/email.message.rst:311 @@ -538,7 +547,7 @@ msgid "" "return ``text/plain``." msgstr "" "Retorna el tipo de contenido del mensaje, pasado a minúsculas de la forma :" -"mimetype:`maintype/subtype`. Si no hay *header* llamado :mailheader:`Content-" +"mimetype:`maintype/subtype`. Si no hay cabecera llamada :mailheader:`Content-" "Type` en el mensaje, regresa el valor de :meth:`get_default_type`. Si :" "mailheader:`Content-Type` no es válido, retorna ``text/plain``." @@ -552,18 +561,30 @@ msgid "" "invalid type specification, :rfc:`2045` mandates that the default type be :" "mimetype:`text/plain`.)" msgstr "" +"(De acuerdo con :rfc:`2045`, los mensajes siempre tienen un tipo " +"predeterminado, :meth:`get_content_type`siempre retornará un valor. :rfc:" +"`2045`define el tipo predeterminado de un mensaje como :mimetype:`text/" +"plain` a menos que aparezca dentro de un contenedor :mimetype:`multipart/" +"digest`, en cuyo caso sería :mimetype:`message/rfc822`. Si la cabecera :" +"mailheader:`Content-Type` tiene una especificación de tipo que sea " +"inválida, :rfc:`2045` exige que el tipo predeterminado sea :mimetype:`text/" +"plain`.)" #: ../Doc/library/email.message.rst:328 msgid "" "Return the message's main content type. This is the :mimetype:`maintype` " "part of the string returned by :meth:`get_content_type`." msgstr "" +"Retorna el tipo de contenido principal del mensaje. Esta es la parte :" +"mimetype:`maintype` de la cadena retornada por :meth:`get_content_type`." #: ../Doc/library/email.message.rst:334 msgid "" "Return the message's sub-content type. This is the :mimetype:`subtype` part " "of the string returned by :meth:`get_content_type`." msgstr "" +"Retorna el tipo del sub-contenido del mensaje. Esta es la parte :mimetype:" +"`subtype` de la cadena retornada por :meth:`get_content_type`." #: ../Doc/library/email.message.rst:340 msgid "" @@ -572,6 +593,11 @@ msgid "" "mimetype:`multipart/digest` containers. Such subparts have a default " "content type of :mimetype:`message/rfc822`." msgstr "" +"Retorna el tipo de contenido predeterminado. La mayoría de los mensajes " +"tienen como tipo de contenido predeterminado a :mimetype:`text/plain`, a " +"excepción de los mensajes que son sub-partes de contenedores :mimetype:" +"`multipart/digest`. Estas sub-partes tienen como tipo de contenido " +"predeterminado a :mimetype:`message/rfc822`." #: ../Doc/library/email.message.rst:348 msgid "" @@ -581,8 +607,16 @@ msgid "" "so it only affects the return value of the ``get_content_type`` methods when " "no :mailheader:`Content-Type` header is present in the message." msgstr "" +"Establece el tipo de contenido predeterminado. *ctype* debería ser :mimetype:" +"`text/plain` o :mimetype:`message/rfc822`, aunque esto no está impuesto. El " +"tipo de contenido predeterminado no se almacena en la cabecera :mailheader:" +"`Content-Type`, así que sólo afecta al valor de retorno de los métodos " +"``get_content_type`` cuando ninguna cabecera :mailheader:`Content-Type` está " +"presente en el mensaje." +# No estoy seguro si esta bien la traducción de la última oración. #: ../Doc/library/email.message.rst:359 +#, fuzzy msgid "" "Set a parameter in the :mailheader:`Content-Type` header. If the parameter " "already exists in the header, replace its value with *value*. When *header* " @@ -591,6 +625,12 @@ msgid "" "parameter value. Optional *header* specifies an alternative header to :" "mailheader:`Content-Type`." msgstr "" +"Establece un parámetro en la cabecera :mailheader:`Content-Type`. Si el " +"parámetro ya existe en la cabecera, su valor se reemplaza por *value*. " +"Cuando la cabecera es ``Content-Type`` (predeterminado) y aún no existe en " +"el mensaje, se agrega, se establece su valor a :mimetype:`text/plain`, y se " +"agrega el nuevo parámetro con su valor. Opcionalmente *header* especifica " +"una cabecera alternativa a :mailheader:`Content-Type`." #: ../Doc/library/email.message.rst:366 msgid "" @@ -601,6 +641,12 @@ msgid "" "strings. The default is to use the ``utf8`` *charset* and ``None`` for the " "*language*." msgstr "" +"Si el valor contiene caracteres *non-ASCII*, el *charset* y el lenguaje " +"pueden ser especificados explícitamente con los parámetros *charset* y " +"*language*. Opcionalmente *language* especifica el lenguaje :rfc:`2231`, por " +"defecto una cadena vacía. Ambos *charset* y *language* deberán ser cadenas. " +"los valores predeterminados son ``utf8`` para *charset* y ``None`` para " +"*language*." #: ../Doc/library/email.message.rst:373 msgid "" @@ -608,6 +654,9 @@ msgid "" "the list of headers. If *replace* is ``True``, the header will be updated " "in place." msgstr "" +"Si *replace* es ``False`` (predeterminado) la cabecera se mueve al final de " +"la lista de cabeceras. Si *replace* es ``True``, la cabecera se actualizará " +"en su lugar." #: ../Doc/library/email.message.rst:377 ../Doc/library/email.message.rst:394 msgid "" @@ -623,11 +672,19 @@ msgid "" "attr:`~email.headerregistry.BaseHeader.params` attribute of the header value " "(for example, ``msg['Content-Type'].params['charset']``)." msgstr "" +"Tenga en cuenta que se puede acceder a los parámetros existentes de las " +"cabeceras a través del atributo :attr:`~email.headerregistry.BaseHeader." +"params` de la cabecera (por ejemplo, ``msg['Content-Type']." +"params['charset']``)." #: ../Doc/library/email.message.rst:384 msgid "``replace`` keyword was added." msgstr "Se agregó la palabra clave ``replace``." +# Optional *header* specifies an alternative to :mailheader:`Content-Type`. +# sería correcto traducirlo a: +# El header *optional* especifica una alternativa a :mailheader:`Content-Type`. +# ? #: ../Doc/library/email.message.rst:389 msgid "" "Remove the given parameter completely from the :mailheader:`Content-Type` " @@ -635,6 +692,10 @@ msgid "" "value. Optional *header* specifies an alternative to :mailheader:`Content-" "Type`." msgstr "" +"Elimina completamente el parámetro dado de la cabecera :mailheader:`Content-" +"Type`. La cabecera será reescrita en su lugar, sin el parámetro o su valor. " +"Opcionalmente *header* especifica una alternativa a :mailheader:`Content-" +"Type`." #: ../Doc/library/email.message.rst:400 msgid "" @@ -645,6 +706,12 @@ msgid "" "the header is missing, then *failobj* is returned. The returned string will " "always be unquoted as per :func:`email.utils.unquote`." msgstr "" +"Retorna el valor del parámetro ``filename`` de la cabecera :mailheader:" +"`Content-Disposition` del mensaje. Si la cabecera no tiene un parámetro " +"``filename``, este método recae a buscar el parámetro ``name`` en la " +"cabecera :mailheader:`Content-Type`. Si ninguno se encuentra o falta la " +"cabecera, se retorna *failobj*. La cadena retornada siempre estará sin " +"comillas según :func:`email.utils.unquote`." #: ../Doc/library/email.message.rst:411 msgid "" @@ -653,6 +720,10 @@ msgid "" "or has no ``boundary`` parameter. The returned string will always be " "unquoted as per :func:`email.utils.unquote`." msgstr "" +"Retorna el parámetro ``boundary`` de la cabecera :mailheader:`Content-Type` " +"del mensaje, o *failobj* si la cabecera no se encuentra o si no tiene un " +"parámetro ``boundary``. La cadena retornada siempre estará sin comillas " +"según :func:`email.utils.unquote`." #: ../Doc/library/email.message.rst:419 msgid "" @@ -661,6 +732,10 @@ msgid "" "necessary. A :exc:`~email.errors.HeaderParseError` is raised if the message " "object has no :mailheader:`Content-Type` header." msgstr "" +"Establece el parámetro ``boundary`` de la cabecera :mailheader:`Content-" +"Type` como *boundary*. :meth:`set_boundary` siempre que sea necesario " +"pondrá comillas a *boundary*. Si el objeto mensaje no tiene cabecera :" +"mailheader:`Content-Type` se lanza :exc:`~email.errors.HeaderParseError`." #: ../Doc/library/email.message.rst:424 msgid "" @@ -669,6 +744,10 @@ msgid "" "via :meth:`add_header`, because :meth:`set_boundary` preserves the order of " "the :mailheader:`Content-Type` header in the list of headers." msgstr "" +"Note que usar este método es sutilmente diferente a borrar la cabecera :" +"mailheader:`Content-Type` antigua y agregar una nueva con el nuevo límite " +"utilizando :meth:`add_header`, porque :meth:`set_boundary` preserva el orden " +"de la cabecera :mailheader:`Content-Type` en la lista de cabeceras." #: ../Doc/library/email.message.rst:433 msgid "" @@ -676,6 +755,10 @@ msgid "" "coerced to lower case. If there is no :mailheader:`Content-Type` header, or " "if that header has no ``charset`` parameter, *failobj* is returned." msgstr "" +"Retorna el parámetro ``charset`` de la cabecera :mailheader:`Content-" +"Type`forzado a minúsculas. Si no hay una cabecera :mailheader:`Content-" +"Type`, o si esa cabecera no tiene el parámetro ``charset``, se retorna " +"*failobj*." #: ../Doc/library/email.message.rst:440 msgid "" @@ -683,6 +766,9 @@ msgid "" "message is a :mimetype:`multipart`, then the list will contain one element " "for each subpart in the payload, otherwise, it will be a list of length 1." msgstr "" +"Retorna una lista que contiene los nombres de los *charset* en el mensaje. " +"Si el mensaje es :mimetype:`multipart`, la lista contendrá un elemento por " +"cada subparte en la carga útil, de lo contrario será una lista de longitud 1." #: ../Doc/library/email.message.rst:444 msgid "" @@ -692,18 +778,28 @@ msgid "" "``charset`` parameter, or is not of the :mimetype:`text` main MIME type, " "then that item in the returned list will be *failobj*." msgstr "" +"Cada elemento de la lista será una cadena que tendrá el valor del parámetro " +"``charset`` en la cabecera :mailheader:`Content-Type` para la subparte " +"representada. Si la subparte no tiene cabecera :mailheader:`Content-Type`, " +"no tiene parámetro ``charset``, o no es del tipo MIME principal :mimetype:" +"`text`, entonces ese elemento en la lista retornada será *failobj*." #: ../Doc/library/email.message.rst:453 msgid "" "Return ``True`` if there is a :mailheader:`Content-Disposition` header and " "its (case insensitive) value is ``attachment``, ``False`` otherwise." msgstr "" +"Retorna ``True`` si hay una cabecera :mailheader:`Content-Disposition` y su " +"valor (sensible a mayúsculas) es ``attachment``, de lo contrario retorna " +"``False``." #: ../Doc/library/email.message.rst:456 msgid "" "is_attachment is now a method instead of a property, for consistency with :" "meth:`~email.message.Message.is_multipart`." msgstr "" +"*is_attachment* ahora es un método en lugar de una propiedad, por " +"consistencia con :meth:`~email.message.Message.is_multipart`." #: ../Doc/library/email.message.rst:463 msgid "" @@ -712,6 +808,10 @@ msgid "" "possible values for this method are *inline*, *attachment* or ``None`` if " "the message follows :rfc:`2183`." msgstr "" +"Retorna el valor en minúsculas (sin parámetros) de la cabecera :mailheader:" +"`Content-Disposition` si el mensaje la tiene, de lo contrario retorna " +"``None``. Los valores posibles para este método son *inline*, *attachment* o " +"``None`` si el mensaje sigue :rfc:`2183`." #: ../Doc/library/email.message.rst:471 msgid "" @@ -721,13 +821,20 @@ msgstr "" "Los siguientes métodos se refieren a interrogar y manipular el contenido " "(*payload*) del mensaje." +# no encontré en la memoria otra traducción de all-purpose, me pareció bien multipropósito, podría ser también "universal", o "para todo propósito"? #: ../Doc/library/email.message.rst:477 +#, fuzzy msgid "" "The :meth:`walk` method is an all-purpose generator which can be used to " "iterate over all the parts and subparts of a message object tree, in depth-" "first traversal order. You will typically use :meth:`walk` as the iterator " "in a ``for`` loop; each iteration returns the next subpart." msgstr "" +"El método :meth:`walk` es un generador multipropósito que puede usarse para " +"iterar sobre todas las partes y subpartes del árbol de un objeto mensaje, " +"ordenando el recorrido en profundidad primero. Típicamente se usaría :meth:" +"`walk` como el iterador en un ciclo ``for``; cada iteración retornará la " +"siguiente subparte." #: ../Doc/library/email.message.rst:482 msgid "" @@ -744,6 +851,10 @@ msgid "" "may return ``False``. We can see this in our example by making use of the " "``_structure`` debug helper function:" msgstr "" +"``walk`` itera sobre las subpartes de cualquier parte donde :meth:" +"`is_multipart` retorna ``True``, aun si ``msg.get_content_maintype() == " +"'multipart'`` pueda retornar ``False``. Podemos ver esto en nuestro ejemplo " +"al hacer uso de la función auxiliar de depuración ``_structure``:" #: ../Doc/library/email.message.rst:531 msgid "" @@ -751,6 +862,9 @@ msgid "" "subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the " "subparts." msgstr "" +"Aquí las partes ``message`` no son ``multiparts``, pero sí contienen " +"subpartes. ``is_multipart()``retorna ``True`` y ``walk`` desciende a las " +"subpartes." #: ../Doc/library/email.message.rst:538 msgid "" @@ -766,6 +880,9 @@ msgid "" "``html``, and ``plain``, and indicates the order of preference for the " "content type of the part returned." msgstr "" +"*preferencelist* debe ser una secuencia de cadenas del conjunto ``related``, " +"``html``, y ``plain``, e Indica el orden de preferencia para el tipo de " +"contenido de la parte retornada." #: ../Doc/library/email.message.rst:545 msgid "" @@ -775,12 +892,17 @@ msgstr "" "Empieza a buscar coincidencias candidatas con el objeto en el que se llama " "al método ``get_body``'." +# Tengo duda sobre esta oración :s. #: ../Doc/library/email.message.rst:548 +#, fuzzy msgid "" "If ``related`` is not included in *preferencelist*, consider the root part " "(or subpart of the root part) of any related encountered as a candidate if " "the (sub-)part matches a preference." msgstr "" +"Si ``related`` no está incluida en *preferencelist*, considere la parte raíz " +"(o subparte de la parte raíz) de cualquier *related* encontrada como " +"candidata si la (sub-)parte coincide con una preferencia." #: ../Doc/library/email.message.rst:552 msgid "" @@ -789,12 +911,20 @@ msgid "" "it when looking for candidate matches. Otherwise consider only the first " "(default root) part of the ``multipart/related``." msgstr "" +"Cuando se encuentra una ``multipart/related``, verifica el parámetro " +"``start`` y si se encuentra una parte con un :mailheader:`Content-ID` que " +"coincida, considera solamente a ésta cuando se busca coincidencias " +"candidatas. De otra forma considera sólo la primera parte (predeterminado " +"*root*) de la ``multipart/related``." #: ../Doc/library/email.message.rst:557 msgid "" "If a part has a :mailheader:`Content-Disposition` header, only consider the " "part a candidate match if the value of the header is ``inline``." msgstr "" +"Si una parte tiene una cabecera :mailheader:`Content-Disposition` , sólo se " +"considera a ésta parte como coincidencia candidata si el valor de la " +"cabecera es ``inline``." #: ../Doc/library/email.message.rst:560 msgid "" @@ -816,6 +946,17 @@ msgid "" "invalid will be treated as if they are of type ``text/plain``, which may " "occasionally cause ``get_body`` to return unexpected results." msgstr "" +"Notas: (1) Para la mayoría de las aplicaciones las únicas combinaciones de " +"*preferencelist* que realmente tienen sentido son ``('plain',)``, ``('html', " +"'plain')``, y la predeterminada ``('related', 'html', 'plain')``. (2) Debido " +"a que la coincidencia comienza con el objeto en el que se llama a " +"``get_body``, llamar a ``get_body`` en un ``multipart/related`` devolverá el " +"objeto en sí a menos que la *preferencelist* tenga un valor no " +"predeterminado. (3) Los mensajes (o partes de mensajes) que no especifican " +"un :mailheader:`Content-Type` o cuya cabecera :mailheader:`Content-Type` sea " +"inválida se tratarán como si fueran del tipo ``text/plain``, que " +"ocasionalmente puede ocasionar que ``get_body`` retorne resultados " +"inesperados." #: ../Doc/library/email.message.rst:577 msgid "" @@ -831,6 +972,18 @@ msgid "" "ID` of any of the parts). When applied directly to a ``multipart/" "alternative`` or a non-``multipart``, return an empty iterator." msgstr "" +"Devuelve un iterador sobre todas las subpartes inmediatas del mensaje que no " +"son partes candidatas del \"body\". Es decir, omitir la primer ocurrencia de " +"cada ``text/plain``, ``text/html``, ``multipart/related``, o ``multipart/" +"alternative``(a menos que estén marcados explícitamente como adjuntos a " +"través de :mailheader:`Content-Disposition: attachment`) y retornar todas " +"las partes restantes. Cuando se aplica directamente a un ``multipart/" +"related``, retorna un iterador sobre todas las partes relacionadas excepto " +"la parte raíz (es decir, la parte apuntada por el parámetro ``start`` , o la " +"primera parte si no hay un parámetro ``start`` o el parámetro ``start`` no " +"coincide con el :mailheader:`Content-ID` de ninguna de las partes). Cuando " +"se aplica directamente a un ``multipart/alternative`` o a un no-" +"``multipart``, retorna un iterador vacío." #: ../Doc/library/email.message.rst:593 msgid "" @@ -838,6 +991,9 @@ msgid "" "will be empty for a non-``multipart``. (See also :meth:`~email.message." "EmailMessage.walk`.)" msgstr "" +"Retorna un iterador sobre todas las partes inmediatas del mensaje, que " +"estará vacío para una no-``multipart``. (vea también :meth:`~email.message." +"EmailMessage.walk`.)" #: ../Doc/library/email.message.rst:600 msgid "" @@ -847,6 +1003,11 @@ msgid "" "*content_manager* is not specified, use the ``content_manager`` specified by " "the current :mod:`~email.policy`." msgstr "" +"Llama al método :meth:`~email.contentmanager.ContentManager.get_content` del " +"*content_manager*, pasando *self* como el objeto del mensaje y pasando " +"cualquier otro argumento o palabra clave como argumentos adicionales. Si no " +"se especifica *content_manager* se usa el ``content_manager`` especificado " +"por la :mod:`~email.policy` actual." #: ../Doc/library/email.message.rst:609 msgid "" @@ -856,6 +1017,11 @@ msgid "" "*content_manager* is not specified, use the ``content_manager`` specified by " "the current :mod:`~email.policy`." msgstr "" +"Llama al método :meth:`~email.contentmanager.ContentManager.set_content` del " +"*content_manager*, pasando *self* como el objeto *message* y pasando " +"cualquier otro argumento o palabra clave como argumentos adicionales. Si no " +"se especifica *content_manager* se usa el ``content_manager`` especificado " +"por la :mod:`~email.policy` actual." #: ../Doc/library/email.message.rst:618 msgid "" @@ -866,6 +1032,12 @@ msgid "" "automatically created when it is needed (for example, when the message is " "serialized)." msgstr "" +"Convierte un mensaje no-``multipart`` a un mensaje ``multipart/related``, " +"moviendo cualquier cabecera :mailheader:`Content-` y la carga útil a una " +"(nueva) primera parte del ``multipart``. Si *boundary* se especifica, se " +"utiliza como la cadena límite en el *multipart*, de otra forma deja que el " +"límite se cree automáticamente cuando se necesite (por ejemplo, cuando se " +"serializa el mensaje)." #: ../Doc/library/email.message.rst:628 msgid "" @@ -876,6 +1048,12 @@ msgid "" "the boundary to be automatically created when it is needed (for example, " "when the message is serialized)." msgstr "" +"Convierte un mensaje no-``multipart`` o un mensaje ``multipart/related`` a " +"uno ``multipart/alternative``moviendo cualquier cabecera :mailheader:" +"`Content-` y la carga útil existentes a una (nueva) primera parte del " +"``multipart``. Si *boundary* se especifica, se utiliza como la cadena límite " +"en el *multipart*, de otra forma deja que el límite se cree automáticamente " +"cuando se necesite (por ejemplo, cuando se serializa el mensaje)." #: ../Doc/library/email.message.rst:638 msgid "" @@ -886,6 +1064,13 @@ msgid "" "the multipart, otherwise leave the boundary to be automatically created when " "it is needed (for example, when the message is serialized)." msgstr "" +"Convierte un mensaje no-``multipart``, ``multipart/related`` o ``multipart-" +"alternative`` a uno ``multipart/mixed`` moviendo cualquier cabecera :" +"mailheader:`Content-` y la carga útil existentes a una (nueva) primera parte " +"del ``multipart``. Si *boundary* se especifica, se utiliza como la cadena " +"límite en el *multipart*, de otra forma deja que el límite se cree " +"automáticamente cuando se necesite (por ejemplo, cuando se serializa el " +"mensaje)." #: ../Doc/library/email.message.rst:648 msgid "" @@ -898,6 +1083,15 @@ msgid "" "the current :mod:`~email.policy`. If the added part has no :mailheader:" "`Content-Disposition` header, add one with the value ``inline``." msgstr "" +"Si el mensaje es un ``multipart/related``, crea un nuevo objeto mensaje, " +"pasa todos los argumentos a su método :meth:`set_content` y lo une al " +"``multipart`` con :meth:`~email.message.Message.attach`. Si el mensaje es un " +"no-``multipart``, llama a :meth:`make_related` y procede como arriba. Si el " +"mensaje es cualquier otro tipo de ``multipart``, lanza :exc:`TypeError`. Si " +"*content_manager* no es especificado, usa el ``content_manager`` " +"especificado por la :mod:`~email.policy` actual. Si la parte agregada no " +"tiene un encabezado :mailheader:`Content-Disposition`, se agrega uno con el " +"valor ``inline``." #: ../Doc/library/email.message.rst:661 msgid "" @@ -910,8 +1104,17 @@ msgid "" "specified, use the ``content_manager`` specified by the current :mod:`~email." "policy`." msgstr "" +"Si el mensaje es un ``multipart/alternative``, crea un nuevo objeto mensaje, " +"pasa todos los argumentos a su método :meth:`set_content` y lo une al " +"``multipart`` con :meth:`~email.message.Message.attach`. Si el mensaje es un " +"no-``multipart`` o ``multipart/related``, llama a :meth:`make_alternative` y " +"procede como arriba. Si el mensaje es cualquier otro tipo de ``multipart``, " +"lanza :exc:`TypeError`. Si *content_manager* no es especificado, usa el " +"``content_manager`` especificado por la :mod:`~email.policy` actual." +# traducir *attachments* ? #: ../Doc/library/email.message.rst:673 +#, fuzzy msgid "" "If the message is a ``multipart/mixed``, create a new message object, pass " "all of the arguments to its :meth:`set_content` method, and :meth:`~email." @@ -925,21 +1128,38 @@ msgid "" "``inline`` attachments (:mailheader:`Content-Disposition: inline`), by " "passing appropriate options to the ``content_manager``." msgstr "" +"Si el mensaje es un ``multipart/mixed``, crea un nuevo objeto mensaje, pasa " +"todos los argumentos a su método :meth:`set_content` y lo une al " +"``multipart`` con :meth:`~email.message.Message.attach`. Si el mensaje es un " +"no-``multipart``, ``multipart/related``, o ``multipart/alternative``llama a :" +"meth:`make_mixed` y procede como arriba. Si *content_manager* no es " +"especificado, usa el ``content_manager`` especificado por la :mod:`~email." +"policy` actual. Si la parte agregada no tiene un encabezado :mailheader:" +"`Content-Disposition`, se agrega uno con el valor ``attachment``. Este " +"método se puede usar tanto para *attachments* explícitos (:mailheader:" +"`Content-Disposition: attachment`) como para *attachments* ``inline`` (:" +"mailheader:`Content-Disposition: inline`), pasando las opciones apropiadas " +"al ``content_manager``." #: ../Doc/library/email.message.rst:689 msgid "Remove the payload and all of the headers." -msgstr "Elimina el *payload* y todos los *headers*." +msgstr "Elimina la carga útil y todas las cabeceras." #: ../Doc/library/email.message.rst:694 msgid "" "Remove the payload and all of the :exc:`Content-` headers, leaving all other " "headers intact and in their original order." msgstr "" +"Elimina la carga útil y todos los :exc:`Content-` *headers*, dejando a las " +"demás cabeceras intactas y en su orden original." #: ../Doc/library/email.message.rst:698 msgid ":class:`EmailMessage` objects have the following instance attributes:" msgstr "" +"Los objetos :class:`EmailMessage` tienen los siguientes atributos de " +"instancia:" +# MIME armor -> armadura MIME? #: ../Doc/library/email.message.rst:703 msgid "" "The format of a MIME document allows for some text between the blank line " @@ -949,6 +1169,12 @@ msgid "" "message, or when viewing the message in a non-MIME aware reader, this text " "can become visible." msgstr "" +"El formato de un documento MIME permite algo de texto entre la linea en " +"blanco después de las cabeceras y la primera cadena límite de multiparte. " +"Normalmente, este texto nunca es visible en un lector de correo compatible " +"con MIME porque queda fuera de la armadura MIME estándar. Sin embargo, al " +"ver el texto sin formato del mensaje, o al ver el mensaje en un lector no " +"compatible con MIME, este texto puede volverse visible." #: ../Doc/library/email.message.rst:710 msgid "" @@ -961,12 +1187,22 @@ msgid "" "in the area between the headers and the first boundary. See :mod:`email." "parser` and :mod:`email.generator` for details." msgstr "" +"El atributo *preamble* contiene este texto extra para documentos MIME. " +"Cuando el :class:`~email.parser.Parser` descubre texto después de las " +"cabeceras pero antes de la primer cadena límite, asigna este texto al " +"atributo *preamble* del mensaje. Cuando el :class:`~email.generator." +"Generator` escribe la representación de texto sin formato de un mensaje MIME " +"y encuentra que el mensaje tiene un atributo *preamble* escribirá este texto " +"en el área entre las cabeceras y el primer límite. Véase :mod:`email.parser` " +"y :mod:`email.generator` para conocer detalles." #: ../Doc/library/email.message.rst:720 msgid "" "Note that if the message object has no preamble, the *preamble* attribute " "will be ``None``." msgstr "" +"Cabe señalar que si el objeto *message* no tiene preámbulo, el atributo " +"*preamble* será igual a ``None``." #: ../Doc/library/email.message.rst:726 msgid "" @@ -975,13 +1211,21 @@ msgid "" "end of the message. As with the :attr:`~EmailMessage.preamble`, if there is " "no epilog text this attribute will be ``None``." msgstr "" +"El atributo *epilogue* actúa de igual forma al atributo *preamble* con la " +"excepción de que contiene texto que aparece entre el último límite y el fin " +"del mensaje. Como con el :attr:`~EmailMessage.preamble`, si no hay texto de " +"epílogo este atributo será ``None``." +# En la memoria hay diferentes traducciones para parsing, análisis sintáctico me pareció la más adecuada #: ../Doc/library/email.message.rst:734 msgid "" "The *defects* attribute contains a list of all the problems found when " "parsing this message. See :mod:`email.errors` for a detailed description of " "the possible parsing defects." msgstr "" +"El atributo *defects* contiene una lista de todos los errores encontrados al " +"hacer el análisis sintáctico del mensaje. Vea :mod:`email.errors` para una " +"descripción detallada de los posibles efectos del análisis sintáctico." #: ../Doc/library/email.message.rst:741 msgid "" @@ -990,6 +1234,10 @@ msgid "" "added when :meth:`~EmailMessage.set_content` is called, since sub-parts do " "not need their own :mailheader:`MIME-Version` headers." msgstr "" +"Esta clase representa una subparte de un mensaje MIME. Es idéntica a :class:" +"`EmailMessage`, excepto que las cabeceras :mailheader:`MIME-Version` son " +"añadidas cuando se llama a :meth:`~EmailMessage.set_content`, ya que las " +"subpartes no necesitan su propia cabecera :mailheader:`MIME-Version`." #: ../Doc/library/email.message.rst:748 msgid "Footnotes" @@ -1000,3 +1248,6 @@ msgid "" "Originally added in 3.4 as a :term:`provisional module `. Docs for legacy message class moved to :ref:`compat32_message`." msgstr "" +"Añadido originalmente en la versión 3.4 como un :term:`módulo provisional " +"`. La documentación para la clase heredada *message* se " +"movió a :ref:`compat32_message`."