1- # SOME DESCRIPTIVE TITLE.
2- # Copyright (C) 2001-2022, Python Software Foundation
1+ # Copyright (C) 2001-2023, Python Software Foundation
32# This file is distributed under the same license as the Python package.
43#
54# Translators:
5+ # Matt Wang <[email protected] >, 202366msgid ""
77msgstr ""
88"Project-Id-Version : Python 3.11\n "
99"Report-Msgid-Bugs-To : \n "
1010"POT-Creation-Date : 2021-10-26 16:47+0000\n "
11- "PO-Revision-Date : 2016-11-19 00:26+0000 \n "
12- "
Last-Translator :
Liang-Bo Wang <[email protected] >\n"
11+ "PO-Revision-Date : 2023-01-24 21:07+0800 \n "
12+ "
Last-Translator :
Matt Wang <[email protected] >\n"
1313"Language-Team : Chinese - TAIWAN (https://github.com/python/python-docs-zh- "
1414"tw)\n "
1515"Language : zh_TW\n "
1616"MIME-Version : 1.0\n "
1717"Content-Type : text/plain; charset=UTF-8\n "
1818"Content-Transfer-Encoding : 8bit\n "
1919"Plural-Forms : nplurals=1; plural=0;\n "
20+ "X-Generator : Poedit 3.2.2\n "
2021
2122#: ../../c-api/stable.rst:7
2223msgid "C API Stability"
23- msgstr ""
24+ msgstr "C API 穩定性 "
2425
2526#: ../../c-api/stable.rst:9
2627msgid ""
@@ -30,6 +31,9 @@ msgid ""
3031"API. Changing existing API or removing API is only done after a deprecation "
3132"period or to fix serious issues."
3233msgstr ""
34+ "Python 的 C API 被包含在向後相容性策略 :pep:`387` 中。雖然 C API 會隨著每個次"
35+ "要版本(例如從 3.9 到 3.10)而變化,但大多數變化都是與原始碼相容的,通常只是"
36+ "加入新的 API。更改現有 API 或刪除 API 僅在棄用期後或修復嚴重問題時進行。"
3337
3438#: ../../c-api/stable.rst:15
3539msgid ""
@@ -39,16 +43,22 @@ msgid ""
3943"work on 3.10.8 and vice versa, but will need to be compiled separately for "
4044"3.9.x and 3.10.x."
4145msgstr ""
46+ "CPython 的應用程式二進位介面 (Application Binary Interface, ABI) 在次要版本中"
47+ "是向前和向後相容的(如果它們以相同的方式編譯;請參閱下面的\\ :ref:`stable-"
48+ "abi-platform`\\ )。因此,為 Python 3.10.0 編譯的程式碼將能夠在 3.10.8 上運"
49+ "行,反之亦然,但 3.9.x 和 3.10.x 就需要分別編譯。"
4250
4351#: ../../c-api/stable.rst:21
4452msgid ""
4553"Names prefixed by an underscore, such as ``_Py_InternalState``, are private "
4654"API that can change without notice even in patch releases."
4755msgstr ""
56+ "帶有底線前綴的名稱是私有 API (private API),像是 ``_Py_InternalState``,即使"
57+ "在補丁版本 (patch release) 中也可能被更改,不會另行通知。"
4858
4959#: ../../c-api/stable.rst:26
5060msgid "Stable Application Binary Interface"
51- msgstr ""
61+ msgstr "穩定的應用程式二進位介面 "
5262
5363#: ../../c-api/stable.rst:28
5464msgid ""
@@ -57,6 +67,9 @@ msgid ""
5767"multiple versions of Python. Contents of the Limited API are :ref:`listed "
5868"below <stable-abi-list>`."
5969msgstr ""
70+ "Python 3.2 引入了\\ *受限 API (Limited API)*,它是 Python C API 的一個子集。"
71+ "僅使用受限 API 的擴充可以只編譯一次就使用於多個版本的 Python。受限 API 的內容"
72+ "\\ :ref:`列在下方 <stable-abi-list>`。"
6073
6174#: ../../c-api/stable.rst:33
6275msgid ""
@@ -65,19 +78,26 @@ msgid ""
6578"symbols exposed in the Limited API, but also other ones – for example, "
6679"functions necessary to support older versions of the Limited API."
6780msgstr ""
81+ "為了實現它,Python 提供了一個\\ *穩定 ABI (Stable ABI)*:一組將在各個 Python "
82+ "3.x 版本之間保持相容的符號。穩定 ABI 被包含在受限 API 中開放的符號,但也包含"
83+ "其他符號 - 例如,支援舊版受限 API 所必需的函式。"
6884
6985#: ../../c-api/stable.rst:38
7086msgid ""
7187"(For simplicity, this document talks about *extensions*, but the Limited API "
7288"and Stable ABI work the same way for all uses of the API – for example, "
7389"embedding Python.)"
7490msgstr ""
91+ "(為簡單起見,本文件討論\\ *擴充 (extension)*,但受限 API 和穩定 ABI 在所有 "
92+ "API 使用方式中都以相同的方式運作 -- 例如在嵌入式 Python (embedding Python) "
93+ "中。)"
7594
7695#: ../../c-api/stable.rst:44
7796msgid ""
7897"Define this macro before including ``Python.h`` to opt in to only use the "
7998"Limited API, and to select the Limited API version."
8099msgstr ""
100+ "在包含 ``Python.h`` 之前定義此巨集以選擇只使用受限 API,並挑選受限 API 版本。"
81101
82102#: ../../c-api/stable.rst:47
83103msgid ""
@@ -87,26 +107,36 @@ msgid ""
87107"the specified one onward, and can use Limited API introduced up to that "
88108"version."
89109msgstr ""
110+ "將 ``Py_LIMITED_API`` 定義為對應於你的擴充有支援的最低 Python 版本的 :c:data:"
111+ "`PY_VERSION_HEX` 值。該擴充無需重新編譯即可與從指定版本開始的所有 Python 3 版"
112+ "本一起使用,並且可以使用過去版本有引入的受限 API。"
90113
91114#: ../../c-api/stable.rst:53
92115msgid ""
93116"Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum "
94117"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when "
95118"compiling with future Python versions."
96119msgstr ""
120+ "與其直接使用 ``PY_VERSION_HEX`` 巨集,不如寫死 (hardcode) 最小次要版本(例如"
121+ "代表 Python 3.10 的 ``0x030A0000``\\ ),以便在使用未來的 Python 版本進行編譯"
122+ "時仍保持穩定性。"
97123
98124#: ../../c-api/stable.rst:57
99125msgid ""
100126"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as "
101127"``0x03020000`` (Python 3.2, the version that introduced Limited API)."
102128msgstr ""
129+ "你還可以將 ``Py_LIMITED_API`` 定義為 ``3``,這與 ``0x03020000``\\ (Python "
130+ "3.2,引入了受限 API 的版本)相同。"
103131
104132#: ../../c-api/stable.rst:60
105133msgid ""
106134"On Windows, extensions that use the Stable ABI should be linked against "
107135"``python3.dll`` rather than a version-specific library such as ``python39."
108136"dll``."
109137msgstr ""
138+ "在 Windows 上,使用穩定 ABI 的擴充應該連接到 ``python3.dll`` 而不是特定版本的"
139+ "函式庫,例如 ``python39.dll``。"
110140
111141#: ../../c-api/stable.rst:64
112142msgid ""
@@ -116,30 +146,40 @@ msgid ""
116146"to ensure that, for example, extensions built with the 3.10+ Limited API are "
117147"not installed for lower versions of Python."
118148msgstr ""
149+ "在某些平台上,Python 將查找並加載以 ``abi3`` 標籤命名的共享函式庫檔案(例如 "
150+ "``mymodule.abi3.so``\\ )。它不檢查此類擴充是否符合穩定的 ABI。確保的責任在使"
151+ "用者(或者打包工具)身上,例如使用 3.10+ 受限 API 建置的擴充不會為較低版本的 "
152+ "Python 所安裝。"
119153
120154#: ../../c-api/stable.rst:71
121155msgid ""
122156"All functions in the Stable ABI are present as functions in Python's shared "
123157"library, not solely as macros. This makes them usable from languages that "
124158"don't use the C preprocessor."
125159msgstr ""
160+ "穩定 ABI 中的所有函式都作為函式存在於 Python 的共享函式庫中,而不僅是作為巨"
161+ "集。這使得它們可被用於不使用 C 預處理器 (preprocessor) 的語言。"
126162
127163#: ../../c-api/stable.rst:77
128164msgid "Limited API Scope and Performance"
129- msgstr ""
165+ msgstr "受限 API 範圍和性能 "
130166
131167#: ../../c-api/stable.rst:79
132168msgid ""
133169"The goal for the Limited API is to allow everything that is possible with "
134170"the full C API, but possibly with a performance penalty."
135171msgstr ""
172+ "受限 API 的目標是允許使用完整的 C API 進行所有可能的操作,但可能會降低性能。"
136173
137174#: ../../c-api/stable.rst:82
138175msgid ""
139176"For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro "
140177"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it "
141178"can rely on version-specific implementation details of the list object."
142179msgstr ""
180+ "例如,雖然 :c:func:`PyList_GetItem` 可用,但它的「不安全」巨集變體 :c:func:"
181+ "`PyList_GET_ITEM` 為不可用。巨集運行可以更快,因為它可以依賴 list 物件的特定"
182+ "版本實作細節。"
143183
144184#: ../../c-api/stable.rst:87
145185msgid ""
@@ -148,6 +188,9 @@ msgid ""
148188"allowing stability as Python's data structures are improved, but possibly "
149189"reducing performance."
150190msgstr ""
191+ "如果沒有定義 ``Py_LIMITED_API``,一些 C API 函式將被嵌入或被替換為巨集。定義 "
192+ "``Py_LIMITED_API`` 會禁用嵌入,從而隨著 Python 資料結構的改進而提高穩定性,但"
193+ "可能會降低性能。"
151194
152195#: ../../c-api/stable.rst:92
153196msgid ""
@@ -158,10 +201,14 @@ msgid ""
158201"where a version-specific one is not available – for example, for prereleases "
159202"of an upcoming Python version."
160203msgstr ""
204+ "通過省略 ``Py_LIMITED_API`` 定義,可以使用特定版本的 ABI 編譯受限 API 擴充。"
205+ "這可以提高該 Python 版本的性能,但會限制相容性。使用 ``Py_LIMITED_API`` 編譯"
206+ "將產生一個擴充,可以在特定版本的擴充不可用的地方發布 — 例如,用於即將發布的 "
207+ "Python 版本的預發布版本 (prerelease)。"
161208
162209#: ../../c-api/stable.rst:101
163210msgid "Limited API Caveats"
164- msgstr ""
211+ msgstr "受限 API 注意事項 "
165212
166213#: ../../c-api/stable.rst:103
167214msgid ""
@@ -170,6 +217,9 @@ msgid ""
170217"only covers definitions, but an API also includes other issues, such as "
171218"expected semantics."
172219msgstr ""
220+ "請注意,使用 ``Py_LIMITED_API`` 進行編譯\\ *不*\\ 完全保證程式碼符合受限 API "
221+ "或穩定 ABI。``Py_LIMITED_API`` 僅涵蓋定義,但 API 還包括其他問題,例如預期的"
222+ "語義 (semantic)。"
173223
174224#: ../../c-api/stable.rst:108
175225msgid ""
@@ -180,18 +230,26 @@ msgid ""
180230"the argument will be used directly, causing a ``NULL`` dereference and "
181231"crash. A similar argument works for fields of structs."
182232msgstr ""
233+ "``Py_LIMITED_API`` 無法防範的一個問題是使用在較低 Python 版本中無效的引數來呼"
234+ "叫函式。例如一個開始接受 ``NULL`` 作為引數的函式。在 Python 3.9 中,``NULL`` "
235+ "現在代表選擇預設行為,但在 Python 3.8 中,引數將被直接使用,導致 ``NULL`` 取"
236+ "消參照 (dereference) 且崩潰 (crash)。類似的引數適用於結構 (struct) 的欄位。"
183237
184238#: ../../c-api/stable.rst:115
185239msgid ""
186240"Another issue is that some struct fields are currently not hidden when "
187241"``Py_LIMITED_API`` is defined, even though they're part of the Limited API."
188242msgstr ""
243+ "另一個問題是,當有定義 ``Py_LIMITED_API`` 時,一些結構欄位目前不會被隱藏,即"
244+ "使它們是受限 API 的一部分。"
189245
190246#: ../../c-api/stable.rst:118
191247msgid ""
192248"For these reasons, we recommend testing an extension with *all* minor Python "
193249"versions it supports, and preferably to build with the *lowest* such version."
194250msgstr ""
251+ "出於這些原因,我們建議要以它支援的\\ *所有*\\ 次要 Python 版本來測試擴充,並"
252+ "且最好使用\\ *最低*\\ 版本進行建置。"
195253
196254#: ../../c-api/stable.rst:121
197255msgid ""
@@ -200,6 +258,9 @@ msgid ""
200258"few private declarations are exposed for technical reasons (or even "
201259"unintentionally, as bugs)."
202260msgstr ""
261+ "我們也建議要查看所有使用過的 API 的文件,檢查它是否明確屬於受限 API。即使有定"
262+ "義 ``Py_LIMITED_API``,一些私有聲明也會因為技術原因(或者甚至是無意地,例如臭"
263+ "蟲)而被公開出來。"
203264
204265#: ../../c-api/stable.rst:126
205266msgid ""
@@ -209,10 +270,13 @@ msgid ""
209270"particular, parts of the Limited API may be deprecated and removed, provided "
210271"that the Stable ABI stays stable."
211272msgstr ""
273+ "另請注意,受限 API 不一定是穩定的:在 Python 3.8 中使用 ``Py_LIMITED_API`` 進"
274+ "行編譯意味著擴充將能以 Python 3.12 運行,但不一定能以 Python 3.12 *編譯*。特"
275+ "別是如果穩定 ABI 保持穩定,部分受限 API 可能會被棄用和刪除。"
212276
213277#: ../../c-api/stable.rst:136
214278msgid "Platform Considerations"
215- msgstr ""
279+ msgstr "平台注意事項 "
216280
217281#: ../../c-api/stable.rst:138
218282msgid ""
@@ -221,6 +285,9 @@ msgid ""
221285"ABI, these details define a “platform”. They usually depend on the OS type "
222286"and processor architecture"
223287msgstr ""
288+ "ABI 穩定性不僅取決於 Python,還取決於使用的編譯器、低階函式庫和編譯器選項。出"
289+ "於穩定 ABI 的目的,這些細節定義了一個「平台」。它們通常取決於作業系統種類和處"
290+ "理器架構"
224291
225292#: ../../c-api/stable.rst:143
226293msgid ""
@@ -229,11 +296,14 @@ msgid ""
229296"does not break the Stable ABI. This is the case with Windows and macOS "
230297"releases from ``python.org`` and many third-party distributors."
231298msgstr ""
299+ "每個特定的 Python 發布者都有責任確保特定平台上的所有 Python 版本都以不破壞穩"
300+ "定 ABI 的方式建置。``python.org`` 和許多第三方發布者發布的 Windows 和 macOS "
301+ "版本就是這種情況。"
232302
233303#: ../../c-api/stable.rst:153
234304msgid "Contents of Limited API"
235- msgstr ""
305+ msgstr "受限 API 的內容 "
236306
237307#: ../../c-api/stable.rst:156
238308msgid "Currently, the Limited API includes the following items:"
239- msgstr ""
309+ msgstr "目前,受限 API 包括以下項目: "
0 commit comments