11# SOME DESCRIPTIVE TITLE.
2- # Copyright (C) 2001-2024 , Python Software Foundation
2+ # Copyright (C) 2001-2025 , Python Software Foundation
33# This file is distributed under the same license as the Python package.
44# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55#
@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version :Python 3.12\n "
1313"Report-Msgid-Bugs-To :\n "
14- "POT-Creation-Date :2024-11-01 14:52 +0000\n "
14+ "POT-Creation-Date :2025-03-21 14:55 +0000\n "
1515"PO-Revision-Date :2024-05-11 00:32+0000\n "
1616"Last-Translator :Rafael Fontenelle <rffontenelle@gmail.com>, 2024\n "
1717"Language-Team :Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n "
@@ -505,16 +505,16 @@ msgid ""
505505"If negative, the absolute value specifies how much space instances of the "
506506"class need *in addition* to the superclass. Use "
507507":c:func:`PyObject_GetTypeData` to get a pointer to subclass-specific memory "
508- "reserved this way."
508+ "reserved this way. For negative :c:member:`!basicsize`, Python will insert "
509+ "padding when needed to meet :c:member:`~PyTypeObject.tp_basicsize`'s "
510+ "alignment requirements."
509511msgstr ""
510- "如果为负数,则以其绝对值指定该类的实例在超类的 *基础之上* 还需要多少空间。 使用 :c:func:`PyObject_GetTypeData` "
511- "来获取通过此方式保留的子类专属内存的指针。"
512512
513- #: ../../c-api/type.rst:403
513+ #: ../../c-api/type.rst:406
514514msgid "Previously, this field could not be negative."
515515msgstr "在之前版本中,此字段不能为负数。"
516516
517- #: ../../c-api/type.rst:407
517+ #: ../../c-api/type.rst:410
518518msgid ""
519519"Size of one element of a variable-size type, in bytes. Used to set "
520520":c:member:`PyTypeObject.tp_itemsize`. See ``tp_itemsize`` documentation for "
@@ -523,7 +523,7 @@ msgstr ""
523523"可变大小类型中一个元素的大小,以字节为单位。 用于设置 :c:member:`PyTypeObject.tp_itemsize`。 注意事项请参阅 "
524524"``tp_itemsize`` 文档。"
525525
526- #: ../../c-api/type.rst:411
526+ #: ../../c-api/type.rst:414
527527msgid ""
528528"If zero, :c:member:`~PyTypeObject.tp_itemsize` is inherited. Extending "
529529"arbitrary variable-sized classes is dangerous, since some types use a fixed "
@@ -535,60 +535,60 @@ msgstr ""
535535"扩展任意可变大小的类是很危险的,因为某些类型使用固定偏移量来标识可变大小的内存,这样就会与子类使用的固定大小的内存相重叠。 "
536536"为了防止出错,只有在以下情况下才可以继承 ``itemsize``:"
537537
538- #: ../../c-api/type.rst:418
538+ #: ../../c-api/type.rst:421
539539msgid ""
540540"The base is not variable-sized (its :c:member:`~PyTypeObject.tp_itemsize`)."
541541msgstr "基类不是可变大小的 (即其 :c:member:`~PyTypeObject.tp_itemsize`)。"
542542
543- #: ../../c-api/type.rst:420
543+ #: ../../c-api/type.rst:423
544544msgid ""
545545"The requested :c:member:`PyType_Spec.basicsize` is positive, suggesting that"
546546" the memory layout of the base class is known."
547547msgstr "所请求的 :c:member:`PyType_Spec.basicsize` 为正值,表明基类的内存布局是已知的。"
548548
549- #: ../../c-api/type.rst:422
549+ #: ../../c-api/type.rst:425
550550msgid ""
551551"The requested :c:member:`PyType_Spec.basicsize` is zero, suggesting that the"
552552" subclass does not access the instance's memory directly."
553553msgstr "所请求的 :c:member:`PyType_Spec.basicsize` 为零,表明子类不会直接访问实例的内存。"
554554
555- #: ../../c-api/type.rst:425
555+ #: ../../c-api/type.rst:428
556556msgid "With the :c:macro:`Py_TPFLAGS_ITEMS_AT_END` flag."
557557msgstr "具有 :c:macro:`Py_TPFLAGS_ITEMS_AT_END` 旗标。"
558558
559- #: ../../c-api/type.rst:429
559+ #: ../../c-api/type.rst:432
560560msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
561561msgstr "类型旗标,用来设置 :c:member:`PyTypeObject.tp_flags`。"
562562
563- #: ../../c-api/type.rst:431
563+ #: ../../c-api/type.rst:434
564564msgid ""
565565"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, "
566566":c:func:`PyType_FromSpecWithBases` sets it automatically."
567567msgstr ""
568568"如果未设置 ``Py_TPFLAGS_HEAPTYPE`` 旗标,则 :c:func:`PyType_FromSpecWithBases` "
569569"会自动设置它。"
570570
571- #: ../../c-api/type.rst:436
571+ #: ../../c-api/type.rst:439
572572msgid ""
573573"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
574574"value ``{0, NULL}``."
575575msgstr ":c:type:`PyType_Slot` 结构体的数组。 以特殊槽位值 ``{0, NULL}`` 来结束。"
576576
577- #: ../../c-api/type.rst:439
577+ #: ../../c-api/type.rst:442
578578msgid "Each slot ID should be specified at most once."
579579msgstr "每个槽位 ID 应当只被指定一次。"
580580
581- #: ../../c-api/type.rst:449
581+ #: ../../c-api/type.rst:452
582582msgid ""
583583"Structure defining optional functionality of a type, containing a slot ID "
584584"and a value pointer."
585585msgstr "定义一个类型的可选功能的结构体,包含一个槽位 ID 和一个值指针。"
586586
587- #: ../../c-api/type.rst:454
587+ #: ../../c-api/type.rst:457
588588msgid "A slot ID."
589589msgstr "槽位 ID。"
590590
591- #: ../../c-api/type.rst:456
591+ #: ../../c-api/type.rst:459
592592msgid ""
593593"Slot IDs are named like the field names of the structures "
594594":c:type:`PyTypeObject`, :c:type:`PyNumberMethods`, "
@@ -599,48 +599,48 @@ msgstr ""
599599":c:type:`PySequenceMethods`, :c:type:`PyMappingMethods` 和 "
600600":c:type:`PyAsyncMethods` 的字段名附加一个 ``Py_`` 前缀。 举例来说,使用:"
601601
602- #: ../../c-api/type.rst:462
602+ #: ../../c-api/type.rst:465
603603msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`"
604604msgstr "``Py_tp_dealloc`` 设置 :c:member:`PyTypeObject.tp_dealloc`"
605605
606- #: ../../c-api/type.rst:463
606+ #: ../../c-api/type.rst:466
607607msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`"
608608msgstr "``Py_nb_add`` 设置 :c:member:`PyNumberMethods.nb_add`"
609609
610- #: ../../c-api/type.rst:464
610+ #: ../../c-api/type.rst:467
611611msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`"
612612msgstr "``Py_sq_length`` 设置 :c:member:`PySequenceMethods.sq_length`"
613613
614- #: ../../c-api/type.rst:466
614+ #: ../../c-api/type.rst:469
615615msgid ""
616616"The following “offset” fields cannot be set using :c:type:`PyType_Slot`:"
617617msgstr "下列 “offset” 字段不可使用 :c:type:`PyType_Slot` 来设置:"
618618
619- #: ../../c-api/type.rst:468
619+ #: ../../c-api/type.rst:471
620620msgid ""
621621":c:member:`~PyTypeObject.tp_weaklistoffset` (use "
622622":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead if possible)"
623623msgstr ""
624624":c:member:`~PyTypeObject.tp_weaklistoffset` (如果可能请改用 "
625625":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF`)"
626626
627- #: ../../c-api/type.rst:470
627+ #: ../../c-api/type.rst:473
628628msgid ""
629629":c:member:`~PyTypeObject.tp_dictoffset` (use "
630630":c:macro:`Py_TPFLAGS_MANAGED_DICT` instead if possible)"
631631msgstr ""
632632":c:member:`~PyTypeObject.tp_dictoffset` (如果可能请改用 "
633633":c:macro:`Py_TPFLAGS_MANAGED_DICT`)"
634634
635- #: ../../c-api/type.rst:472
635+ #: ../../c-api/type.rst:475
636636msgid ""
637637":c:member:`~PyTypeObject.tp_vectorcall_offset` (use "
638638"``\" __vectorcalloffset__\" `` in :ref:`PyMemberDef <pymemberdef-offsets>`)"
639639msgstr ""
640640":c:member:`~PyTypeObject.tp_vectorcall_offset` (请使用 :ref:`PyMemberDef "
641641"<pymemberdef-offsets>` 中的 ``\" __vectorcalloffset__\" ``)"
642642
643- #: ../../c-api/type.rst:476
643+ #: ../../c-api/type.rst:479
644644msgid ""
645645"If it is not possible to switch to a ``MANAGED`` flag (for example, for "
646646"vectorcall or to support Python older than 3.12), specify the offset in "
@@ -651,19 +651,19 @@ msgstr ""
651651":c:member:`Py_tp_members <PyTypeObject.tp_members>` 中指定 offset。 详情参见 "
652652":ref:`PyMemberDef documentation <pymemberdef-offsets>`。"
653653
654- #: ../../c-api/type.rst:482
654+ #: ../../c-api/type.rst:485
655655msgid "The following fields cannot be set at all when creating a heap type:"
656656msgstr "以下字段在创建堆类型时完全不可设置:"
657657
658- #: ../../c-api/type.rst:484
658+ #: ../../c-api/type.rst:487
659659msgid ""
660660":c:member:`~PyTypeObject.tp_vectorcall` (use "
661661":c:member:`~PyTypeObject.tp_new` and/or :c:member:`~PyTypeObject.tp_init`)"
662662msgstr ""
663663":c:member:`~PyTypeObject.tp_vectorcall` (请使用 "
664664":c:member:`~PyTypeObject.tp_new` 和/或 :c:member:`~PyTypeObject.tp_init`)"
665665
666- #: ../../c-api/type.rst:488
666+ #: ../../c-api/type.rst:491
667667msgid ""
668668"Internal fields: :c:member:`~PyTypeObject.tp_dict`, "
669669":c:member:`~PyTypeObject.tp_mro`, :c:member:`~PyTypeObject.tp_cache`, "
@@ -674,7 +674,7 @@ msgstr ""
674674":c:member:`~PyTypeObject.tp_cache`, :c:member:`~PyTypeObject.tp_subclasses` "
675675"和 :c:member:`~PyTypeObject.tp_weaklist`。"
676676
677- #: ../../c-api/type.rst:495
677+ #: ../../c-api/type.rst:498
678678msgid ""
679679"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on "
680680"some platforms. To avoid issues, use the *bases* argument of "
@@ -683,11 +683,11 @@ msgstr ""
683683"在某些平台上设置 :c:data:`Py_tp_bases` 或 :c:data:`Py_tp_base` 可能会有问题。 为了避免问题,请改用 "
684684":c:func:`PyType_FromSpecWithBases` 的 *bases* 参数。"
685685
686- #: ../../c-api/type.rst:502
686+ #: ../../c-api/type.rst:503
687687msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
688688msgstr ":c:type:`PyBufferProcs` 中的槽位可能会在不受限 API 中被设置。"
689689
690- #: ../../c-api/type.rst:504
690+ #: ../../c-api/type.rst:506
691691msgid ""
692692":c:member:`~PyBufferProcs.bf_getbuffer` and "
693693":c:member:`~PyBufferProcs.bf_releasebuffer` are now available under the "
@@ -697,13 +697,13 @@ msgstr ""
697697":c:member:`~PyBufferProcs.bf_releasebuffer` 将在 :ref:`受限 API <limited-c-api>`"
698698" 中可用。"
699699
700- #: ../../c-api/type.rst:511
700+ #: ../../c-api/type.rst:513
701701msgid ""
702702"The desired value of the slot. In most cases, this is a pointer to a "
703703"function."
704704msgstr "该槽位的预期值。 在大多数情况下,这将是一个指向函数的指针。"
705705
706- #: ../../c-api/type.rst:514
706+ #: ../../c-api/type.rst:516
707707msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``."
708708msgstr "``Py_tp_doc`` 以外的槽位均不可为 ``NULL``。"
709709