Skip to content

Commit 7893e44

Browse files
authored
translate c-api/float.po (#1157)
1 parent 86ac318 commit 7893e44

File tree

1 file changed

+131
-72
lines changed

1 file changed

+131
-72
lines changed

c-api/float.po

Lines changed: 131 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
# Translators:
55
# Ching-Lung Chuang, 2015
66
# Liang-Bo Wang <me@liang2.tw>, 2015
7+
# Matt Wang <mattwang44@gmail.com>, 2025
78
msgid ""
89
msgstr ""
910
"Project-Id-Version: Python 3.14\n"
1011
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2025-09-08 15:25+0800\n"
12-
"PO-Revision-Date: 2017-09-22 18:26+0000\n"
13-
"Last-Translator: Liang-Bo Wang <me@liang2.tw>\n"
12+
"POT-Creation-Date: 2025-11-06 00:14+0000\n"
13+
"PO-Revision-Date: 2025-11-07 05:06+0000\n"
14+
"Last-Translator: Matt Wang <mattwang44@gmail.com>\n"
1415
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
1516
"tw)\n"
1617
"Language: zh_TW\n"
@@ -26,89 +27,123 @@ msgstr "浮點數(Floating-Point)物件"
2627
#: ../../c-api/float.rst:13
2728
msgid ""
2829
"This subtype of :c:type:`PyObject` represents a Python floating-point object."
29-
msgstr ""
30+
msgstr "這個 :c:type:`PyObject` 的子型別代表一個 Python 浮點數物件。"
3031

3132
#: ../../c-api/float.rst:18
3233
msgid ""
3334
"This instance of :c:type:`PyTypeObject` represents the Python floating-point "
3435
"type. This is the same object as :class:`float` in the Python layer."
3536
msgstr ""
37+
"這個 :c:type:`PyTypeObject` 的實例代表 Python 浮點數型別。這與 Python 層中的 :class:`float` "
38+
"物件相同。"
3639

3740
#: ../../c-api/float.rst:24
3841
msgid ""
39-
"Return true if its argument is a :c:type:`PyFloatObject` or a subtype "
40-
"of :c:type:`PyFloatObject`. This function always succeeds."
42+
"Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:"
43+
"type:`PyFloatObject`. This function always succeeds."
4144
msgstr ""
45+
"如果其引數是 :c:type:`PyFloatObject` 或 :c:type:`PyFloatObject` 的子型別,則回傳 "
46+
"true。這個函式不會失敗。"
4247

4348
#: ../../c-api/float.rst:30
4449
msgid ""
4550
"Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype "
4651
"of :c:type:`PyFloatObject`. This function always succeeds."
4752
msgstr ""
53+
"如果其引數是 :c:type:`PyFloatObject`,但不是 :c:type:`PyFloatObject` 的子型別,"
54+
"則回傳 true。這個函式不會失敗。"
4855

4956
#: ../../c-api/float.rst:36
5057
msgid ""
5158
"Create a :c:type:`PyFloatObject` object based on the string value in *str*, "
5259
"or ``NULL`` on failure."
53-
msgstr ""
60+
msgstr "建立一個基於字串值 *str* 的 :c:type:`PyFloatObject` 物件,失敗時回傳 ``NULL``。"
5461

5562
#: ../../c-api/float.rst:42
5663
msgid ""
5764
"Create a :c:type:`PyFloatObject` object from *v*, or ``NULL`` on failure."
58-
msgstr ""
65+
msgstr "建立一個來自 *v* 的 :c:type:`PyFloatObject` 物件,失敗時回傳 ``NULL``。"
5966

6067
#: ../../c-api/float.rst:47
6168
msgid ""
6269
"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If "
63-
"*pyfloat* is not a Python floating-point object but has "
64-
"a :meth:`~object.__float__` method, this method will first be called to "
65-
"convert *pyfloat* into a float. If :meth:`!__float__` is not defined then it "
66-
"falls back to :meth:`~object.__index__`. This method returns ``-1.0`` upon "
67-
"failure, so one should call :c:func:`PyErr_Occurred` to check for errors."
70+
"*pyfloat* is not a Python floating-point object but has a :meth:`~object."
71+
"__float__` method, this method will first be called to convert *pyfloat* "
72+
"into a float. If :meth:`!__float__` is not defined then it falls back to :"
73+
"meth:`~object.__index__`. This method returns ``-1.0`` upon failure, so one "
74+
"should call :c:func:`PyErr_Occurred` to check for errors."
6875
msgstr ""
6976

7077
#: ../../c-api/float.rst:54
7178
msgid "Use :meth:`~object.__index__` if available."
72-
msgstr ""
79+
msgstr "請使用 :meth:`~object.__index__`\\ (如果可用)。"
7380

7481
#: ../../c-api/float.rst:60
7582
msgid ""
7683
"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but "
7784
"without error checking."
78-
msgstr ""
85+
msgstr "回傳 *pyfloat* 內容的 C :c:expr:`double` 表示形式,但不進行錯誤檢查。"
7986

8087
#: ../../c-api/float.rst:66
8188
msgid ""
8289
"Return a structseq instance which contains information about the precision, "
8390
"minimum and maximum values of a float. It's a thin wrapper around the header "
8491
"file :file:`float.h`."
8592
msgstr ""
93+
"回傳一個 structseq 實例,其中包含有關浮點數的精度、最小值和最大值的資訊。"
94+
"它是對標頭檔 :file:`float.h` 的簡單封裝。"
8695

8796
#: ../../c-api/float.rst:73
8897
msgid ""
89-
"Return the maximum representable finite float *DBL_MAX* as "
90-
"C :c:expr:`double`."
91-
msgstr ""
98+
"Return the maximum representable finite float *DBL_MAX* as C :c:expr:"
99+
"`double`."
100+
msgstr "將可表示的最大有限浮點數 *DBL_MAX* 作為 C :c:expr:`double` 回傳。"
92101

93102
#: ../../c-api/float.rst:78
94103
msgid ""
95104
"Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`."
96-
msgstr ""
105+
msgstr "將最小的正規化浮點數 *DBL_MIN* 作為 C :c:expr:`double` 回傳。"
106+
107+
#: ../../c-api/float.rst:83
108+
msgid "Return :data:`math.nan` from a function."
109+
msgstr "從函式回傳 :data:`math.nan`。"
97110

98-
#: ../../c-api/float.rst:82
111+
#: ../../c-api/float.rst:85
112+
msgid ""
113+
"On most platforms, this is equivalent to ``return PyFloat_FromDouble(NAN)``."
114+
msgstr "在大多數平台上,這相當於 ``return PyFloat_FromDouble(NAN)``。"
115+
116+
#: ../../c-api/float.rst:90
117+
msgid ""
118+
"Return :data:`math.inf` or :data:`-math.inf <math.inf>` from a function, "
119+
"depending on the sign of *sign*."
120+
msgstr "根據 *sign* 的正負號,從函式回傳 :data:`math.inf` 或 :data:`-math.inf <math.inf>`。"
121+
122+
#: ../../c-api/float.rst:93
123+
msgid "On most platforms, this is equivalent to the following::"
124+
msgstr "在大多數平台上,這相當於以下內容: ::"
125+
126+
#: ../../c-api/float.rst:95
127+
msgid "return PyFloat_FromDouble(copysign(INFINITY, sign));"
128+
msgstr "return PyFloat_FromDouble(copysign(INFINITY, sign));"
129+
130+
#: ../../c-api/float.rst:99
99131
msgid "Pack and Unpack functions"
100-
msgstr ""
132+
msgstr "打包和解包函式"
101133

102-
#: ../../c-api/float.rst:84
134+
#: ../../c-api/float.rst:101
103135
msgid ""
104136
"The pack and unpack functions provide an efficient platform-independent way "
105137
"to store floating-point values as byte strings. The Pack routines produce a "
106-
"bytes string from a C :c:expr:`double`, and the Unpack routines produce a "
107-
"C :c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) "
108-
"specifies the number of bytes in the bytes string."
138+
"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C :"
139+
"c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies "
140+
"the number of bytes in the bytes string."
109141
msgstr ""
142+
"打包和解包函式提供了一種有效的跨平台方式,來將浮點數值儲存為位元組字串。"
143+
"打包例程從 C :c:expr:`double` 產生位元組字串,而解包例程則從這樣的位元組字串產生 "
144+
"C :c:expr:`double`。後綴(2、4 或 8)標示了位元組字串中的位元組數。"
110145

111-
#: ../../c-api/float.rst:90
146+
#: ../../c-api/float.rst:107
112147
msgid ""
113148
"On platforms that appear to use IEEE 754 formats these functions work by "
114149
"copying bits. On other platforms, the 2-byte format is identical to the IEEE "
@@ -119,104 +154,128 @@ msgid ""
119154
"attempting to unpack a bytes string containing an IEEE INF or NaN will raise "
120155
"an exception."
121156
msgstr ""
157+
"在看似使用 IEEE 754 格式的平台上,這些函式是透過複製位元來運作的。"
158+
"在其他平台上,2 位元組格式與 IEEE 754 binary16 半精度格式相同,"
159+
"4 位元組格式(32 位元)與 IEEE 754 binary32 單精度格式相同,"
160+
"8 位元組格式與 IEEE 754 binary64 雙精度格式相同。"
161+
"儘管如此,INF 和 NaN(如果這些東西在平台上存在)的打包並未正確處理,"
162+
"並且嘗試解包包含 IEEE INF 或 NaN 的位元組字串將引發例外。"
122163

123-
#: ../../c-api/float.rst:99
164+
#: ../../c-api/float.rst:116
124165
msgid ""
125166
"Note that NaNs type may not be preserved on IEEE platforms (silent NaN "
126167
"become quiet), for example on x86 systems in 32-bit mode."
127168
msgstr ""
169+
"請注意,在 IEEE 平台上可能無法保留 NaN 型別(「靜默型 NaN (silent NaN)」會變成"
170+
"「安靜型 NaN (quiet NaN)」),例如在 32 位元模式的 x86 系統上。"
128171

129-
#: ../../c-api/float.rst:102
172+
#: ../../c-api/float.rst:119
130173
msgid ""
131174
"On non-IEEE platforms with more precision, or larger dynamic range, than "
132175
"IEEE 754 supports, not all values can be packed; on non-IEEE platforms with "
133176
"less precision, or smaller dynamic range, not all values can be unpacked. "
134177
"What happens in such cases is partly accidental (alas)."
135178
msgstr ""
179+
"在非 IEEE 平台上,如果精度更高或動態範圍比 IEEE 754 支援的更大,"
180+
"則無法打包所有值;在非 IEEE 平台上,如果精度較低或動態範圍較小,"
181+
"則無法解包所有值。在這種案例下發生的情況在某種程度上是偶然的(唉)。"
136182

137-
#: ../../c-api/float.rst:110
183+
#: ../../c-api/float.rst:127
138184
msgid "Pack functions"
139-
msgstr ""
185+
msgstr "打包函式"
140186

141-
#: ../../c-api/float.rst:112
187+
#: ../../c-api/float.rst:129
142188
msgid ""
143-
"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is "
144-
"an :c:expr:`int` argument, non-zero if you want the bytes string in little-"
145-
"endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero "
146-
"if you want big-endian format (exponent first, at *p*). "
147-
"The :c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: "
148-
"it is equal to ``1`` on big endian processor, or ``0`` on little endian "
149-
"processor."
150-
msgstr ""
151-
152-
#: ../../c-api/float.rst:119
189+
"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:"
190+
"`int` argument, non-zero if you want the bytes string in little-endian "
191+
"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you "
192+
"want big-endian format (exponent first, at *p*). The :c:macro:"
193+
"`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal "
194+
"to ``1`` on big endian processor, or ``0`` on little endian processor."
195+
msgstr ""
196+
"打包例程會從 *p* 開始寫入 2、4 或 8 位元組。*le* 是一個 :c:expr:`int` 引數,"
197+
"如果你想要位元組字串為小端序格式(指數在最後,位於 ``p+1``、``p+3``、"
198+
"``p+6`` 或 ``p+7``),則用非零值;如果你想要大端序格式(指數在最前,位於 *p*),"
199+
"則用零。可以使用 :c:macro:`PY_BIG_ENDIAN` 常數來使用原生端序:"
200+
"在大端序處理器上它等於 ``1``,在小端序處理器上它等於 ``0``。"
201+
202+
#: ../../c-api/float.rst:136
153203
msgid ""
154204
"Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, "
155205
"most likely :exc:`OverflowError`)."
156206
msgstr ""
207+
"回傳值:如果一切正常則為 ``0``,如果發生錯誤則為 ``-1``\\ (並且會設定一個例外,"
208+
"最有可能是 :exc:`OverflowError`)。"
157209

158-
#: ../../c-api/float.rst:122
210+
#: ../../c-api/float.rst:139
159211
msgid "There are two problems on non-IEEE platforms:"
160-
msgstr ""
212+
msgstr "在非 IEEE 平台上有兩個問題:"
161213

162-
#: ../../c-api/float.rst:124
214+
#: ../../c-api/float.rst:141
163215
msgid "What this does is undefined if *x* is a NaN or infinity."
164-
msgstr ""
216+
msgstr "如果 *x* 是 NaN 或無窮大,則這樣做是未定義的。"
165217

166-
#: ../../c-api/float.rst:125
218+
#: ../../c-api/float.rst:142
167219
msgid "``-0.0`` and ``+0.0`` produce the same bytes string."
168220
msgstr "``-0.0`` 和 ``+0.0`` 會產生同樣的位元組字串。"
169221

170-
#: ../../c-api/float.rst:129
222+
#: ../../c-api/float.rst:146
171223
msgid "Pack a C double as the IEEE 754 binary16 half-precision format."
172-
msgstr ""
224+
msgstr "將 C double 打包為 IEEE 754 binary16 半精度格式。"
173225

174-
#: ../../c-api/float.rst:133
226+
#: ../../c-api/float.rst:150
175227
msgid "Pack a C double as the IEEE 754 binary32 single precision format."
176-
msgstr ""
228+
msgstr "將 C double 打包為 IEEE 754 binary32 單精度格式。"
177229

178-
#: ../../c-api/float.rst:137
230+
#: ../../c-api/float.rst:154
179231
msgid "Pack a C double as the IEEE 754 binary64 double precision format."
180-
msgstr ""
232+
msgstr "將 C double 打包為 IEEE 754 binary64 雙精度格式。"
181233

182-
#: ../../c-api/float.rst:141
234+
#: ../../c-api/float.rst:158
183235
msgid "Unpack functions"
184-
msgstr ""
236+
msgstr "解包函式"
185237

186-
#: ../../c-api/float.rst:143
238+
#: ../../c-api/float.rst:160
187239
msgid ""
188-
"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is "
189-
"an :c:expr:`int` argument, non-zero if the bytes string is in little-endian "
190-
"format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if "
191-
"big-endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant "
192-
"can be used to use the native endian: it is equal to ``1`` on big endian "
240+
"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:"
241+
"expr:`int` argument, non-zero if the bytes string is in little-endian format "
242+
"(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-"
243+
"endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant can "
244+
"be used to use the native endian: it is equal to ``1`` on big endian "
193245
"processor, or ``0`` on little endian processor."
194246
msgstr ""
247+
"解包例程會從 *p* 開始讀取 2、4 或 8 位元組。*le* 是一個 :c:expr:`int` 引數,"
248+
"如果位元組字串為小端序格式(指數在最後,位於 ``p+1``、``p+3``、"
249+
"``p+6`` 或 ``p+7``),則用非零值;如果為大端序格式(指數在最前,位於 *p*),則用零。"
250+
"可以使用 :c:macro:`PY_BIG_ENDIAN` 常數來使用原生端序:在大端序處理器上它等於 ``1``,"
251+
"在小端序處理器上它等於 ``0``。"
195252

196-
#: ../../c-api/float.rst:150
253+
#: ../../c-api/float.rst:167
197254
msgid ""
198-
"Return value: The unpacked double. On error, this is ``-1.0`` "
199-
"and :c:func:`PyErr_Occurred` is true (and an exception is set, most "
200-
"likely :exc:`OverflowError`)."
255+
"Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:"
256+
"`PyErr_Occurred` is true (and an exception is set, most likely :exc:"
257+
"`OverflowError`)."
201258
msgstr ""
259+
"回傳值:解包後的 double。發生錯誤時,這是 ``-1.0`` 且 :c:func:`PyErr_Occurred` "
260+
"為 true(並且會設置一個例外,最有可能是 :exc:`OverflowError`)。"
202261

203-
#: ../../c-api/float.rst:154
262+
#: ../../c-api/float.rst:171
204263
msgid ""
205264
"Note that on a non-IEEE platform this will refuse to unpack a bytes string "
206265
"that represents a NaN or infinity."
207-
msgstr ""
266+
msgstr "請注意,在非 IEEE 平台上,這將拒絕解包會表示為 NaN 或無窮大的位元組字串。"
208267

209-
#: ../../c-api/float.rst:159
268+
#: ../../c-api/float.rst:176
210269
msgid "Unpack the IEEE 754 binary16 half-precision format as a C double."
211-
msgstr ""
270+
msgstr "將 IEEE 754 binary16 半精度格式解包為 C double。"
212271

213-
#: ../../c-api/float.rst:163
272+
#: ../../c-api/float.rst:180
214273
msgid "Unpack the IEEE 754 binary32 single precision format as a C double."
215-
msgstr ""
274+
msgstr "將 IEEE 754 binary32 單精度格式解包為 C double。"
216275

217-
#: ../../c-api/float.rst:167
276+
#: ../../c-api/float.rst:184
218277
msgid "Unpack the IEEE 754 binary64 double precision format as a C double."
219-
msgstr ""
278+
msgstr "將 IEEE 754 binary64 雙精度格式解包為 C double。"
220279

221280
#: ../../c-api/float.rst:8
222281
msgid "object"

0 commit comments

Comments
 (0)