Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 61 additions & 5 deletions library/intro.po
Original file line number Diff line number Diff line change
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`)在行動平台上均無法使用。"