From f1d706d5946e9726d4adffe6b2be6a7fe0dad4d9 Mon Sep 17 00:00:00 2001 From: Matt Wang Date: Mon, 28 Oct 2024 22:31:44 +0800 Subject: [PATCH] wip --- library/code.po | 104 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 13 deletions(-) diff --git a/library/code.po b/library/code.po index b424c1a11c..9c68ca10f3 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-2024, Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: +# Matt Wang , 2024 msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-09-23 07:52+0800\n" -"PO-Revision-Date: 2018-05-23 14:40+0000\n" -"Last-Translator: Adrian Liaw \n" +"PO-Revision-Date: 2024-10-28 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" @@ -27,13 +27,17 @@ msgid "**Source code:** :source:`Lib/code.py`" msgstr "**原始碼:**\\ :source:`Lib/code.py`" #: ../../library/code.rst:11 +#, fuzzy msgid "" "The ``code`` module provides facilities to implement read-eval-print loops " "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 環路的設施。包含兩個類別和" +"便利函式,可用於建立提供互動式直譯器提示的應用程式。" #: ../../library/code.rst:18 +#, fuzzy msgid "" "This class deals with parsing and interpreter state (the user's namespace); " "it does not deal with input buffering or prompting or input file naming (the " @@ -42,6 +46,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:28 msgid "" @@ -51,11 +59,14 @@ 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:34 ../../library/code.rst:52 -#, fuzzy msgid "Added *local_exit* parameter." -msgstr "新增 *exitmsg* 參數。" +msgstr "新增 *local_exit* 參數。" #: ../../library/code.rst:39 msgid "" @@ -69,12 +80,21 @@ 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:49 msgid "Added *exitmsg* parameter." msgstr "新增 *exitmsg* 參數。" #: ../../library/code.rst:57 +#, fuzzy 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 " @@ -83,6 +103,10 @@ msgid "" "syntax error). This function *almost* always makes the same decision as the " "real interpreter main loop." msgstr "" +"這個函式對於想要模擬 Python 的直譯器主迴圈(即 the read-eval-print 迴圈)的程" +"式很有用。最棘手的部分是判斷使用者何時輸入了一個不完整的命令,而這個命令可以" +"透過輸入更多文字來完成(相對於完整的命令或語法錯誤)。這個函式\\ *幾乎*\\ 總" +"是做出與真正的直譯器主迴圈相同的判斷。" #: ../../library/code.rst:64 msgid "" @@ -91,6 +115,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:69 msgid "" @@ -100,10 +127,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:79 msgid "Interactive Interpreter Objects" -msgstr "" +msgstr "互動式直譯器物件" #: ../../library/code.rst:84 msgid "" @@ -111,6 +142,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:88 msgid "" @@ -119,12 +153,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:93 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:96 msgid "" @@ -133,12 +172,15 @@ 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 "" +msgstr "回傳值可用來決定是使用 ``sys.ps1`` 還是 ``sys.ps2`` 以提示下一列。" #: ../../library/code.rst:106 msgid "" @@ -146,6 +188,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:110 msgid "" @@ -153,8 +197,11 @@ msgid "" "this code, and may not always be caught. The caller should be prepared to " "deal with it." msgstr "" +"關於 :exc:`KeyboardInterrupt` 的注意事項:此例外可能發生在此程式碼的其他地" +"方,而且不一定會被捕獲到。呼叫者應該準備好處理它。" #: ../../library/code.rst:117 +#, fuzzy 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 " @@ -162,19 +209,26 @@ msgid "" "Python's parser, because it always uses ``''`` when reading from a " "string. The output is written by the :meth:`write` method." msgstr "" +"顯示剛剛發生的語法錯誤。這不會顯示堆疊追蹤,因為語法錯誤沒有堆疊追蹤。如果給" +"出 *filename*,它會被塞入例外,而不是 Python 剖析器提供的預設檔案名稱,因為它" +"從字串讀取時總是使用 ``''``。輸出會被 :meth:`write` 方法寫入。" #: ../../library/code.rst:126 +#, fuzzy 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:130 +#, fuzzy msgid "" "The full chained traceback is displayed instead of just the primary " "traceback." -msgstr "" +msgstr "會顯示完整的連鎖追蹤記錄,而不只是主要追蹤記錄。" #: ../../library/code.rst:136 msgid "" @@ -182,19 +236,25 @@ msgid "" "classes should override this to provide the appropriate output handling as " "needed." msgstr "" +"寫入字串到標準錯誤串流 (``sys.stderr``)。衍生類別應覆寫此功能,以根據需求提供" +"適當的輸出處理。" #: ../../library/code.rst:143 msgid "Interactive Console Objects" -msgstr "" +msgstr "互動式控制台物件" #: ../../library/code.rst:145 +#, fuzzy 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:152 +#, fuzzy msgid "" "Closely emulate the interactive Python console. The optional *banner* " "argument specify the banner to print before the first interaction; by " @@ -203,23 +263,30 @@ msgid "" "(so as not to confuse this with the real interpreter -- since it's so " "close!)." msgstr "" +"近似地模擬互動式 Python 控制台。可選的 *banner* 引數指定在第一次互動之前要印" +"出的 banner;預設會印出類似標準 Python 直譯器所列印的 banner,接著是控制台物" +"件在括弧中的類別名稱 (以免與真正的直譯器混淆 -- 因為它是如此接近!)。" #: ../../library/code.rst:158 +#, fuzzy 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:162 msgid "To suppress printing any banner, pass an empty string." -msgstr "" +msgstr "若要抑制印出任何橫幅,請傳入空字串。" #: ../../library/code.rst:165 msgid "Print an exit message when exiting." -msgstr "" +msgstr "退出時印出退出訊息。" #: ../../library/code.rst:171 +#, fuzzy 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 " @@ -231,15 +298,26 @@ msgid "" "is required, ``False`` if the line was dealt with in some way (this is the " "same as :meth:`!runsource`)." msgstr "" +"推送一列原始文字到直譯器。這一列不應該有尾部換行;它可能有內部換行。這列文字" +"會被附加到緩衝區,並且直譯器的 :meth:`~InteractiveInterpreter.runsource` 方法" +"會被呼叫,並以緩衝區的串接內容做為原始碼。如果這表示命令已執行或無效,緩衝區" +"會被重設;否則,命令不完整,緩衝區會保持該行被附加後的樣子。如果需要更多的輸" +"入,回傳值是 ``True``,如果該行已經以某種方式處理,回傳值是 ``False``(這與 :" +"meth:`!runsource` 相同)。" #: ../../library/code.rst:183 +#, fuzzy msgid "Remove any unhandled source text from the input buffer." -msgstr "" +msgstr "從輸入緩衝區移除任何未處理的來源文字。" #: ../../library/code.rst:188 +#, fuzzy 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:`EFError`。基本實作從 ``sys.stdin`` 讀取;子類別可以用不同的實作" +"取代。"