Skip to content

Translate c-api/refcounting.po #437

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 1, 2023
Merged
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
58 changes: 48 additions & 10 deletions c-api/refcounting.po
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# Copyright (C) 2001-2023, Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Leon H., 2017
# Matt Wang <mattwang44@gmail.com>, 2023
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-21 17:35+0000\n"
"PO-Revision-Date: 2017-09-22 18:26+0000\n"
"Last-Translator: Leon H.\n"
"PO-Revision-Date: 2023-07-01 14:19+0800\n"
"Last-Translator: Matt Wang <mattwang44@gmail.com>\n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
"tw)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.3.2\n"

#: ../../c-api/refcounting.rst:8
msgid "Reference Counting"
Expand All @@ -27,52 +28,64 @@ msgstr "參照計數"
msgid ""
"The macros in this section are used for managing reference counts of Python "
"objects."
msgstr ""
msgstr "本節中的巨集用於管理 Python 物件的參照計數。"

#: ../../c-api/refcounting.rst:16
msgid "Increment the reference count for object *o*."
msgstr ""
msgstr "增加物件 *o* 的參照計數。"

#: ../../c-api/refcounting.rst:18
msgid ""
"This function is usually used to convert a :term:`borrowed reference` to a :"
"term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be "
"used to create a new :term:`strong reference`."
msgstr ""
"此函式通常用於將\\ :term:`借用參照 <borrowed reference>`\\ 原地 (in-place) 轉"
"換為\\ :term:`強參照 <strong reference>`。:c:func:`Py_NewRef` 函式可用於建立"
"新的\\ :term:`強參照 <strong reference>`。"

#: ../../c-api/refcounting.rst:22
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XINCREF`."
msgstr ""
"該物件不能為 ``NULL``;如果你不確定它不是 ``NULL``,請使用 :c:func:"
"`Py_XINCREF`。"

#: ../../c-api/refcounting.rst:28
msgid ""
"Increment the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect."
msgstr ""
"增加物件 *o* 的參照計數。該物件可能是 ``NULL``,在這種情況下巨集不起作用。"

#: ../../c-api/refcounting.rst:31
msgid "See also :c:func:`Py_XNewRef`."
msgstr "另請見 :c:func:`Py_XNewRef`\\ 。"
msgstr "另請見 :c:func:`Py_XNewRef`。"

#: ../../c-api/refcounting.rst:36
msgid ""
"Create a new :term:`strong reference` to an object: increment the reference "
"count of the object *o* and return the object *o*."
msgstr ""
"建立對物件的新\\ :term:`強參照 <strong reference>`:增加物件 *o* 的參照計數並"
"回傳物件 *o*。"

#: ../../c-api/refcounting.rst:39
msgid ""
"When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` "
"should be called on it to decrement the object reference count."
msgstr ""
"當不再需要\\ :term:`強參照 <strong reference>`\\ 時,應對其呼叫 :c:func:"
"`Py_DECREF` 以減少物件參照計數。"

#: ../../c-api/refcounting.rst:42
msgid ""
"The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be "
"``NULL``."
msgstr ""
"物件 *o* 不能為 ``NULL``;如果 *o* 可以為 ``NULL``,則使用 :c:func:"
"`Py_XNewRef`。"

#: ../../c-api/refcounting.rst:45
msgid "For example::"
Expand All @@ -94,33 +107,38 @@ msgstr "另請參閱 :c:func:`Py_INCREF`\\ 。"

#: ../../c-api/refcounting.rst:61
msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL."
msgstr ""
msgstr "與 :c:func:`Py_NewRef` 類似,但物件 *o* 可以為 NULL。"

#: ../../c-api/refcounting.rst:63
msgid "If the object *o* is ``NULL``, the function just returns ``NULL``."
msgstr ""
msgstr "如果物件 *o* 為 ``NULL``,則該函式僅回傳 ``NULL``。"

#: ../../c-api/refcounting.rst:70
msgid "Decrement the reference count for object *o*."
msgstr ""
msgstr "減少物件 *o* 的參照計數。"

#: ../../c-api/refcounting.rst:72
msgid ""
"If the reference count reaches zero, the object's type's deallocation "
"function (which must not be ``NULL``) is invoked."
msgstr ""
"如果參照計數達到零,則調用物件之型別的釋放函式 (deallocation function)(不得"
"為 ``NULL``)。"

#: ../../c-api/refcounting.rst:75
msgid ""
"This function is usually used to delete a :term:`strong reference` before "
"exiting its scope."
msgstr ""
"此函式通常用於在退出作用域之前刪除\\ :term:`強參照 <strong reference>`。"

#: ../../c-api/refcounting.rst:78
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XDECREF`."
msgstr ""
"該物件不能為 ``NULL``;如果你不確定它不是 ``NULL``,請改用 :c:func:"
"`Py_XDECREF`。"

#: ../../c-api/refcounting.rst:83
msgid ""
Expand All @@ -134,13 +152,21 @@ msgid ""
"update the list data structure, and then call :c:func:`Py_DECREF` for the "
"temporary variable."
msgstr ""
"釋放函式可以導致任意 Python 程式碼被調用(例如,當釋放具有 :meth:`__del__` 方"
"法的類別實例時)。雖然此類程式碼中的例外不會被傳遞出來,但​​執行的程式碼可以自"
"由存取所有 Python 全域變數。這意味著在調用 :c:func:`Py_DECREF` 之前,可從全域"
"變數存取的任何物件都應處於一致狀態。例如,從 list 中刪除物件的程式碼應將已刪"
"除物件的參照複製到臨時變數中,更新 list 資料結構,然後為臨時變數呼叫 :c:func:"
"`Py_DECREF`。"

#: ../../c-api/refcounting.rst:95
msgid ""
"Decrement the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect; otherwise the effect is the same as "
"for :c:func:`Py_DECREF`, and the same warning applies."
msgstr ""
"減少物件 *o* 的參照計數。該物件可能是 ``NULL``,在這種情況下巨集不起作用;否"
"則效果與 :c:func:`Py_DECREF` 相同,且使得應用了相同的警告。"

#: ../../c-api/refcounting.rst:102
msgid ""
Expand All @@ -151,28 +177,40 @@ msgid ""
"object passed because the macro carefully uses a temporary variable and sets "
"the argument to ``NULL`` before decrementing its reference count."
msgstr ""
"減少物件 *o* 的參照計數。該物件可能是 ``NULL``,在這種情況下巨集不起作用;否"
"則,效果與 :c:func:`Py_DECREF` 相同,只是引數也設定為 ``NULL``。:c:func:"
"`Py_DECREF 的警告不適用於傳遞的物件,因為巨集在遞減其參照計數之前小心地使用臨"
"時變數並將參數設定為 ``NULL``。"

#: ../../c-api/refcounting.rst:109
msgid ""
"It is a good idea to use this macro whenever decrementing the reference "
"count of an object that might be traversed during garbage collection."
msgstr ""
"每當要減少垃圾收集期間可能被遍歷到之物件的參照計數時,使用此巨集是個好主意。"

#: ../../c-api/refcounting.rst:114
msgid ""
"Increment the reference count for object *o*. A function version of :c:func:"
"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
"增加物件 *o* 的參照計數。:c:func:`Py_XINCREF` 的函式版本。它可用於 Python 的"
"執行環境動態嵌入。"

#: ../../c-api/refcounting.rst:120
msgid ""
"Decrement the reference count for object *o*. A function version of :c:func:"
"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
"減少物件 *o* 的參照計數。:c:func:`Py_XDECREF` 的函式版本。它可用於 Python 的"
"執行環境動態嵌入。"

#: ../../c-api/refcounting.rst:124
msgid ""
"The following functions or macros are only for use within the interpreter "
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
"`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`."
msgstr ""
"以下函式或巨集僅在直譯器核心內使用::c:func:`_Py_Dealloc`、:c:func:"
"`_Py_ForgetReference`、:c:func:`_Py_NewReference` 以及全域變數 :c:data:"
"`_Py_RefTotal`。"