From d2005f3a57e2b923ed9c278a07274cd3bc917835 Mon Sep 17 00:00:00 2001 From: "Matt.Wang" Date: Sat, 1 Jul 2023 04:57:04 +0800 Subject: [PATCH] feat: translate `c-api/refcounting.po` --- c-api/refcounting.po | 58 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/c-api/refcounting.po b/c-api/refcounting.po index f714e213f5..503c0773dc 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -1,16 +1,16 @@ -# 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 , 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 \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" @@ -18,6 +18,7 @@ msgstr "" "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" @@ -27,11 +28,11 @@ 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 "" @@ -39,40 +40,52 @@ msgid "" "term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " "used to create a new :term:`strong reference`." msgstr "" +"此函式通常用於將\\ :term:`借用參照 `\\ 原地 (in-place) 轉" +"換為\\ :term:`強參照 `。:c:func:`Py_NewRef` 函式可用於建立" +"新的\\ :term:`強參照 `。" #: ../../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:`強參照 `:增加物件 *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:`強參照 `\\ 時,應對其呼叫 :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::" @@ -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:`強參照 `。" #: ../../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 "" @@ -134,6 +152,12 @@ 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 "" @@ -141,6 +165,8 @@ msgid "" "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 "" @@ -151,24 +177,33 @@ 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 "" @@ -176,3 +211,6 @@ msgid "" "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`。"