@@ -215,13 +215,14 @@ msgstr "创建堆分配类型"
215215msgid ""
216216"The following functions and structs are used to create :ref:`heap types "
217217"<heap-types>`."
218- msgstr ""
218+ msgstr "下列函数和结构体可被用来创建 :ref:`堆类型 <heap-types>`。 "
219219
220220#: ../../c-api/type.rst:165
221221msgid ""
222222"Creates and returns a :ref:`heap type <heap-types>` from the *spec* "
223223"(:const:`Py_TPFLAGS_HEAPTYPE`)."
224224msgstr ""
225+ "根据 *spec* (:const:`Py_TPFLAGS_HEAPTYPE`) 创建并返回一个 :ref:`堆类型 <heap-types>`。"
225226
226227#: ../../c-api/type.rst:168
227228msgid ""
@@ -231,6 +232,9 @@ msgid ""
231232"*Py_tp_base* slot is used instead. If that also is ``NULL``, the new type "
232233"derives from :class:`object`."
233234msgstr ""
235+ "*bases* 参数可被用来指定基类;它可以是单个类或由多个类组成的元组。 如果 *bases* 为 ``NULL``,则会改用 "
236+ "*Py_tp_bases* 槽位。 如果该槽位也为 ``NULL``,则会改用 *Py_tp_base* 槽位。 如果该槽位同样为 "
237+ "``NULL``,则新类型将派生自 :class:`object`。"
234238
235239#: ../../c-api/type.rst:174
236240msgid ""
@@ -240,65 +244,72 @@ msgid ""
240244":c:func:`PyType_GetModule`. The associated module is not inherited by "
241245"subclasses; it must be specified for each class individually."
242246msgstr ""
247+ "*module* 参数可被用来记录新类定义所在的模块。 它必须是一个模块对象或为 ``NULL``。 如果不为 "
248+ "``NULL``,则该模块会被关联到新类型并且可在之后通过 :c:func:`PyType_GetModule` 来获取。 "
249+ "这个关联模块不可被子类继承;它必须为每个类单独指定。"
243250
244251#: ../../c-api/type.rst:181
245252msgid "This function calls :c:func:`PyType_Ready` on the new type."
246- msgstr ""
253+ msgstr "此函数会在新类型上调用 :c:func:`PyType_Ready`。 "
247254
248255#: ../../c-api/type.rst:187
249256msgid ""
250257"The function now accepts a single class as the *bases* argument and ``NULL``"
251258" as the ``tp_doc`` slot."
252- msgstr ""
259+ msgstr "此函数现在接受一个单独类作为 *bases* 参数并接受 ``NULL`` 作为 ``tp_doc`` 槽位。 "
253260
254261#: ../../c-api/type.rst:192
255262msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``."
256- msgstr ""
263+ msgstr "等价于 ``PyType_FromModuleAndSpec(NULL, spec, bases)``。 "
257264
258265#: ../../c-api/type.rst:198
259266msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``."
260- msgstr ""
267+ msgstr "等价于 ``PyType_FromSpecWithBases(spec, NULL)``。 "
261268
262269#: ../../c-api/type.rst:202
263270msgid "Structure defining a type's behavior."
264- msgstr ""
271+ msgstr "定义一个类型的行为的结构体。 "
265272
266273#: ../../c-api/type.rst:206
267274msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`."
268- msgstr ""
275+ msgstr "类型的名称,用来设置 :c:member:`PyTypeObject.tp_name`。 "
269276
270277#: ../../c-api/type.rst:211
271278msgid ""
272279"Size of the instance in bytes, used to set "
273280":c:member:`PyTypeObject.tp_basicsize` and "
274281":c:member:`PyTypeObject.tp_itemsize`."
275282msgstr ""
283+ "以字节数表示的实例大小,用来设置 :c:member:`PyTypeObject.tp_basicsize` 和 "
284+ ":c:member:`PyTypeObject.tp_itemsize`。"
276285
277286#: ../../c-api/type.rst:217
278287msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
279- msgstr ""
288+ msgstr "类型旗标,用来设置 :c:member:`PyTypeObject.tp_flags`。 "
280289
281290#: ../../c-api/type.rst:219
282291msgid ""
283292"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, "
284293":c:func:`PyType_FromSpecWithBases` sets it automatically."
285294msgstr ""
295+ "如果未设置 ``Py_TPFLAGS_HEAPTYPE`` 旗标,则 :c:func:`PyType_FromSpecWithBases` "
296+ "会自动设置它。"
286297
287298#: ../../c-api/type.rst:224
288299msgid ""
289300"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
290301"value ``{0, NULL}``."
291- msgstr ""
302+ msgstr ":c:type:`PyType_Slot` 结构体的数组。 以特殊槽位值 ``{0, NULL}`` 来结束。 "
292303
293304#: ../../c-api/type.rst:229
294305msgid ""
295306"Structure defining optional functionality of a type, containing a slot ID "
296307"and a value pointer."
297- msgstr ""
308+ msgstr "定义一个类型的可选功能的结构体,包含一个槽位 ID 和一个值指针。 "
298309
299310#: ../../c-api/type.rst:234
300311msgid "A slot ID."
301- msgstr ""
312+ msgstr "槽位 ID。 "
302313
303314#: ../../c-api/type.rst:236
304315msgid ""
@@ -307,44 +318,47 @@ msgid ""
307318":c:type:`PySequenceMethods`, :c:type:`PyMappingMethods` and "
308319":c:type:`PyAsyncMethods` with an added ``Py_`` prefix. For example, use:"
309320msgstr ""
321+ "槽位 ID 的类名像是结构体 :c:type:`PyTypeObject`, :c:type:`PyNumberMethods`, "
322+ ":c:type:`PySequenceMethods`, :c:type:`PyMappingMethods` 和 "
323+ ":c:type:`PyAsyncMethods` 的字段名附加一个 ``Py_`` 前缀。 举例来说,使用:"
310324
311325#: ../../c-api/type.rst:242
312326msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`"
313- msgstr ""
327+ msgstr "``Py_tp_dealloc`` 设置 :c:member:`PyTypeObject.tp_dealloc` "
314328
315329#: ../../c-api/type.rst:243
316330msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`"
317- msgstr ""
331+ msgstr "``Py_nb_add`` 设置 :c:member:`PyNumberMethods.nb_add` "
318332
319333#: ../../c-api/type.rst:244
320334msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`"
321- msgstr ""
335+ msgstr "``Py_sq_length`` 设置 :c:member:`PySequenceMethods.sq_length` "
322336
323337#: ../../c-api/type.rst:246
324338msgid ""
325339"The following fields cannot be set at all using :c:type:`PyType_Spec` and "
326340":c:type:`PyType_Slot`:"
327- msgstr ""
341+ msgstr "下列字段完全无法使得 :c:type:`PyType_Spec` 和 :c:type:`PyType_Slot` 来设置: "
328342
329343#: ../../c-api/type.rst:249
330344msgid ":c:member:`~PyTypeObject.tp_dict`"
331345msgstr ":c:member:`~PyTypeObject.tp_dict`"
332346
333347#: ../../c-api/type.rst:250
334348msgid ":c:member:`~PyTypeObject.tp_mro`"
335- msgstr ""
349+ msgstr ":c:member:`~PyTypeObject.tp_mro` "
336350
337351#: ../../c-api/type.rst:251
338352msgid ":c:member:`~PyTypeObject.tp_cache`"
339- msgstr ""
353+ msgstr ":c:member:`~PyTypeObject.tp_cache` "
340354
341355#: ../../c-api/type.rst:252
342356msgid ":c:member:`~PyTypeObject.tp_subclasses`"
343- msgstr ""
357+ msgstr ":c:member:`~PyTypeObject.tp_subclasses` "
344358
345359#: ../../c-api/type.rst:253
346360msgid ":c:member:`~PyTypeObject.tp_weaklist`"
347- msgstr ""
361+ msgstr ":c:member:`~PyTypeObject.tp_weaklist` "
348362
349363#: ../../c-api/type.rst:254
350364msgid ":c:member:`~PyTypeObject.tp_vectorcall`"
@@ -355,24 +369,30 @@ msgid ""
355369":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef "
356370"<pymemberdef-offsets>`)"
357371msgstr ""
372+ ":c:member:`~PyTypeObject.tp_weaklistoffset` (参见 :ref:`PyMemberDef "
373+ "<pymemberdef-offsets>`)"
358374
359375#: ../../c-api/type.rst:257
360376msgid ""
361377":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef <pymemberdef-"
362378"offsets>`)"
363379msgstr ""
380+ ":c:member:`~PyTypeObject.tp_dictoffset` (参见 :ref:`PyMemberDef <pymemberdef-"
381+ "offsets>`)"
364382
365383#: ../../c-api/type.rst:259
366384msgid ""
367385":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef "
368386"<pymemberdef-offsets>`)"
369387msgstr ""
388+ ":c:member:`~PyTypeObject.tp_vectorcall_offset` (参见 :ref:`PyMemberDef "
389+ "<pymemberdef-offsets>`)"
370390
371391#: ../../c-api/type.rst:262
372392msgid ""
373393"The following fields cannot be set using :c:type:`PyType_Spec` and "
374394":c:type:`PyType_Slot` under the limited API:"
375- msgstr ""
395+ msgstr "下列字段在受限 API 下无法使用 :c:type:`PyType_Spec` 和 :c:type:`PyType_Slot` 来设置: "
376396
377397#: ../../c-api/type.rst:265
378398msgid ":c:member:`~PyBufferProcs.bf_getbuffer`"
0 commit comments