Skip to content

Commit 6d46812

Browse files
sync with cpython aa4bb1c6
1 parent 53c050d commit 6d46812

File tree

1 file changed

+86
-88
lines changed

1 file changed

+86
-88
lines changed

library/email.parser.po

Lines changed: 86 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: Python 3.13\n"
88
"Report-Msgid-Bugs-To: \n"
9-
"POT-Creation-Date: 2025-02-19 00:13+0000\n"
9+
"POT-Creation-Date: 2025-07-11 10:17+0000\n"
1010
"PO-Revision-Date: 2018-05-23 16:01+0000\n"
1111
"Last-Translator: Adrian Liaw <adrianliaw2000@gmail.com>\n"
1212
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
@@ -43,35 +43,35 @@ msgid ""
4343
"root :class:`~email.message.EmailMessage` instance of the object structure. "
4444
"For simple, non-MIME messages the payload of this root object will likely be "
4545
"a string containing the text of the message. For MIME messages, the root "
46-
"object will return ``True`` from "
47-
"its :meth:`~email.message.EmailMessage.is_multipart` method, and the "
48-
"subparts can be accessed via the payload manipulation methods, such "
49-
"as :meth:`~email.message.EmailMessage.get_body`, :meth:`~email.message.EmailMessage.iter_parts`, "
50-
"and :meth:`~email.message.EmailMessage.walk`."
46+
"object will return ``True`` from its :meth:`~email.message.EmailMessage."
47+
"is_multipart` method, and the subparts can be accessed via the payload "
48+
"manipulation methods, such as :meth:`~email.message.EmailMessage.get_body`, :"
49+
"meth:`~email.message.EmailMessage.iter_parts`, and :meth:`~email.message."
50+
"EmailMessage.walk`."
5151
msgstr ""
5252

5353
#: ../../library/email.parser.rst:30
5454
msgid ""
55-
"There are actually two parser interfaces available for use, "
56-
"the :class:`Parser` API and the incremental :class:`FeedParser` API. "
57-
"The :class:`Parser` API is most useful if you have the entire text of the "
58-
"message in memory, or if the entire message lives in a file on the file "
59-
"system. :class:`FeedParser` is more appropriate when you are reading the "
60-
"message from a stream which might block waiting for more input (such as "
61-
"reading an email message from a socket). The :class:`FeedParser` can "
62-
"consume and parse the message incrementally, and only returns the root "
63-
"object when you close the parser."
55+
"There are actually two parser interfaces available for use, the :class:"
56+
"`Parser` API and the incremental :class:`FeedParser` API. The :class:"
57+
"`Parser` API is most useful if you have the entire text of the message in "
58+
"memory, or if the entire message lives in a file on the file system. :class:"
59+
"`FeedParser` is more appropriate when you are reading the message from a "
60+
"stream which might block waiting for more input (such as reading an email "
61+
"message from a socket). The :class:`FeedParser` can consume and parse the "
62+
"message incrementally, and only returns the root object when you close the "
63+
"parser."
6464
msgstr ""
6565

6666
#: ../../library/email.parser.rst:39
6767
msgid ""
6868
"Note that the parser can be extended in limited ways, and of course you can "
6969
"implement your own parser completely from scratch. All of the logic that "
70-
"connects the :mod:`email` package's bundled parser and "
71-
"the :class:`~email.message.EmailMessage` class is embodied in "
72-
"the :class:`~email.policy.Policy` class, so a custom parser can create "
73-
"message object trees any way it finds necessary by implementing custom "
74-
"versions of the appropriate :class:`!Policy` methods."
70+
"connects the :mod:`email` package's bundled parser and the :class:`~email."
71+
"message.EmailMessage` class is embodied in the :class:`~email.policy.Policy` "
72+
"class, so a custom parser can create message object trees any way it finds "
73+
"necessary by implementing custom versions of the appropriate :class:`!"
74+
"Policy` methods."
7575
msgstr ""
7676

7777
#: ../../library/email.parser.rst:49
@@ -80,14 +80,14 @@ msgstr ""
8080

8181
#: ../../library/email.parser.rst:51
8282
msgid ""
83-
"The :class:`BytesFeedParser`, imported from the :mod:`email.feedparser` "
84-
"module, provides an API that is conducive to incremental parsing of email "
85-
"messages, such as would be necessary when reading the text of an email "
86-
"message from a source that can block (such as a socket). "
87-
"The :class:`BytesFeedParser` can of course be used to parse an email message "
88-
"fully contained in a :term:`bytes-like object`, string, or file, but "
89-
"the :class:`BytesParser` API may be more convenient for such use cases. The "
90-
"semantics and results of the two parser APIs are identical."
83+
"The :class:`BytesFeedParser`, imported from the :mod:`email.parser."
84+
"FeedParser` module, provides an API that is conducive to incremental parsing "
85+
"of email messages, such as would be necessary when reading the text of an "
86+
"email message from a source that can block (such as a socket). The :class:"
87+
"`BytesFeedParser` can of course be used to parse an email message fully "
88+
"contained in a :term:`bytes-like object`, string, or file, but the :class:"
89+
"`BytesParser` API may be more convenient for such use cases. The semantics "
90+
"and results of the two parser APIs are identical."
9191
msgstr ""
9292

9393
#: ../../library/email.parser.rst:60
@@ -97,10 +97,10 @@ msgid ""
9797
"to retrieve the root message object. The :class:`BytesFeedParser` is "
9898
"extremely accurate when parsing standards-compliant messages, and it does a "
9999
"very good job of parsing non-compliant messages, providing information about "
100-
"how a message was deemed broken. It will populate a message "
101-
"object's :attr:`~email.message.EmailMessage.defects` attribute with a list "
102-
"of any problems it found in a message. See the :mod:`email.errors` module "
103-
"for the list of defects that it can find."
100+
"how a message was deemed broken. It will populate a message object's :attr:"
101+
"`~email.message.EmailMessage.defects` attribute with a list of any problems "
102+
"it found in a message. See the :mod:`email.errors` module for the list of "
103+
"defects that it can find."
104104
msgstr ""
105105

106106
#: ../../library/email.parser.rst:70
@@ -110,21 +110,21 @@ msgstr ""
110110
#: ../../library/email.parser.rst:75
111111
msgid ""
112112
"Create a :class:`BytesFeedParser` instance. Optional *_factory* is a no-"
113-
"argument callable; if not specified use "
114-
"the :attr:`~email.policy.Policy.message_factory` from the *policy*. Call "
115-
"*_factory* whenever a new message object is needed."
113+
"argument callable; if not specified use the :attr:`~email.policy.Policy."
114+
"message_factory` from the *policy*. Call *_factory* whenever a new message "
115+
"object is needed."
116116
msgstr ""
117117

118118
#: ../../library/email.parser.rst:80
119119
msgid ""
120120
"If *policy* is specified use the rules it specifies to update the "
121-
"representation of the message. If *policy* is not set, use "
122-
"the :class:`compat32 <email.policy.Compat32>` policy, which maintains "
123-
"backward compatibility with the Python 3.2 version of the email package and "
124-
"provides :class:`~email.message.Message` as the default factory. All other "
125-
"policies provide :class:`~email.message.EmailMessage` as the default "
126-
"*_factory*. For more information on what else *policy* controls, see "
127-
"the :mod:`~email.policy` documentation."
121+
"representation of the message. If *policy* is not set, use the :class:"
122+
"`compat32 <email.policy.Compat32>` policy, which maintains backward "
123+
"compatibility with the Python 3.2 version of the email package and provides :"
124+
"class:`~email.message.Message` as the default factory. All other policies "
125+
"provide :class:`~email.message.EmailMessage` as the default *_factory*. For "
126+
"more information on what else *policy* controls, see the :mod:`~email."
127+
"policy` documentation."
128128
msgstr ""
129129

130130
#: ../../library/email.parser.rst:89 ../../library/email.parser.rst:145
@@ -159,10 +159,10 @@ msgstr ""
159159

160160
#: ../../library/email.parser.rst:116
161161
msgid ""
162-
"Works like :class:`BytesFeedParser` except that the input to "
163-
"the :meth:`~BytesFeedParser.feed` method must be a string. This is of "
164-
"limited utility, since the only way for such a message to be valid is for it "
165-
"to contain only ASCII text or, if :attr:`~email.policy.Policy.utf8` is "
162+
"Works like :class:`BytesFeedParser` except that the input to the :meth:"
163+
"`~BytesFeedParser.feed` method must be a string. This is of limited "
164+
"utility, since the only way for such a message to be valid is for it to "
165+
"contain only ASCII text or, if :attr:`~email.policy.EmailPolicy.utf8` is "
166166
"``True``, no binary attachments."
167167
msgstr ""
168168

@@ -175,13 +175,13 @@ msgid ""
175175
"The :class:`BytesParser` class, imported from the :mod:`email.parser` "
176176
"module, provides an API that can be used to parse a message when the "
177177
"complete contents of the message are available in a :term:`bytes-like "
178-
"object` or file. The :mod:`email.parser` module also "
179-
"provides :class:`Parser` for parsing strings, and header-only "
180-
"parsers, :class:`BytesHeaderParser` and :class:`HeaderParser`, which can be "
181-
"used if you're only interested in the headers of the "
182-
"message. :class:`BytesHeaderParser` and :class:`HeaderParser` can be much "
183-
"faster in these situations, since they do not attempt to parse the message "
184-
"body, instead setting the payload to the raw body."
178+
"object` or file. The :mod:`email.parser` module also provides :class:"
179+
"`Parser` for parsing strings, and header-only parsers, :class:"
180+
"`BytesHeaderParser` and :class:`HeaderParser`, which can be used if you're "
181+
"only interested in the headers of the message. :class:`BytesHeaderParser` "
182+
"and :class:`HeaderParser` can be much faster in these situations, since they "
183+
"do not attempt to parse the message body, instead setting the payload to the "
184+
"raw body."
185185
msgstr ""
186186

187187
#: ../../library/email.parser.rst:141
@@ -205,19 +205,19 @@ msgstr ""
205205
#: ../../library/email.parser.rst:156
206206
msgid ""
207207
"Read all the data from the binary file-like object *fp*, parse the resulting "
208-
"bytes, and return the message object. *fp* must support both "
209-
"the :meth:`~io.IOBase.readline` and the :meth:`~io.IOBase.read` methods."
208+
"bytes, and return the message object. *fp* must support both the :meth:`~io."
209+
"IOBase.readline` and the :meth:`~io.TextIOBase.read` methods."
210210
msgstr ""
211211

212212
#: ../../library/email.parser.rst:161
213213
msgid ""
214214
"The bytes contained in *fp* must be formatted as a block of :rfc:`5322` (or, "
215-
"if :attr:`~email.policy.Policy.utf8` is ``True``, :rfc:`6532`) style headers "
216-
"and header continuation lines, optionally preceded by an envelope header. "
217-
"The header block is terminated either by the end of the data or by a blank "
218-
"line. Following the header block is the body of the message (which may "
219-
"contain MIME-encoded subparts, including subparts with "
220-
"a :mailheader:`Content-Transfer-Encoding` of ``8bit``)."
215+
"if :attr:`~email.policy.EmailPolicy.utf8` is ``True``, :rfc:`6532`) style "
216+
"headers and header continuation lines, optionally preceded by an envelope "
217+
"header. The header block is terminated either by the end of the data or by "
218+
"a blank line. Following the header block is the body of the message (which "
219+
"may contain MIME-encoded subparts, including subparts with a :mailheader:"
220+
"`Content-Transfer-Encoding` of ``8bit``)."
221221
msgstr ""
222222

223223
#: ../../library/email.parser.rst:169
@@ -230,9 +230,9 @@ msgstr ""
230230
#: ../../library/email.parser.rst:176
231231
msgid ""
232232
"Similar to the :meth:`parse` method, except it takes a :term:`bytes-like "
233-
"object` instead of a file-like object. Calling this method on "
234-
"a :term:`bytes-like object` is equivalent to wrapping *bytes* in "
235-
"a :class:`~io.BytesIO` instance first and calling :meth:`parse`."
233+
"object` instead of a file-like object. Calling this method on a :term:"
234+
"`bytes-like object` is equivalent to wrapping *bytes* in a :class:`~io."
235+
"BytesIO` instance first and calling :meth:`parse`."
236236
msgstr ""
237237

238238
#: ../../library/email.parser.rst:181 ../../library/email.parser.rst:221
@@ -266,16 +266,16 @@ msgstr ""
266266

267267
#: ../../library/email.parser.rst:210
268268
msgid ""
269-
"Other than the text mode requirement, this method operates "
270-
"like :meth:`BytesParser.parse`."
269+
"Other than the text mode requirement, this method operates like :meth:"
270+
"`BytesParser.parse`."
271271
msgstr ""
272272

273273
#: ../../library/email.parser.rst:216
274274
msgid ""
275275
"Similar to the :meth:`parse` method, except it takes a string object instead "
276276
"of a file-like object. Calling this method on a string is equivalent to "
277-
"wrapping *text* in a :class:`~io.StringIO` instance first and "
278-
"calling :meth:`parse`."
277+
"wrapping *text* in a :class:`~io.StringIO` instance first and calling :meth:"
278+
"`parse`."
279279
msgstr ""
280280

281281
#: ../../library/email.parser.rst:226
@@ -346,39 +346,37 @@ msgstr ""
346346
msgid ""
347347
"Most non-\\ :mimetype:`multipart` type messages are parsed as a single "
348348
"message object with a string payload. These objects will return ``False`` "
349-
"for :meth:`~email.message.EmailMessage.is_multipart`, "
350-
"and :meth:`~email.message.EmailMessage.iter_parts` will yield an empty list."
349+
"for :meth:`~email.message.EmailMessage.is_multipart`, and :meth:`~email."
350+
"message.EmailMessage.iter_parts` will yield an empty list."
351351
msgstr ""
352352

353353
#: ../../library/email.parser.rst:300
354354
msgid ""
355355
"All :mimetype:`multipart` type messages will be parsed as a container "
356356
"message object with a list of sub-message objects for their payload. The "
357-
"outer container message will return ``True`` "
358-
"for :meth:`~email.message.EmailMessage.is_multipart`, "
359-
"and :meth:`~email.message.EmailMessage.iter_parts` will yield a list of "
360-
"subparts."
357+
"outer container message will return ``True`` for :meth:`~email.message."
358+
"EmailMessage.is_multipart`, and :meth:`~email.message.EmailMessage."
359+
"iter_parts` will yield a list of subparts."
361360
msgstr ""
362361

363362
#: ../../library/email.parser.rst:306
364363
msgid ""
365-
"Most messages with a content type of :mimetype:`message/\\*` (such "
366-
"as :mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will "
367-
"also be parsed as container object containing a list payload of length 1. "
368-
"Their :meth:`~email.message.EmailMessage.is_multipart` method will return "
369-
"``True``. The single element yielded "
370-
"by :meth:`~email.message.EmailMessage.iter_parts` will be a sub-message "
371-
"object."
364+
"Most messages with a content type of :mimetype:`message/\\*` (such as :"
365+
"mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will also "
366+
"be parsed as container object containing a list payload of length 1. Their :"
367+
"meth:`~email.message.EmailMessage.is_multipart` method will return ``True``. "
368+
"The single element yielded by :meth:`~email.message.EmailMessage.iter_parts` "
369+
"will be a sub-message object."
372370
msgstr ""
373371

374372
#: ../../library/email.parser.rst:313
375373
msgid ""
376374
"Some non-standards-compliant messages may not be internally consistent about "
377-
"their :mimetype:`multipart`\\ -edness. Such messages may have "
378-
"a :mailheader:`Content-Type` header of type :mimetype:`multipart`, but "
379-
"their :meth:`~email.message.EmailMessage.is_multipart` method may return "
380-
"``False``. If such messages were parsed with "
381-
"the :class:`~email.parser.FeedParser`, they will have an instance of "
382-
"the :class:`~email.errors.MultipartInvariantViolationDefect` class in their "
383-
"*defects* attribute list. See :mod:`email.errors` for details."
375+
"their :mimetype:`multipart`\\ -edness. Such messages may have a :mailheader:"
376+
"`Content-Type` header of type :mimetype:`multipart`, but their :meth:`~email."
377+
"message.EmailMessage.is_multipart` method may return ``False``. If such "
378+
"messages were parsed with the :class:`~email.parser.FeedParser`, they will "
379+
"have an instance of the :class:`~email.errors."
380+
"MultipartInvariantViolationDefect` class in their *defects* attribute list. "
381+
"See :mod:`email.errors` for details."
384382
msgstr ""

0 commit comments

Comments
 (0)
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