Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork214
Translatelibrary/queue.po
#187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Uh oh!
There was an error while loading.Please reload this page.
Merged
Changes fromall commits
Commits
Show all changes
10 commits Select commitHold shift + click to select a range
311dcda
Translate `library/queue.po`
allen91wua97c31f
Merge branch '3.10' into translate-queue
mattwang44904d536
Merge branch '3.10' into translate-queue
mattwang4485cf873
Merge branch '3.10' into translate-queue
mattwang441088bad
Translate `library/queue.po`
allen91wu7b10787
update file from the review
allen91wuf8af9b2
fix typo
allen91wu306bb1a
Update library/queue.po
allen91wub9abb51
Update library/queue.po
allen91wudc21ddc
remove redundant part
allen91wuFile filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
126 changes: 114 additions & 12 deletionslibrary/queue.po
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -3,24 +3,28 @@ | ||
# This file is distributed under the same license as the Python package. | ||
# | ||
# Translators: | ||
# Adrian Liaw <adrianliaw2000@gmail.com>, 2018 | ||
# Allen Wu <allen91.wu@gmail.com>, 2021 | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Python 3.10\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"POT-Creation-Date: 2022-04-15 00:13+0000\n" | ||
"PO-Revision-Date:2022-09-27 00:12+0800\n" | ||
"Last-Translator:Allen Wu <allen91.wu@gmail.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.0.1\n" | ||
#: ../../library/queue.rst:2 | ||
msgid ":mod:`queue` --- A synchronized queue class" | ||
msgstr ":mod:`queue` --- 同步佇列 (queue) class(類別)" | ||
#: ../../library/queue.rst:7 | ||
msgid "**Source code:** :source:`Lib/queue.py`" | ||
@@ -33,6 +37,9 @@ msgid "" | ||
"exchanged safely between multiple threads. The :class:`Queue` class in this " | ||
"module implements all the required locking semantics." | ||
msgstr "" | ||
":mod:`queue` module(模組)實作多生產者、多消費者佇列。在執行緒程式設計中,必" | ||
"須在多執行緒之間安全地交換資訊時,特別有用。此 module 中的 :class:`Queue` " | ||
"class 實作所有必需的鎖定語義 (locking semantics)。" | ||
#: ../../library/queue.rst:16 | ||
msgid "" | ||
@@ -44,24 +51,33 @@ msgid "" | ||
"sorted (using the :mod:`heapq` module) and the lowest valued entry is " | ||
"retrieved first." | ||
msgstr "" | ||
"此 module 實作三種型別的佇列,它們僅在取出條目的順序上有所不同。在 :abbr:" | ||
"`FIFO (first-in, first-out)` 佇列中,先加入的任務是第一個被取出的。在 :abbr:" | ||
"`LIFO (last-in, first-out)` 佇列中,最近被加入的條目是第一個被取出的(像堆疊 " | ||
"(stack) 一樣操作)。使用優先佇列 (priority queue) 時,條目將保持排序狀態(使" | ||
"用 :mod:`heapq` module),並先取出最低值條目。" | ||
#: ../../library/queue.rst:24 | ||
msgid "" | ||
"Internally, those three types of queues use locks to temporarily block " | ||
"competing threads; however, they are not designed to handle reentrancy " | ||
"within a thread." | ||
msgstr "" | ||
"在內部,這三種型別的佇列使用鎖 (lock) 來暫時阻塞競爭執行緒;但是,它們並不是" | ||
"被設計來處理執行緒內的 reentrancy(可重入)。" | ||
#: ../../library/queue.rst:28 | ||
msgid "" | ||
"In addition, the module implements a \"simple\" :abbr:`FIFO (first-in, first-" | ||
"out)` queue type, :class:`SimpleQueue`, whose specific implementation " | ||
"provides additional guarantees in exchange for the smaller functionality." | ||
msgstr "" | ||
"此外,此 module 實作一個「簡單」的 :abbr:`FIFO (first-in, first-out)` 佇列型" | ||
"別 :class:`SimpleQueue`,其特定的實作是以較少的功能為代價,來提供額外的保證。" | ||
#: ../../library/queue.rst:33 | ||
msgid "The :mod:`queue` module defines the following classes and exceptions:" | ||
msgstr ":mod:`queue` module 定義了以下的 class 和例外:" | ||
#: ../../library/queue.rst:37 | ||
msgid "" | ||
@@ -71,6 +87,9 @@ msgid "" | ||
"until queue items are consumed. If *maxsize* is less than or equal to zero, " | ||
"the queue size is infinite." | ||
msgstr "" | ||
":abbr:`FIFO (first-in, first-out)` 佇列的建構子 (constructor)。*maxsize* 是一" | ||
"個整數,用於設置佇列中可放置的項目數的上限。一旦達到此大小,插入將會阻塞,直" | ||
"到佇列中的項目被消耗。如果 *maxsize* 小於或等於零,則佇列大小為無限。" | ||
#: ../../library/queue.rst:45 | ||
msgid "" | ||
@@ -80,6 +99,9 @@ msgid "" | ||
"until queue items are consumed. If *maxsize* is less than or equal to zero, " | ||
"the queue size is infinite." | ||
msgstr "" | ||
":abbr:`LIFO (last-in, first-out)` 佇列的建構子。*maxsize* 是一個整數,用於設" | ||
"置佇列中可放置的項目數的上限。一旦達到此大小,插入將被鎖定,到佇列中的項目被" | ||
"消耗。如果 *maxsize* 小於或等於零,則佇列大小為無限。" | ||
#: ../../library/queue.rst:54 | ||
msgid "" | ||
@@ -89,54 +111,73 @@ msgid "" | ||
"consumed. If *maxsize* is less than or equal to zero, the queue size is " | ||
"infinite." | ||
msgstr "" | ||
"優先佇列的建構子。*maxsize* 是一個整數,用於設置佇列中可放置的項目數的上限。" | ||
"一旦達到此大小,插入將被阻塞,直到佇列中的項目被消耗。如果 *maxsize* 小於或等" | ||
"於零,則佇列大小為無限。" | ||
#: ../../library/queue.rst:59 | ||
msgid "" | ||
"The lowest valued entries are retrieved first (the lowest valued entry is " | ||
"the one returned by ``sorted(list(entries))[0]``). A typical pattern for " | ||
"entries is a tuple in the form: ``(priority_number, data)``." | ||
msgstr "" | ||
"最低值的條目會最先被取出(最低值的條目是被 ``sorted(list(entries))[0]`` 回傳" | ||
"的)。條目的典型模式是格式為 ``(priority_number, data)`` 的 tuple(元組)。" | ||
#: ../../library/queue.rst:63 | ||
msgid "" | ||
"If the *data* elements are not comparable, the data can be wrapped in a " | ||
"class that ignores the data item and only compares the priority number::" | ||
msgstr "" | ||
"如果 *data* 元素為不可比較的,則可以將資料包裝在一個 class 中,該 class 忽略" | ||
"資料項目並僅比較優先數:\n" | ||
"\n" | ||
"::" | ||
#: ../../library/queue.rst:76 | ||
msgid "" | ||
"Constructor for an unbounded :abbr:`FIFO (first-in, first-out)` queue. " | ||
"Simple queues lack advanced functionality such as task tracking." | ||
msgstr "" | ||
"無界的 :abbr:`FIFO (first-in, first-out)` 佇列的建構子。簡單佇列缺少任務追蹤" | ||
"等進階功能。" | ||
#: ../../library/queue.rst:84 | ||
msgid "" | ||
"Exception raised when non-blocking :meth:`~Queue.get` (or :meth:`~Queue." | ||
"get_nowait`) is called on a :class:`Queue` object which is empty." | ||
msgstr "" | ||
"當對一個空的 :class:`Queue` 物件呼叫非阻塞的 (non-blocking) :meth:`~Queue." | ||
"get`\\ (或 :meth:`~Queue.get_nowait`\\ )將引發此例外。" | ||
#: ../../library/queue.rst:91 | ||
msgid "" | ||
"Exception raised when non-blocking :meth:`~Queue.put` (or :meth:`~Queue." | ||
"put_nowait`) is called on a :class:`Queue` object which is full." | ||
msgstr "" | ||
"當對一個已滿的 :class:`Queue` 物件呼叫非阻塞的 :meth:`~Queue.put`\\ (或 :" | ||
"meth:`~Queue.put_nowait`\\ )將引發此例外。" | ||
#: ../../library/queue.rst:99 | ||
msgid "Queue Objects" | ||
msgstr "佇列物件" | ||
#: ../../library/queue.rst:101 | ||
msgid "" | ||
"Queue objects (:class:`Queue`, :class:`LifoQueue`, or :class:" | ||
"`PriorityQueue`) provide the public methods described below." | ||
msgstr "" | ||
"佇列物件(:class:`Queue`、:class:`LifoQueue`、:class:`PriorityQueue`)提供下" | ||
"面描述的公用 method。" | ||
#: ../../library/queue.rst:107 | ||
msgid "" | ||
"Return the approximate size of the queue. Note, qsize() > 0 doesn't " | ||
"guarantee that a subsequent get() will not block, nor will qsize() < maxsize " | ||
"guarantee that put() will not block." | ||
msgstr "" | ||
"回傳佇列的近似大小。注意,qsize() > 0 並不能保證後續的 get() 不會阻塞," | ||
"qsize() < maxsize 也不會保證 put() 不會阻塞。" | ||
#: ../../library/queue.rst:114 | ||
msgid "" | ||
@@ -145,6 +186,9 @@ msgid "" | ||
"not block. Similarly, if empty() returns ``False`` it doesn't guarantee " | ||
"that a subsequent call to get() will not block." | ||
msgstr "" | ||
"如果佇列為空,則回傳 ``True``,否則回傳 ``False``。如果 empty() 回傳 " | ||
"``True``,則不保證後續呼叫 put() 不會阻塞。同樣,如果 empty() 回傳 " | ||
"``False``,則不保證後續呼叫 get() 不會阻塞。" | ||
#: ../../library/queue.rst:122 | ||
msgid "" | ||
@@ -153,6 +197,9 @@ msgid "" | ||
"not block. Similarly, if full() returns ``False`` it doesn't guarantee that " | ||
"a subsequent call to put() will not block." | ||
msgstr "" | ||
"如果佇列已滿,則回傳 ``True`` ,否則回傳 ``False``。如果 full() 回傳 " | ||
"``True``,則不保證後續呼叫 get() 不會阻塞。同樣,如果 full() 回傳 ``False``," | ||
"則不保證後續呼叫 put() 不會阻塞。" | ||
#: ../../library/queue.rst:130 | ||
msgid "" | ||
@@ -164,10 +211,15 @@ msgid "" | ||
"is immediately available, else raise the :exc:`Full` exception (*timeout* is " | ||
"ignored in that case)." | ||
msgstr "" | ||
"將 *item* 放入佇列中。如果可選的 args *block* 為 true、*timeout* 為 ``None``" | ||
"\\ (預設值),則在必要時阻塞,直到自由槽 (free slot) 可用。如果 *timeout* 為" | ||
"正數,則最多阻塞 *timeout* 秒,如果該時間內沒有可用的自由槽,則會引發 :exc:" | ||
"`Full` 例外。否則(*block* 為 false),如果自由槽立即可用,則將項目放在佇列" | ||
"中,否則引發 :exc:`Full` 例外(在這種情況下,*timeout* 將被忽略)。" | ||
#: ../../library/queue.rst:141 | ||
msgid "Equivalent to ``put(item, block=False)``." | ||
msgstr "等效於 ``put(item, block=False)``。" | ||
#: ../../library/queue.rst:146 | ||
msgid "" | ||
@@ -179,6 +231,11 @@ msgid "" | ||
"immediately available, else raise the :exc:`Empty` exception (*timeout* is " | ||
"ignored in that case)." | ||
msgstr "" | ||
"從佇列中移除並回傳一個項目。如果可選的 args *block* 為 true,且 *timeout* 為 " | ||
"``None``\\ (預設值),則在必要時阻塞,直到有可用的項目。如果 *timeout* 是正" | ||
"數,則最多會阻塞 *timeout* 秒,如果該時間內沒有可用的項目,則會引發 :exc:" | ||
"`Empty` 例外。否則(*block* 為 false),如果立即可用,則回傳一個項目,否則引" | ||
"發 :exc:`Empty` 例外(在這種情況下,*timeout* 將被忽略)。" | ||
#: ../../library/queue.rst:153 | ||
msgid "" | ||
@@ -188,40 +245,49 @@ msgid "" | ||
"can occur, and in particular a SIGINT will not trigger a :exc:" | ||
"`KeyboardInterrupt`." | ||
msgstr "" | ||
"在 POSIX 系統的 3.0 版之前,以及 Windows 的所有版本,如果 *block* 為 true 且 " | ||
"*timeout* 為 ``None``,則此操作將在底層鎖上進入不間斷等待。這意味著不會發生例" | ||
"外,特別是 SIGINT(中斷訊號)不會觸發 :exc:`KeyboardInterrupt`。" | ||
#: ../../library/queue.rst:161 ../../library/queue.rst:268 | ||
msgid "Equivalent to ``get(False)``." | ||
msgstr "等效於 ``get(False)``。" | ||
#: ../../library/queue.rst:163 | ||
msgid "" | ||
"Two methods are offered to support tracking whether enqueued tasks have been " | ||
"fully processed by daemon consumer threads." | ||
msgstr "" | ||
"有兩個 method 可以支援追蹤放入佇列的任務是否已由常駐消費者執行緒 (daemon " | ||
"consumer threads) 完全處理。" | ||
#: ../../library/queue.rst:169 | ||
msgid "" | ||
"Indicate that a formerly enqueued task is complete. Used by queue consumer " | ||
"threads. For each :meth:`get` used to fetch a task, a subsequent call to :" | ||
"meth:`task_done` tells the queue that the processing on the task is complete." | ||
msgstr "" | ||
"表示先前放入佇列的任務已完成。由佇列消費者執行緒使用。對於用來提取任務的每" | ||
"個 :meth:`get`,隨後呼叫 :meth:`task_done` 告訴佇列任務的處理已完成。" | ||
#: ../../library/queue.rst:173 | ||
msgid "" | ||
"If a :meth:`join` is currently blocking, it will resume when all items have " | ||
"been processed (meaning that a :meth:`task_done` call was received for every " | ||
"item that had been :meth:`put` into the queue)." | ||
msgstr "" | ||
"如果目前 :meth:`join` 阻塞,它將會在所有項目都已處理完畢後恢復(代表對於以 :" | ||
"meth:`put` 放進佇列的每個項目,都要收到 :meth:`task_done` 的呼叫)。" | ||
#: ../../library/queue.rst:177 | ||
msgid "" | ||
"Raises a :exc:`ValueError` if called more times than there were items placed " | ||
"in the queue." | ||
msgstr "如果呼叫次數超過佇列中放置的項目數量,則引發 :exc:`ValueError`。" | ||
#: ../../library/queue.rst:183 | ||
msgid "Blocks until all items in the queue have been gotten and processed." | ||
msgstr "持續阻塞直到佇列中的所有項目都已被獲取並處理完畢。" | ||
#: ../../library/queue.rst:185 | ||
msgid "" | ||
@@ -231,10 +297,16 @@ msgid "" | ||
"complete. When the count of unfinished tasks drops to zero, :meth:`join` " | ||
"unblocks." | ||
msgstr "" | ||
"每當項目被加到佇列中時,未完成任務的計數都會增加。每當消費者執行緒呼叫 :meth:" | ||
"`task_done` 以指示該項目已被取出並且對其的所有工作都已完成時,計數就會下降。" | ||
"當未完成任務的計數降至零時,:meth:`join` 將停止阻塞。" | ||
#: ../../library/queue.rst:191 | ||
msgid "Example of how to wait for enqueued tasks to be completed::" | ||
msgstr "" | ||
"如何等待放入佇列的任務完成的範例:\n" | ||
"\n" | ||
"::" | ||
#: ../../library/queue.rst:218 | ||
msgid "SimpleQueue Objects" | ||
@@ -243,20 +315,23 @@ msgstr "SimpleQueue 物件" | ||
#: ../../library/queue.rst:220 | ||
msgid "" | ||
":class:`SimpleQueue` objects provide the public methods described below." | ||
msgstr ":class:`SimpleQueue` 物件提供下面描述的公用 method。" | ||
#: ../../library/queue.rst:224 | ||
msgid "" | ||
"Return the approximate size of the queue. Note, qsize() > 0 doesn't " | ||
"guarantee that a subsequent get() will not block." | ||
msgstr "" | ||
"傳回佇列的近似大小。注意,qsize() > 0 並不能保證後續的 get() 不會阻塞。" | ||
#: ../../library/queue.rst:230 | ||
msgid "" | ||
"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " | ||
"returns ``False`` it doesn't guarantee that a subsequent call to get() will " | ||
"not block." | ||
msgstr "" | ||
"如果佇列為空,則回傳 ``True``,否則回傳 ``False``。如果 empty() 回傳 " | ||
"``False``,則不保證後續呼叫 get() 不會阻塞。" | ||
#: ../../library/queue.rst:237 | ||
msgid "" | ||
@@ -265,12 +340,29 @@ msgid "" | ||
"The optional args *block* and *timeout* are ignored and only provided for " | ||
"compatibility with :meth:`Queue.put`." | ||
msgstr "" | ||
"將 *item* 放入佇列中。此 method 從不阻塞,並且都會成功(除了潛在的低階錯誤," | ||
"像是分配記憶體失敗)。可選的 args *block* 和 *timeout* 會被忽略,它們僅是為了" | ||
"與 :meth:`Queue.put` 相容才存在。" | ||
allen91wu marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
#: ../../library/queue.rst:243 | ||
msgid "" | ||
"This method has a C implementation which is reentrant. That is, a ``put()`` " | ||
"or ``get()`` call can be interrupted by another ``put()`` call in the same " | ||
"thread without deadlocking or corrupting internal state inside the queue. " | ||
"This makes it appropriate for use in destructors such as ``__del__`` methods " | ||
"or :mod:`weakref` callbacks." | ||
msgstr "" | ||
"此 method 有一個可重入 (reentrant) 的 C 實作。意思就是,一個 ``put()`` 或 " | ||
"``get()`` 呼叫,可以被同一執行緒中的另一個 ``put()`` 呼叫中斷,而不會造成死" | ||
"鎖 (deadlock) 或損壞佇列中的內部狀態。這使得它適合在解構子 (destructor) 中使" | ||
"用,像是 ``__del__`` method 或 :mod:`weakref` 回呼函式 (callback)。" | ||
#: ../../library/queue.rst:252 | ||
msgid "" | ||
"Equivalent to ``put(item, block=False)``, provided for compatibility with :" | ||
"meth:`Queue.put_nowait`." | ||
msgstr "" | ||
"等效於 ``put(item, block=False)``,用於與 :meth:`Queue.put_nowait` 相容。" | ||
#: ../../library/queue.rst:258 | ||
msgid "" | ||
@@ -282,16 +374,23 @@ msgid "" | ||
"immediately available, else raise the :exc:`Empty` exception (*timeout* is " | ||
"ignored in that case)." | ||
msgstr "" | ||
"從佇列中移除並回傳一個項目。如果可選的 args *block* 為 true,且 *timeout* 為 " | ||
"``None``\\ (預設值),則在必要時阻塞,直到有可用的項目。如果 *timeout* 是正" | ||
"數,則最多會阻塞 *timeout* 秒,如果該時間內沒有可用的項目,則會引發 :exc:" | ||
"`Empty` 例外。否則(*block* 為 false),如果立即可用,則回傳一個項目,否則引" | ||
"發 :exc:`Empty` 例外(在這種情況下,*timeout* 將被忽略)。" | ||
#: ../../library/queue.rst:275 | ||
msgid "Class :class:`multiprocessing.Queue`" | ||
msgstr "Class:class:`multiprocessing.Queue`" | ||
#: ../../library/queue.rst:274 | ||
msgid "" | ||
"A queue class for use in a multi-processing (rather than multi-threading) " | ||
"context." | ||
msgstr "" | ||
"用於多行程處理 (multi-processing)(而非多執行緒)情境 (context) 的佇列 " | ||
"class。" | ||
#: ../../library/queue.rst:277 | ||
msgid "" | ||
@@ -300,3 +399,6 @@ msgid "" | ||
"`~collections.deque.popleft` operations that do not require locking and also " | ||
"support indexing." | ||
msgstr "" | ||
":class:`collections.deque` 是無界佇列的替代實作,有快速且具原子性 (atomic) " | ||
"的 :meth:`~collections.deque.append` 和 :meth:`~collections.deque.popleft` 操" | ||
"作,這些操作不需要鎖定,並且還支持索引。" |
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.