diff --git a/c-api/slice.po b/c-api/slice.po index 57288261d15..7cbae1a4eef 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -3,13 +3,14 @@ # # Translators: # Leon H., 2017 +# Weilin Du, 2025 msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-02-18 00:13+0000\n" -"PO-Revision-Date: 2018-05-23 14:07+0000\n" -"Last-Translator: Adrian Liaw \n" +"PO-Revision-Date: 2025-10-08 21:36+0800\n" +"Last-Translator: Weilin Du <1372449351@qq.com>\n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" @@ -17,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.6\n" #: ../../c-api/slice.rst:6 msgid "Slice Objects" @@ -26,13 +28,14 @@ msgstr "切片物件" msgid "" "The type object for slice objects. This is the same as :class:`slice` in " "the Python layer." -msgstr "" +msgstr "slice 物件的型別物件。這與 Python 層中的 :class:`slice` 相同。" #: ../../c-api/slice.rst:17 msgid "" "Return true if *ob* is a slice object; *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" +"如果 *ob* 是 slice 物件,則回傳 true;*ob* 不能是 ``NULL`` 。此函式永遠成功。" #: ../../c-api/slice.rst:23 msgid "" @@ -41,12 +44,15 @@ msgid "" "the same names. Any of the values may be ``NULL``, in which case the " "``None`` will be used for the corresponding attribute." msgstr "" +"以指定的值回傳一個新的切片物件。*start*、*stop* 及 *step* 參數會被用為同名的 " +"slice 物件屬性值。任何值都可能是 ``NULL``,在這種情況下,``None`` 將用於相對" +"應的屬性。" #: ../../c-api/slice.rst:28 msgid "" "Return ``NULL`` with an exception set if the new object could not be " "allocated." -msgstr "" +msgstr "如果無法分配新物件,則回傳 ``NULL`` 並設定例外。" #: ../../c-api/slice.rst:34 msgid "" @@ -54,6 +60,8 @@ msgid "" "assuming a sequence of length *length*. Treats indices greater than *length* " "as errors." msgstr "" +"從 slice 物件 *slice* 讀取開始、停止和步進索引,假設序列長度為 *length*。將大" +"於 *length* 的索引視為錯誤。" #: ../../c-api/slice.rst:38 msgid "" @@ -61,15 +69,17 @@ msgid "" "one of the indices was not ``None`` and failed to be converted to an " "integer, in which case ``-1`` is returned with an exception set)." msgstr "" +"成功時回傳 ``0``,錯誤時回傳 ``-1``,並無例外設定(除非其中一個索引不是 " +"``None`` 並且未能轉換成整數,在這種情況下會回傳 ``-1`` ,並有設定例外)。" #: ../../c-api/slice.rst:42 msgid "You probably do not want to use this function." -msgstr "" +msgstr "你可能不想使用此功能。" #: ../../c-api/slice.rst:44 ../../c-api/slice.rst:75 msgid "" "The parameter type for the *slice* parameter was ``PySliceObject*`` before." -msgstr "" +msgstr "之前 *slice* 的參數型別是 ``PySliceObject*`` 。" #: ../../c-api/slice.rst:51 msgid "" @@ -79,6 +89,9 @@ msgid "" "bounds indices are clipped in a manner consistent with the handling of " "normal slices." msgstr "" +"可用來取代 :c:func:`PySlice_GetIndices`。從假設序列長度為 *length* 的 slice " +"物件 *slice* 擷取開始、停止和步長索引,並將 slice 的長度存入 *slicelength*。" +"超出範圍的索引會被剪切,剪切方式與一般切片的處理方式一致。" #: ../../c-api/slice.rst:57 msgid "Return ``0`` on success and ``-1`` on error with an exception set." @@ -90,6 +103,9 @@ msgid "" "should be replaced by a combination of :c:func:`PySlice_Unpack` " "and :c:func:`PySlice_AdjustIndices` where ::" msgstr "" +"這個函式對於可調整大小的序列並不安全。它的呼叫應該" +"被 :c:func:`PySlice_Unpack` 和 :c:func:`PySlice_AdjustIndices` 的組合取代,其" +"中: ::" #: ../../c-api/slice.rst:64 msgid "" @@ -98,10 +114,14 @@ msgid "" " // return error\n" "}" msgstr "" +"if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) " +"< 0) {\n" +" // return error\n" +"}" #: ../../c-api/slice.rst:68 msgid "is replaced by ::" -msgstr "" +msgstr "被更換為: ::" #: ../../c-api/slice.rst:70 msgid "" @@ -110,6 +130,10 @@ msgid "" "}\n" "slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" msgstr "" +"if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n" +" // return error\n" +"}\n" +"slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" #: ../../c-api/slice.rst:79 msgid "" @@ -119,6 +143,10 @@ msgid "" "PySlice_Unpack` and :c:func:`!PySlice_AdjustIndices`. Arguments *start*, " "*stop* and *step* are evaluated more than once." msgstr "" +"如果 ``Py_LIMITED_API`` 沒有設定或設定為 ``0x03050400`` 和 ``0x03060000`` (不" +"包括) 或 ``0x03060100`` 或更高的值 :c:func:`!PySlice_GetIndicesEx` 是使" +"用 :c:func:`!PySlice_Unpack` 和 :c:func:`!PySlice_AdjustIndices` 來實作一個巨集" +"。引數 *start*、*stop* 和 *step* 會被計算多次。" #: ../../c-api/slice.rst:86 msgid "" @@ -126,6 +154,9 @@ msgid "" "between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!" "PySlice_GetIndicesEx` is a deprecated function." msgstr "" +"如果 ``Py_LIMITED_API`` 設定為小於 ``0x03050400`` 或介於 ``0x03060000`` 和 " +"``0x03060100`` 之間 (不包括邊界值) :c:func:`!PySlice_GetIndicesEx` 是一個" +"已廢棄的函式。" #: ../../c-api/slice.rst:94 msgid "" @@ -135,6 +166,10 @@ msgid "" "``PY_SSIZE_T_MIN`` to ``PY_SSIZE_T_MIN``, and silently boost the step values " "less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." msgstr "" +"以 C 整數的形式從 slice 物件中抽取 start、stop 及 step 資料成員。將大於 " +"``PY_SSIZE_T_MAX`` 的值靜默減少為 ``PY_SSIZE_T_MAX``,將小於 ``PY_SSIZE_T_MIN`` " +"的 start 和 stop 值靜默提升為 ``PY_SSIZE_T_MIN``,將小於 ``-PY_SSIZE_T_MAX`` " +"的 step 值靜默提升為 ``-PY_SSIZE_T_MAX``。" #: ../../c-api/slice.rst:100 msgid "Return ``-1`` with an exception set on error, ``0`` on success." @@ -146,12 +181,14 @@ msgid "" "Out of bounds indices are clipped in a manner consistent with the handling " "of normal slices." msgstr "" +"假設序列長度為指定長度,調整開始/結束切片索引。超出範圍的索引會以與處理正常切" +"片一致的方式切除。" #: ../../c-api/slice.rst:111 msgid "" "Return the length of the slice. Always successful. Doesn't call Python " "code." -msgstr "" +msgstr "回傳切片的長度。永遠成功。不呼叫 Python 程式碼。" #: ../../c-api/slice.rst:118 msgid "Ellipsis Object" @@ -162,12 +199,16 @@ msgid "" "The type of Python :const:`Ellipsis` object. Same " "as :class:`types.EllipsisType` in the Python layer." msgstr "" +"Python :const:`Ellipsis` 物件的型別。與 Python 層中" +"的 :class:`types.EllipsisType` 相同。" #: ../../c-api/slice.rst:129 msgid "" "The Python ``Ellipsis`` object. This object has no methods. " "Like :c:data:`Py_None`, it is an :term:`immortal` singleton object." msgstr "" +"Python ``Ellipsis`` 物件。這個物件沒有方法。就像 :c:data:`Py_None` 一樣,它是" +"一個 :term:`immortal` 單一物件。" #: ../../c-api/slice.rst:132 msgid ":c:data:`Py_Ellipsis` is immortal."