88msgstr ""
99"Project-Id-Version :Python 3.14\n "
1010"Report-Msgid-Bugs-To :\n "
11- "POT-Creation-Date :2025-11-03 00:16 +0000\n "
11+ "POT-Creation-Date :2025-11-06 00:14 +0000\n "
1212"PO-Revision-Date :2017-09-22 18:26+0000\n "
1313"Last-Translator :Liang-Bo Wang <me@liang2.tw>\n "
1414"Language-Team :Chinese - TAIWAN (https://github.com/python/python-docs-zh- "
@@ -270,6 +270,10 @@ msgid ""
270270msgstr "回傳字典中項目的數量。此與於字典呼叫 ``len(p)`` 等效。"
271271
272272#: ../../c-api/dict.rst:250
273+ msgid "Similar to :c:func:`PyDict_Size`, but without error checking."
274+ msgstr ""
275+
276+ #: ../../c-api/dict.rst:255
273277msgid ""
274278"Iterate over all key-value pairs in the dictionary *p*. The :c:type:"
275279"`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the "
@@ -283,11 +287,11 @@ msgid ""
283287"structure is sparse, the offsets are not consecutive."
284288msgstr ""
285289
286- #: ../../c-api/dict.rst:261
290+ #: ../../c-api/dict.rst:266
287291msgid "For example::"
288292msgstr "舉例來說: ::"
289293
290- #: ../../c-api/dict.rst:263
294+ #: ../../c-api/dict.rst:268
291295msgid ""
292296"PyObject *key, *value;\n"
293297"Py_ssize_t pos = 0;\n"
@@ -298,14 +302,14 @@ msgid ""
298302"}"
299303msgstr ""
300304
301- #: ../../c-api/dict.rst:271
305+ #: ../../c-api/dict.rst:276
302306msgid ""
303307"The dictionary *p* should not be mutated during iteration. It is safe to "
304308"modify the values of the keys as you iterate over the dictionary, but only "
305309"so long as the set of keys does not change. For example::"
306310msgstr ""
307311
308- #: ../../c-api/dict.rst:275
312+ #: ../../c-api/dict.rst:280
309313msgid ""
310314"PyObject *key, *value;\n"
311315"Py_ssize_t pos = 0;\n"
@@ -343,14 +347,14 @@ msgstr ""
343347" Py_DECREF(o);\n"
344348"}"
345349
346- #: ../../c-api/dict.rst:293
350+ #: ../../c-api/dict.rst:298
347351msgid ""
348352"The function is not thread-safe in the :term:`free-threaded <free "
349353"threading>` build without external synchronization. You can use :c:macro:"
350354"`Py_BEGIN_CRITICAL_SECTION` to lock the dictionary while iterating over it::"
351355msgstr ""
352356
353- #: ../../c-api/dict.rst:298
357+ #: ../../c-api/dict.rst:303
354358msgid ""
355359"Py_BEGIN_CRITICAL_SECTION(self->dict);\n"
356360"while (PyDict_Next(self->dict, &pos, &key, &value)) {\n"
@@ -364,7 +368,7 @@ msgstr ""
364368"}\n"
365369"Py_END_CRITICAL_SECTION();"
366370
367- #: ../../c-api/dict.rst:306
371+ #: ../../c-api/dict.rst:311
368372msgid ""
369373"On the free-threaded build, this function can be used safely inside a "
370374"critical section. However, the references returned for *pkey* and *pvalue* "
@@ -375,7 +379,7 @@ msgid ""
375379"`Py_NewRef`)."
376380msgstr ""
377381
378- #: ../../c-api/dict.rst:316
382+ #: ../../c-api/dict.rst:321
379383msgid ""
380384"Iterate over mapping object *b* adding key-value pairs to dictionary *a*. "
381385"*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` "
@@ -385,7 +389,7 @@ msgid ""
385389"or ``-1`` if an exception was raised."
386390msgstr ""
387391
388- #: ../../c-api/dict.rst:326
392+ #: ../../c-api/dict.rst:331
389393msgid ""
390394"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a."
391395"update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back "
@@ -394,7 +398,7 @@ msgid ""
394398"exception was raised."
395399msgstr ""
396400
397- #: ../../c-api/dict.rst:335
401+ #: ../../c-api/dict.rst:340
398402msgid ""
399403"Update or merge into dictionary *a*, from the key-value pairs in *seq2*. "
400404"*seq2* must be an iterable object producing iterable objects of length 2, "
@@ -403,7 +407,7 @@ msgid ""
403407"if an exception was raised. Equivalent Python (except for the return value)::"
404408msgstr ""
405409
406- #: ../../c-api/dict.rst:342
410+ #: ../../c-api/dict.rst:347
407411msgid ""
408412"def PyDict_MergeFromSeq2(a, seq2, override):\n"
409413" for key, value in seq2:\n"
@@ -415,49 +419,49 @@ msgstr ""
415419" if override or key not in a:\n"
416420" a[key] = value"
417421
418- #: ../../c-api/dict.rst:349
422+ #: ../../c-api/dict.rst:354
419423msgid ""
420424"Register *callback* as a dictionary watcher. Return a non-negative integer "
421425"id which must be passed to future calls to :c:func:`PyDict_Watch`. In case "
422426"of error (e.g. no more watcher IDs available), return ``-1`` and set an "
423427"exception."
424428msgstr ""
425429
426- #: ../../c-api/dict.rst:358
430+ #: ../../c-api/dict.rst:363
427431msgid ""
428432"Clear watcher identified by *watcher_id* previously returned from :c:func:"
429433"`PyDict_AddWatcher`. Return ``0`` on success, ``-1`` on error (e.g. if the "
430434"given *watcher_id* was never registered.)"
431435msgstr ""
432436
433- #: ../../c-api/dict.rst:366
437+ #: ../../c-api/dict.rst:371
434438msgid ""
435439"Mark dictionary *dict* as watched. The callback granted *watcher_id* by :c:"
436440"func:`PyDict_AddWatcher` will be called when *dict* is modified or "
437441"deallocated. Return ``0`` on success or ``-1`` on error."
438442msgstr ""
439443
440- #: ../../c-api/dict.rst:374
444+ #: ../../c-api/dict.rst:379
441445msgid ""
442446"Mark dictionary *dict* as no longer watched. The callback granted "
443447"*watcher_id* by :c:func:`PyDict_AddWatcher` will no longer be called when "
444448"*dict* is modified or deallocated. The dict must previously have been "
445449"watched by this watcher. Return ``0`` on success or ``-1`` on error."
446450msgstr ""
447451
448- #: ../../c-api/dict.rst:383
452+ #: ../../c-api/dict.rst:388
449453msgid ""
450454"Enumeration of possible dictionary watcher events: ``PyDict_EVENT_ADDED``, "
451455"``PyDict_EVENT_MODIFIED``, ``PyDict_EVENT_DELETED``, "
452456"``PyDict_EVENT_CLONED``, ``PyDict_EVENT_CLEARED``, or "
453457"``PyDict_EVENT_DEALLOCATED``."
454458msgstr ""
455459
456- #: ../../c-api/dict.rst:391
460+ #: ../../c-api/dict.rst:396
457461msgid "Type of a dict watcher callback function."
458462msgstr ""
459463
460- #: ../../c-api/dict.rst:393
464+ #: ../../c-api/dict.rst:398
461465msgid ""
462466"If *event* is ``PyDict_EVENT_CLEARED`` or ``PyDict_EVENT_DEALLOCATED``, both "
463467"*key* and *new_value* will be ``NULL``. If *event* is ``PyDict_EVENT_ADDED`` "
@@ -466,22 +470,22 @@ msgid ""
466470"dictionary and *new_value* will be ``NULL``."
467471msgstr ""
468472
469- #: ../../c-api/dict.rst:399
473+ #: ../../c-api/dict.rst:404
470474msgid ""
471475"``PyDict_EVENT_CLONED`` occurs when *dict* was previously empty and another "
472476"dict is merged into it. To maintain efficiency of this operation, per-key "
473477"``PyDict_EVENT_ADDED`` events are not issued in this case; instead a single "
474478"``PyDict_EVENT_CLONED`` is issued, and *key* will be the source dictionary."
475479msgstr ""
476480
477- #: ../../c-api/dict.rst:405
481+ #: ../../c-api/dict.rst:410
478482msgid ""
479483"The callback may inspect but must not modify *dict*; doing so could have "
480484"unpredictable effects, including infinite recursion. Do not trigger Python "
481485"code execution in the callback, as it could modify the dict as a side effect."
482486msgstr ""
483487
484- #: ../../c-api/dict.rst:409
488+ #: ../../c-api/dict.rst:414
485489msgid ""
486490"If *event* is ``PyDict_EVENT_DEALLOCATED``, taking a new reference in the "
487491"callback to the about-to-be-destroyed dictionary will resurrect it and "
@@ -490,20 +494,20 @@ msgid ""
490494"again."
491495msgstr ""
492496
493- #: ../../c-api/dict.rst:415
497+ #: ../../c-api/dict.rst:420
494498msgid ""
495499"Callbacks occur before the notified modification to *dict* takes place, so "
496500"the prior state of *dict* can be inspected."
497501msgstr ""
498502
499- #: ../../c-api/dict.rst:418
503+ #: ../../c-api/dict.rst:423
500504msgid ""
501505"If the callback sets an exception, it must return ``-1``; this exception "
502506"will be printed as an unraisable exception using :c:func:"
503507"`PyErr_WriteUnraisable`. Otherwise it should return ``0``."
504508msgstr ""
505509
506- #: ../../c-api/dict.rst:422
510+ #: ../../c-api/dict.rst:427
507511msgid ""
508512"There may already be a pending exception set on entry to the callback. In "
509513"this case, the callback should return ``0`` with the same exception still "