diff --git a/library/code.po b/library/code.po index c8693449e1..108750d790 100644 --- a/library/code.po +++ b/library/code.po @@ -1,15 +1,15 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2022, Python Software Foundation +# Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: +# Matt Wang , 2025 msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-06-27 07:36+0000\n" -"PO-Revision-Date: 2018-05-23 14:40+0000\n" -"Last-Translator: Adrian Liaw \n" +"PO-Revision-Date: 2025-07-13 14:40+0000\n" +"Last-Translator: Matt Wang \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" @@ -32,6 +32,8 @@ msgid "" "in Python. Two classes and convenience functions are included which can be " "used to build applications which provide an interactive interpreter prompt." msgstr "" +"``code`` 模組提供在 Python 中實作讀取-求值-印出迴圈(read-eval-print loops)的" +"設施。包含兩個類別和便利函式,可用於建立提供互動式直譯器提示的應用程式。" #: ../../library/code.rst:18 msgid "" @@ -42,6 +44,10 @@ msgid "" "it defaults to a newly created dictionary with key ``'__name__'`` set to " "``'__console__'`` and key ``'__doc__'`` set to ``None``." msgstr "" +"這個類別處理剖析和直譯器狀態(使用者的命名空間);它不處理輸入緩衝、提示或輸" +"入檔案命名(檔案名稱總是明確傳入)。可選的 *locals* 引數指定一個對映,作為執" +"行程式碼的命名空間;它預設為新建立的字典,鍵 ``'__name__'`` 設為 " +"``'__console__'`` 而鍵 ``'__doc__'`` 會設為 ``None``。" #: ../../library/code.rst:25 msgid "" @@ -50,6 +56,9 @@ msgid "" "*locals*. They are only pickleable if *locals* is the namespace of an " "existing module." msgstr "" +"請注意,在 :class:`!InteractiveInterpreter` 實例下建立的函式和類別物件將屬於" +"由 *locals* 指定的命名空間。只有當 *locals* 是現有模組的命名空間時,它們才會" +"是可被 pickle 的。" #: ../../library/code.rst:34 msgid "" @@ -59,6 +68,10 @@ msgid "" "is true, ``exit()`` and ``quit()`` in the console will not raise :exc:" "`SystemExit`, but instead return to the calling code." msgstr "" +"近似地模擬出互動式 Python 直譯器的行為。這個類別建立" +"在 :class:`InteractiveInterpreter` 的基礎上,並加入使用熟悉的 ``sys.ps1`` 和 " +"``sys.ps2`` 的提示,以及輸入緩衝。如果 *local_exit* 為 true,控制台中的 " +"``exit()`` 和 ``quit()`` 將不會引發 :exc:`SystemExit`,而是回傳到呼叫程式碼。" #: ../../library/code.rst:40 ../../library/code.rst:58 msgid "Added *local_exit* parameter." @@ -76,12 +89,20 @@ msgid "" "*banner* and *exitmsg* passed as the banner and exit message to use, if " "provided. The console object is discarded after use." msgstr "" +"執行 read-eval-print 迴圈的便利函式。這會建立一" +"個 :class:`InteractiveConsole` 的新實例,並設定 *readfunc* 以用" +"於 :meth:`InteractiveConsole.raw_input` 方法(如有提供)。如果 *local* 有被提" +"供,它會被傳給 :class:`InteractiveConsole` 的建構函式以作為直譯器迴圈的預設命" +"名空間。如果有提供 *local_exit*,它會被傳給 :class:`InteractiveConsole` 構建" +"函式。然後實例的 :meth:`~InteractiveConsole.interact` 方法會執行,並傳入 " +"*banner* 和 *exitmsg* 以作為要使用的橫幅和退出訊息(如有提供)。控制台物件在" +"使用後就會被丟棄。" #: ../../library/code.rst:55 msgid "Added *exitmsg* parameter." msgstr "新增 *exitmsg* 參數。" -#: ../../library/code.rst:63 +#: ../../library/code.rst:57 msgid "" "This function is useful for programs that want to emulate Python's " "interpreter main loop (a.k.a. the read-eval-print loop). The tricky part is " @@ -90,6 +111,10 @@ msgid "" "syntax error). This function *almost* always makes the same decision as the " "real interpreter main loop." msgstr "" +"這個函式對於想要模擬 Python 的直譯器主迴圈(即讀取-求值-印出迴圈)的程式很有" +"用。最棘手的部分是判斷使用者何時輸入了一個不完整的命令,而這個命令可以透過輸" +"入更多文字來完成(相對於完整的命令或語法錯誤)。這個函式\\ *幾乎*\\ 總是做出" +"與真正的直譯器主迴圈相同的判斷。" #: ../../library/code.rst:70 msgid "" @@ -98,6 +123,9 @@ msgid "" "optional grammar start symbol, which should be ``'single'`` (the default), " "``'eval'`` or ``'exec'``." msgstr "" +"*source* 是來源字串;*filename* 是讀取來源的可選檔案名稱,預設為 " +"``''``;*symbol* 是可選的文法 (grammar) 起始符號,其應為 " +"``'single'``\\ (預設值)、``'eval'`` 或 ``'exec'``。" #: ../../library/code.rst:75 msgid "" @@ -107,10 +135,14 @@ msgid "" "error, or raises :exc:`OverflowError` or :exc:`ValueError` if the command " "contains an invalid literal." msgstr "" +"如果命令完整且有效,則回傳程式碼物件(與 ``compile(source,filename,symbol)`` " +"相同);如果命令不完整,則回傳 ``None``;如果命令完整但包含語法錯誤,則引" +"發 :exc:`SyntaxError`,如果命令包含無效的字面值 (literal),則引" +"發 :exc:`OverflowError` 或 :exc:`ValueError`。" #: ../../library/code.rst:85 msgid "Interactive Interpreter Objects" -msgstr "" +msgstr "互動式直譯器物件" #: ../../library/code.rst:90 msgid "" @@ -118,6 +150,9 @@ msgid "" "for :func:`compile_command`; the default for *filename* is ``''``, " "and for *symbol* is ``'single'``. One of several things can happen:" msgstr "" +"在直譯器中編譯並執行某些原始碼。引數與 :func:`compile_command` 相同;" +"*filename* 的預設值是 ``''``,*symbol* 的預設值是 ``'single'``。有幾種" +"情況會發生:" #: ../../library/code.rst:94 msgid "" @@ -126,12 +161,17 @@ msgid "" "by calling the :meth:`showsyntaxerror` method. :meth:`runsource` returns " "``False``." msgstr "" +"輸入不正確;:func:`compile_command` 會引發例外(:exc:`SyntaxError` " +"或 :exc:`OverflowError`)。語法回溯 (syntax traceback) 會透過呼" +"叫 :meth:`showsyntaxerror` 方法來印出。:meth:`runsource` 會回傳 ``False``。" #: ../../library/code.rst:99 msgid "" "The input is incomplete, and more input is required; :func:`compile_command` " "returned ``None``. :meth:`runsource` returns ``True``." msgstr "" +"輸入不完整,需要更多輸入;:func:`compile_command` 回傳了 " +"``None``。:meth:`runsource` 會回傳 ``True``。" #: ../../library/code.rst:102 msgid "" @@ -140,12 +180,21 @@ msgid "" "exceptions, except for :exc:`SystemExit`). :meth:`runsource` returns " "``False``." msgstr "" +"輸入完整;:func:`compile_command` 回傳一個程式碼物件。程式碼會透過呼" +"叫 :meth:`runcode` 執行(它也會處理執行時的例外,除 :exc:`SystemExit` 以" +"外)。:meth:`runsource` 會回傳 ``False``。" + +#: ../../library/code.rst:100 +msgid "" +"The return value can be used to decide whether to use ``sys.ps1`` or " +"``sys.ps2`` to prompt the next line." +msgstr "回傳值可用來決定是使用 ``sys.ps1`` 還是 ``sys.ps2`` 以提示下一列。" #: ../../library/code.rst:106 msgid "" "The return value can be used to decide whether to use ``sys.ps1`` or ``sys." "ps2`` to prompt the next line." -msgstr "" +msgstr "回傳值可用來決定是使用 ``sys.ps1`` 還是 ``sys.ps2`` 以提示下一列。" #: ../../library/code.rst:112 msgid "" @@ -153,6 +202,8 @@ msgid "" "called to display a traceback. All exceptions are caught except :exc:" "`SystemExit`, which is allowed to propagate." msgstr "" +"執行程式碼物件。當例外發生時,會呼叫 :meth:`showtraceback` 來顯示回溯。除" +"了 :exc:`SystemExit` 允許繼續傳播之外,所有的例外都會被捕獲。" #: ../../library/code.rst:116 msgid "" @@ -160,8 +211,10 @@ msgid "" "this code, and may not always be caught. The caller should be prepared to " "deal with it." msgstr "" +"關於 :exc:`KeyboardInterrupt` 的注意事項:此例外可能發生在此程式碼的其他地" +"方,而且不一定會被捕獲到。呼叫者應該準備好處理它。" -#: ../../library/code.rst:123 +#: ../../library/code.rst:117 msgid "" "Display the syntax error that just occurred. This does not display a stack " "trace because there isn't one for syntax errors. If *filename* is given, it " @@ -169,19 +222,24 @@ msgid "" "Python's parser, because it always uses ``''`` when reading from a " "string. The output is written by the :meth:`write` method." msgstr "" +"顯示剛剛發生的語法錯誤。這不會顯示堆疊追蹤 (stack trace),因為語法錯誤沒有堆疊追蹤。" +"如果給出 *filename*,它會被塞入例外,而不是 Python 剖析器提供的預設檔案名稱,因為它" +"從字串讀取時總是使用 ``''``。輸出會由 :meth:`write` 方法寫入。" -#: ../../library/code.rst:132 +#: ../../library/code.rst:126 msgid "" "Display the exception that just occurred. We remove the first stack item " "because it is within the interpreter object implementation. The output is " "written by the :meth:`write` method." msgstr "" +"顯示剛剛發生的例外。我們移除第一個堆疊項目,因為它在直譯器物件的實作範圍內。" +"輸出由 :meth:`write` 方法寫入。" -#: ../../library/code.rst:136 +#: ../../library/code.rst:130 msgid "" "The full chained traceback is displayed instead of just the primary " "traceback." -msgstr "" +msgstr "會顯示完整的連鎖回溯記錄,而不只是主要回溯。" #: ../../library/code.rst:142 msgid "" @@ -189,19 +247,23 @@ msgid "" "classes should override this to provide the appropriate output handling as " "needed." msgstr "" +"寫入字串到標準錯誤串流 (``sys.stderr``)。衍生類別應覆寫此功能,以根據需求提供" +"適當的輸出處理。" #: ../../library/code.rst:149 msgid "Interactive Console Objects" -msgstr "" +msgstr "互動式控制台物件" -#: ../../library/code.rst:151 +#: ../../library/code.rst:145 msgid "" "The :class:`InteractiveConsole` class is a subclass of :class:" "`InteractiveInterpreter`, and so offers all the methods of the interpreter " "objects as well as the following additions." msgstr "" +":class:`InteractiveConsole` 類別是 :class:`InteractiveInterpreter` 的子類別," +"因此提供了所有直譯器物件的方法以及下列新增的功能。" -#: ../../library/code.rst:158 +#: ../../library/code.rst:152 msgid "" "Closely emulate the interactive Python console. The optional *banner* " "argument specify the banner to print before the first interaction; by " @@ -210,23 +272,28 @@ msgid "" "(so as not to confuse this with the real interpreter -- since it's so " "close!)." msgstr "" +"近似地模擬互動式 Python 控制台。可選的 *banner* 引數指定在第一次互動之前要印" +"出的横幅;預設會印出類似標準 Python 直譯器所列印的横幅,接著是控制台物" +"件在括弧中的類別名稱 (以免與真正的直譯器混淆 -- 因為它是如此接近!)。" -#: ../../library/code.rst:164 +#: ../../library/code.rst:158 msgid "" "The optional *exitmsg* argument specifies an exit message printed when " "exiting. Pass the empty string to suppress the exit message. If *exitmsg* is " "not given or ``None``, a default message is printed." msgstr "" +"可選的 *exitmsg* 引數指定退出時列印的退出訊息。傳遞空字串以抑制退出訊息。如果" +"沒有給 *exitmsg* 或 ``None``,則會印出預設訊息。" #: ../../library/code.rst:168 msgid "To suppress printing any banner, pass an empty string." -msgstr "" +msgstr "若要抑制印出任何橫幅,請傳入空字串。" #: ../../library/code.rst:171 msgid "Print an exit message when exiting." -msgstr "" +msgstr "退出時印出退出訊息。" -#: ../../library/code.rst:177 +#: ../../library/code.rst:171 msgid "" "Push a line of source text to the interpreter. The line should not have a " "trailing newline; it may have internal newlines. The line is appended to a " @@ -238,15 +305,24 @@ msgid "" "is required, ``False`` if the line was dealt with in some way (this is the " "same as :meth:`!runsource`)." msgstr "" - -#: ../../library/code.rst:189 +"推送一行原始文字到直譯器。這一行不應該有尾部換行符號;它可能有內部換行符號。這行文字" +"會被附加到緩衝區,並且直譯器的 :meth:`~InteractiveInterpreter.runsource` 方法" +"會被呼叫,並以緩衝區的串接內容做為原始碼。如果這表示命令已執行或無效,緩衝區" +"會被重設;否則,命令會不完整,且緩衝區會保持該行被附加後的樣子。如果需要更多的輸" +"入,回傳值是 ``True``,如果該行已經以某種方式處理,回傳值是 ``False``\\ (這" +"與 :meth:`!runsource` 相同)。" + +#: ../../library/code.rst:183 msgid "Remove any unhandled source text from the input buffer." -msgstr "" +msgstr "從輸入緩衝區移除任何未處理的原始文字。" -#: ../../library/code.rst:194 +#: ../../library/code.rst:188 msgid "" "Write a prompt and read a line. The returned line does not include the " "trailing newline. When the user enters the EOF key sequence, :exc:" "`EOFError` is raised. The base implementation reads from ``sys.stdin``; a " "subclass may replace this with a different implementation." msgstr "" +"寫入一個提示並讀取一行。回傳的行不包括尾部的換行符號。當使用者輸入 EOF 鍵序時," +"會引發 :exc:`EOFError`。基底實作會從 ``sys.stdin`` 讀取;子類別可以用不同的實作" +"替代。"