Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 79 additions & 72 deletions c-api/gcsupport.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-08 15:25+0800\n"
"POT-Creation-Date: 2025-12-09 00:14+0000\n"
"PO-Revision-Date: 2018-05-23 14:31+0000\n"
"Last-Translator: Adrian Liaw <adrianliaw2000@gmail.com>\n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
Expand Down Expand Up @@ -75,8 +75,8 @@ msgstr ""

#: ../../c-api/gcsupport.rst:37
msgid ""
"Before fields which refer to other containers are "
"invalidated, :c:func:`PyObject_GC_UnTrack` must be called."
"Before fields which refer to other containers are invalidated, :c:func:"
"`PyObject_GC_UnTrack` must be called."
msgstr ""

#: ../../c-api/gcsupport.rst:40
Expand All @@ -86,39 +86,39 @@ msgstr ""

#: ../../c-api/gcsupport.rst:43
msgid ""
"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least "
"a :c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from "
"its subclass or subclasses."
"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :"
"c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its "
"subclass or subclasses."
msgstr ""

#: ../../c-api/gcsupport.rst:47
msgid ""
"When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call "
"it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the "
"interpreter will automatically populate "
"the :c:member:`~PyTypeObject.tp_flags`, :c:member:`~PyTypeObject.tp_traverse` "
"and :c:member:`~PyTypeObject.tp_clear` fields if the type inherits from a "
"class that implements the garbage collector protocol and the child class "
"does *not* include the :c:macro:`Py_TPFLAGS_HAVE_GC` flag."
"interpreter will automatically populate the :c:member:`~PyTypeObject."
"tp_flags`, :c:member:`~PyTypeObject.tp_traverse` and :c:member:"
"`~PyTypeObject.tp_clear` fields if the type inherits from a class that "
"implements the garbage collector protocol and the child class does *not* "
"include the :c:macro:`Py_TPFLAGS_HAVE_GC` flag."
msgstr ""

#: ../../c-api/gcsupport.rst:57
msgid ""
"Analogous to :c:macro:`PyObject_New` but for container objects with "
"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set."
"Analogous to :c:macro:`PyObject_New` but for container objects with the :c:"
"macro:`Py_TPFLAGS_HAVE_GC` flag set."
msgstr ""

#: ../../c-api/gcsupport.rst:60 ../../c-api/gcsupport.rst:84
msgid ""
"Do not call this directly to allocate memory for an object; call the "
"type's :c:member:`~PyTypeObject.tp_alloc` slot instead."
"Do not call this directly to allocate memory for an object; call the type's :"
"c:member:`~PyTypeObject.tp_alloc` slot instead."
msgstr ""

#: ../../c-api/gcsupport.rst:63 ../../c-api/gcsupport.rst:87
msgid ""
"When populating a type's :c:member:`~PyTypeObject.tp_alloc` "
"slot, :c:func:`PyType_GenericAlloc` is preferred over a custom function that "
"simply calls this macro."
"When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot, :c:func:"
"`PyType_GenericAlloc` is preferred over a custom function that simply calls "
"this macro."
msgstr ""

#: ../../c-api/gcsupport.rst:67 ../../c-api/gcsupport.rst:91
Expand Down Expand Up @@ -146,8 +146,8 @@ msgstr ":c:member:`~PyTypeObject.tp_alloc`"

#: ../../c-api/gcsupport.rst:81
msgid ""
"Analogous to :c:macro:`PyObject_NewVar` but for container objects with "
"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set."
"Analogous to :c:macro:`PyObject_NewVar` but for container objects with the :"
"c:macro:`Py_TPFLAGS_HAVE_GC` flag set."
msgstr ""

#: ../../c-api/gcsupport.rst:98
Expand All @@ -170,17 +170,17 @@ msgstr ""

#: ../../c-api/gcsupport.rst:114
msgid ""
"Memory allocated by this function must be freed "
"with :c:func:`PyObject_GC_Del` (usually called via the "
"object's :c:member:`~PyTypeObject.tp_free` slot)."
"Memory allocated by this function must be freed with :c:func:"
"`PyObject_GC_Del` (usually called via the object's :c:member:`~PyTypeObject."
"tp_free` slot)."
msgstr ""

#: ../../c-api/gcsupport.rst:119
msgid ""
"The function is marked as unstable because the final mechanism for reserving "
"extra data after an instance is not yet decided. For allocating a variable "
"number of fields, prefer using :c:type:`PyVarObject` "
"and :c:member:`~PyTypeObject.tp_itemsize` instead."
"number of fields, prefer using :c:type:`PyVarObject` and :c:member:"
"`~PyTypeObject.tp_itemsize` instead."
msgstr ""

#: ../../c-api/gcsupport.rst:130
Expand Down Expand Up @@ -239,21 +239,21 @@ msgstr ""

#: ../../c-api/gcsupport.rst:178
msgid ""
"Releases memory allocated to an object using :c:macro:`PyObject_GC_New` "
"or :c:macro:`PyObject_GC_NewVar`."
"Releases memory allocated to an object using :c:macro:`PyObject_GC_New` or :"
"c:macro:`PyObject_GC_NewVar`."
msgstr ""

#: ../../c-api/gcsupport.rst:181
msgid ""
"Do not call this directly to free an object's memory; call the "
"type's :c:member:`~PyTypeObject.tp_free` slot instead."
"Do not call this directly to free an object's memory; call the type's :c:"
"member:`~PyTypeObject.tp_free` slot instead."
msgstr ""

#: ../../c-api/gcsupport.rst:184
msgid ""
"Do not use this for memory allocated "
"by :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, or related "
"allocation functions; use :c:func:`PyObject_Free` instead."
"Do not use this for memory allocated by :c:macro:`PyObject_New`, :c:macro:"
"`PyObject_NewVar`, or related allocation functions; use :c:func:"
"`PyObject_Free` instead."
msgstr ""

#: ../../c-api/gcsupport.rst:190
Expand All @@ -276,10 +276,10 @@ msgstr ":c:member:`~PyTypeObject.tp_free`"
msgid ""
"Remove the object *op* from the set of container objects tracked by the "
"collector. Note that :c:func:`PyObject_GC_Track` can be called again on "
"this object to add it back to the set of tracked objects. The deallocator "
"(:c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the "
"object before any of the fields used by "
"the :c:member:`~PyTypeObject.tp_traverse` handler become invalid."
"this object to add it back to the set of tracked objects. The deallocator (:"
"c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the object "
"before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` "
"handler become invalid."
msgstr ""

#: ../../c-api/gcsupport.rst:208
Expand All @@ -296,12 +296,12 @@ msgstr ""

#: ../../c-api/gcsupport.rst:216
msgid ""
"Type of the visitor function passed to "
"the :c:member:`~PyTypeObject.tp_traverse` handler. The function should be "
"called with an object to traverse as *object* and the third parameter to "
"the :c:member:`~PyTypeObject.tp_traverse` handler as *arg*. The Python core "
"uses several visitor functions to implement cyclic garbage detection; it's "
"not expected that users will need to write their own visitor functions."
"Type of the visitor function passed to the :c:member:`~PyTypeObject."
"tp_traverse` handler. The function should be called with an object to "
"traverse as *object* and the third parameter to the :c:member:`~PyTypeObject."
"tp_traverse` handler as *arg*. The Python core uses several visitor "
"functions to implement cyclic garbage detection; it's not expected that "
"users will need to write their own visitor functions."
msgstr ""

#: ../../c-api/gcsupport.rst:223
Expand All @@ -322,21 +322,28 @@ msgstr ""

#: ../../c-api/gcsupport.rst:235
msgid ""
"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, "
"a :c:func:`Py_VISIT` macro is provided. In order to use this macro, "
"the :c:member:`~PyTypeObject.tp_traverse` implementation must name its "
"arguments exactly *visit* and *arg*:"
"The traversal function must not have any side effects. Implementations may "
"not modify the reference counts of any Python objects nor create or destroy "
"any Python objects."
msgstr ""

#: ../../c-api/gcsupport.rst:239
msgid ""
"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:"
"func:`Py_VISIT` macro is provided. In order to use this macro, the :c:"
"member:`~PyTypeObject.tp_traverse` implementation must name its arguments "
"exactly *visit* and *arg*:"
msgstr ""

#: ../../c-api/gcsupport.rst:242
#: ../../c-api/gcsupport.rst:246
msgid ""
"If the :c:expr:`PyObject *` *o* is not ``NULL``, call the *visit* callback, "
"with arguments *o* and *arg*. If *visit* returns a non-zero value, then "
"return it. Using this macro, :c:member:`~PyTypeObject.tp_traverse` handlers "
"look like::"
msgstr ""

#: ../../c-api/gcsupport.rst:247
#: ../../c-api/gcsupport.rst:251
msgid ""
"static int\n"
"my_traverse(Noddy *self, visitproc visit, void *arg)\n"
Expand All @@ -354,13 +361,13 @@ msgstr ""
" return 0;\n"
"}"

#: ../../c-api/gcsupport.rst:255
#: ../../c-api/gcsupport.rst:259
msgid ""
"The :c:member:`~PyTypeObject.tp_clear` handler must be of "
"the :c:type:`inquiry` type, or ``NULL`` if the object is immutable."
"The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:"
"`inquiry` type, or ``NULL`` if the object is immutable."
msgstr ""

#: ../../c-api/gcsupport.rst:261
#: ../../c-api/gcsupport.rst:265
msgid ""
"Drop references that may have created reference cycles. Immutable objects "
"do not have to define this method since they can never directly create "
Expand All @@ -370,82 +377,82 @@ msgid ""
"in a reference cycle."
msgstr ""

#: ../../c-api/gcsupport.rst:270
#: ../../c-api/gcsupport.rst:274
msgid "Controlling the Garbage Collector State"
msgstr ""

#: ../../c-api/gcsupport.rst:272
#: ../../c-api/gcsupport.rst:276
msgid ""
"The C-API provides the following functions for controlling garbage "
"collection runs."
msgstr ""

#: ../../c-api/gcsupport.rst:277
#: ../../c-api/gcsupport.rst:281
msgid ""
"Perform a full garbage collection, if the garbage collector is enabled. "
"(Note that :func:`gc.collect` runs it unconditionally.)"
msgstr ""

#: ../../c-api/gcsupport.rst:280
#: ../../c-api/gcsupport.rst:284
msgid ""
"Returns the number of collected + unreachable objects which cannot be "
"collected. If the garbage collector is disabled or already collecting, "
"returns ``0`` immediately. Errors during garbage collection are passed "
"to :data:`sys.unraisablehook`. This function does not raise exceptions."
"returns ``0`` immediately. Errors during garbage collection are passed to :"
"data:`sys.unraisablehook`. This function does not raise exceptions."
msgstr ""

#: ../../c-api/gcsupport.rst:290
#: ../../c-api/gcsupport.rst:294
msgid ""
"Enable the garbage collector: similar to :func:`gc.enable`. Returns the "
"previous state, 0 for disabled and 1 for enabled."
msgstr ""

#: ../../c-api/gcsupport.rst:298
#: ../../c-api/gcsupport.rst:302
msgid ""
"Disable the garbage collector: similar to :func:`gc.disable`. Returns the "
"previous state, 0 for disabled and 1 for enabled."
msgstr ""

#: ../../c-api/gcsupport.rst:306
#: ../../c-api/gcsupport.rst:310
msgid ""
"Query the state of the garbage collector: similar to :func:`gc.isenabled`. "
"Returns the current state, 0 for disabled and 1 for enabled."
msgstr ""

#: ../../c-api/gcsupport.rst:313
#: ../../c-api/gcsupport.rst:317
msgid "Querying Garbage Collector State"
msgstr ""

#: ../../c-api/gcsupport.rst:315
#: ../../c-api/gcsupport.rst:319
msgid ""
"The C-API provides the following interface for querying information about "
"the garbage collector."
msgstr ""

#: ../../c-api/gcsupport.rst:320
#: ../../c-api/gcsupport.rst:324
msgid ""
"Run supplied *callback* on all live GC-capable objects. *arg* is passed "
"through to all invocations of *callback*."
msgstr ""

#: ../../c-api/gcsupport.rst:324
#: ../../c-api/gcsupport.rst:328
msgid ""
"If new objects are (de)allocated by the callback it is undefined if they "
"will be visited."
msgstr ""

#: ../../c-api/gcsupport.rst:327
#: ../../c-api/gcsupport.rst:331
msgid ""
"Garbage collection is disabled during operation. Explicitly running a "
"collection in the callback may lead to undefined behaviour e.g. visiting the "
"same objects multiple times or not at all."
msgstr ""

#: ../../c-api/gcsupport.rst:335
#: ../../c-api/gcsupport.rst:339
msgid ""
"Type of the visitor function to be passed "
"to :c:func:`PyUnstable_GC_VisitObjects`. *arg* is the same as the *arg* "
"passed to ``PyUnstable_GC_VisitObjects``. Return ``1`` to continue "
"iteration, return ``0`` to stop iteration. Other return values are reserved "
"for now so behavior on returning anything else is undefined."
"Type of the visitor function to be passed to :c:func:"
"`PyUnstable_GC_VisitObjects`. *arg* is the same as the *arg* passed to "
"``PyUnstable_GC_VisitObjects``. Return ``1`` to continue iteration, return "
"``0`` to stop iteration. Other return values are reserved for now so "
"behavior on returning anything else is undefined."
msgstr ""
8 changes: 4 additions & 4 deletions c-api/set.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-27 00:03+0000\n"
"POT-Creation-Date: 2025-12-08 07:22+0000\n"
"PO-Revision-Date: 2018-05-23 14:07+0000\n"
"Last-Translator: Adrian Liaw <adrianliaw2000@gmail.com>\n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
Expand Down Expand Up @@ -167,9 +167,9 @@ msgid ""
"Return ``1`` if found and removed, ``0`` if not found (no action taken), and "
"``-1`` if an error is encountered. Does not raise :exc:`KeyError` for "
"missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike "
"the Python :meth:`~frozenset.discard` method, this function does not "
"automatically convert unhashable sets into temporary frozensets. Raise :exc:"
"`SystemError` if *set* is not an instance of :class:`set` or its subtype."
"the Python :meth:`~set.discard` method, this function does not automatically "
"convert unhashable sets into temporary frozensets. Raise :exc:`SystemError` "
"if *set* is not an instance of :class:`set` or its subtype."
msgstr ""

#: ../../c-api/set.rst:158
Expand Down
Loading
Loading