Thanks to visit codestin.com
Credit goes to github.com

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 <[email protected]>\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)