diff --git a/library/intro.po b/library/intro.po index 8903ef0ee0..47dbbae17b 100644 --- a/library/intro.po +++ b/library/intro.po @@ -71,7 +71,7 @@ msgid "" "when Python was compiled and installed." msgstr "" "整個函式庫中包含了許多模組,有許多方法可以從函式庫中取用這些模組。有些模組是" -"以 C 語言撰寫並建置於 Python 編譯器之中,其他的是由 Python 撰寫並以源碼的方" +"以 C 語言撰寫並建置於 Python 直譯器之中,其他的是由 Python 撰寫並以源碼的方" "式 (source form) 引入。有些模組提供的功能是專屬於 Python 的,像是把 stack " "trace 印出來;有些則是針對特定作業系統,去試著存取特定硬體;還有些提供對特定" "應用的功能與操作介面,像是 World Wide Web。模組的使用情況會因機器與 Python 的" @@ -142,6 +142,9 @@ msgid "" "note *Availability: Linux >= 3.17 with glibc >= 2.27* requires both Linux " "3.17 or newer and glibc 2.27 or newer." msgstr "" +"如果可用性標註同時包含最低核心 (Kernel) 版本及最低 libc 版本,則兩項條件" +"必須同時符合。例如,標註為 *適用:Linux >= 3.17 與 glibc >= 2.27* 的功能" +"需要 Linux 3.17 或更新版本以及 glibc 2.27 或更新版本。" #: ../../library/intro.rst:71 msgid "WebAssembly platforms" @@ -160,6 +163,14 @@ msgid "" "Other blocking operations like :func:`~time.sleep` block the browser event " "loop." msgstr "" +"`WebAssembly`_ 平台 ``wasm32-emscripten`` (`Emscripten`_) 及 " +"``wasm32-wasi`` (`WASI`_) 提供一組 POSIX API 的子集。WebAssembly 執行環境 " +"(runtime) 與瀏覽器均採用沙盒機制,並限制對主機與外部資源的存取。任何使用到" +"行程 (process)、執行緒 (threading)、網路、訊號 (signal) 或其他形式行程間通" +"訊 (IPC) 的 Python 標準函式庫模組,皆可能無法使用,或無法像在其他類 Unix " +"系統上正常運作。檔案 I/O、檔案系統以及與 Unix 權限相關的函式亦有限制。" +"Emscripten 不允許阻塞式 (blocking) I/O。其他阻塞操作(如 :func:" +"`~time.sleep`)則會阻塞瀏覽器的事件迴圈 (event loop)。" #: ../../library/intro.rst:83 msgid "" @@ -169,6 +180,10 @@ msgid "" "are evolving standards; some features like networking may be supported in " "the future." msgstr "" +"Python 在 WebAssembly 平台上的特性與行為取決於 `Emscripten`_-SDK 或 " +"`WASI`_-SDK 的版本、WASM 執行環境(瀏覽器、NodeJS、`wasmtime`_)以及 " +"Python 的編譯時期 (build time) 旗標。WebAssembly、Emscripten 及 WASI 均為" +"不斷演進中的標準;某些功能(如網路)未來可能獲得支援。" #: ../../library/intro.rst:89 msgid "" @@ -178,6 +193,10 @@ msgid "" "as well as limited networking capabilities with JavaScript's " "``XMLHttpRequest`` and ``Fetch`` APIs." msgstr "" +"若要在瀏覽器中使用 Python,使用者應考慮 `Pyodide`_ 或 `PyScript`_。" +"PyScript 建構於 Pyodide 之上,而 Pyodide 本身則建構於 CPython 與 " +"Emscripten 之上。Pyodide 提供存取瀏覽器 JavaScript 與 DOM API 的管道,並" +"透過 JavaScript 的 ``XMLHttpRequest`` 與 ``Fetch`` API 提供有限的網路功能。" #: ../../library/intro.rst:95 msgid "" @@ -187,6 +206,10 @@ msgid "" "kill`), or otherwise interact with processes. The :mod:`subprocess` is " "importable but does not work." msgstr "" +"與行程 (process) 相關的 API 皆無法使用,或一律回傳錯誤。這包含建立新行程(" +":func:`~os.fork`、:func:`~os.execve`)、等待行程(:func:`~os.waitpid`)、" +"發送訊號(:func:`~os.kill`)或以其他方式與行程互動的 API。雖然可以引入 " +"(import) :mod:`subprocess` 模組,但它無法正常運作。" #: ../../library/intro.rst:101 msgid "" @@ -197,12 +220,17 @@ msgid "" "information. WASI snapshot preview 1 only permits sockets from an existing " "file descriptor." msgstr "" +":mod:`socket` 模組雖可使用,但功能受限且行為與其他平台不同。在 Emscripten " +"上,socket 一律為 non-blocking,且需要在伺服器端搭配額外的 JavaScript 程" +"式碼與輔助工具來透過 WebSocket 代理 TCP;詳情請參閱 `Emscripten " +"Networking`_。WASI 快照預覽 1 (snapshot preview 1) 僅允許透過現有的檔案描" +"述器 (file descriptor) 使用 socket。" #: ../../library/intro.rst:108 msgid "" "Some functions are stubs that either don't do anything and always return " "hardcoded values." -msgstr "" +msgstr "部分函式僅為虛設常式 (stub),它們不執行任何操作,且一律回傳固定的 (hardcoded) 數值。" #: ../../library/intro.rst:111 msgid "" @@ -210,6 +238,8 @@ msgid "" "links are limited and don't support some operations. For example, WASI does " "not permit symlinks with absolute file names." msgstr "" +"與檔案描述器 (file descriptor)、檔案權限、檔案所有權及連結相關的函式均受限" +",且不支援某些操作。例如,WASI 不允許使用絕對路徑檔名的符號連結 (symlink)。" #: ../../library/intro.rst:127 msgid "Mobile platforms" @@ -221,6 +251,9 @@ msgid "" "socket handling, and threading all behave as they would on any POSIX " "operating system. However, there are several major differences:" msgstr "" +"在大多數方面,Android 與 iOS 皆屬於 POSIX 作業系統。檔案 I/O、socket 處理" +"及執行緒 (threading) 的行為均與任何 POSIX 作業系統相同。然而,兩者仍有幾項" +"重大差異。" #: ../../library/intro.rst:133 msgid "" @@ -230,10 +263,14 @@ msgid "" "use the :ref:`Python embedding API `. For more details, see :ref:" "`using-android` and :ref:`using-ios`." msgstr "" +"行動平台僅能以「嵌入 (embedded)」模式使用 Python。這些平台不提供 Python " +"REPL,也無法使用獨立的可執行檔(如 :program:`python` 或 :program:`pip`)" +"。若要在行動應用程式中加入 Python 程式碼,您必須使用 :ref:`Python 嵌入 " +"API `。詳情請參閱 :ref:`using-android` 與 :ref:`using-ios`。" #: ../../library/intro.rst:139 msgid "Subprocesses:" -msgstr "" +msgstr "子行程 (Subprocess):" #: ../../library/intro.rst:141 msgid "" @@ -242,6 +279,10 @@ msgid "" "particular, Android does not support any part of the System V IPC API, so :" "mod:`multiprocessing` is not available." msgstr "" +"在 Android 上雖可建立子行程 (subprocess),但 `官方並不支援 " +"`__。具體而言" +",Android 不支援 System V IPC API 的任何部分,因此無法使用 " +":mod:`multiprocessing` 模組。" #: ../../library/intro.rst:146 msgid "" @@ -252,6 +293,10 @@ msgid "" "communicate with other running applications, outside of the iOS-specific " "APIs that exist for this purpose." msgstr "" +"iOS 應用程式無法使用任何形式的子行程、多行程 (multiprocessing) 或行程間通" +"訊 (IPC)。若 iOS 應用程式嘗試建立子行程,該發起動作的行程將會卡死或崩潰。" +"除了 iOS 專用的 API 外,iOS 應用程式無法得知其他正在執行的應用程式,也無法" +"與其進行通訊。" #: ../../library/intro.rst:153 msgid "" @@ -259,10 +304,12 @@ msgid "" "system clock). These resources will often be *readable*, but attempts to " "modify those resources will usually fail." msgstr "" +"行動應用程式修改系統資源(如系統時鐘)的權限有限。這類資源通常 *可供讀取* " +",但嘗試修改時多半會失敗。" #: ../../library/intro.rst:157 msgid "Console input and output:" -msgstr "" +msgstr "主控台 (Console) 輸入與輸出:" #: ../../library/intro.rst:159 msgid "" @@ -271,6 +318,9 @@ msgid "" "system log. These can be seen under the tags ``python.stdout`` and ``python." "stderr`` respectively." msgstr "" +"在 Android 上,原生的 ``stdout`` 與 ``stderr`` 未導向至任何地方,因此 " +"Python 會安裝自有的串流 (stream),將訊息重新導向至系統日誌。您可以分別在 " +"``python.stdout`` 與 ``python.stderr`` 標籤下查看這些訊息。" #: ../../library/intro.rst:164 msgid "" @@ -281,6 +331,10 @@ msgid "" "a diagnostic aid, they will not include any detail written to ``stdout`` or " "``stderr``." msgstr "" +"iOS 應用程式的主控台輸出功能有限。雖然 ``stdout`` 與 ``stderr`` *確實存" +"在*,且在 Xcode 中執行時可看見寫入其中的內容,但這些內容 *不會* 記錄在系統" +"日誌中。若使用者提供應用程式日誌作為診斷輔助,其中並不會包含任何寫入 " +"``stdout`` 或 ``stderr`` 的細節。" #: ../../library/intro.rst:171 msgid "" @@ -288,9 +342,11 @@ msgid "" "screen keyboard, this is a software feature, not something that is attached " "to ``stdin``." msgstr "" +"行動應用程式完全沒有可用的 ``stdin``。雖然應用程式可以顯示螢幕鍵盤,但那" +"是軟體功能,並未連接至 ``stdin``。" #: ../../library/intro.rst:175 msgid "" "As a result, Python modules that involve console manipulation (such as :mod:" "`curses` and :mod:`readline`) are not available on mobile platforms." -msgstr "" +msgstr "因此,涉及主控台操作的 Python 模組(如 :mod:`curses` 與 :mod:`readline`)在行動平台上均無法使用。"