Skip to content

Commit 5e3e661

Browse files
sync with cpython 9b33b258
1 parent b1de1e6 commit 5e3e661

9 files changed

Lines changed: 3771 additions & 3357 deletions

File tree

c-api/descriptor.po

Lines changed: 131 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ msgid ""
99
msgstr ""
1010
"Project-Id-Version: Python 3.14\n"
1111
"Report-Msgid-Bugs-To: \n"
12-
"POT-Creation-Date: 2025-12-02 00:15+0000\n"
12+
"POT-Creation-Date: 2026-07-16 00:27+0000\n"
1313
"PO-Revision-Date: 2021-12-09 20:56+0800\n"
1414
"Last-Translator: Matt Wang <mattwang44@gmail.com>\n"
1515
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
@@ -33,35 +33,112 @@ msgstr ""
3333
"\"Descriptor\" 是描述物件某些屬性的物件,它們存在於型別物件的 dictionary(字"
3434
"典)中。"
3535

36-
#: ../../c-api/descriptor.rst:15
36+
#: ../../c-api/descriptor.rst:13
3737
msgid "The type object for the built-in descriptor types."
3838
msgstr "內建 descriptor 型別的型別物件。"
3939

40-
#: ../../c-api/descriptor.rst:26
40+
#: ../../c-api/descriptor.rst:18
41+
msgid ""
42+
"Create a new get-set descriptor for extension type *type* from the :c:type:"
43+
"`PyGetSetDef` structure *getset*."
44+
msgstr ""
45+
46+
#: ../../c-api/descriptor.rst:21
47+
msgid ""
48+
"Get-set descriptors expose attributes implemented by C getter and setter "
49+
"functions rather than stored directly in the instance. This is the same kind "
50+
"of descriptor created for entries in :c:member:`~PyTypeObject.tp_getset`, "
51+
"and it appears in Python as a :class:`types.GetSetDescriptorType` object."
52+
msgstr ""
53+
54+
#: ../../c-api/descriptor.rst:26 ../../c-api/descriptor.rst:39
55+
#: ../../c-api/descriptor.rst:70 ../../c-api/descriptor.rst:101
56+
#: ../../c-api/descriptor.rst:123
57+
msgid ""
58+
"On success, return a :term:`strong reference` to the descriptor. Return "
59+
"``NULL`` with an exception set on failure."
60+
msgstr ""
61+
62+
#: ../../c-api/descriptor.rst:31
63+
msgid ""
64+
"Create a new member descriptor for extension type *type* from the :c:type:"
65+
"`PyMemberDef` structure *member*."
66+
msgstr ""
67+
68+
#: ../../c-api/descriptor.rst:34
69+
msgid ""
70+
"Member descriptors expose fields in the type's C struct as Python "
71+
"attributes. This is the same kind of descriptor created for entries in :c:"
72+
"member:`~PyTypeObject.tp_members`, and it appears in Python as a :class:"
73+
"`types.MemberDescriptorType` object."
74+
msgstr ""
75+
76+
#: ../../c-api/descriptor.rst:44
4177
msgid ""
4278
"The type object for member descriptor objects created from :c:type:"
4379
"`PyMemberDef` structures. These descriptors expose fields of a C struct as "
4480
"attributes on a type, and correspond to :class:`types.MemberDescriptorType` "
4581
"objects in Python."
4682
msgstr ""
4783

48-
#: ../../c-api/descriptor.rst:35
84+
#: ../../c-api/descriptor.rst:53
4985
msgid ""
5086
"The type object for get/set descriptor objects created from :c:type:"
5187
"`PyGetSetDef` structures. These descriptors implement attributes whose value "
5288
"is computed by C getter and setter functions, and are used for many built-in "
53-
"type attributes."
89+
"type attributes. They correspond to :class:`types.GetSetDescriptorType` "
90+
"objects in Python."
5491
msgstr ""
5592

56-
#: ../../c-api/descriptor.rst:46
93+
#: ../../c-api/descriptor.rst:62
94+
msgid ""
95+
"Create a new method descriptor for extension type *type* from the :c:type:"
96+
"`PyMethodDef` structure *meth*."
97+
msgstr ""
98+
99+
#: ../../c-api/descriptor.rst:65
100+
msgid ""
101+
"Method descriptors expose C functions as methods on a type. This is the same "
102+
"kind of descriptor created for entries in :c:member:`~PyTypeObject."
103+
"tp_methods`, and it appears in Python as a :class:`types."
104+
"MethodDescriptorType` object."
105+
msgstr ""
106+
107+
#: ../../c-api/descriptor.rst:75
57108
msgid ""
58109
"The type object for method descriptor objects created from :c:type:"
59110
"`PyMethodDef` structures. These descriptors expose C functions as methods on "
60-
"a type, and correspond to :class:`types.MemberDescriptorType` objects in "
111+
"a type, and correspond to :class:`types.MethodDescriptorType` objects in "
61112
"Python."
62113
msgstr ""
63114

64-
#: ../../c-api/descriptor.rst:57
115+
#: ../../c-api/descriptor.rst:83
116+
msgid "Describes a slot wrapper used by :c:func:`PyDescr_NewWrapper`."
117+
msgstr ""
118+
119+
#: ../../c-api/descriptor.rst:85
120+
msgid ""
121+
"Each ``wrapperbase`` record stores the Python-visible name and metadata for "
122+
"a special method implemented by a type slot, together with the wrapper "
123+
"function used to adapt that slot to Python's calling convention."
124+
msgstr ""
125+
126+
#: ../../c-api/descriptor.rst:91
127+
msgid ""
128+
"Create a new wrapper descriptor for extension type *type* from the :c:struct:"
129+
"`wrapperbase` structure *base* and the wrapped slot function pointer "
130+
"*wrapped*."
131+
msgstr ""
132+
133+
#: ../../c-api/descriptor.rst:96
134+
msgid ""
135+
"Wrapper descriptors expose special methods implemented by type slots. This "
136+
"is the same kind of descriptor that CPython creates for slot-based special "
137+
"methods such as ``__repr__`` or ``__add__``, and it appears in Python as a :"
138+
"class:`types.WrapperDescriptorType` object."
139+
msgstr ""
140+
141+
#: ../../c-api/descriptor.rst:106
65142
msgid ""
66143
"The type object for wrapper descriptor objects created by :c:func:"
67144
"`PyDescr_NewWrapper` and :c:func:`PyWrapper_New`. Wrapper descriptors are "
@@ -70,7 +147,21 @@ msgid ""
70147
"objects."
71148
msgstr ""
72149

73-
#: ../../c-api/descriptor.rst:69
150+
#: ../../c-api/descriptor.rst:115
151+
msgid ""
152+
"Create a new class method descriptor for extension type *type* from the :c:"
153+
"type:`PyMethodDef` structure *method*."
154+
msgstr ""
155+
156+
#: ../../c-api/descriptor.rst:118
157+
msgid ""
158+
"Class method descriptors expose C methods that receive the class rather than "
159+
"an instance when accessed. This is the same kind of descriptor created for "
160+
"``METH_CLASS`` entries in :c:member:`~PyTypeObject.tp_methods`, and it "
161+
"appears in Python as a :class:`types.ClassMethodDescriptorType` object."
162+
msgstr ""
163+
164+
#: ../../c-api/descriptor.rst:128
74165
msgid ""
75166
"Return non-zero if the descriptor object *descr* describes a data attribute, "
76167
"or ``0`` if it describes a method. *descr* must be a descriptor object; "
@@ -79,55 +170,76 @@ msgstr ""
79170
"如果 descriptor 物件 *descr* 描述的是一個資料屬性則回傳非零值,或者如果它描述"
80171
"的是一個方法則回傳 ``0``。*descr* 必須為一個 descriptor 物件;沒有錯誤檢查。"
81172

82-
#: ../../c-api/descriptor.rst:78
173+
#: ../../c-api/descriptor.rst:135
174+
msgid ""
175+
"Create a new bound wrapper object from the wrapper descriptor *d* and the "
176+
"instance *self*."
177+
msgstr ""
178+
179+
#: ../../c-api/descriptor.rst:138
180+
msgid ""
181+
"This is the bound form of a wrapper descriptor created by :c:func:"
182+
"`PyDescr_NewWrapper`. CPython creates these objects when a slot wrapper is "
183+
"accessed through an instance, and they appear in Python as :class:`types."
184+
"MethodWrapperType` objects."
185+
msgstr ""
186+
187+
#: ../../c-api/descriptor.rst:143
188+
msgid ""
189+
"On success, return a :term:`strong reference` to the wrapper object. Return "
190+
"``NULL`` with an exception set on failure."
191+
msgstr ""
192+
193+
#: ../../c-api/descriptor.rst:147
83194
msgid "Built-in descriptors"
84195
msgstr "內建描述器"
85196

86-
#: ../../c-api/descriptor.rst:82
197+
#: ../../c-api/descriptor.rst:151
87198
msgid ""
88199
"The type object for super objects. This is the same object as :class:`super` "
89200
"in the Python layer."
90201
msgstr ""
91202

92-
#: ../../c-api/descriptor.rst:88
203+
#: ../../c-api/descriptor.rst:157
93204
msgid ""
94205
"The type of class method objects. This is the same object as :class:"
95206
"`classmethod` in the Python layer."
96207
msgstr ""
97208

98-
#: ../../c-api/descriptor.rst:94
209+
#: ../../c-api/descriptor.rst:163
99210
msgid ""
100211
"The type object for C-level class method descriptor objects. This is the "
101212
"type of the descriptors created for :func:`classmethod` defined in C "
102-
"extension types, and is the same object as :class:`classmethod` in Python."
213+
"extension types, and corresponds to :class:`types.ClassMethodDescriptorType` "
214+
"objects in Python."
103215
msgstr ""
104216

105-
#: ../../c-api/descriptor.rst:102
217+
#: ../../c-api/descriptor.rst:171
106218
msgid ""
107219
"Create a new :class:`classmethod` object wrapping *callable*. *callable* "
108220
"must be a callable object and must not be ``NULL``."
109221
msgstr ""
110222

111-
#: ../../c-api/descriptor.rst:105
223+
#: ../../c-api/descriptor.rst:174
112224
msgid ""
113225
"On success, this function returns a :term:`strong reference` to a new class "
114226
"method descriptor. On failure, this function returns ``NULL`` with an "
115227
"exception set."
116228
msgstr ""
117229

118-
#: ../../c-api/descriptor.rst:112
230+
#: ../../c-api/descriptor.rst:181
119231
msgid ""
120232
"The type of static method objects. This is the same object as :class:"
121233
"`staticmethod` in the Python layer."
122234
msgstr ""
123235

124-
#: ../../c-api/descriptor.rst:118
236+
#: ../../c-api/descriptor.rst:187
125237
msgid ""
126238
"Create a new :class:`staticmethod` object wrapping *callable*. *callable* "
127239
"must be a callable object and must not be ``NULL``."
128240
msgstr ""
129241

130-
#: ../../c-api/descriptor.rst:121
242+
#: ../../c-api/descriptor.rst:190
131243
msgid ""
132244
"On success, this function returns a :term:`strong reference` to a new static "
133245
"method descriptor. On failure, this function returns ``NULL`` with an "

howto/a-conceptual-overview-of-asyncio.po

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: Python 3.14\n"
99
"Report-Msgid-Bugs-To: \n"
10-
"POT-Creation-Date: 2025-11-26 00:14+0000\n"
10+
"POT-Creation-Date: 2026-07-16 00:27+0000\n"
1111
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
@@ -208,7 +208,7 @@ msgid ""
208208
"The terms \"coroutine function\" and \"coroutine object\" are often "
209209
"conflated as coroutine. That can be confusing! In this article, coroutine "
210210
"specifically refers to a coroutine object, or more precisely, an instance "
211-
"of :data:`types.CoroutineType` (native coroutine). Note that coroutines can "
211+
"of :class:`types.CoroutineType` (native coroutine). Note that coroutines can "
212212
"also exist as instances of :class:`collections.abc.Coroutine` -- a "
213213
"distinction that matters for type checking."
214214
msgstr ""

library/curses.panel.po

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: Python 3.14\n"
88
"Report-Msgid-Bugs-To: \n"
9-
"POT-Creation-Date: 2026-06-19 00:50+0000\n"
9+
"POT-Creation-Date: 2026-07-16 00:27+0000\n"
1010
"PO-Revision-Date: 2018-05-23 14:42+0000\n"
1111
"Last-Translator: Adrian Liaw <adrianliaw2000@gmail.com>\n"
1212
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
@@ -33,99 +33,108 @@ msgid "Functions"
3333
msgstr "函式"
3434

3535
#: ../../library/curses.panel.rst:21
36-
msgid "The module :mod:`!curses.panel` defines the following functions:"
36+
#, fuzzy
37+
msgid "The module :mod:`!curses.panel` defines the following exception:"
3738
msgstr ":mod:`!curses.panel` 模組定義了以下函式:"
3839

3940
#: ../../library/curses.panel.rst:26
41+
msgid "Exception raised when a curses panel library function returns an error."
42+
msgstr ""
43+
44+
#: ../../library/curses.panel.rst:29
45+
msgid "The module :mod:`!curses.panel` defines the following functions:"
46+
msgstr ":mod:`!curses.panel` 模組定義了以下函式:"
47+
48+
#: ../../library/curses.panel.rst:34
4049
msgid "Returns the bottom panel in the panel stack."
4150
msgstr ""
4251

43-
#: ../../library/curses.panel.rst:31
52+
#: ../../library/curses.panel.rst:39
4453
msgid ""
4554
"Returns a panel object, associating it with the given window *win* and "
4655
"placing the new panel on top of the panel stack. Be aware that you need to "
4756
"keep the returned panel object referenced explicitly. If you don't, the "
4857
"panel object is garbage collected and removed from the panel stack."
4958
msgstr ""
5059

51-
#: ../../library/curses.panel.rst:39
60+
#: ../../library/curses.panel.rst:47
5261
msgid "Returns the top panel in the panel stack."
5362
msgstr ""
5463

55-
#: ../../library/curses.panel.rst:44
64+
#: ../../library/curses.panel.rst:52
5665
msgid ""
5766
"Updates the virtual screen after changes in the panel stack. This does not "
5867
"call :func:`curses.doupdate`, so you'll have to do this yourself."
5968
msgstr ""
6069

61-
#: ../../library/curses.panel.rst:51
70+
#: ../../library/curses.panel.rst:59
6271
msgid "Panel objects"
6372
msgstr ""
6473

65-
#: ../../library/curses.panel.rst:53
74+
#: ../../library/curses.panel.rst:79
6675
msgid ""
6776
"Panel objects, as returned by :func:`new_panel` above, are windows with a "
68-
"stacking order. There's always a window associated with a panel which "
77+
"stacking order. There's always a window associated with a panel which "
6978
"determines the content, while the panel methods are responsible for the "
7079
"window's depth in the panel stack."
7180
msgstr ""
7281

73-
#: ../../library/curses.panel.rst:58
82+
#: ../../library/curses.panel.rst:84
7483
msgid "Panel objects have the following methods:"
7584
msgstr ""
7685

77-
#: ../../library/curses.panel.rst:63
86+
#: ../../library/curses.panel.rst:89
7887
msgid "Returns the panel above the current panel."
7988
msgstr ""
8089

81-
#: ../../library/curses.panel.rst:68
90+
#: ../../library/curses.panel.rst:94
8291
msgid "Returns the panel below the current panel."
8392
msgstr ""
8493

85-
#: ../../library/curses.panel.rst:73
94+
#: ../../library/curses.panel.rst:99
8695
msgid "Push the panel to the bottom of the stack."
8796
msgstr ""
8897

89-
#: ../../library/curses.panel.rst:78
98+
#: ../../library/curses.panel.rst:104
9099
msgid ""
91100
"Returns ``True`` if the panel is hidden (not visible), ``False`` otherwise."
92101
msgstr ""
93102

94-
#: ../../library/curses.panel.rst:83
103+
#: ../../library/curses.panel.rst:109
95104
msgid ""
96105
"Hide the panel. This does not delete the object, it just makes the window on "
97106
"screen invisible."
98107
msgstr ""
99108

100-
#: ../../library/curses.panel.rst:89
109+
#: ../../library/curses.panel.rst:115
101110
msgid "Move the panel to the screen coordinates ``(y, x)``."
102111
msgstr ""
103112

104-
#: ../../library/curses.panel.rst:94
113+
#: ../../library/curses.panel.rst:120
105114
msgid "Change the window associated with the panel to the window *win*."
106115
msgstr ""
107116

108-
#: ../../library/curses.panel.rst:99
117+
#: ../../library/curses.panel.rst:125
109118
msgid ""
110119
"Set the panel's user pointer to *obj*. This is used to associate an "
111120
"arbitrary piece of data with the panel, and can be any Python object."
112121
msgstr ""
113122

114-
#: ../../library/curses.panel.rst:105
123+
#: ../../library/curses.panel.rst:131
115124
msgid ""
116125
"Display the panel (which might have been hidden), placing it on top of the "
117126
"panel stack."
118127
msgstr ""
119128

120-
#: ../../library/curses.panel.rst:111
129+
#: ../../library/curses.panel.rst:137
121130
msgid "Push panel to the top of the stack."
122131
msgstr ""
123132

124-
#: ../../library/curses.panel.rst:116
133+
#: ../../library/curses.panel.rst:142
125134
msgid ""
126135
"Returns the user pointer for the panel. This might be any Python object."
127136
msgstr ""
128137

129-
#: ../../library/curses.panel.rst:121
138+
#: ../../library/curses.panel.rst:147
130139
msgid "Returns the window object associated with the panel."
131140
msgstr ""

0 commit comments

Comments
 (0)