diff --git a/library/graphlib.po b/library/graphlib.po index ae03c6b4b3..da81e0b06a 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -1,26 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2022, Python Software Foundation +# Copyright (C) 2001-2023, Python Software Foundation # This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. # -#, fuzzy +# Translators: +# Matt Wang , 2023 msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-02-15 00:17+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2023-01-04 16:35+0800\n" +"Last-Translator: Matt Wang \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.2.2\n" #: ../../library/graphlib.rst:2 msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" -msgstr "" +msgstr ":mod:`graphlib` —-- 使用類圖 (graph-like) 結構進行操作的功能" #: ../../library/graphlib.rst:8 msgid "**Source code:** :source:`Lib/graphlib.py`" @@ -31,6 +33,8 @@ msgid "" "Provides functionality to topologically sort a graph of :term:`hashable` " "nodes." msgstr "" +"提供對包含\\ :term:`可雜湊 (hashable) ` 節點之圖 (graph) 進行拓撲排序 (topologically " +"sort) 的功能。" #: ../../library/graphlib.rst:22 msgid "" @@ -43,6 +47,12 @@ msgid "" "topological ordering is possible if and only if the graph has no directed " "cycles, that is, if it is a directed acyclic graph." msgstr "" +"拓撲排序是圖中頂點 (vertex) 的線性排序,使得對於從頂點 u 到頂點 v 的每條有向" +"邊 (directed edge) u -> v,頂點 u 在排序中會位於頂點 v 之前。例如,圖的頂點可" +"能代表要執行的任務,而邊可能代表一個任務必須在另一個任務之前執行的限制;在此" +"範例中,拓撲排序只是任務的一種有效序列。若且唯若 (if and only if) 圖沒有有向" +"環 (directed cycle) 時,即如果它是個有向無環圖 (directed acyclic graph),則完" +"整的拓撲排序才是可行的。" #: ../../library/graphlib.rst:31 msgid "" @@ -52,26 +62,30 @@ msgid "" "nodes that have edges that point to the value in the key). Additional nodes " "can be added to the graph using the :meth:`~TopologicalSorter.add` method." msgstr "" +"如果提供了可選的 *graph* 引數,它必須是表示有向無環圖的字典,其中鍵是節點,值" +"是圖中該節點的包含所有前驅節點 (predecessor) 之可疊代物件(這些前驅節點具有指" +"向以鍵表示之節點的邊)。可以使用 :meth:`~TopologicalSorter.add` 方法將其他節" +"點新增到圖中。" #: ../../library/graphlib.rst:37 msgid "" "In the general case, the steps required to perform the sorting of a given " "graph are as follows:" -msgstr "" +msgstr "在一般情況下,對給定的圖執行排序所需的步驟如下:" #: ../../library/graphlib.rst:40 msgid "" "Create an instance of the :class:`TopologicalSorter` with an optional " "initial graph." -msgstr "" +msgstr "以選用的初始圖建立 :class:`TopologicalSorter` 的實例。" #: ../../library/graphlib.rst:42 msgid "Add additional nodes to the graph." -msgstr "" +msgstr "在圖中新增其他節點。" #: ../../library/graphlib.rst:43 msgid "Call :meth:`~TopologicalSorter.prepare` on the graph." -msgstr "" +msgstr "呼叫圖的 :meth:`~TopologicalSorter.prepare`。" #: ../../library/graphlib.rst:44 msgid "" @@ -79,6 +93,9 @@ msgid "" "nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. " "Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." msgstr "" +"當 :meth:`~TopologicalSorter.is_active` 為 ``True`` 時,疊代 :meth:" +"`~TopologicalSorter.get_ready` 回傳的節點並處理它們。在每個節點完成處理時呼" +"叫 :meth:`~TopologicalSorter.done`。" #: ../../library/graphlib.rst:49 msgid "" @@ -86,24 +103,32 @@ msgid "" "no parallelism is involved, the convenience method :meth:`TopologicalSorter." "static_order` can be used directly:" msgstr "" +"如果只需要立即對圖中的節點進行排序且不涉及平行性 (parallelism),則可以直接使" +"用便捷方法 :meth:`TopologicalSorter.static_order`:" #: ../../library/graphlib.rst:60 msgid "" "The class is designed to easily support parallel processing of the nodes as " "they become ready. For instance::" msgstr "" +"該類別設計為在節點準備就緒時,簡單支援節點的平行處理。例如:\n" +"\n" +"::" #: ../../library/graphlib.rst:87 msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " "elements in *predecessors* must be :term:`hashable`." msgstr "" +"向圖中新增新節點及其前驅節點。*node* 和 *predecessors* 中的所有元素都必須是\\ :term:`可雜湊 `\\ " +"的。" #: ../../library/graphlib.rst:90 msgid "" "If called multiple times with the same node argument, the set of " "dependencies will be the union of all dependencies passed in." msgstr "" +"如果以相同節點引數多次呼叫,則依賴項的集合將會是傳入的所有依賴項的聯集。" #: ../../library/graphlib.rst:93 msgid "" @@ -112,11 +137,16 @@ msgid "" "provided before is included among *predecessors* it will be automatically " "added to the graph with no predecessors of its own." msgstr "" +"可以新增一個沒有依賴關係的節點(*predecessors* 未提供)或提供兩次依賴關係。如" +"果有之前未曾提供的節點被包含在 *predecessors* 中,它將自動新增到沒有前驅節點" +"的圖中。" #: ../../library/graphlib.rst:98 msgid "" "Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`." msgstr "" +"如果在 :meth:`~TopologicalSorter.prepare` 之後呼叫,則引發 :exc:" +"`ValueError`。" #: ../../library/graphlib.rst:102 msgid "" @@ -127,6 +157,10 @@ msgid "" "be modified, and therefore no more nodes can be added using :meth:" "`~TopologicalSorter.add`." msgstr "" +"將圖標記為已完成並檢查圖中的循環。如果檢測到任何循環,將引發 :exc:" +"`CycleError`,但 :meth:`~TopologicalSorter.get_ready` 仍可用於盡可能獲得更多" +"的節點,直到循環阻塞了進度。呼叫此函式後就無法修改圖,因此無法使用 :meth:" +"`~TopologicalSorter.add` 來新增更多節點。" #: ../../library/graphlib.rst:111 msgid "" @@ -137,22 +171,34 @@ msgid "" "`TopologicalSorter.done` is less than the number that have been returned by :" "meth:`TopologicalSorter.get_ready`." msgstr "" +"如果可以有更多進度則回傳 ``True``,否則回傳 ``False``。如果循環不阻塞解析 " +"(resolution) 並且仍有節點準備就緒但尚未由 :meth:`TopologicalSorter." +"get_ready` 回傳或標記為 :meth:`TopologicalSorter.done` 的節點數量較 :meth:" +"`TopologicalSorter.get_ready` 所回傳的少,則可以繼續取得進度。" #: ../../library/graphlib.rst:118 msgid "" "The :meth:`~TopologicalSorter.__bool__` method of this class defers to this " "function, so instead of::" msgstr "" +"此類別的 :meth:`~TopologicalSorter.__bool__` 方法遵循此函式,因此以下做法:\n" +"\n" +"::" #: ../../library/graphlib.rst:124 msgid "it is possible to simply do::" msgstr "" +"可以簡單地用以下方式替換:\n" +"\n" +"::" #: ../../library/graphlib.rst:129 ../../library/graphlib.rst:152 msgid "" "Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter." "prepare` previously." msgstr "" +"如果呼叫之前沒有先呼叫 :meth:`~TopologicalSorter.prepare` 則引發 :exc:" +"`ValueError`。" #: ../../library/graphlib.rst:134 msgid "" @@ -160,6 +206,9 @@ msgid "" "processed, unblocking any successor of each node in *nodes* for being " "returned in the future by a call to :meth:`TopologicalSorter.get_ready`." msgstr "" +"將 :meth:`TopologicalSorter.get_ready` 回傳的一組節點標記為已處理,停止阻塞 " +"*nodes* 中每個節點的任何後繼節點 (successor),以便將來通過呼叫 :meth:" +"`TopologicalSorter.get_ready` 回傳。" #: ../../library/graphlib.rst:138 msgid "" @@ -169,6 +218,10 @@ msgid "" "meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :" "meth:`~TopologicalSorter.get_ready`." msgstr "" +"若沒有和該呼叫一起呼叫 :meth:`~TopologicalSorter.prepare` 或節點還沒有被 :" +"meth:`~TopologicalSorter.get_ready` 回傳,且如果 *nodes* 中有任何節點已被先前" +"對此方法的呼叫標記為已處理、或者未使用 :meth:`TopologicalSorter.add` 將節點新" +"增到圖中,則引發 :exc:`ValueError`。" #: ../../library/graphlib.rst:146 msgid "" @@ -178,6 +231,10 @@ msgid "" "nodes that have all their predecessors already processed. Once no more " "progress can be made, empty tuples are returned." msgstr "" +"回傳一個包含所有準備就緒節點的 ``tuple``。最初它回傳沒有前驅節點的所有節點," +"一旦通過呼叫 :meth:`TopologicalSorter.done` 來將這些節點標記為已處理後,進一" +"步的呼叫將回傳所有其全部前驅節點都已被處理的新節點。若無法取得更多進度,將回" +"傳空 tuple。" #: ../../library/graphlib.rst:157 msgid "" @@ -186,12 +243,17 @@ msgid "" "`~TopologicalSorter.done` should not be called. This method is equivalent " "to::" msgstr "" +"回傳一個可疊代物件,它將按拓撲排序疊代節點。使用此方法時,不應呼叫 :meth:" +"`~TopologicalSorter.prepare` 和 :meth:`~TopologicalSorter.done`。此方法等效" +"於:\n" +"\n" +"::" #: ../../library/graphlib.rst:169 msgid "" "The particular order that is returned may depend on the specific order in " "which the items were inserted in the graph. For example:" -msgstr "" +msgstr "回傳的特定順序可能取決於將項目插入圖中的特定順序。例如:" #: ../../library/graphlib.rst:186 msgid "" @@ -200,10 +262,13 @@ msgid "" "`~TopologicalSorter.get_ready`) and the order between them is determined by " "the order of insertion." msgstr "" +"這是因為 \"0\" 和 \"2\" 在圖中處於同一級別(它們將在對 :meth:" +"`~TopologicalSorter.get_ready` 的同一呼叫中回傳)並且它們之間的順序取決於插入" +"順序。" #: ../../library/graphlib.rst:192 msgid "If any cycle is detected, :exc:`CycleError` will be raised." -msgstr "" +msgstr "如果檢測到任何循環,則引發 :exc:`CycleError`。" #: ../../library/graphlib.rst:198 msgid "Exceptions" @@ -211,7 +276,7 @@ msgstr "例外" #: ../../library/graphlib.rst:199 msgid "The :mod:`graphlib` module defines the following exception classes:" -msgstr "" +msgstr ":mod:`graphlib` 模組定義了以下例外類別:" #: ../../library/graphlib.rst:203 msgid "" @@ -219,6 +284,9 @@ msgid "" "cycles exist in the working graph. If multiple cycles exist, only one " "undefined choice among them will be reported and included in the exception." msgstr "" +":exc:`ValueError` 的子類別,如果作用的圖中存在循環則由 :meth:" +"`TopologicalSorter.prepare` 引發。如果存在多個循環,則只會報告未定義的其中一個" +"並包含在例外中。" #: ../../library/graphlib.rst:207 msgid "" @@ -228,3 +296,7 @@ msgid "" "predecessor of the next node in the list. In the reported list, the first " "and the last node will be the same, to make it clear that it is cyclic." msgstr "" +"檢測到的循環可以通過例外實例的 :attr:`~CycleError.args` 屬性中第二個元素來存" +"取,其為一個節點列表,每個節點在圖中都是列表中下一個節點的直接前驅節點" +"(immediate predecessor,即父節點)。在報告列表中,第一個和最後一個節點將會是" +"相同的,用以明確表示它是循環的。"