From 40ba09c198cc2106c8a96a7c9aed56c96f295ca2 Mon Sep 17 00:00:00 2001 From: josix Date: Wed, 4 Feb 2026 20:21:13 +0800 Subject: [PATCH] feat: translate library/asyncio-graph.po Complete translation of asyncio Call Graph Introspection documentation covering print_call_graph(), format_call_graph(), capture_call_graph() and low-level utility functions. --- library/asyncio-graph.po | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/library/asyncio-graph.po b/library/asyncio-graph.po index 59b3e1cfb8d..7cf77562609 100644 --- a/library/asyncio-graph.po +++ b/library/asyncio-graph.po @@ -18,7 +18,7 @@ msgstr "" #: ../../library/asyncio-graph.rst:8 msgid "Call Graph Introspection" -msgstr "" +msgstr "呼叫圖內省(Graph Introspection)" #: ../../library/asyncio-graph.rst:10 msgid "**Source code:** :source:`Lib/asyncio/graph.py`" @@ -31,24 +31,29 @@ msgid "" "*future*. These utilities and the underlying machinery can be used from " "within a Python program or by external profilers and debuggers." msgstr "" +"asyncio 擁有強大的執行期呼叫圖內省工具,可以追蹤執行中的\\ *協程*\\ 或\\ " +"*任務*\\ ,或是暫停的\\ *future*\\ 的完整呼叫圖。這些工具和底層機制可以在 " +"Python 程式內部使用,或被外部分析器和除錯器使用。" #: ../../library/asyncio-graph.rst:25 msgid "" "Print the async call graph for the current task or the " "provided :class:`Task` or :class:`Future`." msgstr "" +"印出當前任務或所提供的 :class:`Task` 或 :class:`Future` 的非同步呼叫圖。" #: ../../library/asyncio-graph.rst:28 msgid "" "This function prints entries starting from the top frame and going down " "towards the invocation point." -msgstr "" +msgstr "此函式會從頂層框架開始印出條目,然後往下到呼叫點。" #: ../../library/asyncio-graph.rst:31 msgid "" "The function receives an optional *future* argument. If not passed, the " "current running task will be used." msgstr "" +"此函式接受一個選擇性的 *future* 引數。如果未傳入,將使用當前執行中的任務。" #: ../../library/asyncio-graph.rst:34 ../../library/asyncio-graph.rst:93 msgid "" @@ -56,6 +61,8 @@ msgid "" "*depth* argument can be used to skip the specified number of frames from top " "of the stack." msgstr "" +"如果在\\ *當前任務*\\ 上呼叫此函式,可以使用選擇性的僅限關鍵字引數 *depth* " +"來跳過堆疊頂端指定數量的框架(frames)。" #: ../../library/asyncio-graph.rst:38 msgid "" @@ -67,12 +74,18 @@ msgid "" "``0``, the call stack is not printed at all, only \"awaited by\" information " "is printed." msgstr "" +"如果提供了選擇性的僅限關鍵字引數 *limit*\\ ,結果圖中的每個呼叫堆疊會被截斷" +"為最多包含 ``abs(limit)`` 個條目。如果 *limit* 為正數,保留的條目是最接近呼" +"叫點的。如果 *limit* 為負數,保留最頂層的條目。如果 *limit* 被省略或為 " +"``None``\\ ,則顯示所有條目。如果 *limit* 為 ``0``\\ ,則完全不印出呼叫堆" +"疊,只印出「awaited by」資訊。" #: ../../library/asyncio-graph.rst:46 msgid "" "If *file* is omitted or ``None``, the function will print " "to :data:`sys.stdout`." msgstr "" +"如果 *file* 被省略或為 ``None``\\ ,此函式將印出到 :data:`sys.stdout`\\ 。" #: ../../library/asyncio-graph.rst:49 msgid "**Example:**" @@ -135,12 +148,15 @@ msgid "" "Like :func:`print_call_graph`, but returns a string. If *future* is ``None`` " "and there's no current task, the function returns an empty string." msgstr "" +"類似於 :func:`print_call_graph`\\ ,但回傳一個字串。如果 *future* 為 " +"``None`` 且沒有當前任務,此函式回傳一個空字串。" #: ../../library/asyncio-graph.rst:86 msgid "" "Capture the async call graph for the current task or the " "provided :class:`Task` or :class:`Future`." msgstr "" +"捕獲當前任務或所提供的 :class:`Task` 或 :class:`Future` 的非同步呼叫圖。" #: ../../library/asyncio-graph.rst:89 msgid "" @@ -148,6 +164,8 @@ msgid "" "current running task will be used. If there's no current task, the function " "returns ``None``." msgstr "" +"此函式接受一個選擇性的 *future* 引數。如果未傳入,將使用當前執行中的任務。" +"如果沒有當前任務,此函式回傳 ``None``\\ 。" #: ../../library/asyncio-graph.rst:97 msgid "Returns a ``FutureCallGraph`` data class object:" @@ -162,6 +180,8 @@ msgid "" "Where *future* is a reference to a :class:`Future` or a :class:`Task` (or " "their subclasses.)" msgstr "" +"其中 *future* 是對 :class:`Future` 或 :class:`Task`\\ (或它們的子類別)的" +"參照。" #: ../../library/asyncio-graph.rst:104 msgid "``call_stack`` is a tuple of ``FrameCallGraphEntry`` objects." @@ -179,7 +199,7 @@ msgstr "``FrameCallGraphEntry(frame)``" msgid "" "Where *frame* is a frame object of a regular Python function in the call " "stack." -msgstr "" +msgstr "其中 *frame* 是呼叫堆疊中常規 Python 函式的框架物件。" #: ../../library/asyncio-graph.rst:115 msgid "Low level utility functions" @@ -195,10 +215,15 @@ msgid "" "about how exactly such intermediate future objects are connected with the " "tasks they wrap or control." msgstr "" +"要內省非同步呼叫圖,asyncio 需要來自控制流程結構的協作,例如 :func:`shield` " +"或 :class:`TaskGroup`\\ 。任何時候涉及使用低階 API(如 :meth:`Future." +"add_done_callback() `\\ )的中介 :class:" +"`Future` 物件時,應使用以下兩個函式來告知 asyncio 這些中介 future 物件如何" +"與它們所包裝或控制的任務連接。" #: ../../library/asyncio-graph.rst:128 msgid "Record that *future* is awaited on by *waiter*." -msgstr "" +msgstr "記錄 *future* 正被 *waiter* 等待。" #: ../../library/asyncio-graph.rst:130 ../../library/asyncio-graph.rst:143 msgid "" @@ -206,6 +231,8 @@ msgid "" "or :class:`Task` or their subclasses, otherwise the call would have no " "effect." msgstr "" +"*future* 和 *waiter* 都必須是 :class:`Future` 或 :class:`Task` 或它們子類別" +"的實例,否則呼叫將不會產生任何效果。" #: ../../library/asyncio-graph.rst:134 msgid "" @@ -213,7 +240,9 @@ msgid "" "call to the :func:`future_discard_from_awaited_by` function with the same " "arguments." msgstr "" +"對 ``future_add_to_awaited_by()`` 的呼叫必須最終跟隨一個對 :func:" +"`future_discard_from_awaited_by` 函式的呼叫,並使用相同的引數。" #: ../../library/asyncio-graph.rst:141 msgid "Record that *future* is no longer awaited on by *waiter*." -msgstr "" +msgstr "記錄 *future* 不再被 *waiter* 等待。"