Expand Up @@ -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 的" Expand Down Expand Up @@ -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" Expand All @@ -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 "" Expand All @@ -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 "" Expand All @@ -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 "" Expand All @@ -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 "" Expand All @@ -197,19 +220,26 @@ 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 "" "Functions related to file descriptors, file permissions, file ownership, and " "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" Expand All @@ -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 "" Expand All @@ -230,10 +263,14 @@ msgid "" "use the :ref:`Python embedding API <embedding>`. For more details, see :ref:" "`using-android` and :ref:`using-ios`." msgstr "" "行動平台僅能以「嵌入 (embedded)」模式使用 Python。這些平台不提供 Python " "REPL,也無法使用獨立的可執行檔(如 :program:`python` 或 :program:`pip`)" "。若要在行動應用程式中加入 Python 程式碼,您必須使用 :ref:`Python 嵌入 " "API <embedding>`。詳情請參閱 :ref:`using-android` 與 :ref:`using-ios`。" #: ../../library/intro.rst:139 msgid "Subprocesses:" msgstr "" msgstr "子行程 (Subprocess): " #: ../../library/intro.rst:141 msgid "" Expand All @@ -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),但 `官方並不支援 " "<https://issuetracker.google.com/issues/128554619#comment4>`__。具體而言" ",Android 不支援 System V IPC API 的任何部分,因此無法使用 " ":mod:`multiprocessing` 模組。" #: ../../library/intro.rst:146 msgid "" Expand All @@ -252,17 +293,23 @@ 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 "" "Mobile apps have limited access to modify system resources (such as the " "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 "" Expand All @@ -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 "" Expand All @@ -281,16 +331,22 @@ 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 "" "Mobile apps have no usable ``stdin`` at all. While apps can display an on-" "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`)在行動平台上均無法使用。 "