Skip to content

Commit 82028ed

Browse files
sync with cpython 81c40fa1
1 parent 499c3f7 commit 82028ed

2 files changed

Lines changed: 54 additions & 58 deletions

File tree

‎builtins/threadsafety.po‎

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: Python 3.14\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2026-09-14 00:21+0000\n"
11+
"POT-Creation-Date: 2026-09-29 17:29+0000\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -566,20 +566,15 @@ msgid ""
566566
msgstr ""
567567

568568
#: ../../builtins/threadsafety.rst:410
569-
msgid ":meth:`set.update` and :meth:`set.union` lock both objects only when"
570-
msgstr ""
571-
572-
#: ../../builtins/threadsafety.rst:411
573569
msgid ""
574-
"the other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`."
570+
":meth:`set.update` and :meth:`set.union` lock both objects only when the "
571+
"other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`."
575572
msgstr ""
576573

577574
#: ../../builtins/threadsafety.rst:412
578-
msgid ":meth:`set.intersection` and :meth:`set.difference` always try to lock"
579-
msgstr ""
580-
581-
#: ../../builtins/threadsafety.rst:413
582-
msgid "all objects."
575+
msgid ""
576+
":meth:`set.intersection` and :meth:`set.difference` always try to lock all "
577+
"objects."
583578
msgstr ""
584579

585580
#: ../../builtins/threadsafety.rst:415
@@ -593,20 +588,15 @@ msgid ""
593588
msgstr ""
594589

595590
#: ../../builtins/threadsafety.rst:420
596-
msgid ":meth:`set.difference_update` and :meth:`set.intersection_update` try"
597-
msgstr ""
598-
599-
#: ../../builtins/threadsafety.rst:421
600-
msgid "to lock all objects one-by-one."
591+
msgid ""
592+
":meth:`set.difference_update` and :meth:`set.intersection_update` try to "
593+
"lock all objects one-by-one."
601594
msgstr ""
602595

603596
#: ../../builtins/threadsafety.rst:422
604597
msgid ""
605-
":meth:`set.symmetric_difference_update` only locks the arguments if it is"
606-
msgstr ""
607-
608-
#: ../../builtins/threadsafety.rst:423
609-
msgid "of type :class:`set`, :class:`frozenset`, or :class:`dict`."
598+
":meth:`set.symmetric_difference_update` only locks the arguments if it is of "
599+
"type :class:`set`, :class:`frozenset`, or :class:`dict`."
610600
msgstr ""
611601

612602
#: ../../builtins/threadsafety.rst:425

‎c-api/slice.po‎

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: Python 3.14\n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2025-02-18 00:13+0000\n"
11+
"POT-Creation-Date: 2026-09-29 17:29+0000\n"
1212
"PO-Revision-Date: 2025-10-08 21:36+0800\n"
1313
"Last-Translator: Weilin Du <1372449351@qq.com>\n"
1414
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
@@ -76,38 +76,38 @@ msgstr ""
7676
msgid "You probably do not want to use this function."
7777
msgstr "你可能不想使用此功能。"
7878

79-
#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:75
79+
#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:76
8080
msgid ""
8181
"The parameter type for the *slice* parameter was ``PySliceObject*`` before."
8282
msgstr "之前 *slice* 的參數型別是 ``PySliceObject*`` 。"
8383

8484
#: ../../c-api/slice.rst:51
85+
#, fuzzy
8586
msgid ""
8687
"Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, "
8788
"stop, and step indices from the slice object *slice* assuming a sequence of "
8889
"length *length*, and store the length of the slice in *slicelength*. Out of "
8990
"bounds indices are clipped in a manner consistent with the handling of "
90-
"normal slices."
91+
"normal slices. *length* must not be negative."
9192
msgstr ""
9293
"可用來取代 :c:func:`PySlice_GetIndices`。從假設序列長度為 *length* 的 slice "
9394
"物件 *slice* 擷取開始、停止和步長索引,並將 slice 的長度存入 *slicelength*。"
9495
"超出範圍的索引會被剪切,剪切方式與一般切片的處理方式一致。"
9596

96-
#: ../../c-api/slice.rst:57
97+
#: ../../c-api/slice.rst:58
9798
msgid "Return ``0`` on success and ``-1`` on error with an exception set."
9899
msgstr "成功時回傳 ``0`` ,在失敗時回傳 ``-1`` 並設定例外。"
99100

100-
#: ../../c-api/slice.rst:60
101+
#: ../../c-api/slice.rst:61
101102
msgid ""
102103
"This function is considered not safe for resizable sequences. Its invocation "
103-
"should be replaced by a combination of :c:func:`PySlice_Unpack` "
104-
"and :c:func:`PySlice_AdjustIndices` where ::"
104+
"should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:"
105+
"`PySlice_AdjustIndices` where ::"
105106
msgstr ""
106-
"這個函式對於可調整大小的序列並不安全。它的呼叫應該"
107-
"被 :c:func:`PySlice_Unpack` 和 :c:func:`PySlice_AdjustIndices` 的組合取代,其"
108-
"中: ::"
107+
"這個函式對於可調整大小的序列並不安全。它的呼叫應該被 :c:func:"
108+
"`PySlice_Unpack` 和 :c:func:`PySlice_AdjustIndices` 的組合取代,其中: ::"
109109

110-
#: ../../c-api/slice.rst:64
110+
#: ../../c-api/slice.rst:65
111111
msgid ""
112112
"if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) "
113113
"< 0) {\n"
@@ -119,11 +119,11 @@ msgstr ""
119119
" // return error\n"
120120
"}"
121121

122-
#: ../../c-api/slice.rst:68
122+
#: ../../c-api/slice.rst:69
123123
msgid "is replaced by ::"
124124
msgstr "被更換為: ::"
125125

126-
#: ../../c-api/slice.rst:70
126+
#: ../../c-api/slice.rst:71
127127
msgid ""
128128
"if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n"
129129
" // return error\n"
@@ -135,7 +135,7 @@ msgstr ""
135135
"}\n"
136136
"slicelength = PySlice_AdjustIndices(length, &start, &stop, step);"
137137

138-
#: ../../c-api/slice.rst:79
138+
#: ../../c-api/slice.rst:80
139139
msgid ""
140140
"If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` "
141141
"and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!"
@@ -144,21 +144,21 @@ msgid ""
144144
"*stop* and *step* are evaluated more than once."
145145
msgstr ""
146146
"如果 ``Py_LIMITED_API`` 沒有設定或設定為 ``0x03050400`` 和 ``0x03060000`` (不"
147-
"包括) 或 ``0x03060100`` 或更高的值 :c:func:`!PySlice_GetIndicesEx` 是使"
148-
"用 :c:func:`!PySlice_Unpack` 和 :c:func:`!PySlice_AdjustIndices` 來實作一個巨集"
149-
"。引數 *start*、*stop* 和 *step* 會被計算多次。"
147+
"包括) 或 ``0x03060100`` 或更高的值 :c:func:`!PySlice_GetIndicesEx` 是使用 :c:"
148+
"func:`!PySlice_Unpack` 和 :c:func:`!PySlice_AdjustIndices` 來實作一個巨集。引"
149+
"數 *start*、*stop* 和 *step* 會被計算多次。"
150150

151-
#: ../../c-api/slice.rst:86
151+
#: ../../c-api/slice.rst:87
152152
msgid ""
153153
"If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or "
154154
"between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!"
155155
"PySlice_GetIndicesEx` is a deprecated function."
156156
msgstr ""
157157
"如果 ``Py_LIMITED_API`` 設定為小於 ``0x03050400`` 或介於 ``0x03060000`` 和 "
158-
"``0x03060100`` 之間 (不包括邊界值) :c:func:`!PySlice_GetIndicesEx` 是一個"
159-
"已廢棄的函式。"
158+
"``0x03060100`` 之間 (不包括邊界值) :c:func:`!PySlice_GetIndicesEx` 是一個已廢"
159+
"棄的函式。"
160160

161-
#: ../../c-api/slice.rst:94
161+
#: ../../c-api/slice.rst:95
162162
msgid ""
163163
"Extract the start, stop and step data members from a slice object as C "
164164
"integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to "
@@ -167,15 +167,15 @@ msgid ""
167167
"less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``."
168168
msgstr ""
169169
"以 C 整數的形式從 slice 物件中抽取 start、stop 及 step 資料成員。將大於 "
170-
"``PY_SSIZE_T_MAX`` 的值靜默減少為 ``PY_SSIZE_T_MAX``,將小於 ``PY_SSIZE_T_MIN`` "
171-
"的 start 和 stop 值靜默提升為 ``PY_SSIZE_T_MIN``,將小於 ``-PY_SSIZE_T_MAX`` "
172-
"的 step 值靜默提升為 ``-PY_SSIZE_T_MAX``。"
170+
"``PY_SSIZE_T_MAX`` 的值靜默減少為 ``PY_SSIZE_T_MAX``,將小於 "
171+
"``PY_SSIZE_T_MIN`` 的 start 和 stop 值靜默提升為 ``PY_SSIZE_T_MIN``,將小於 "
172+
"``-PY_SSIZE_T_MAX`` 的 step 值靜默提升為 ``-PY_SSIZE_T_MAX``。"
173173

174-
#: ../../c-api/slice.rst:100
174+
#: ../../c-api/slice.rst:101
175175
msgid "Return ``-1`` with an exception set on error, ``0`` on success."
176176
msgstr "成功時回傳 ``0``,在失敗時回傳 ``-1`` 並設定例外。"
177177

178-
#: ../../c-api/slice.rst:107
178+
#: ../../c-api/slice.rst:108
179179
msgid ""
180180
"Adjust start/end slice indices assuming a sequence of the specified length. "
181181
"Out of bounds indices are clipped in a manner consistent with the handling "
@@ -184,32 +184,38 @@ msgstr ""
184184
"假設序列長度為指定長度,調整開始/結束切片索引。超出範圍的索引會以與處理正常切"
185185
"片一致的方式切除。"
186186

187-
#: ../../c-api/slice.rst:111
187+
#: ../../c-api/slice.rst:112
188+
msgid ""
189+
"*length* must not be negative. *step* must not be zero and must not be less "
190+
"than ``-PY_SSIZE_T_MAX``, as guaranteed by :c:func:`PySlice_Unpack`."
191+
msgstr ""
192+
193+
#: ../../c-api/slice.rst:116
188194
msgid ""
189195
"Return the length of the slice. Always successful. Doesn't call Python "
190196
"code."
191197
msgstr "回傳切片的長度。永遠成功。不呼叫 Python 程式碼。"
192198

193-
#: ../../c-api/slice.rst:118
199+
#: ../../c-api/slice.rst:123
194200
msgid "Ellipsis Object"
195201
msgstr "Ellipsis 物件"
196202

197-
#: ../../c-api/slice.rst:123
203+
#: ../../c-api/slice.rst:128
198204
msgid ""
199-
"The type of Python :const:`Ellipsis` object. Same "
200-
"as :class:`types.EllipsisType` in the Python layer."
205+
"The type of Python :const:`Ellipsis` object. Same as :class:`types."
206+
"EllipsisType` in the Python layer."
201207
msgstr ""
202-
"Python :const:`Ellipsis` 物件的型別。與 Python 層中"
203-
"的 :class:`types.EllipsisType` 相同。"
208+
"Python :const:`Ellipsis` 物件的型別。與 Python 層中的 :class:`types."
209+
"EllipsisType` 相同。"
204210

205-
#: ../../c-api/slice.rst:129
211+
#: ../../c-api/slice.rst:134
206212
msgid ""
207-
"The Python ``Ellipsis`` object. This object has no methods. "
208-
"Like :c:data:`Py_None`, it is an :term:`immortal` singleton object."
213+
"The Python ``Ellipsis`` object. This object has no methods. Like :c:data:"
214+
"`Py_None`, it is an :term:`immortal` singleton object."
209215
msgstr ""
210216
"Python ``Ellipsis`` 物件。這個物件沒有方法。就像 :c:data:`Py_None` 一樣,它是"
211217
"一個 :term:`immortal` 單一物件。"
212218

213-
#: ../../c-api/slice.rst:132
219+
#: ../../c-api/slice.rst:137
214220
msgid ":c:data:`Py_Ellipsis` is immortal."
215221
msgstr ":c:data:`Py_Ellipsis` 為不滅的 (immortal)。"

0 commit comments

Comments
 (0)