# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
# Translators:
# Rafael Fontenelle , 2025
# Revisto , 2025
# Sepehr Rasouli , 2026
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-21 11:59+0000\n"
"PO-Revision-Date: 2026-09-11 13:56+0330\n"
"Last-Translator: Sepehr Rasouli , 2026\n"
"Language-Team: Persian (https://github.com/python/python-docs-fa/)\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.6\n"
msgid "Frame objects"
msgstr " "
msgid "The C structure of the objects used to describe frame objects."
msgstr " C ."
msgid "There are no public members in this structure."
msgstr " ."
msgid "The members of this structure were removed from the public C API. Refer to the :ref:`What's New entry ` for details."
msgstr " API C . :ref:` What's New ` ."
msgid "The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions can be used to get a frame object."
msgstr " :c:func:`PyEval_GetFrame` :c:func:`PyThreadState_GetFrame` ."
msgid "See also :ref:`Reflection `."
msgstr " :ref:` `."
msgid "The type of frame objects. It is the same object as :py:class:`types.FrameType` in the Python layer."
msgstr " . :py:class:`types.FrameType` ."
msgid "Previously, this type was only available after including ````."
msgstr " ```` ."
msgid "Create a new frame object. This function returns a :term:`strong reference` to the new frame object on success, and returns ``NULL`` with an exception set on failure."
msgstr " . :term:` ` ``NULL`` ."
msgid "Return non-zero if *obj* is a frame object."
msgstr " *obj* ."
msgid "Previously, this function was only available after including ````."
msgstr " ```` ."
msgid "Get the *frame* next outer frame."
msgstr " *frame*."
msgid "Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame. This raises no exceptions."
msgstr " :term:` ` *frame* ``NULL``. ."
msgid "Get the *frame*'s :attr:`~frame.f_builtins` attribute."
msgstr " :attr:`~frame.f_builtins` ** ."
msgid "Return a :term:`strong reference`. The result cannot be ``NULL``."
msgstr " :term:`strong reference` . ``NULL`` ."
msgid "Get the *frame* code."
msgstr " ** ."
msgid "Return a :term:`strong reference`."
msgstr " :term:`strong reference` ."
msgid "The result (frame code) cannot be ``NULL``."
msgstr " ( ) ``NULL`` ."
msgid "Get the generator, coroutine, or async generator that owns this frame, or ``NULL`` if this frame is not owned by a generator. Does not raise an exception, even if the return value is ``NULL``."
msgstr " ``NULL`` . ``NULL`` ."
msgid "Return a :term:`strong reference`, or ``NULL``."
msgstr " :term:` ` ``NULL`` ."
msgid "Get the *frame*'s :attr:`~frame.f_globals` attribute."
msgstr " :attr:`~frame.f_globals` **."
msgid "Get the *frame*'s :attr:`~frame.f_lasti` attribute."
msgstr " :attr:`~frame.f_lasti` ** ."
msgid "Returns -1 if ``frame.f_lasti`` is ``None``."
msgstr " ``frame.f_lasti`` ``None`` -1 ."
msgid "Get the variable *name* of *frame*."
msgstr " *name* *frame* ."
msgid "Return a :term:`strong reference` to the variable value on success."
msgstr " :term:` ` ."
msgid "Raise :exc:`NameError` and return ``NULL`` if the variable does not exist."
msgstr " :exc:`NameError` ``NULL`` ."
msgid "Raise an exception and return ``NULL`` on error."
msgstr " ``NULL`` ."
msgid "*name* type must be a :class:`str`."
msgstr " *name* :class:`str` ."
msgid "Similar to :c:func:`PyFrame_GetVar`, but the variable name is a C string encoded in UTF-8."
msgstr " :c:func:`PyFrame_GetVar` C UTF-8 ."
msgid "Get the *frame*'s :attr:`~frame.f_locals` attribute. If the frame refers to an :term:`optimized scope`, this returns a write-through proxy object that allows modifying the locals. In all other cases (classes, modules, :func:`exec`, :func:`eval`) it returns the mapping representing the frame locals directly (as described for :func:`locals`)."
msgstr " :attr:`~frame.f_locals` ** . :term:` ` . ( :func:`exec` :func:`eval`) ( :func:`locals` )."
msgid "As part of :pep:`667`, return an instance of :c:var:`PyFrameLocalsProxy_Type`."
msgstr " :pep:`667` :c:var:`PyFrameLocalsProxy_Type` ."
msgid "Return the line number that *frame* is currently executing."
msgstr " *frame* ."
msgid "Frame locals proxies"
msgstr " "
msgid "The :attr:`~frame.f_locals` attribute on a :ref:`frame object ` is an instance of a \"frame-locals proxy\". The proxy object exposes a write-through view of the underlying locals dictionary for the frame. This ensures that the variables exposed by ``f_locals`` are always up to date with the live local variables in the frame itself."
msgstr " :attr:`~frame.f_locals` :ref:` ` (frame-locals proxy) . . ``f_locals`` ."
msgid "See :pep:`667` for more information."
msgstr " :pep:`667` ."
msgid "The type of frame :func:`locals` proxy objects."
msgstr " :func:`locals` ."
msgid "Return non-zero if *obj* is a frame :func:`locals` proxy."
msgstr " *obj* :func:`locals` ."
msgid "Legacy local variable APIs"
msgstr "API "
msgid "These APIs are :term:`soft deprecated`. As of Python 3.13, they do nothing. They exist solely for backwards compatibility."
msgstr " API :term:`soft deprecated` . 3.13 . ."
msgid "Prior to Python 3.13, this function would copy the :attr:`~frame.f_locals` attribute of *f* to the internal \"fast\" array of local variables, allowing changes in frame objects to be visible to the interpreter. If *clear* was true, this function would process variables that were unset in the locals dictionary."
msgstr " 3.13 :attr:`~frame.f_locals` *f* (fast) . *clear* ."
msgid "This function now does nothing."
msgstr " ."
msgid "Prior to Python 3.13, this function would copy the internal \"fast\" array of local variables (which is used by the interpreter) to the :attr:`~frame.f_locals` attribute of *f*, allowing changes in local variables to be visible to frame objects."
msgstr " 3.13 ( ) :attr:`~frame.f_locals` *f* ."
msgid "Prior to Python 3.13, this function was similar to :c:func:`PyFrame_FastToLocals`, but would return ``0`` on success, and ``-1`` with an exception set on failure."
msgstr " 3.13 :c:func:`PyFrame_FastToLocals` ``0`` ``-1`` ."
msgid ":pep:`667`"
msgstr ":pep:`667`"
msgid "Internal frames"
msgstr " "
msgid "Unless using :pep:`523`, you will not need this."
msgstr " :pep:`523` ."
msgid "The interpreter's internal frame representation."
msgstr " ."
msgid "Return a :term:`strong reference` to the code object for the frame."
msgstr " :term:`strong reference` ."
msgid "Return the byte offset into the last executed instruction."
msgstr " ."
msgid "Return the currently executing line number, or -1 if there is no line number."
msgstr " -1 ."
msgid "An array of executable kinds (executor types) for frames, used for internal debugging and tracing."
msgstr " (executor types) ."
msgid "Tools like debuggers and profilers can use this to identify the type of execution context associated with a frame (such as to filter out internal frames). The entries are indexed by the following constants:"
msgstr " ( ). :"
msgid "Constant"
msgstr ""
msgid "Description"
msgstr ""
msgid "The frame is internal (For example: inlined) and should be skipped by tools."
msgstr " ( : (inlined)) ."
msgid "The frame corresponds to a standard Python function."
msgstr " ."
msgid "The frame corresponds to a function defined in native code."
msgstr " ."
msgid "The frame corresponds to a method on a class instance."
msgstr " ."
msgid "Note that reading the executable kind from a frame is currently only possible with undocumented internal APIs."
msgstr " API ."
msgid "The number of entries in :c:data:`PyUnstable_ExecutableKinds`."
msgstr " :c:data:`PyUnstable_ExecutableKinds`."
#~ msgid "However, Python's C API lacks a function to read the executable kind from a frame. Instead, use this recipe:"
#~ msgstr " API C (executable) . :"
#~ msgid ""
#~ "int\n"
#~ "get_executable_kind(PyFrameObject *frame)\n"
#~ "{\n"
#~ " _PyInterpreterFrame *f = frame->f_frame;\n"
#~ " PyObject *exec = PyStackRef_AsPyObjectBorrow(f->f_executable);\n"
#~ "\n"
#~ " if (PyCode_Check(exec)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_PY_FUNCTION;\n"
#~ " }\n"
#~ " if (PyMethod_Check(exec)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTION;\n"
#~ " }\n"
#~ " if (Py_IS_TYPE(exec, &PyMethodDescr_Type)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_METHOD_DESCRIPTOR;\n"
#~ " }\n"
#~ "\n"
#~ " return PyUnstable_EXECUTABLE_KIND_SKIP;\n"
#~ "}"
#~ msgstr ""
#~ "int\n"
#~ "get_executable_kind(PyFrameObject *frame)\n"
#~ "{\n"
#~ " _PyInterpreterFrame *f = frame->f_frame;\n"
#~ " PyObject *exec = PyStackRef_AsPyObjectBorrow(f->f_executable);\n"
#~ "\n"
#~ " if (PyCode_Check(exec)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_PY_FUNCTION;\n"
#~ " }\n"
#~ " if (PyMethod_Check(exec)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTION;\n"
#~ " }\n"
#~ " if (Py_IS_TYPE(exec, &PyMethodDescr_Type)) {\n"
#~ " return PyUnstable_EXECUTABLE_KIND_METHOD_DESCRIPTOR;\n"
#~ " }\n"
#~ "\n"
#~ " return PyUnstable_EXECUTABLE_KIND_SKIP;\n"
#~ "}"