Repository navigation
Expand file tree
/
Copy pathrefcounting.po
More file actions
381 lines (331 loc) · 16.2 KB
/
Copy pathrefcounting.po
File metadata and controls
381 lines (331 loc) · 16.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# python-doc bot, 2025
# Inada Naoki <songofacandy@gmail.com>, 2026
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-25 17:19+0000\n"
"PO-Revision-Date: 2025-09-16 00:00+0000\n"
"Last-Translator: Inada Naoki <songofacandy@gmail.com>, 2026\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../c-api/refcounting.rst:8
msgid "Reference Counting"
msgstr "参照カウント"
#: ../../c-api/refcounting.rst:10
msgid ""
"The functions and macros in this section are used for managing reference "
"counts of Python objects."
msgstr ""
"このセクションにある関数とマクロは、 Python オブジェクトの参照カウントの管理"
"に使用されます。"
#: ../../c-api/refcounting.rst:16
msgid "Get the reference count of the Python object *o*."
msgstr "Python オブジェクト *o* の参照カウントを取得します。"
#: ../../c-api/refcounting.rst:18
msgid ""
"Note that the returned value may not actually reflect how many references to "
"the object are actually held. For example, some objects "
"are :term:`immortal` and have a very high refcount that does not reflect the "
"actual number of references. Consequently, do not rely on the returned "
"value to be accurate, other than a value of 0 or 1."
msgstr ""
"戻り値は、実際に保持されているオブジェクトの参照の数を実際に反映しているとは"
"限らないことに注意してください。例えば、一部のオブジェクトは永続 "
"(:term:`immortal`) であり、実際の参照の数を反映しない非常に高い参照数を持ちま"
"す。したがって、 0 か 1 の値以外では、正確な戻り値に頼らないでください。"
#: ../../c-api/refcounting.rst:24
msgid ""
"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count."
msgstr ""
"オブジェクトの参照カウントを設定するためには、 :c:func:`Py_SET_REFCNT()` 関数"
"を使用してください。"
msgid ""
"On :term:`free-threaded builds <free-threaded build>` of Python, returning 1 "
"isn't sufficient to determine if it's safe to treat *o* as having no access "
"by other threads. Use :c:func:`PyUnstable_Object_IsUniquelyReferenced` for "
"that instead."
msgstr ""
"Python の :term:`フリースレッドビルド <free-threaded build>` では、戻り値が "
"1 であるだけでは、ほかのスレッドから ``o`` へのアクセスがないものとして安全に"
"扱えるかどうかを判断できません。\n"
"その判断には :c:func:`PyUnstable_Object_IsUniquelyReferenced` を使ってくださ"
"い。"
msgid ""
"See also the "
"function :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()`."
msgstr ""
":c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()` 関数も参照してくだ"
"さい。"
#: ../../c-api/refcounting.rst:35
msgid ":c:func:`Py_REFCNT()` is changed to the inline static function."
msgstr ":c:func:`Py_REFCNT()` は static なインライン関数に変更されました。"
#: ../../c-api/refcounting.rst:38
msgid "The parameter type is no longer :c:expr:`const PyObject*`."
msgstr "引数の型は :c:expr:`const PyObject*` ではなくなりました。"
#: ../../c-api/refcounting.rst:44
msgid "Set the object *o* reference counter to *refcnt*."
msgstr "オブジェクト *o* の参照カウントを *refcnt* に設定します。"
#: ../../c-api/refcounting.rst:46
msgid ""
"On :ref:`Python build with Free Threading <free-threading-build>`, if "
"*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`."
msgstr ""
":ref:`フリースレッドな Python ビルド <free-threading-build>` では、 *refcnt* "
"が ``UINT32_MAX`` より大きい場合、オブジェクトは永続 (:term:`immortal`) とな"
"ります。"
#: ../../c-api/refcounting.rst:49 ../../c-api/refcounting.rst:62
#: ../../c-api/refcounting.rst:128
msgid "This function has no effect on :term:`immortal` objects."
msgstr "この関数は永続 (:term:`immortal`) オブジェクトには何もしません。"
#: ../../c-api/refcounting.rst:53 ../../c-api/refcounting.rst:77
#: ../../c-api/refcounting.rst:156
msgid "Immortal objects are not modified."
msgstr "永続オブジェクトは変更されません。"
#: ../../c-api/refcounting.rst:59
msgid ""
"Indicate taking a new :term:`strong reference` to object *o*, indicating it "
"is in use and should not be destroyed."
msgstr ""
"オブジェクト *o* への新しい :term:`強参照 <strong reference>` を取得し、それ"
"が使用中で破棄されてはならないことを示します。"
msgid ""
"This function is usually used to convert a :term:`borrowed reference` to "
"a :term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be "
"used to create a new :term:`strong reference`."
msgstr ""
"この関数は通常、:term:`借用参照 <borrowed reference>` をその場で :term:`強参"
"照 <strong reference>` に変換するために使います。\n"
"新しい :term:`強参照 <strong reference>` の作成には :c:func:`Py_NewRef` 関数"
"を使えます。"
msgid "When done using the object, release is by calling :c:func:`Py_DECREF`."
msgstr ""
"オブジェクトを使い終わったら、:c:func:`Py_DECREF` を呼び出して参照を解放しま"
"す。"
#: ../../c-api/refcounting.rst:70
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XINCREF`."
msgstr ""
"オブジェクトが ``NULL`` であってはいけません。それが ``NULL`` ではないと確信"
"が持てないならば、 :c:func:`Py_XINCREF` を使ってください。"
msgid ""
"Do not expect this function to actually modify *o* in any way. For at "
"least :pep:`some objects <0683>`, this function has no effect."
msgstr ""
"この関数が実際に ``o`` を変更するとは限りません。\n"
"少なくとも :pep:`一部のオブジェクト <0683>` に対しては、この関数は何もしませ"
"ん。"
msgid ""
"Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which "
"case this has no effect."
msgstr ""
":c:func:`Py_INCREF` と同様ですが、オブジェクト ``o`` は ``NULL`` でも構いませ"
"ん。\n"
"その場合は何もしません。"
msgid "See also :c:func:`Py_XNewRef`."
msgstr ":c:func:`Py_XNewRef` も参照してください。"
msgid ""
"Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF` "
"on *o* and return the object *o*."
msgstr ""
"オブジェクトへの新しい :term:`強参照 <strong reference>` を作成します。\n"
"``o`` に対して :c:func:`Py_INCREF` を呼び出し、オブジェクト ``o`` を返しま"
"す。"
msgid ""
"When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` "
"should be called on it to release the reference."
msgstr ""
":term:`強参照 <strong reference>` が不要になったら、:c:func:`Py_DECREF` を呼"
"び出して解放してください。"
msgid ""
"The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be "
"``NULL``."
msgstr ""
"オブジェクト ``o`` は ``NULL`` であってはいけません。\n"
"``o`` が ``NULL`` になり得る場合は :c:func:`Py_XNewRef` を使ってください。"
#: ../../c-api/refcounting.rst:100
msgid "For example::"
msgstr "例えば::"
msgid ""
"Py_INCREF(obj);\n"
"self->attr = obj;"
msgstr ""
"Py_INCREF(obj);\n"
"self->attr = obj;"
msgid "can be written as::"
msgstr "は次のように書けます。 ::"
msgid "self->attr = Py_NewRef(obj);"
msgstr "self->attr = Py_NewRef(obj);"
msgid "See also :c:func:`Py_INCREF`."
msgstr ":c:func:`Py_INCREF` も参照してください。"
msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL."
msgstr ""
":c:func:`Py_NewRef` と同様ですが、オブジェクト ``o`` は ``NULL`` でも構いませ"
"ん。"
msgid "If the object *o* is ``NULL``, the function just returns ``NULL``."
msgstr ""
"オブジェクト ``o`` が ``NULL`` の場合、この関数は単に ``NULL`` を返します。"
msgid ""
"Release a :term:`strong reference` to object *o*, indicating the reference "
"is no longer used."
msgstr ""
"オブジェクト ``o`` への :term:`強参照 <strong reference>` を解放し、その参照"
"をもう使わないことを示します。"
msgid ""
"Once the last :term:`strong reference` is released (i.e. the object's "
"reference count reaches 0), the object's type's deallocation function (which "
"must not be ``NULL``) is invoked."
msgstr ""
"最後の :term:`強参照 <strong reference>` が解放されると (つまり、オブジェクト"
"の参照カウントが 0 になると)、そのオブジェクトの型の解放関数が呼び出されま"
"す。\n"
"この関数は ``NULL`` であってはいけません。"
msgid ""
"This function is usually used to delete a :term:`strong reference` before "
"exiting its scope."
msgstr ""
"この関数は通常、スコープを抜ける前に :term:`強参照 <strong reference>` を削除"
"するために使います。"
#: ../../c-api/refcounting.rst:138
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XDECREF`."
msgstr ""
"オブジェクトが ``NULL`` であってはいけません。それが ``NULL`` ではないと確信"
"が持てないならば、 :c:func:`Py_XDECREF` を使ってください。"
msgid ""
"Do not expect this function to actually modify *o* in any way. For at "
"least :pep:`some objects <683>`, this function has no effect."
msgstr ""
"この関数が実際に ``o`` を変更するとは限りません。\n"
"少なくとも :pep:`一部のオブジェクト <683>` に対しては、この関数は何もしませ"
"ん。"
msgid ""
"The deallocation function can cause arbitrary Python code to be invoked "
"(e.g. when a class instance with a :meth:`~object.__del__` method is "
"deallocated). While exceptions in such code are not propagated, the "
"executed code has free access to all Python global variables. This means "
"that any object that is reachable from a global variable should be in a "
"consistent state before :c:func:`Py_DECREF` is invoked. For example, code "
"to delete an object from a list should copy a reference to the deleted "
"object in a temporary variable, update the list data structure, and then "
"call :c:func:`Py_DECREF` for the temporary variable."
msgstr ""
"解放関数は任意の Python コードを呼び出すことがあります (例え"
"ば :meth:`~object.__del__` メソッドを持つクラスのインスタンスを解放すると"
"き)。\n"
"そのコード内の例外は伝播しませんが、実行されるコードは Python のすべてのグ"
"ローバル変数に自由にアクセスできます。\n"
"このため、グローバル変数から到達できるオブジェクトは、:c:func:`Py_DECREF` を"
"呼び出す前に整合性の取れた状態にしておく必要があります。\n"
"例えば、リストからオブジェクトを削除するコードでは、そのオブジェクトへの参照"
"を一時変数にコピーしてからリストのデータ構造を更新し、その後で一時変数に対し"
"て :c:func:`Py_DECREF` を呼び出すべきです。"
msgid ""
"Similar to :c:func:`Py_DECREF`, but the object *o* can be ``NULL``, in which "
"case this has no effect. The same warning from :c:func:`Py_DECREF` applies "
"here as well."
msgstr ""
":c:func:`Py_DECREF` と同様ですが、オブジェクト ``o`` は ``NULL`` でも構いませ"
"ん。\n"
"その場合は何もしません。\n"
":c:func:`Py_DECREF` と同じ警告がここにも当てはまります。"
msgid ""
"Release a :term:`strong reference` for object *o*. The object may be "
"``NULL``, in which case the macro has no effect; otherwise the effect is the "
"same as for :c:func:`Py_DECREF`, except that the argument is also set to "
"``NULL``. The warning for :c:func:`Py_DECREF` does not apply with respect "
"to the object passed because the macro carefully uses a temporary variable "
"and sets the argument to ``NULL`` before releasing the reference."
msgstr ""
"オブジェクト ``o`` への :term:`強参照 <strong reference>` を解放します。\n"
"オブジェクトは ``NULL`` でもよく、その場合は何もしません。\n"
"それ以外の場合は :c:func:`Py_DECREF` と同じ効果がありますが、引数も ``NULL`` "
"に設定します。\n"
"このマクロは一時変数を使い、参照を解放する前に引数を ``NULL`` に設定するた"
"め、渡したオブジェクトについては :c:func:`Py_DECREF` の警告は当てはまりませ"
"ん。"
msgid ""
"It is a good idea to use this macro whenever releasing a reference to an "
"object that might be traversed during garbage collection."
msgstr ""
"ガベージコレクション中に走査される可能性のあるオブジェクトへの参照を解放する"
"ときは、このマクロを使うとよいでしょう。"
msgid ""
"The macro argument is now only evaluated once. If the argument has side "
"effects, these are no longer duplicated."
msgstr ""
"マクロの引数を 1 回だけ評価するようになりました。\n"
"引数に副作用がある場合も、それが重複して発生することはなくなりました。"
msgid ""
"Indicate taking a new :term:`strong reference` to object *o*. A function "
"version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic "
"embedding of Python."
msgstr ""
"オブジェクト ``o`` への新しい :term:`強参照 <strong reference>` を取得するこ"
"とを示します。\n"
":c:func:`Py_XINCREF` の関数版です。\n"
"実行時に Python を動的に組み込むために使えます。"
msgid ""
"Release a :term:`strong reference` to object *o*. A function version "
"of :c:func:`Py_XDECREF`. It can be used for runtime dynamic embedding of "
"Python."
msgstr ""
"オブジェクト ``o`` への :term:`強参照 <strong reference>` を解放します。\n"
":c:func:`Py_XDECREF` の関数版です。\n"
"実行時に Python を動的に組み込むために使えます。"
msgid ""
"Macro safely releasing a :term:`strong reference` to object *dst* and "
"setting *dst* to *src*."
msgstr ""
"オブジェクト ``dst`` への :term:`強参照 <strong reference>` を安全に解放し、"
"``dst`` を ``src`` に設定するマクロです。"
msgid "As in case of :c:func:`Py_CLEAR`, \"the obvious\" code can be deadly::"
msgstr ""
":c:func:`Py_CLEAR` の場合と同様に、「当然」と思える次のコードは致命的な結果を"
"招くことがあります。 ::"
msgid ""
"Py_DECREF(dst);\n"
"dst = src;"
msgstr ""
"Py_DECREF(dst);\n"
"dst = src;"
msgid "The safe way is::"
msgstr "安全な書き方は次のとおりです。 ::"
msgid "Py_SETREF(dst, src);"
msgstr "Py_SETREF(dst, src);"
msgid ""
"That arranges to set *dst* to *src* *before* releasing the reference to the "
"old value of *dst*, so that any code triggered as a side-effect of *dst* "
"getting torn down no longer believes *dst* points to a valid object."
msgstr ""
"これにより、*dst* の古い値への参照を解放する *前に*、*dst* に *src* が設定さ"
"れます。\n"
"そのため、古いオブジェクトの破棄に伴って実行されるコードが、*dst* はそのオブ"
"ジェクトをまだ有効な状態で指していると誤認することを防げます。"
msgid ""
"The macro arguments are now only evaluated once. If an argument has side "
"effects, these are no longer duplicated."
msgstr ""
"マクロの引数をそれぞれ 1 回だけ評価するようになりました。\n"
"引数に副作用がある場合も、それが重複して発生することはなくなりました。"
msgid ""
"Variant of :c:macro:`Py_SETREF` macro that uses :c:func:`Py_XDECREF` instead "
"of :c:func:`Py_DECREF`."
msgstr ""
":c:func:`Py_DECREF` の代わりに :c:func:`Py_XDECREF` を使"
"う :c:macro:`Py_SETREF` マクロの変種です。"