# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2024, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-27 09:00+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: c-api/code.rst:8
msgid "Code Objects"
msgstr ""
#: c-api/code.rst:12
msgid ""
"Code objects are a low-level detail of the CPython implementation. Each one "
"represents a chunk of executable code that hasn't yet been bound into a "
"function."
msgstr ""
#: c-api/code.rst:18
msgid ""
"The C structure of the objects used to describe code objects. The fields of "
"this type are subject to change at any time."
msgstr ""
#: c-api/code.rst:24
msgid ""
"This is an instance of :c:type:`PyTypeObject` representing the Python :ref:"
"`code object `."
msgstr ""
#: c-api/code.rst:30
msgid ""
"Return true if *co* is a :ref:`code object `. This function "
"always succeeds."
msgstr ""
#: c-api/code.rst:35
msgid ""
"Return the number of :term:`free (closure) variables ` in "
"a code object."
msgstr ""
#: c-api/code.rst:40
msgid ""
"Return the position of the first :term:`free (closure) variable ` in a code object."
msgstr ""
#: c-api/code.rst:45
msgid ""
"Renamed from ``PyCode_GetFirstFree`` as part of :ref:`unstable-c-api`. The "
"old name is deprecated, but will remain available until the signature "
"changes again."
msgstr ""
#: c-api/code.rst:51
msgid ""
"Return a new code object. If you need a dummy code object to create a "
"frame, use :c:func:`PyCode_NewEmpty` instead."
msgstr ""
#: c-api/code.rst:54
msgid ""
"Since the definition of the bytecode changes often, calling :c:func:"
"`PyUnstable_Code_New` directly can bind you to a precise Python version."
msgstr ""
#: c-api/code.rst:57
msgid ""
"The many arguments of this function are inter-dependent in complex ways, "
"meaning that subtle changes to values are likely to result in incorrect "
"execution or VM crashes. Use this function only with extreme care."
msgstr ""
#: c-api/code.rst:61
msgid "Added ``qualname`` and ``exceptiontable`` parameters."
msgstr ""
#: c-api/code.rst:68
msgid ""
"Renamed from ``PyCode_New`` as part of :ref:`unstable-c-api`. The old name "
"is deprecated, but will remain available until the signature changes again."
msgstr ""
#: c-api/code.rst:74
msgid ""
"Similar to :c:func:`PyUnstable_Code_New`, but with an extra "
"\"posonlyargcount\" for positional-only arguments. The same caveats that "
"apply to ``PyUnstable_Code_New`` also apply to this function."
msgstr ""
#: c-api/code.rst:79
msgid "as ``PyCode_NewWithPosOnlyArgs``"
msgstr ""
#: c-api/code.rst:81
msgid "Added ``qualname`` and ``exceptiontable`` parameters."
msgstr ""
#: c-api/code.rst:86
msgid ""
"Renamed to ``PyUnstable_Code_NewWithPosOnlyArgs``. The old name is "
"deprecated, but will remain available until the signature changes again."
msgstr ""
#: c-api/code.rst:92
msgid ""
"Return a new empty code object with the specified filename, function name, "
"and first line number. The resulting code object will raise an ``Exception`` "
"if executed."
msgstr ""
#: c-api/code.rst:98
msgid ""
"Return the line number of the instruction that occurs on or before "
"``byte_offset`` and ends after it. If you just need the line number of a "
"frame, use :c:func:`PyFrame_GetLineNumber` instead."
msgstr ""
#: c-api/code.rst:101
msgid ""
"For efficiently iterating over the line numbers in a code object, use :pep:"
"`the API described in PEP 626 <0626#out-of-process-debuggers-and-profilers>`."
msgstr ""
#: c-api/code.rst:106
msgid ""
"Sets the passed ``int`` pointers to the source code line and column numbers "
"for the instruction at ``byte_offset``. Sets the value to ``0`` when "
"information is not available for any particular element."
msgstr ""
#: c-api/code.rst:110
msgid "Returns ``1`` if the function succeeds and 0 otherwise."
msgstr ""
#: c-api/code.rst:116
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong "
"reference to a :c:type:`PyBytesObject` representing the bytecode in a code "
"object. On error, ``NULL`` is returned and an exception is raised."
msgstr ""
#: c-api/code.rst:121
msgid ""
"This ``PyBytesObject`` may be created on-demand by the interpreter and does "
"not necessarily represent the bytecode actually executed by CPython. The "
"primary use case for this function is debuggers and profilers."
msgstr ""
#: c-api/code.rst:129
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the local "
"variables. On error, ``NULL`` is returned and an exception is raised."
msgstr ""
#: c-api/code.rst:138
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the local "
"variables that are referenced by nested functions. On error, ``NULL`` is "
"returned and an exception is raised."
msgstr ""
#: c-api/code.rst:147
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the :term:"
"`free (closure) variables `. On error, ``NULL`` is "
"returned and an exception is raised."
msgstr ""
#: c-api/code.rst:156
msgid ""
"Register *callback* as a code object watcher for the current interpreter. "
"Return an ID which may be passed to :c:func:`PyCode_ClearWatcher`. In case "
"of error (e.g. no more watcher IDs available), return ``-1`` and set an "
"exception."
msgstr ""
#: c-api/code.rst:165
msgid ""
"Clear watcher identified by *watcher_id* previously returned from :c:func:"
"`PyCode_AddWatcher` for the current interpreter. Return ``0`` on success, or "
"``-1`` and set an exception on error (e.g. if the given *watcher_id* was "
"never registered.)"
msgstr ""
#: c-api/code.rst:174
msgid ""
"Enumeration of possible code object watcher events: - "
"``PY_CODE_EVENT_CREATE`` - ``PY_CODE_EVENT_DESTROY``"
msgstr ""
#: c-api/code.rst:182
msgid "Type of a code object watcher callback function."
msgstr ""
#: c-api/code.rst:184
msgid ""
"If *event* is ``PY_CODE_EVENT_CREATE``, then the callback is invoked after "
"*co* has been fully initialized. Otherwise, the callback is invoked before "
"the destruction of *co* takes place, so the prior state of *co* can be "
"inspected."
msgstr ""
#: c-api/code.rst:189
msgid ""
"If *event* is ``PY_CODE_EVENT_DESTROY``, taking a reference in the callback "
"to the about-to-be-destroyed code object will resurrect it and prevent it "
"from being freed at this time. When the resurrected object is destroyed "
"later, any watcher callbacks active at that time will be called again."
msgstr ""
#: c-api/code.rst:194
msgid ""
"Users of this API should not rely on internal runtime implementation "
"details. Such details may include, but are not limited to, the exact order "
"and timing of creation and destruction of code objects. While changes in "
"these details may result in differences observable by watchers (including "
"whether a callback is invoked or not), it does not change the semantics of "
"the Python code being executed."
msgstr ""
#: c-api/code.rst:201
msgid ""
"If the callback sets an exception, it must return ``-1``; this exception "
"will be printed as an unraisable exception using :c:func:"
"`PyErr_WriteUnraisable`. Otherwise it should return ``0``."
msgstr ""
#: c-api/code.rst:205
msgid ""
"There may already be a pending exception set on entry to the callback. In "
"this case, the callback should return ``0`` with the same exception still "
"set. This means the callback may not call any other API that can set an "
"exception unless it saves and clears the exception state first, and restores "
"it before returning."
msgstr ""
#: c-api/code.rst:216
msgid "This is a :term:`soft deprecated` function that does nothing."
msgstr ""
#: c-api/code.rst:218
msgid ""
"Prior to Python 3.10, this function would perform basic optimizations to a "
"code object."
msgstr ""
#: c-api/code.rst:221
msgid "This function now does nothing."
msgstr ""
#: c-api/code.rst:228
msgid "Code Object Flags"
msgstr ""
#: c-api/code.rst:230
msgid ""
"Code objects contain a bit-field of flags, which can be retrieved as the :"
"attr:`~codeobject.co_flags` Python attribute (for example using :c:func:"
"`PyObject_GetAttrString`), and set using a *flags* argument to :c:func:"
"`PyUnstable_Code_New` and similar functions."
msgstr ""
#: c-api/code.rst:235
msgid ""
"Flags whose names start with ``CO_FUTURE_`` correspond to features normally "
"selectable by :ref:`future statements `. These flags can be used in :"
"c:member:`PyCompilerFlags.cf_flags`. Note that many ``CO_FUTURE_`` flags are "
"mandatory in current versions of Python, and setting them has no effect."
msgstr ""
#: c-api/code.rst:241
msgid ""
"The following flags are available. For their meaning, see the linked "
"documentation of their Python equivalents."
msgstr ""
#: c-api/code.rst:249
msgid "Flag"
msgstr ""
#: c-api/code.rst:250
msgid "Meaning"
msgstr ""
#: c-api/code.rst:252
msgid ":py:data:`inspect.CO_OPTIMIZED`"
msgstr ""
#: c-api/code.rst:254
msgid ":py:data:`inspect.CO_NEWLOCALS`"
msgstr ""
#: c-api/code.rst:256
msgid ":py:data:`inspect.CO_VARARGS`"
msgstr ""
#: c-api/code.rst:258
msgid ":py:data:`inspect.CO_VARKEYWORDS`"
msgstr ""
#: c-api/code.rst:260
msgid ":py:data:`inspect.CO_NESTED`"
msgstr ""
#: c-api/code.rst:262
msgid ":py:data:`inspect.CO_GENERATOR`"
msgstr ""
#: c-api/code.rst:264
msgid ":py:data:`inspect.CO_COROUTINE`"
msgstr ""
#: c-api/code.rst:266
msgid ":py:data:`inspect.CO_ITERABLE_COROUTINE`"
msgstr ""
#: c-api/code.rst:268
msgid ":py:data:`inspect.CO_ASYNC_GENERATOR`"
msgstr ""
#: c-api/code.rst:271
msgid "no effect (:py:data:`__future__.division`)"
msgstr ""
#: c-api/code.rst:273
msgid "no effect (:py:data:`__future__.absolute_import`)"
msgstr ""
#: c-api/code.rst:275
msgid "no effect (:py:data:`__future__.with_statement`)"
msgstr ""
#: c-api/code.rst:277
msgid "no effect (:py:data:`__future__.print_function`)"
msgstr ""
#: c-api/code.rst:279
msgid "no effect (:py:data:`__future__.unicode_literals`)"
msgstr ""
#: c-api/code.rst:281
msgid "no effect (:py:data:`__future__.generator_stop`)"
msgstr ""
#: c-api/code.rst:283
msgid ":py:data:`__future__.annotations`"
msgstr ""
#: c-api/code.rst:287
msgid "Extra information"
msgstr ""
#: c-api/code.rst:289
msgid ""
"To support low-level extensions to frame evaluation, such as external just-"
"in-time compilers, it is possible to attach arbitrary extra data to code "
"objects."
msgstr ""
#: c-api/code.rst:293
msgid ""
"These functions are part of the unstable C API tier: this functionality is a "
"CPython implementation detail, and the API may change without deprecation "
"warnings."
msgstr ""
#: c-api/code.rst:299
msgid "Return a new opaque index value used to adding data to code objects."
msgstr ""
#: c-api/code.rst:301
msgid ""
"You generally call this function once (per interpreter) and use the result "
"with ``PyCode_GetExtra`` and ``PyCode_SetExtra`` to manipulate data on "
"individual code objects."
msgstr ""
#: c-api/code.rst:305
msgid ""
"If *free* is not ``NULL``: when a code object is deallocated, *free* will be "
"called on non-``NULL`` data stored under the new index. Use :c:func:"
"`Py_DecRef` when storing :c:type:`PyObject`."
msgstr ""
#: c-api/code.rst:311
msgid "as ``_PyEval_RequestCodeExtraIndex``"
msgstr ""
#: c-api/code.rst:315
msgid ""
"Renamed to ``PyUnstable_Eval_RequestCodeExtraIndex``. The old private name "
"is deprecated, but will be available until the API changes."
msgstr ""
#: c-api/code.rst:321
msgid ""
"Set *extra* to the extra data stored under the given index. Return 0 on "
"success. Set an exception and return -1 on failure."
msgstr ""
#: c-api/code.rst:324
msgid ""
"If no data was set under the index, set *extra* to ``NULL`` and return 0 "
"without setting an exception."
msgstr ""
#: c-api/code.rst:329
msgid "as ``_PyCode_GetExtra``"
msgstr ""
#: c-api/code.rst:333
msgid ""
"Renamed to ``PyUnstable_Code_GetExtra``. The old private name is deprecated, "
"but will be available until the API changes."
msgstr ""
#: c-api/code.rst:339
msgid ""
"Set the extra data stored under the given index to *extra*. Return 0 on "
"success. Set an exception and return -1 on failure."
msgstr ""
#: c-api/code.rst:344
msgid "as ``_PyCode_SetExtra``"
msgstr ""
#: c-api/code.rst:348
msgid ""
"Renamed to ``PyUnstable_Code_SetExtra``. The old private name is deprecated, "
"but will be available until the API changes."
msgstr ""
#: c-api/code.rst:3
msgid "object"
msgstr ""
#: c-api/code.rst:3
msgid "code"
msgstr ""
#: c-api/code.rst:3
msgid "code object"
msgstr ""
#: c-api/code.rst:64
msgid "PyCode_New (C function)"
msgstr ""
#: c-api/code.rst:77
msgid "PyCode_NewWithPosOnlyArgs (C function)"
msgstr ""
#: c-api/code.rst:309
msgid "_PyEval_RequestCodeExtraIndex (C function)"
msgstr ""
#: c-api/code.rst:327
msgid "_PyCode_GetExtra (C function)"
msgstr ""
#: c-api/code.rst:342
msgid "_PyCode_SetExtra (C function)"
msgstr ""