# 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: # Alireza Shabani (Revisto) , 2025 # Danial Behzadi , 2025 # Rafael Fontenelle , 2025 # Sepehr Rasouli , 2026 # arman mohebali , 2026 # msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-10-22 04:16+0000\n" "PO-Revision-Date: 2021-06-28 00:50+0000\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" msgid "Common Object Structures" msgstr "ساختارهای مشترک اشیاء" msgid "There are a large number of structures which are used in the definition of object types for Python. This section describes these structures and how they are used." msgstr "تعداد زیادی ساختار وجود دارند که در تعریف نوع‌های شیء برای پایتون استفاده می‌شوند. این بخش این ساختارها و نحوه‌ی استفاده از آن‌ها را شرح می‌دهد." msgid "Base object types and macros" msgstr "نوع‌های شیء پایه و ماکروها" msgid "All Python objects ultimately share a small number of fields at the beginning of the object's representation in memory. These are represented by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are defined, in turn, by the expansions of some macros also used, whether directly or indirectly, in the definition of all other Python objects. Additional macros can be found under :ref:`reference counting `." msgstr "همه‌ی اشیاء پایتون در نهایت تعداد اندکی فیلد را در ابتدای بازنمایی شیء در حافظه به اشتراک می‌گذارند. این فیلدها با نوع‌های :c:type:`PyObject` و :c:type:`PyVarObject` بازنمایی می‌شوند که آن نوع‌ها نیز به نوبه‌ی خود توسط بسط برخی ماکروها تعریف می‌شوند؛ ماکروهایی که چه به‌طور مستقیم و چه به‌طور غیرمستقیم، در تعریف همه‌ی اشیاء دیگر پایتون نیز به کار رفته‌اند. ماکروهای دیگر را می‌توانید در :ref:`شمارش ارجاع ` بیابید." msgid "All object types are extensions of this type. This is a type which contains the information Python needs to treat a pointer to an object as an object. In a normal \"release\" build, it contains only the object's reference count and a pointer to the corresponding type object. Nothing is actually declared to be a :c:type:`PyObject`, but every pointer to a Python object can be cast to a :c:expr:`PyObject*`." msgstr "همه‌ی نوع‌های شیء توسعه‌هایی از این نوع هستند. این نوعی است که اطلاعات مورد نیاز پایتون برای در نظر گرفتن یک اشاره‌گر به یک شیء به‌عنوان یک شیء را در بر می‌گیرد. در یک ساختِ «انتشار» معمولی، این نوع تنها شمارش ارجاع شیء و یک اشاره‌گر به شیء نوع متناظر را در بر دارد. در واقع هیچ‌چیز به‌عنوان یک :c:type:`PyObject` اعلام نمی‌شود، اما هر اشاره‌گر به یک شیء پایتون را می‌توان به :c:expr:`PyObject*` قالب‌ریزی کرد." msgid "The members must not be accessed directly; instead use macros such as :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "اعضا نباید به‌طور مستقیم مورد دسترسی قرار گیرند؛ در عوض از ماکروهایی مانند :c:macro:`Py_REFCNT` و :c:macro:`Py_TYPE` استفاده کنید." msgid "In the :ref:`Stable ABI ` for Free-Threaded Builds (``abi3t``), this struct is opaque; its size and layout may change between Python versions. In Stable ABI for non-free-threaded builds (``abi3``), the :c:member:`!ob_refcnt` and :c:member:`!ob_type` fields are available, but using them directly is discouraged." msgstr "در :ref:`ABI پایدار ` برای ساخت‌های نخ‌آزاد (``abi3t``)، این struct کدر است؛ اندازه و چیدمان آن ممکن است بین نسخه‌های پایتون تغییر کند. در ABI پایدار برای ساخت‌های غیرنخ‌آزاد (``abi3``)، فیلدهای :c:member:`!ob_refcnt` و :c:member:`!ob_type` در دسترس هستند، اما استفاده‌ی مستقیم از آن‌ها توصیه نمی‌شود." msgid "The object's reference count, as returned by :c:macro:`Py_REFCNT`. Do not use this field directly; instead use functions and macros such as :c:macro:`!Py_REFCNT`, :c:func:`Py_INCREF` and :c:func:`Py_DecRef`." msgstr "شمارش ارجاع شیء، همان‌طور که توسط :c:macro:`Py_REFCNT` برگردانده می‌شود. از این فیلد مستقیماً استفاده نکنید؛ در عوض از توابع و ماکروهایی مانند :c:macro:`!Py_REFCNT`، :c:func:`Py_INCREF` و :c:func:`Py_DecRef` استفاده کنید." msgid "The field type may be different from ``Py_ssize_t``, depending on build configuration and platform." msgstr "نوع فیلد ممکن است بسته به پیکربندی ساخت و پلتفرم، از ``Py_ssize_t`` متفاوت باشد." msgid "The object's type. Do not use this field directly; use :c:macro:`Py_TYPE` and :c:func:`Py_SET_TYPE` instead." msgstr "نوع شیء. از این فیلد مستقیماً استفاده نکنید؛ به‌جای آن از :c:macro:`Py_TYPE` و :c:func:`Py_SET_TYPE` استفاده کنید." msgid "A :ref:`per-object lock `, present only in the :term:`free-threaded ` build (when :c:macro:`Py_GIL_DISABLED` is defined)." msgstr "یک :ref:`قفل به ازای شیء `، که فقط در ساخت :term:`نخ‌آزاد ` (هنگامی که :c:macro:`Py_GIL_DISABLED` تعریف شده باشد) وجود دارد." msgid "This field is **reserved for use by the critical section API** (:c:macro:`Py_BEGIN_CRITICAL_SECTION` / :c:macro:`Py_END_CRITICAL_SECTION`). Do **not** lock it directly with ``PyMutex_Lock``; doing so can cause deadlocks. If you need your own lock, add a separate :c:type:`PyMutex` field to your object struct." msgstr "این فیلد **برای استفاده توسط API بخش بحرانی** (:c:macro:`Py_BEGIN_CRITICAL_SECTION` / :c:macro:`Py_END_CRITICAL_SECTION`) **رزرو شده است**. آن را مستقیماً با ``PyMutex_Lock`` قفل **نکنید**؛ انجام این کار می‌تواند باعث بن‌بست شود. اگر به قفل خودتان نیاز دارید، یک فیلد جداگانه‌ی :c:type:`PyMutex` به struct شیء خود اضافه کنید." msgid "An extension of :c:type:`PyObject` that adds the :c:member:`~PyVarObject.ob_size` field. This is intended for objects that have some notion of *length*." msgstr "توسعه‌ای از :c:type:`PyObject` که فیلد :c:member:`~PyVarObject.ob_size` را به آن می‌افزاید. این برای شیءهایی در نظر گرفته شده است که نوعی مفهوم از *طول* دارند." msgid "As with :c:type:`!PyObject`, the members must not be accessed directly; instead use macros such as :c:macro:`Py_SIZE`, :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "همان‌طور که در مورد :c:type:`!PyObject` صادق است، نباید به اعضا مستقیماً دسترسی داشته باشید؛ در عوض از ماکروهایی مانند :c:macro:`Py_SIZE`، :c:macro:`Py_REFCNT` و :c:macro:`Py_TYPE` استفاده کنید." msgid "In the :ref:`Stable ABI ` for Free-Threaded Builds (``abi3t``), this struct is opaque; its size and layout may change between Python versions. In Stable ABI for non-free-threaded builds (``abi3``), the :c:member:`!ob_base` and :c:member:`!ob_size` fields are available, but using them directly is discouraged." msgstr "در :ref:`ABI پایدار ` برای ساخت‌های نخ‌آزاد (``abi3t``)، این struct کدر است؛ اندازه و چیدمان آن ممکن است بین نسخه‌های پایتون تغییر کند. در ABI پایدار برای ساخت‌های غیرنخ‌آزاد (``abi3``)، فیلدهای :c:member:`!ob_base` و :c:member:`!ob_size` در دسترس هستند، اما استفاده‌ی مستقیم از آن‌ها توصیه نمی‌شود." msgid "Common object header. Typically, this field is not accessed directly; instead :c:type:`!PyVarObject` can be cast to :c:type:`PyObject`." msgstr "سرآیند مشترک شیء. معمولاً این فیلد مستقیماً فراخوانی نمی‌شود؛ در عوض می‌توانید :c:type:`!PyVarObject` را به :c:type:`PyObject` تبدیل نوع کنید." msgid "A size field, whose contents should be considered an object's internal implementation detail." msgstr "فیلد اندازه، که محتوای آن باید به‌عنوان جزئیات داخلی پیاده‌سازی یک شیء در نظر گرفته شود." msgid "Do not use this field directly; use :c:macro:`Py_SIZE` instead." msgstr "از این فیلد به‌طور مستقیم استفاده نکنید؛ در عوض از :c:macro:`Py_SIZE` استفاده کنید." msgid "Object creation functions such as :c:func:`PyObject_NewVar` will generally set this field to the requested size (number of items). After creation, arbitrary values can be stored in :c:member:`!ob_size` using :c:macro:`Py_SET_SIZE`." msgstr "توابع ایجاد شیء مانند :c:func:`PyObject_NewVar` به‌طور کلی این فیلد را به اندازه‌ی درخواستی (تعداد آیتم‌ها) تنظیم می‌کنند. پس از ایجاد، می‌توان مقادیر دلخواه را در :c:member:`!ob_size` با استفاده از :c:macro:`Py_SET_SIZE` ذخیره کرد." msgid "To get an object's publicly exposed length, as returned by the Python function :py:func:`len`, use :c:func:`PyObject_Length` instead." msgstr "برای به‌دست‌آوردن طولِ عمومیِ در دسترسِ یک شیء، که تابع پایتونی :py:func:`len` بازمی‌گرداند، به‌جای آن از :c:func:`PyObject_Length` استفاده کنید." msgid "This is a macro used when declaring new types which represent objects without a varying length. The PyObject_HEAD macro expands to::" msgstr "این ماکرو هنگام اعلان نوع‌های جدیدی که اشیاء بدون طول متغیر را بازنمایی می‌کنند، به کار می‌رود. ماکرو PyObject_HEAD به شکل زیر بسط می‌یابد::" msgid "PyObject ob_base;" msgstr "PyObject ob_base;" msgid "See documentation of :c:type:`PyObject` above." msgstr "به مستندات :c:type:`PyObject` در بالا مراجعه کنید." msgid "This is a macro used when declaring new types which represent objects with a length that varies from instance to instance. The PyObject_VAR_HEAD macro expands to::" msgstr "این ماکرو هنگام اعلان نوع‌های جدیدی به کار می‌رود که شیءهایی را نمایندگی می‌کنند که طولشان از نمونه‌ای به نمونه‌ای دیگر تغییر می‌کند. ماکرو PyObject_VAR_HEAD به شکل زیر بسط می‌یابد::" msgid "PyVarObject ob_base;" msgstr "PyVarObject ob_base;" msgid "See documentation of :c:type:`PyVarObject` above." msgstr "به مستندات :c:type:`PyVarObject` در بالا مراجعه کنید." msgid "The base class of all other objects, the same as :class:`object` in Python." msgstr "کلاس پایه‌ی همه‌ی اشیاء دیگر، همانند :class:`object` در پایتون." msgid "Test if the *x* object is the *y* object, the same as ``x is y`` in Python." msgstr "بررسی می‌کند که آیا شیء *x* همان شیء *y* است، همانند ``x is y`` در پایتون." msgid "Test if an object is the ``None`` singleton, the same as ``x is None`` in Python." msgstr "بررسی می‌کند که آیا یک شیء، تک‌نمونه‌ی ``None`` است یا نه؛ همانند ``x is None`` در پایتون." msgid "Test if an object is the ``True`` singleton, the same as ``x is True`` in Python." msgstr "بررسی می‌کند که آیا یک شیء تک‌نمونه‌ی ``True`` است یا نه؛ همانند ``x is True`` در پایتون." msgid "Test if an object is the ``False`` singleton, the same as ``x is False`` in Python." msgstr "بررسی می‌کند که آیا یک شیء، تک‌نمونه‌ی ``False`` است، همانند ``x is False`` در پایتون." msgid "Get the type of the Python object *o*." msgstr "نوع شیء پایتون *o* را به دست می‌آورد." msgid "The returned reference is :term:`borrowed ` from *o*. Do not release it with :c:func:`Py_DECREF` or similar." msgstr "ارجاع بازگردانده‌شده از *o* :term:`امانی ` است. آن را با :c:func:`Py_DECREF` یا مشابه آن آزاد نکنید." msgid ":c:func:`Py_TYPE()` is changed to an inline static function. The parameter type is no longer :c:expr:`const PyObject*`." msgstr ":c:func:`Py_TYPE()` به یک تابع ایستای درون‌خطی تغییر کرده است. نوع پارامتر دیگر :c:expr:`const PyObject*` نیست." msgid "Return non-zero if the object *o* type is *type*. Return zero otherwise. Equivalent to: ``Py_TYPE(o) == type``." msgstr "اگر نوع شیء *o* برابر با *type* باشد، مقدار غیرصفر برمی‌گرداند. در غیر این صورت صفر برمی‌گرداند. معادل با: ``Py_TYPE(o) == type``." msgid "Set the type of object *o* to *type*, without any checking or reference counting." msgstr "نوع شیء *o* را بدون هیچ بررسی یا شمارش ارجاع، به *type* تنظیم می‌کند." msgid "This is a very low-level operation. Consider instead setting the Python attribute :attr:`~object.__class__` using :c:func:`PyObject_SetAttrString` or similar." msgstr "این یک عملیات بسیار سطح‌پایین است. به‌جای این کار، تنظیم ویژگی پایتونی :attr:`~object.__class__` با استفاده از :c:func:`PyObject_SetAttrString` یا مشابه آن را در نظر بگیرید." msgid "Note that assigning an incompatible type can lead to undefined behavior." msgstr "توجه داشته باشید که انتساب یک نوع ناسازگار می‌تواند منجر به رفتار تعریف‌نشده شود." msgid "If *type* is a :ref:`heap type `, the caller must create a new reference to it. Similarly, if the old type of *o* is a heap type, the caller must release a reference to that type." msgstr "اگر *type* یک :ref:`نوع هیپ ` باشد، فراخوان‌کننده باید یک ارجاع جدید به آن ایجاد کند. به‌طور مشابه، اگر نوع قبلی *o* یک نوع هیپ باشد، فراخوان‌کننده باید یک ارجاع به آن نوع را آزاد کند." msgid "Get the :c:member:`~PyVarObject.ob_size` field of *o*." msgstr "گرفتن فیلد :c:member:`~PyVarObject.ob_size` از *o*." msgid ":c:func:`Py_SIZE()` is changed to an inline static function. The parameter type is no longer :c:expr:`const PyVarObject*`." msgstr ":c:func:`Py_SIZE()` به یک تابع ایستای درون‌خطی تغییر یافته است. نوع پارامتر دیگر :c:expr:`const PyVarObject*` نیست." msgid "Set the :c:member:`~PyVarObject.ob_size` field of *o* to *size*." msgstr "فیلد :c:member:`~PyVarObject.ob_size` از *o* را برابر *size* قرار می‌دهد." msgid "This is a macro which expands to initialization values for a new :c:type:`PyObject` type. This macro expands to::" msgstr "این یک ماکرو است که به مقادیر مقداردهی اولیه برای یک نوع جدید :c:type:`PyObject` بسط می‌یابد. این ماکرو به صورت زیر بسط می‌یابد::" msgid "" "_PyObject_EXTRA_INIT\n" "1, type," msgstr "" "_PyObject_EXTRA_INIT\n" "1, type," msgid "This is a macro which expands to initialization values for a new :c:type:`PyVarObject` type, including the :c:member:`~PyVarObject.ob_size` field. This macro expands to::" msgstr "این یک ماکرو است که به مقادیر مقداردهی اولیه برای یک نوع جدید :c:type:`PyVarObject` بسط می‌یابد و فیلد :c:member:`~PyVarObject.ob_size` را نیز در بر می‌گیرد. این ماکرو به این صورت بسط می‌یابد::" msgid "" "_PyObject_EXTRA_INIT\n" "1, type, size," msgstr "" "_PyObject_EXTRA_INIT\n" "1, type, size," msgid "Implementing functions and methods" msgstr "پیاده‌سازی توابع و متدها" msgid "Type of the functions used to implement most Python callables in C. Functions of this type take two :c:expr:`PyObject*` parameters and return one such value. If the return value is ``NULL``, an exception shall have been set. If not ``NULL``, the return value is interpreted as the return value of the function as exposed in Python. The function must return a new reference." msgstr "نوع توابعی که برای پیاده‌سازی بیشتر فراخوانی‌پذیرهای پایتون در C به کار می‌روند. توابع از این نوع دو پارامتر :c:expr:`PyObject*` می‌گیرند و یک مقدار از این نوع برمی‌گردانند. اگر مقدار بازگشتی ``NULL`` باشد، یک استثنا باید تنظیم شده باشد. اگر ``NULL`` نباشد، مقدار بازگشتی به‌عنوان مقدار بازگشتی تابع از دید پایتون تفسیر می‌شود. تابع باید یک ارجاع جدید برگرداند." msgid "The function signature is::" msgstr "امضای تابع به این صورت است::" msgid "" "PyObject *PyCFunction(PyObject *self,\n" " PyObject *args);" msgstr "" "PyObject *PyCFunction(PyObject *self,\n" " PyObject *args);" msgid "Type of the functions used to implement Python callables in C with signature :ref:`METH_VARARGS | METH_KEYWORDS `. The function signature is::" msgstr "نوع توابعی که برای پیاده‌سازی فراخوانی‌پذیرهای پایتون در C با امضای :ref:`METH_VARARGS | METH_KEYWORDS ` استفاده می‌شوند. امضای تابع به این صورت است::" msgid "" "PyObject *PyCFunctionWithKeywords(PyObject *self,\n" " PyObject *args,\n" " PyObject *kwargs);" msgstr "" "PyObject *PyCFunctionWithKeywords(PyObject *self,\n" " PyObject *args,\n" " PyObject *kwargs);" msgid "Type of the functions used to implement Python callables in C with signature :c:macro:`METH_FASTCALL`. The function signature is::" msgstr "نوع توابعی که برای پیاده‌سازی فراخوانی‌پذیرهای پایتون در C با امضای :c:macro:`METH_FASTCALL` استفاده می‌شوند. امضای تابع چنین است::" msgid "" "PyObject *PyCFunctionFast(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs);" msgstr "" "PyObject *PyCFunctionFast(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs);" msgid "Type of the functions used to implement Python callables in C with signature :ref:`METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "نوع توابعی که برای پیاده‌سازی فراخوانی‌پذیرهای پایتون در C با امضای :ref:`METH_FASTCALL | METH_KEYWORDS ` استفاده می‌شوند. امضای تابع به این صورت است::" msgid "" "PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames);" msgstr "" "PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames);" msgid "Type of the functions used to implement Python callables in C with signature :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "نوع توابعی که برای پیاده‌سازی فراخوانی‌پذیرهای پایتون در C با امضای :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS ` استفاده می‌شوند. امضای تابع چنین است::" msgid "" "PyObject *PyCMethod(PyObject *self,\n" " PyTypeObject *defining_class,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames)" msgstr "" "PyObject *PyCMethod(PyObject *self,\n" " PyTypeObject *defining_class,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames)" msgid "Structure used to describe a method of an extension type. This structure has four fields:" msgstr "ساختاری که برای توصیف متد یک نوع توسعه‌ای استفاده می‌شود. این ساختار چهار فیلد دارد:" msgid "Name of the method." msgstr "نام متد." msgid "A ``NULL`` *ml_name* marks the end of a :c:type:`!PyMethodDef` array." msgstr "یک مقدار ``NULL`` در *ml_name* پایان یک آرایه‌ی :c:type:`!PyMethodDef` را مشخص می‌کند." msgid "Pointer to the C implementation." msgstr "اشاره‌گر به پیاده‌سازی C." msgid "Flags bits indicating how the call should be constructed." msgstr "بیت‌های پرچم که مشخص می‌کنند فراخوانی چگونه باید ساخته شود." msgid "Points to the contents of the docstring." msgstr "به محتوای رشته مستند اشاره می‌کند." msgid "The :c:member:`~PyMethodDef.ml_meth` is a C function pointer. The functions may be of different types, but they always return :c:expr:`PyObject*`. If the function is not of the :c:type:`PyCFunction`, the compiler will require a cast in the method table. Even though :c:type:`PyCFunction` defines the first parameter as :c:expr:`PyObject*`, it is common that the method implementation uses the specific C type of the *self* object." msgstr ":c:member:`~PyMethodDef.ml_meth` یک اشاره‌گر به تابع C است. توابع ممکن است از نوع‌های مختلفی باشند، اما همیشه :c:expr:`PyObject*` برمی‌گردانند. اگر تابع از نوع :c:type:`PyCFunction` نباشد، کامپایلر در جدول متدها به قالب‌ریزی نیاز خواهد داشت. هرچند :c:type:`PyCFunction` پارامتر اول را به‌صورت :c:expr:`PyObject*` تعریف می‌کند، رایج است که پیاده‌سازی متد از نوع مشخص C شیء *self* استفاده کند." msgid "The :c:member:`~PyMethodDef.ml_flags` field is a bitfield which can include the following flags. The individual flags indicate either a calling convention or a binding convention." msgstr "فیلد :c:member:`~PyMethodDef.ml_flags` یک میدان بیتی (bitfield) است که می‌تواند شامل پرچم‌های زیر باشد. هر یک از پرچم‌ها نشان‌دهنده‌ی یک قرارداد فراخوانی یا یک قرارداد مقیدسازی است." msgid "There are these calling conventions:" msgstr "قراردادهای فراخوانی عبارت‌اند از:" msgid "This is the typical calling convention, where the methods have the type :c:type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The first one is the *self* object for methods; for module functions, it is the module object. The second parameter (often called *args*) is a tuple object representing all arguments. This parameter is typically processed using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "این قرارداد فراخوانی متداول است که در آن متدها از نوع :c:type:`PyCFunction` هستند. این تابع دو مقدار :c:expr:`PyObject*` دریافت می‌کند. مقدار نخست، شیء *self* برای متدهاست؛ برای توابع ماژول، این مقدار شیء ماژول است. پارامتر دوم (که اغلب *args* نامیده می‌شود) یک شیء تاپل است که تمام آرگومان‌ها را نمایندگی می‌کند. این پارامتر معمولاً با استفاده از :c:func:`PyArg_ParseTuple` یا :c:func:`PyArg_UnpackTuple` پردازش می‌شود." msgid "Can only be used in certain combinations with other flags: :ref:`METH_VARARGS | METH_KEYWORDS `, :ref:`METH_FASTCALL | METH_KEYWORDS ` and :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgstr "فقط می‌تواند در ترکیب‌های خاصی با پرچم‌های دیگر استفاده شود: :ref:`METH_VARARGS | METH_KEYWORDS `، :ref:`METH_FASTCALL | METH_KEYWORDS ` و :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" msgstr ":c:expr:`METH_VARARGS | METH_KEYWORDS`" msgid "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. The function expects three parameters: *self*, *args*, *kwargs* where *kwargs* is a dictionary of all the keyword arguments or possibly ``NULL`` if there are no keyword arguments. The parameters are typically processed using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "متدهای دارای این پرچم‌ها باید از نوع :c:type:`PyCFunctionWithKeywords` باشند. این تابع سه پارامتر می‌پذیرد: *self*، *args* و *kwargs* که در آن *kwargs* دیکشنری‌ای از تمام آرگومان‌های کلیدواژه‌ای است یا در صورت نبود آرگومان‌های کلیدواژه‌ای ممکن است ``NULL`` باشد. این پارامترها معمولاً با استفاده از :c:func:`PyArg_ParseTupleAndKeywords` پردازش می‌شوند." msgid "Fast calling convention supporting only positional arguments. The methods have the type :c:type:`PyCFunctionFast`. The first parameter is *self*, the second parameter is a C array of :c:expr:`PyObject*` values indicating the arguments and the third parameter is the number of arguments (the length of the array)." msgstr "قرارداد فراخوانی سریع که فقط از آرگومان‌های جایگاهی پشتیبانی می‌کند. متدها از نوع :c:type:`PyCFunctionFast` هستند. پارامتر اول *self* است، پارامتر دوم یک آرایه C از مقادیر :c:expr:`PyObject*` است که آرگومان‌ها را نشان می‌دهد و پارامتر سوم تعداد آرگومان‌ها است (طول آرایه)." msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." msgstr "``METH_FASTCALL`` اکنون بخشی از :ref:`رابط دودویی پایدار ` است." msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" msgstr ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" msgid "Extension of :c:macro:`METH_FASTCALL` supporting also keyword arguments, with methods of type :c:type:`PyCFunctionFastWithKeywords`. Keyword arguments are passed the same way as in the :ref:`vectorcall protocol `: there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple representing the names of the keyword arguments (which are guaranteed to be strings) or possibly ``NULL`` if there are no keywords. The values of the keyword arguments are stored in the *args* array, after the positional arguments." msgstr "توسعه‌ای از :c:macro:`METH_FASTCALL` که از آرگومان‌های کلیدواژه‌ای نیز پشتیبانی می‌کند، با متدهایی از نوع :c:type:`PyCFunctionFastWithKeywords`. آرگومان‌های کلیدواژه‌ای به همان شیوه‌ی :ref:`پروتکل vectorcall ` منتقل می‌شوند: یک پارامتر چهارم اضافی از نوع :c:expr:`PyObject*` وجود دارد که یک تاپل است و نام‌های آرگومان‌های کلیدواژه‌ای را نشان می‌دهد (که تضمین می‌شود رشته باشند) یا در صورت نبود کلیدواژه‌ها ممکن است ``NULL`` باشد. مقادیر آرگومان‌های کلیدواژه‌ای در آرایه‌ی *args*، پس از آرگومان‌های جایگاهی، ذخیره می‌شوند." msgid "Can only be used in the combination with other flags: :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgstr "تنها می‌تواند در ترکیب با سایر پرچم‌ها استفاده شود: :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" msgstr ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" msgid "Extension of :ref:`METH_FASTCALL | METH_KEYWORDS ` supporting the *defining class*, that is, the class that contains the method in question. The defining class might be a superclass of ``Py_TYPE(self)``." msgstr "توسعه‌ای از :ref:`METH_FASTCALL | METH_KEYWORDS ` است که از *کلاس تعریف‌کننده* پشتیبانی می‌کند؛ یعنی کلاسی که متد مورد نظر در آن قرار دارد. کلاس تعریف‌کننده ممکن است ابرکلاس ``Py_TYPE(self)`` باشد." msgid "The method needs to be of type :c:type:`PyCMethod`, the same as for ``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added after ``self``." msgstr "متد باید از نوع :c:type:`PyCMethod` باشد، همان‌طور که برای ``METH_FASTCALL | METH_KEYWORDS`` است، با آرگومان ``defining_class`` که پس از ``self`` اضافه می‌شود." msgid "Methods without parameters don't need to check whether arguments are given if they are listed with the :c:macro:`METH_NOARGS` flag. They need to be of type :c:type:`PyCFunction`. The first parameter is typically named *self* and will hold a reference to the module or object instance. In all cases the second parameter will be ``NULL``." msgstr "متدهای بدون پارامتر، در صورتی که با پرچم :c:macro:`METH_NOARGS` فهرست شده باشند، لازم نیست بررسی کنند که آیا آرگومانی داده شده است یا خیر. آن‌ها باید از نوع :c:type:`PyCFunction` باشند. پارامتر اول معمولاً *self* نام دارد و ارجاعی به ماژول یا نمونه‌ی شیء را نگه می‌دارد. در همه‌ی موارد، پارامتر دوم ``NULL`` خواهد بود." msgid "The function must have 2 parameters. Since the second parameter is unused, :c:macro:`Py_UNUSED` can be used to prevent a compiler warning." msgstr "تابع باید ۲ پارامتر داشته باشد. از آنجا که پارامتر دوم استفاده نمی‌شود، می‌توان از :c:macro:`Py_UNUSED` برای جلوگیری از هشدار کامپایلر استفاده کرد." msgid "Methods with a single object argument can be listed with the :c:macro:`METH_O` flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` argument. They have the type :c:type:`PyCFunction`, with the *self* parameter, and a :c:expr:`PyObject*` parameter representing the single argument." msgstr "می‌توان متدهایی که تنها یک آرگومان شیء دارند، با پرچم :c:macro:`METH_O` فهرست کرد، به‌جای فراخوانی :c:func:`PyArg_ParseTuple` با آرگومان ``\"O\"``. این متدها از نوع :c:type:`PyCFunction` هستند و پارامتر *self* و پارامتری از نوع :c:expr:`PyObject*` دارند که نمایانگر تنها آرگومان است." msgid "These two constants are not used to indicate the calling convention but the binding when used with methods of classes. These may not be used for functions defined for modules. At most one of these flags may be set for any given method." msgstr "این دو ثابت هنگامی که با متدهای کلاس‌ها استفاده می‌شوند، برای نشان دادن قرارداد فراخوانی (calling convention) به کار نمی‌روند، بلکه مقید‌سازی را نشان می‌دهند. از این ثابت‌ها نمی‌توان برای توابع تعریف‌شده برای ماژول‌ها استفاده کرد. برای هر متد معین، حداکثر یکی از این پرچم‌ها می‌تواند تنظیم شود." msgid "The method will be passed the type object as the first parameter rather than an instance of the type. This is used to create *class methods*, similar to what is created when using the :deco:`classmethod` built-in decorator." msgstr "به این متد، به جای نمونه‌ای از نوع، شیء نوع به عنوان اولین پارامتر پاس داده خواهد شد. از این برای ایجاد *متدهای کلاس* استفاده می‌شود، مشابه آنچه هنگام استفاده از دکوراتور توکار :deco:`classmethod` ایجاد می‌شود." msgid "The method will be passed ``NULL`` as the first parameter rather than an instance of the type. This is used to create *static methods*, similar to what is created when using the :deco:`staticmethod` built-in decorator." msgstr "به این متد، ``NULL`` به‌عنوان پارامتر اول ارسال می‌شود، نه نمونه‌ای از آن نوع. این برای ایجاد *متدهای ایستا* استفاده می‌شود، مشابه آنچه هنگام استفاده از دکوراتور توکار :deco:`staticmethod` ایجاد می‌شود." msgid "One other constant controls whether a method is loaded in place of another definition with the same method name." msgstr "یک ثابت دیگر کنترل می‌کند که آیا یک متد به‌جای تعریف دیگری با همان نام متد بارگذاری شود یا خیر." msgid "The method will be loaded in place of existing definitions. Without *METH_COEXIST*, the default is to skip repeated definitions. Since slot wrappers are loaded before the method table, the existence of a *sq_contains* slot, for example, would generate a wrapped method named :meth:`~object.__contains__` and preclude the loading of a corresponding PyCFunction with the same name. With the flag defined, the PyCFunction will be loaded in place of the wrapper object and will co-exist with the slot. This is helpful because calls to PyCFunctions are optimized more than wrapper object calls." msgstr "این متد به جای تعریف‌های موجود بارگذاری خواهد شد. بدون *METH_COEXIST*، حالت پیش‌فرض، صرف‌نظر کردن از تعریف‌های تکراری است. از آنجا که پوشش‌های جایگاه (slot wrapper) پیش از جدول متد بارگذاری می‌شوند، مثلاً وجود یک جایگاه *sq_contains* متدی پوششی به نام :meth:`~object.__contains__` تولید می‌کند و مانع از بارگذاری یک PyCFunction متناظر با همان نام می‌شود. با تعریف این پرچم، PyCFunction به جای شیء پوششی بارگذاری خواهد شد و در کنار جایگاه هم‌زیستی خواهد کرد. این مفید است زیرا فراخوانی‌های PyCFunction نسبت به فراخوانی‌های شیء پوششی بهینه‌سازی بیشتری دارند." msgid "The type object corresponding to Python C method objects. This is available as :class:`types.BuiltinMethodType` in the Python layer." msgstr "شیء نوع متناظر با اشیاء متد C در پایتون. این به‌صورت :class:`types.BuiltinMethodType` در لایه پایتون در دسترس است." msgid "Return true if *op* is an instance of the :c:type:`PyCMethod_Type` type or a subtype of it. This function always succeeds." msgstr "اگر *op* نمونه‌ای از نوع :c:type:`PyCMethod_Type` یا زیرنوعی از آن باشد، مقدار true را برمی‌گرداند. این تابع همیشه موفق می‌شود." msgid "This is the same as :c:func:`PyCMethod_Check`, but does not account for subtypes." msgstr "این همان :c:func:`PyCMethod_Check` است، اما زیرنوع‌ها را در نظر نمی‌گیرد." msgid "Turn *ml* into a Python :term:`callable` object. The caller must ensure that *ml* outlives the :term:`callable`. Typically, *ml* is defined as a static variable." msgstr "*ml* را به یک شیء :term:`callable` پایتون تبدیل می‌کند. فراخواننده باید اطمینان حاصل کند که *ml* بیشتر از :term:`callable` زنده می‌ماند. معمولاً *ml* به‌صورت یک متغیر ایستا تعریف می‌شود." msgid "The *self* parameter will be passed as the *self* argument to the C function in ``ml->ml_meth`` when invoked. *self* can be ``NULL``." msgstr "پارامتر *self* هنگام فراخوانی، به عنوان آرگومان *self* به تابع C در ``ml->ml_meth`` منتقل می‌شود. *self* می‌تواند ``NULL`` باشد." msgid "The :term:`callable` object's ``__module__`` attribute can be set from the given *module* argument. *module* should be a Python string, which will be used as name of the module the function is defined in. If unavailable, it can be set to :const:`None` or ``NULL``." msgstr "ویژگی ``__module__`` شیء :term:`فراخوانی‌پذیر ` را می‌توان از آرگومان *module* داده‌شده تنظیم کرد. *module* باید یک رشته پایتونی باشد که به‌عنوان نام ماژولی که تابع در آن تعریف شده است استفاده می‌شود. اگر در دسترس نباشد، می‌توان آن را روی :const:`None` یا ``NULL`` تنظیم کرد." msgid ":attr:`function.__module__`" msgstr ":attr:`function.__module__`" msgid "The *cls* parameter will be passed as the *defining_class* argument to the C function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." msgstr "پارامتر *cls* به‌عنوان آرگومان *defining_class* به تابع C ارسال می‌شود. اگر :c:macro:`METH_METHOD` روی ``ml->ml_flags`` تنظیم شده باشد، باید مقداردهی شود." msgid "The type object corresponding to Python C function objects. This is available as :class:`types.BuiltinFunctionType` in the Python layer." msgstr "شیء نوع متناظر با شیءهای تابع C پایتون. این شیء در لایه پایتون به‌صورت :class:`types.BuiltinFunctionType` در دسترس است." msgid "Return true if *op* is an instance of the :c:type:`PyCFunction_Type` type or a subtype of it. This function always succeeds." msgstr "اگر *op* نمونه‌ای از نوع :c:type:`PyCFunction_Type` یا زیرنوعی از آن باشد، مقدار درست را برمی‌گرداند. این تابع همیشه موفق می‌شود." msgid "This is the same as :c:func:`PyCFunction_Check`, but does not account for subtypes." msgstr "این همان :c:func:`PyCFunction_Check` است، اما زیرنوع‌ها را در نظر نمی‌گیرد." msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." msgstr "معادل ``PyCMethod_New(ml, self, module, NULL)`` است." msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." msgstr "معادل ``PyCMethod_New(ml, self, NULL, NULL)`` است." msgid "Get the function's flags on *func* as they were passed to :c:member:`~PyMethodDef.ml_flags`." msgstr "پرچم‌های تابع روی *func* را، همان‌طور که به :c:member:`~PyMethodDef.ml_flags` پاس داده‌شده‌اند، دریافت می‌کند." msgid "If *func* is not a C function object, this fails with an exception. *func* must not be ``NULL``." msgstr "اگر *func* یک شیء تابع C نباشد، این کار با یک استثنا شکست می‌خورد. *func* نباید ``NULL`` باشد." msgid "This function returns the function's flags on success, and ``-1`` with an exception set on failure." msgstr "این تابع در صورت موفقیت، پرچم‌های تابع را برمی‌گرداند و در صورت شکست، ``-1`` به همراه یک استثنای تنظیم‌شده برمی‌گرداند." msgid "This is the same as :c:func:`PyCFunction_GetFlags`, but without error or type checking." msgstr "این همان :c:func:`PyCFunction_GetFlags` است، اما بدون بررسی خطا یا بررسی نوع." msgid "Get the function pointer on *func* as it was passed to :c:member:`~PyMethodDef.ml_meth`." msgstr "گرفتن اشاره‌گر تابع روی *func*، همان‌طور که به :c:member:`~PyMethodDef.ml_meth` پاس داده شده است." msgid "This function returns the function pointer on success, and ``NULL`` with an exception set on failure." msgstr "این تابع در صورت موفقیت، اشاره‌گر تابع را برمی‌گرداند و در صورت شکست، ``NULL`` را همراه با یک استثنای تنظیم‌شده برمی‌گرداند." msgid "This is the same as :c:func:`PyCFunction_GetFunction`, but without error or type checking." msgstr "این همان :c:func:`PyCFunction_GetFunction` است، اما بدون بررسی خطا یا بررسی نوع." msgid "Get the \"self\" object on *func*. This is the object that would be passed to the first argument of a :c:type:`PyCFunction`. For C function objects created through a :c:type:`PyMethodDef` on a :c:type:`PyModuleDef`, this is the resulting module object." msgstr "گرفتن شیء \"self\" روی *func*. این همان شیء‌ای است که به آرگومان اول یک :c:type:`PyCFunction` پاس داده می‌شود. برای اشیاء تابع C که از طریق یک :c:type:`PyMethodDef` روی یک :c:type:`PyModuleDef` ایجاد شده‌اند، این همان شیء ماژول حاصل است." msgid "This function returns a :term:`borrowed reference` to the \"self\" object on success, and ``NULL`` with an exception set on failure." msgstr "این تابع در صورت موفقیت، یک :term:`ارجاع امانتی ` به شیء \"self\" برمی‌گرداند و در صورت شکست، ``NULL`` را همراه با استثنای تنظیم‌شده برمی‌گرداند." msgid "This is the same as :c:func:`PyCFunction_GetSelf`, but without error or type checking." msgstr "این همان :c:func:`PyCFunction_GetSelf` است، اما بدون بررسی خطا و نوع." msgid "Return a :term:`borrowed reference` to the defining class of *func* if its :c:member:`~PyMethodDef.ml_flags` includes :c:macro:`METH_METHOD`. Otherwise, return ``NULL`` without setting an exception." msgstr "اگر :c:member:`~PyMethodDef.ml_flags` تابع *func* شامل :c:macro:`METH_METHOD` باشد، یک :term:`ارجاع امانتی ` به کلاس تعریف‌کننده‌ی آن برگردانید. در غیر این صورت، بدون تنظیم یک استثنا، ``NULL`` را برگردانید." msgid "*func* must be a C function object and must not be ``NULL``. This function does not perform error or type checking." msgstr "*func* باید یک شیء تابع C باشد و نباید ``NULL`` باشد. این تابع بررسی خطا یا بررسی نوع را انجام نمی‌دهد." msgid "Accessing attributes of extension types" msgstr "دسترسی به ویژگی‌های نوع‌های توسعه‌ای" msgid "Structure which describes an attribute of a type which corresponds to a C struct member. When defining a class, put a NULL-terminated array of these structures in the :c:member:`~PyTypeObject.tp_members` slot." msgstr "ساختاری که ویژگی‌ای از یک نوع را توصیف می‌کند که متناظر با عضوی از ساختار C است. هنگام تعریف یک کلاس، آرایه‌ای خاتمه‌یافته با NULL از این ساختارها را در جایگاه :c:member:`~PyTypeObject.tp_members` قرار دهید." msgid "Its fields are, in order:" msgstr "فیلدهای آن به ترتیب عبارت‌اند از:" msgid "Name of the member. A NULL value marks the end of a ``PyMemberDef[]`` array." msgstr "نام عضو. مقدار NULL پایان یک آرایه ``PyMemberDef[]`` را مشخص می‌کند." msgid "The string should be static, no copy is made of it." msgstr "رشته باید ایستا باشد، هیچ کپی‌ای از آن ساخته نمی‌شود." msgid "The type of the member in the C struct. See :ref:`PyMemberDef-types` for the possible values." msgstr "نوع عضو در ساختار C. برای مقادیر ممکن، :ref:`PyMemberDef-types` را ببینید." msgid "The offset in bytes that the member is located on the type’s object struct." msgstr "آفست بر حسب بایتی که عضو در ساختار شیء نوع در آن قرار دارد." msgid "Zero or more of the :ref:`PyMemberDef-flags`, combined using bitwise OR." msgstr "صفر یا بیشتر از :ref:`PyMemberDef-flags`، که با استفاده از OR بیتی ترکیب شده‌اند." msgid "The docstring, or NULL. The string should be static, no copy is made of it. Typically, it is defined using :c:macro:`PyDoc_STR`." msgstr "رشته مستند، یا NULL. این رشته باید ایستا باشد؛ هیچ کپی‌ای از آن تهیه نمی‌شود. معمولاً این رشته با استفاده از :c:macro:`PyDoc_STR` تعریف می‌شود." msgid "By default (when :c:member:`~PyMemberDef.flags` is ``0``), members allow both read and write access. Use the :c:macro:`Py_READONLY` flag for read-only access. Certain types, like :c:macro:`Py_T_STRING`, imply :c:macro:`Py_READONLY`. Only :c:macro:`Py_T_OBJECT_EX` (and legacy :c:macro:`T_OBJECT`) members can be deleted." msgstr "به‌طور پیش‌فرض (زمانی که :c:member:`~PyMemberDef.flags` برابر ``0`` باشد)، اعضا هم اجازه‌ی خواندن و هم اجازه‌ی نوشتن را می‌دهند. برای دسترسی فقط‌خواندنی از پرچم :c:macro:`Py_READONLY` استفاده کنید. برخی نوع‌ها، مانند :c:macro:`Py_T_STRING`، مستلزم :c:macro:`Py_READONLY` هستند. فقط اعضای :c:macro:`Py_T_OBJECT_EX` (و :c:macro:`T_OBJECT` قدیمی) قابل حذف هستند." msgid "For heap-allocated types (created using :c:func:`PyType_FromSpec` or similar), ``PyMemberDef`` may contain a definition for the special member ``\"__vectorcalloffset__\"``, corresponding to :c:member:`~PyTypeObject.tp_vectorcall_offset` in type objects. This member must be defined with ``Py_T_PYSSIZET``, and either ``Py_READONLY`` or ``Py_READONLY | Py_RELATIVE_OFFSET``. For example::" msgstr "برای نوع‌های تخصیص‌یافته در هیپ (که با استفاده از :c:func:`PyType_FromSpec` یا مشابه آن ایجاد می‌شوند)، ``PyMemberDef`` می‌تواند تعریفی برای عضو ویژه‌ی ``\"__vectorcalloffset__\"`` داشته باشد که متناظر با :c:member:`~PyTypeObject.tp_vectorcall_offset` در شیءهای نوع است. این عضو باید با ``Py_T_PYSSIZET`` و یکی از ``Py_READONLY`` یا ``Py_READONLY | Py_RELATIVE_OFFSET`` تعریف شود. برای مثال::" msgid "" "static PyMemberDef spam_type_members[] = {\n" " {\"__vectorcalloffset__\", Py_T_PYSSIZET,\n" " offsetof(Spam_object, vectorcall), Py_READONLY},\n" " {NULL} /* Sentinel */\n" "};" msgstr "" "static PyMemberDef spam_type_members[] = {\n" " {\"__vectorcalloffset__\", Py_T_PYSSIZET,\n" " offsetof(Spam_object, vectorcall), Py_READONLY},\n" " {NULL} /* Sentinel */\n" "};" msgid "(You may need to ``#include `` for :c:func:`!offsetof`.)" msgstr "(ممکن است برای :c:func:`!offsetof` به ``#include `` نیاز داشته باشید.)" msgid "The legacy offsets :c:member:`~PyTypeObject.tp_dictoffset` and :c:member:`~PyTypeObject.tp_weaklistoffset` can be defined similarly using ``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"`` members, but extensions are strongly encouraged to use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead." msgstr "آفست‌های قدیمی :c:member:`~PyTypeObject.tp_dictoffset` و :c:member:`~PyTypeObject.tp_weaklistoffset` را می‌توان به‌طور مشابه با استفاده از اعضای ``\"__dictoffset__\"`` و ``\"__weaklistoffset__\"`` تعریف کرد، اما به ماژول‌های توسعه‌ای به‌شدت توصیه می‌شود که به‌جای آن‌ها از :c:macro:`Py_TPFLAGS_MANAGED_DICT` و :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` استفاده کنند." msgid "``PyMemberDef`` is always available. Previously, it required including ``\"structmember.h\"``." msgstr "``PyMemberDef`` همیشه در دسترس است. پیش از این، نیازمند درج ``\"structmember.h\"`` بود." msgid ":c:macro:`Py_RELATIVE_OFFSET` is now allowed for ``\"__vectorcalloffset__\"``, ``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"``." msgstr ":c:macro:`Py_RELATIVE_OFFSET` اکنون برای ``\"__vectorcalloffset__\"``، ``\"__dictoffset__\"`` و ``\"__weaklistoffset__\"`` مجاز است." msgid "Get an attribute belonging to the object at address *obj_addr*. The attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "یک ویژگی متعلق به شیء موجود در نشانی *obj_addr* را بازیابی می‌کند. این ویژگی توسط ``PyMemberDef`` *m* توصیف می‌شود. در صورت خطا ``NULL`` را برمی‌گرداند." msgid "``PyMember_GetOne`` is always available. Previously, it required including ``\"structmember.h\"``." msgstr "``PyMember_GetOne`` همیشه دسترس‌پذیر است. پیش‌تر، نیازمند گنجاندن ``\"structmember.h\"`` بود." msgid "Set an attribute belonging to the object at address *obj_addr* to object *o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns ``0`` if successful and a negative value on failure." msgstr "یک ویژگی متعلق به شیءِ واقع در نشانی *obj_addr* را برابر شیء *o* قرار می‌دهد. ویژگیِ تنظیم‌شونده توسط ``PyMemberDef`` *m* توصیف می‌شود. در صورت موفقیت ``0`` و در صورت شکست مقدار منفی برمی‌گرداند." msgid "``PyMember_SetOne`` is always available. Previously, it required including ``\"structmember.h\"``." msgstr "``PyMember_SetOne`` همیشه در دسترس است. پیش‌تر، نیازمند گنجاندن ``\"structmember.h\"`` بود." msgid "Member flags" msgstr "پرچم‌های عضو" msgid "The following flags can be used with :c:member:`PyMemberDef.flags`:" msgstr "از پرچم‌های زیر می‌توان با :c:member:`PyMemberDef.flags` استفاده کرد:" msgid "Not writable." msgstr "قابل نوشتن نیست." msgid "Emit an ``object.__getattr__`` :ref:`audit event ` before reading." msgstr "پیش از خواندن، یک :ref:`رویداد حسابرسی ` ``object.__getattr__`` منتشر می‌کند." msgid "Indicates that the :c:member:`~PyMemberDef.offset` of this ``PyMemberDef`` entry indicates an offset from the subclass-specific data, rather than from ``PyObject``." msgstr "نشان می‌دهد که :c:member:`~PyMemberDef.offset` این ورودی ``PyMemberDef`` آفستی از داده‌های خاص زیرکلاس را مشخص می‌کند، نه از ``PyObject``." msgid "Can only be used as part of the :c:data:`Py_tp_members` :c:type:`slot ` when creating a class using negative :c:member:`~PyType_Spec.basicsize`. It is mandatory in that case. When setting :c:member:`~PyTypeObject.tp_members` from the slot during class creation, Python clears the flag and sets :c:member:`PyMemberDef.offset` to the offset from the ``PyObject`` struct." msgstr "هنگام ایجاد کلاس با استفاده از :c:member:`~PyType_Spec.basicsize` منفی، تنها می‌تواند به‌عنوان بخشی از :c:type:`جایگاه ` :c:data:`Py_tp_members` استفاده شود. استفاده از آن در چنین حالتی الزامی است. هنگام تنظیم :c:member:`~PyTypeObject.tp_members` از جایگاه در طول ایجاد کلاس، پایتون پرچم را پاک می‌کند و :c:member:`PyMemberDef.offset` را برابر با آفست نسبت به ساختار ``PyObject`` قرار می‌دهد." msgid "The :c:macro:`!RESTRICTED`, :c:macro:`!READ_RESTRICTED` and :c:macro:`!WRITE_RESTRICTED` macros available with ``#include \"structmember.h\"`` are deprecated. :c:macro:`!READ_RESTRICTED` and :c:macro:`!RESTRICTED` are equivalent to :c:macro:`Py_AUDIT_READ`; :c:macro:`!WRITE_RESTRICTED` does nothing." msgstr "ماکروهای :c:macro:`!RESTRICTED`، :c:macro:`!READ_RESTRICTED` و :c:macro:`!WRITE_RESTRICTED` که با ``#include \"structmember.h\"`` در دسترس هستند، منسوخ شده‌اند. :c:macro:`!READ_RESTRICTED` و :c:macro:`!RESTRICTED` معادل :c:macro:`Py_AUDIT_READ` هستند؛ :c:macro:`!WRITE_RESTRICTED` هیچ کاری انجام نمی‌دهد." msgid "The :c:macro:`!READONLY` macro was renamed to :c:macro:`Py_READONLY`. The :c:macro:`PY_AUDIT_READ` macro was renamed with the ``Py_`` prefix. The new names are now always available. Previously, these required ``#include \"structmember.h\"``. The header is still available and it provides the old names." msgstr "کلان‌دستور :c:macro:`!READONLY` به :c:macro:`Py_READONLY` تغییر نام یافت. کلان‌دستور :c:macro:`PY_AUDIT_READ` با پیشوند ``Py_`` تغییر نام یافت. نام‌های جدید اکنون همیشه در دسترس هستند. پیش از این، این موارد به ``#include \"structmember.h\"`` نیاز داشتند. سرآیند هنوز در دسترس است و نام‌های قدیمی را فراهم می‌کند." msgid "Soft-deprecated alias of :c:macro:`Py_AUDIT_READ` (note capitalization of the ``y``). Only available with ``#include \"structmember.h\"``." msgstr "نام مستعار منسوخِ نرمِ :c:macro:`Py_AUDIT_READ` (به بزرگ بودن حرف ``y`` توجه کنید). تنها با ``#include \"structmember.h\"`` در دسترس است." msgid "Use :c:macro:`Py_AUDIT_READ` instead." msgstr "به‌جای آن از :c:macro:`Py_AUDIT_READ` استفاده کنید." msgid "A member flag that has no effect, retained solely for backwards compatibility. This is only available with ``#include \"structmember.h\"``." msgstr "یک پرچم عضو (member flag) که هیچ اثری ندارد و صرفاً برای سازگاری با نسخه‌های قبلی حفظ شده است. این مورد تنها با ``#include \"structmember.h\"`` در دسترس است." msgid "Omit this flag instead." msgstr "به‌جای آن این پرچم را حذف کنید." msgid "Member types" msgstr "نوع‌های عضو" msgid ":c:member:`PyMemberDef.type` can be one of the following macros corresponding to various C types. When the member is accessed in Python, it will be converted to the equivalent Python type. When it is set from Python, it will be converted back to the C type. If that is not possible, an exception such as :exc:`TypeError` or :exc:`ValueError` is raised." msgstr ":c:member:`PyMemberDef.type` می‌تواند یکی از ماکروهای زیر باشد که متناظر با نوع‌های مختلف C هستند. هنگامی که در پایتون به این عضو دسترسی پیدا شود، به نوع معادل پایتونی تبدیل می‌شود. هنگامی که از پایتون مقداردهی شود، دوباره به نوع C تبدیل می‌شود. اگر این کار ممکن نباشد، استثنایی مانند :exc:`TypeError` یا :exc:`ValueError` ایجاد می‌شود." msgid "Unless marked (D), attributes defined this way cannot be deleted using e.g. :keyword:`del` or :py:func:`delattr`." msgstr "ویژگی‌های تعریف‌شده به این روش را نمی‌توان با استفاده از مثلاً :keyword:`del` یا :py:func:`delattr` حذف کرد، مگر آنکه با (D) علامت‌گذاری شده باشند." msgid "Macro name" msgstr "نام ماکرو" msgid "C type" msgstr "نوع C" msgid "Python type" msgstr "نوع پایتون" msgid ":c:expr:`char`" msgstr ":c:expr:`char`" msgid ":py:class:`int`" msgstr ":py:class:`int`" msgid ":c:expr:`short`" msgstr ":c:expr:`short`" msgid ":c:expr:`int`" msgstr ":c:expr:`int`" msgid ":c:expr:`long`" msgstr ":c:expr:`long`" msgid ":c:expr:`long long`" msgstr ":c:expr:`long long`" msgid ":c:expr:`unsigned char`" msgstr ":c:expr:`unsigned char`" msgid ":c:expr:`unsigned int`" msgstr ":c:expr:`unsigned int`" msgid ":c:expr:`unsigned short`" msgstr ":c:expr:`unsigned short`" msgid ":c:expr:`unsigned long`" msgstr ":c:expr:`unsigned long`" msgid ":c:expr:`unsigned long long`" msgstr ":c:expr:`unsigned long long`" msgid ":c:expr:`Py_ssize_t`" msgstr ":c:expr:`Py_ssize_t`" msgid ":c:expr:`float`" msgstr ":c:expr:`float`" msgid ":py:class:`float`" msgstr ":py:class:`float`" msgid ":c:expr:`double`" msgstr ":c:expr:`double`" msgid ":c:expr:`char` (written as 0 or 1)" msgstr ":c:expr:`char` (به‌صورت ۰ یا ۱ نوشته می‌شود)" msgid ":py:class:`bool`" msgstr ":py:class:`bool`" msgid ":c:expr:`const char *` (*)" msgstr ":c:expr:`const char *` (*)" msgid ":py:class:`str` (RO)" msgstr ":py:class:`str` (RO)" msgid ":c:expr:`const char[]` (*)" msgstr ":c:expr:`const char[]` (*)" msgid ":c:expr:`char` (0-127)" msgstr ":c:expr:`char` (0-127)" msgid ":py:class:`str` (**)" msgstr ":py:class:`str` (**)" msgid ":c:expr:`PyObject *`" msgstr ":c:expr:`PyObject *`" msgid ":py:class:`object` (D)" msgstr ":py:class:`object` (D)" msgid "(*): Zero-terminated, UTF8-encoded C string. With :c:macro:`!Py_T_STRING` the C representation is a pointer; with :c:macro:`!Py_T_STRING_INPLACE` the string is stored directly in the structure." msgstr "(*): رشته‌ی C پایان‌یافته با صفر و کدگذاری‌شده با UTF8. با :c:macro:`!Py_T_STRING` نمایش C یک اشاره‌گر است؛ با :c:macro:`!Py_T_STRING_INPLACE` رشته مستقیماً در ساختار ذخیره می‌شود." msgid "(**): String of length 1. Only ASCII is accepted." msgstr "(**): رشته‌ای به طول ۱. فقط اسکی پذیرفته می‌شود." msgid "(RO): Implies :c:macro:`Py_READONLY`." msgstr "(RO): مستلزم :c:macro:`Py_READONLY` است." msgid "(D): Can be deleted, in which case the pointer is set to ``NULL``. Reading a ``NULL`` pointer raises :py:exc:`AttributeError`." msgstr "(D): قابل حذف است؛ در این صورت اشاره‌گر به ``NULL`` تنظیم می‌شود. خواندن اشاره‌گر ``NULL`` استثنای :py:exc:`AttributeError` را ایجاد می‌کند." msgid "In previous versions, the macros were only available with ``#include \"structmember.h\"`` and were named without the ``Py_`` prefix (e.g. as ``T_INT``). The header is still available and contains the old names, along with the following deprecated types:" msgstr "در نسخه‌های پیشین، ماکروها تنها با ``#include \"structmember.h\"`` در دسترس بودند و بدون پیشوند ``Py_`` نام‌گذاری می‌شدند (مثلاً به‌صورت ``T_INT``). این سرآیند همچنان در دسترس است و شامل نام‌های قدیمی، به‌همراه نوع‌های منسوخ زیر است:" msgid "Like ``Py_T_OBJECT_EX``, but ``NULL`` is converted to ``None``. This results in surprising behavior in Python: deleting the attribute effectively sets it to ``None``." msgstr "مانند ``Py_T_OBJECT_EX`` است، اما ``NULL`` به ``None`` تبدیل می‌شود. این امر در پایتون به رفتاری غافلگیرکننده منجر می‌شود: حذف ویژگی عملاً آن را به ``None`` تنظیم می‌کند." msgid "Always ``None``. Must be used with :c:macro:`Py_READONLY`." msgstr "همیشه ``None`` است. باید همراه با :c:macro:`Py_READONLY` استفاده شود." msgid "Defining Getters and Setters" msgstr "تعریف getterها و setterها" msgid "Structure to define property-like access for a type. See also description of the :c:member:`PyTypeObject.tp_getset` slot." msgstr "ساختاری برای تعریف دسترسی شبیه به پراپرتی برای یک نوع. همچنین توضیحات جایگاه :c:member:`PyTypeObject.tp_getset` را ببینید." msgid "attribute name" msgstr "نام ویژگی" msgid "C function to get the attribute." msgstr "تابع C برای دریافت ویژگی." msgid "Optional C function to set or delete the attribute. If ``NULL``, the attribute is read-only." msgstr "تابع C اختیاری برای تنظیم یا حذف ویژگی. اگر ``NULL`` باشد، ویژگی فقط‌خواندنی است." msgid "optional docstring" msgstr "رشته مستند اختیاری" msgid "Optional user data pointer, providing additional data for getter and setter." msgstr "اشاره‌گر اختیاری داده‌های کاربر، که داده‌های اضافی را برای getter و setter فراهم می‌کند." msgid "The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) and a user data pointer (the associated ``closure``):" msgstr "تابع ``get`` یک پارامتر :c:expr:`PyObject*` (نمونه) و یک اشاره‌گر داده‌ی کاربر (``closure`` مرتبط) را می‌پذیرد:" msgid "It should return a new reference on success or ``NULL`` with a set exception on failure." msgstr "باید در صورت موفقیت یک ارجاع جدید و در صورت شکست ``NULL`` همراه با یک استثنای تنظیم‌شده بازگرداند." msgid "``set`` functions take two :c:expr:`PyObject*` parameters (the instance and the value to be set) and a user data pointer (the associated ``closure``):" msgstr "توابع ``set`` دو پارامتر :c:expr:`PyObject*` (نمونه و مقداری که باید تنظیم شود) و یک اشاره‌گر داده کاربر (``closure`` مرتبط) را دریافت می‌کنند:" msgid "In case the attribute should be deleted the second parameter is ``NULL``. Should return ``0`` on success or ``-1`` with a set exception on failure." msgstr "در صورتی که ویژگی باید حذف شود، پارامتر دوم ``NULL`` است. باید در صورت موفقیت ``0`` و در صورت شکست ``-1`` به همراه استثنای تنظیم‌شده برگرداند." msgid "built-in function" msgstr "تابع توکار" msgid "classmethod" msgstr "classmethod" msgid "staticmethod" msgstr "staticmethod" msgid "READ_RESTRICTED (C macro)" msgstr "READ_RESTRICTED (ماکروی C)" msgid "WRITE_RESTRICTED (C macro)" msgstr "WRITE_RESTRICTED (ماکروی C)" msgid "RESTRICTED (C macro)" msgstr "RESTRICTED (ماکروی C)" msgid "READONLY (C macro)" msgstr "READONLY (ماکروی C)" msgid "T_BYTE (C macro)" msgstr "T_BYTE (ماکروی C)" msgid "T_SHORT (C macro)" msgstr "T_SHORT (ماکروی C)" msgid "T_INT (C macro)" msgstr "T_INT (ماکروی C)" msgid "T_LONG (C macro)" msgstr "T_LONG (ماکروی C)" msgid "T_LONGLONG (C macro)" msgstr "T_LONGLONG (ماکروی C)" msgid "T_UBYTE (C macro)" msgstr "T_UBYTE (ماکروی C)" msgid "T_USHORT (C macro)" msgstr "T_USHORT (ماکرو C)" msgid "T_UINT (C macro)" msgstr "T_UINT (ماکروی C)" msgid "T_ULONG (C macro)" msgstr "T_ULONG (ماکروی C)" msgid "T_ULONGULONG (C macro)" msgstr "T_ULONGULONG (ماکروی C)" msgid "T_PYSSIZET (C macro)" msgstr "T_PYSSIZET (ماکروی C)" msgid "T_FLOAT (C macro)" msgstr "T_FLOAT (ماکروی C)" msgid "T_DOUBLE (C macro)" msgstr "T_DOUBLE (ماکروی C)" msgid "T_BOOL (C macro)" msgstr "T_BOOL (ماکروی C)" msgid "T_CHAR (C macro)" msgstr "T_CHAR (ماکروی C)" msgid "T_STRING (C macro)" msgstr "T_STRING (ماکروی C)" msgid "T_STRING_INPLACE (C macro)" msgstr "T_STRING_INPLACE (ماکروی C)" msgid "T_OBJECT_EX (C macro)" msgstr "T_OBJECT_EX (ماکروی C)" msgid "structmember.h" msgstr "structmember.h"