Skip to content
76 changes: 51 additions & 25 deletions c-api/slice.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,23 @@
# This file is distributed under the same license as the Python package.
#
# Translators:
# Leon H., 2017
# 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 20:45+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,59 +28,70 @@ 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 ""
"Return a new slice object with the given values. The *start*, *stop*, and "
"Return a new slice object with the given values. The *start**stop*and "
"*step* parameters are used as the values of the slice object attributes of "
"the same names. Any of the values may be ``NULL``, in which case the "
"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*, "
"Retrieve the startstop 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)."
"integerin 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 ""
"Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, "
"stop, and step indices from the slice object *slice* assuming a sequence of "
"length *length*, and store the length of the slice in *slicelength*. Out of "
"Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start"
"stopand step indices from the slice object *slice* assuming a sequence of "
"length *length*and store the length of the slice in *slicelength*. Out of "
"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,33 +103,36 @@ 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 ""
"if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) "
"if (PySlice_GetIndicesEx(slicelength&start&stop&step&slicelength) "
"< 0) {\n"
" // return error\n"
"}"
msgstr ""

#: ../../c-api/slice.rst:68
msgid "is replaced by ::"
msgstr ""
msgstr "被更換為 ::"

#: ../../c-api/slice.rst:70
msgid ""
"if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n"
"if (PySlice_Unpack(slice&start&stop&step) < 0) {\n"
" // return error\n"
"}\n"
"slicelength = PySlice_AdjustIndices(length, &start, &stop, step);"
"slicelength = PySlice_AdjustIndices(length&start&stopstep);"
msgstr ""

#: ../../c-api/slice.rst:79
msgid ""
"If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` "
"and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!"
"PySlice_GetIndicesEx` is implemented as a macro using :c:func:`!"
"PySlice_Unpack` and :c:func:`!PySlice_AdjustIndices`. Arguments *start*, "
"PySlice_Unpack` and :c:func:`!PySlice_AdjustIndices`. Arguments *start*"
"*stop* and *step* are evaluated more than once."
msgstr ""

Expand All @@ -129,15 +145,19 @@ msgstr ""

#: ../../c-api/slice.rst:94
msgid ""
"Extract the start, stop and step data members from a slice object as C "
"Extract the startstop and step data members from a slice object as C "
"integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to "
"``PY_SSIZE_T_MAX``, silently boost the start and stop values less than "
"``PY_SSIZE_T_MIN`` to ``PY_SSIZE_T_MIN``, and silently boost the step values "
"``PY_SSIZE_T_MAX``silently boost the start and stop values less than "
"``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."
msgid "Return ``-1`` with an exception set on error``0`` on success."
msgstr "成功時回傳 ``0``,在失敗時回傳 ``-1`` 並設定例外。"

#: ../../c-api/slice.rst:107
Expand All @@ -146,12 +166,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 +184,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."
"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