11# SOME DESCRIPTIVE TITLE.
2- # Copyright (C) 2001-2019, Python Software Foundation
2+ # Copyright (C) 2001 Python Software Foundation
33# This file is distributed under the same license as the Python package.
44# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55#
6+ # Translators:
7+ # oon arfiandwi <oon.arfiandwi@gmail.com>, 2021
8+ #
69#, fuzzy
710msgid ""
811msgstr ""
9- "Project-Id-Version : Python 3.8 \n "
12+ "Project-Id-Version : Python 3.14 \n "
1013"Report-Msgid-Bugs-To : \n "
11- "POT-Creation-Date : 2019-10-31 11:48+0000\n "
12- "PO-Revision-Date : 2017-02-16 17:38+0000\n "
13- "Language-Team : Indonesian (https://www.transifex.com/python-doc/teams/5390/id/)\n "
14+ "POT-Creation-Date : 2025-05-09 14:19+0000\n "
15+ "PO-Revision-Date : 2021-06-28 00:50+0000\n "
16+ "Last-Translator : oon arfiandwi <oon.arfiandwi@gmail.com>, 2021\n "
17+ "Language-Team : Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n "
1418"MIME-Version : 1.0\n "
1519"Content-Type : text/plain; charset=UTF-8\n "
1620"Content-Transfer-Encoding : 8bit\n "
@@ -23,79 +27,283 @@ msgstr ""
2327
2428#: ../../c-api/refcounting.rst:10
2529msgid ""
26- "The macros in this section are used for managing reference counts of Python "
27- "objects."
30+ "The functions and macros in this section are used for managing reference "
31+ "counts of Python objects."
2832msgstr ""
2933
3034#: ../../c-api/refcounting.rst:16
35+ msgid "Get the reference count of the Python object *o*."
36+ msgstr ""
37+
38+ #: ../../c-api/refcounting.rst:18
3139msgid ""
32- "Increment the reference count for object *o*. The object must not be "
33- "``NULL``; if you aren't sure that it isn't ``NULL``, use "
34- ":c:func:`Py_XINCREF`."
40+ "Note that the returned value may not actually reflect how many references to"
41+ " the object are actually held. For example, some objects are "
42+ ":term:`immortal` and have a very high refcount that does not reflect the "
43+ "actual number of references. Consequently, do not rely on the returned "
44+ "value to be accurate, other than a value of 0 or 1."
3545msgstr ""
3646
37- #: ../../c-api/refcounting.rst:22
47+ #: ../../c-api/refcounting.rst:24
3848msgid ""
39- "Increment the reference count for object *o*. The object may be ``NULL``, "
40- "in which case the macro has no effect."
49+ "Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count."
4150msgstr ""
4251
4352#: ../../c-api/refcounting.rst:28
4453msgid ""
45- "Decrement the reference count for object *o*. The object must not be "
46- "``NULL``; if you aren't sure that it isn't ``NULL``, use "
47- ":c:func:`Py_XDECREF`. If the reference count reaches zero, the object's "
48- "type's deallocation function (which must not be ``NULL``) is invoked."
54+ "On :term:`free threaded <free threading>` builds of Python, returning 1 "
55+ "isn't sufficient to determine if it's safe to treat *o* as having no access "
56+ "by other threads. Use :c:func:`PyUnstable_Object_IsUniquelyReferenced` for "
57+ "that instead."
58+ msgstr ""
59+
60+ #: ../../c-api/refcounting.rst:33
61+ msgid ""
62+ "See also the function "
63+ ":c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()`."
4964msgstr ""
5065
5166#: ../../c-api/refcounting.rst:35
67+ msgid ":c:func:`Py_REFCNT()` is changed to the inline static function."
68+ msgstr ""
69+
70+ #: ../../c-api/refcounting.rst:38
71+ msgid "The parameter type is no longer :c:expr:`const PyObject*`."
72+ msgstr ""
73+
74+ #: ../../c-api/refcounting.rst:44
75+ msgid "Set the object *o* reference counter to *refcnt*."
76+ msgstr ""
77+
78+ #: ../../c-api/refcounting.rst:46
79+ msgid ""
80+ "On :ref:`Python build with Free Threading <free-threading-build>`, if "
81+ "*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`."
82+ msgstr ""
83+
84+ #: ../../c-api/refcounting.rst:49 ../../c-api/refcounting.rst:62
85+ #: ../../c-api/refcounting.rst:128
86+ msgid "This function has no effect on :term:`immortal` objects."
87+ msgstr ""
88+
89+ #: ../../c-api/refcounting.rst:53 ../../c-api/refcounting.rst:77
90+ #: ../../c-api/refcounting.rst:156
91+ msgid "Immortal objects are not modified."
92+ msgstr ""
93+
94+ #: ../../c-api/refcounting.rst:59
95+ msgid ""
96+ "Indicate taking a new :term:`strong reference` to object *o*, indicating it "
97+ "is in use and should not be destroyed."
98+ msgstr ""
99+
100+ #: ../../c-api/refcounting.rst:64
101+ msgid ""
102+ "This function is usually used to convert a :term:`borrowed reference` to a "
103+ ":term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be "
104+ "used to create a new :term:`strong reference`."
105+ msgstr ""
106+
107+ #: ../../c-api/refcounting.rst:68
108+ msgid "When done using the object, release is by calling :c:func:`Py_DECREF`."
109+ msgstr ""
110+
111+ #: ../../c-api/refcounting.rst:70
112+ msgid ""
113+ "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
114+ "use :c:func:`Py_XINCREF`."
115+ msgstr ""
116+
117+ #: ../../c-api/refcounting.rst:73
118+ msgid ""
119+ "Do not expect this function to actually modify *o* in any way. For at least "
120+ ":pep:`some objects <0683>`, this function has no effect."
121+ msgstr ""
122+
123+ #: ../../c-api/refcounting.rst:83
124+ msgid ""
125+ "Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which"
126+ " case this has no effect."
127+ msgstr ""
128+
129+ #: ../../c-api/refcounting.rst:86
130+ msgid "See also :c:func:`Py_XNewRef`."
131+ msgstr ""
132+
133+ #: ../../c-api/refcounting.rst:91
134+ msgid ""
135+ "Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF`"
136+ " on *o* and return the object *o*."
137+ msgstr ""
138+
139+ #: ../../c-api/refcounting.rst:94
140+ msgid ""
141+ "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` "
142+ "should be called on it to release the reference."
143+ msgstr ""
144+
145+ #: ../../c-api/refcounting.rst:97
146+ msgid ""
147+ "The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be "
148+ "``NULL``."
149+ msgstr ""
150+
151+ #: ../../c-api/refcounting.rst:100
152+ msgid "For example::"
153+ msgstr "Sebagai contoh::"
154+
155+ #: ../../c-api/refcounting.rst:102
156+ msgid ""
157+ "Py_INCREF(obj);\n"
158+ "self->attr = obj;"
159+ msgstr ""
160+
161+ #: ../../c-api/refcounting.rst:105
162+ msgid "can be written as::"
163+ msgstr ""
164+
165+ #: ../../c-api/refcounting.rst:107
166+ msgid "self->attr = Py_NewRef(obj);"
167+ msgstr ""
168+
169+ #: ../../c-api/refcounting.rst:109
170+ msgid "See also :c:func:`Py_INCREF`."
171+ msgstr ""
172+
173+ #: ../../c-api/refcounting.rst:116
174+ msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL."
175+ msgstr ""
176+
177+ #: ../../c-api/refcounting.rst:118
178+ msgid "If the object *o* is ``NULL``, the function just returns ``NULL``."
179+ msgstr ""
180+
181+ #: ../../c-api/refcounting.rst:125
182+ msgid ""
183+ "Release a :term:`strong reference` to object *o*, indicating the reference "
184+ "is no longer used."
185+ msgstr ""
186+
187+ #: ../../c-api/refcounting.rst:130
188+ msgid ""
189+ "Once the last :term:`strong reference` is released (i.e. the object's "
190+ "reference count reaches 0), the object's type's deallocation function (which"
191+ " must not be ``NULL``) is invoked."
192+ msgstr ""
193+
194+ #: ../../c-api/refcounting.rst:135
195+ msgid ""
196+ "This function is usually used to delete a :term:`strong reference` before "
197+ "exiting its scope."
198+ msgstr ""
199+
200+ #: ../../c-api/refcounting.rst:138
201+ msgid ""
202+ "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
203+ "use :c:func:`Py_XDECREF`."
204+ msgstr ""
205+
206+ #: ../../c-api/refcounting.rst:141
207+ msgid ""
208+ "Do not expect this function to actually modify *o* in any way. For at least "
209+ ":pep:`some objects <683>`, this function has no effect."
210+ msgstr ""
211+
212+ #: ../../c-api/refcounting.rst:147
52213msgid ""
53214"The deallocation function can cause arbitrary Python code to be invoked "
54- "(e.g. when a class instance with a :meth:`__del__` method is deallocated). "
55- "While exceptions in such code are not propagated, the executed code has free "
56- " access to all Python global variables. This means that any object that is "
57- "reachable from a global variable should be in a consistent state before "
58- ":c:func:`Py_DECREF` is invoked. For example, code to delete an object from "
59- "a list should copy a reference to the deleted object in a temporary "
60- "variable, update the list data structure, and then call :c:func:`Py_DECREF` "
61- "for the temporary variable."
215+ "(e.g. when a class instance with a :meth:`~object. __del__` method is "
216+ "deallocated). While exceptions in such code are not propagated, the "
217+ "executed code has free access to all Python global variables. This means "
218+ "that any object that is reachable from a global variable should be in a "
219+ "consistent state before :c:func:`Py_DECREF` is invoked. For example, code "
220+ "to delete an object from a list should copy a reference to the deleted "
221+ "object in a temporary variable, update the list data structure, and then "
222+ "call :c:func:`Py_DECREF` for the temporary variable."
62223msgstr ""
63224
64- #: ../../c-api/refcounting.rst:47
225+ #: ../../c-api/refcounting.rst:162
65226msgid ""
66- "Decrement the reference count for object *o*. The object may be ``NULL``, "
67- "in which case the macro has no effect; otherwise the effect is the same as "
68- "for :c:func:`Py_DECREF`, and the same warning applies ."
227+ "Similar to :c:func:`Py_DECREF`, but the object *o* can be ``NULL``, in which "
228+ " case this has no effect. The same warning from :c:func:`Py_DECREF` applies "
229+ "here as well ."
69230msgstr ""
70231
71- #: ../../c-api/refcounting.rst:54
232+ #: ../../c-api/refcounting.rst:169
72233msgid ""
73- "Decrement the reference count for object *o*. The object may be ``NULL``, "
74- "in which case the macro has no effect; otherwise the effect is the same as "
75- "for :c:func:`Py_DECREF`, except that the argument is also set to ``NULL``. "
76- "The warning for :c:func:`Py_DECREF` does not apply with respect to the "
77- "object passed because the macro carefully uses a temporary variable and sets "
78- " the argument to ``NULL`` before decrementing its reference count ."
234+ "Release a :term:`strong reference` for object *o*. The object may be "
235+ "``NULL``, in which case the macro has no effect; otherwise the effect is the"
236+ " same as for :c:func:`Py_DECREF`, except that the argument is also set to "
237+ "``NULL``. The warning for :c:func:`Py_DECREF` does not apply with respect "
238+ "to the object passed because the macro carefully uses a temporary variable "
239+ "and sets the argument to ``NULL`` before releasing the reference."
79240msgstr ""
80241
81- #: ../../c-api/refcounting.rst:61
242+ #: ../../c-api/refcounting.rst:177
82243msgid ""
83- "It is a good idea to use this macro whenever decrementing the reference "
84- "count of an object that might be traversed during garbage collection."
244+ "It is a good idea to use this macro whenever releasing a reference to an "
245+ "object that might be traversed during garbage collection."
85246msgstr ""
86247
87- #: ../../c-api/refcounting.rst:65
248+ #: ../../c-api/refcounting.rst:180
88249msgid ""
89- "The following functions are for runtime dynamic embedding of Python: "
90- "``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
91- "exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`,"
92- " respectively."
250+ "The macro argument is now only evaluated once. If the argument has side "
251+ "effects, these are no longer duplicated."
93252msgstr ""
94253
95- #: ../../c-api/refcounting.rst:70
254+ #: ../../c-api/refcounting.rst:187
255+ msgid ""
256+ "Indicate taking a new :term:`strong reference` to object *o*. A function "
257+ "version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic "
258+ "embedding of Python."
259+ msgstr ""
260+
261+ #: ../../c-api/refcounting.rst:194
262+ msgid ""
263+ "Release a :term:`strong reference` to object *o*. A function version of "
264+ ":c:func:`Py_XDECREF`. It can be used for runtime dynamic embedding of "
265+ "Python."
266+ msgstr ""
267+
268+ #: ../../c-api/refcounting.rst:201
269+ msgid ""
270+ "Macro safely releasing a :term:`strong reference` to object *dst* and "
271+ "setting *dst* to *src*."
272+ msgstr ""
273+
274+ #: ../../c-api/refcounting.rst:204
275+ msgid "As in case of :c:func:`Py_CLEAR`, \" the obvious\" code can be deadly::"
276+ msgstr ""
277+
278+ #: ../../c-api/refcounting.rst:206
279+ msgid ""
280+ "Py_DECREF(dst);\n"
281+ "dst = src;"
282+ msgstr ""
283+
284+ #: ../../c-api/refcounting.rst:209
285+ msgid "The safe way is::"
286+ msgstr ""
287+
288+ #: ../../c-api/refcounting.rst:211
289+ msgid "Py_SETREF(dst, src);"
290+ msgstr ""
291+
292+ #: ../../c-api/refcounting.rst:213
293+ msgid ""
294+ "That arranges to set *dst* to *src* _before_ releasing the reference to the "
295+ "old value of *dst*, so that any code triggered as a side-effect of *dst* "
296+ "getting torn down no longer believes *dst* points to a valid object."
297+ msgstr ""
298+
299+ #: ../../c-api/refcounting.rst:220 ../../c-api/refcounting.rst:232
300+ msgid ""
301+ "The macro arguments are now only evaluated once. If an argument has side "
302+ "effects, these are no longer duplicated."
303+ msgstr ""
304+
305+ #: ../../c-api/refcounting.rst:227
96306msgid ""
97- "The following functions or macros are only for use within the interpreter "
98- "core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, "
99- ":c:func:`_Py_NewReference`, as well as the global variable "
100- ":c:data:`_Py_RefTotal`."
307+ "Variant of :c:macro:`Py_SETREF` macro that uses :c:func:`Py_XDECREF` instead"
308+ " of :c:func:`Py_DECREF`."
101309msgstr ""
0 commit comments