Skip to content
57 changes: 49 additions & 8 deletions c-api/slice.po
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,22 @@
#
# 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 <adrianliaw2000@gmail.com>\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"
"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.6\n"

#: ../../c-api/slice.rst:6
msgid "Slice Objects"
Expand All @@ -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 ""
Expand All @@ -41,35 +44,42 @@ 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 ""
"Retrieve the start, stop and step indices from the slice object *slice*, "
"assuming a sequence of length *length*. Treats indices greater than *length* "
"as errors."
msgstr ""
"從 slice 物件 *slice* 讀取開始、停止和步進索引,假設序列長度為 *length*。將大"
"於 *length* 的索引視為錯誤。"

#: ../../c-api/slice.rst:38
msgid ""
"Returns ``0`` on success and ``-1`` on error with no exception set (unless "
"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 ""
Expand All @@ -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."
Expand All @@ -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 ""
Expand All @@ -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 ""
Expand All @@ -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 ""
Expand All @@ -119,13 +143,20 @@ 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 ""
"If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or "
"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 ""
Expand All @@ -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."
Expand All @@ -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"
Expand All @@ -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."
Expand Down