diff --git a/.github/workflows/sync-with-cpython.yml b/.github/workflows/sync-with-cpython.yml index 15fa963ff..55b344979 100644 --- a/.github/workflows/sync-with-cpython.yml +++ b/.github/workflows/sync-with-cpython.yml @@ -129,6 +129,7 @@ jobs: --title "🔍 Translation review needed after CPython sync ($(date +%Y-%m-%d))" \ --body-file "$report" \ --label "تغییرات خودکار در ترجمه‌ها" \ + --label "3.14" \ --repo "${{ github.repository }}" fi diff --git a/README.md b/README.md index cf508401a..d95592da2 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,6 @@ ### مشارکت‌های کاربران -![نمودار مشارکت‌های کاربران؛ sepehr-rs 38277، Revisto 3984، danialbehzadi 677، invincible627 358، khosro_o 63، ParhamF 41، Ariyan_Bolandi 37، nikovinix7878 13، thaghgoo 12، Ramiz_222 10](reports/contributor_stats_latest.png) -(به‌روزرسانی: 2026-09-24) +![نمودار مشارکت‌های کاربران؛ sepehr-rs 38277، Revisto 3984، danialbehzadi 677، invincible627 471، khosro_o 63، ParhamF 41، Ariyan_Bolandi 37، mahdyaralipor 24، nikovinix7878 13، thaghgoo 12](reports/contributor_stats_latest.png) +(به‌روزرسانی: 2026-10-04) diff --git a/STATUS.md b/STATUS.md index 785d933c2..d0ccaff1c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,6 +1,6 @@ ### وضعیت ترجمه فایل‌ها -(به‌روزرسانی: 2026-10-01) +(به‌روزرسانی: 2026-10-06) | فایل | ترجمه‌شده | مبهم | تعداد ترجمه‌شده | تعداد ترجمه‌نشده | |:-----|:-----------:|:-----------:|:-----------:|:-----------:| @@ -11,6 +11,7 @@ | builtins/functions.po | 100.0% | 0.0% | 522 | 0 | | builtins/index.po | 100.0% | 0.0% | 5 | 0 | | builtins/stdtypes.po | 100.0% | 0.0% | 1583 | 0 | +| builtins/threadsafety.po | 100.0% | 0.0% | 118 | 0 | | builtins/time-complexity.po | 100.0% | 0.0% | 120 | 0 | | c-api/abstract.po | 100.0% | 0.0% | 3 | 0 | | c-api/allocation.po | 100.0% | 0.0% | 40 | 0 | @@ -34,7 +35,6 @@ | c-api/datetime.po | 100.0% | 0.0% | 65 | 0 | | c-api/descriptor.po | 100.0% | 0.0% | 33 | 0 | | c-api/dict.po | 100.0% | 0.0% | 109 | 0 | -| c-api/exceptions.po | 100.0% | 0.0% | 274 | 0 | | c-api/extension-modules.po | 100.0% | 0.0% | 50 | 0 | | c-api/file.po | 100.0% | 0.0% | 31 | 0 | | c-api/float.po | 100.0% | 0.0% | 58 | 0 | @@ -72,6 +72,7 @@ | c-api/reflection.po | 100.0% | 0.0% | 17 | 0 | | c-api/sequence.po | 100.0% | 0.0% | 32 | 0 | | c-api/set.po | 100.0% | 0.0% | 35 | 0 | +| c-api/slice.po | 100.0% | 0.0% | 26 | 0 | | c-api/stable.po | 100.0% | 0.0% | 45 | 0 | | c-api/structures.po | 100.0% | 0.0% | 206 | 0 | | c-api/subinterpreters.po | 100.0% | 0.0% | 87 | 0 | @@ -431,6 +432,7 @@ | library/traceback.po | 100.0% | 0.0% | 118 | 0 | | library/tracemalloc.po | 100.0% | 0.0% | 156 | 0 | | library/tty.po | 100.0% | 0.0% | 17 | 0 | +| library/turtle.po | 100.0% | 0.0% | 586 | 0 | | library/types.po | 100.0% | 0.0% | 105 | 0 | | library/typing.po | 100.0% | 0.0% | 833 | 0 | | library/unicodedata.po | 100.0% | 0.0% | 43 | 0 | @@ -484,6 +486,7 @@ | reference/lexical_analysis.po | 100.0% | 0.0% | 476 | 0 | | reference/simple_stmts.po | 100.0% | 0.0% | 291 | 0 | | reference/toplevel_components.po | 100.0% | 0.0% | 32 | 0 | +| sphinx.po | 100.0% | 0.0% | 970 | 0 | | tutorial/appendix.po | 100.0% | 0.0% | 28 | 0 | | tutorial/appetite.po | 100.0% | 0.0% | 17 | 0 | | tutorial/classes.po | 100.0% | 0.0% | 149 | 0 | @@ -534,14 +537,11 @@ | whatsnew/3.9.po | 100.0% | 0.0% | 380 | 0 | | whatsnew/changelog.po | 100.0% | 0.0% | 1 | 0 | | whatsnew/index.po | 100.0% | 0.0% | 3 | 0 | -| library/ctypes.po | 99.9% | 0.0% | 677 | 1 | +| library/ctypes.po | 99.9% | 0.1% | 677 | 0 | +| using/configure.po | 99.8% | 0.0% | 468 | 1 | | library/asyncio-eventloop.po | 99.8% | 0.0% | 426 | 1 | -| using/configure.po | 99.6% | 0.0% | 466 | 2 | +| c-api/exceptions.po | 99.3% | 0.0% | 274 | 2 | | library/ssl.po | 99.3% | 0.0% | 546 | 4 | | library/asyncio-stream.po | 99.1% | 0.0% | 105 | 1 | -| builtins/threadsafety.po | 96.6% | 3.4% | 114 | 0 | -| library/turtle.po | 95.9% | 3.8% | 562 | 2 | -| c-api/slice.po | 92.3% | 3.8% | 24 | 1 | -| sphinx.po | 13.3% | 0.0% | 129 | 841 | -| **مجموع** | **98.8%** | **0.0%** | **70410** | **853** | +| **مجموع** | **100.0%** | **0.0%** | **71283** | **9** | diff --git a/TEAM.md b/TEAM.md index f2ebdd144..c27371623 100644 --- a/TEAM.md +++ b/TEAM.md @@ -3,7 +3,7 @@ | Revisto | coordinator | 3984 | | sepehr-rs | coordinator | 38277 | | danialbehzadi | reviewer | 677 | -| invincible627 | translator | 358 | +| invincible627 | translator | 471 | | khosro_o | reviewer | 63 | | ParhamF | translator | 41 | | Ariyan_Bolandi | reviewer | 37 | @@ -16,3 +16,4 @@ | pangominn | translator | 2 | | mdflx | reviewer | 1 | | ashykng | translator | 1 | +| mahdyaralipor | translator | 24 | diff --git a/builtins/threadsafety.po b/builtins/threadsafety.po index 6a2fa77e7..aa5c97df0 100644 --- a/builtins/threadsafety.po +++ b/builtins/threadsafety.po @@ -5,6 +5,7 @@ # # Translators: # Sepehr Rasouli , 2026 +# mahdyaralipor , 2026 # msgid "" msgstr "" diff --git a/c-api/code.po b/c-api/code.po index a1435f205..ba7631650 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -112,6 +112,9 @@ msgstr "پاک کردن پایشگر (watcher) شناسایی‌شده با *wat msgid "Enumeration of possible code object watcher events: - ``PY_CODE_EVENT_CREATE`` - ``PY_CODE_EVENT_DESTROY``" msgstr "شمارش رویدادهای ممکن دیده‌بان شیء کد: - ``PY_CODE_EVENT_CREATE`` - ``PY_CODE_EVENT_DESTROY``" +msgid "Apply the macro *V* to each suffix of :c:type:`PyCodeEvent` constants. Currently expands to ``V(CREATE) V(DESTROY)``. The macro *V* must accept one event name and supply any punctuation needed between expansions." +msgstr "ماکرو *V* را روی هر پسوند از ثاب‌ت‌های :c:type:`PyCodeEvent` اعمال کنید. در حال حاضر به صورت ``V(CREATE) V(DESTROY)`` گسترش می‌یابد. ماکرو *V* باید یک نام رویداد را بپذیرد و هرگونه علائم نگارشی مورد نیاز بین گسترش‌ها را فراهم کند." + msgid "Type of a code object watcher callback function." msgstr "نوع تابع کال‌بک دیده‌بان شیء کد." diff --git a/c-api/conversion.po b/c-api/conversion.po index 067539346..d00170869 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -185,3 +185,12 @@ msgstr "بازگرداندن معادل کوچک نویسه‌ی *c*." msgid "Return the uppercase equivalent of the character *c*." msgstr "معادل بزرگ‌نویسی نویسه‌ی *c* را برمی‌گرداند." + +msgid "Bit masks" +msgstr "بیت‌ماسک‌ها" + +msgid "The following constants are bit masks used by the character classification macros above:" +msgstr "ثابت‌های زیر بیت‌ماسک‌هایی هستند که توسط ماکروهای دسته‌بندی نویسه در بالا استفاده می‌شوند:" + +msgid "Values used internally by the ``Py_IS*`` classification macros above. Exposed for backwards compatibility only." +msgstr "مقادیر استفاده‌شده‌ی داخلی توسط ماکروهای دسته‌بندی ``Py_IS*`` در بالا. فقط برای سازگاری با نسخه‌های قبلی در معرض دید قرار گرفته‌اند." diff --git a/c-api/descriptor.po b/c-api/descriptor.po index 68d78593d..71dacb8af 100644 --- a/c-api/descriptor.po +++ b/c-api/descriptor.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -61,20 +61,20 @@ msgstr "توصیف‌گرهای متد، توابع C را به‌صورت مت msgid "The type object for method descriptor objects created from :c:type:`PyMethodDef` structures. These descriptors expose C functions as methods on a type, and correspond to :class:`types.MethodDescriptorType` objects in Python." msgstr "شیء نوع برای اشیاء توصیف‌گر متد که از ساختارهای :c:type:`PyMethodDef` ایجاد شده‌اند. این توصیف‌گرها توابع C را به‌عنوان متدهایی روی یک نوع در دسترس قرار می‌دهند و معادل اشیاء :class:`types.MethodDescriptorType` در پایتون هستند." -msgid "Describes a slot wrapper used by :c:func:`PyDescr_NewWrapper`." -msgstr "یک دربرگیرنده‌ی جایگاه را توصیف می‌کند که توسط :c:func:`PyDescr_NewWrapper` استفاده می‌شود." +msgid "The type object for wrapper descriptor objects created by :c:func:`PyDescr_NewWrapper` and :c:func:`PyWrapper_New`." +msgstr "شیء نوع داده برای اشیای توصیف‌گر پوششی ایجادشده توسط :c:func:`PyDescr_NewWrapper` و :c:func:`PyWrapper_New`." -msgid "Each ``wrapperbase`` record stores the Python-visible name and metadata for a special method implemented by a type slot, together with the wrapper function used to adapt that slot to Python's calling convention." -msgstr "هر رکورد ``wrapperbase`` نام قابل‌مشاهده در پایتون و فراداده‌ی متد ویژه‌ای را که توسط یک جایگاه نوع پیاده‌سازی شده است، به همراه تابع پوششی‌ای که برای تطبیق آن جایگاه با قرارداد فراخوانی پایتون استفاده می‌شود، ذخیره می‌کند." +msgid "Wrapper descriptors are used internally to expose special methods such as ``__repr__`` or ``__add__``, which are implemented by type slots. The type is exposed in Python as :class:`types.WrapperDescriptorType`." +msgstr "توصیف‌گرهای پوششی به صورت داخلی برای نمایش متدهای ویژه‌ای مانند ``__repr__`` یا ``__add__`` استفاده می‌شوند که توسط جایگاه‌های نوع پیاده‌سازی شده‌اند. این نوع در پایتون به صورت :class:`types.WrapperDescriptorType` نمایش داده می‌شود." -msgid "Create a new wrapper descriptor for extension type *type* from the :c:struct:`wrapperbase` structure *base* and the wrapped slot function pointer *wrapped*." -msgstr "یک توصیف‌گر پوششی جدید برای نوع توسعه‌ای *type* از ساختار :c:struct:`wrapperbase` به نام *base* و اشاره‌گر تابع جایگاه دربرگرفته‌شده به نام *wrapped* می‌سازد." +msgid "Create a new wrapper descriptor of type :c:var:`PyWrapperDescr_Type`." +msgstr "یک توصیف‌گر پوششی جدید از نوع :c:var:`PyWrapperDescr_Type` ایجاد کنید." -msgid "Wrapper descriptors expose special methods implemented by type slots. This is the same kind of descriptor that CPython creates for slot-based special methods such as ``__repr__`` or ``__add__``, and it appears in Python as a :class:`types.WrapperDescriptorType` object." -msgstr "توصیف‌گرهای پوششی، متدهای ویژه‌ای را که توسط جایگاه‌های نوع پیاده‌سازی شده‌اند، در دسترس قرار می‌دهند. این همان نوع توصیف‌گری است که سی‌پایتون برای متدهای ویژه‌ی مبتنی بر جایگاه مانند ``__repr__`` یا ``__add__`` ایجاد می‌کند و در پایتون به‌صورت یک شیء :class:`types.WrapperDescriptorType` ظاهر می‌شود." +msgid "This function is meant for internal use only; it and related API (``struct wrapperbase`` and the ``PyWrapperFlag_KEYWORDS`` flag) are exposed publicly for backwards compatibility reasons." +msgstr "این تابع فقط برای استفاده‌ی داخلی در نظر گرفته شده است؛ آن و APIهای مرتبط (``struct wrapperbase`` و پرچم ``PyWrapperFlag_KEYWORDS``) به دلایل سازگاری با نسخه‌های پیشین به صورت عمومی ارائه شده‌اند." -msgid "The type object for wrapper descriptor objects created by :c:func:`PyDescr_NewWrapper` and :c:func:`PyWrapper_New`. Wrapper descriptors are used internally to expose special methods implemented via wrapper structures, and appear in Python as :class:`types.WrapperDescriptorType` objects." -msgstr "شیء نوع برای اشیاء توصیف‌گر پوششی که توسط :c:func:`PyDescr_NewWrapper` و :c:func:`PyWrapper_New` ایجاد می‌شوند. توصیف‌گرهای پوششی به‌طور داخلی برای در دسترس قرار دادن متدهای ویژه‌ای که از طریق ساختارهای پوششی پیاده‌سازی شده‌اند استفاده می‌شوند و در پایتون به‌صورت اشیاء :class:`types.WrapperDescriptorType` ظاهر می‌شوند." +msgid "See :c:func:`PyCMethod_New` for wrapping a C function." +msgstr "برای بسته‌بندی یک تابع C به :c:func:`PyCMethod_New` مراجعه کنید." msgid "Create a new class method descriptor for extension type *type* from the :c:type:`PyMethodDef` structure *method*." msgstr "یک توصیف‌گر متد کلاس جدید برای نوع توسعه‌ای *type* از ساختار :c:type:`PyMethodDef` به نام *method* ایجاد می‌کند." @@ -94,6 +94,18 @@ msgstr "این، شکل مقیدِ یک توصیف‌گر پوششی (wrapper de msgid "On success, return a :term:`strong reference` to the wrapper object. Return ``NULL`` with an exception set on failure." msgstr "در صورت موفقیت، یک :term:`ارجاع قوی ` به شیء پوششی برمی‌گرداند. در صورت شکل، ``NULL`` را همراه با یک استثنای تنظیم‌شده برمی‌گرداند." +msgid "Return a :term:`borrowed reference` to the type that the descriptor *descr* belongs to. This is accessible as :attr:`~object.__objclass__` in Python." +msgstr "یک :term:`ارجاع امانتی ` به نوعی که توصیف‌گر *descr* به آن تعلق دارد، برگردانید. این مقدار در پایتون به عنوان :attr:`~object.__objclass__` قابل دسترسی است." + +msgid "*descr* must be a descriptor object created by one of the ``PyDescr_New*`` functions (an instance of :c:var:`PyMethodDescr_Type`, :c:var:`PyClassMethodDescr_Type`, :c:var:`PyMemberDescr_Type`, :c:var:`PyGetSetDescr_Type`, or :c:var:`PyWrapperDescr_Type`). If the passed descriptor is not an instance of one of these types, the behavior is undefined." +msgstr "*descr* باید یک شیء توصیف‌گر باشد که توسط یکی از توابع ``PyDescr_New*`` ایجاد شده است (یک نمونه از :c:var:`PyMethodDescr_Type`، :c:var:`PyClassMethodDescr_Type`، :c:var:`PyMemberDescr_Type`، :c:var:`PyGetSetDescr_Type` یا :c:var:`PyWrapperDescr_Type`). اگر توصیف‌گر ارسال‌شده نمونه‌ای از یکی از این نوع‌ها نباشد، رفتار نامشخص خواهد بود." + +msgid "Return the name of the descriptor *descr* as a :term:`borrowed reference` to a :class:`str` object. This is available as :attr:`~definition.__name__` in Python." +msgstr "نام توصیف‌گر *descr* را به عنوان یک :term:`ارجاع امانتی ` به یک شیء :class:`str` برگردانید. این مقدار در پایتون به عنوان :attr:`~definition.__name__` در دسترس است." + +msgid "*descr* must be a descriptor object created by one of the ``PyDescr_New*`` functions. If not, the behavior is undefined." +msgstr "*descr* باید یک شیء توصیف‌گر باشد که توسط یکی از توابع ``PyDescr_New*`` ایجاد شده است. در غیر این صورت، رفتار نامشخص خواهد بود." + msgid "Built-in descriptors" msgstr "توصیف‌گرهای توکار" @@ -120,3 +132,15 @@ msgstr "یک شیء :class:`staticmethod` جدید ایجاد می‌کند که msgid "On success, this function returns a :term:`strong reference` to a new static method descriptor. On failure, this function returns ``NULL`` with an exception set." msgstr "در صورت موفقیت، این تابع یک :term:`ارجاع قوی ` به توصیف‌گر جدید متد ایستا برمی‌گرداند. در صورت شکست، این تابع ``NULL`` را همراه با یک استثنای تنظیم‌شده برمی‌گرداند." + +#~ msgid "Describes a slot wrapper used by :c:func:`PyDescr_NewWrapper`." +#~ msgstr "یک دربرگیرنده‌ی جایگاه را توصیف می‌کند که توسط :c:func:`PyDescr_NewWrapper` استفاده می‌شود." + +#~ msgid "Each ``wrapperbase`` record stores the Python-visible name and metadata for a special method implemented by a type slot, together with the wrapper function used to adapt that slot to Python's calling convention." +#~ msgstr "هر رکورد ``wrapperbase`` نام قابل‌مشاهده در پایتون و فراداده‌ی متد ویژه‌ای را که توسط یک جایگاه نوع پیاده‌سازی شده است، به همراه تابع پوششی‌ای که برای تطبیق آن جایگاه با قرارداد فراخوانی پایتون استفاده می‌شود، ذخیره می‌کند." + +#~ msgid "Create a new wrapper descriptor for extension type *type* from the :c:struct:`wrapperbase` structure *base* and the wrapped slot function pointer *wrapped*." +#~ msgstr "یک توصیف‌گر پوششی جدید برای نوع توسعه‌ای *type* از ساختار :c:struct:`wrapperbase` به نام *base* و اشاره‌گر تابع جایگاه دربرگرفته‌شده به نام *wrapped* می‌سازد." + +#~ msgid "The type object for wrapper descriptor objects created by :c:func:`PyDescr_NewWrapper` and :c:func:`PyWrapper_New`. Wrapper descriptors are used internally to expose special methods implemented via wrapper structures, and appear in Python as :class:`types.WrapperDescriptorType` objects." +#~ msgstr "شیء نوع برای اشیاء توصیف‌گر پوششی که توسط :c:func:`PyDescr_NewWrapper` و :c:func:`PyWrapper_New` ایجاد می‌شوند. توصیف‌گرهای پوششی به‌طور داخلی برای در دسترس قرار دادن متدهای ویژه‌ای که از طریق ساختارهای پوششی پیاده‌سازی شده‌اند استفاده می‌شوند و در پایتون به‌صورت اشیاء :class:`types.WrapperDescriptorType` ظاهر می‌شوند." diff --git a/c-api/dict.po b/c-api/dict.po index 6cc9ee867..e73cb2848 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 20:16+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -288,6 +288,9 @@ msgstr "دیکشنری *dict* را به‌عنوان دیگر دیده‌بان msgid "Enumeration of possible dictionary watcher events: ``PyDict_EVENT_ADDED``, ``PyDict_EVENT_MODIFIED``, ``PyDict_EVENT_DELETED``, ``PyDict_EVENT_CLONED``, ``PyDict_EVENT_CLEARED``, or ``PyDict_EVENT_DEALLOCATED``." msgstr "برشمردن رویدادهای ممکن دیده‌بان دیکشنری: ``PyDict_EVENT_ADDED``، ``PyDict_EVENT_MODIFIED``، ``PyDict_EVENT_DELETED``، ``PyDict_EVENT_CLONED``، ``PyDict_EVENT_CLEARED`` یا ``PyDict_EVENT_DEALLOCATED``." +msgid "Apply the macro *V* to each suffix of :c:type:`PyDict_WatchEvent` constants. Currently expands to ``V(ADDED) V(MODIFIED) V(DELETED) V(CLONED) V(CLEARED) V(DEALLOCATED)``. The macro *V* must accept one event name and supply any punctuation needed between expansions." +msgstr "ماکرو *V* را روی هر پسوند از ثابت‌های :c:type:`PyDict_WatchEvent` اعمال کنید. در حال حاضر به صورت ``V(ADDED) V(MODIFIED) V(DELETED) V(CLONED) V(CLEARED) V(DEALLOCATED)`` گسترش می‌یابد. ماکرو *V* باید یک نام رویداد را بپذیرد و هرگونه علائم نگارشی مورد نیاز بین گسترش‌ها را فراهم کند." + msgid "Type of a dict watcher callback function." msgstr "نوع تابع کال‌بک ناظر دیکشنری." diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 75ec79b99..60cedd5d0 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 13:22+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -201,6 +201,9 @@ msgstr "دسته‌های هشدار باید زیرکلاس‌هایی از :c: msgid "For information about warning control, see the documentation for the :mod:`warnings` module and the :option:`-W` option in the command line documentation. There is no C API for warning control." msgstr "برای کسب اطلاعات درباره‌ی کنترل هشدارها، به مستندات ماژول :mod:`warnings` و گزینه‌ی :option:`-W` در مستندات خط فرمان مراجعه کنید. برای کنترل هشدارها API زبان C وجود ندارد." +msgid "Equivalent to :c:expr:`PyErr_WarnEx(category, message, 1)`." +msgstr "معادل :c:expr:`PyErr_WarnEx(category, message, 1)`." + msgid "Issue a warning message with explicit control over all warning attributes. This is a straightforward wrapper around the Python function :func:`warnings.warn_explicit`; see there for more information. The *module* and *registry* arguments may be set to ``NULL`` to get the default effect described there." msgstr "یک پیام هشدار با کنترل صریح بر تمام ویژگی‌های هشدار صادر می‌کند. این پوششی ساده در اطراف تابع پایتونی :func:`warnings.warn_explicit` است؛ برای اطلاعات بیشتر به آنجا مراجعه کنید. آرگومان‌های *module* و *registry* می‌توانند روی ``NULL`` تنظیم شوند تا اثر پیش‌فرضِ توصیف‌شده در آنجا به دست آید." @@ -540,6 +543,9 @@ msgstr "نقطه‌ای را نشان‌گذاری می‌کند که در آن msgid "The function then checks if the stack limit is reached. If this is the case, a :exc:`RecursionError` is set and a nonzero value is returned. Otherwise, zero is returned." msgstr "سپس تابع بررسی می‌کند که آیا به حد پشته رسیده است یا خیر. اگر چنین باشد، یک :exc:`RecursionError` تنظیم می‌شود و مقدار غیرصفر بازگردانده می‌شود. در غیر این صورت، صفر بازگردانده می‌شود." +msgid "The check is based on the remaining C stack space of the current thread, not on a count of calls, so it is unaffected by :c:func:`Py_SetRecursionLimit` and :func:`sys.setrecursionlimit`." +msgstr "این بررسی بر اساس فضای پشته‌ی C باقی‌مانده از نخ فعلی انجام می‌شود، نه بر اساس تعداد فراخوانی‌ها، بنابراین تحت‌تأثیر :c:func:`Py_SetRecursionLimit` و :func:`sys.setrecursionlimit` قرار نمی‌گیرد." + msgid "*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` to be concatenated to the :exc:`RecursionError` message caused by the recursion depth limit." msgstr "*where* باید یک رشته‌ی کدگذاری‌شده با UTF-8 مانند ``\" in instance check\"`` باشد تا به پیام :exc:`RecursionError` که ناشی از محدودیت عمق بازگشت است، الحاق شود." @@ -549,6 +555,9 @@ msgstr "تابع :c:func:`PyUnstable_ThreadState_SetStackProtection`." msgid "This function is now also available in the :ref:`limited API `." msgstr "این تابع اکنون در :ref:`API محدود ` نیز در دسترس است." +msgid "The check is based on the remaining C stack space. Previously, a separate counter of C-level calls was used." +msgstr "این بررسی بر اساس فضای پشته‌ی C باقی‌مانده انجام می‌شود. پیش از این، از شمارنده‌ی مجزایی برای فراخوانی‌های سطح C استفاده می‌شد." + msgid "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each *successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "یک :c:func:`Py_EnterRecursiveCall` را پایان می‌دهد. باید یک‌بار برای هر فراخوانی *موفق* :c:func:`Py_EnterRecursiveCall` فراخوانی شود." diff --git a/c-api/file.po b/c-api/file.po index 9d41e5ee2..f0266f78a 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -42,6 +42,18 @@ msgstr "توصیف‌گر پرونده مرتبط با *p* را به‌صورت msgid "Equivalent to ``p.readline([n])``, this function reads one line from the object *p*. *p* may be a file object or any object with a :meth:`~io.IOBase.readline` method. If *n* is ``0``, exactly one line is read, regardless of the length of the line. If *n* is greater than ``0``, no more than *n* bytes will be read from the file; a partial line can be returned. In both cases, an empty string is returned if the end of the file is reached immediately. If *n* is less than ``0``, however, one line is read regardless of length, but :exc:`EOFError` is raised if the end of the file is reached immediately." msgstr "این تابع معادل ``p.readline([n])`` است و یک سطر از شیء *p* می‌خواند. *p* می‌تواند یک شیء پرونده یا هر شیء دارای متد :meth:`~io.IOBase.readline` باشد. اگر *n* برابر ``0`` باشد، دقیقاً یک سطر خوانده می‌شود، بدون توجه به طول سطر. اگر *n* بزرگ‌تر از ``0`` باشد، بیش از *n* بایت از پرونده خوانده نمی‌شود؛ ممکن است سطر ناقصی برگردانده شود. در هر دو حالت، اگر بلافاصله به پایان پرونده برسیم، رشته‌ای خالی برگردانده می‌شود. اما اگر *n* کوچک‌تر از ``0`` باشد، یک سطر بدون توجه به طول خوانده می‌شود، ولی اگر بلافاصله به پایان پرونده برسیم، :exc:`EOFError` پرتاب می‌شود." +msgid "Read a line from the C stream *stream* into the buffer *buf*, like the C standard library function :c:func:`!fgets`, but treating all of ``\\n``, ``\\r`` and ``\\r\\n`` as line endings (see :term:`universal newlines`). Any ``\\r`` or ``\\r\\n`` read from the stream is stored in *buf* as a single ``\\n``." +msgstr "یک سطر را از جریان (stream) C با نام *stream* در بافر *buf* بخوانید، درست مانند تابع کتابخانه‌ی استاندارد C یعنی :c:func:`!fgets`، با این تفاوت که تمام موارد ``\\n``، ``\\r`` و ``\\r\\n`` را به عنوان پایان‌دهنده‌های سطر در نظر می‌گیرد (به :term:`سطرهای جدید همگانی ` مراجعه کنید). هر ``\\r`` یا ``\\r\\n`` خوانده‌شده از جریان، به عنوان یک ``\\n`` واحد در *buf* ذخیره می‌شود." + +msgid "At most ``n - 1`` characters are stored in *buf*; reading stops after a newline has been stored or when the end of the file is reached. The result is always null-terminated. *stream* should be opened in binary mode, so that the C library does not perform its own newline translation." +msgstr "حداکثر ``n - 1`` نویسه در *buf* ذخیره می‌شود؛ خواندن پس از ذخیره‌شدن یک نویسه‌ی سطر جدید یا رسیدن به انتهای پرونده متوقف می‌شود. نتیجه همیشه دارای پایان‌دهنده‌ی تهی (null-terminated) است. *stream* باید در حالت دودویی باز شود تا کتابخانه‌ی C ترجمه‌ی سطر جدید خود را انجام ندهد." + +msgid "Return *buf* on success. Return ``NULL`` if no characters could be read, because *stream* is at end of file, a read error occurred, or *n* is less than 2. Like :c:func:`!fgets`, this function does not distinguish between end of file and a read error, and it does not set an exception." +msgstr "در صورت موفقیت، *buf* را برگردانید. اگر هیچ نویسه‌ای قابل خواندن نباشد، به این دلیل که *stream* در انتهای پرونده است، خطای خواندنی رخ داده است، یا *n* کمتر از ۲ است، ``NULL`` را برگردانید. درست مانند :c:func:`!fgets`، این تابع بین انتهای پرونده و خطای خواندن تمایز قائل نمی‌شود و استثنایی را تنظیم نمی‌کند." + +msgid "*fobj* exists only for backward compatibility and must be ``NULL``." +msgstr "مورد *fobj* صرفاً برای سازگاری عقبگرد وجود دارد و باید ``NULL`` باشد." + msgid "Overrides the normal behavior of :func:`io.open_code` to pass its parameter through the provided handler." msgstr "رفتار عادی :func:`io.open_code` را بازتعریف می‌کند تا پارامتر خود را از هندلر ارائه‌شده عبور دهد." @@ -102,6 +114,9 @@ msgstr "به جای آن، از :c:func:`PyFile_FromFd` با مقادیر پیش msgid "Type of file-like objects used internally at Python startup when :py:mod:`io` is not yet available. Use Python :py:func:`open` or :c:func:`PyFile_FromFd` to create file objects instead." msgstr "نوع اشیای شبه‌پرونده‌ای که در زمان راه‌اندازی پایتون، هنگامی که :py:mod:`io` هنوز در دسترس نیست، به‌طور داخلی استفاده می‌شوند. به‌جای آن، برای ایجاد اشیای پرونده از :py:func:`open` پایتون یا :c:func:`PyFile_FromFd` استفاده کنید." +msgid "The string literal ``\"b\"``, used to open files in binary mode. Exposed for backwards compatibility only." +msgstr "رشته‌ی لفظی ``\"b\"``، که برای باز کردن پرونده‌ها در حالت دودویی استفاده می‌شود. صرفاً برای سازگاری عقبگرد آشکارسازی شده است." + msgid "object" msgstr "شیء" diff --git a/c-api/float.po b/c-api/float.po index 67b31b829..06170b760 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 13:21+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -145,8 +145,8 @@ msgstr "در پلتفرم‌های غیر IEEE که دقتی بیشتر از آ msgid "Pack functions" msgstr "توابع بسته‌بندی" -msgid "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:`int` argument, non-zero if you want the bytes string in little-endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` and ``p+7``), zero if you want big-endian format (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal to ``1`` on big endian processor, or ``0`` on little endian processor." -msgstr "روال‌های بسته‌بندی ۲، ۴ یا ۸ بایت را با شروع از *p* می‌نویسند. *le* یک آرگومان :c:expr:`int` است؛ اگر می‌خواهید رشته بایتی در قالب کوچک‌اندیان باشد، ناصفر است (توان در انتها، در ``p+1``، ``p+3``، یا ``p+6`` و ``p+7``)، و اگر قالب بزرگ‌اندیان را می‌خواهید، صفر است (توان در ابتدا، در *p*). برای استفاده از اندیان بومی می‌توان از ثابت :c:macro:`PY_BIG_ENDIAN` بهره گرفت: این ثابت روی پردازنده‌های بزرگ‌اندیان برابر ``1`` و روی پردازنده‌های کوچک‌اندیان برابر ``0`` است." +msgid "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:`int` argument, non-zero if you want the bytes string in little-endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` and ``p+7``), zero if you want big-endian format (exponent first, at *p*). Use the :c:macro:`PY_LITTLE_ENDIAN` constant to select the native endian: it is equal to ``0`` on big endian processor, or ``1`` on little endian processor." +msgstr "روال‌های بسته‌بندی کردن ۲، ۴ یا ۸ بایت را از *p* به بعد می‌نویسند. *le* یک آرگومان :c:expr:`int` است، و اگر رشته‌ی بایت‌ها را در قالب کوچک‌اندیان (توان در انتها، در ``p+1``، ``p+3``، یا ``p+6`` و ``p+7``) بخواهید غیرصفر است، و اگر قالب بزرگ‌اندیان (توان در ابتدا، در *p*) را بخواهید صفر است. از ثابت :c:macro:`PY_LITTLE_ENDIAN` برای انتخاب اندیان بومی استفاده کنید: این ثابت روی پردازنده‌ی بزرگ‌اندیان برابر با ``0``، و روی پردازنده‌ی کوچک‌اندیان برابر با ``1`` است." msgid "Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, most likely :exc:`OverflowError`)." msgstr "مقدار بازگشتی: ``0`` در صورت موفقیت، ``-1`` در صورت خطا (و استثنا تنظیم‌شده است، به احتمال زیاد :exc:`OverflowError`)." @@ -172,8 +172,8 @@ msgstr "یک double زبان C را به قالب دقت مضاعف binary64 ا msgid "Unpack functions" msgstr "توابع واگشایی" -msgid "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:`int` argument, non-zero if the bytes string is in little-endian format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal to ``1`` on big endian processor, or ``0`` on little endian processor." -msgstr "روال‌های واگشایی ۲، ۴ یا ۸ بایت را با شروع از *p* می‌خوانند. *le* یک آرگومان :c:expr:`int` است؛ اگر رشته بایتی در قالب کوچک‌اندیان باشد، ناصفر است (نما در انتها، در ``p+1``، ``p+3`` یا ``p+6`` و ``p+7``)، و اگر بزرگ‌اندیان باشد، صفر است (نما در ابتدا، در *p*). می‌توان ثابت :c:macro:`PY_BIG_ENDIAN` را برای بهره‌گیری از اندیان بومی به کار برد: این ثابت روی پردازنده‌ی بزرگ‌اندیان برابر ``1``، یا روی پردازنده‌ی کوچک‌اندیان برابر ``0`` است." +msgid "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:`int` argument, non-zero if the bytes string is in little-endian format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-endian (exponent first, at *p*). Use the :c:macro:`PY_LITTLE_ENDIAN` constant to select the native endian: it is equal to ``0`` on big endian processor, or ``1`` on little endian processor." +msgstr "روال‌های بازکردن بسته ۲، ۴ یا ۸ بایت را با شروع از *p* می‌خوانند. آرگومان *le* یک آرگومان از نوع :c:expr:`int` است، و اگر رشته‌ی بایت‌ها در قالب کوچک‌اندیان باشد (توان در آخر، در ``p+1``، ``p+3`` یا ``p+6`` و ``p+7``) ناصفر، و اگر در قالب بزرگ‌اندیان باشد (توان در اول، در *p*) صفر است. از ثابت :c:macro:`PY_LITTLE_ENDIAN` برای انتخاب ترتیب بایت‌های بومی استفاده کنید: این ثابت روی پردازنده‌ی بزرگ‌اندیان برابر با ``0``، و روی پردازنده‌ی کوچک‌اندیان برابر با ``1`` است." msgid "Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:`PyErr_Occurred` is true (and an exception is set, most likely :exc:`OverflowError`)." msgstr "مقدار بازگشتی: ممیز شناور با دقت مضاعفِ واگشایی‌شده. در صورت خطا، این مقدار ``-1.0`` است و :c:func:`PyErr_Occurred` درست است (و استثنایی تنظیم‌شده است که به احتمال زیاد :exc:`OverflowError` است)." diff --git a/c-api/function.po b/c-api/function.po index 986ce2941..a9cc9286d 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -121,6 +121,9 @@ msgstr "``PyFunction_EVENT_MODIFY_DEFAULTS``" msgid "``PyFunction_EVENT_MODIFY_KWDEFAULTS``" msgstr "``PyFunction_EVENT_MODIFY_KWDEFAULTS``" +msgid "Apply the macro *V* to each suffix of :c:type:`PyFunction_WatchEvent` constants. Currently expands to ``V(CREATE) V(DESTROY) V(MODIFY_CODE) V(MODIFY_DEFAULTS) V(MODIFY_KWDEFAULTS) V(MODIFY_QUALNAME)``. The macro *V* must accept one event name and supply any punctuation needed between expansions." +msgstr "کلان‌دستور *V* را روی هر پسوند از ثابت‌های :c:type:`PyFunction_WatchEvent` اعمال کنید. در حال حاضر به ``V(CREATE) V(DESTROY) V(MODIFY_CODE) V(MODIFY_DEFAULTS) V(MODIFY_KWDEFAULTS) V(MODIFY_QUALNAME)`` گسترش می‌یابد. کلان‌دستور *V* باید یک نام رویداد را بپذیرد و هرگونه علائم نگارشی مورد نیاز بین گسترش‌ها را فراهم کند." + msgid "Type of a function watcher callback function." msgstr "نوع تابع کال‌بک دیده‌بان (watcher) تابع." diff --git a/c-api/hash.po b/c-api/hash.po index 6619b8941..fd124beaf 100644 --- a/c-api/hash.po +++ b/c-api/hash.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2024-02-23 14:15+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -39,11 +39,14 @@ msgstr "یک مقدار عددی که الگوریتم هش‌کردنِ :class: msgid "The algorithm name is exposed by :data:`sys.hash_info.algorithm`." msgstr "نام الگوریتم توسط :data:`sys.hash_info.algorithm` در دسترس قرار می‌گیرد." -msgid "Numerical values to compare to :c:macro:`Py_HASH_ALGORITHM` to determine which algorithm is used for hashing. The hash algorithm can be configured via the configure :option:`--with-hash-algorithm` option." -msgstr "مقادیر عددی برای مقایسه با :c:macro:`Py_HASH_ALGORITHM` به‌منظور تعیین اینکه کدام الگوریتم برای هش‌کردن استفاده می‌شود. الگوریتم هش را می‌توان از طریق گزینه‌ی :option:`--with-hash-algorithm` در configure پیکربندی کرد." +msgid "Numerical values to compare to :c:macro:`Py_HASH_ALGORITHM` to determine which algorithm is used for hashing. The built-in hash algorithm can be configured via the configure :option:`--with-hash-algorithm` option." +msgstr "مقادیر عددی برای مقایسه با :c:macro:`Py_HASH_ALGORITHM` به منظور تعیین اینکه کدام الگوریتم برای هش کردن استفاده می‌شود. الگوریتم هش توکار را می‌توان از طریق گزینه‌ی پیکربندی :option:`--with-hash-algorithm` پیکربندی کرد." -msgid "Add :c:macro:`!Py_HASH_FNV` and :c:macro:`!Py_HASH_SIPHASH24`." -msgstr "افزودن :c:macro:`!Py_HASH_FNV` و :c:macro:`!Py_HASH_SIPHASH24`." +msgid ":c:macro:`!Py_HASH_EXTERNAL` has value ``0`` and indicates a hash implementation supplied by the application embedding Python; see :c:var:`PyHash_Func`." +msgstr ":c:macro:`!Py_HASH_EXTERNAL` دارای مقدار ``0`` است و پیاده‌سازی هش ارائه‌شده توسط برنامه‌ای که پایتون را تعبیه کرده است نشان می‌دهد؛ نگاه کنید به :c:var:`PyHash_Func`." + +msgid "Add :c:macro:`!Py_HASH_FNV`, :c:macro:`!Py_HASH_SIPHASH24`, and :c:macro:`!Py_HASH_EXTERNAL`." +msgstr "اضافه کردن :c:macro:`!Py_HASH_FNV`، :c:macro:`!Py_HASH_SIPHASH24`، و :c:macro:`!Py_HASH_EXTERNAL`." msgid "Add :c:macro:`!Py_HASH_SIPHASH13`." msgstr "افزودن :c:macro:`!Py_HASH_SIPHASH13`." @@ -111,6 +114,12 @@ msgstr "اندازه‌ی ورودی بذر بر حسب بیت." msgid "This corresponds to the :data:`sys.hash_info.seed_bits` constant." msgstr "این با ثابت :data:`sys.hash_info.seed_bits` مطابق است." +msgid "When Python is built with :c:macro:`Py_HASH_ALGORITHM` set to :c:macro:`Py_HASH_EXTERNAL`, the application embedding Python must define this variable to supply a hash implementation instead of using one of Python's built-in hash algorithms." +msgstr "هنگامی که پایتون با :c:macro:`Py_HASH_ALGORITHM` تنظیم‌شده روی :c:macro:`Py_HASH_EXTERNAL` ساخته می‌شود، برنامه‌ای که پایتون را تعبیه کرده است باید این متغیر را تعریف کند تا به جای استفاده از یکی از الگوریتم‌های هش توکار پایتون، یک پیاده‌سازی هش را فراهم کند." + +msgid "Use one of the built-in hash algorithms instead." +msgstr "به‌جای آن از یکی از الگوریتم‌های هش توکار استفاده کنید." + msgid "Get the hash function definition." msgstr "گرفتن تعریف تابع هش." diff --git a/c-api/import.po b/c-api/import.po index 10bbad7f4..72fbe4881 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 08:30+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -154,23 +154,23 @@ msgstr "ویژگی ``__file__`` دیگر بر روی ماژول تنظیم نم msgid "Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a UTF-8 encoded string instead of a Unicode object." msgstr "مشابه :c:func:`PyImport_ImportFrozenModuleObject` است، اما نام به جای شیء یونیکد، یک رشته کدگذاری‌شده با UTF-8 است." -msgid "This is the structure type definition for frozen module descriptors, as generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the Python source distribution). Its definition, found in :file:`Include/import.h`, is::" -msgstr "این تعریف نوع ساختار برای توصیف‌گرهای ماژول فریزشده است، همان‌طور که توسط ابزار :program:`freeze` تولید می‌شود (به :file:`Tools/freeze/` در توزیع سورس پایتون مراجعه کنید). تعریف آن که در :file:`Include/import.h` آمده است، چنین است::" +msgid "This is the structure type definition for frozen module descriptors, as generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the Python source distribution). Its definition, found in :file:`Include/import.h`, is:" +msgstr "این تعریف نوع ساختار برای توصیف‌گرهای ماژول فریزشده است که توسط ابزار :program:`freeze` تولید می‌شود (نگاه کنید به :file:`Tools/freeze/` در توزیع سورس پایتون). تعریف آن، که در :file:`Include/import.h` یافت می‌شود، به شرح زیر است:" msgid "" "struct _frozen {\n" -" const char *name;\n" +" const char *name; /* ASCII encoded string */\n" " const unsigned char *code;\n" " int size;\n" -" bool is_package;\n" -"};" +" int is_package;\n" +"};\n" msgstr "" "struct _frozen {\n" -" const char *name;\n" +" const char *name; /* ASCII encoded string */\n" " const unsigned char *code;\n" " int size;\n" -" bool is_package;\n" -"};" +" int is_package;\n" +"};\n" msgid "The new ``is_package`` field indicates whether the module is a package or not. This replaces setting the ``size`` field to a negative value." msgstr "فیلد جدید ``is_package`` نشان می‌دهد که ماژول یک بسته است یا خیر. این کار جایگزین تنظیم فیلد ``size`` به مقدار منفی می‌شود." diff --git a/c-api/init_config.po b/c-api/init_config.po index 3cf16a25f..c82af9f15 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 20:13+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -1492,6 +1492,9 @@ msgstr "در زمان راه‌اندازی پایتون، نام کدگذاری msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." msgstr "همچنین عضو :c:member:`~PyConfig.filesystem_errors` را ببینید." +msgid "See also :c:func:`PyUnicode_EncodeFSDefault` and :ref:`related functions ` for encoding paths at runtime." +msgstr "همچنین برای کدگذاری مسیرها در زمان اجرا، به :c:func:`PyUnicode_EncodeFSDefault` و :ref:`توابع مرتبط ` مراجعه کنید." + msgid ":term:`Filesystem error handler `: :func:`sys.getfilesystemencodeerrors`." msgstr ":term:`هندلر خطای سامانه فایل‌بندی `: :func:`sys.getfilesystemencodeerrors`." diff --git a/c-api/interp-lifecycle.po b/c-api/interp-lifecycle.po index 7b854aebd..f1824277d 100644 --- a/c-api/interp-lifecycle.po +++ b/c-api/interp-lifecycle.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 08:29+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: none\n" @@ -403,6 +403,21 @@ msgstr "" msgid "In normal usage, an embedding application will call this function *instead* of calling :c:func:`Py_Initialize`, :c:func:`Py_InitializeEx` or :c:func:`Py_InitializeFromConfig` directly, and all settings will be applied as described elsewhere in this documentation. If this function is instead called *after* a preceding runtime initialization API call, then exactly which environmental and command line configuration settings will be updated is version dependent (as it depends on which settings correctly support being modified after they have already been set once when the runtime was first initialized)." msgstr "در استفاده‌ی معمول، یک برنامه تعبیه‌کننده این تابع را *به‌جای* فراخوانی مستقیم :c:func:`Py_Initialize`، :c:func:`Py_InitializeEx` یا :c:func:`Py_InitializeFromConfig` فراخوانی می‌کند و تمام تنظیمات همان‌گونه که در جای دیگر این مستندات توضیح داده شده است، اعمال خواهند شد. اگر این تابع در عوض *پس از* یک فراخوانی قبلی از API مقداردهی اولیه‌ی ران‌تایم فراخوانی شود، دقیقاً اینکه کدام تنظیمات پیکربندی محیطی و خط فرمان به‌روزرسانی خواهند شد، وابسته به نسخه است (زیرا به این بستگی دارد که کدام تنظیمات به‌درستی از این پشتیبانی می‌کنند که پس از آن‌که یک‌بار در نخستین مقداردهی اولیه‌ی ران‌تایم تنظیم شده‌اند، تغییر کنند)." +msgid "The main program for a \"frozen\" Python program (an executable that embeds the interpreter together with the bytecode of the program's modules, as produced by the :program:`freeze` utility; see :source:`Tools/freeze`)." +msgstr "برنامه‌ی اصلی برای یک برنامه‌ی «فریزشده»ی پایتون (یک فایل اجرایی که مفسر را به همراه بایت‌کد ماژول‌های برنامه، آن‌طور که توسط ابزار :program:`freeze` تولید می‌شود، تعبیه می‌کند؛ رجوع کنید به :source:`Tools/freeze`)." + +msgid "This function initializes the interpreter, imports the frozen module named ``__main__``, and finalizes the interpreter. The frozen modules must have been registered in :c:var:`PyImport_FrozenModules` before calling this function; it is a fatal error if ``__main__`` is not among them." +msgstr "این تابع مفسر را مقداردهی اولیه می‌کند، ماژول فریزشده‌ی با نام ``__main__`` را ایمپورت می‌کند، و مفسر را نهایی‌سازی می‌کند. ماژول‌های فریزشده باید قبل از فراخوانی این تابع در :c:var:`PyImport_FrozenModules` ثبت شده باشند؛ اگر ``__main__`` در میان آن‌ها نباشد، یک خطای مهلک رخ داده است." + +msgid "*argc* and *argv* are byte strings like the arguments of a C program's ``main`` function, and are passed to the interpreter with :c:func:`PyConfig_SetBytesArgv`. Unlike :c:func:`Py_Main`, the arguments are not parsed as Python command line options (:c:member:`PyConfig.parse_argv` is ``0``), so all of them are made available to the program in :data:`sys.argv`. Apart from that, the interpreter uses the :ref:`Python Configuration `, so environment variables such as :envvar:`PYTHONPATH` are honored. Warnings about the path configuration (:c:member:`PyConfig.pathconfig_warnings`) are suppressed. If :envvar:`PYTHONINSPECT` is set and standard input is a terminal, an interactive prompt is run after ``__main__`` has finished, as with the :option:`-i` option." +msgstr "*argc* و *argv* رشته‌های بایتی مشابه آرگومان‌های تابع ``main`` یک برنامه‌ی C هستند و با :c:func:`PyConfig_SetBytesArgv` به مفسر ارسال می‌شوند. برخلاف :c:func:`Py_Main`، آرگومان‌ها به عنوان گزینه‌های خط فرمان پایتون تجزیه نمی‌شوند (:c:member:`PyConfig.parse_argv` برابر با ``0`` است)، بنابراین همه آن‌ها در :data:`sys.argv` در اختیار برنامه قرار می‌گیرند. جدا از آن، مفسر از :ref:`تنظیمات پایتون ` استفاده می‌کند، بنابراین متغیرهای محیطی مانند :envvar:`PYTHONPATH` لحاظ می‌شوند. هشدارهای مربوط به تنظیمات مسیر (:c:member:`PyConfig.pathconfig_warnings`) سرکوب می‌شوند. اگر :envvar:`PYTHONINSPECT` تنظیم شده باشد و ورودی استاندارد یک پایانه باشد، پس از اتمام ``__main__``، یک اعلان تعاملی اجرا می‌شود، درست مانند گزینه‌ی :option:`-i`." + +msgid "Return ``0`` if ``__main__`` ran without an unhandled exception, ``1`` otherwise, and ``120`` if finalizing the interpreter failed (see :c:func:`Py_FinalizeEx`). An unhandled :exc:`SystemExit` terminates the process. If the interpreter cannot be initialized, the process exits via :c:func:`Py_ExitStatusException`." +msgstr "اگر ``__main__`` بدون استثنای مدیریت‌نشده اجرا شود، ``0`` را برمی‌گرداند، در غیر این صورت ``1``، و اگر نهایی‌سازی مفسر با شکست مواجه شود ``120`` (رجوع کنید به :c:func:`Py_FinalizeEx`). یک :exc:`SystemExit` مدیریت‌نشده فرایند را خاتمه می‌دهد. اگر مفسر نتواند مقداردهی اولیه شود، فرایند از طریق :c:func:`Py_ExitStatusException` خارج می‌شود." + +msgid "On Windows, this function is not exported by the Python DLL. The :program:`freeze` utility compiles :file:`Python/frozenmain.c` into the frozen program instead, together with the Windows-specific hooks that the function requires." +msgstr "در ویندوز، این تابع توسط DLL پایتون صادر نمی‌شود. در عوض، ابزار :program:`freeze` پرونده‌ی :file:`Python/frozenmain.c` را به همراه قلاب‌های مختص ویندوز که تابع به آن‌ها نیاز دارد، در برنامه‌ی فریزشده کامپایل می‌کند." + msgid "Executes the main module in a fully configured CPython runtime." msgstr "ماژول اصلی را در یک ران‌تایم سی‌پایتون کاملاً پیکربندی‌شده اجرا می‌کند." @@ -613,6 +628,9 @@ msgstr "مسیر" msgid "Py_FinalizeEx (C function)" msgstr "Py_FinalizeEx (تابع C)" +msgid "freeze utility" +msgstr "ابزار freeze" + msgid "Py_Initialize()" msgstr "Py_Initialize()" diff --git a/c-api/intro.po b/c-api/intro.po index aa454bd02..f3e1082aa 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -219,6 +219,9 @@ msgstr "این ماکرو اکنون برای همه‌ی نوع‌های عدد msgid "Argument must be a character or an integer in the range [-128, 127] or [0, 255]. This macro returns ``c`` cast to an ``unsigned char``." msgstr "آرگومان باید یک نویسه یا یک عدد صحیح در محدوده‌ی [-128, 127] یا [0, 255] باشد. این ماکرو ``c`` را پس از تبدیل نوع به ``unsigned char`` برمی‌گرداند." +msgid "Constants describing the byte order of the platform that Python was built for. Exactly one of them is ``1`` and the other is ``0``." +msgstr "ثابت‌هایی که ترتیب بایت سکویی که پایتون برای آن ساخته شده است را توصیف می‌کنند. دقیقاً یکی از آن‌ها ``1`` و دیگری ``0`` است." + msgid "Assertion utilities" msgstr "ابزارهای ادعا" @@ -649,8 +652,17 @@ msgstr "نوع‌ها" msgid "There are few other data types that play a significant role in the Python/C API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:`double` and :c:expr:`char*`. A few structure types are used to describe static tables used to list the functions exported by a module or the data attributes of a new object type, and another is used to describe the value of a complex number. These will be discussed together with the functions that use them." msgstr "چند نوع داده‌ی دیگر نیز نقش مهمی در Python/C API ایفا می‌کنند؛ بیشتر آن‌ها نوع‌های ساده‌ی C مانند :c:expr:`int`، :c:expr:`long`، :c:expr:`double` و :c:expr:`char*` هستند. چند نوع ساختاری برای توصیف جدول‌های ایستایی که توابع اکسپورتشده توسط یک ماژول یا ویژگی‌های داده‌ی یک نوع شیء جدید را فهرست می‌کنند، به کار می‌روند، و نوع دیگری برای توصیف مقدار یک عدد مختلط استفاده می‌شود. این موارد همراه با توابعی که از آن‌ها استفاده می‌کنند بحث خواهند شد." -msgid "A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. C99 doesn't define such a thing directly (size_t is an unsigned integral type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest positive value of type :c:type:`Py_ssize_t`." -msgstr "یک نوع صحیح علامت‌دار به‌گونه‌ای که ``sizeof(Py_ssize_t) == sizeof(size_t)`` باشد. استاندارد C99 چنین چیزی را مستقیماً تعریف نمی‌کند (size_t یک نوع صحیح بدون علامت است). برای جزئیات به :pep:`353` مراجعه کنید. ``PY_SSIZE_T_MAX`` بزرگ‌ترین مقدار مثبت از نوع :c:type:`Py_ssize_t` است." +msgid "A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. C99 doesn't define such a thing directly (size_t is an unsigned integral type). See :pep:`353` for details." +msgstr "یک نوع داده‌ی صحیح علامت‌دار به گونه‌ای که ``sizeof(Py_ssize_t) == sizeof(size_t)``. استاندارد C99 چنین چیزی را به طور مستقیم تعریف نمی‌کند (size_t یک نوع داده‌ی صحیح بدون علامت است). برای جزئیات به :pep:`353` مراجعه کنید." + +msgid "A constant of type :c:type:`Py_ssize_t` with value ``-1``, representing an invalid size." +msgstr "یک ثابتی از نوع داده‌ی :c:type:`Py_ssize_t` با مقدار ``-1`` که نشان‌دهنده‌ی اندازه‌ی نامعتبر است." + +msgid "The limit values (largest positive one and smallest negative one, respecitvely) of type :c:type:`Py_ssize_t`." +msgstr "مقادیر حد (به ترتیب بزرگ‌ترین مقدار مثبت و کوچک‌ترین مقدار منفی) از نوع داده‌ی :c:type:`Py_ssize_t`." + +msgid "The maximum value of the Windows ``DWORD`` type. Expands to ``0xffffffff`` on all platforms." +msgstr "حداکثر مقدار نوع داده‌ی ``DWORD`` در ویندوز. در تمامی سکوها به ``0xffffffff`` گسترش می‌یابد." msgid "Exceptions" msgstr "استثناها" diff --git a/c-api/long.po b/c-api/long.po index 909c31ec5..d59673132 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 16:27+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -455,6 +455,15 @@ msgstr "اگر *op* فشرده باشد، همان‌طور که با :c:func:`P msgid "Otherwise, the return value is undefined." msgstr "در غیر این صورت، مقدار بازگشتی تعریف‌نشده است." +msgid "Build configuration" +msgstr "تنظیمات ساخت" + +msgid "The number of bits in each digit of CPython's native representation of integers. The value can currently be either ``30`` (the default) or ``15``, selected with :option:`--enable-big-digits` when building Python." +msgstr "تعداد بیت‌ها در هر رقم از بازنمایی بومی سی‌پایتون از اعداد صحیح. مقدار آن در حال حاضر می‌تواند یا ``30`` (پیش‌فرض) یا ``15`` باشد که هنگام ساخت پایتون با :option:`--enable-big-digits` انتخاب می‌شود." + +msgid "To access the native representation of integers, use :c:func:`PyLong_GetNativeLayout` and its :c:member:`~PyLongLayout.bits_per_digit` member instead." +msgstr "برای دسترسی به بازنمایی بومی اعداد صحیح، به جای آن از :c:func:`PyLong_GetNativeLayout` و عضو :c:member:`~PyLongLayout.bits_per_digit` آن استفاده کنید." + msgid "Export API" msgstr "API اکسپورت" diff --git a/c-api/marshal.po b/c-api/marshal.po index 9e5ab3380..e180c9dee 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -42,9 +42,15 @@ msgstr "یک عدد صحیح :c:expr:`long` به نام *value* را در *file* msgid "This function can fail, in which case it sets the error indicator. Use :c:func:`PyErr_Occurred` to check for that." msgstr "این تابع می‌تواند شکست بخورد، که در این صورت نشانگر خطا را تنظیم می‌کند. برای بررسی این موضوع از :c:func:`PyErr_Occurred` استفاده کنید." +msgid "In Python 3.15 and earlier, this function does not set the error indicator if writing to *file* fails. The same caveat applies as for :c:func:`PyMarshal_WriteObjectToFile`." +msgstr "در پایتون ۳.۱۵ و قبل‌تر، این تابع نشانگری برای خطا تنظیم نمی‌کند، اگر نوشتن در *file* شکست بخورد، همان محدودیت مشابه برای :c:func:`PyMarshal_WriteObjectToFile` برقرار است." + msgid "Marshal a Python object, *value*, to *file*. *version* indicates the file format." msgstr "یک شیء پایتون، *value*، را به *file* مارشال کنید. *version* قالب پرونده را مشخص می‌کند." +msgid "In Python 3.15 and earlier, this function can write only part of the data to *file* and return without setting the error indicator, for example if *value* contains an object which cannot be marshalled or if writing to *file* fails (see :gh:`155907`). Code which has to support these versions cannot rely on :c:func:`PyErr_Occurred` alone to know that all the data was written. It can use :c:func:`PyMarshal_WriteObjectToString` and write the result itself, or validate what was written." +msgstr "در پایتون ۳.۱۵ و قبلتر، این تابع فقط می‌تواند قسمتی از اطلاعات را در *پرونده* بنویسد و بدون تنظیم کردن نشانگر خطا برگرداند، برای مثال اگر *مقدار* شامل یک شیء‌ای که نمی‌تواند مارشال شود یا اگر نوشتن در *پرونده* شکست بخورد (به :gh:`155907` مراجعه کنید). کدی که باید این نسخه‌ها را پشتیبانی کند نمی‌تواند به تنهایی به :c:func:`PyErr_Occurred` تکیه کند تا بداند همه‌ی اطلاعات نوشته شده است. می‌تواند از :c:func:`PyMarshal_WriteObjectToString` استفاده کند و خودش نتیجه را بنویسد یا صحت‌سنجی کند آنچه نوشته شده است." + msgid "Return a bytes object containing the marshalled representation of *value*. *version* indicates the file format." msgstr "یک شیء bytes حاوی نمایش مارشال‌شده‌ی *value* را برمی‌گرداند. *version* قالب پرونده را مشخص می‌کند." diff --git a/c-api/monitoring.po b/c-api/monitoring.po index f7072d0ad..3b2c273e6 100644 --- a/c-api/monitoring.po +++ b/c-api/monitoring.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 13:20+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -182,6 +182,12 @@ msgstr ":monitoring-event:`RERAISE`" msgid ":monitoring-event:`STOP_ITERATION`" msgstr ":monitoring-event:`STOP_ITERATION`" +msgid "Use :c:macro:`PY_MONITORING_EVENT_BRANCH_LEFT` and :c:macro:`PY_MONITORING_EVENT_BRANCH_RIGHT` instead." +msgstr "به‌جای آن از :c:macro:`PY_MONITORING_EVENT_BRANCH_LEFT` و :c:macro:`PY_MONITORING_EVENT_BRANCH_RIGHT` استفاده کنید." + +msgid ":monitoring-event:`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT`" +msgstr ":monitoring-event:`BRANCH_LEFT` و :monitoring-event:`BRANCH_RIGHT`" + msgid "Exit the last scope that was entered with :c:func:`!PyMonitoring_EnterScope`." msgstr "از آخرین محدوده‌ای که با :c:func:`!PyMonitoring_EnterScope` وارد شده بود، خارج شوید." diff --git a/c-api/profiling.po b/c-api/profiling.po index 9ad65c4b1..6489693b3 100644 --- a/c-api/profiling.po +++ b/c-api/profiling.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 08:25+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: none\n" @@ -157,3 +157,12 @@ msgstr "اگر تابع ردیاب دیگری از قبل ثبت شده باشد msgid "Get the registered reference tracer function and the value of the opaque data pointer that was registered when :c:func:`PyRefTracer_SetTracer` was called. If no tracer was registered this function will return NULL and will set the **data** pointer to NULL." msgstr "تابع ردیاب ارجاع ثبت‌شده و مقدار اشاره‌گر داده‌ی مات را که هنگام فراخوانی :c:func:`PyRefTracer_SetTracer` ثبت شده بود، برمی‌گرداند. اگر هیچ ردیابی ثبت نشده باشد، این تابع NULL را برمی‌گرداند و اشاره‌گر **data** را برابر NULL قرار می‌دهد." + +msgid "Performance statistics" +msgstr "آمارهای کارایی" + +msgid "Largest micro-operation identifier for which CPython allocates performance statistics counters. Available only in builds configured with :option:`--enable-pystats`." +msgstr "بزرگ‌ترین شناسه‌ی ریزعملیات که سی‌پایتون برای آن شمارنده‌های آمارهای کارایی را تخصیص می‌دهد. فقط در ساخت‌هایی موجود است که با :option:`--enable-pystats` پیکربندی شده‌اند." + +msgid "This constant is intended for internal use only and is not useful to extension modules." +msgstr "این ثابت صرفاً برای استفاده‌ی داخلی در نظر گرفته شده است و برای ماژول‌های توسعه‌ای کاربردی ندارد." diff --git a/c-api/pyexpat.po b/c-api/pyexpat.po new file mode 100644 index 000000000..a9ae4054b --- /dev/null +++ b/c-api/pyexpat.po @@ -0,0 +1,59 @@ +# Persian translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" +"PO-Revision-Date: 2026-10-22 14:54+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Expat C API" +msgstr "Expat C API" + +msgid "The :mod:`xml.parsers.expat` module exposes selected Expat functions through its ``expat_CAPI`` capsule. This allows extension modules to use the same Expat library as Python. The interface is declared in :file:`pyexpat.h`, which must be included after Expat's :file:`expat.h` header." +msgstr "ماژول :mod:`xml.parsers.expat` توابع منتخب Expat را از طریق کپسول ``expat_CAPI`` خود در معرض نمایش می‌گذارد. این امر به ماژول‌های توسعه‌ای اجازه می‌دهد تا از همان کتابخانه‌ی Expat پایتون استفاده کنند. این رابط در :file:`pyexpat.h` اعلان می‌شود که باید پس از سرآیند :file:`expat.h` مربوط به Expat گنجانده شود." + +msgid "The name of the capsule containing the Expat C API: ``\"pyexpat.expat_CAPI\"``. Pass this to :c:func:`PyCapsule_Import` to obtain a pointer to a :c:struct:`PyExpat_CAPI`." +msgstr "نام کپسول حاوی Expat C API: ``\"pyexpat.expat_CAPI\"``. این مقدار را به :c:func:`PyCapsule_Import` ارسال کنید تا اشاره‌گری به یک :c:struct:`PyExpat_CAPI` به دست آورید." + +msgid "The string identifying the layout of :c:struct:`PyExpat_CAPI`. Before using the function pointers in the structure, check that its ``magic`` member compares equal to this string using ``strcmp()`` and its ``size`` member is at least :c:expr:`sizeof(struct PyExpat_CAPI)`." +msgstr "رشته‌ای که چیدمان :c:struct:`PyExpat_CAPI` را مشخص می‌کند. پیش از استفاده از اشاره‌گرهای تابع در ساختار، بررسی کنید که عضو ``magic`` آن با استفاده از ``strcmp()`` با این رشته برابر باشد و عضو ``size`` آن حداقل :c:expr:`sizeof(struct PyExpat_CAPI)` باشد." + +msgid "Table of function pointers exported by :mod:`xml.parsers.expat`. The capsule owns this structure: treat it as read-only and do not free it. Keep a strong reference to the capsule while using the table." +msgstr "جدول اشاره‌گرهای تابع صادرشده توسط :mod:`xml.parsers.expat`. کپسول مالک این ساختار است: آن را به عنوان فقط‌خواندنی در نظر بگیرید و آزاد نکنید. در حالی که از جدول استفاده می‌کنید، یک ارجاع قوی به کپسول نگه دارید." + +msgid "Check the compatibility fields as described under :c:macro:`PyExpat_CAPI_MAGIC` before using the function pointers." +msgstr "پیش از استفاده از اشاره‌گرهای تابع، فیلدهای سازگاری را همان‌طور که تحت :c:macro:`PyExpat_CAPI_MAGIC` توصیف شده است بررسی کنید." + +msgid "Interface identifier, set to :c:macro:`PyExpat_CAPI_MAGIC`." +msgstr "شناسه‌ی رابط، روی :c:macro:`PyExpat_CAPI_MAGIC` تنظیم شده است." + +msgid "Size of the structure in bytes, set to ``sizeof(struct PyExpat_CAPI)`` by the :mod:`xml.parsers.expat` module that created the capsule." +msgstr "اندازه‌ی ساختار بر حسب بایت، که توسط ماژول :mod:`xml.parsers.expat` که کپسول را ایجاد کرده است روی ``sizeof(struct PyExpat_CAPI)`` تنظیم شده است." + +msgid "Major, minor, and micro version numbers of the Expat library used by :mod:`xml.parsers.expat`." +msgstr "شماره‌های نسخه‌ی اصلی، فرعی و ریز کتابخانه‌ی Expat که توسط :mod:`xml.parsers.expat` استفاده می‌شود." + +msgid "Pointer to `XML_SetUnknownEncodingHandler `_. The handler may set a Python exception on failure. The caller must check for a Python exception after parsing." +msgstr "اشاره‌گر به `XML_SetUnknownEncodingHandler `_. هندلر ممکن است هنگام خطا یک استثنای پایتون تنظیم کند. فراخواننده باید پس از تجزیه، وجود استثنای پایتون را بررسی کند." + +msgid "Python's unknown-encoding handler for Expat, used with ``XML_SetUnknownEncodingHandler``. It uses Python's codec registry to fill *info*. The *encodingHandlerData* argument is unused. Calling this handler requires an :term:`attached thread state`." +msgstr "هندلر کدگذاری نامشخص پایتون برای Expat، که با ``XML_SetUnknownEncodingHandler`` استفاده می‌شود. این هندلر از رجیستری کُدک پایتون برای پر کردن *info* استفاده می‌کند. آرگومان *encodingHandlerData* استفاده نمی‌شود. فراخوانی این هندلر نیازمند یک :term:`وضعیت نخ متصل ` است." + +msgid "Pointers to the corresponding Expat functions, or ``NULL`` if not available in the Expat version used by :mod:`xml.parsers.expat`, are listed below." +msgstr "اشاره‌گرها به توابع متناظر Expat، یا ``NULL`` اگر در نسخه‌ی Expat مورد استفاده‌ی :mod:`xml.parsers.expat` موجود نباشند، در زیر فهرست شده‌اند." + +msgid "Member names omit the ``XML_`` prefix; for example, ``SetHashSalt`` exposes Expat's ``XML_SetHashSalt`` function. See the `Expat API reference `_ for their behavior and the minimum Expat version they appear in." +msgstr "نام اعضا پیشوند ``XML_`` را حذف می‌کند؛ برای مثال، ``SetHashSalt`` تابع ``XML_SetHashSalt`` متعلق به Expat را در معرض نمایش می‌گذارد. برای اطلاع از رفتار آن‌ها و حداقل نسخه‌ی Expat که در آن ظاهر می‌شوند، به `مرجع API اکس‌پت `_ مراجعه کنید." + +msgid "See the `Expat API reference `_." +msgstr "به `مرجع API اکس‌پت `_ مراجعه کنید." diff --git a/c-api/slice.po b/c-api/slice.po index a863a6175..98112397a 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -6,6 +6,7 @@ # Translators: # Revisto , 2025 # Sepehr Rasouli , 2026 +# mahdyaralipor , 2026 # msgid "" msgstr "" diff --git a/c-api/structures.po b/c-api/structures.po index 4e4d0474f..0a456e131 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+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" @@ -377,6 +377,12 @@ msgstr "این تابع در صورت موفقیت، یک :term:`ارجاع ام 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 "دسترسی به ویژگی‌های نوع‌های توسعه‌ای" @@ -468,8 +474,20 @@ msgstr "هنگام ایجاد کلاس با استفاده از :c:member:`~PyTy 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 "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 "نوع‌های عضو" diff --git a/c-api/synchronization.po b/c-api/synchronization.po index 1bb60949d..f46404f93 100644 --- a/c-api/synchronization.po +++ b/c-api/synchronization.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 12:55+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: none\n" @@ -191,6 +191,15 @@ msgstr "این API‌ها با معرفی :c:type:`PyMutex` در پایتون 3. msgid "A pointer to a mutual exclusion lock." msgstr "اشاره‌گری به قفل متقابل." +msgid "A :term:`soft deprecated` alias to :c:expr:`long long`, the integer type used for the timeout argument of :c:func:`PyThread_acquire_lock_timed`." +msgstr "یک نام مستعار :term:`منسوخ‌شده‌ی نرم ` برای :c:expr:`long long`، که نوع داده‌ی عدد صحیح استفاده‌شده برای آرگومان مهلت زمانی :c:func:`PyThread_acquire_lock_timed` است." + +msgid "The maximum timeout, in microseconds, supported by :c:func:`PyThread_acquire_lock_timed`." +msgstr "بیشترین مهلت زمانی، بر حسب میکروثانیه، که توسط :c:func:`PyThread_acquire_lock_timed` پشتیبانی می‌شود." + +msgid "This differs from :data:`_thread.TIMEOUT_MAX`, which is expressed in seconds." +msgstr "این با :data:`_thread.TIMEOUT_MAX` متفاوت است که بر حسب ثانیه بیان می‌شود." + msgid "The result of acquiring a lock with a timeout." msgstr "نتیجه‌ی به‌دست آوردن یک قفل با مهلت زمانی." diff --git a/c-api/unicode.po b/c-api/unicode.po index 56a080371..7c1438a6d 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 16:24+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -36,6 +36,9 @@ msgstr "از زمان پیاده‌سازی :pep:`393` در پایتون 3.3، msgid "UTF-8 representation is created on demand and cached in the Unicode object." msgstr "بازنمایی UTF-8 به‌هنگام نیاز ایجاد می‌شود و در نهانگاه شیء یونیکد ذخیره می‌شود." +msgid "The internal buffer always includes an extra trailing null character for compatibility with null terminated C strings. This extra character is not counted in :c:func:`PyUnicode_GetLength` nor in the various *size* arguments of the functions below." +msgstr "بافر داخلی همیشه شامل یک نویسه‌ی تهی پایانی اضافی برای سازگاری با رشته‌های C ختم‌شده با نویسه‌ی تهی است. این نویسه‌ی اضافی در :c:func:`PyUnicode_GetLength` و همچنین در آرگومان‌های *size* مختلف توابع زیر محاسبه نمی‌شود." + msgid "The :c:type:`Py_UNICODE` representation has been removed since Python 3.12 with deprecated APIs. See :pep:`623` for more information." msgstr "نمایش :c:type:`Py_UNICODE` از پایتون 3.12 همراه با APIهای منسوخ حذف شده است. برای اطلاعات بیشتر به :pep:`623` مراجعه کنید." @@ -102,8 +105,11 @@ msgstr "مقدار *kind* و اشاره‌گر *data* باید به ترتیب msgid "The function performs no checks for any of its requirements, and is intended for usage in loops." msgstr "این تابع هیچ بررسی‌ای برای هیچ‌یک از نیازمندی‌های خود انجام نمی‌دهد و برای استفاده در حلقه‌ها در نظر گرفته شده است." -msgid "Read a code point from a canonical representation *data* (as obtained with :c:func:`PyUnicode_DATA`). No checks or ready calls are performed." -msgstr "یک نقطه‌کد را از نمایش کانونیکال *data* (که با :c:func:`PyUnicode_DATA` به دست آمده است) می‌خواند. هیچ بررسی یا فراخوانی ready انجام نمی‌شود." +msgid "Read a code point from a canonical representation *data* (as obtained with :c:func:`PyUnicode_DATA`). No checks are performed." +msgstr "یک نقطه‌کد را از داده‌های بازنمایی کانونی *data* بخوانید (همان‌طور که با :c:func:`PyUnicode_DATA` به دست می‌آید). هیچ بررسی انجام نمی‌شود." + +msgid "Accept reading the trailing null character at index :c:func:`PyUnicode_GetLength`." +msgstr "خواندن نویسه‌ی تهی پایانی در اندیس :c:func:`PyUnicode_GetLength` را بپذیرید." msgid "Read a character from a Unicode object *unicode*, which must be in the \"canonical\" representation. This is less efficient than :c:func:`PyUnicode_READ` if you do multiple consecutive reads." msgstr "یک نویسه از شیء یونیکد *unicode* می‌خواند که باید در نمایش «کانونیکال» باشد. اگر چندین خواندن متوالی انجام می‌دهید، این کارایی کمتری نسبت به :c:func:`PyUnicode_READ` دارد." @@ -240,6 +246,9 @@ msgstr "یک شیء یونیکد جدید با *kind* داده‌شده ایجا msgid "If necessary, the input *buffer* is copied and transformed into the canonical representation. For example, if the *buffer* is a UCS4 string (:c:macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the UCS1 range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)." msgstr "در صورت نیاز، *بافر* ورودی کپی شده و به نمایش کانونیکال تبدیل می‌شود. برای مثال، اگر *بافر* یک رشته‌ی UCS4 باشد (:c:macro:`PyUnicode_4BYTE_KIND`) و تنها شامل نقطه‌کدهایی در محدوده‌ی UCS1 باشد، به UCS1 تبدیل می‌شود (:c:macro:`PyUnicode_1BYTE_KIND`)." +msgid "All characters must be in range [U+0000; U+10ffff]. If *kind* is :c:macro:`PyUnicode_4BYTE_KIND` and the string contains invalid characters, the behavior is undefined." +msgstr "تمام نویسه‌ها باید در محدوده‌ی [U+0000; U+10ffff] باشند. اگر *kind* برابر با :c:macro:`PyUnicode_4BYTE_KIND` باشد و رشته شامل نویسه‌های نامعتبر باشد، رفتار نامعلوم است." + msgid "Create a Unicode object from the char buffer *str*. The bytes will be interpreted as being UTF-8 encoded. The buffer is copied into the new object. The return value might be a shared object, i.e. modification of the data is not allowed." msgstr "یک شیء یونیکد از بافر نویسه *str* ایجاد می‌کند. بایت‌ها به‌عنوان کدگذاری‌شده با UTF-8 تفسیر می‌شوند. بافر در شیء جدید کپی می‌شود. مقدار بازگشتی ممکن است یک شیء مشترک باشد، یعنی تغییر داده‌ها مجاز نیست." @@ -567,6 +576,9 @@ msgstr "طول شیء یونیکد را بر حسب نقطه‌کد برمی‌ msgid "On error, set an exception and return ``-1``." msgstr "در صورت خطا، یک استثنا تنظیم شده و ``-1`` بازگردانده می‌شود." +msgid "The length does not count the trailing null character." +msgstr "طول، نویسه‌ی پایانی تهی را حساب نمی‌کند." + msgid "Copy characters from one Unicode object into another. This function performs character conversion when necessary and falls back to :c:func:`!memcpy` if possible. Returns ``-1`` and sets an exception on error, otherwise returns the number of copied characters." msgstr "نویسه‌ها را از یک شیء یونیکد به شیء یونیکد دیگر کپی می‌کند. این تابع در صورت نیاز تبدیل نویسه‌ها را انجام می‌دهد و در صورت امکان به :c:func:`!memcpy` روی می‌آورد. در صورت خطا ``-1`` برمی‌گرداند و یک استثنا تنظیم می‌کند، در غیر این صورت تعداد نویسه‌های کپی‌شده را برمی‌گرداند." @@ -606,6 +618,9 @@ msgstr "یک نویسه از یک رشته می‌خواند. این تابع ب msgid "Return character on success, ``-1`` on error with an exception set." msgstr "در صورت موفقیت نویسه و در صورت خطا ``-1`` را همراه با استثنای تنظیم‌شده برمی‌گرداند." +msgid "Do not accept reading the trailing null character at index :c:func:`PyUnicode_GetLength`." +msgstr "خواندن نویسه‌ی پایانی تهی در اندیس :c:func:`PyUnicode_GetLength` پذیرفته نمی‌شود." + msgid "Return a substring of *unicode*, from character index *start* (included) to character index *end* (excluded). Negative indices are not supported. On error, set an exception and return ``NULL``." msgstr "زیررشته‌ای از *unicode* را برمی‌گرداند که از اندیس نویسه‌ی *start* (شامل) تا اندیس نویسه‌ی *end* (بدون) است. اندیس‌های منفی پشتیبانی نمی‌شوند. در صورت خطا، یک استثنا تنظیم کرده و ``NULL`` را برمی‌گرداند." @@ -1155,6 +1170,9 @@ msgstr "یک نمونه‌ی نوشتارگر یونیکد." msgid "The instance must be destroyed by :c:func:`PyUnicodeWriter_Finish` on success, or :c:func:`PyUnicodeWriter_Discard` on error." msgstr "نمونه باید در صورت موفقیت توسط :c:func:`PyUnicodeWriter_Finish` یا در صورت خطا توسط :c:func:`PyUnicodeWriter_Discard` نابود شود." +msgid "The API is **not thread safe**. To share a writer with multiple threads, a critical section or a lock is needed." +msgstr "این API **نخ‌امن (thread safe) نیست**. برای اشتراک‌گذاری یک نویسنده (writer) با چند نخ، به یک بخش بحرانی (critical section) یا قفل نیاز است." + msgid "Create a Unicode writer instance." msgstr "یک نمونه از نویسنده یونیکد ایجاد کنید." @@ -1206,12 +1224,15 @@ msgstr "رشته پهن *str* را در *writer* می‌نویسد." msgid "*size* is a number of wide characters. If *size* is equal to ``-1``, call ``wcslen(str)`` to get the string length." msgstr "*size* تعداد نویسه‌های پهن است. اگر *size* برابر با ``-1`` باشد، برای به‌دست آوردن طول رشته، ``wcslen(str)`` را فراخوانی کنید." -msgid "Writer the UCS4 string *str* into *writer*." -msgstr "رشته UCS4 *str* را در *writer* می‌نویسد." +msgid "Write the UCS4 string *str* into *writer*." +msgstr "رشته‌ی UCS4 با نام *str* را در *writer* بنویسید." msgid "*size* is a number of UCS4 characters." msgstr "*size* تعداد نویسه‌های UCS4 است." +msgid "All characters must be in range [U+0000; U+10ffff]. If the string contains invalid characters, the behavior is undefined." +msgstr "تمام نویسه‌ها باید در محدوده‌ی [U+0000; U+10ffff] باشند. اگر رشته شامل نویسه‌های نامعتبر باشد، رفتار نامعلوم است." + msgid "Call :c:func:`PyObject_Str` on *obj* and write the output into *writer*." msgstr ":c:func:`PyObject_Str` را روی *obj* فراخوانی می‌کند و خروجی را در *writer* می‌نویسد." diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 1960754d7..aaa9e2bd7 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+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" @@ -87,18 +87,33 @@ msgstr "دستورها را از پرونده‌ای که با یک دستگاه msgid "Can be set to point to a function with the prototype ``int func(void)``. The function will be called when Python's interpreter prompt is about to become idle and wait for user input from the terminal. The return value is ignored. Overriding this hook can be used to integrate the interpreter's prompt with other event loops, as done in :file:`Modules/_tkinter.c` in the Python source code." msgstr "می‌توان آن را طوری تنظیم کرد که به تابعی با پیش‌نمونه‌ی ``int func(void)`` اشاره کند. این تابع زمانی فراخوانی می‌شود که اعلان مفسر پایتون در شرف بی‌کار شدن و انتظار برای ورودی کاربر از پایانه باشد. مقدار بازگشتی نادیده گرفته می‌شود. از بازنویسی این قلاب می‌توان برای یکپارچه‌سازی اعلان مفسر با حلقه‌های رویداد دیگر استفاده کرد، همان‌گونه که در :file:`Modules/_tkinter.c` در کد منبع پایتون انجام شده است." +msgid "The function is called without an :term:`attached thread state`." +msgstr "این تابع بدون :term:`وضعیت نخ متصل ` فراخوانی می‌شود." + msgid "This function is only called from the :ref:`main interpreter `." msgstr "این تابع فقط از :ref:`مفسر اصلی ` فراخوانی می‌شود." -msgid "Can be set to point to a function with the prototype ``char *func(FILE *stdin, FILE *stdout, char *prompt)``, overriding the default function used to read a single line of input at the interpreter's prompt. The function is expected to output the string *prompt* if it's not ``NULL``, and then read a line of input from the provided standard input file, returning the resulting string. For example, The :mod:`readline` module sets this hook to provide line-editing and tab-completion features." -msgstr "می‌تواند برای اشاره به تابعی با پیش‌نمونه‌ی ``char *func(FILE *stdin, FILE *stdout, char *prompt)`` تنظیم شود که تابع پیش‌فرضِ استفاده‌شده برای خواندن یک سطر ورودی در اعلان مفسر را بازنویسی می‌کند. انتظار می‌رود این تابع در صورت ``NULL`` نبودن *prompt*، رشته‌ی *prompt* را به خروجی بفرستد و سپس یک سطر ورودی از پرونده‌ی ورودی استانداردِ ارائه‌شده بخواند و رشته‌ی حاصل را برگرداند. برای مثال، ماژول :mod:`readline` این قلاب را برای فراهم کردن قابلیت‌های ویرایش سطر و تکمیل با کلید Tab تنظیم می‌کند." +msgid "Can be set to point to a function with the prototype ``char *func(FILE *stdin, FILE *stdout, const char *prompt)``, overriding the default function used to read a single line of input at the interpreter's prompt. The function is expected to output the string *prompt* if it's not ``NULL``, and then read a line of input from the provided standard input file, returning the resulting string. For example, the :mod:`readline` module sets this hook to provide line-editing and tab-completion features." +msgstr "می‌تواند روی تابعی با پیش‌نمونه‌ی ``char *func(FILE *stdin, FILE *stdout, const char *prompt)`` تنظیم شود که تابع پیش‌فرض استفاده‌شده برای خواندن یک سطر ورودی در اعلان مفسر را بازنویسی می‌کند. انتظار می‌رود این تابع رشته‌ی *prompt* را (در صورتی که ``NULL`` نباشد) خروجی دهد، و سپس یک سطر ورودی از پرونده‌ی ورودی استاندارد فراهم‌شده بخواند و رشته‌ی حاصل را برگرداند. برای مثال، ماژول :mod:`readline` این قلاب را تنظیم می‌کند تا ویژگی‌های ویرایش سطر و تکمیل با کلید تب (tab-completion) را فراهم کند." + +msgid "If this pointer is ``NULL``, :c:func:`PyOS_Readline` sets it to the default implementation, :c:func:`PyOS_Readline`, before reading input." +msgstr "اگر این اشاره‌گر ``NULL`` باشد، :c:func:`PyOS_Readline` آن را قبل از خواندن ورودی روی پیاده‌سازی پیش‌فرض، یعنی :c:func:`PyOS_Readline`، تنظیم می‌کند." + +msgid "The returned string must be null-terminated and include the trailing newline, if one was read. Return an empty string if the end of the file is reached before any characters are read. Return ``NULL`` on failure or interruption; a Python exception may be set." +msgstr "رشته‌ی بازگردانده‌شده باید با نویسه‌ی ته (null-terminated) ختم شود و در صورت خوانده شدن، شامل کاراکتر خط جدید پایانی باشد. اگر انتهای پرونده قبل از خواندن هر نویسی فرا برسد، یک رشته‌ی خالی برگردانید. در صورت بروز خطا یا وقفه، ``NULL`` را برگردانید؛ ممکن است یک استثنای پایتون تنظیم شود." -msgid "The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred." -msgstr "نتیجه باید رشته‌ای باشد که توسط :c:func:`PyMem_RawMalloc` یا :c:func:`PyMem_RawRealloc` تخصیص داده‌شده باشد، یا ``NULL`` در صورت وقوع خطا." +msgid "A non-``NULL`` result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:func:`PyMem_RawRealloc`." +msgstr "یک نتیجه‌ی غیر-``NULL`` باید رشته‌ای باشد که توسط :c:func:`PyMem_RawMalloc` یا :c:func:`PyMem_RawRealloc` تخصیص یافته است." msgid "The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc`." msgstr "نتیجه باید توسط :c:func:`PyMem_RawMalloc` یا :c:func:`PyMem_RawRealloc` تخصیص داده شود، نه توسط :c:func:`PyMem_Malloc` یا :c:func:`PyMem_Realloc`." +msgid "Display *prompt*, if it is not ``NULL``, and read a line from *sys_stdin*. If both streams are terminals and the call is made from the :ref:`main interpreter `, use :c:var:`PyOS_ReadlineFunctionPointer`. Otherwise, use the default implementation, which flushes *sys_stdout* and writes *prompt* to the C standard error stream." +msgstr "اعلان *prompt* را (اگر ``NULL`` نباشد) نمایش دهید و یک سطر از *sys_stdin* بخوانید. اگر هر دو جریان پایانه (terminal) باشند و فراخوانی از :ref:`مفسر اصلی ` انجام شود، از :c:var:`PyOS_ReadlineFunctionPointer` استفاده کنید. در غیر این صورت، از پیاده‌سازی پیش‌فرض استفاده کنید که *sys_stdout* را تخلیه (flush) کرده و *prompt* را در جریان خطای استاندارد C می‌نویسد." + +msgid "The returned string follows the contract of :c:var:`PyOS_ReadlineFunctionPointer`, but the caller must free it with :c:func:`PyMem_Free`. Return ``NULL`` on failure or interruption; a Python exception may be set." +msgstr "رشته‌ی بازگردانده‌شده از قرارداد :c:var:`PyOS_ReadlineFunctionPointer` پیروی می‌کند، اما فراخواننده باید آن را با :c:func:`PyMem_Free` آزاد کند. در صورت بروز خطا یا وقفه، ``NULL`` را برگردانید؛ ممکن است یک استثنای پایتون تنظیم شود." + msgid "This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving *flags* set to ``NULL``." msgstr "این یک رابط ساده‌شده برای :c:func:`PyRun_StringFlags` در ادامه است که در آن *flags* روی ``NULL`` تنظیم می‌شود." diff --git a/c-api/weakref.po b/c-api/weakref.po index e85ebb58e..f7ee328ab 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+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" @@ -82,6 +82,12 @@ msgstr "این تابع توسط هندلر :c:member:`~PyTypeObject.tp_dealloc` msgid "This iterates through the weak references for *object* and calls callbacks for those references which have one. It returns when all callbacks have been attempted." msgstr "این تابع ارجاع‌های ضعیفِ *object* را پیمایش می‌کند و برای ارجاع‌هایی که کال‌بک دارند، کال‌بک‌هایشان را فراخوانی می‌کند. این تابع وقتی بازمی‌گردد که تلاش برای همه‌ی کال‌بک‌ها انجام شده باشد." +msgid "Return a pointer to an internal linked list of weak references to *object*. *object* must support weak references and must not be ``NULL``." +msgstr "یک اشاره‌گر به فهرست پیوندی داخلی ارجاعات ضعیف به *object* را برگردانید. *object* باید از ارجاعات ضعیف پشتیبانی کند و نباید ``NULL`` باشد." + +msgid "This function is intended for internal use only. Do not access or modify the weak reference list through the returned pointer." +msgstr "این تابع صرفاً برای استفاده‌ی داخلی در نظر گرفته شده است. از طریق اشاره‌گر بازگردانده‌شده، به فهرست ارجاعات ضعیف دسترسی پیدا نکنید و آن را تغییر ندهید." + msgid "Clears the weakrefs for *object* without calling the callbacks." msgstr "ارجاع‌های ضعیف مربوط به *object* را بدون فراخوانی کال‌بک‌ها پاک‌سازی می‌کند." diff --git a/extending/newtypes.po b/extending/newtypes.po index d299373e9..d9e88aec8 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 10:51+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -514,7 +514,7 @@ msgid "" "typedef struct PyMemberDef {\n" " const char *name;\n" " int type;\n" -" int offset;\n" +" Py_ssize_t offset;\n" " int flags;\n" " const char *doc;\n" "} PyMemberDef;" @@ -522,7 +522,7 @@ msgstr "" "typedef struct PyMemberDef {\n" " const char *name;\n" " int type;\n" -" int offset;\n" +" Py_ssize_t offset;\n" " int flags;\n" " const char *doc;\n" "} PyMemberDef;" diff --git a/howto/remote_debugging.po b/howto/remote_debugging.po index f31de2fb4..53760365d 100644 --- a/howto/remote_debugging.po +++ b/howto/remote_debugging.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-25 04:09+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-25 08:57+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: none\n" @@ -38,8 +38,8 @@ msgstr "برای غیرفعال کردن پشتیبانی از اشکال‌زد msgid "Set the :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` environment variable to ``1`` before starting the interpreter." msgstr "متغیر محیطی :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` را پیش از راه‌اندازی مفسر روی ``1`` تنظیم کنید." -msgid "Use the :option:`-X disable_remote_debug` command-line option." -msgstr "از گزینه‌ی خط فرمان :option:`-X disable_remote_debug` استفاده کنید." +msgid "Use the :option:`-X disable-remote-debug` command-line option." +msgstr "از گزینه‌ی خط فرمان :option:`-X disable-remote-debug` استفاده کنید." msgid "Compile Python with the :option:`--without-remote-debug` build flag." msgstr "پایتون را با پرچم ساخت :option:`--without-remote-debug` کامپایل کنید." @@ -803,8 +803,8 @@ msgstr "اگر فرایند پایتونِ در حال اشکال‌زدایی msgid "When to use ``PYTHON_DISABLE_REMOTE_DEBUG``" msgstr "زمان استفاده از ``PYTHON_DISABLE_REMOTE_DEBUG``" -msgid "The environment variable :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (and the equivalent :option:`-X disable_remote_debug` flag) allows operators to disable the in-process side of the protocol as a **defence-in-depth** measure. This may be useful in hardened or sandboxed deployment environments where no debugging or profiling of the process is expected and reducing attack surface is a priority, even though the OS-level privilege checks already prevent unprivileged access." -msgstr "متغیر محیطی :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (و پرچم معادل :option:`-X disable_remote_debug`) به راهبران اجازه می‌دهد سمت درون‌فرایندی پروتکل را به‌عنوان تدبیری برای **دفاع در عمق** غیرفعال کنند. این ممکن است در محیط‌های استقرار ایمن‌سازی‌شده یا سندباکس‌شده مفید باشد؛ محیط‌هایی که انتظار نمی‌رود هیچ‌گونه اشکال‌زدایی یا پروفایل‌گیری از فرایند در آن‌ها انجام شود و کاهش سطح حمله اولویت دارد، حتی اگر بررسی‌های امتیاز در سطح سیستم‌عامل از پیش از دسترسی فاقد امتیاز جلوگیری کنند." +msgid "The environment variable :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (and the equivalent :option:`-X disable-remote-debug` flag) allows operators to disable the in-process side of the protocol as a **defence-in-depth** measure. This may be useful in hardened or sandboxed deployment environments where no debugging or profiling of the process is expected and reducing attack surface is a priority, even though the OS-level privilege checks already prevent unprivileged access." +msgstr "متغیر محیطی :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` (و پرچم معادل آن یعنی :option:`-X disable-remote-debug`) به عملگران اجازه می‌دهد تا سمت درون‌فرایندی پروتکل را به عنوان یک راهکار **دفاع در عمق (defence-in-depth)** غیرفعال کنند. این کار ممکن است در محیط‌های استقرار سخت‌سازی‌شده (hardened) یا ایزوله (sandboxed) که هیچ‌گونه اشکال‌زدایی یا پروفایل‌گیری از فرایند مورد انتظار نیست و کاهش سطح حمله اولویت دارد، مفید باشد؛ حتی اگر بررسی‌های دسترسی در سطح سیستم‌عامل از قبل مانع دسترسی‌های غیرمجاز شده باشند." msgid "Setting this variable does **not** affect other OS-level debugging interfaces (``ptrace``, ``/proc``, ``task_for_pid``, etc.), which remain available according to their own permission models." msgstr "تنظیم این متغیر بر سایر رابط‌های اشکال‌زدایی در سطح سیستم‌عامل تأثیر **نمی‌گذارد** (``ptrace``، ``/proc``، ``task_for_pid`` و غیره)، که بر اساس مدل‌های مجوز خود در دسترس باقی می‌مانند." diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 556956ef8..014f95b2c 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -446,7 +446,7 @@ msgid "*all_errors* was added." msgstr "*all_errors* افزوده شد." msgid "Raises a ``ValueError`` if ``ssl.check_hostname`` is ``True`` and ``server_hostname`` is not supplied." -msgstr "" +msgstr "اگر ``ssl.check_hostname`` برابر با ``True`` باشد و ``server_hostname`` فراهم نشده باشد، یک ``ValueError`` بالا می‌آورد." msgid "The :func:`open_connection` function is a high-level alternative API. It returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be used directly in async/await code." msgstr "تابع :func:`open_connection` یک API جایگزین سطح‌بالا است. این تابع یک جفت (:class:`StreamReader`، :class:`StreamWriter`) را برمی‌گرداند که می‌توان مستقیماً در کد async/await از آن‌ها استفاده کرد." diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 5bfc67806..8b36199e3 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -323,7 +323,7 @@ msgid "*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdow msgstr "*ssl_shutdown_timeout* زمان بر حسب ثانیه است که باید برای تکمیل خاموش‌سازی SSL پیش از قطع اتصال منتظر بمانید. اگر ``None`` باشد، ``30.0`` ثانیه است (پیش‌فرض)." msgid "Raises a ``ValueError`` if ``sslcontext.check_hostname`` is ``True`` and ``server_hostname`` is not supplied." -msgstr "" +msgstr "اگر ``sslcontext.check_hostname`` برابر با ``True`` باشد و ``server_hostname`` فراهم نشده باشد، یک ``ValueError`` بالا می‌آورد." msgid "Return ``True`` if the stream is closed or in the process of being closed." msgstr "اگر جریان بسته باشد یا در حال بسته شدن باشد، ``True`` را برمی‌گرداند." diff --git a/library/calendar.po b/library/calendar.po index 8c20d9991..b5fe3c567 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 07:47+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -107,8 +107,8 @@ msgstr "نمونه‌های :class:`TextCalendar` متدهای زیر را دا msgid "Return a string representing a single day formatted with the given *width*. If *theday* is ``0``, return a string of spaces of the specified width, representing an empty day. The *weekday* parameter is unused." msgstr "رشته‌ای را برمی‌گرداند که نمایانگر یک روز واحد است و با *width* داده‌شده قالب‌بندی شده است. اگر *theday* برابر ``0`` باشد، رشته‌ای از فاصله‌ها با عرض مشخص‌شده برمی‌گرداند که نمایانگر یک روز خالی است. پارامتر *weekday* استفاده نمی‌شود." -msgid "Return a single week in a string with no newline. If *w* is provided, it specifies the width of the date columns, which are centered. Depends on the first weekday as specified in the constructor or set by the :meth:`setfirstweekday` method." -msgstr "یک هفته واحد را به‌صورت یک رشته بدون خط جدید برمی‌گرداند. اگر *w* داده شود، عرض ستون‌های تاریخ را مشخص می‌کند؛ این ستون‌ها وسط‌چین هستند. به اولین روز هفته بستگی دارد، همان‌گونه که در سازنده تعیین‌شده است یا با متد :meth:`setfirstweekday` تنظیم‌شده است." +msgid "Return a single week in a string with no newline. *width* specifies the width of the date columns, which are centered. Depends on the first weekday as specified in the constructor or set by the :meth:`setfirstweekday` method." +msgstr "بازگرداندن یک هفته‌ی منفرد در یک رشته بدون کاراکتر خط جدید. پارامتر *width* عرض ستون‌های تاریخ را تعیین می‌کند که وسط‌چین شده‌اند. این تابع به روز اول هفته بستگی دارد که در سازنده مشخص شده یا توسط متد :meth:`setfirstweekday` تنظیم شده است." msgid "Return a string representing the name of a single weekday formatted to the specified *width*. The *weekday* parameter is an integer representing the day of the week, where ``0`` is Monday and ``6`` is Sunday." msgstr "رشته‌ای را برمی‌گرداند که نشان‌دهنده نام یک روز هفته است و با عرض مشخص‌شده *width* قالب‌بندی‌شده است. پارامتر *weekday* یک عدد صحیح است که روز هفته را نشان می‌دهد، به‌طوری‌که ``0`` دوشنبه و ``6`` یکشنبه است." diff --git a/library/concurrent.interpreters.po b/library/concurrent.interpreters.po index 215ef12ce..c5f08ccec 100644 --- a/library/concurrent.interpreters.po +++ b/library/concurrent.interpreters.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-07-25 12:59+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: none\n" @@ -199,6 +199,9 @@ msgstr "یک مفسر پایتون جدید (بی‌کار) را راه‌اند msgid "Initialize a new cross-interpreter queue and return a :class:`Queue` object for it." msgstr "یک صف بین‌مفسری جدید را مقداردهی اولیه می‌کند و یک شیء :class:`Queue` برای آن برمی‌گرداند." +msgid "*maxsize* is an integer that sets the upperbound limit on the number of items that can be placed in the queue. Insertion will be blocked once this size has been reached, until queue items are consumed. If *maxsize* is less than or equal to zero, the queue size is infinite." +msgstr "پارامتر *maxsize* یک عدد صحیح است که حد بالایی تعداد آیتم‌هایی را که می‌توان در صف قرار داد، تعیین می‌کند. پس از رسیدن به این اندازه‌، درج متوقف خواهد شد تا زمانی که آیتم‌های صف مصرف شوند. اگر *maxsize* کمتر یا مساوی صفر باشد، اندازه‌ی صف نامحدود است." + msgid "Interpreter objects" msgstr "اشیای مفسر" @@ -259,17 +262,38 @@ msgstr "این استثنا، که زیرکلاسی از :exc:`TypeError` است msgid "Communicating Between Interpreters" msgstr "ارتباط بین مفسرها" -msgid "A wrapper around a low-level, cross-interpreter queue, which implements the :class:`queue.Queue` interface. The underlying queue can only be created through :func:`create_queue`." -msgstr "پوششی برای یک صف بین‌مفسری سطح پایین، که رابط :class:`queue.Queue` را پیاده‌سازی می‌کند. صف زیرین فقط از طریق :func:`create_queue` قابل ایجاد است." +msgid "A wrapper around a low-level, cross-interpreter queue, which implements all the methods of :class:`queue.Queue` except for :meth:`~queue.Queue.task_done`, :meth:`~queue.Queue.join` and :meth:`~queue.Queue.shutdown`. The underlying queue can only be created through :func:`create_queue`." +msgstr "پوششی دور یک صف سطح پایین و بین‌مفسری که تمام متدهای :class:`queue.Queue` به جز :meth:`~queue.Queue.task_done`، :meth:`~queue.Queue.join` و :meth:`~queue.Queue.shutdown` را پیاده‌سازی می‌کند. صف زیرین تنها از طریق :func:`create_queue` قابل ایجاد است." msgid "The queue's ID." msgstr "شناسه‌ی صف." -msgid "This exception, a subclass of :exc:`queue.Empty`, is raised from :meth:`!Queue.get` and :meth:`!Queue.get_nowait` when the queue is empty." -msgstr "این استثنا، زیرکلاسی از :exc:`queue.Empty`، زمانی از :meth:`!Queue.get` و :meth:`!Queue.get_nowait` پرتاب می‌شود که صف خالی باشد." +msgid "Return the number of items in the queue." +msgstr "تعداد آیتم‌های موجود در صف را برگردانید." + +msgid "Return ``True`` if the queue is empty, ``False`` otherwise." +msgstr "اگر صف خالی باشد ``True`` و در غیر این صورت ``False`` را برگردانید." + +msgid "Return ``True`` if the queue is full, ``False`` otherwise." +msgstr "اگر صف پر باشد ``True`` و در غیر این صورت ``False`` را برگردانید." + +msgid "Put *obj* into the queue. If optional args *block* is true and *timeout* is ``None`` (the default), block if necessary until a free slot is available. If *timeout* is a positive number, it blocks at most *timeout* seconds and raises the :exc:`QueueFull` exception if no free slot was available within that time. Otherwise (*block* is false), put an object on the queue if a free slot is immediately available, else raise the :exc:`QueueFull` exception (*timeout* is ignored in that case)." +msgstr "شیء *obj* را در صف قرار دهید. اگر آرگومان‌های اختیاری *block* برابر با درست و *timeout* برابر با ``None`` (پیش‌فرض) باشند، در صورت نیاز متوقف بمانید تا جایگاه خالی در دسترس قرار گیرد. اگر *timeout* یک عدد مثبت باشد، حداکثر به میزان *timeout* ثانیه متوقف می‌ماند و اگر در آن بازه زمانی هیچ جایگاه خالی در دسترس نباشد، استثنای :exc:`QueueFull` را بالا می‌آورد. در غیر این صورت (وقتی *block* نادرست باشد)، اگر یک جایگاه خالی بلافاصله در دسترس باشد، شیء را در صف قرار دهید، وگرنه استثنای :exc:`QueueFull` را بالا بیاورید (در این حالت *timeout* نادیده گرفته می‌شود)." + +msgid "Equivalent to ``put(obj, block=False)``." +msgstr "معادل با ``put(obj, block=False)``." + +msgid "Remove and return an object from the queue. If optional args *block* is true and *timeout* is ``None`` (the default), block if necessary until an object is available. If *timeout* is a positive number, it blocks at most *timeout* seconds and raises the :exc:`QueueEmpty` exception if no object was available within that time. Otherwise (*block* is false), return an object if one is immediately available, else raise the :exc:`QueueEmpty` exception (*timeout* is ignored in that case)." +msgstr "یک شیء را از صف حذف کرده و برگردانید. اگر آرگومان‌های اختیاری *block* برابر با درست و *timeout* برابر با ``None`` (پیش‌فرض) باشند، در صورت نیاز متوقف بمانید تا شیء در دسترس قرار گیرد. اگر *timeout* یک عدد مثبت باشد، حداکثر به میزان *timeout* ثانیه متوقف می‌ماند و اگر در آن بازه زمانی هیچ شیئی در دسترس نباشد، استثنای :exc:`QueueEmpty` را بالا می‌آورد. در غیر این صورت (وقتی *block* نادرست باشد)، اگر شیئی بلافاصله در دسترس باشد، آن را برگردانید، وگرنه استثنای :exc:`QueueEmpty` را بالا بیاورید (در این حالت *timeout* نادیده گرفته می‌شود)." -msgid "This exception, a subclass of :exc:`queue.Full`, is raised from :meth:`!Queue.put` and :meth:`!Queue.put_nowait` when the queue is full." -msgstr "این استثنا، زیرکلاسی از :exc:`queue.Full`، هنگامی از :meth:`!Queue.put` و :meth:`!Queue.put_nowait` پرتاب می‌شود که صف پر باشد." +msgid "Equivalent to ``get(block=False)``." +msgstr "معادل با ``get(block=False)``." + +msgid "This exception, a subclass of :exc:`queue.Empty`, is raised from :meth:`Queue.get` and :meth:`Queue.get_nowait` when the queue is empty." +msgstr "این استثنا که زیرکلاسی از :exc:`queue.Empty` است، هنگام خالی بودن صف از :meth:`Queue.get` و :meth:`Queue.get_nowait` بالا آورده می‌شود." + +msgid "This exception, a subclass of :exc:`queue.Full`, is raised from :meth:`Queue.put` and :meth:`Queue.put_nowait` when the queue is full." +msgstr "این استثنا، که زیرکلاسی از :exc:`queue.Full` است، زمانی از :meth:`Queue.put` و :meth:`Queue.put_nowait` بالا آورده می‌شود که صف پر باشد." msgid "Basic usage" msgstr "استفاده‌ی پایه" @@ -343,3 +367,31 @@ msgstr "" "\n" "t = interp.call_in_thread(run)\n" "t.join()" + +msgid "Communicating between interpreters with a queue::" +msgstr "ارتباط بین مفسرها با یک صف::" + +msgid "" +"from concurrent import interpreters\n" +"\n" +"interp = interpreters.create()\n" +"queue = interpreters.create_queue()\n" +"\n" +"def worker(queue):\n" +" queue.put('spam!')\n" +"\n" +"t = interp.call_in_thread(worker, queue)\n" +"print(queue.get())\n" +"t.join()" +msgstr "" +"from concurrent import interpreters\n" +"\n" +"interp = interpreters.create()\n" +"queue = interpreters.create_queue()\n" +"\n" +"def worker(queue):\n" +" queue.put('spam!')\n" +"\n" +"t = interp.call_in_thread(worker, queue)\n" +"print(queue.get())\n" +"t.join()" diff --git a/library/ctypes.po b/library/ctypes.po index 7b4760eef..ba572b343 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -8,12 +8,13 @@ # Alireza Shabani (Revisto) , 2025 # Rafael Fontenelle , 2025 # Sepehr Rasouli , 2026 +# mahdyaralipor , 2026 # msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-28 04:10+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 18:16+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -229,36 +230,8 @@ msgstr "" "0x1d000000\n" ">>>" -msgid ":exc:`ValueError` is raised when you call an ``stdcall`` function with the ``cdecl`` calling convention, or vice versa::" -msgstr ":exc:`ValueError` هنگامی پرتاب می‌شود که یک تابع ``stdcall`` را با قرارداد فراخوانی ``cdecl`` فراخوانی کنید، یا برعکس::" - -msgid "" -">>> cdll.kernel32.GetModuleHandleA(None)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with not enough arguments (4 bytes missing)\n" -">>>\n" -"\n" -">>> windll.msvcrt.printf(b\"spam\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with too many arguments (4 bytes in excess)\n" -">>>" -msgstr "" -">>> cdll.kernel32.GetModuleHandleA(None)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with not enough arguments (4 bytes missing)\n" -">>>\n" -"\n" -">>> windll.msvcrt.printf(b\"spam\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with too many arguments (4 bytes in excess)\n" -">>>" - -msgid "To find out the correct calling convention you have to look into the C header file or the documentation for the function you want to call." -msgstr "برای اطلاع از قرارداد فراخوانی صحیح، باید پرونده‌ی سرآیند C یا مستندات تابعی را که می‌خواهید فراخوانی کنید، بررسی کنید." +msgid ":mod:`!ctypes` cannot determine a function's calling convention or signature. Consult the function's C header file or documentation to choose the correct calling convention and set the :attr:`~_CFuncPtr.argtypes` attribute, as described in :ref:`ctypes-specifying-required-argument-types`. Without :attr:`~_CFuncPtr.argtypes`, the number of arguments is not checked. Calling a function with an incorrect calling convention or with incorrect arguments can corrupt memory or crash Python." +msgstr ":mod:`!ctypes` نمی‌تواند قرارداد فراخوانی یا امضای یک تابع را تعیین کند. برای انتخاب قرارداد فراخوانی صحیح و تنظیم ویژگی :attr:`~_CFuncPtr.argtypes`، همان‌طور که در :ref:`ctypes-specifying-required-argument-types` شرح داده شده است، به پرونده‌ی سرآیند C یا مستندات تابع مراجعه کنید. بدون :attr:`~_CFuncPtr.argtypes`، تعداد آرگومان‌ها بررسی نمی‌شود. فراخوانی یک تابع با قرارداد فراخوانی نادرست یا با آرگومان‌های نادرست می‌تواند حافظه را خراب کند یا باعث فروپاشی پایتون شود." msgid "On Windows, :mod:`!ctypes` uses win32 structured exception handling to prevent crashes from general protection faults when functions are called with invalid argument values::" msgstr "در ویندوز، :mod:`!ctypes` از مدیریت استثنای ساختاریافته win32 برای جلوگیری از فروپاشی ناشی از خطاهای حفاظت عمومی هنگام فراخوانی توابع با مقادیر نامعتبر آرگومان استفاده می‌کند::" @@ -891,6 +864,23 @@ msgstr "" "13\n" ">>>" +msgid "Setting :attr:`~_CFuncPtr.argtypes` also causes :mod:`!ctypes` to raise :exc:`TypeError` if too few arguments are passed::" +msgstr "تنظیم ویژگی :attr:`~_CFuncPtr.argtypes` همچنین باعث می‌شود که اگر آرگومان‌های بسیار کمی ارسال شوند، :mod:`!ctypes` استثنای :exc:`TypeError` را بالا بیاورد:" + +msgid "" +">>> printf(b\"%s %d %f\\n\", b\"X\", 2)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: this function takes at least 4 arguments (3 given)" +msgstr "" +">>> printf(b\"%s %d %f\\n\", b\"X\", 2)\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: this function takes at least 4 arguments (3 given)" + +msgid "Functions using the ``stdcall`` calling convention require exactly as many arguments as there are items in :attr:`~_CFuncPtr.argtypes`. Functions using the ``cdecl`` calling convention accept additional arguments, to support variadic functions. The declaration must match the function's actual signature; ctypes cannot verify this." +msgstr "توابعی که از قرارداد فراخوانی ``stdcall`` استفاده می‌کنند، دقیقاً به همان تعداد آرگومان نیاز دارند که در ویژگی :attr:`~_CFuncPtr.argtypes` آیتم وجود دارد. توابعی که از قرارداد فراخوانی ``cdecl`` استفاده می‌کنند، برای پشتیبانی از توابع چندآرگومانی، آرگومان‌های اضافی را نیز می‌پذیرند. اعلان باید با امضای واقعی تابع مطابقت داشته باشد؛ ctypes نمی‌تواند این موضوع را تأیید کند." + msgid "If you have defined your own classes which you pass to function calls, you have to implement a :meth:`~_CData.from_param` class method for them to be able to use them in the :attr:`~_CFuncPtr.argtypes` sequence. The :meth:`~_CData.from_param` class method receives the Python object passed to the function call, it should do a typecheck or whatever is needed to make sure this object is acceptable, and then return the object itself, its :attr:`!_as_parameter_` attribute, or whatever you want to pass as the C function argument in this case. Again, the result should be an integer, string, bytes, a :mod:`!ctypes` instance, or an object with an :attr:`!_as_parameter_` attribute." msgstr "اگر کلاس‌های خودتان را تعریف کرده‌اید و آن‌ها را به فراخوانی‌های تابع ارسال می‌کنید، باید برای آن‌ها یک متد کلاس :meth:`~_CData.from_param` پیاده‌سازی کنید تا بتوانید از آن‌ها در دنباله :attr:`~_CFuncPtr.argtypes` استفاده کنید. متد کلاس :meth:`~_CData.from_param` شیء پایتونی ارسال‌شده به فراخوانی تابع را دریافت می‌کند؛ این متد باید بررسی نوع یا هر کاری را که برای اطمینان از قابل‌قبول بودن این شیء لازم است انجام دهد و سپس خود شیء، ویژگی :attr:`!_as_parameter_` آن، یا هر چیزی را که می‌خواهید در این حالت به‌عنوان آرگومان تابع C ارسال کنید، برگرداند. باز هم، نتیجه باید یک عدد صحیح، رشته، بایت‌ها، یک نمونه از :mod:`!ctypes`، یا شیءای با ویژگی :attr:`!_as_parameter_` باشد." @@ -2209,8 +2199,8 @@ msgstr "اگر *handle* برابر ``None`` باشد، از تابع :manpage:`d msgid "*name* is the pathname of the shared library to open. If *name* does not contain a path separator, the library is found in a platform-specific way." msgstr "*name* مسیر کتابخانه اشتراکی برای باز کردن است. اگر *name* شامل جداکننده مسیر نباشد، کتابخانه به شیوه‌ای وابسته به پلتفرم یافت می‌شود." -msgid "On non-Windows systems, *name* can be ``None``. In this case, :c:func:`!dlopen` is called with ``NULL``, which opens the main program as a \"library\". (Some systems do the same is *name* is empty; ``None``/``NULL`` is more portable.)" -msgstr "در سیستم‌های غیرویندوزی، *name* می‌تواند ``None`` باشد. در این حالت، :c:func:`!dlopen` با ``NULL`` فراخوانی می‌شود، که برنامه‌ی اصلی را به‌عنوان یک «کتابخانه» باز می‌کند. (برخی سیستم‌ها اگر *name* خالی باشد نیز همین کار را انجام می‌دهند؛ ``None``/``NULL`` قابل‌حمل‌تر است.)" +msgid "On non-Windows systems, *name* can be ``None``. In this case, :c:func:`!dlopen` is called with ``NULL``, which opens the main program as a \"library\". (Some systems do the same if *name* is empty; ``None``/``NULL`` is more portable.)" +msgstr "در سیستم‌های غیر ویندوزی، *name* می‌تواند ``None`` باشد. در این صورت، :c:func:`!dlopen` با ``NULL`` فراخوانی می‌شود، که برنامه‌ی اصلی را به عنوان یک «کتابخانه» باز می‌کند. (برخی سیستم‌ها اگر *name* خالی باشد همین کار را انجام می‌دهند؛ ``None``/``NULL`` قابلیت حمل بالاتری دارد.)" msgid "CPython implementation detail" msgstr "جزئیات پیاده‌سازی CPython" @@ -2237,8 +2227,8 @@ msgstr "برای دسترسی به Python C API، ترجیحاً از :py:data:` msgid "The *mode* parameter can be used to specify how the library is loaded. For details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is ignored. On posix systems, RTLD_NOW is always added, and is not configurable." msgstr "از پارامتر *mode* می‌توان برای مشخص کردن نحوه بارگذاری کتابخانه استفاده کرد. برای جزئیات، به صفحه راهنمای :manpage:`dlopen(3)` مراجعه کنید. در ویندوز، *mode* نادیده گرفته می‌شود. در سیستم‌های POSIX، RTLD_NOW همیشه اضافه می‌شود و قابل پیکربندی نیست." -msgid "The *use_errno* parameter, when set to true, enables a ctypes mechanism that allows accessing the system :data:`errno` error number in a safe way. :mod:`!ctypes` maintains a thread-local copy of the system's :data:`errno` variable; if you call foreign functions created with ``use_errno=True`` then the :data:`errno` value before the function call is swapped with the ctypes private copy, the same happens immediately after the function call." -msgstr "پارامتر *use_errno*، هنگامی که روی true تنظیم شود، سازوکاری در ctypes را فعال می‌کند که امکان دسترسی به شماره‌ی خطای سیستم :data:`errno` را به‌شکلی امن فراهم می‌کند. :mod:`!ctypes` یک نسخه‌ی محلی نخی (thread-local) از متغیر :data:`errno` سیستم را نگه می‌دارد؛ اگر توابع خارجی ساخته‌شده با ``use_errno=True`` را فراخوانی کنید، آنگاه مقدار :data:`errno` پیش از فراخوانی تابع با نسخه‌ی خصوصی ctypes مبادله می‌شود؛ همین مبادله بلافاصله پس از فراخوانی تابع نیز رخ می‌دهد." +msgid "The *use_errno* parameter, when set to true, enables a ctypes mechanism that allows accessing the system :data:`errno` error number in a safe way. :mod:`!ctypes` maintains a thread-local copy of the system's :data:`errno` variable; if you call foreign functions created with ``use_errno=True`` then the :data:`errno` value before the function call is swapped with the ctypes private copy, the same happens immediately after the function call. This mechanism only works for libraries that use the same C runtime library as the interpreter itself. A library linked against a different C runtime (for example, a different CRT on Windows) has its own :data:`errno`, which :mod:`!ctypes` cannot observe." +msgstr "پارامتر *use_errno*، هنگامی که روی درست تنظیم شود، مکانیزمی از ctypes را فعال می‌کند که اجازه می‌دهد به شماره خطای :data:`errno` سیستمی به روشی امن دسترسی پیدا کنید. ماژول :mod:`!ctypes` یک کپی نخ‌محلی از متغیر :data:`errno` سیستم را نگهداری می‌کند؛ اگر توابع خارجی ایجادشده با ``use_errno=True`` را فراخوانی کنید، آنگاه مقدار :data:`errno` قبل از فراخوانی تابع با کپی خصوصی ctypes جابه‌جا می‌شود، و همین اتفاق بلافاصله پس از فراخوانی تابع نیز می‌افتد. این مکانیزم فقط برای کتابخانه‌هایی کار می‌کند که از همان کتابخانه‌ی زمان اجرای C (C runtime) خود مفسر استفاده می‌کنند. کتابخانه‌ای که به یک زمان اجرای C متفاوت (مثلاً یک CRT متفاوت در ویندوز) لینک شده باشد، :data:`errno` مخصوص به خود را دارد که :mod:`!ctypes` نمی‌تواند آن را مشاهده کند." msgid "The function :func:`ctypes.get_errno` returns the value of the ctypes private copy, and the function :func:`ctypes.set_errno` changes the ctypes private copy to a new value and returns the former value." msgstr "تابع :func:`ctypes.get_errno` مقدار نسخه خصوصی ctypes را برمی‌گرداند، و تابع :func:`ctypes.set_errno` نسخه خصوصی ctypes را به یک مقدار جدید تغییر می‌دهد و مقدار پیشین را برمی‌گرداند." @@ -2351,8 +2341,8 @@ msgstr "برای دسترسی مستقیم به API پایتون C، یک شیء msgid "An instance of :class:`PyDLL` that exposes Python C API functions as attributes. Note that all these functions are assumed to return C :c:expr:`int`, which is of course not always the truth, so you have to assign the correct :attr:`!restype` attribute to use these functions." msgstr "نمونه‌ای از :class:`PyDLL` که توابع Python C API را به‌عنوان ویژگی‌ها در دسترس قرار می‌دهد. توجه داشته باشید که فرض می‌شود همه‌ی این توابع مقداری از نوع C :c:expr:`int` را برمی‌گردانند، که البته همیشه درست نیست، بنابراین برای استفاده از این توابع باید ویژگی :attr:`!restype` صحیح را اختصاص دهید." -msgid "Note that if the Python interpreter is statically linked, this will be ``None``, as ``dlopen`` is not possible in this case." -msgstr "توجه داشته باشید که اگر مفسر پایتون به‌صورت ایستا پیوند شده باشد، این مقدار ``None`` خواهد بود، زیرا در این حالت ``dlopen`` ممکن نیست." +msgid "If the Python interpreter is statically linked, this may be ``None``." +msgstr "اگر مفسر پایتون به‌صورت ایستا پیوند داده شده باشد، این مقدار ممکن است ``None`` باشد." msgid "Loading a library through any of these objects raises an :ref:`auditing event ` ``ctypes.dlopen`` with string argument ``name``, the name used to load the library." msgstr "بارگذاری یک کتابخانه از طریق هر یک از این اشیاء، یک :ref:`رویداد حسابرسی ` ``ctypes.dlopen`` را با آرگومان رشته‌ای ``name``، نام استفاده‌شده برای بارگذاری کتابخانه، پرتاب می‌کند." @@ -2402,8 +2392,8 @@ msgstr "برای مشخص کردن نوع نتیجه تابع خارجی، یک msgid "It is possible to assign a callable Python object that is not a ctypes type, in this case the function is assumed to return a C :c:expr:`int`, and the callable will be called with this integer, allowing further processing or error checking. Using this is deprecated, for more flexible post processing or error checking use a ctypes data type as :attr:`!restype` and assign a callable to the :attr:`errcheck` attribute." msgstr "می‌توان یک شیء پایتونی فراخوانی‌پذیر را که یک نوع ctypes نیست، انتساب داد؛ در این صورت فرض می‌شود که تابع یک :c:expr:`int` در C را برمی‌گرداند و شیء فراخوانی‌پذیر با این عدد صحیح فراخوانی می‌شود تا امکان پردازش بیشتر یا بررسی خطا فراهم شود. استفاده از این روش منسوخ است؛ برای پس‌پردازش یا بررسی خطای انعطاف‌پذیرتر، از یک نوع داده ctypes به‌عنوان :attr:`!restype` استفاده کنید و یک شیء فراخوانی‌پذیر را به ویژگی :attr:`errcheck` انتساب دهید." -msgid "Assign a tuple of ctypes types to specify the argument types that the function accepts. Functions using the ``stdcall`` calling convention can only be called with the same number of arguments as the length of this tuple; functions using the C calling convention accept additional, unspecified arguments as well." -msgstr "برای مشخص کردن انواع آرگومان‌هایی که تابع می‌پذیرد، یک تاپل از انواع ctypes را اختصاص دهید. توابعی که از قرارداد فراخوانی ``stdcall`` استفاده می‌کنند، فقط می‌توانند با همان تعداد آرگومانی که برابر با طول این تاپل است، فراخوانی شوند؛ توابعی که از قرارداد فراخوانی C استفاده می‌کنند، آرگومان‌های اضافی و مشخص‌نشده را نیز می‌پذیرند." +msgid "Assign a tuple of ctypes types to specify the argument types that the function accepts. :exc:`TypeError` is raised if the function is called with fewer arguments than the length of this tuple. Functions using the ``stdcall`` calling convention also raise :exc:`TypeError` if called with more arguments; functions using the ``cdecl`` calling convention accept additional, unspecified arguments as well." +msgstr "یک تاپل از انواع داده‌ی ctypes را اختصاص دهید تا انواع آرگومان‌هایی که تابع می‌پذیرد مشخص شوند. اگر تابع با آرگومان‌های کمتری نسبت به طول این تاپل فراخوانی شود، استثنای :exc:`TypeError` بالا آورده می‌شود. توابعی که از قرارداد فراخوانی ``stdcall`` استفاده می‌کنند نیز اگر با آرگومان‌های بیشتری فراخوانی شوند استثنای :exc:`TypeError` را بالا می‌آورند؛ توابعی که از قرارداد فراخوانی ``cdecl`` استفاده می‌کنند، آرگومان‌های اضافی و مشخص‌نشده را نیز می‌پذیرند." msgid "When a foreign function is called, each actual argument is passed to the :meth:`~_CData.from_param` class method of the items in the :attr:`argtypes` tuple, this method allows adapting the actual argument to an object that the foreign function accepts. For example, a :class:`c_char_p` item in the :attr:`argtypes` tuple will convert a string passed as argument into a bytes object using ctypes conversion rules." msgstr "هنگامی که یک تابع خارجی فراخوانی می‌شود، هر آرگومان واقعی به متد کلاس :meth:`~_CData.from_param` آیتم‌های موجود در تاپل :attr:`argtypes` ارسال می‌شود؛ این متد امکان سازگار کردن آرگومان واقعی با شیءای را فراهم می‌کند که تابع خارجی می‌پذیرد. برای مثال، یک آیتم :class:`c_char_p` در تاپل :attr:`argtypes`، رشته‌ای را که به‌عنوان آرگومان ارسال‌شده است، با استفاده از قوانین تبدیل ctypes به یک شیء bytes تبدیل می‌کند." @@ -2420,11 +2410,35 @@ msgstr "*result* چیزی است که تابع خارجی برمی‌گردان msgid "*func* is the foreign function object itself, this allows reusing the same callable object to check or post process the results of several functions." msgstr "*func* خودِ شیء تابع خارجی است، این امکان را می‌دهد که از همان شیء فراخوانی‌پذیر برای بررسی یا پس‌پردازش نتایج چندین تابع مجدداً استفاده شود." -msgid "*arguments* is a tuple containing the parameters originally passed to the function call, this allows specializing the behavior on the arguments used." -msgstr "*arguments* یک تاپل حاوی پارامترهایی است که در ابتدا به فراخوانی تابع ارسال‌شده‌اند؛ این امر امکان ویژه‌سازی رفتار بر اساس آرگومان‌های استفاده‌شده را فراهم می‌کند." +msgid "*arguments* is a tuple containing the parameters passed to the function call, including any output parameters that :mod:`!ctypes` created for the call; this allows specializing the behavior on the arguments used." +msgstr "پارامتر *arguments* یک تاپل است که شامل پارامترهای ارسال‌شده به فراخوانی تابع، از جمله هر پارامتر خروجی که :mod:`!ctypes` برای فراخوانی ایجاد کرده است، می‌شود؛ این امکان را فراهم می‌کند تا رفتار تابع روی آرگومان‌های استفاده‌شده تخصصی شود." -msgid "The object that this function returns will be returned from the foreign function call, but it can also check the result value and raise an exception if the foreign function call failed." -msgstr "شیءای که این تابع برمی‌گرداند، از فراخوانی تابع خارجی برگردانده خواهد شد، اما همچنین می‌تواند مقدار نتیجه را بررسی کند و در صورت ناموفق بودن فراخوانی تابع خارجی، یک استثنا پرتاب کند." +msgid "If the callable returns the *arguments* tuple it received, unchanged, :mod:`!ctypes` continues its normal processing of the result, which includes returning output parameters (see :ref:`ctypes-function-prototypes`). Any other object returned by the callable is returned from the foreign function call instead. The callable can also check the result value and raise an exception if the foreign function call failed." +msgstr "اگر شیء فراخوانی‌پذیر همان تاپل *arguments* دریافتی را بدون تغییر برگرداند، :mod:`!ctypes` پردازش عادی نتیجه‌ی خود را ادامه می‌دهد، که شامل بازگرداندن پارامترهای خروجی است (به :ref:`ctypes-function-prototypes` مراجعه کنید). هر شیء دیگری که توسط شیء فراخوانی‌پذیر برگردانده شود، به جای فراخوانی تابع خارجی بازگردانده می‌شود. شیء فراخوانی‌پذیر همچنین می‌تواند مقدار نتیجه را بررسی کرده و در صورت ناموفق بودن فراخوانی تابع خارجی، یک استثنا بالا بیاورد." + +msgid "For example, this callable raises an exception when the foreign function signals failure with a negative return value, and otherwise leaves the result to :mod:`!ctypes`::" +msgstr "برای مثال، این شیء فراخوانی‌پذیر زمانی که تابع خارجی با یک مقدار بازگشتی منفی سیگنال شکست می‌دهد، یک استثنا بالا می‌آورد و در غیر این صورت نتیجه را به :mod:`!ctypes` واگذار می‌کند:" + +msgid "" +"def errcheck(result, func, arguments):\n" +" if result < 0:\n" +" raise RuntimeError(f\"call failed with error {result}\")\n" +" return arguments" +msgstr "" +"def errcheck(result, func, arguments):\n" +" if result < 0:\n" +" raise RuntimeError(f\"call failed with error {result}\")\n" +" return arguments" + +msgid "This one instead replaces the result, converting a C ``int`` used as a boolean into a :class:`bool`::" +msgstr "این مورد به جای آن، نتیجه را جایگزین می‌کند و یک ``int`` زبان C را که به عنوان مقدار بولی استفاده شده است، به یک :class:`bool` تبدیل می‌کند:" + +msgid "" +"def errcheck(result, func, arguments):\n" +" return result != 0" +msgstr "" +"def errcheck(result, func, arguments):\n" +" return result != 0" msgid "On Windows, when a foreign function call raises a system exception (for example, due to an access violation), it will be captured and replaced with a suitable Python exception. Further, an auditing event ``ctypes.set_exception`` with argument ``code`` will be raised, allowing an audit hook to replace the exception with its own." msgstr "در ویندوز، هنگامی که یک فراخوانی تابع خارجی یک استثنای سیستمی را پرتاب می‌کند (برای مثال، به‌دلیل نقض دسترسی)، آن استثنا گرفته می‌شود و با یک استثنای پایتون مناسب جایگزین می‌گردد. علاوه بر این، یک رویداد حسابرسی ``ctypes.set_exception`` با آرگومان ``code`` پرتاب می‌شود که به یک قلاب حسابرسی اجازه می‌دهد استثنا را با استثنای خود جایگزین کند." @@ -2444,8 +2458,8 @@ msgstr "پیش‌نمونه تابع برگردانده‌شده، توابعی msgid "The returned function prototype creates functions that use the ``stdcall`` calling convention. The function will release the GIL during the call. *use_errno* and *use_last_error* have the same meaning as above." msgstr "پیش‌نمونه تابع برگشتی، توابعی را ایجاد می‌کند که از قرارداد فراخوانی ``stdcall`` استفاده می‌کنند. تابع در حین فراخوانی، GIL را آزاد خواهد کرد. *use_errno* و *use_last_error* همان معنای بالا را دارند." -msgid "The returned function prototype creates functions that use the Python calling convention. The function will *not* release the GIL during the call." -msgstr "پیش‌نمونه تابع برگردانده‌شده، توابعی ایجاد می‌کند که از قرارداد فراخوانی پایتون استفاده می‌کنند. تابع در حین فراخوانی، GIL را آزاد *نخواهد کرد*." +msgid "The returned function prototype creates functions that use the Python calling convention. Unlike :func:`CFUNCTYPE` and :func:`WINFUNCTYPE`, ctypes does *not* release the GIL before calling the foreign function, so the function may safely use the Python C API. Note that this does not prevent the GIL from being released *during* the call." +msgstr "پیش‌نمونه‌ی تابع بازگردانده‌شده توابعی را ایجاد می‌کند که از قرارداد فراخوانی پایتون استفاده می‌کنند. برخلاف :func:`CFUNCTYPE` و :func:`WINFUNCTYPE`، کتابخانه‌ی ctypes پیش از فراخوانی تابع خارجی، GIL را آزاد *نمی‌کند*، بنابراین تابع ممکن است با خیال راحت از API زبان C پایتون استفاده کند. توجه داشته باشید که این موضوع مانع از آزاد شدن GIL *در حین* فراخوانی نمی‌شود." msgid "Function prototypes created by these factory functions can be instantiated in different ways, depending on the type and number of the parameters in the call:" msgstr "می‌توان پیش‌نمونه‌های تابع ایجادشده توسط این توابع کارخانه‌ای را به روش‌های مختلف نمونه‌سازی کرد، بسته به نوع و تعداد پارامترها در فراخوانی:" @@ -3020,8 +3034,332 @@ msgstr "نشان‌دهنده‌ی نوع داده‌ی :c:expr:`PyObject *` د msgid ":class:`!py_object` is now a :term:`generic type`." msgstr ":class:`!py_object` اکنون یک :term:`generic type` است." -msgid "The :mod:`!ctypes.wintypes` module provides quite some other Windows specific data types, for example :c:type:`!HWND`, :c:type:`!WPARAM`, :c:type:`!VARIANT_BOOL` or :c:type:`!DWORD`. Some useful structures like :c:type:`!MSG` or :c:type:`!RECT` are also defined." -msgstr "ماژول :mod:`!ctypes.wintypes` تعداد زیادی از انواع داده دیگر مختص ویندوز را فراهم می‌کند، برای مثال :c:type:`!HWND`، :c:type:`!WPARAM`، :c:type:`!VARIANT_BOOL` یا :c:type:`!DWORD`. برخی ساختارهای مفید مانند :c:type:`!MSG` یا :c:type:`!RECT` نیز تعریف شده‌اند." +msgid "Windows data types" +msgstr "انواع داده‌های ویندوز" + +msgid "**Source code:** :source:`Lib/ctypes/wintypes.py`" +msgstr "**Source code:** :source:`Lib/ctypes/wintypes.py`" + +msgid "The :mod:`!ctypes.wintypes` module provides types for use with Windows APIs. Most are aliases for types defined in :mod:`ctypes`. See Microsoft's `Windows data types `_ documentation for the corresponding C definitions. On non-Windows platforms, the sizes and layouts of these types may differ from their Windows counterparts." +msgstr "ماژول :mod:`!ctypes.wintypes` انواعی را برای استفاده با APIهای ویندوز فراهم می‌کند. بیشتر آن‌ها نام‌های مستعاری برای انواع تعریف‌شده در :mod:`ctypes` هستند. برای تعاریف متناظر C، به مستندات مایکروسافت `Windows data types `_ مراجعه کنید. در پلتفرم‌های غیر ویندوزی، اندازه‌ها و طرح‌بندی‌های این انواع ممکن است با همتایان ویندوزی خود متفاوت باشد." + +msgid "Added :class:`HCONV`, :class:`HCONVLIST`, :class:`HCURSOR`, :class:`HDDEDATA`, :class:`HDROP`, :class:`HFILE`, :class:`HRESULT`, and :class:`HSZ`." +msgstr "اضافه شدن :class:`HCONV`، :class:`HCONVLIST`، :class:`HCURSOR`، :class:`HDDEDATA`، :class:`HDROP`، :class:`HFILE`، :class:`HRESULT` و :class:`HSZ`." + +msgid "" +">>> from ctypes import POINTER\n" +">>> from ctypes.wintypes import LPRECT, RECT, SHORT\n" +">>> SHORT(-1).value\n" +"-1\n" +">>> rect = RECT(0, 0, 100, 50)\n" +">>> rect.right, rect.bottom\n" +"(100, 50)\n" +">>> LPRECT is POINTER(RECT)\n" +"True" +msgstr "" +">>> from ctypes import POINTER\n" +">>> from ctypes.wintypes import LPRECT, RECT, SHORT\n" +">>> SHORT(-1).value\n" +"-1\n" +">>> rect = RECT(0, 0, 100, 50)\n" +">>> rect.right, rect.bottom\n" +"(100, 50)\n" +">>> LPRECT is POINTER(RECT)\n" +"True" + +msgid "Simple types" +msgstr "انواع ساده" + +msgid "The following names are aliases for fundamental :mod:`ctypes` types:" +msgstr "نام‌های زیر نام‌های مستعاری برای انواع بنیادی :mod:`ctypes` هستند:" + +msgid "Windows types" +msgstr "انواع ویندوز" + +msgid ":mod:`ctypes` type" +msgstr "نوع :mod:`ctypes`" + +msgid ":class:`~ctypes.c_ubyte`" +msgstr ":class:`~ctypes.c_ubyte`" + +msgid ":class:`~ctypes.c_char`" +msgstr ":class:`~ctypes.c_char`" + +msgid ":class:`~ctypes.c_wchar`" +msgstr ":class:`~ctypes.c_wchar`" + +msgid ":class:`~ctypes.c_ushort`" +msgstr ":class:`~ctypes.c_ushort`" + +msgid ":class:`~ctypes.c_ulong`" +msgstr ":class:`~ctypes.c_ulong`" + +msgid ":class:`~ctypes.c_long`" +msgstr ":class:`~ctypes.c_long`" + +msgid ":class:`~ctypes.c_int`" +msgstr ":class:`~ctypes.c_int`" + +msgid ":class:`~ctypes.c_uint`" +msgstr ":class:`~ctypes.c_uint`" + +msgid ":class:`~ctypes.c_short`" +msgstr ":class:`~ctypes.c_short`" + +msgid ":class:`~ctypes.c_double`" +msgstr ":class:`~ctypes.c_double`" + +msgid ":class:`~ctypes.c_float`" +msgstr ":class:`~ctypes.c_float`" + +msgid ":class:`~ctypes.c_longlong`" +msgstr ":class:`~ctypes.c_longlong`" + +msgid ":class:`~ctypes.c_ulonglong`" +msgstr ":class:`~ctypes.c_ulonglong`" + +msgid ":class:`~ctypes.c_char_p`" +msgstr ":class:`~ctypes.c_char_p`" + +msgid ":class:`~ctypes.c_wchar_p`" +msgstr ":class:`~ctypes.c_wchar_p`" + +msgid ":class:`~ctypes.c_void_p`" +msgstr ":class:`~ctypes.c_void_p`" + +msgid ":class:`LARGE_INTEGER` and :class:`ULARGE_INTEGER` expose an integer :attr:`!value` attribute, with no ``LowPart``, ``HighPart``, or ``QuadPart`` fields." +msgstr "کلاس‌های :class:`LARGE_INTEGER` و :class:`ULARGE_INTEGER` یک ویژگی :attr:`!value` از نوع عدد صحیح را بدون فیلدهای ``LowPart``، ``HighPart`` یا ``QuadPart`` نمایش می‌دهند." + +msgid "An unsigned integer type with the same size as :class:`~ctypes.c_void_p`." +msgstr "یک نوع داده‌ی عدد صحیح بدون علامت با اندازه‌ای یکسان با :class:`~ctypes.c_void_p`." + +msgid "A signed integer type with the same size as :class:`~ctypes.c_void_p`." +msgstr "یک نوع داده‌ی عدد صحیح علامت‌دار با اندازه‌ای یکسان با :class:`~ctypes.c_void_p`." + +msgid "A 16-bit Boolean type whose :attr:`!value` attribute is a Python :class:`bool`. Assigning to :attr:`!value` stores ``-1`` for a true value and ``0`` for a false value." +msgstr "یک نوع داده‌ی بولی ۱۶ بیتی که ویژگی :attr:`!value` آن یک :class:`bool` در پایتون است. انتساب به :attr:`!value` مقدار ``-1`` را برای مقدار درست و ``0`` را برای مقدار نادرست ذخیره می‌کند." + +msgid "Handle types" +msgstr "انواع دسته‌ها" + +msgid "An alias for :class:`~ctypes.c_void_p`, used to represent Windows handles." +msgstr "یک نام مستعار برای :class:`~ctypes.c_void_p` که برای نمایش دسته‌های ویندوز استفاده می‌شود." + +msgid "Aliases for :class:`HANDLE` for use with specific Windows APIs. :class:`HFILE` is an alias for :class:`INT` and is listed among the simple types above." +msgstr "نام‌های مستعاری برای :class:`HANDLE` جهت استفاده با APIهای خاص ویندوز. :class:`HFILE` نام مستعاری برای :class:`INT` است و در میان انواع ساده‌ی بالا فهرست شده است." + +msgid "Structures" +msgstr "ساختارها" + +msgid "The following types are subclasses of :class:`ctypes.Structure`." +msgstr "انواع داده‌ی زیر زیرکلاس‌هایی از :class:`ctypes.Structure` هستند." + +msgid "A rectangle with ``left``, ``top``, ``right``, and ``bottom`` fields, all of type :class:`LONG`." +msgstr "یک مستطیل با فیلدهای ``left``، ``top``، ``right`` و ``bottom`` که همگی از نوع داده‌ی :class:`LONG` هستند." + +msgid "A rectangle with ``Left``, ``Top``, ``Right``, and ``Bottom`` fields, all of type :class:`SHORT`." +msgstr "یک مستطیل با فیلدهای ``Left``، ``Top``، ``Right`` و ``Bottom`` که همگی از نوع داده‌ی :class:`SHORT` هستند." + +msgid "A point with ``x`` and ``y`` fields, both of type :class:`LONG`." +msgstr "یک نقطه با فیلدهای ``x`` و ``y`` که هر دو از نوع داده‌ی :class:`LONG` هستند." + +msgid "Dimensions with ``cx`` and ``cy`` fields, both of type :class:`LONG`." +msgstr "ابعاد با فیلدهای ``cx`` و ``cy`` که هر دو از نوع داده‌ی :class:`LONG` هستند." + +msgid "A file time with ``dwLowDateTime`` and ``dwHighDateTime`` fields, both of type :class:`DWORD`." +msgstr "یک زمان پرونده با فیلدهای ``dwLowDateTime`` و ``dwHighDateTime`` که هر دو از نوع داده‌ی :class:`DWORD` هستند." + +msgid "A Windows message with the following fields:" +msgstr "یک پیام ویندوز با فیلدهای زیر:" + +msgid "Field" +msgstr "فیلد" + +msgid "Type" +msgstr "نوع داده" + +msgid "``hWnd``" +msgstr "``hWnd``" + +msgid ":class:`HWND`" +msgstr ":class:`HWND`" + +msgid "``message``" +msgstr "``message``" + +msgid ":class:`UINT`" +msgstr ":class:`UINT`" + +msgid "``wParam``" +msgstr "``wParam``" + +msgid ":class:`WPARAM`" +msgstr ":class:`WPARAM`" + +msgid "``lParam``" +msgstr "``lParam``" + +msgid ":class:`LPARAM`" +msgstr ":class:`LPARAM`" + +msgid "``time``" +msgstr "``time``" + +msgid ":class:`DWORD`" +msgstr ":class:`DWORD`" + +msgid "``pt``" +msgstr "``pt``" + +msgid ":class:`POINT`" +msgstr ":class:`POINT`" + +msgid "Structures used by Windows file-search functions, with the following fields. :class:`WIN32_FIND_DATAA` uses :class:`CHAR` for its file names, and :class:`WIN32_FIND_DATAW` uses :class:`WCHAR`." +msgstr "ساختارهای مورد استفاده توسط توابع جستجوی پرونده‌ی ویندوز، با فیلدهای زیر. کلاس :class:`WIN32_FIND_DATAA` برای نام‌های پرونده‌ی خود از :class:`CHAR` استفاده می‌کند و کلاس :class:`WIN32_FIND_DATAW` از :class:`WCHAR` بهره می‌برد." + +msgid "Fields" +msgstr "فیلدها" + +msgid "``dwFileAttributes``" +msgstr "``dwFileAttributes``" + +msgid "``ftCreationTime``, ``ftLastAccessTime``, ``ftLastWriteTime``" +msgstr "``ftCreationTime``, ``ftLastAccessTime``, ``ftLastWriteTime``" + +msgid ":class:`FILETIME`" +msgstr ":class:`FILETIME`" + +msgid "``nFileSizeHigh``, ``nFileSizeLow``" +msgstr "``nFileSizeHigh``, ``nFileSizeLow``" + +msgid "``dwReserved0``, ``dwReserved1``" +msgstr "``dwReserved0``, ``dwReserved1``" + +msgid "``cFileName``" +msgstr "``cFileName``" + +msgid "An array of :data:`MAX_PATH` characters" +msgstr "آرایه‌ای از نویسه‌های :data:`MAX_PATH`" + +msgid "``cAlternateFileName``" +msgstr "``cAlternateFileName``" + +msgid "An array of 14 characters" +msgstr "آرایه‌ای از ۱۴ نویسه" + +msgid "Pointer types" +msgstr "انواع اشاره‌گر" + +msgid "The following names are aliases for ``ctypes.POINTER(T)``, where *T* is the type in the second column:" +msgstr "نام‌های زیر نام‌های مستعاری برای ``ctypes.POINTER(T)`` هستند که در آن *T* نوع در ستون دوم است:" + +msgid "Referenced type" +msgstr "نوع ارجاع‌داده‌شده" + +msgid ":class:`BOOL`" +msgstr ":class:`BOOL`" + +msgid ":class:`BOOLEAN`" +msgstr ":class:`BOOLEAN`" + +msgid ":class:`BYTE`" +msgstr ":class:`BYTE`" + +msgid ":class:`CHAR`" +msgstr ":class:`CHAR`" + +msgid ":class:`COLORREF`" +msgstr ":class:`COLORREF`" + +msgid ":class:`FLOAT`" +msgstr ":class:`FLOAT`" + +msgid ":class:`HANDLE`" +msgstr ":class:`HANDLE`" + +msgid ":class:`HKEY`" +msgstr ":class:`HKEY`" + +msgid ":class:`HKL`" +msgstr ":class:`HKL`" + +msgid ":class:`INT`" +msgstr ":class:`INT`" + +msgid ":class:`LARGE_INTEGER`" +msgstr ":class:`LARGE_INTEGER`" + +msgid ":class:`LCID`" +msgstr ":class:`LCID`" + +msgid ":class:`LONG`" +msgstr ":class:`LONG`" + +msgid ":class:`MSG`" +msgstr ":class:`MSG`" + +msgid ":class:`POINTL`" +msgstr ":class:`POINTL`" + +msgid ":class:`RECT`" +msgstr ":class:`RECT`" + +msgid ":class:`RECTL`" +msgstr ":class:`RECTL`" + +msgid ":class:`SC_HANDLE`" +msgstr ":class:`SC_HANDLE`" + +msgid ":class:`SHORT`" +msgstr ":class:`SHORT`" + +msgid ":class:`SIZE`" +msgstr ":class:`SIZE`" + +msgid ":class:`SIZEL`" +msgstr ":class:`SIZEL`" + +msgid ":class:`SMALL_RECT`" +msgstr ":class:`SMALL_RECT`" + +msgid ":class:`ULARGE_INTEGER`" +msgstr ":class:`ULARGE_INTEGER`" + +msgid ":class:`ULONG`" +msgstr ":class:`ULONG`" + +msgid ":class:`USHORT`" +msgstr ":class:`USHORT`" + +msgid ":class:`WCHAR`" +msgstr ":class:`WCHAR`" + +msgid ":class:`WIN32_FIND_DATAA`" +msgstr ":class:`WIN32_FIND_DATAA`" + +msgid ":class:`WIN32_FIND_DATAW`" +msgstr ":class:`WIN32_FIND_DATAW`" + +msgid ":class:`WORD`" +msgstr ":class:`WORD`" + +msgid "Constants and functions" +msgstr "ثابت‌ها و توابع" + +msgid "The value ``260``, used as the size of the file-name arrays in :class:`WIN32_FIND_DATAA` and :class:`WIN32_FIND_DATAW`." +msgstr "مقدار ``260`` که به‌عنوان اندازه آرایه‌های نام پرونده در :class:`WIN32_FIND_DATAA` و :class:`WIN32_FIND_DATAW` استفاده می‌شود." + +msgid "Return a :class:`COLORREF` value as a Python integer. The *red*, *green*, and *blue* arguments are integers from ``0`` to ``255``, specifying the intensity of each color component::" +msgstr "یک مقدار :class:`COLORREF` را به‌عنوان یک عدد صحیح پایتون برمی‌گرداند. آرگومان‌های *red*، *green* و *blue* اعداد صحیحی از ``0`` تا ``255`` هستند که میزان شدت هر جزء رنگ را مشخص می‌کنند::" + +msgid "" +">>> from ctypes.wintypes import RGB\n" +">>> hex(RGB(255, 128, 0))\n" +"'0x80ff'" +msgstr "" +">>> from ctypes.wintypes import RGB\n" +">>> hex(RGB(255, 128, 0))\n" +"'0x80ff'" msgid "Structured data types" msgstr "انواع داده ساختاریافته" @@ -3345,3 +3683,43 @@ msgstr "۵-تاییِ ``(descr, source, helpfile, helpcontext, progid)``." msgid "*descr* is the textual description. *source* is the language-dependent ``ProgID`` for the class or application that raised the error. *helpfile* is the path of the help file. *helpcontext* is the help context identifier. *progid* is the ``ProgID`` of the interface that defined the error." msgstr "*descr* توضیح متنی است. *source* ``ProgID`` وابسته به زبان برای کلاس یا برنامه‌ای است که خطا را پرتاب کرده است. *helpfile* مسیر پرونده راهنما است. *helpcontext* شناسه زمینه راهنما است. *progid* ``ProgID`` رابطی است که خطا را تعریف کرده است." + +#~ msgid ":exc:`ValueError` is raised when you call an ``stdcall`` function with the ``cdecl`` calling convention, or vice versa::" +#~ msgstr ":exc:`ValueError` هنگامی پرتاب می‌شود که یک تابع ``stdcall`` را با قرارداد فراخوانی ``cdecl`` فراخوانی کنید، یا برعکس::" + +#~ msgid "" +#~ ">>> cdll.kernel32.GetModuleHandleA(None)\n" +#~ "Traceback (most recent call last):\n" +#~ " File \"\", line 1, in \n" +#~ "ValueError: Procedure probably called with not enough arguments (4 bytes missing)\n" +#~ ">>>\n" +#~ "\n" +#~ ">>> windll.msvcrt.printf(b\"spam\")\n" +#~ "Traceback (most recent call last):\n" +#~ " File \"\", line 1, in \n" +#~ "ValueError: Procedure probably called with too many arguments (4 bytes in excess)\n" +#~ ">>>" +#~ msgstr "" +#~ ">>> cdll.kernel32.GetModuleHandleA(None)\n" +#~ "Traceback (most recent call last):\n" +#~ " File \"\", line 1, in \n" +#~ "ValueError: Procedure probably called with not enough arguments (4 bytes missing)\n" +#~ ">>>\n" +#~ "\n" +#~ ">>> windll.msvcrt.printf(b\"spam\")\n" +#~ "Traceback (most recent call last):\n" +#~ " File \"\", line 1, in \n" +#~ "ValueError: Procedure probably called with too many arguments (4 bytes in excess)\n" +#~ ">>>" + +#~ msgid "To find out the correct calling convention you have to look into the C header file or the documentation for the function you want to call." +#~ msgstr "برای اطلاع از قرارداد فراخوانی صحیح، باید پرونده‌ی سرآیند C یا مستندات تابعی را که می‌خواهید فراخوانی کنید، بررسی کنید." + +#~ msgid "The object that this function returns will be returned from the foreign function call, but it can also check the result value and raise an exception if the foreign function call failed." +#~ msgstr "شیءای که این تابع برمی‌گرداند، از فراخوانی تابع خارجی برگردانده خواهد شد، اما همچنین می‌تواند مقدار نتیجه را بررسی کند و در صورت ناموفق بودن فراخوانی تابع خارجی، یک استثنا پرتاب کند." + +#~ msgid "The returned function prototype creates functions that use the Python calling convention. The function will *not* release the GIL during the call." +#~ msgstr "پیش‌نمونه تابع برگردانده‌شده، توابعی ایجاد می‌کند که از قرارداد فراخوانی پایتون استفاده می‌کنند. تابع در حین فراخوانی، GIL را آزاد *نخواهد کرد*." + +#~ msgid "The :mod:`!ctypes.wintypes` module provides quite some other Windows specific data types, for example :c:type:`!HWND`, :c:type:`!WPARAM`, :c:type:`!VARIANT_BOOL` or :c:type:`!DWORD`. Some useful structures like :c:type:`!MSG` or :c:type:`!RECT` are also defined." +#~ msgstr "ماژول :mod:`!ctypes.wintypes` تعداد زیادی از انواع داده دیگر مختص ویندوز را فراهم می‌کند، برای مثال :c:type:`!HWND`، :c:type:`!WPARAM`، :c:type:`!VARIANT_BOOL` یا :c:type:`!DWORD`. برخی ساختارهای مفید مانند :c:type:`!MSG` یا :c:type:`!RECT` نیز تعریف شده‌اند." diff --git a/library/curses.po b/library/curses.po index 84b339e77..c5d640108 100644 --- a/library/curses.po +++ b/library/curses.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 14:57+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -190,8 +190,8 @@ msgstr "اگر پایانه قابلیت‌های درج و حذف خط را د msgid "Take a key value *ch*, and return ``True`` if the current terminal type recognizes a key with that value." msgstr "مقدار کلید *ch* را می‌گیرد و اگر نوع پایانه‌ی جاری کلیدی با آن مقدار را بشناسد، ``True`` را برمی‌گرداند." -msgid "Used for half-delay mode, which is similar to cbreak mode in that characters typed by the user are immediately available to the program. However, after blocking for *tenths* tenths of seconds, raise an exception if nothing has been typed. The value of *tenths* must be a number between ``1`` and ``255``. Use :func:`nocbreak` to leave half-delay mode." -msgstr "برای حالت نیمه‌تأخیر (half-delay) استفاده می‌شود؛ این حالت شبیه حالت cbreak است، بدین معنا که نویسه‌های تایپ‌شده توسط کاربر بلافاصله در دسترس برنامه قرار می‌گیرند. با این حال، پس از مسدود شدن به مدت *tenths* دهم ثانیه، اگر چیزی تایپ نشده باشد، یک استثنا پرتاب می‌شود. مقدار *tenths* باید عددی بین ``1`` و ``255`` باشد. برای خروج از حالت نیمه‌تأخیر از :func:`nocbreak` استفاده کنید." +msgid "Used for half-delay mode, which is similar to cbreak mode in that characters typed by the user are immediately available to the program. However, after blocking for *tenths* tenths of seconds, if nothing has been typed, :meth:`~window.getch` returns ``-1``, while :meth:`~window.getkey` and :meth:`~window.get_wch` raise :exc:`curses.error`. The value of *tenths* must be a number between ``1`` and ``255``. Use :func:`nocbreak` to leave half-delay mode." +msgstr "برای حالت تاخیر نیمه استفاده می‌شود که شبیه به حالت cbreak است؛ به این صورت که نویسه‌های تایپ‌شده توسط کاربر بلافاصله برای برنامه در دسترس هستند. با وجود این، پس از مسدود شدن به مدت *tenths* دهم ثانیه، اگر چیزی تایپ نشده باشد، :meth:`~window.getch` مقدار ``-1`` را برمی‌گرداند، در حالی که :meth:`~window.getkey` و :meth:`~window.get_wch` استثنای :exc:`curses.error` را بالا می‌آورند. مقدار *tenths* باید عددی بین ``1`` و ``255`` باشد. برای خروج از حالت تاخیر نیمه از :func:`nocbreak` استفاده کنید." msgid "Change the definition of a color, taking the number of the color to be changed followed by three RGB values (for the amounts of red, green, and blue components). The value of *color_number* must be between ``0`` and ``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and ``1000``. When :func:`init_color` is used, all occurrences of that color on the screen immediately change to the new definition. This function is a no-op on most terminals; it is active only if :func:`can_change_color` returns ``True``." msgstr "تعریف یک رنگ را تغییر می‌دهد؛ شماره رنگی که باید تغییر کند و سپس سه مقدار RGB (برای میزان کامپوننت‌های قرمز، سبز و آبی) را دریافت می‌کند. مقدار *color_number* باید بین ``0`` و ``COLORS - 1`` باشد. هر یک از *r*، *g* و *b* باید مقداری بین ``0`` و ``1000`` باشد. هنگامی که از :func:`init_color` استفاده شود، تمام موارد آن رنگ روی صفحه بلافاصله به تعریف جدید تغییر می‌کنند. این تابع در بیشتر پایانه‌ها هیچ عملیاتی انجام نمی‌دهد؛ تنها زمانی فعال است که :func:`can_change_color` مقدار ``True`` را برگرداند." @@ -343,8 +343,8 @@ msgstr ":func:`start_color` هشت رنگ پایه (سیاه، قرمز، سبز msgid "Return a logical OR of all video attributes supported by the terminal. This information is useful when a curses program needs complete control over the appearance of the screen." msgstr "یک OR منطقی از تمام ویژگی‌های ویدیویی مورد پشتیبانی پایانه را برمی‌گرداند. این اطلاعات زمانی مفید است که یک برنامه curses به کنترل کامل بر ظاهر صفحه نیاز داشته باشد." -msgid "Return the value of the environment variable :envvar:`TERM`, as a bytes object, truncated to 14 characters." -msgstr "مقدار متغیر محیطی :envvar:`TERM` را به‌عنوان یک شیء بایتی برمی‌گرداند، که به ۱۴ نویسه کوتاه شده است." +msgid "Return the name of the terminal in use, as a bytes object. This is the name passed to :func:`setupterm`, or the value of the :envvar:`TERM` environment variable if none was given. Some curses libraries truncate it to 14 characters." +msgstr "نام ترمینال در حال استفاده را به‌عنوان یک شیء bytes برمی‌گرداند. این نامی است که به :func:`setupterm` فرستاده شده است، یا اگر چیزی داده نشده باشد، مقدار متغیر محیطی :envvar:`TERM` است. برخی کتابخانه‌های curses آن را به ۱۴ نویسه تقلیل می‌دهند." msgid "Return the value of the Boolean capability corresponding to the terminfo capability name *capname* as an integer. Return the value ``-1`` if *capname* is not a Boolean capability, or ``0`` if it is canceled or absent from the terminal description." msgstr "مقدار قابلیت بولی متناظر با نام قابلیت *capname* در terminfo را به‌صورت یک عدد صحیح برمی‌گرداند. اگر *capname* یک قابلیت بولی نباشد، مقدار ``-1`` و اگر لغو شده یا در توضیح پایانه وجود نداشته باشد، مقدار ``0`` را برمی‌گرداند." @@ -628,8 +628,8 @@ msgstr "اگر *flag* برابر ``True`` باشد، هر تغییری در تص msgid "Return the character at the given position in the window. The bottom 8 bits are the character proper and the upper bits are the attributes; extract them with the :data:`A_CHARTEXT` and :data:`A_ATTRIBUTES` bit-masks, and the color pair with :func:`pair_number`. The character byte is the locale-encoded byte of the cell's character, consistent with :meth:`instr`. On a wide-character build, a character that does not fit in a single byte in the current locale has a character byte of ``0``; use :meth:`instr` to read such characters." msgstr "نویسه را در موقعیت داده‌شده در پنجره برمی‌گرداند. ۸ بیت پایینی، خود نویسه است و بیت‌های بالایی، ویژگی‌ها هستند؛ آن‌ها را با نقاب‌های بیتی :data:`A_CHARTEXT` و :data:`A_ATTRIBUTES`، و جفت رنگ را با :func:`pair_number` استخراج کنید. بایت نویسه، بایت کدگذاری‌شده بر اساس تنظیمات locale برای نویسه‌ی سلول است و با :meth:`instr` سازگار است. در یک ساخت با نویسه‌های پهن (wide-character build)، نویسه‌ای که در تنظیمات locale فعلی در یک بایت جا نمی‌شود، بایت نویسه‌ی آن ``0`` است؛ برای خواندن چنین نویسه‌هایی از :meth:`instr` استفاده کنید." -msgid "Insert character *ch* with attributes *attr* before the character under the cursor, or at ``(y, x)`` if specified. All characters to the right of the cursor are shifted one position right, with the rightmost character on the line being lost. The cursor position does not change." -msgstr "نویسه *ch* را با ویژگی‌های *attr* پیش از نویسه زیر مکان‌نما، یا در ``(y, x)`` در صورت مشخص بودن، درج می‌کند. تمام نویسه‌های سمت راست مکان‌نما یک موقعیت به راست جابه‌جا می‌شوند و راست‌ترین نویسه خط از بین می‌رود. موقعیت مکان‌نما تغییر نمی‌کند." +msgid "Insert character *ch* with attributes *attr* before the character under the cursor, or at ``(y, x)`` if specified. All characters to the right of the cursor are shifted one position right, with the rightmost character on the line being lost. The cursor position does not change (after moving to *y*, *x*, if specified)." +msgstr "نویسه *ch* را با ویژگی‌های *attr* پیش از نویسه زیر نشانگر، یا در صورت مشخص شدن در ``(y, x)`` درج می‌کند. تمام نویسه‌های سمت راست نشانگر یک موقعیت به سمت راست جابه‌جا می‌شوند و دورترین نویسه در سمت راست سطر از دست می‌رود. موقعیت نشانگر تغییر نمی‌کند (پس از انتقال به *y*، *x*، در صورت مشخص شدن)." msgid "Insert *nlines* lines into the specified window above the current line. The *nlines* bottom lines are lost. For negative *nlines*, delete *nlines* lines starting with the one under the cursor, and move the remaining lines up. The bottom *nlines* lines are cleared. The current cursor position remains the same." msgstr "*nlines* خط را در پنجره‌ی مشخص‌شده، بالای خط فعلی درج می‌کند. *nlines* خط پایینی از دست می‌روند. برای *nlines* منفی، *nlines* خط را شروع از خط زیر مکان‌نما حذف می‌کند و سطرهای باقی‌مانده را به بالا حرکت می‌دهد. *nlines* خط پایینی پاک می‌شوند. موقعیت فعلی مکان‌نما بدون تغییر باقی می‌ماند." @@ -637,8 +637,8 @@ msgstr "*nlines* خط را در پنجره‌ی مشخص‌شده، بالای msgid "Insert a blank line under the cursor. All following lines are moved down by one line." msgstr "یک خط خالی زیر مکان‌نما درج می‌کند. همه‌ی سطرهای بعدی یک خط به پایین جابه‌جا می‌شوند." -msgid "Insert a character string (as many characters as will fit on the line) before the character under the cursor, up to *n* characters. If *n* is zero or negative, the entire string is inserted. All characters to the right of the cursor are shifted right, with the rightmost characters on the line being lost. The cursor position does not change (after moving to *y*, *x*, if specified)." -msgstr "یک رشته از نویسه‌ها (هر تعداد نویسه که در خط جا شود) را پیش از نویسه‌ی زیر مکان‌نما، تا سقف *n* نویسه درج کنید. اگر *n* صفر یا منفی باشد، تمام رشته درج می‌شود. همه‌ی نویسه‌های سمت راست مکان‌نما به سمت راست جابه‌جا می‌شوند و راست‌ترین نویسه‌های خط از دست می‌روند. موقعیت مکان‌نما تغییر نمی‌کند (پس از حرکت به *y*، *x*، در صورت مشخص بودن)." +msgid "Insert a character string (as many characters as will fit on the line) before the character under the cursor, up to *n* characters. If *n* is negative, the entire string is inserted. All characters to the right of the cursor are shifted right, with the rightmost characters on the line being lost. The cursor position does not change (after moving to *y*, *x*, if specified)." +msgstr "یک رشته‌نویسه (به تعداد نویسه‌هایی که در سطر جا می‌شوند) را پیش از نویسه زیر نشانگر، تا *n* نویسه درج کنید. اگر *n* منفی باشد، کل رشته درج می‌شود. تمام نویسه‌های سمت راست نشانگر به سمت راست جابه‌جا می‌شوند و دورترین نویسه‌ها در سمت راست سطر از دست می‌روند. موقعیت نشانگر تغییر نمی‌کند (پس از انتقال به *y*، *x*، در صورت مشخص شدن)." msgid "Insert a character string (as many characters as will fit on the line) before the character under the cursor. All characters to the right of the cursor are shifted right, with the rightmost characters on the line being lost. The cursor position does not change (after moving to *y*, *x*, if specified)." msgstr "یک رشته‌ی نویسه‌ای (به تعداد نویسه‌هایی که در خط جا می‌شوند) پیش از نویسه‌ی زیر مکان‌نما درج می‌شود. همه‌ی نویسه‌های سمت راست مکان‌نما به سمت راست جابه‌جا می‌شوند و راست‌ترین نویسه‌های خط از دست می‌روند. موقعیت مکان‌نما تغییر نمی‌کند (پس از حرکت به *y*، *x*، در صورت مشخص بودن)." @@ -718,8 +718,8 @@ msgstr "این ۶ آرگومان فقط زمانی می‌توانند مشخص msgid "Reallocate storage for a curses window to adjust its dimensions to the specified values. If either dimension is larger than the current values, the window's data is filled with blanks that have the current background rendition (as set by :meth:`bkgdset`) merged into them." msgstr "فضای ذخیره‌سازی برای یک پنجره curses را دوباره تخصیص می‌دهد تا ابعاد آن با مقادیر مشخص‌شده تنظیم شود. اگر هر یک از ابعاد بزرگ‌تر از مقادیر فعلی باشد، داده‌های پنجره با نویسه‌های خالی پر می‌شوند که جلوه پس‌زمینه فعلی (که با :meth:`bkgdset` تنظیم شده است) در آن‌ها ادغام شده است." -msgid "Scroll the screen or scrolling region. Scroll upward by *lines* lines if *lines* is positive, or downward if it is negative. Scrolling has no effect unless it has been enabled for the window with :meth:`scrollok`." -msgstr "صفحه یا ناحیه‌ی پیمایش را پیمایش می‌کند. اگر *lines* مثبت باشد، به اندازه‌ی *lines* خط به بالا پیمایش می‌شود و اگر منفی باشد، به پایین پیمایش می‌شود. پیمایش هیچ اثری ندارد مگر اینکه با :meth:`scrollok` برای پنجره فعال شده باشد." +msgid "Scroll the screen or scrolling region. Scroll upward by *lines* lines if *lines* is positive, or downward if it is negative. Raise :exc:`curses.error` unless scrolling has been enabled for the window with :meth:`scrollok`." +msgstr "صفحه نمایش یا ناحیه پیمایش را بپیمایید. اگر *lines* مثبت باشد، به اندازه *lines* سطر به سمت بالا و اگر منفی باشد به سمت پایین بپیمایید. استثنای :exc:`curses.error` را بالا بیاورید مگر اینکه پیمایش برای پنجره با :meth:`scrollok` فعال شده باشد." msgid "Control what happens when the cursor of a window is moved off the edge of the window or scrolling region, either as a result of a newline action on the bottom line, or typing the last character of the last line. If *flag* is ``False``, the cursor is left on the bottom line. If *flag* is ``True``, the window is scrolled up one line. Note that in order to get the physical scrolling effect on the terminal, it is also necessary to call :meth:`idlok`." msgstr "کنترل کنید که وقتی مکان‌نمای یک پنجره از لبه‌ی پنجره یا ناحیه‌ی پیمایش خارج می‌شود، چه اتفاقی رخ می‌دهد؛ خواه در نتیجه‌ی یک عمل خط جدید روی خط پایین، خواه با تایپ آخرین نویسه‌ی خط آخر. اگر *flag* برابر ``False`` باشد، مکان‌نما روی خط پایین باقی می‌ماند. اگر *flag* برابر ``True`` باشد، پنجره یک خط به بالا پیمایش می‌شود. توجه داشته باشید که برای دریافت اثر پیمایش فیزیکی روی پایانه، لازم است :meth:`idlok` نیز فراخوانی شود." @@ -1555,6 +1555,9 @@ msgstr "محتوای پنجره را به‌عنوان یک رشته برمی‌ msgid "This attribute is a flag which controls the interpretation of blanks in the window. When it is on, trailing blanks on each line are ignored; any cursor motion that would land the cursor on a trailing blank goes to the end of that line instead, and trailing blanks are stripped when the window contents are gathered." msgstr "این ویژگی یک پرچم است که تفسیر فاصله‌ها در پنجره را کنترل می‌کند. وقتی روشن است، فاصله‌های انتهایی هر خط نادیده گرفته می‌شوند؛ هر حرکت مکان‌نما که مکان‌نما را روی یک فاصله‌ی انتهایی قرار دهد، در عوض به انتهای آن خط می‌رود، و فاصله‌های انتهایی هنگام جمع‌آوری محتوای پنجره حذف می‌شوند." +#~ msgid "Return the value of the environment variable :envvar:`TERM`, as a bytes object, truncated to 14 characters." +#~ msgstr "مقدار متغیر محیطی :envvar:`TERM` را به‌عنوان یک شیء بایتی برمی‌گرداند، که به ۱۴ نویسه کوتاه شده است." + #~ msgid "Get a character. Note that the integer returned does *not* have to be in ASCII range: function keys, keypad keys and so on are represented by numbers higher than 255. In no-delay mode, return ``-1`` if there is no input, otherwise wait until a key is pressed." #~ msgstr "یک نویسه دریافت می‌کند. توجه داشته باشید که عدد صحیح برگردانده‌شده *لزوماً* در محدوده ASCII نیست: کلیدهای تابع، کلیدهای صفحه‌کلید عددی و غیره با اعدادی بزرگ‌تر از ۲۵۵ نمایش داده می‌شوند. در حالت بدون تأخیر، اگر ورودی وجود نداشته باشد ``-1`` را برمی‌گرداند، در غیر این صورت تا زمانی که یک کلید فشرده شود صبر می‌کند." diff --git a/library/datetime.po b/library/datetime.po index 7edd2652d..97a4bb10d 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 14:43+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -156,29 +156,11 @@ msgstr "اشیای نوع :class:`date` همیشه ساده هستند." msgid "An object of type :class:`.time` or :class:`.datetime` may be aware or naive." msgstr "یک شیء از نوع :class:`.time` یا :class:`.datetime` ممکن است آگاه یا ساده باشد." -msgid "A :class:`.datetime` object ``d`` is aware if both of the following hold:" -msgstr "یک شیء :class:`.datetime` به نام ``d`` آگاه است اگر هر دو شرط زیر برقرار باشند:" +msgid "A :class:`.datetime` object ``d`` is aware if :meth:`d.utcoffset() ` does not return ``None``. Otherwise, ``d`` is naive." +msgstr "یک شیء :class:`.datetime` مانند ``d`` آگاه (aware) است اگر :meth:`d.utcoffset() ` مقدار ``None`` را برنگرداند. در غیر این صورت، ``d`` ساده (naive) است." -msgid "``d.tzinfo`` is not ``None``" -msgstr "``d.tzinfo`` برابر با ``None`` نیست" - -msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" -msgstr "``d.tzinfo.utcoffset(d)`` مقدار ``None`` را برنمی‌گرداند" - -msgid "Otherwise, ``d`` is naive." -msgstr "در غیر این صورت، ``d`` ساده است." - -msgid "A :class:`.time` object ``t`` is aware if both of the following hold:" -msgstr "یک شیء ``t`` از کلاس :class:`.time` آگاه است اگر هر دو مورد زیر برقرار باشند:" - -msgid "``t.tzinfo`` is not ``None``" -msgstr "``t.tzinfo`` برابر ``None`` نیست" - -msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." -msgstr "``t.tzinfo.utcoffset(None)`` مقدار ``None`` را برنمی‌گرداند." - -msgid "Otherwise, ``t`` is naive." -msgstr "در غیر این صورت، ``t`` ساده است." +msgid "A :class:`.time` object ``t`` is aware if :meth:`t.utcoffset() ` does not return ``None``. Otherwise, ``t`` is naive." +msgstr "یک شیء :class:`.time` مانند ``t`` آگاه (aware) است اگر :meth:`t.utcoffset() ` مقدار ``None`` را برنگرداند. در غیر این صورت، ``t`` ساده (naive) است." msgid "The distinction between aware and naive doesn't apply to :class:`timedelta` objects." msgstr "تمایز میان آگاه و ساده برای اشیای :class:`timedelta` صدق نمی‌کند." @@ -3114,6 +3096,9 @@ msgstr "رشته‌های قالب بدون جداکننده ممکن است د msgid "When used to parse partial dates lacking a year, :meth:`.datetime.strptime` and :meth:`.date.strptime` will raise when encountering February 29 because the default year of 1900 is *not* a leap year. Always add a default leap year to partial date strings before parsing." msgstr "هنگامی که برای تجزیه‌ی تاریخ‌های ناقص فاقد سال استفاده شوند، :meth:`.datetime.strptime` و :meth:`.date.strptime` در صورت مواجهه با ۲۹ فوریه استثنا پرتاب می‌کنند، زیرا سال پیش‌فرض ۱۹۰۰ یک سال کبیسه *نیست*. همیشه پیش از تجزیه، یک سال کبیسه‌ی پیش‌فرض به رشته‌های تاریخ ناقص اضافه کنید." +msgid "If a :meth:`~.datetime.strptime` format string contains more than one directive for the same field, for example both ``%Y`` and ``%y``, every directive must still match the input, but only the value of the last one is used. For example, parsing ``200099`` with ``%Y%y`` gives the year 1999. Repeating the same directive, like ``%Y%Y``, raises an error." +msgstr "اگر یک رشته‌ی قالب :meth:`~.datetime.strptime` شامل بیش از یک دایرکتیو برای یک فیلد یکسان باشد، برای مثال هم ``%Y`` و هم ``%y``، هر دایرکتیو همچنان باید با ورودی مطابقت داشته باشد، اما تنها مقدار آخرین مورد استفاده می‌شود. برای مثال، تجزیه کردن ``200099`` با ``%Y%y`` سال ۱۹۹۹ را نتیجه می‌دهد. تکرار کردن همان دایرکتیو، مانند ``%Y%Y``، خطایی را ایجاد می‌کند." + msgid "" ">>> import datetime as dt\n" ">>> value = \"2/29\"\n" @@ -3243,3 +3228,27 @@ msgstr "% (درصد)" msgid "datetime format" msgstr "قالب datetime" + +#~ msgid "A :class:`.datetime` object ``d`` is aware if both of the following hold:" +#~ msgstr "یک شیء :class:`.datetime` به نام ``d`` آگاه است اگر هر دو شرط زیر برقرار باشند:" + +#~ msgid "``d.tzinfo`` is not ``None``" +#~ msgstr "``d.tzinfo`` برابر با ``None`` نیست" + +#~ msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" +#~ msgstr "``d.tzinfo.utcoffset(d)`` مقدار ``None`` را برنمی‌گرداند" + +#~ msgid "Otherwise, ``d`` is naive." +#~ msgstr "در غیر این صورت، ``d`` ساده است." + +#~ msgid "A :class:`.time` object ``t`` is aware if both of the following hold:" +#~ msgstr "یک شیء ``t`` از کلاس :class:`.time` آگاه است اگر هر دو مورد زیر برقرار باشند:" + +#~ msgid "``t.tzinfo`` is not ``None``" +#~ msgstr "``t.tzinfo`` برابر ``None`` نیست" + +#~ msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." +#~ msgstr "``t.tzinfo.utcoffset(None)`` مقدار ``None`` را برنمی‌گرداند." + +#~ msgid "Otherwise, ``t`` is naive." +#~ msgstr "در غیر این صورت، ``t`` ساده است." diff --git a/library/gc.po b/library/gc.po index 2ba7e224e..1089e439a 100644 --- a/library/gc.po +++ b/library/gc.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 16:11+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -64,6 +64,9 @@ msgstr "پرچم‌های اشکال‌زدایی را که در حال حاضر msgid "Returns a list of all objects tracked by the collector, excluding the list returned. If *generation* is not ``None``, return only the objects tracked by the collector that are in that generation." msgstr "فهرستی از تمام اشیای پیگیری‌شده توسط جمع‌کننده را بازمی‌گرداند، به‌جز فهرست برگردانده‌شده. اگر *generation* برابر ``None`` نباشد، فقط اشیای پیگیری‌شده توسط جمع‌کننده را که در آن نسل قرار دارند، بازمی‌گرداند." +msgid "Care must be taken when using objects returned by :func:`get_objects` because some of them could still be under construction and hence in a temporarily invalid state. Avoid using :func:`get_objects` for any purpose other than debugging." +msgstr "هنگام استفاده از اشیاء بازگردانده‌شده توسط :func:`get_objects` باید دقت کنید زیرا برخی از آن‌ها ممکن است همچنان در حال ساخت باشند و در نتیجه در وضعیتی موقتاً نامعتبر قرار داشته باشند. از استفاده از :func:`get_objects` برای هر هدفی به جز اشکال‌زدایی خودداری کنید." + msgid "New *generation* parameter." msgstr "پارامتر *generation* جدید." diff --git a/library/gzip.po b/library/gzip.po index 8924b3a89..b090437da 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -94,8 +94,8 @@ msgstr "توجه داشته باشید که پرونده همیشه در حال msgid "The *compresslevel* argument is an integer from ``0`` to ``9`` controlling the level of compression; ``1`` is fastest and produces the least compression, and ``9`` is slowest and produces the most compression. ``0`` is no compression. The default is ``9``." msgstr "آرگومان *compresslevel* یک عدد صحیح از ``0`` تا ``9`` است که سطح فشرده‌سازی را کنترل می‌کند؛ ``1`` سریع‌ترین است و کمترین میزان فشرده‌سازی را تولید می‌کند، و ``9`` کندترین است و بیشترین میزان فشرده‌سازی را تولید می‌کند. ``0`` بدون فشرده‌سازی است. مقدار پیش‌فرض ``9`` است." -msgid "The optional *mtime* argument is the timestamp requested by gzip. The time is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970. If *mtime* is omitted or ``None``, the current time is used. Use *mtime* = 0 to generate a compressed stream that does not depend on creation time." -msgstr "آرگومان اختیاری *mtime* برچسب زمانی است که gzip درخواست می‌کند. این زمان در قالب Unix است، یعنی ثانیه‌های سپری‌شده از ۰۰:۰۰:۰۰ UTC، ۱ ژانویه ۱۹۷۰. اگر *mtime* حذف شود یا ``None`` باشد، از زمان جاری استفاده می‌شود. برای تولید یک جریان فشرده که به زمان ایجاد وابسته نباشد، از *mtime* = 0 استفاده کنید." +msgid "The optional *mtime* argument is the timestamp requested by gzip. The time is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970. Set *mtime* to ``0`` to generate a compressed stream that does not depend on creation time. If *mtime* is omitted or ``None``, the current time is used; however, if the current time is outside the range 00:00:00 UTC, January 1, 1970 through 06:28:15 UTC, February 7, 2106, or explicitly passed *mtime* argument is outside the range ``0`` to ``2**32-1``, then the value ``0`` is used instead." +msgstr "آرگومان اختیاری *mtime* برچسب زمانی درخواست‌شده توسط gzip است. زمان در قالب یونیکس است، یعنی تعداد ثانیه‌های سپری‌شده از 00:00:00 UTC، ۱ ژانویه‌ی ۱۹۷۰. برای تولید یک جریان فشرده‌شده که به زمان ایجاد وابسته نباشد، *mtime* را روی ``0`` تنظیم کنید. اگر *mtime* حذف شود یا ``None`` باشد، از زمان فعلی استفاده می‌شود؛ با این حال، اگر زمان فعلی خارج از بازه‌ی 00:00:00 UTC، ۱ ژانویه‌ی ۱۹۷۰ تا 06:28:15 UTC، ۷ فوریه‌ی ۲۱۰۶ باشد، یا آرگومان *mtime* به‌طور صریح خارج از بازه‌ی ``0`` تا ``2**32-1`` داده شود، به‌جای آن از مقدار ``0`` استفاده می‌شود." msgid "See below for the :attr:`mtime` attribute that is set when decompressing." msgstr "در زیر ویژگی :attr:`mtime` را ببینید که هنگام از حالت فشرده خارج کردن تنظیم می‌شود." diff --git a/library/http.client.po b/library/http.client.po index 63cbbff06..533664cc0 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 12:34+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -235,8 +235,8 @@ msgstr "میزبان و پورت را برای تونل‌زنی HTTP Connect ت msgid "The *host* and *port* arguments specify the endpoint of the tunneled connection (i.e. the address included in the CONNECT request, *not* the address of the proxy server)." msgstr "آرگومان‌های *host* و *port* پایانه‌ی اتصال تونل‌شده را مشخص می‌کنند (یعنی نشانی گنجانده‌شده در درخواست CONNECT، *نه* نشانی سرور پراکسی)." -msgid "The *headers* argument should be a mapping of extra HTTP headers to send with the CONNECT request." -msgstr "آرگومان *headers* باید یک نگاشت از سرآیندهای HTTP اضافی برای ارسال به‌همراه درخواست CONNECT باشد." +msgid "The *headers* argument should be a mapping of extra HTTP headers to send with the CONNECT request. Non-string header values are converted to strings via :func:`str`." +msgstr "آرگومان *headers* باید نگاشتی از سرآیند‌های اضافی HTTP برای ارسال با درخواست CONNECT باشد. مقادیر سرآیند غیررشته‌ای از طریق :func:`str` به رشته تبدیل می‌شوند." msgid "As HTTP/1.1 is used for HTTP CONNECT tunnelling request, `as per the RFC `_, a HTTP ``Host:`` header must be provided, matching the authority-form of the request target provided as the destination for the CONNECT request. If a HTTP ``Host:`` header is not provided via the headers argument, one is generated and transmitted automatically." msgstr "از آن‌جا که برای درخواست تونل‌سازی HTTP CONNECT از HTTP/1.1 استفاده می‌شود، `طبق RFC `_، باید یک سرآیند HTTP ``Host:`` ارائه شود که با قالب authority (authority-form) هدف درخواستی که به‌عنوان مقصد درخواست CONNECT ارائه شده است مطابقت داشته باشد. اگر سرآیند HTTP ``Host:`` از طریق آرگومان headers ارائه نشود، یک سرآیند به‌طور خودکار تولید و ارسال می‌شود." diff --git a/library/inspect.po b/library/inspect.po index 53f424f55..4c5d2eb03 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 15:35+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -459,8 +459,8 @@ msgstr "توکار" msgid "original name of this function or method" msgstr "نام اصلی این تابع یا متد" -msgid "instance to which a method is bound, or ``None``" -msgstr "نمونه‌ای که یک متد به آن مقید شده است، یا ``None``" +msgid "instance to which a method is bound, or module object a function was defined in, or ``None``" +msgstr "نمونه‌ای که یک متد به آن کران شده است، یا شیء ماژولی که یک تابع در آن تعریف شده است، یا ``None``" msgid "Add ``__qualname__`` and ``gi_yieldfrom`` attributes to generators." msgstr "افزودن ویژگی‌های ``__qualname__`` و ``gi_yieldfrom`` به تولیدگرها." diff --git a/library/mailbox.po b/library/mailbox.po index df55aeb89..98dde850c 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 09:15+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -33,6 +33,9 @@ msgstr "**کد منبع:** :source:`Lib/mailbox.py`" msgid "This module defines two classes, :class:`Mailbox` and :class:`Message`, for accessing and manipulating on-disk mailboxes and the messages they contain. :class:`!Mailbox` offers a dictionary-like mapping from keys to messages. :class:`!Message` extends the :mod:`email.message` module's :class:`~email.message.Message` class with format-specific state and behavior. Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF." msgstr "این ماژول دو کلاس :class:`Mailbox` و :class:`Message` را برای دسترسی و دستکاری صندوق‌های پستی روی دیسک و پیام‌های موجود در آن‌ها تعریف می‌کند. :class:`!Mailbox` نگاشتی شبیه دیکشنری از کلیدها به پیام‌ها ارائه می‌دهد. :class:`!Message` کلاس :class:`~email.message.Message` در ماژول :mod:`email.message` را با وضعیت و رفتار خاص قالب گسترش می‌دهد. قالب‌های پشتیبانی‌شده صندوق پستی شامل Maildir، mbox، MH، Babyl و MMDF هستند." +msgid "The :mod:`!mailbox` module is designed for use in trusted environments, where data from untrusted sources is never passed to the module's API calls and only trusted users have access to the filesystems accessible to the module." +msgstr "ماژول :mod:`!mailbox` برای استفاده در محیط‌های مورد اعتماد طراحی شده است، جایی که داده‌های منابع نامطمئن هرگز به فراخوانی‌های API ماژول ارسال نمی‌شوند و فقط کاربران مورد اعتماد به سامانه‌های فایل‌بندی قابل دسترس برای ماژول دسترسی دارند." + msgid "Module :mod:`email`" msgstr "ماژول :mod:`email`" diff --git a/library/mmap.po b/library/mmap.po index 24be99046..9897f9c82 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 09:18+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -32,8 +32,8 @@ msgstr "دسترس‌پذیری" msgid "This module does not work or is not available on WebAssembly. See :ref:`wasm-availability` for more information." msgstr "این ماژول روی WebAssembly کار نمی‌کند یا در دسترس نیست. برای اطلاعات بیشتر، :ref:`wasm-availability` را ببینید." -msgid "Memory-mapped file objects behave like both :class:`bytearray` and like :term:`file objects `. You can use mmap objects in most places where :class:`bytearray` are expected; for example, you can use the :mod:`re` module to search through a memory-mapped file. You can also change a single byte by doing ``obj[index] = 97``, or change a subsequence by assigning to a slice: ``obj[i1:i2] = b'...'``. You can also read and write data starting at the current file position, and :meth:`seek` through the file to different positions." -msgstr "اشیای پرونده نگاشت‌شده به حافظه، هم مانند :class:`bytearray` و هم مانند :term:`اشیای پرونده ` رفتار می‌کنند. شما می‌توانید از اشیای mmap در بیشتر مواردی استفاده کنید که انتظار می‌رود یک :class:`bytearray` وجود داشته باشد؛ برای مثال، می‌توانید از ماژول :mod:`re` برای جستجو در یک پرونده نگاشت‌شده به حافظه استفاده کنید. همچنین می‌توانید یک بایت را با ``obj[index] = 97`` تغییر دهید، یا یک زیردنباله را با انتساب به یک اسلایس تغییر دهید: ``obj[i1:i2] = b'...'``. همچنین می‌توانید داده‌ها را از موقعیت فعلی پرونده بخوانید و بنویسید، و با :meth:`seek` در پرونده به موقعیت‌های مختلف حرکت کنید." +msgid "Memory-mapped file objects behave like both :class:`bytearray` and like :term:`file objects `. You can use mmap objects in most places where :class:`bytearray` are expected; for example, you can use the :mod:`re` module to search through a memory-mapped file. You can also change a single byte by doing ``obj[index] = 97``, or change a subsequence by assigning to a slice: ``obj[i1:i2] = b'...'``. You can also read and write data starting at the current file position, and :meth:`~mmap.mmap.seek` through the file to different positions." +msgstr "اشیاء پرونده‌ی نگاشت‌شده در حافظه (Memory-mapped) هم مانند :class:`bytearray` و هم مانند :term:`اشیاء پرونده ` رفتار می‌کنند. می‌توانید از اشیاء mmap در بیشتر مکان‌هایی که :class:`bytearray` انتظار می‌رود استفاده کنید؛ برای مثال، می‌توانید از ماژول :mod:`re` برای جستجو در یک پرونده‌ی نگاشت‌شده در حافظه استفاده کنید. همچنین می‌توانید با انجام کار ``obj[index] = 97`` یک بایت منفرد را تغییر دهید، یا با انتساب به یک اسلایس، زیردنباله را تغییر دهید: ``obj[i1:i2] = b'...'``. همچنین می‌توانید خواندن و نوشتن داده‌ها را از موقعیت فعلی پرونده شروع کنید، و با استفاده از :meth:`~mmap.mmap.seek` در پرونده به موقعیت‌های مختلف جابه‌جا شوید." msgid "A memory-mapped file is created by the :class:`~mmap.mmap` constructor, which is different on Unix and on Windows. In either case you must provide a file descriptor for a file opened for update. If you wish to map an existing Python file object, use its :meth:`~io.IOBase.fileno` method to obtain the correct value for the *fileno* parameter. Otherwise, you can open the file using the :func:`os.open` function, which returns a file descriptor directly (the file still needs to be closed when done)." msgstr "یک پرونده نگاشت‌شده به حافظه (memory-mapped file) توسط سازنده‌ی :class:`~mmap.mmap` ایجاد می‌شود، که در یونیکس و ویندوز متفاوت است. در هر دو حالت، باید توصیف‌گر پرونده‌ای را که برای به‌روزرسانی باز شده است، فراهم کنید. اگر می‌خواهید یک شیء پرونده پایتون موجود را نگاشت کنید، از متد :meth:`~io.IOBase.fileno` آن برای به دست آوردن مقدار صحیح پارامتر *fileno* استفاده کنید. در غیر این صورت، می‌توانید پرونده را با استفاده از تابع :func:`os.open` باز کنید، که توصیف‌گر پرونده را مستقیماً برمی‌گرداند (پرونده همچنان باید پس از اتمام کار بسته شود)." @@ -68,8 +68,8 @@ msgstr "**(نسخه‌ی یونیکس)** *length* بایت از پرونده م msgid "*flags* specifies the nature of the mapping. :const:`MAP_PRIVATE` creates a private copy-on-write mapping, so changes to the contents of the mmap object will be private to this process, and :const:`MAP_SHARED` creates a mapping that's shared with all other processes mapping the same areas of the file. The default value is :const:`MAP_SHARED`. Some systems have additional possible flags with the full list specified in :ref:`MAP_* constants `." msgstr "*flags* ماهیت نگاشت را مشخص می‌کند. :const:`MAP_PRIVATE` یک نگاشت خصوصی با کپی-در-نوشتن (copy-on-write) ایجاد می‌کند، بنابراین تغییرات در محتوای شیء mmap برای این فرایند خصوصی خواهد بود و :const:`MAP_SHARED` نگاشتی ایجاد می‌کند که با تمام فرایندهای دیگری که ناحیه‌های یکسانی از پرونده را نگاشت می‌کنند، به اشتراک گذاشته می‌شود. مقدار پیش‌فرض :const:`MAP_SHARED` است. برخی سیستم‌ها پرچم‌های ممکن بیشتری دارند که فهرست کامل آن‌ها در :ref:`MAP_* constants ` مشخص شده است." -msgid "*prot*, if specified, gives the desired memory protection; the two most useful values are :const:`PROT_READ` and :const:`PROT_WRITE`, to specify that the pages may be read or written. *prot* defaults to :const:`PROT_READ \\| PROT_WRITE`." -msgstr "*prot*، در صورت مشخص شدن، محافظت دلخواه از حافظه را تعیین می‌کند؛ دو مقدار از مفیدترین مقادیر عبارتند از :const:`PROT_READ` و :const:`PROT_WRITE`، برای مشخص کردن اینکه صفحه‌ها می‌توانند خوانده یا نوشته شوند. *prot* به‌طور پیش‌فرض :const:`PROT_READ \\| PROT_WRITE` است." +msgid "*prot*, if specified, gives the desired memory protection; the two most useful values are :const:`PROT_READ` and :const:`PROT_WRITE`, to specify that the pages may be read or written. *prot* defaults to :const:`PROT_READ` \\| :const:`PROT_WRITE`." +msgstr "*prot*، اگر مشخص شده باشد، حفاظت مطلوب حافظه را ارائه می‌دهد؛ دو مقداری که بیشترین کاربرد را دارند :const:`PROT_READ` و :const:`PROT_WRITE` هستند، تا مشخص کنند که صفحات می‌توانند خوانده یا نوشته شوند. مقدار پیش‌فرض *prot* برابر با :const:`PROT_READ` \\| :const:`PROT_WRITE` است." msgid "*access* may be specified in lieu of *flags* and *prot* as an optional keyword parameter. It is an error to specify both *flags*, *prot* and *access*. See the description of *access* above for information on how to use this parameter." msgstr "می‌توان *access* را به‌جای *flags* و *prot* به‌عنوان یک پارامتر کلیدواژه‌ای اختیاری مشخص کرد. مشخص کردن همزمان *flags*، *prot* و *access* خطا است. برای آگاهی از چگونگی استفاده از این پارامتر، توضیح *access* در بالا را ببینید." @@ -267,7 +267,25 @@ msgstr "تعداد بایت‌های نوشته‌شده اکنون برگردا msgid "Write the integer *byte* into memory at the current position of the file pointer; the file position is advanced by ``1``. If the mmap was created with :const:`ACCESS_READ`, then writing to it will raise a :exc:`TypeError` exception." msgstr "عدد صحیح *byte* را در حافظه، در موقعیت فعلی اشاره‌گر پرونده می‌نویسد؛ موقعیت پرونده به اندازه ``1`` پیش می‌رود. اگر mmap با :const:`ACCESS_READ` ایجاد شده باشد، نوشتن در آن باعث پرتاب استثنای :exc:`TypeError` می‌شود." -msgid "MADV_* Constants" +msgid "ACCESS_* constants" +msgstr "ثابت‌های ACCESS_*" + +msgid "These constants specify the access mode for a memory mapping. :const:`ACCESS_READ` provides read-only access, :const:`ACCESS_WRITE` provides write-through access, and :const:`ACCESS_COPY` provides copy-on-write access. :const:`ACCESS_DEFAULT` defers to the *prot* argument of :class:`mmap`." +msgstr "این ثابت‌ها حالت دسترسی را برای یک نگاشت حافظه مشخص می‌کنند. :const:`ACCESS_READ` دسترسی فقط‌خواندنی، :const:`ACCESS_WRITE` دسترسی نوشتن‌همزمان (write-through)، و :const:`ACCESS_COPY` دسترسی کپی در هنگام نوشتن را فراهم می‌کند. :const:`ACCESS_DEFAULT` به آرگومان *prot* از :class:`mmap` ارجاع می‌دهد." + +msgid "Page size constants" +msgstr "ثابت‌های اندازه‌ی صفحه" + +msgid ":const:`PAGESIZE` is the system memory page size in bytes. :const:`ALLOCATIONGRANULARITY` is the minimum alignment in bytes required for the *offset* argument of :class:`mmap`. On Unix, :const:`ALLOCATIONGRANULARITY` is equal to :const:`PAGESIZE`." +msgstr ":const:`PAGESIZE` اندازه‌ی صفحه‌ی حافظه‌ی سیستم بر حسب بایت است. :const:`ALLOCATIONGRANULARITY` حداقل هم‌ترازی بر حسب بایت است که برای آرگومان *offset* از :class:`mmap` مورد نیاز است. در سیستم یونیکس، :const:`ALLOCATIONGRANULARITY` برابر با :const:`PAGESIZE` است." + +msgid "PROT_* constants" +msgstr "ثابت‌های PROT_*" + +msgid "Memory protection flags accepted by the *prot* argument of :class:`mmap`. :const:`PROT_READ` allows pages to be read, :const:`PROT_WRITE` allows pages to be written, and :const:`PROT_EXEC` allows pages to be executed. Values can be combined using the bitwise OR operator. Not every option is present on every system." +msgstr "پرچم‌های حفاظت حافظه که توسط آرگومان *prot* از :class:`mmap` پذیرفته می‌شوند. :const:`PROT_READ` اجازه می‌دهد صفحات خوانده شوند، :const:`PROT_WRITE` اجازه می‌دهد صفحات نوشته شوند، و :const:`PROT_EXEC` اجازه می‌دهد صفحات اجرا شوند. مقادیر را می‌توان با استفاده از عملگر بیتی OR ترکیب کرد. همه‌ی گزینه‌ها در هر سیستمی موجود نیستند." + +msgid "MADV_* constants" msgstr "ثابت‌های MADV_*" msgid "These options can be passed to :meth:`mmap.madvise`. Not every option will be present on every system." @@ -276,7 +294,7 @@ msgstr "این گزینه‌ها را می‌توان به :meth:`mmap.madvise` msgid "Availability: Systems with the madvise() system call." msgstr "دسترس‌پذیری: سیستم‌های دارای فراخوان سیستمی madvise()." -msgid "MAP_* Constants" +msgid "MAP_* constants" msgstr "ثابت‌های MAP_*" msgid "These are the various flags that can be passed to :meth:`mmap.mmap`. :data:`MAP_ALIGNED_SUPER` is only available at FreeBSD and :data:`MAP_CONCEAL` is only available at OpenBSD. Note that some options might not be present on some systems." diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 020bc2695..826725a5d 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 15:53+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -187,12 +187,15 @@ msgstr "*forkserver*" msgid "When the program starts and selects the *forkserver* start method, a server process is spawned. From then on, whenever a new process is needed, the parent process connects to the server and requests that it fork a new process. The fork server process is single threaded unless system libraries or preloaded imports spawn threads as a side-effect so it is generally safe for it to use :func:`os.fork`. No unnecessary resources are inherited." msgstr "هنگامی که برنامه شروع می‌شود و متد شروع *forkserver* را انتخاب می‌کند، یک فرایند سرور ایجاد می‌شود. از آن پس، هر زمان که به یک فرایند جدید نیاز باشد، فرایند والد به سرور متصل می‌شود و از آن درخواست می‌کند که یک فرایند جدید را fork کند. فرایند سرور fork تک‌نخی است، مگر اینکه کتابخانه‌های سیستمی یا ایمپورت‌های از پیش بارگذاری‌شده به‌عنوان یک اثر جانبی نخ‌هایی را ایجاد کنند؛ بنابراین استفاده از :func:`os.fork` برای آن عموماً امن است. هیچ منبع غیرضروری به ارث برده نمی‌شود." -msgid "Available on POSIX platforms which support passing file descriptors over Unix pipes such as Linux. The default on those." -msgstr "در پلتفرم‌های POSIX مانند لینوکس که از انتقال توصیف‌گرهای پرونده از طریق پایپ یونیکس پشتیبانی می‌کنند، در دسترس است. پیش‌فرض در آن‌ها." +msgid "Available on POSIX platforms which support passing file descriptors over Unix pipes such as Linux. The default on those, unless there is no writable temporary directory (see :func:`tempfile.gettempdir`), which the fork server requires; *spawn* is the default in that case." +msgstr "روی سکوهای POSIX که از ارسال توصیف‌گرهای پرونده روی پایپ‌های یونیکس مانند لینوکس پشتیبانی می‌کنند، در دسترس است. گزینه‌ی پیش‌فرض روی آن‌ها، مگر اینکه پوشه‌ی موقت قابل‌نوشتنی وجود نداشته باشد (نگاه کنید به :func:`tempfile.gettempdir`) که سرور انشعاب به آن نیاز دارد؛ *spawn* در آن صورت پیش‌فرض است." msgid "This became the default start method on POSIX platforms." msgstr "این به روش شروع پیش‌فرض در سکوهای POSIX تبدیل شد." +msgid "*spawn* is now the default start method when there is no writable temporary directory, for example on a read-only file system. Previously *forkserver* remained the default there and starting a process failed with an :exc:`OSError`. The default is determined when it is first needed rather than when :mod:`!multiprocessing` is imported. See :gh:`155717`." +msgstr "*spawn* اکنون روش شروع پیش‌فرض است زمانی که پوشه‌ی موقت قابل‌نوشتنی وجود ندارد، برای مثال روی یک سیستم پرونده‌ی فقط‌خواندنی. پیش‌تر *forkserver* در آنجا پیش‌فرض باقی می‌ماند و شروع یک فرایند با یک :exc:`OSError` با شکست مواجه می‌شد. مقدار پیش‌فرض زمانی تعیین می‌شود که برای اولین بار مورد نیاز باشد، نه زمانی که ماژول :mod:`!multiprocessing` ایمپورت می‌شود. نگاه کنید به :gh:`155717`." + msgid "*spawn* added on all POSIX platforms, and *forkserver* added for some POSIX platforms. Child processes no longer inherit all of the parents inheritable handles on Windows." msgstr "*spawn* در همه‌ی پلتفرم‌های POSIX اضافه شد، و *forkserver* برای برخی پلتفرم‌های POSIX افزوده شد. فرآیندهای فرزند دیگر همه‌ی دسته‌های قابل ارث‌بری والد را در ویندوز به ارث نمی‌برند." diff --git a/library/os.po b/library/os.po index 4786b8449..5e9985c55 100644 --- a/library/os.po +++ b/library/os.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-12 15:04+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -1534,6 +1534,9 @@ msgstr "*path* می‌تواند یک :term:`شیء شبه‌مسیر ` ``os.scandir`` with argument ``path``." msgstr "یک :ref:`رویداد حسابرسی ` ``os.scandir`` را با آرگومان ``path`` پرتاب می‌کند." +msgid "Sharing a :func:`scandir` iterator between threads will not corrupt the iterator, but it is subject to :term:`race conditions `: which entries each thread receives is unspecified, and closing the iterator while another thread is iterating ends that iteration early." +msgstr "به‌اشتراک‌گذاری یک پیمایش‌گر تابع :func:`scandir` بین نخ‌ها باعث خرابی پیمایش‌گر نمی‌شود، اما در معرض :term:`شرایط رقابتی ` قرار دارد: این که هر نخ چه ورودی‌هایی را دریافت می‌کند مشخص نیست، و بستن پیمایش‌گر در حالی که نخ دیگری در حال پیمایش است، آن پیمایش را زودتر به پایان می‌برد." + msgid "The :func:`scandir` iterator supports the :term:`context manager` protocol and has the following method:" msgstr "پیمایش‌گر :func:`scandir` از پروتکل :term:`context manager` پشتیبانی می‌کند و متد زیر را دارد:" diff --git a/library/pathlib.po b/library/pathlib.po index 40eb154df..13d557c24 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-23 06:56+0330\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 17:37+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -424,6 +424,24 @@ msgstr "(توجه کنید که چگونه درایو و ریشه‌ی محلی msgid "Methods and properties" msgstr "متدها و ویژگی‌ها" +msgid "The :attr:`~PurePath.parent`, :attr:`~PurePath.name`, :attr:`~PurePath.stem`, and :attr:`~PurePath.suffix` properties describe different parts of a path. For example, given::" +msgstr "خصوصیات :attr:`~PurePath.parent`، :attr:`~PurePath.name`، :attr:`~PurePath.stem` و :attr:`~PurePath.suffix` بخش‌های مختلف یک مسـیر را توصیف می‌کنند. برای مثال، با فرض::" + +msgid ">>> p = PurePosixPath('/srv/holy/grail.tar.gz')" +msgstr ">>> p = PurePosixPath('/srv/holy/grail.tar.gz')" + +msgid "" +"For p = PurePosixPath('/srv/holy/grail.tar.gz'), p.parent is\n" +"PurePosixPath('/srv/holy'), p.name is 'grail.tar.gz',\n" +"p.stem is 'grail.tar', and p.suffix is '.gz'." +msgstr "" +"برای p = PurePosixPath('/srv/holy/grail.tar.gz')، مقدار p.parent برابر\n" +"با PurePosixPath('/srv/holy')، مقدار p.name برابر با 'grail.tar.gz'،\n" +"مقدار p.stem برابر با 'grail.tar' و مقدار p.suffix برابر با '.gz' است." + +msgid "The stem excludes only the final suffix: in this example, it includes ``.tar``." +msgstr "بخش stem فقط پسوند نهایی را حذف می‌کند: در این مثال، شامل ``.tar`` می‌شود." + msgid "Pure paths provide the following methods and properties:" msgstr "مسیرهای خالص، متدها و ویژگی‌های زیر را ارائه می‌دهند:" @@ -780,20 +798,34 @@ msgid "" "True\n" ">>> PurePath('a/b.py').full_match('*.py')\n" "False\n" -">>> PurePath('/a/b/c.py').full_match('/a/**')\n" -"True\n" ">>> PurePath('/a/b/c.py').full_match('**/*.py')\n" +"True\n" +">>> PurePath('/a/b/c.py').full_match('/a/**')\n" "True" msgstr "" ">>> PurePath('a/b.py').full_match('a/*.py')\n" "True\n" ">>> PurePath('a/b.py').full_match('*.py')\n" "False\n" -">>> PurePath('/a/b/c.py').full_match('/a/**')\n" -"True\n" ">>> PurePath('/a/b/c.py').full_match('**/*.py')\n" +"True\n" +">>> PurePath('/a/b/c.py').full_match('/a/**')\n" "True" +msgid "Patterns ending in \"``/**``\", as in the example above, may surprise when passed to ``full_match``. Even though \"``**``\" can match 0 segments, \"``.../**``\" requires a separator to match. Hence \"``/a/**``\" does not match path \"``/a``\". Since :class:`PurePath` drops trailing slashes, this pattern also does not match \"``/a/``\"." +msgstr "الگوهایی که به \"``/**``\" ختم می‌شوند، همان‌طور که در مثال بالا دیدید، ممکن است هنگام ارسال به ``full_match`` تعجب‌برانگیز باشند. با اینکه \"``**``\" می‌تواند با صفر بخش مطابقت پیدا کند، اما \"``.../**``\" برای مطابقت به یک جداکننده نیاز دارد. از این رو، \"``/a/**``\" با مسیر \"``/a``\" مطابقت نمی‌کند. از آنجا که :class:`PurePath` اسلش‌های پایانی را حذف می‌کند، این الگو همچنین با \"``/a/``\" مطابقت ندارد." + +msgid "" +">>> PurePath('/a').full_match('/a/**')\n" +"False\n" +">>> PurePath('/a/').full_match('/a/**')\n" +"False" +msgstr "" +">>> PurePath('/a').full_match('/a/**')\n" +"False\n" +">>> PurePath('/a/').full_match('/a/**')\n" +"False" + msgid ":ref:`pathlib-pattern-language` documentation." msgstr "مستندات :ref:`pathlib-pattern-language`." @@ -1881,8 +1913,8 @@ msgstr "وایلدکارد زیر در الگوهای :meth:`~PurePath.full_matc msgid "``**`` (entire segment)" msgstr "``**`` (کل بخش)" -msgid "Matches any number of file or directory segments, including zero." -msgstr "با هر تعداد بخش پرونده یا پوشه، از جمله صفر، مطابقت دارد." +msgid "Matches any number of file or directory segments, including zero. Note that in :meth:`~PurePath.full_match`, \"``a/**``\" does not match \"``a``\", whereas :meth:`~Path.glob` yields \"``a``\" for that pattern." +msgstr "با هر تعداد بخش پرونده یا پوشه، از جمله صفر، مطابقت می‌کند. توجه داشته باشید که در :meth:`~PurePath.full_match`، عبارت \"``a/**``\" با \"``a``\" مطابقت نمی‌کند، در حالی که :meth:`~Path.glob` برای آن الگو \"``a``\" را نتیجه می‌دهد." msgid "``*`` (entire segment)" msgstr "``*`` (کل بخش)" @@ -2262,6 +2294,9 @@ msgstr "مسیر" msgid "operations" msgstr "عملیات" +#~ msgid "Matches any number of file or directory segments, including zero." +#~ msgstr "با هر تعداد بخش پرونده یا پوشه، از جمله صفر، مطابقت دارد." + #~ msgid "" #~ ">>> PurePath()\n" #~ "PurePosixPath('.')" diff --git a/library/ssl.po b/library/ssl.po index d052fabb9..909794a2f 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -1176,7 +1176,7 @@ msgid "A typical use of this callback is to change the :class:`ssl.SSLSocket`'s msgstr "یک کاربرد رایج این کال‌بک، تغییر ویژگی :attr:`SSLSocket.context` مربوط به :class:`ssl.SSLSocket` به شیء جدیدی از نوع :class:`SSLContext` است که نشان‌دهنده‌ی زنجیره‌ی گواهی‌ای است که با نام سرور مطابقت دارد." msgid "If the callback assigns a new context to :attr:`SSLSocket.context`, any further ClientHello message on the same connection (for example after a TLS 1.3 HelloRetryRequest) is dispatched to the new context's *sni_callback*, if it has one; the original callback is not called again for that connection." -msgstr "" +msgstr "اگر کال‌بک یک زمینه‌ی جدید به :attr:`SSLSocket.context` اختصاص دهد، هرگونه پیام ClientHello بعدی روی همان اتصال (برای مثال پس از یک TLS 1.3 HelloRetryRequest) به *sni_callback* زمینه‌ی جدید فرستاده می‌شود، اگر زمینه‌ی مذکور آن را داشته باشد؛ کال‌بک اصلی دیگر برای آن اتصال فراخوانی نمی‌شود." msgid "Due to the early negotiation phase of the TLS connection, only limited methods and attributes are usable like :meth:`SSLSocket.selected_alpn_protocol` and :attr:`SSLSocket.context`. The :meth:`SSLSocket.getpeercert`, :meth:`SSLSocket.get_verified_chain`, :meth:`SSLSocket.get_unverified_chain` :meth:`SSLSocket.cipher` and :meth:`SSLSocket.compression` methods require that the TLS connection has progressed beyond the TLS Client Hello and therefore will not return meaningful values nor can they be called safely." msgstr "به دلیل مرحله‌ی اولیه‌ی مذاکره‌ی اتصال TLS، تنها متدها و ویژگی‌های محدودی قابل استفاده هستند، مانند :meth:`SSLSocket.selected_alpn_protocol` و :attr:`SSLSocket.context`. متدهای :meth:`SSLSocket.getpeercert`، :meth:`SSLSocket.get_verified_chain`، :meth:`SSLSocket.get_unverified_chain`، :meth:`SSLSocket.cipher` و :meth:`SSLSocket.compression` نیاز دارند که اتصال TLS از TLS Client Hello فراتر رفته باشد؛ بنابراین نه مقادیر معناداری برمی‌گردانند و نه می‌توان آن‌ها را به‌طور امن فراخوانی کرد." @@ -1191,7 +1191,7 @@ msgid "This method will raise :exc:`NotImplementedError` if the OpenSSL library msgstr "اگر OPENSSL_NO_TLSEXT هنگام ساخت کتابخانه OpenSSL تعریف‌شده باشد، این متد :exc:`NotImplementedError` را پرتاب خواهد کرد." msgid "After the callback assigns a new :attr:`SSLSocket.context`, later ClientHello messages on the connection are dispatched to the new context's *sni_callback*." -msgstr "" +msgstr "پس از اینکه کال‌بک یک :attr:`SSLSocket.context` جدید اختصاص داد، پیام‌های ClientHello بعدی روی اتصال به *sni_callback* زمینه‌ی جدید فرستاده می‌شوند." msgid "This is a legacy API retained for backwards compatibility. When possible, you should use :attr:`sni_callback` instead. The given *server_name_callback* is similar to *sni_callback*, except that when the server hostname is an IDN-encoded internationalized domain name, the *server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "این یک API قدیمی است که برای سازگاری با نسخه‌های قبلی حفظ شده است. در صورت امکان، باید به‌جای آن از :attr:`sni_callback` استفاده کنید. *server_name_callback* داده‌شده مشابه *sni_callback* است، با این تفاوت که وقتی نام میزبان سرور یک IDN کدگذاری‌شده با IDN باشد، *server_name_callback* یک U-label کدگشایی‌شده را دریافت می‌کند (``\"pythön.org\"``)." @@ -1260,13 +1260,13 @@ msgid "Wrap the BIO objects *incoming* and *outgoing* and return an instance of msgstr "اشیای BIO *incoming* و *outgoing* را دربرمی‌گیرد و نمونه‌ای از :attr:`SSLContext.sslobject_class` (پیش‌فرض :class:`SSLObject`) برمی‌گرداند. روال‌های SSL داده‌های ورودی را از BIO ورودی می‌خوانند و داده‌ها را در BIO خروجی می‌نویسند." msgid "The *server_side*, *server_hostname* and *session* parameters have the same meaning as in :meth:`SSLContext.wrap_socket`, and are validated in the same way: in particular a :exc:`ValueError` is raised when :attr:`~SSLContext.check_hostname` is enabled but no *server_hostname* is given, since there would be no name to match the peer's certificate against." -msgstr "" +msgstr "پارامترهای *server_side*، *server_hostname* و *session* معنایی مشابه با :meth:`SSLContext.wrap_socket` دارند و به همان شکل اعتبارسنجی می‌شوند: به‌ویژه هنگامی که :attr:`~SSLContext.check_hostname` فعال است اما هیچ *server_hostname*\\ ی داده نشده است، یک :exc:`ValueError` بالا آورده می‌شود، زیرا هیچ نامی برای مطابقت دادن با گواهی همتا وجود نخواهد داشت." msgid "The method returns an instance of :attr:`SSLContext.sslobject_class` instead of hard-coded :class:`SSLObject`." msgstr "این متد به‌جای :class:`SSLObject` سخت‌کد، نمونه‌ای از :attr:`SSLContext.sslobject_class` را برمی‌گرداند." msgid "The *server_side*, *server_hostname* and *session* parameters are now validated as :meth:`SSLContext.wrap_socket` validates them. Previously a context with :attr:`~SSLContext.check_hostname` enabled and no *server_hostname* was accepted, and verified the certificate chain but never the peer's identity." -msgstr "" +msgstr "پارامترهای *server_side*، *server_hostname* و *session* اکنون مانند روشی که :meth:`SSLContext.wrap_socket` آن‌ها را اعتبارسنجی می‌کند، اعتبارسنجی می‌شوند. پیش‌تر، یک زمینه با :attr:`~SSLContext.check_hostname` فعال و بدون *server_hostname* پذیرفته می‌شد و زنجیره‌ی گواهی را تأیید می‌کرد اما هرگز هویت همتا را بررسی نمی‌کرد." msgid "The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:`SSLObject`. The attribute can be overridden on instance of class in order to return a custom subclass of :class:`SSLObject`." msgstr "نوع بازگشتی :meth:`SSLContext.wrap_bio`، به‌طور پیش‌فرض :class:`SSLObject` است. می‌توان این ویژگی را در نمونه‌ای از کلاس بازنویسی کرد تا یک زیرکلاس سفارشی از :class:`SSLObject` بازگردانده شود." diff --git a/library/tempfile.po b/library/tempfile.po index d9a86c700..cf395f844 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 15:36+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -141,6 +141,12 @@ msgstr "پوشه را می‌توان با فراخوانی متد :meth:`!clean msgid "The *delete* parameter can be used to disable cleanup of the directory tree upon exiting the context. While it may seem unusual for a context manager to disable the action taken when exiting the context, it can be useful during debugging or when you need your cleanup behavior to be conditional based on other logic." msgstr "می‌توان از پارامتر *delete* برای غیرفعال کردن پاک‌سازی درخت پوشه‌ها هنگام خروج از زمینه استفاده کرد. اگرچه ممکن است غیرعادی به نظر برسد که یک مدیر زمینه عملیات انجام‌شده هنگام خروج از زمینه را غیرفعال کند، اما این کار می‌تواند در حین اشکال‌زدایی یا زمانی که نیاز دارید رفتار پاک‌سازی شما بر اساس منطق دیگری مشروط باشد، مفید باشد." +msgid "Cleanup is not robust against the tree being modified while it is removed. Files outside of the tree may have their permissions and file flags reset." +msgstr "عملیات پاک‌سازی در برابر تغییر درخت در حین حذف شدن آن مقاوم نیست. ممکن است دسترسی‌ها و پرچم‌های پرونده‌های خارج از درخت بازنشانی شوند." + +msgid "On systems where :data:`shutil.rmtree.avoids_symlink_attacks` is false, manipulating symbolic links during cleanup may cause files outside of the tree to be removed." +msgstr "در سیستم‌هایی که :data:`shutil.rmtree.avoids_symlink_attacks` در آن‌ها نادرست است، دستکاری پیوندهای نمادین در حین پاک‌سازی ممکن است باعث حذف پرونده‌های خارج از درخت شود." + msgid "Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with argument ``fullpath``." msgstr "یک :ref:`رویداد حسابرسی ` ``tempfile.mkdtemp`` را با آرگومان ``fullpath`` پرتاب می‌کند." diff --git a/library/test.po b/library/test.po index cdf8bf989..2e9b9798a 100644 --- a/library/test.po +++ b/library/test.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-13 13:15+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -197,8 +197,8 @@ msgstr "کتابی از کنت بک درباره‌ی نوشتن آزمون‌ه msgid "Running tests using the command-line interface" msgstr "اجرای آزمون‌ها با استفاده از رابط خط فرمان" -msgid "The :mod:`!test` package can be run as a script to drive Python's regression test suite, thanks to the :option:`-m` option: :program:`python -m test`. Under the hood, it uses :mod:`!test.regrtest`; the call :program:`python -m test.regrtest` used in previous Python versions still works. Running the script by itself automatically starts running all regression tests in the :mod:`!test` package. It does this by finding all modules in the package whose name starts with ``test_``, importing them, and executing the function :func:`test_main` if present or loading the tests via unittest.TestLoader.loadTestsFromModule if ``test_main`` does not exist. The names of tests to execute may also be passed to the script. Specifying a single regression test (:program:`python -m test test_spam`) will minimize output and only print whether the test passed or failed." -msgstr "بسته‌ی :mod:`!test` را می‌توان به‌کمک گزینه‌ی :option:`-m` به‌صورت یک اسکریپت برای اجرای بدنه‌ی آزمون‌های رگرسیون پایتون اجرا کرد: :program:`python -m test`. در پشت صحنه، این بسته از :mod:`!test.regrtest` استفاده می‌کند؛ فراخوانی :program:`python -m test.regrtest` که در نسخه‌های پیشین پایتون استفاده می‌شد، همچنان کار می‌کند. اجرای اسکریپت به‌تنهایی به‌طور خودکار اجرای همه‌ی آزمون‌های رگرسیون موجود در بسته‌ی :mod:`!test` را آغاز می‌کند. این کار با یافتن همه‌ی ماژول‌های موجود در بسته که نامشان با ``test_`` شروع می‌شود، ایمپورت کردن آن‌ها، و اجرای تابع :func:`test_main` در صورت وجود، یا بارگذاری آزمون‌ها از طریق unittest.TestLoader.loadTestsFromModule در صورت نبود ``test_main`` انجام می‌شود. نام آزمون‌های مورد نظر برای اجرا نیز می‌تواند به اسکریپت داده شود. مشخص کردن یک آزمون رگرسیون به‌صورت تکی (:program:`python -m test test_spam`) خروجی را به حداقل می‌رساند و فقط چاپ می‌کند که آزمون موفقیت‌آمیز بوده یا شکست خورده است." +msgid "The :mod:`!test` package can be run as a script to drive Python's regression test suite, thanks to the :option:`-m` option: :program:`python -m test`. Under the hood, it uses :mod:`!test.regrtest`; the call :program:`python -m test.regrtest` used in previous Python versions still works. Running the script by itself automatically starts running all regression tests in the :mod:`!test` package. It does this by finding modules and packages whose names start with ``test_``, importing each one, and loading its tests with :meth:`unittest.TestLoader.loadTestsFromModule`. See the :ref:`load_tests protocol ` for how a module or package can customize what is loaded. Defining a module-level ``test_main()`` function is not supported and causes the test to fail. The names of tests to execute may also be passed to the script. Specifying a single regression test (:program:`python -m test test_spam`) will minimize output and only print whether the test passed or failed." +msgstr "بسته‌ی :mod:`!test` می‌تواند به عنوان یک اسکریپت برای هدایت مجموعه‌ی آزمون رگرسیون پایتون اجرا شود، به لطف گزینه‌ی :option:`-m`: :program:`python -m test`. در پس‌زمینه، از :mod:`!test.regrtest` استفاده می‌کند؛ فراخوانی :program:`python -m test.regrtest` که در نسخه‌های قبلی پایتون استفاده می‌شد همچنان کار می‌کند. اجرای اسکریپت به تنهایی به طور خودکار شروع به اجرای تمام آزمون‌های رگرسیون در بسته‌ی :mod:`!test` می‌کند. این کار را با یافتن ماژول‌ها و بسته‌هایی که نامشان با ``test_`` شروع می‌شود، ایمپورت کردن هر کدام، و بارگذاری آزمون‌های آن با :meth:`unittest.TestLoader.loadTestsFromModule` انجام می‌دهد. برای نحوه‌ی سفارشی‌سازی آنچه بارگذاری می‌شود توسط یک ماژول یا بسته، به :ref:`پروتکل load_tests ` نگاه کنید. تعریف یک تابع ``test_main()`` در سطح ماژول پشتیبانی نمی‌شود و باعث شکست آزمون می‌شود. نام آزمون‌هایی که باید اجرا شوند نیز ممکن است به اسکریپت پاس داده شود. مشخص کردن یک آزمون رگرسیون منفرد (:program:`python -m test test_spam`) خروجی را به حداقل می‌رساند و فقط چاپ می‌کند که آیا آزمون موفق بوده یا ناموفق." msgid "Running :mod:`!test` directly allows what resources are available for tests to use to be set. You do this by using the ``-u`` command-line option. Specifying ``all`` as the value for the ``-u`` option enables all possible resources: :program:`python -m test -uall`. If all but one resource is desired (a more common case), a comma-separated list of resources that are not desired may be listed after ``all``. The command :program:`python -m test -uall,-audio,-largefile` will run :mod:`!test` with all resources except the ``audio`` and ``largefile`` resources. For a list of all resources and more command-line options, run :program:`python -m test -h`." msgstr "اجرای مستقیم :mod:`!test` به شما امکان می‌دهد تعیین کنید چه منابعی برای استفاده در آزمون‌ها در دسترس باشند. این کار را با استفاده از گزینه ``-u`` خط فرمان انجام می‌دهید. مشخص کردن ``all`` به‌عنوان مقدار گزینه ``-u`` تمام منابع ممکن را فعال می‌کند: :program:`python -m test -uall`. اگر همه منابع به‌جز یک منبع مطلوب باشند (حالت رایج‌تر)، می‌توانید فهرستی جداشده با ویرگول از منابعی که مطلوب نیستند را پس از ``all`` ذکر کنید. فرمان :program:`python -m test -uall,-audio,-largefile`، :mod:`!test` را با همه منابع به‌جز منابع ``audio`` و ``largefile`` اجرا می‌کند. برای دریافت فهرستی از همه منابع و گزینه‌های بیشتر خط فرمان، :program:`python -m test -h` را اجرا کنید." @@ -445,8 +445,8 @@ msgstr "مقدار مشخص‌شده برای *resource* را برمی‌گرد msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "اگر پایتون با ``-O0`` یا ``-Og`` ساخته نشده باشد، ``True`` را برمی‌گرداند." -msgid "Return :const:`_testcapi.WITH_PYMALLOC`." -msgstr ":const:`_testcapi.WITH_PYMALLOC` را برمی‌گرداند." +msgid "Return ``True`` if Python was built with :ref:`pymalloc ` enabled and is not a :term:`free-threaded build`." +msgstr "اگر پایتون با :ref:`pymalloc ` فعال ساخته شده باشد و یک :term:`ساخت نخ‌آزاد ` نباشد، مقدار ``True`` را برمی‌گرداند." msgid "Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` if called by a function whose ``__name__`` is ``'__main__'``. Used when tests are executed by :mod:`test.regrtest`." msgstr "اگر *resource* در دسترس نباشد، :exc:`ResourceDenied` را پرتاب می‌کند. اگر این استثنا پرتاب شود، *msg* آرگومان :exc:`ResourceDenied` خواهد بود. اگر توسط تابعی فراخوانی شود که ``__name__`` آن ``'__main__'`` است، همیشه ``True`` را برمی‌گرداند. هنگامی که آزمون‌ها توسط :mod:`test.regrtest` اجرا می‌شوند، استفاده می‌شود." @@ -679,8 +679,8 @@ msgstr "آزمون خطاهای سینتکسی در *statement* با تلاش ب msgid "Open *url*. If open fails, raises :exc:`TestFailed`." msgstr "*url* را باز می‌کند. اگر باز کردن ناموفق باشد، :exc:`TestFailed` را پرتاب می‌کند." -msgid "Use this at the end of ``test_main`` whenever sub-processes are started. This will help ensure that no extra children (zombies) stick around to hog resources and create problems when looking for refleaks." -msgstr "هر زمان که زیرفرایندها آغاز می‌شوند، از این در پایان ``test_main`` استفاده کنید. این کار کمک می‌کند تا اطمینان حاصل شود که هیچ‌کدام از فرزندان اضافی (زامبی‌ها) باقی نمی‌مانند که منابع را اشغال کنند و هنگام جست‌وجو برای نشت‌های مرجع (refleaks) مشکل ایجاد کنند." +msgid "Call this from :meth:`~unittest.TestCase.setUp`, :meth:`~unittest.TestCase.tearDown`, or ``tearDownModule()`` in tests that start subprocesses. This will help ensure that no extra children (zombies) stick around to hog resources and create problems when looking for refleaks." +msgstr "این را از :meth:`~unittest.TestCase.setUp`، :meth:`~unittest.TestCase.tearDown`، یا ``tearDownModule()`` در آزمون‌هایی که زیرفرایندها را شروع می‌کنند، فراخوانی کنید. این کار کمک می‌کند اطمینان حاصل شود که هیچ فرزند اضافی (زامبی) باقی نمی‌ماند تا منابع را ببلعد و هنگام جستجوی نشتی‌های مرجع (refleaks) مشکل ایجاد کند." msgid "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` is raised." msgstr "یک ویژگی دریافت می‌کند؛ اگر :exc:`AttributeError` پرتاب شد، :exc:`unittest.SkipTest` را ایجاد میکند." @@ -826,8 +826,8 @@ msgstr "" " support.check__all__(self, bar, ('bar', '_bar'),\n" " extra=extra, not_exported=not_exported)" -msgid "Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if there is no available semaphore implementation, or if creating a lock raises an :exc:`OSError`." -msgstr "در صورتی که ماژول :mod:`multiprocessing.synchronize` موجود نبود، هیچ پیاده‌سازی سمافور در دسترس نبود، یا ایجاد یک قفل باعث پرتاب :exc:`OSError` شد، از آزمون‌ها صرف‌نظر کنید." +msgid "Skip tests if the :mod:`!multiprocessing.synchronize` module is missing, if there is no available semaphore implementation, or if creating a lock raises an :exc:`OSError`." +msgstr "اگر ماژول :mod:`!multiprocessing.synchronize` وجود نداشته باشد، هیچ پیاده‌سازی سمافوری در دسترسی نباشد، یا ایجاد یک قفل باعث بروز یک :exc:`OSError` شود، آزمون‌ها را رد کنید." msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "ادعا کنید که نوع *tp* نمی‌تواند با استفاده از *args* و *kwds* نمونه‌سازی شود." @@ -910,8 +910,8 @@ msgstr "این برای استفاده با ``@unittest.skipIf()`` طراحی ش msgid "A normal build & test does not run into this situation but it can happen when trying to run the standard library test suite from an interpreter that doesn't have an obvious home with Python's current home finding logic." msgstr "یک ساخت و آزمون عادی با این موقعیت مواجه نمی‌شود، اما این حالت ممکن است هنگامی رخ دهد که تلاش می‌کنید بدنه‌ی آزمون‌های کتابخانه استاندارد را از مفسری اجرا کنید که با منطق فعلی پایتون در یافتن خانه (home)، خانه‌ی مشخصی ندارد." -msgid "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are other common environment variables that might impact whether or not the interpreter can start." -msgstr "تنظیم :envvar:`PYTHONHOME` یکی از راه‌ها برای اجرای بیشتر مجموعه‌آزمون در آن شرایط است. :envvar:`PYTHONPATH` یا :envvar:`PYTHONUSERSITE` متغیرهای محیطی رایج دیگری هستند که ممکن است بر اینکه مفسر بتواند آغاز شود یا نه تأثیر بگذارند." +msgid "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONNOUSERSITE` are other common environment variables that might impact whether or not the interpreter can start." +msgstr "تنظیم :envvar:`PYTHONHOME` یکی از راه‌هایی است که باعث می‌شود بیشتر مجموعه آزمون در آن وضعیت اجرا شود. :envvar:`PYTHONPATH` یا :envvar:`PYTHONNOUSERSITE` دیگر متغیرهای محیطی رایجی هستند که ممکن است روی توانایی مفسر در شروع به کار تأثیر بگذارند." msgid "Set up the environment based on *env_vars* for running the interpreter in a subprocess. The values can include ``__isolated``, ``__cleanenv``, ``__cwd``, and ``TERM``." msgstr "محیط را بر اساس *env_vars* برای اجرای مفسر در یک زیرفرایند تنظیم کنید. مقادیر می‌توانند شامل ``__isolated``، ``__cleanenv``، ``__cwd`` و ``TERM`` باشند." @@ -1163,8 +1163,8 @@ msgstr "ماژول :mod:`!test.support.import_helper` پشتیبانی برای msgid "Remove the module named *module_name* from ``sys.modules`` and delete any byte-compiled files of the module." msgstr "ماژول با نام *module_name* را از ``sys.modules`` حذف کنید و هرگونه پرونده کامپایل‌شده به بایت آن ماژول را پاک کنید." -msgid "This function imports and returns a fresh copy of the named Python module by removing the named module from ``sys.modules`` before doing the import. Note that unlike :func:`reload`, the original module is not affected by this operation." -msgstr "این تابع با حذف ماژول نام‌برده‌شده از ``sys.modules`` پیش از انجام ایمپورت، یک نسخه‌ی تازه از ماژول پایتون نام‌برده‌شده را ایمپورت می‌کند و برمی‌گرداند. توجه داشته باشید که برخلاف :func:`reload`، ماژول اصلی تحت تأثیر این عملیات قرار نمی‌گیرد." +msgid "This function imports and returns a fresh copy of the named Python module by removing the named module from ``sys.modules`` before doing the import. Note that unlike :func:`importlib.reload`, the original module is not affected by this operation." +msgstr "این تابع با حذف کردن ماژول نام‌برده از ``sys.modules`` پیش از انجام عمل ایمپورت، یک نسخه‌ی تازه از آن ماژول نام‌برده را ایمپورت کرده و برمی‌گرداند. توجه داشته باشید که برخلاف :func:`importlib.reload`، ماژول اصلی تحت تأثیر این عملیات قرار نمی‌گیرد." msgid "*fresh* is an iterable of additional module names that are also removed from the ``sys.modules`` cache before doing the import." msgstr "*fresh* یک پیمایش‌پذیر از نام‌های ماژول اضافی است که همچنین پیش از انجام ایمپورت از نهانگاه ``sys.modules`` حذف می‌شوند." @@ -1272,11 +1272,8 @@ msgstr "check_warnings((\"\", Warning), quiet=True)" msgid "In this case all warnings are caught and no errors are raised." msgstr "در این حالت، همه‌ی هشدارها گرفته می‌شوند و هیچ خطایی پرتاب نمی‌شود." -msgid "On entry to the context manager, a :class:`WarningRecorder` instance is returned. The underlying warnings list from :func:`~warnings.catch_warnings` is available via the recorder object's :attr:`warnings` attribute. As a convenience, the attributes of the object representing the most recent warning can also be accessed directly through the recorder object (see example below). If no warning has been raised, then any of the attributes that would otherwise be expected on an object representing a warning will return ``None``." -msgstr "در هنگام ورود به مدیر زمینه، یک نمونه از :class:`WarningRecorder` بازگردانده می‌شود. فهرست هشدارهای زیربنایی حاصل از :func:`~warnings.catch_warnings` از طریق ویژگی :attr:`warnings` شیء ضبط‌کننده در دسترس است. برای سهولت، می‌توان به ویژگی‌های شیء نمایانگر آخرین هشدار نیز مستقیماً از طریق شیء ضبط‌کننده دسترسی پیدا کرد (مثال زیر را ببینید). اگر هیچ هشداری پرتاب نشده باشد، هر یک از ویژگی‌هایی که در حالت عادی انتظار می‌رود در شیء نمایانگر هشدار وجود داشته باشد، ``None`` را برمی‌گرداند." - -msgid "The recorder object also has a :meth:`reset` method, which clears the warnings list." -msgstr "شیء ضبط‌کننده همچنین یک متد :meth:`reset` دارد که فهرست هشدارها را پاک می‌کند." +msgid "On entry to the context manager, a :class:`WarningsRecorder` instance is returned. The recorded warnings are available via its :attr:`~WarningsRecorder.warnings` attribute, and its :meth:`~WarningsRecorder.reset` method discards previously recorded warnings." +msgstr "هنگام ورود به مدیر زمینه، یک نمونه از :class:`WarningsRecorder` برگردانده می‌شود. هشدارهای ضبط‌شده از طریق ویژگی :attr:`~WarningsRecorder.warnings` آن در دسترس هستند و متد :attr:`~WarningsRecorder.reset` آن هشدارهای ضبط‌شده‌ی قبلی را دور می‌اندازد." msgid "The context manager is designed to be used like this::" msgstr "این مدیر زمینه به‌گونه‌ای طراحی شده است که به این شکل استفاده شود::" @@ -1301,21 +1298,21 @@ msgstr "هنگامی که یک آزمون نیاز دارد به‌جای برر msgid "" "with check_warnings(quiet=True) as w:\n" " warnings.warn(\"foo\")\n" -" assert str(w.args[0]) == \"foo\"\n" +" assert str(w.message) == \"foo\"\n" " warnings.warn(\"bar\")\n" -" assert str(w.args[0]) == \"bar\"\n" -" assert str(w.warnings[0].args[0]) == \"foo\"\n" -" assert str(w.warnings[1].args[0]) == \"bar\"\n" +" assert str(w.message) == \"bar\"\n" +" assert str(w.warnings[0].message) == \"foo\"\n" +" assert str(w.warnings[1].message) == \"bar\"\n" " w.reset()\n" " assert len(w.warnings) == 0" msgstr "" "with check_warnings(quiet=True) as w:\n" " warnings.warn(\"foo\")\n" -" assert str(w.args[0]) == \"foo\"\n" +" assert str(w.message) == \"foo\"\n" " warnings.warn(\"bar\")\n" -" assert str(w.args[0]) == \"bar\"\n" -" assert str(w.warnings[0].args[0]) == \"foo\"\n" -" assert str(w.warnings[1].args[0]) == \"bar\"\n" +" assert str(w.message) == \"bar\"\n" +" assert str(w.warnings[0].message) == \"foo\"\n" +" assert str(w.warnings[1].message) == \"bar\"\n" " w.reset()\n" " assert len(w.warnings) == 0" @@ -1325,8 +1322,29 @@ msgstr "در اینجا تمام هشدارها گرفته خواهند شد و msgid "New optional arguments *filters* and *quiet*." msgstr "آرگومان‌های اختیاری جدید *filters* و *quiet*." -msgid "Class used to record warnings for unit tests. See documentation of :func:`check_warnings` above for more details." -msgstr "کلاسی که برای ثبت هشدارها در آزمون واحد‌ها استفاده می‌شود. برای جزئیات بیشتر، مستندات :func:`check_warnings` در بالا را ببینید." +msgid "Class used to record warnings for unit tests. Wraps the warnings list returned by :func:`warnings.catch_warnings` when recording is enabled. :func:`check_warnings` returns an instance of this class." +msgstr "کلاسی که برای ثبت هشدارها برای آزمون‌های واحد استفاده می‌شود. هنگامی که ثبت هشدار فعال است، فهرست هشدارهای برگردانده‌شده توسط :func:`warnings.catch_warnings` را دربرمی‌گیرد. تابع :func:`check_warnings` نمونه‌ای از این کلاس را برمی‌گرداند." + +msgid "As a convenience, the attributes of the object representing the most recent warning can also be accessed directly through the recorder object. If no warning has been raised since the recorder was created or last reset, these attributes return ``None``." +msgstr "به عنوان یک امکان رفاهی، ویژگی‌های شیء نماینده‌ی جدیدترین هشدار را نیز می‌توان مستقیماً از طریق شیء ثبت‌کننده (recorder) دسترسی داشت. اگر از زمان ایجاد یا آخرین بازنشانی ثبت‌کننده هیچ هشداری صادر نشده باشد، این ویژگی‌ها مقدار ``None`` را برمی‌گردانند." + +msgid "A list of warnings recorded since the recorder was created or last reset." +msgstr "فهرستی از هشدارهای ثبت‌شده از زمان ایجاد یا آخرین بازنشانی ثبت‌کننده." + +msgid "Discard previously recorded warnings from the recorder's view. The underlying warnings list is not modified." +msgstr "هشدار‌های ضبط‌شده‌ی قبلی را از نمای (view) recorder حذف کنید. فهرست (list) هشدار‌های زیرین تغییر نمی‌کند." + +#~ msgid "Return :const:`_testcapi.WITH_PYMALLOC`." +#~ msgstr ":const:`_testcapi.WITH_PYMALLOC` را برمی‌گرداند." + +#~ msgid "On entry to the context manager, a :class:`WarningRecorder` instance is returned. The underlying warnings list from :func:`~warnings.catch_warnings` is available via the recorder object's :attr:`warnings` attribute. As a convenience, the attributes of the object representing the most recent warning can also be accessed directly through the recorder object (see example below). If no warning has been raised, then any of the attributes that would otherwise be expected on an object representing a warning will return ``None``." +#~ msgstr "در هنگام ورود به مدیر زمینه، یک نمونه از :class:`WarningRecorder` بازگردانده می‌شود. فهرست هشدارهای زیربنایی حاصل از :func:`~warnings.catch_warnings` از طریق ویژگی :attr:`warnings` شیء ضبط‌کننده در دسترس است. برای سهولت، می‌توان به ویژگی‌های شیء نمایانگر آخرین هشدار نیز مستقیماً از طریق شیء ضبط‌کننده دسترسی پیدا کرد (مثال زیر را ببینید). اگر هیچ هشداری پرتاب نشده باشد، هر یک از ویژگی‌هایی که در حالت عادی انتظار می‌رود در شیء نمایانگر هشدار وجود داشته باشد، ``None`` را برمی‌گرداند." + +#~ msgid "The recorder object also has a :meth:`reset` method, which clears the warnings list." +#~ msgstr "شیء ضبط‌کننده همچنین یک متد :meth:`reset` دارد که فهرست هشدارها را پاک می‌کند." + +#~ msgid "Class used to record warnings for unit tests. See documentation of :func:`check_warnings` above for more details." +#~ msgstr "کلاسی که برای ثبت هشدارها در آزمون واحد‌ها استفاده می‌شود. برای جزئیات بیشتر، مستندات :func:`check_warnings` در بالا را ببینید." #~ msgid "Its default value is 5 seconds." #~ msgstr "مقدار پیش‌فرض آن ۵ ثانیه است." diff --git a/library/tkinter.po b/library/tkinter.po index 41ebabeb0..eb0690f73 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-12 14:18+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -760,32 +760,32 @@ msgstr "برای مجموعه کامل متدهای مدیر پنجره، :class msgid "Tk option data types" msgstr "انواع داده‌ی گزینه‌های Tk" -msgid "Many widget options documented in the reference accept values of a small number of common types, described here." -msgstr "بسیاری از گزینه‌های ابزارک که در مرجع مستند شده‌اند، مقادیری از تعداد اندکی از انواع رایج را می‌پذیرند که در اینجا توضیح داده شده‌اند." +msgid "Many widget options documented in the reference accept values of a small number of common types, described here. The standard options and their types are described in the :manpage:`options(3tk)` manual page." +msgstr "بسیاری از گزینه‌های ابزارک مستندشده در بخش ارجاع، مقادیری از تعداد کمی از انواع متداول را می‌پذیرند که در اینجا توصیف شده‌اند. گزینه‌های استاندارد و انواع آن‌ها در صفحه‌ی راهنمای :manpage:`options(3tk)` شرح داده شده‌اند." msgid "anchor" msgstr "لنگر" -msgid "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center\"``." -msgstr "مقادیر مجاز، جهت‌های قطب‌نما هستند: ``\"n\"``، ``\"ne\"``، ``\"e\"``، ``\"se\"``، ``\"s\"``، ``\"sw\"``، ``\"w\"``، ``\"nw\"`` و همچنین ``\"center\"``." +msgid "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center\"``. The *labelanchor* option of :class:`LabelFrame` and :class:`ttk.LabelFrame ` accepts also ``\"en\"``, ``\"es\"``, ``\"wn\"`` and ``\"ws\"``. The *sticky* option of the grid geometry manager accepts a combination of the compass directions, such as ``\"nsew\"``, or an empty string." +msgstr "مقادیر مجاز جهات قطب‌نما هستند: ``\"n\"``، ``\"ne\"``، ``\"e\"``، ``\"se\"``، ``\"s\"``، ``\"sw\"``، ``\"w\"``، ``\"nw\"`` و همچنین ``\"center\"``. گزینه‌ی *labelanchor* در کلاس‌های :class:`LabelFrame` و :class:`ttk.LabelFrame ` مقادیر ``\"en\"``، ``\"es\"``، ``\"wn\"`` و ``\"ws\"`` را نیز می‌پذیرد. گزینه‌ی *sticky* در مدیر هندسه‌ی شبکه ترکیبی از جهت‌های قطب‌نما مانند ``\"nsew\"`` یا یک رشته‌ی خالی را می‌پذیرد." msgid "bitmap" msgstr "بیت‌مپ" -msgid "There are ten built-in, named bitmaps: ``'error'``, ``'gray12'``, ``'gray25'``, ``'gray50'``, ``'gray75'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, ``'warning'``. To specify an X bitmap filename, give the full path to the file, preceded with an ``@``, as in ``\"@/usr/contrib/bitmap/gumby.bit\"``." -msgstr "ده بیت‌مپ توکار نام‌دار وجود دارد: ``'error'``، ``'gray12'``، ``'gray25'``، ``'gray50'``، ``'gray75'``، ``'hourglass'``، ``'info'``، ``'questhead'``، ``'question'``، ``'warning'``. برای مشخص کردن نام پرونده یک بیت‌مپ X، مسیر کامل پرونده را با یک ``@`` پیش از آن وارد کنید، مانند ``\"@/usr/contrib/bitmap/gumby.bit\"``." +msgid "There are ten built-in, named bitmaps: ``'error'``, ``'gray12'``, ``'gray25'``, ``'gray50'``, ``'gray75'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, ``'warning'``. On macOS the following bitmaps are available as well: ``'application'``, ``'accessory'``, ``'folder'``, ``'pfolder'``, ``'trash'``, ``'floppy'``, ``'ramdisk'``, ``'cdrom'``, ``'preferences'``, ``'querydoc'``, ``'stop'``, ``'note'`` and ``'caution'``. To specify an X bitmap file, give the full path to the file, preceded with an ``@``, as in ``\"@/usr/contrib/bitmap/gumby.bit\"``." +msgstr "ده بیت‌مپ توکار و نام‌گذاری‌شده وجود دارد: ``'error'``، ``'gray12'``، ``'gray25'``، ``'gray50'``، ``'gray75'``، ``'hourglass'``، ``'info'``، ``'questhead'``، ``'question'``، ``'warning'``. در سیستم‌عامل macOS نیز بیت‌مپ‌های زیر در دسترس هستند: ``'application'``، ``'accessory'``، ``'folder'``، ``'pfolder'``، ``'trash'``، ``'floppy'``، ``'ramdisk'``، ``'cdrom'``، ``'preferences'``، ``'querydoc'``، ``'stop'``، ``'note'`` و ``'caution'``. برای مشخص کردن یک پرونده‌ی بیت‌مپ X، مسیر کامل پرونده را بدهید که پیش از آن یک ``@`` قرار گرفته باشد، مانند ``\"@/usr/contrib/bitmap/gumby.bit\"``." msgid "boolean" msgstr "بولی" -msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." -msgstr "می‌توانید اعداد صحیح 0 یا 1 یا رشته‌های ``\"yes\"`` یا ``\"no\"`` را ارسال کنید." +msgid "You can pass the integers 0 or 1, ``True`` or ``False``, or the strings ``\"0\"``, ``\"1\"``, ``\"yes\"``, ``\"no\"``, ``\"true\"``, ``\"false\"``, ``\"on\"`` or ``\"off\"``. The strings are matched ignoring case, and an unambiguous prefix, such as ``\"t\"``, is enough. Any non-zero integer means true." +msgstr "می‌توانید اعداد صحیح ۰ یا ۱، ``True`` یا ``False``، یا رشته‌های ``\"0\"``، ``\"1\"``، ``\"yes\"``، ``\"no\"``، ``\"true\"``، ``\"false\"``، ``\"on\"`` یا ``\"off\"`` را ارسال کنید. تطبیق رشته‌ها با صرف‌نظر از بزرگ و کوچک بودن حروف انجام می‌شود و یک پیشوند غیرمبهم، مانند ``\"t\"``، کافی است. هر عدد صحیح غیرصفری به معنای درست است." msgid "callback" msgstr "کال‌بک" -msgid "This is any Python function that takes no arguments. For example::" -msgstr "این هر تابع پایتونی است که هیچ آرگومانی نمی‌گیرد. برای مثال::" +msgid "This is any callable object. Most callbacks take no arguments. For example::" +msgstr "این هر شیء فراخوانی‌پذیری است. بیشتر کال‌بک‌ها هیچ آرگومانی نمی‌پذیرند. برای نمونه::" msgid "" "def print_it():\n" @@ -796,11 +796,20 @@ msgstr "" " print(\"hi there\")\n" "fred[\"command\"] = print_it" +msgid "Some options call it with arguments, such as the *command* option of :class:`Scale`, which is called with the new value." +msgstr "برخی گزینه‌ها آن را با آرگومان‌هایی فراخوانی می‌کنند، مانند گزینه‌ی *command* در کلاس :class:`Scale` که با مقدار جدید فراخوانی می‌شود." + msgid "color" msgstr "رنگ" -msgid "Colors can be given as the names of X colors in the rgb.txt file, or as strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: ``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: ``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex digit. See the :manpage:`colors(3tk)` man page for the list of named colors." -msgstr "می‌توان رنگ‌ها را به‌صورت نام رنگ‌های X در پرونده rgb.txt، یا به‌صورت رشته‌هایی که نشان‌دهنده مقادیر RGB در بازه‌های ۴ بیتی: ``\"#RGB\"``، ۸ بیتی: ``\"#RRGGBB\"``، ۱۲ بیتی: ``\"#RRRGGGBBB\"`` یا ۱۶ بیتی: ``\"#RRRRGGGGBBBB\"`` هستند، مشخص کرد؛ در اینجا R، G و B نماینده هر رقم مبنای شانزده معتبر هستند. برای فهرست رنگ‌های نام‌گذاری‌شده، صفحه راهنمای :manpage:`colors(3tk)` را ببینید." +msgid "Colors can be given as symbolic names, such as ``\"red\"`` or ``\"light blue\"``, or as strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: ``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: ``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex digit. Tk provides a portable set of symbolic names available on all platforms; they are matched ignoring case and spaces, so ``\"light blue\"``, ``\"Light Blue\"`` and ``\"lightblue\"`` are the same color. The full list of names, including the platform-specific names of the current system colors (for example ``\"systemButtonFace\"`` on Windows or ``\"systemWindowBody\"`` on macOS), is given in the :manpage:`colors(3tk)` manual page. :meth:`~tkinter.Misc.winfo_rgb` returns the red, green and blue components of a color." +msgstr "رنگ‌ها را می‌توان به صورت نام‌های نمادین، مانند ``\"red\"`` یا ``\"light blue\"``، یا به صورت رشته‌هایی که مقادیر RGB را در محدوده‌های ۴ بیتی: ``\"#RGB\"``، ۸ بیتی: ``\"#RRGGBB\"``، ۱۲ بیتی: ``\"#RRRGGGBBB\"`` یا ۱۶ بیتی: ``\"#RRRRGGGGBBBB\"`` نشان می‌دهند، ارائه کرد که در اینجا R ،G و B نمایانگر هر رقم هگز مجاز هستند. کتابخانه‌ی Tk مجموعه‌ی قابل‌حملی از نام‌های نمادین را فراهم می‌کند که در تمام پلتفرم‌ها در دسترس هستند؛ تطبیق آن‌ها با صرف‌نظر از بزرگی و کوچکی حروف و فاصله‌ها انجام می‌شود، بنابراین ``\"light blue\"``، ``\"Light Blue\"`` و ``\"lightblue\"`` یک رنگ هستند. فهرست کامل نام‌ها، از جمله نام‌های مختص پلتفرمِ رنگ‌های سیستم فعلی (برای نمونه ``\"systemButtonFace\"`` در ویندوز یا ``\"systemWindowBody\"`` در macOS)، در صفحه‌ی راهنمای :manpage:`colors(3tk)` آمده است. متد :meth:`~tkinter.Misc.winfo_rgb` اجزای قرمز، سبز و آبی یک رنگ را برمی‌گرداند." + +msgid "compound" +msgstr "compound" + +msgid "Determines how to combine an image and a text displayed in a widget. Legal values are ``\"none\"`` (display the image if there is one, otherwise the text), ``\"text\"``, ``\"image\"``, ``\"center\"`` (display the text in the center of the image) and ``\"top\"``, ``\"bottom\"``, ``\"left\"``, ``\"right\"`` (display the image above, below, to the left of or to the right of the text). The themed widgets accept all these values, the classic widgets accept all except ``\"text\"`` and ``\"image\"``." +msgstr "تعیین می‌کند که چگونه یک تصویر و یک متن نمایش‌داده‌شده در یک ابزارک با یکدیگر ترکیب شوند. مقادیر مجاز عبارتند از ``\"none\"`` (نمایش تصویر در صورت وجود، در غیر این صورت متن)، ``\"text\"``، ``\"image\"``، ``\"center\"`` (نمایش متن در مرکز تصویر) و ``\"top\"``، ``\"bottom\"``، ``\"left\"``، ``\"right\"`` (نمایش تصویر در بالا، پایین، سمت چپ یا سمت راست متن). ابزارک‌های پوسته‌ای تمام این مقادیر را می‌پذیرند، ابزارک‌های کلاسیک همه به جز ``\"text\"`` و ``\"image\"`` را می‌پذیرند." msgid "cursor" msgstr "مکان‌نما" @@ -817,14 +826,8 @@ msgstr "فاصله‌های صفحه را می‌توان به‌صورت پیک msgid "font" msgstr "قلم" -msgid "Tk uses a font description such as ``{courier 10 bold}``; in :mod:`!tkinter` this is most naturally passed as a tuple of ``(family, size, *styles)`` (or as the equivalent string ``\"Courier 10 bold\"``). Font sizes with positive numbers are measured in points; sizes with negative numbers are measured in pixels." -msgstr "Tk از یک توصیف قلم مانند ``{courier 10 bold}`` استفاده می‌کند؛ در :mod:`!tkinter` این مورد به‌طور طبیعی به‌صورت تاپلی از ``(family, size, *styles)`` (یا به‌صورت رشته‌ی معادل ``\"Courier 10 bold\"``) ارسال می‌شود. اندازه‌های قلم با اعداد مثبت بر حسب نقطه اندازه‌گیری می‌شوند؛ اندازه‌ها با اعداد منفی بر حسب پیکسل اندازه‌گیری می‌شوند." - -msgid "geometry" -msgstr "هندسه" - -msgid "This is a string of the form ``widthxheight``, where width and height are measured in pixels for most widgets (in characters for widgets displaying text). For example: ``fred[\"geometry\"] = \"200x100\"``." -msgstr "این یک رشته به شکل ``widthxheight`` است، که در آن عرض و ارتفاع برای بیشتر ابزارک‌ها بر حسب پیکسل اندازه‌گیری می‌شوند (برای ابزارک‌هایی که متن نمایش می‌دهند، بر حسب نویسه). برای مثال: ``fred[\"geometry\"] = \"200x100\"``." +msgid "Tk uses a font description such as ``{courier 10 bold}``; in :mod:`!tkinter` this is most naturally passed as a tuple of ``(family, size, *styles)`` (or as the equivalent string ``\"Courier 10 bold\"``). Font sizes with positive numbers are measured in points; sizes with negative numbers are measured in pixels. The name of a named font, such as ``\"TkDefaultFont\"``, a :class:`tkinter.font.Font` instance, or, on X11, an XLFD font name can be used as well." +msgstr "کتابخانه‌ی Tk از توصیف قلمی مانند ``{courier 10 bold}`` استفاده می‌کند؛ در ماژول :mod:`!tkinter` این کار به‌طور طبیعی‌تر به صورت یک تاپل از ``(family, size, *styles)`` (یا به صورت رشته‌ی معادل ``\"Courier 10 bold\"``) ارسال می‌شود. اندازه‌های قلم با اعداد مثبت بر اساس نقطه (point) اندازه‌گیری می‌شوند؛ اندازه‌ها با اعداد منفی بر اساس پیکسل اندازه‌گیری می‌شوند. نام یک قلم نام‌گذاری‌شده، مانند ``\"TkDefaultFont\"``، یک نمونه از :class:`tkinter.font.Font`، یا در X11، نام یک قلم XLFD نیز می‌تواند استفاده شود." msgid "justify" msgstr "تراز کردن" @@ -832,11 +835,23 @@ msgstr "تراز کردن" msgid "Legal values are the strings: ``\"left\"``, ``\"center\"``, and ``\"right\"``." msgstr "مقادیر مجاز، رشته‌های زیر هستند: ``\"left\"``، ``\"center\"`` و ``\"right\"``." +msgid "orient" +msgstr "جهت" + +msgid "Legal values are ``\"horizontal\"`` and ``\"vertical\"``." +msgstr "مقادیر مجاز عبارتند از ``\"horizontal\"`` و ``\"vertical\"``." + +msgid "padding" +msgstr "پُرکننده" + +msgid "This is a legal distance (see above), applied on all sides, or a sequence of up to four distances specifying the left, top, right and bottom padding. If fewer than four are specified, the bottom padding defaults to the top one, the right one to the left one, and the top one to the left one. It is only supported by the themed widgets." +msgstr "این یک فاصله‌ی مجاز (مشاهده در بالا) است که در تمام طرف‌ها اعمال می‌شود، یا دنباله‌ای از حداکثر چهار فاصله است که پُرکننده‌ی چپ، بالا، راست و پایین را مشخص می‌کند. اگر کمتر از چهار مقدار مشخص شود، پُرکننده‌ی پایین به صورت پیش‌فرض از مقدار بالایی، پُرکننده‌ی راست از چپ، و پُرکننده‌ی بالا از چپ پیروی می‌کند. این گزینه فقط توسط ابزارک‌های پوسته‌بندی‌شده پشتیبانی می‌شود." + msgid "region" msgstr "ناحیه" -msgid "This is a string with four space-delimited elements, each of which is a legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i 2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." -msgstr "این یک رشته با چهار عنصر جداشده با فاصله است که هر کدام یک فاصله‌ی معتبر است (بالا را ببینید). برای مثال: ``\"2 3 4 5\"`` و ``\"3i 2i 4.5i 2i\"`` و ``\"3c 2c 4c 10.43c\"`` همگی ناحیه‌های معتبر هستند." +msgid "Used for the *scrollregion* option of :class:`Canvas`. This is a string with four space-delimited elements, each of which is a legal distance (see above), or a sequence of four such elements. For example: ``\"2 3 4 5\"``, ``(2, 3, 4, 5)``, ``\"3i 2i 4.5i 2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." +msgstr "برای گزینه‌ی *scrollregion* در :class:`Canvas` استفاده می‌شود. این یک رشته با چهار عنصر جداشده با فاصله است که هر کدام یک فاصله‌ی مجاز (مشاهده در بالا) یا دنباله‌ای از چهار عنصر این‌چینی است. برای مثال: ``\"2 3 4 5\"``، ``(2, 3, 4, 5)``، ``\"3i 2i 4.5i 2i\"`` و ``\"3c 2c 4c 10.43c\"`` همگی ناحیه‌های مجازی هستند." msgid "relief" msgstr "برجستگی" @@ -850,11 +865,17 @@ msgstr "scrollcommand" msgid "This is almost always the :meth:`!set` method of some scrollbar widget, but can be any widget method that takes a single argument." msgstr "این تقریباً همیشه متد :meth:`!set`\\ یک ابزارک نوار پیمایش است، اما می‌تواند هر متدی از یک ابزارک باشد که یک آرگومان می‌پذیرد." +msgid "state" +msgstr "وضعیت" + +msgid "Legal values are ``\"normal\"``, ``\"disabled\"`` and, depending on the widget, also ``\"active\"``, ``\"hidden\"`` (for :class:`Canvas` items) or ``\"readonly\"`` (for :class:`Entry`, :class:`Spinbox` and the themed widgets). The themed widgets have in addition a more general set of states, which is manipulated with :meth:`ttk.Widget.state `." +msgstr "مقادیر مجاز عبارتند از ``\"normal\"``، ``\"disabled\"`` و بسته به ابزارک، همچنین ``\"active\"``، ``\"hidden\"`` (برای آیتم‌های :class:`Canvas`) یا ``\"readonly\"`` (برای :class:`Entry`، :class:`Spinbox` و ابزارک‌های پوسته‌بندی‌شده). ابزارک‌های پوسته‌بندی‌شده علاوه بر این دارای مجموعه‌ی عمومی‌تری از وضعیت‌ها هستند که با :meth:`ttk.Widget.state ` دستکاری می‌شوند." + msgid "wrap" msgstr "دربرگرفتن" -msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." -msgstr "باید یکی از موارد زیر باشد: ``\"none\"``، ``\"char\"`` یا ``\"word\"``." +msgid "Must be one of ``\"none\"``, ``\"char\"`` or ``\"word\"`` for the :class:`Text` widget and its tags; for a tag an empty string means to use the widget's value." +msgstr "برای ابزارک :class:`Text` و برچسب‌های آن باید یکی از مقادیر ``\"none\"``، ``\"char\"`` یا ``\"word\"`` باشد؛ برای یک برچسب، رشته‌ی خالی به معنای استفاده از مقدار ابزارک است." msgid "Bindings and events" msgstr "اتصال‌ها و رویدادها" @@ -942,9 +963,6 @@ msgstr "keysym" msgid "%s" msgstr "%s" -msgid "state" -msgstr "وضعیت" - msgid "%N" msgstr "%N" @@ -1140,8 +1158,8 @@ msgstr ":meth:`config` نام مستعار :meth:`!configure` است." msgid "Return a list of the names of all configuration options of this widget." msgstr "فهرستی از نام‌های تمام گزینه‌های پیکربندی این ابزارک را برمی‌گرداند." -msgid "Interpret the string *s* as a Tcl boolean and return the corresponding :class:`bool`. Tcl accepts values such as ``'1'``, ``'0'``, ``'yes'``, ``'no'``, ``'true'`` and ``'false'``. Raise :exc:`ValueError` if *s* is not a valid boolean." -msgstr "رشته *s* را به‌عنوان یک بولی Tcl تفسیر می‌کند و :class:`bool` متناظر را برمی‌گرداند. Tcl مقادیری مانند ``'1'``، ``'0'``، ``'yes'``، ``'no'``، ``'true'`` و ``'false'`` را می‌پذیرد. اگر *s* یک بولی معتبر نباشد، :exc:`ValueError` را پرتاب می‌کند." +msgid "Interpret the string *s* as a Tcl boolean and return the corresponding :class:`bool`. Tcl accepts values such as ``'1'``, ``'0'``, ``'yes'``, ``'no'``, ``'true'``, ``'false'``, ``'on'`` and ``'off'``. Raise :exc:`ValueError` if *s* is not a valid boolean." +msgstr "رشته‌ی *s* را به عنوان یک مقدار بولی Tcl تفسیر کرده و :class:`bool` متناظر را برمی‌گرداند. Tcl مقادیری مانند ``'1'``، ``'0'``، ``'yes'``، ``'no'``، ``'true'``، ``'false'``، ``'on'`` و ``'off'`` را می‌پذیرد. اگر *s* یک مقدار بولی معتبر نباشد، استثنای :exc:`ValueError` را بالا بیاورید." msgid "Interpret the string *s* as a Tcl floating-point number and return it as a :class:`float`. Raise :exc:`ValueError` if *s* is not a valid number." msgstr "رشته‌ی *s* را به‌عنوان یک عدد ممیز شناور Tcl تفسیر می‌کند و آن را به‌صورت یک :class:`float` برمی‌گرداند. اگر *s* یک عدد معتبر نباشد، :exc:`ValueError` پرتاب می‌شود." @@ -1582,8 +1600,8 @@ msgstr "اگر ابزارک وجود داشته باشد، مقدار true و د msgid "Return a floating-point value giving the number of pixels in the widget corresponding to the screen distance *number* (for example, ``\"2.0c\"`` or ``\"1i\"``). The result may be fractional; for a rounded integer value use :meth:`winfo_pixels`." msgstr "یک مقدار ممیز شناور برمی‌گرداند که تعداد پیکسل‌های ابزارک معادل فاصله‌ی صفحه‌نمایش *number* را نشان می‌دهد (برای مثال، ``\"2.0c\"`` یا ``\"1i\"``). نتیجه ممکن است کسری باشد؛ برای یک مقدار عدد صحیح گرد شده از :meth:`winfo_pixels` استفاده کنید." -msgid "Return the geometry of the widget, in the form ``widthxheight+x+y``. All dimensions are in pixels. An offset can be negative; see :meth:`~Wm.geometry`." -msgstr "هندسه‌ی ابزارک را به‌صورت ``widthxheight+x+y`` برمی‌گرداند. تمام ابعاد بر حسب پیکسل هستند. یک آفست می‌تواند منفی باشد؛ به :meth:`~Wm.geometry` مراجعه کنید." +msgid "Return the geometry of the widget, in the form ``widthxheight+x+y``. All dimensions are in pixels. The position is relative to the parent widget; use :meth:`winfo_rootx` and :meth:`winfo_rooty` for the position on the screen. An offset can be negative; see :meth:`~Wm.geometry`." +msgstr "هندسه‌ی ابزارک را در قالب ``widthxheight+x+y`` برمی‌گرداند. تمام ابعاد بر حسب پیکسل هستند. موقعیت نسبت به ابزارک والد است؛ برای موقعیت روی صفحه از :meth:`winfo_rootx` و :meth:`winfo_rooty` استفاده کنید. یک آفست می‌تواند منفی باشد؛ :meth:`~Wm.geometry` را ببینید." msgid "Return the height of the widget in pixels. When a window is first created its height is 1 pixel; it is eventually changed by a geometry manager. See also :meth:`winfo_reqheight`." msgstr "ارتفاع ابزارک را بر حسب پیکسل برمی‌گرداند. هنگامی که یک پنجره برای نخستین بار ایجاد می‌شود، ارتفاع آن ۱ پیکسل است؛ این مقدار در نهایت توسط یک مدیر چیدمان تغییر می‌کند. همچنین :meth:`winfo_reqheight` را ببینید." @@ -2143,8 +2161,8 @@ msgstr "موقعیت افقی نما را دریافت یا تغییر می‌د msgid "Adjust the view so that *fraction* of the total width of the document is off-screen to the left. *fraction* is a number between 0 and 1." msgstr "نما را به‌گونه‌ای تنظیم کنید که *fraction* از عرض کل سند در سمت چپ، خارج از صفحه قرار گیرد. *fraction* عددی بین ۰ و ۱ است." -msgid "Shift the view left or right by *number* units. *what* is either ``'units'`` or ``'pages'``; a negative *number* scrolls left and a positive one scrolls right." -msgstr "نما را به اندازه‌ی *number* واحد به چپ یا راست جابه‌جا کنید. *what* می‌تواند ``'units'`` یا ``'pages'`` باشد؛ *number* منفی باعث پیمایش به چپ و *number* مثبت باعث پیمایش به راست می‌شود." +msgid "Shift the view left or right by *number* units. *what* is either ``'units'`` or ``'pages'``; a negative *number* scrolls left and a positive one scrolls right. The :class:`Text` widget accepts also ``'pixels'``, and then *number* can be a screen distance, such as ``'1i'``." +msgstr "نما را به اندازه‌ی *number* واحد به چپ یا راست جابه‌جا کنید. *what* یا ``'units'`` است یا ``'pages'``؛ مقدار منفی *number* به چپ اسکرول می‌کند و مقدار مثبت به راست اسکرول می‌کند. ابزارک :class:`Text` همچنین ``'pixels'`` را می‌پذیرد و در این صورت *number* می‌تواند یک فاصله‌ی روی صفحه مانند ``'1i'`` باشد." msgid "Mix-in providing the vertical-scrolling interface shared by widgets such as :class:`Canvas`, :class:`Listbox` and :class:`Text`. A widget's :meth:`yview` method is registered as the *command* of a vertical :class:`Scrollbar`." msgstr "میکس‌اینرابط پیمایش عمودی مشترک میان ابزارک‌هایی مانند :class:`Canvas`، :class:`Listbox` و :class:`Text` را فراهم می‌کند. متد :meth:`yview` یک ابزارک به‌عنوان *فرمان* یک :class:`Scrollbar` عمودی ثبت می‌شود." @@ -2155,8 +2173,8 @@ msgstr "موقعیت عمودی نما را پرس‌وجو می‌کند یا msgid "Adjust the view so that *fraction* of the total height of the document is off-screen above the top. *fraction* is a number between 0 and 1." msgstr "نما را طوری تنظیم کنید که *fraction* از ارتفاع کل سند در بالای صفحه خارج از دید باشد. *fraction* عددی بین ۰ و ۱ است." -msgid "Shift the view up or down by *number* units. *what* is either ``'units'`` or ``'pages'``; a negative *number* scrolls up and a positive one scrolls down." -msgstr "نما را به اندازه‌ی *number* واحد به بالا یا پایین جابه‌جا کنید. *what* یکی از ``'units'`` یا ``'pages'`` است؛ *number* منفی به بالا پیمایش می‌کند و مقدار مثبت به پایین پیمایش می‌کند." +msgid "Shift the view up or down by *number* units. *what* is either ``'units'`` or ``'pages'``; a negative *number* scrolls up and a positive one scrolls down. The :class:`Text` widget accepts also ``'pixels'``, and then *number* can be a screen distance, such as ``'1i'``." +msgstr "نما را به اندازه‌ی *number* واحد به بالا یا پایین جابه‌جا کنید. *what* یا ``'units'`` است یا ``'pages'``؛ مقدار منفی *number* به بالا اسکرول می‌کند و مقدار مثبت به پایین اسکرول می‌کند. ابزارک :class:`Text` همچنین ``'pixels'`` را می‌پذیرد و در این صورت *number* می‌تواند یک فاصله‌ی روی صفحه مانند ``'1i'`` باشد." msgid "Internal base class for all widgets. It inherits from :class:`Misc` and adds the machinery that creates the underlying Tk widget; application code normally uses :class:`Widget` or a concrete widget class rather than instantiating :class:`!BaseWidget` directly." msgstr "کلاس پایه‌ی داخلی برای همه‌ی ابزارک‌ها. این کلاس از :class:`Misc` ارث‌بری می‌کند و سازوکار ایجاد ابزارک Tk زیربنایی را می‌افزاید؛ کد برنامه معمولاً به‌جای نمونه‌سازی مستقیم :class:`!BaseWidget` از :class:`Widget` یا یک کلاس ابزارک مشخص استفاده می‌کند." @@ -2503,8 +2521,8 @@ msgstr "اندازه‌ای که باید به پنجره اختصاص داده msgid "``oval`` and ``rectangle`` items have no type-specific options; they use only the standard item options." msgstr "آیتم‌های ``oval`` و ``rectangle`` گزینه‌های مختص نوع ندارند؛ آن‌ها فقط از گزینه‌های استاندارد آیتم استفاده می‌کنند." -msgid "Tk 8.6 added the *angle* option and Tk 9.0 added the *underline* option for ``text`` items." -msgstr "گزینه‌ی *angle* در Tk 8.6 و گزینه‌ی *underline* در Tk 9.0 برای آیتم‌های ``text`` افزوده شدند." +msgid "Tk 8.6 added the *angle* option for ``text`` items." +msgstr "نسخه‌ی Tk 8.6 گزینه‌ی *angle* را برای آیتم‌های ``text`` اضافه کرد." msgid "Query or modify the coordinates of an item. With only *tagOrId*, return a list of the floating-point coordinates of the item given by *tagOrId* (the first matching item if it matches several). Given new coordinates, replace the coordinates of that item with them; like the ``create_*`` methods, the coordinates may be given as separate numbers, as a single sequence, or as coordinate pairs. The returned coordinates are always in pixels, regardless of the units used to specify them; for rectangles, ovals and arcs they are ordered left, top, right, bottom." msgstr "مختصات یک آیتم را بازیابی یا تغییر دهید. اگر تنها *tagOrId* داده شود، فهرستی از مختصات ممیز شناور آیتم مشخص‌شده با *tagOrId* برمی‌گرداند (اولین آیتم منطبق، اگر چندین آیتم منطبق وجود داشته باشد). اگر مختصات جدید داده شود، مختصات آن آیتم با آن‌ها جایگزین می‌شود؛ مانند متدهای ``create_*``، می‌توان مختصات را به‌صورت اعداد جداگانه، به‌صورت یک دنباله واحد، یا به‌صورت جفت‌های مختصات داد. مختصات برگردانده‌شده همیشه بر حسب پیکسل هستند، صرف‌نظر از واحدهای استفاده‌شده برای مشخص کردن آن‌ها؛ برای مستطیل‌ها، بیضی‌ها و کمان‌ها، به ترتیب چپ، بالا، راست، پایین مرتب شده‌اند." @@ -3106,8 +3124,8 @@ msgstr "یک float بین ۰ و ۱ برمی‌گرداند که نشان می‌ msgid "Return the name of the element under the pixel coordinates *x*, *y* (such as ``'arrow1'``), or an empty string if the point does not lie in any element of the scrollbar." msgstr "نام عنصر واقع در مختصات پیکسلی *x*، *y* (مانند ``'arrow1'``) را برمی‌گرداند، یا اگر نقطه در هیچ عنصری از نوار پیمایش قرار نداشته باشد، یک رشته خالی برمی‌گرداند." -msgid "A :class:`!Spinbox` widget is an :class:`Entry`-like widget with a pair of up/down arrow buttons that let the user step through a range of values in addition to editing the value directly. The set of values may be a numeric range given by the *from_*, *to* and *increment* options, or an explicit list of strings given by the *values* option (which takes precedence over the range). Each time an arrow is invoked the *command* callback, if any, is called; the *wrap* option controls whether stepping past either end of the range wraps around to the other end; the *format* option specifies how numeric values are formatted; and the *validate* option enables validation of the entered text. Inherits from :class:`Widget` and :class:`XView`." -msgstr "ابزارک :class:`!Spinbox` یک ابزارک شبیه :class:`Entry` با یک جفت دکمه‌ی پیکان بالا/پایین است که به کاربر امکان می‌دهد علاوه بر ویرایش مستقیم مقدار، یک بازه از مقادیر را گام‌به‌گام بپیماید. مجموعه‌ی مقادیر ممکن است یک بازه عددی تعیین‌شده با گزینه‌های *from_*، *to* و *increment* یا فهرست صریحی از رشته‌ها تعیین‌شده با گزینه *values* باشد (که بر بازه مقدم است). هر بار که یکی از پیکان‌ها فراخوانی شود، کال‌بک *command*، در صورت وجود، فراخوانی می‌شود؛ گزینه *wrap* کنترل می‌کند که آیا با گام برداشتن از فراتر از هر یک از دو سر بازه، مقدار به سر دیگر می‌پیچد یا خیر؛ گزینه *format* مشخص می‌کند که مقادیر عددی چگونه قالب‌بندی می‌شوند؛ و گزینه *validate* اعتبارسنجی متن واردشده را فعال می‌کند. این ابزارک از :class:`Widget` و :class:`XView` ارث می‌برد." +msgid "A :class:`!Spinbox` widget is an :class:`Entry`-like widget with a pair of up/down arrow buttons that let the user step through a range of values in addition to editing the value directly. The set of values may be a numeric range given by the *from_*, *to* and *increment* options, or an explicit list of strings given by the *values* option (which takes precedence over the range). Each time an arrow is invoked the *command* callback, if any, is called; the boolean *wrap* option controls whether stepping past either end of the range wraps around to the other end; the *format* option specifies how numeric values are formatted; and the *validate* option enables validation of the entered text. Inherits from :class:`Widget` and :class:`XView`." +msgstr "یک ابزارک :class:`!Spinbox` ابزارکی شبیه به :class:`Entry` است که یک جفت دکمه‌ی پیکان بالا/پایین دارد و به کاربر اجازه می‌دهد علاوه بر ویرایش مستقیم مقدار، در محدوده‌ای از مقادیر گام بردارد. مجموعه‌ی مقادیر می‌تواند یک بازه‌ی عددی باشد که توسط گزینه‌های *from_*، *to* و *increment* داده شده است، یا یک فهرست صریح از رشته‌ها که توسط گزینه‌ی *values* ارائه شده است (که نسبت به بازه اولویت دارد). هر بار که یک پیکان فراخوانی می‌شود، تابع کال‌بک *command* (در صورت وجود) فراخوانی می‌شود؛ گزینه‌ی بولی *wrap* کنترل می‌کند که آیا عبور از هر انتهای بازه به انتهای دیگر می‌پیچد یا خیر؛ گزینه‌ی *format* نحوه قالب‌بندی مقادیر عددی را مشخص می‌کند؛ و گزینه‌ی *validate* اعتبارسنجی متن واردشده را فعال می‌کند. از :class:`Widget` و :class:`XView` ارث‌بری می‌کند." msgid "With a non-integer *increment*, see :ref:`numeric values and the locale `." msgstr "در صورت غیر عدد صحیح بودن *increment*، :ref:`numeric values and the locale ` را ببینید." @@ -3280,8 +3298,8 @@ msgstr "*offset*" msgid "How far the text is raised above (or, if negative, lowered below) the baseline, for superscripts and subscripts." msgstr "میزانی که متن بالاتر از خط کرسی (یا، اگر منفی باشد، پایین‌تر از آن) قرار می‌گیرد، برای بالانویس‌ها و زیرنویس‌ها." -msgid "Whether to underline the text." -msgstr "اینکه آیا متن زیرخط‌دار شود یا خیر." +msgid "Whether to underline the text (a boolean)." +msgstr "اینکه آیا متن زیرخط‌دار شود (یک مقدار بولی)." msgid "*underlinefg*" msgstr "*underlinefg*" @@ -3412,8 +3430,8 @@ msgstr "یک تاپل از نام‌های همه‌ی تصاویر تعبیه msgid "This shadows the inherited :meth:`Misc.image_names`, which returns the names of all images in the Tcl interpreter; that method is not available on a :class:`Text`." msgstr "این، متد موروثی :meth:`Misc.image_names` را می‌پوشاند، که نام تمام تصاویر در مفسر Tcl را برمی‌گرداند؛ آن متد برای یک :class:`Text` در دسترس نیست." -msgid "Embed a window (any widget) at *index*. The options, given in *cnf* and *kw*, include *window* (the widget to embed), *create* (a callback that creates the widget on demand), *align*, *stretch*, *padx* and *pady*. The embedded widget must be a descendant of the text widget's parent." -msgstr "یک پنجره (هر ابزارکی) را در *index* تعبیه کنید. گزینه‌های داده‌شده در *cnf* و *kw* شامل *window* (ابزارکی که باید تعبیه شود)، *create* (یک کال‌بک که ابزارک را در صورت نیاز ایجاد می‌کند)، *align*، *stretch*، *padx* و *pady* می‌شوند. ابزارک تعبیه‌شده باید زیرمجموعه‌ای از والد ابزارک متنی باشد." +msgid "Embed a window (any widget) at *index*. The options, given in *cnf* and *kw*, include *window* (the widget to embed), *create* (a callback that creates the widget on demand), *align*, the boolean *stretch* (whether the widget is stretched vertically to the height of the line), *padx* and *pady*. The embedded widget must be a descendant of the text widget's parent." +msgstr "یک پنجره (هر ابزارکی) را در *index* تعبیه کنید. گزینه‌های ارائه شده در *cnf* و *kw* عبارتند از *window* (ابزارکی که باید تعبیه شود)، *create* (یک کال‌بک که ابزارک را بر اساس تقاضا ایجاد می‌کند)، *align*، گزینه‌ی بولی *stretch* (اینکه آیا ابزارک به صورت عمودی به ارتفاع سطر کشیده می‌شود یا خیر)، *padx* و *pady*. ابزارک تعبیه‌شده باید فرزندی از والد ابزارک متن باشد." msgid "Return the current value of the configuration option *option* for the embedded window at *index*." msgstr "مقدار فعلی گزینه‌ی پیکربندی *option* را برای پنجره‌ی تعبیه‌شده در اندیس *index* برمی‌گرداند." @@ -3763,8 +3781,8 @@ msgstr "از ایجاد یک پنجره‌ی ریشه‌ی پیش‌فرض ضم msgid "Run the Tk main event loop on the default root window until all windows are destroyed. Equivalent to calling :meth:`Misc.mainloop` on the default root." msgstr "حلقه اصلی رویداد Tk را روی پنجره ریشه پیش‌فرض اجرا کنید تا همه پنجره‌ها نابود شوند. معادل فراخوانی :meth:`Misc.mainloop` روی ریشه پیش‌فرض است." -msgid "Convert the Tcl boolean string *s* (one of ``'1'``, ``'true'``, ``'yes'``, ``'on'`` and similar, or their false counterparts) to a Python :class:`bool`. Raise :exc:`TclError` for an invalid value." -msgstr "رشته‌ی بولی Tcl *s* (یکی از ``'1'``، ``'true'``، ``'yes'``، ``'on'`` و مشابه آن‌ها، یا معادل‌های نادرست آن‌ها) را به :class:`bool` پایتون تبدیل می‌کند. برای یک مقدار نامعتبر، :exc:`TclError` را پرتاب می‌کند." +msgid "Convert the Tcl boolean string *s* (one of ``'1'``, ``'true'``, ``'yes'``, ``'on'`` and similar, or their false counterparts) to a Python :class:`bool`. Raise :exc:`ValueError` for an invalid value." +msgstr "رشته‌ی بولی Tcl یعنی *s* (یکی از ``'1'``، ``'true'``، ``'yes'``، ``'on'`` و موارد مشابه، یا معادل‌های نادرست آن‌ها) را به :class:`bool` پایتون تبدیل کنید. برای یک مقدار نامعتبر، استثنای :exc:`ValueError` را بالا بیاورید." msgid "Convert *s* to a floating-point number. This is the built-in :class:`float`." msgstr "*s* را به یک عدد ممیز شناور تبدیل می‌کند. این همان :class:`float` توکار است." @@ -3903,3 +3921,21 @@ msgstr "اتصال (ابزارک‌ها)" msgid "events (widgets)" msgstr "رویدادها (ابزارک‌ها)" + +#~ msgid "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center\"``." +#~ msgstr "مقادیر مجاز، جهت‌های قطب‌نما هستند: ``\"n\"``، ``\"ne\"``، ``\"e\"``، ``\"se\"``، ``\"s\"``، ``\"sw\"``، ``\"w\"``، ``\"nw\"`` و همچنین ``\"center\"``." + +#~ msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." +#~ msgstr "می‌توانید اعداد صحیح 0 یا 1 یا رشته‌های ``\"yes\"`` یا ``\"no\"`` را ارسال کنید." + +#~ msgid "Colors can be given as the names of X colors in the rgb.txt file, or as strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: ``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: ``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex digit. See the :manpage:`colors(3tk)` man page for the list of named colors." +#~ msgstr "می‌توان رنگ‌ها را به‌صورت نام رنگ‌های X در پرونده rgb.txt، یا به‌صورت رشته‌هایی که نشان‌دهنده مقادیر RGB در بازه‌های ۴ بیتی: ``\"#RGB\"``، ۸ بیتی: ``\"#RRGGBB\"``، ۱۲ بیتی: ``\"#RRRGGGBBB\"`` یا ۱۶ بیتی: ``\"#RRRRGGGGBBBB\"`` هستند، مشخص کرد؛ در اینجا R، G و B نماینده هر رقم مبنای شانزده معتبر هستند. برای فهرست رنگ‌های نام‌گذاری‌شده، صفحه راهنمای :manpage:`colors(3tk)` را ببینید." + +#~ msgid "geometry" +#~ msgstr "هندسه" + +#~ msgid "This is a string of the form ``widthxheight``, where width and height are measured in pixels for most widgets (in characters for widgets displaying text). For example: ``fred[\"geometry\"] = \"200x100\"``." +#~ msgstr "این یک رشته به شکل ``widthxheight`` است، که در آن عرض و ارتفاع برای بیشتر ابزارک‌ها بر حسب پیکسل اندازه‌گیری می‌شوند (برای ابزارک‌هایی که متن نمایش می‌دهند، بر حسب نویسه). برای مثال: ``fred[\"geometry\"] = \"200x100\"``." + +#~ msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." +#~ msgstr "باید یکی از موارد زیر باشد: ``\"none\"``، ``\"char\"`` یا ``\"word\"``." diff --git a/library/tokenize.po b/library/tokenize.po index 40d9e49d5..63dd9e86b 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 08:31+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -34,8 +34,8 @@ msgstr "**کد منبع:** :source:`Lib/tokenize.py`" msgid "The :mod:`!tokenize` module provides a lexical scanner for Python source code, implemented in Python. The scanner in this module returns comments as tokens as well, making it useful for implementing \"pretty-printers\", including colorizers for on-screen displays." msgstr "ماژول :mod:`!tokenize` یک پویشگر واژگانی برای کد منبع پایتون فراهم می‌کند که با پایتون پیاده‌سازی شده است. پویشگر این ماژول کامنت‌ها را نیز به‌صورت توکن برمی‌گرداند و به همین دلیل برای پیاده‌سازی «زیبانویس»ها، از جمله رنگ‌آمیزکننده‌های نمایش روی صفحه، مفید است." -msgid "To simplify token stream handling, all :ref:`operator ` and :ref:`delimiter ` tokens and :data:`Ellipsis` are returned using the generic :data:`~token.OP` token type. The exact type can be determined by checking the ``exact_type`` property on the :term:`named tuple` returned from :func:`tokenize.tokenize`." -msgstr "برای ساده‌سازی مدیریت جریان توکن، تمام توکن‌های :ref:`عملگر ` و :ref:`جداکننده ` و :data:`Ellipsis` با استفاده از نوع توکن عام :data:`~token.OP` برگردانده می‌شوند. نوع دقیق را می‌توان با بررسی ویژگی ``exact_type`` روی :term:`named tuple` برگشتی از :func:`tokenize.tokenize` تعیین کرد." +msgid "To simplify token stream handling, all :ref:`operator ` and :ref:`delimiter ` tokens and :data:`Ellipsis` are returned using the generic :data:`~token.OP` token type. The :attr:`TokenInfo.exact_type` property gives the exact token type." +msgstr "برای ساده‌سازی مدیریت جریان توکن‌ها، تمام توکن‌های :ref:`عملگر ` و :ref:`جداکننده ` و همچنین :data:`Ellipsis` با استفاده از نوع توکن عام :data:`~token.OP` بازگردانده می‌شوند. ویژگی :attr:`TokenInfo.exact_type` نوع دقیق توکن را می‌دهد." msgid "Note that the functions in this module are only designed to parse syntactically valid Python code (code that does not raise when parsed using :func:`ast.parse`). The behavior of the functions in this module is **undefined** when providing invalid Python code and it can change at any point." msgstr "توجه داشته باشید که توابع این ماژول فقط برای تجزیه کد پایتون معتبر از نظر سینتکسی طراحی شده‌اند (کدی که هنگام تجزیه با استفاده از :func:`ast.parse` استثنایی پرتاب نمی‌کند). رفتار توابع این ماژول در صورت ارائه کد پایتون نامعتبر **تعریف‌نشده** است و ممکن است در هر زمانی تغییر کند." @@ -49,17 +49,11 @@ msgstr "نقطه ورود اصلی یک :term:`تولیدگر ` اس msgid "The :func:`.tokenize` generator requires one argument, *readline*, which must be a callable object which provides the same interface as the :meth:`io.IOBase.readline` method of file objects. Each call to the function should return one line of input as bytes." msgstr "تولیدگر :func:`.tokenize` به یک آرگومان، *readline*، نیاز دارد که باید یک شیء فراخوانی‌پذیر باشد و همان رابط متد :meth:`io.IOBase.readline` اشیای پرونده را فراهم کند. هر فراخوانی این تابع باید یک سطر از ورودی را به‌صورت بایت برگرداند." -msgid "The generator produces 5-tuples with these members: the token type; the token string; a 2-tuple ``(srow, scol)`` of ints specifying the row and column where the token begins in the source; a 2-tuple ``(erow, ecol)`` of ints specifying the row and column where the token ends in the source; and the line on which the token was found. The line passed (the last tuple item) is the *physical* line. The 5 tuple is returned as a :term:`named tuple` with the field names: ``type string start end line``." -msgstr "این تولیدگر، تاپل‌های ۵تایی را با این اعضا تولید می‌کند: نوع توکن؛ رشته‌ی توکن؛ یک تاپل ۲تایی ``(srow, scol)`` از اعداد صحیح که ردیف و ستون آغاز توکن در منبع را مشخص می‌کند؛ یک تاپل ۲تایی ``(erow, ecol)`` از اعداد صحیح که ردیف و ستون پایان توکن در منبع را مشخص می‌کند؛ و سطری که توکن در آن یافت شد. سطر ارسال‌شده (آخرین آیتم تاپل) خط *فیزیکی* است. این تاپل ۵تایی به‌صورت یک :term:`named tuple` با نام فیلدها: ``type string start end line`` بازگشت داده می‌شود." +msgid "The generator produces :class:`TokenInfo` objects." +msgstr "این تولیدگر اشیای :class:`TokenInfo` را تولید می‌کند." -msgid "The returned :term:`named tuple` has an additional property named ``exact_type`` that contains the exact operator type for :data:`~token.OP` tokens. For all other token types ``exact_type`` equals the named tuple ``type`` field." -msgstr ":term:`named tuple` برگردانده‌شده یک ویژگی اضافی به نام ``exact_type`` دارد که شامل نوع دقیق عملگر برای توکن‌های :data:`~token.OP` است. برای همه‌ی انواع دیگر توکن، ``exact_type`` برابر با فیلد ``type`` در named tuple است." - -msgid "Added support for named tuples." -msgstr "پشتیبانی از تاپل‌های نام‌دار (named tuples) اضافه شد." - -msgid "Added support for ``exact_type``." -msgstr "پشتیبانی از ``exact_type`` افزوده شد." +msgid "Changed to yield :class:`TokenInfo` objects instead of plain tuples." +msgstr "تغییر کرد تا به‌جای تاپل‌های ساده، اشیای :class:`TokenInfo` را بازگرداند (yield کند)." msgid ":func:`.tokenize` determines the source encoding of the file by looking for a UTF-8 BOM or encoding cookie, according to :pep:`263`." msgstr ":func:`.tokenize` کدگذاری منبع پرونده را با جست‌وجوی BOM UTF-8 یا کوکی کدگذاری، طبق :pep:`263` تعیین می‌کند." @@ -70,8 +64,41 @@ msgstr "یک منبع را با خواندن رشته‌های یونیکد به msgid "Like :func:`.tokenize`, the *readline* argument is a callable returning a single line of input. However, :func:`generate_tokens` expects *readline* to return a str object rather than bytes." msgstr "مانند :func:`.tokenize`، آرگومان *readline* یک شیء فراخوانی‌پذیر است که یک سطر ورودی را برمی‌گرداند. با این حال، :func:`generate_tokens` انتظار دارد که *readline* به‌جای bytes یک شیء str برگرداند." -msgid "The result is an iterator yielding named tuples, exactly like :func:`.tokenize`. It does not yield an :data:`~token.ENCODING` token." -msgstr "نتیجه یک پیمایش‌گر است که تاپل‌های نام‌دار تولید می‌کند، دقیقاً مانند :func:`.tokenize`. این پیمایش‌گر توکن :data:`~token.ENCODING` را تولید نمی‌کند." +msgid "The result is an iterator yielding :class:`TokenInfo` objects, exactly like :func:`.tokenize`. It does not yield an :data:`~token.ENCODING` token." +msgstr "نتیجه یک پیمایش‌گر است که اشیای :class:`TokenInfo` را تولید می‌کند، دقیقاً مانند :func:`.tokenize`. این تابع یک توکن :data:`~token.ENCODING` تولید نمی‌کند." + +msgid "A :term:`named tuple` describing a token. It has five fields and an additional :attr:`exact_type` property." +msgstr "یک :term:`تاپل نام‌دار ` که یک توکن را توصیف می‌کند. این شیء دارای پنج فیلد و یک ویژگی :attr:`exact_type` اضافی است." + +msgid "An integer identifying the token type, as defined by the constants in :mod:`token`, such as :data:`~token.NAME` and :data:`~token.STRING`. Operators and delimiters have type :data:`~token.OP`; use :attr:`exact_type` for their specific token type." +msgstr "یک عدد صحیح که نوع توکن را مشخص می‌کند، همان‌طور که توسط ثابت‌های موجود در ماژول :mod:`token` مانند :data:`~token.NAME` و :data:`~token.STRING` تعریف شده است. عملگرها و جداکننده‌ها دارای نوع :data:`~token.OP` هستند؛ از :attr:`exact_type` برای نوع توکن خاص آن‌ها استفاده کنید." + +msgid "The token text as a :class:`str`. For :data:`~token.STRING` tokens, this includes the quotes, any prefix, and escape sequences, without evaluating them." +msgstr "متن توکن به صورت :class:`str`. برای توکن‌های :data:`~token.STRING`، این شامل نقل‌قول‌ها، هر پیشوند و دنباله‌های گریز می‌شود، بدون اینکه آن‌ها را ارزیابی کند." + +msgid "For an :data:`~token.ENCODING` token, this is the encoding name. Tokens inserted without corresponding source text can have an empty string. In :data:`~token.FSTRING_MIDDLE` and :data:`~token.TSTRING_MIDDLE` tokens, doubled braces are replaced by single braces." +msgstr "برای یک توکن :data:`~token.ENCODING`، این نام کدگذاری است. توکن‌هایی که بدون متن منبع متناظر درج می‌شوند می‌توانند یک رشته‌ی خالی داشته باشند. در توکن‌های :data:`~token.FSTRING_MIDDLE` و :data:`~token.TSTRING_MIDDLE`، آکولادهای دوتایی با آکولادهای تکی جایگزین می‌شوند." + +msgid "A 2-tuple ``(srow, scol)`` of ints specifying the inclusive start position of the token in the source. Rows are numbered from 1 and columns from 0. Columns count Unicode code points; a tab counts as one column, without expanding it to a tab stop." +msgstr "یک ۲-تایی ``(srow, scol)`` از اعداد صحیح که موقعیت شروع فراگیر توکن را در منبع مشخص می‌کند. ردیف‌ها از ۱ و ستون‌ها از 0 شماره‌گذاری می‌شوند. ستون‌ها نقطه‌کدهای یونیکد را می‌شمارند؛ یک تب به عنوان یک ستون محسوب می‌شود، بدون اینکه آن را به یک توقف تب گسترش دهد." + +msgid "For an :data:`~token.ENCODING` token, this is ``(0, 0)``." +msgstr "برای یک توکن :data:`~token.ENCODING`، این مقدار ``(0, 0)`` است." + +msgid "A 2-tuple ``(erow, ecol)`` of ints specifying the exclusive end position of the token. Rows are numbered from 1 and columns from 0. For a token spanning multiple lines, *erow* is the final row and *ecol* is the column on that row." +msgstr "یک ۲-تاپل ``(erow, ecol)`` از اعداد صحیح که موقعیت پایانی انحصاری توکن را مشخص می‌کند. ردیف‌ها از ۱ و ستون‌ها از ۰ شماره‌گذاری می‌شوند. برای توکنی که چندین سطر را در بر می‌گیرد، *erow* ردیف نهایی و *ecol* ستون واقع در آن ردیف است." + +msgid "For example, the name ``spam`` at the beginning of the first line has :attr:`start` equal to ``(1, 0)`` and :attr:`end` equal to ``(1, 4)``." +msgstr "برای مثال، نام ``spam`` در ابتدای سطر اول دارای :attr:`start` برابر با ``(1, 0)`` و :attr:`end` برابر با ``(1, 4)`` است." + +msgid "For an :data:`~token.ENCODING` token, this is ``(0, 0)``. A :data:`~token.NEWLINE` or :data:`~token.NL` token inserted at the end of input without a final newline can have an end column one beyond the source text." +msgstr "برای یک توکن :data:`~token.ENCODING`، این مقدار برابر با ``(0, 0)`` است. یک توکن :data:`~token.NEWLINE` یا :data:`~token.NL` که در انتهای ورودی بدون نویسه‌ی جدید (newline) نهایی درج شده باشد، می‌تواند ستون پایانی را یک واحد فراتر از متن منبع داشته باشد." + +msgid "A :class:`str` containing the full source line on which the token was found, including surrounding text and the line terminator if present. For a token spanning multiple lines, this can contain several source lines. It is empty for :data:`~token.ENCODING` and :data:`~token.ENDMARKER` tokens." +msgstr "یک :class:`str` حاوی سطر منبع کاملی که توکن در آن پیدا شده است، شامل متن پیرامون و پایان‌دهنده‌ی سطر (در صورت وجود). برای توکنی که چندین سطر را در بر می‌گیرد، این مورد می‌تواند شامل چندین سطر منبع باشد. این مقدار برای توکن‌های :data:`~token.ENCODING` و :data:`~token.ENDMARKER` خالی است." + +msgid "An integer identifying the specific operator type for :data:`~token.OP` tokens, as defined by the constants in :mod:`token`. For all other token types, this equals :attr:`type`. For example, a ``+`` token has :attr:`type` equal to :data:`~token.OP` and :attr:`exact_type` equal to :data:`~token.PLUS`." +msgstr "یک عدد صحیح که نوع عملگر خاص را برای توکن‌های :data:`~token.OP`، همان‌طور که توسط ثابت‌های موجود در :mod:`token` تعریف شده است، شناسایی می‌کند. برای سایر انواع توکن‌ها، این مقدار برابر با :attr:`type` است. برای مثال، یک توکن ``+`` دارای :attr:`type` برابر با :data:`~token.OP` و :attr:`exact_type` برابر با :data:`~token.PLUS` است." msgid "All constants from the :mod:`token` module are also exported from :mod:`!tokenize`." msgstr "تمام ثابت‌های ماژول :mod:`token` نیز از :mod:`!tokenize` اکسپورت می‌شوند." @@ -382,3 +409,15 @@ msgstr "" " tokens = tokenize.tokenize(f.readline)\n" " for token in tokens:\n" " print(token)" + +#~ msgid "The generator produces 5-tuples with these members: the token type; the token string; a 2-tuple ``(srow, scol)`` of ints specifying the row and column where the token begins in the source; a 2-tuple ``(erow, ecol)`` of ints specifying the row and column where the token ends in the source; and the line on which the token was found. The line passed (the last tuple item) is the *physical* line. The 5 tuple is returned as a :term:`named tuple` with the field names: ``type string start end line``." +#~ msgstr "این تولیدگر، تاپل‌های ۵تایی را با این اعضا تولید می‌کند: نوع توکن؛ رشته‌ی توکن؛ یک تاپل ۲تایی ``(srow, scol)`` از اعداد صحیح که ردیف و ستون آغاز توکن در منبع را مشخص می‌کند؛ یک تاپل ۲تایی ``(erow, ecol)`` از اعداد صحیح که ردیف و ستون پایان توکن در منبع را مشخص می‌کند؛ و سطری که توکن در آن یافت شد. سطر ارسال‌شده (آخرین آیتم تاپل) خط *فیزیکی* است. این تاپل ۵تایی به‌صورت یک :term:`named tuple` با نام فیلدها: ``type string start end line`` بازگشت داده می‌شود." + +#~ msgid "The returned :term:`named tuple` has an additional property named ``exact_type`` that contains the exact operator type for :data:`~token.OP` tokens. For all other token types ``exact_type`` equals the named tuple ``type`` field." +#~ msgstr ":term:`named tuple` برگردانده‌شده یک ویژگی اضافی به نام ``exact_type`` دارد که شامل نوع دقیق عملگر برای توکن‌های :data:`~token.OP` است. برای همه‌ی انواع دیگر توکن، ``exact_type`` برابر با فیلد ``type`` در named tuple است." + +#~ msgid "Added support for named tuples." +#~ msgstr "پشتیبانی از تاپل‌های نام‌دار (named tuples) اضافه شد." + +#~ msgid "Added support for ``exact_type``." +#~ msgstr "پشتیبانی از ``exact_type`` افزوده شد." diff --git a/library/traceback.po b/library/traceback.po index 85e823be8..18b650c80 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 13:06+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -56,9 +56,6 @@ msgstr "توابع سطح ماژول که عملکرد پایه‌ای ارائ msgid ":class:`TracebackException` class and its helper classes :class:`StackSummary` and :class:`FrameSummary`. These offer both more flexibility in the output generated and the ability to store the information necessary for later formatting without holding references to actual exception and traceback objects." msgstr "کلاس :class:`TracebackException` و کلاس‌های کمکی آن :class:`StackSummary` و :class:`FrameSummary`. این کلاس‌ها هم انعطاف‌پذیری بیشتر در خروجی تولیدشده و هم توانایی ذخیره‌ی اطلاعات لازم برای قالب‌بندی بعدی را بدون نگه‌داشتن ارجاع به اشیاء واقعی استثنا و ردگیری پشته ارائه می‌دهند." -msgid "Output is colorized by default and can be :ref:`controlled using environment variables `." -msgstr "خروجی به‌طور پیش‌فرض رنگی است و می‌توان آن را :ref:`با استفاده از متغیرهای محیطی کنترل کرد `." - msgid "Module-Level Functions" msgstr "توابع سطح ماژول" @@ -752,3 +749,6 @@ msgstr "^ (نشانک)" msgid "marker" msgstr "نشانگر" + +#~ msgid "Output is colorized by default and can be :ref:`controlled using environment variables `." +#~ msgstr "خروجی به‌طور پیش‌فرض رنگی است و می‌توان آن را :ref:`با استفاده از متغیرهای محیطی کنترل کرد `." diff --git a/library/turtle.po b/library/turtle.po index c6096efdf..3f2180dbb 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -8,12 +8,13 @@ # Danial Behzadi , 2025 # Rafael Fontenelle , 2025 # Sepehr Rasouli , 2026 +# mahdyaralipor , 2026 # msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-29 04:09+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-21 13:27+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -78,6 +79,15 @@ msgstr "from turtle import *" msgid "If you run into a ``No module named '_tkinter'`` error, you'll have to install the :mod:`Tk interface package ` on your system." msgstr "اگر با خطای ``No module named '_tkinter'`` مواجه شدید، باید :mod:`بسته‌ی رابط Tk ` را روی سیستم خود نصب کنید." +msgid "Nothing appears yet. To open the turtle window, make the turtle visible::" +msgstr "هنوز هیچ چیزی ظاهر نشده است. برای باز کردن پنجره‌ی turtle، لاک‌پشت را نمایان کنید::" + +msgid "showturtle()" +msgstr "showturtle()" + +msgid "A new window opens, with the turtle in the middle, shown as an arrow heading East." +msgstr "یک پنجره‌ی جدید باز می‌شود، با یک لاک‌پشت در وسط، که به‌عنوان یک پیکان رو به شرق نمایش داده می‌شود." + msgid "Basic drawing" msgstr "ترسیم مقدماتی" @@ -87,8 +97,8 @@ msgstr "لاک‌پشت را ۱۰۰ گام به جلو بفرستید::" msgid "forward(100)" msgstr "forward(100)" -msgid "You should see (most likely, in a new window on your display) a line drawn by the turtle, heading East. Change the direction of the turtle, so that it turns 120 degrees left (anti-clockwise)::" -msgstr "باید (به‌احتمال زیاد، در یک پنجره‌ی جدید روی نمایشگر شما) سطری را ببینید که لاک‌پشت آن را رو به شرق رسم کرده است. جهت لاک‌پشت را تغییر دهید تا ۱۲۰ درجه به چپ (خلاف جهت عقربه‌های ساعت) بچرخد::" +msgid "You should see a line drawn by the turtle, heading East. Change the direction of the turtle, so that it turns 120 degrees left (anti-clockwise)::" +msgstr "باید سطری را ببینید که لاک‌پشت آن را رو به شرق رسم کرده است. جهت لاک‌پشت را تغییر دهید تا ۱۲۰ درجه به چپ (خلاف جهت عقربه‌های ساعت) بچرخد::" msgid "left(120)" msgstr "left(120)" @@ -341,8 +351,11 @@ msgstr "" msgid "a boolean" msgstr "یک بولی" -msgid "Move turtle to an absolute position. Unlike goto(x, y), a line will not be drawn. The turtle's orientation does not change. If currently filling, the polygon(s) teleported from will be filled after leaving, and filling will begin again after teleporting. This can be disabled with fill_gap=True, which makes the imaginary line traveled during teleporting act as a fill barrier like in goto(x, y)." -msgstr "لاک‌پشت را به یک موقعیت مطلق منتقل می‌کند. برخلاف goto(x, y)، سطری رسم نخواهد شد. جهت لاک‌پشت تغییر نمی‌کند. اگر در حال حاضر در حال پر کردن باشید، چندضلعی(هایی) که انتقال فوری از آن‌ها انجام شده است پس از ترک آن‌ها پر خواهند شد، و پر کردن پس از انتقال فوری دوباره آغاز می‌شود. این رفتار را می‌توان با fill_gap=True غیرفعال کرد، که باعث می‌شود خط فرضی طی‌شده در حین انتقال فوری مانند goto(x, y) به‌عنوان سد پر کردن عمل کند." +msgid "Teleport, or instantly move, the turtle to an absolute position. Unlike :func:`goto`, no line is drawn. If *x* or *y* is not given, that coordinate is kept as it is. The turtle's heading does not change." +msgstr "لاک‌پشت (turtle) را به یک موقعیت مطلق منتقل کنید، یا فوراً حرکت دهید. برخلاف :func:`goto`، هیچ خطی رسم نمی‌شود. اگر *x* یا *y* داده نشود، آن مختصات به همان صورت حفظ می‌شود. سردرِ لاک‌پشت (turtle) تغییر نمی‌کند." + +msgid "If the turtle is filling a shape, the shape drawn so far is finished and filled before teleporting, and filling starts again at the new position. Pass ``fill_gap=True`` to keep filling one shape instead. The teleport then counts as an edge of the shape, as it would with :func:`goto`." +msgstr "اگر لاک‌پشت (turtle) در حال پر کردن یک شکل باشد، شکل رسم‌شده تا این لحظه، قبل از انتقال کامل شده و پر می‌شود و پر کردن دوباره در موقعیت جدید آغاز می‌شود. برای ادامه‌ی پر کردن یک شکل، ``fill_gap=True`` را ارسال کنید. سپس انتقال مانند :func:`goto` به عنوان یک ضلع از شکل محاسبه می‌شود." msgid "" ">>> tp = turtle.pos()\n" @@ -511,14 +524,14 @@ msgstr "" ">>> turtle.heading()\n" "180.0" -msgid "an integer >= 1 (if given)" -msgstr "یک عدد صحیح بزرگ‌تر یا مساوی ۱ (در صورت داده شدن)" +msgid "a positive integer or ``None``" +msgstr "یک عدد صحیح (integer) مثبت یا ``None``" msgid "a colorstring or a numeric color tuple" msgstr "یک رشته‌ی رنگ یا یک تاپل عددی رنگ" -msgid "Draw a circular dot with diameter *size*, using *color*. If *size* is not given, the maximum of ``pensize+4`` and ``2*pensize`` is used." -msgstr "با استفاده از *color*، یک نقطه‌ی دایره‌ای به قطر *size* رسم کنید. اگر *size* داده نشود، از بیشینه‌ی ``pensize+4`` و ``2*pensize`` استفاده می‌شود." +msgid "Draw a circular dot with diameter *size*, using *color*. If *size* is not given, the larger of ``pensize + 4`` and ``2 * pensize`` is used. If *color* is not given, the current pencolor is used." +msgstr "با استفاده از *color*، یک نقطه‌ی دایره‌ای با قطر *size* رسم کنید. اگر *size* داده نشود، بزرگ‌ترین مقدار بین ``pensize + 4`` و ``2 * pensize`` استفاده می‌شود. اگر *color* داده نشود، رنگ قلم فعلی به کار می‌رود." msgid "" ">>> turtle.home()\n" @@ -615,35 +628,29 @@ msgstr "" ">>> for i in range(8):\n" "... turtle.undo()" -msgid "an integer in the range 0..10 or a speedstring (see below)" -msgstr "یک عدد صحیح در بازه‌ی ۰..۱۰ یا یک رشته‌ی سرعت (speedstring) (در زیر ببینید)" - -msgid "Set the turtle's speed to an integer value in the range 0..10. If no argument is given, return current speed." -msgstr "سرعت لاک‌پشت را روی یک مقدار عدد صحیح در بازه‌ی ۰ تا ۱۰ تنظیم می‌کند. اگر آرگومانی داده نشود، سرعت فعلی را برمی‌گرداند." +msgid "an integer, a string or ``None``" +msgstr "یک عدد صحیح (integer)، یک رشته (string) یا ``None``" -msgid "If input is a number greater than 10 or smaller than 0.5, speed is set to 0. Speedstrings are mapped to speedvalues as follows:" -msgstr "اگر ورودی عددی بزرگ‌تر از ۱۰ یا کوچک‌تر از ۰٫۵ باشد، سرعت روی ۰ تنظیم می‌شود. رشته‌های سرعت به مقدارهای سرعت به‌صورت زیر نگاشت می‌شوند:" +msgid "Return or set the turtle's speed. If *speed* is not given, return the current speed. Otherwise set the turtle's speed to an integer from 0 to 10. If *speed* is a number greater than 10 or smaller than 0.5, the speed is set to 0. You can also use these names instead of numbers:" +msgstr "سرعت لاک‌پشت (turtle) را برگردانید یا تنظیم کنید. اگر *speed* داده نشود، سرعت فعلی برگردانده می‌شود. در غیر این صورت، سرعت لاک‌پشت (turtle) را روی یک عدد صحیح (integer) از 0 تا 10 تنظیم کنید. اگر *speed* عددی بزرگ‌تر از 10 یا کوچک‌تر از 0.5 باشد، سرعت روی 0 تنظیم می‌شود. همچنین می‌توانید به‌جای اعداد از این نام‌ها استفاده کنید:" -msgid "\"fastest\": 0" -msgstr "\"fastest\": 0" +msgid "\"fastest\": 0" +msgstr "\"fastest\": 0" -msgid "\"fast\": 10" -msgstr "\"fast\": 10" +msgid "\"fast\": 10" +msgstr "\"fast\": 10" -msgid "\"normal\": 6" -msgstr "\"normal\": 6" +msgid "\"normal\": 6" +msgstr "\"normal\": 6" -msgid "\"slow\": 3" -msgstr "\"slow\": 3" +msgid "\"slow\": 3" +msgstr "\"slow\": 3" -msgid "\"slowest\": 1" -msgstr "\"slowest\": 1" +msgid "\"slowest\": 1" +msgstr "\"slowest\": 1" -msgid "Speeds from 1 to 10 enforce increasingly faster animation of line drawing and turtle turning." -msgstr "سرعت‌های ۱ تا ۱۰، پویانمایی رسم خط و چرخش لاک‌پشت را به‌طور فزاینده‌ای سریع‌تر می‌کنند." - -msgid "Attention: *speed* = 0 means that *no* animation takes place. forward/back makes turtle jump and likewise left/right make the turtle turn instantly." -msgstr "توجه: *speed* = ۰ به این معناست که *هیچ* پویانمایی‌ای رخ نمی‌دهد. forward/back باعث پرش لاک‌پشت می‌شود و به همین ترتیب left/right باعث چرخش آنی لاک‌پشت می‌شود." +msgid "Speeds from 1 to 10 give increasingly faster animation of line drawing and turtle turning. A speed of 0 means that no animation takes place: :func:`forward` and :func:`back` make the turtle jump, and likewise :func:`left` and :func:`right` make the turtle turn instantly." +msgstr "سرعت‌های بین 1 تا 10 پویانمایی سریع‌تری برای رسم خط و چرخش لاک‌پشت (turtle) فراهم می‌کنند. سرعت 0 به این معناست که هیچ پویانمایی‌ای انجام نمی‌شود: :func:`forward` و :func:`back` باعث پرش لاک‌پشت (turtle) می‌شوند و به همین ترتیب :func:`left` و :func:`right` باعث چرخش آنی لاک‌پشت (turtle) می‌شوند." msgid "" ">>> turtle.speed()\n" @@ -831,17 +838,17 @@ msgstr "" msgid "Drawing state" msgstr "وضعیت ترسیم" -msgid "Pull the pen down -- drawing when moving." -msgstr "قلم را پایین بکشید -- هنگام حرکت ترسیم می‌کند." +msgid "Lower the pen. The turtle draws a line when it moves." +msgstr "قلم را پایین بیاورید. لاک‌پشت (turtle) هنگام حرکت، یک خط رسم می‌کند." -msgid "Pull the pen up -- no drawing when moving." -msgstr "قلم را بالا بکشید — هنگام حرکت، ترسیمی انجام نمی‌شود." +msgid "Lift the pen. The turtle does not draw when it moves." +msgstr "قلم را بالا ببرید. لاک‌پشت (turtle) هنگام حرکت چیزی رسم نمی‌کند." -msgid "a positive number" -msgstr "یک عدد مثبت" +msgid "a positive number or ``None``" +msgstr "یک عدد مثبت یا ``None``" -msgid "Set the line thickness to *width* or return it. If resizemode is set to \"auto\" and turtleshape is a polygon, that polygon is drawn with the same line thickness. If no argument is given, the current pensize is returned." -msgstr "ضخامت خط را روی *width* تنظیم می‌کند یا آن را بازمی‌گرداند. اگر resizemode روی \"auto\" تنظیم شده باشد و turtleshape یک چندضلعی باشد، آن چندضلعی با همان ضخامت خط رسم می‌شود. اگر آرگومانی داده نشود، pensize فعلی بازگردانده می‌شود." +msgid "Return or set the line thickness. If *width* is not given, return the current pensize. If resizemode is set to \"auto\" and the turtle shape is a polygon, that polygon is drawn with the same line thickness." +msgstr "ضخامت خط را برگردانید یا تنظیم کنید. اگر *width* داده نشود، اندازه‌ی قلم فعلی برگردانده می‌شود. اگر resizemode روی «auto» تنظیم شده باشد و شکل لاک‌پشت (turtle) یک چندضلعی باشد، آن چندضلعی با همان ضخامت خط رسم می‌شود." msgid "" ">>> turtle.pensize()\n" @@ -925,8 +932,8 @@ msgstr "" ">>> sorted(turtle.pen().items())[:3]\n" "[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]" -msgid "Return ``True`` if pen is down, ``False`` if it's up." -msgstr "اگر قلم پایین باشد، ``True`` و اگر بالا باشد، ``False`` برمی‌گرداند." +msgid "Return ``True`` if the pen is down, ``False`` if it's up." +msgstr "اگر قلم پایین باشد ``True`` و اگر بالا باشد ``False`` را برگردانید." msgid "" ">>> turtle.penup()\n" @@ -955,29 +962,29 @@ msgstr "۴ قالب ورودی مجاز است:" msgid "``pencolor()``" msgstr "``pencolor()``" -msgid "Return the current pencolor as color specification string or as a tuple (see example). May be used as input to another color/pencolor/fillcolor/bgcolor call." -msgstr "رنگ قلم فعلی را به‌صورت رشته مشخصه رنگ یا تاپل برمی‌گرداند (مثال را ببینید). می‌تواند به‌عنوان ورودی برای فراخوانی دیگری از color/pencolor/fillcolor/bgcolor استفاده شود." +msgid "Return the current pencolor as color specification string or as a tuple (see example). May be used as input to another :func:`color`, :func:`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." +msgstr "رنگ قلم فعلی را به‌صورت رشته مشخصه رنگ یا تاپل برمی‌گرداند (مثال را ببینید). می‌تواند به‌عنوان ورودی برای فراخوانی دیگری از :func:`color`، :func:`pencolor`، :func:`fillcolor` یا :func:`bgcolor` استفاده شود." msgid "``pencolor(colorstring)``" msgstr "``pencolor(colorstring)``" -msgid "Set pencolor to *colorstring*, which is a Tk color specification string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." -msgstr "pencolor را به *colorstring* تنظیم می‌کند، که یک رشته‌ی مشخصه‌ی رنگ Tk است، مانند ``\"red\"``، ``\"yellow\"``، یا ``\"#33cc8c\"``." +msgid "Set the pencolor to *colorstring*, which is a Tk color specification string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." +msgstr "رنگ قلم را روی *colorstring* تنظیم کنید؛ که یک رشته‌ی (string) مشخصات رنگ Tk است، مانند ``\"red\"``، ``\"yellow\"``، یا ``\"#33cc8c\"``." msgid "``pencolor((r, g, b))``" msgstr "``pencolor((r, g, b))``" -msgid "Set pencolor to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." -msgstr "رنگ قلم (pencolor) را به رنگ RGB نشان‌داده‌شده با تاپل *r*، *g* و *b* تنظیم می‌کند. هر یک از *r*، *g* و *b* باید در بازه‌ی 0..colormode باشند، که در آن colormode برابر با 1.0 یا 255 است (به :func:`colormode` مراجعه کنید)." +msgid "Set the pencolor to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "رنگ قلم را روی رنگ RGB نشان‌داده‌شده توسط تاپلِ *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید بین 0 و colormode باشند، که در آن colormode برابر با 1.0 یا 255 است (به :func:`colormode` مراجعه کنید)." msgid "``pencolor(r, g, b)``" msgstr "``pencolor(r, g, b)``" -msgid "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode." -msgstr "pencolor را روی رنگ RGB متناظر با *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید در بازه‌ی 0..colormode باشند." +msgid "Set the pencolor to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode." +msgstr "رنگ قلم را روی رنگ RGB مشخص‌شده توسط *r*، *g* و *b* تنظیم کنید. هر کدام از *r*، *g* و *b* باید بین ۰ و colormode باشند." -msgid "If turtleshape is a polygon, the outline of that polygon is drawn with the newly set pencolor." -msgstr "اگر turtleshape یک چندضلعی باشد، خط دور آن چندضلعی با pencolor تازه تنظیم‌شده رسم می‌شود." +msgid "If the turtle shape is a polygon, the outline of that polygon is drawn with the newly set pencolor." +msgstr "اگر شکل لاک‌پشت (turtle) یک چندضلعی باشد، حاشیه‌ی آن چندضلعی با رنگ قلم تازه‌تنظیم‌شده رسم می‌شود." msgid "" ">>> colormode()\n" @@ -1022,29 +1029,29 @@ msgstr "fillcolor را برمی‌گرداند یا تنظیم می‌کند." msgid "``fillcolor()``" msgstr "``fillcolor()``" -msgid "Return the current fillcolor as color specification string, possibly in tuple format (see example). May be used as input to another color/pencolor/fillcolor/bgcolor call." -msgstr "fillcolor فعلی را به‌عنوان رشته مشخصات رنگ برمی‌گرداند، احتمالاً در قالب تاپل (به مثال مراجعه کنید). ممکن است به‌عنوان ورودی برای فراخوانی دیگری از color/pencolor/fillcolor/bgcolor استفاده شود." +msgid "Return the current fillcolor as color specification string, possibly in tuple format (see example). May be used as input to another :func:`color`, :func:`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." +msgstr "fillcolor فعلی را به‌عنوان رشته مشخصات رنگ برمی‌گرداند، احتمالاً در قالب تاپل (به مثال مراجعه کنید). ممکن است به‌عنوان ورودی برای فراخوانی دیگری از :func:`color`، :func:`pencolor`، :func:`fillcolor` یا :func:`bgcolor` استفاده شود." msgid "``fillcolor(colorstring)``" msgstr "``fillcolor(colorstring)``" -msgid "Set fillcolor to *colorstring*, which is a Tk color specification string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." -msgstr "fillcolor را روی *colorstring* تنظیم کنید، که یک رشته مشخص‌کننده رنگ Tk است، مانند ``\"red\"``، ``\"yellow\"`` یا ``\"#33cc8c\"``." +msgid "Set the fillcolor to *colorstring*, which is a Tk color specification string, such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." +msgstr "رنگ پر کردن (fillcolor) را روی *colorstring* تنظیم کنید که یک رشته‌ی مشخصات رنگ Tk است، مانند ``\"red\"``، ``\"yellow\"``، یا ``\"#33cc8c\"``." msgid "``fillcolor((r, g, b))``" msgstr "``fillcolor((r, g, b))``" -msgid "Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." -msgstr "fillcolor را روی رنگ RGB نشان‌داده‌شده با تاپلِ *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید در بازه‌ی 0..colormode باشد، که colormode برابر 1.0 یا 255 است (به :func:`colormode` مراجعه کنید)." +msgid "Set the fillcolor to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "رنگ پر کردن را روی رنگ RGB مشخص‌شده توسط تاپل *r*، *g* و *b* تنظیم کنید. هر کدام از *r*، *g* و *b* باید بین ۰ و colormode باشند، که در آن colormode برابر با ۱.۰ یا ۲۵۵ است (نگاه کنید به :func:`colormode`)." msgid "``fillcolor(r, g, b)``" msgstr "``fillcolor(r, g, b)``" -msgid "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode." -msgstr "fillcolor را روی رنگ RGB متناظر با *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید در بازه‌ی 0..colormode باشد." +msgid "Set the fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode." +msgstr "رنگ پر کردن را روی رنگ RGB مشخص‌شده توسط *r*، *g* و *b* تنظیم کنید. هر کدام از *r*، *g* و *b* باید بین ۰ و colormode باشند." -msgid "If turtleshape is a polygon, the interior of that polygon is drawn with the newly set fillcolor." -msgstr "اگر شکل لاک‌پشت یک چندضلعی باشد، فضای داخلی آن چندضلعی با fillcolor به‌تازگی تنظیم‌شده رسم می‌شود." +msgid "If the turtle shape is a polygon, the interior of that polygon is drawn with the newly set fillcolor." +msgstr "اگر شکل لاک‌پشت (turtle) یک چندضلعی باشد، درون آن چندضلعی با رنگ پر کردن تازه‌تنظیم‌شده رسم می‌شود." msgid "" ">>> turtle.fillcolor(\"violet\")\n" @@ -1071,11 +1078,11 @@ msgstr "" ">>> turtle.fillcolor()\n" "(255.0, 255.0, 255.0)" -msgid "Return or set pencolor and fillcolor." -msgstr "pencolor و fillcolor را برمی‌گرداند یا تنظیم می‌کند." +msgid "Return or set the pencolor and fillcolor." +msgstr "رنگ قلم و رنگ پر کردن را برگردانید یا تنظیم کنید." -msgid "Several input formats are allowed. They use 0 to 3 arguments as follows:" -msgstr "چندین قالب ورودی مجاز است. آن‌ها از ۰ تا ۳ آرگومان به‌صورت زیر استفاده می‌کنند:" +msgid "Several input formats are allowed. They use 0 to 3 arguments as follows:" +msgstr "چندین قالب ورودی مجاز است. آن‌ها از ۰ تا ۳ آرگومان به شرح زیر استفاده می‌کنند:" msgid "``color()``" msgstr "``color()``" @@ -1086,8 +1093,8 @@ msgstr "رنگ قلم فعلی و رنگ پر کردن فعلی را به‌صو msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -msgid "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the given value." -msgstr "ورودی‌ها مانند :func:`pencolor`، هر دو، fillcolor و pencolor، به مقدار داده‌شده تنظیم می‌شوند." +msgid "Inputs as in :func:`pencolor`. Set both the pencolor and the fillcolor to the given value." +msgstr "ورودی‌ها مانند :func:`pencolor` هستند. هم رنگ قلم و هم رنگ پر کردن را روی مقدار داده‌شده تنظیم کنید." msgid "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" @@ -1095,8 +1102,8 @@ msgstr "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))`` msgid "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and analogously if the other input format is used." msgstr "معادل ``pencolor(colorstring1)`` و ``fillcolor(colorstring2)`` است و اگر از قالب ورودی دیگر استفاده شود، به‌طور مشابه عمل می‌کند." -msgid "If turtleshape is a polygon, outline and interior of that polygon is drawn with the newly set colors." -msgstr "اگر turtleshape یک چندضلعی باشد، خط دور و داخل آن چندضلعی با رنگ‌های تازه‌تنظیم‌شده رسم می‌شود." +msgid "If the turtle shape is a polygon, the outline and interior of that polygon are drawn with the newly set colors." +msgstr "اگر شکل لاک‌پشت (turtle) یک چندضلعی باشد، حاشیه و درون آن چندضلعی با رنگ‌های تازه‌تنظیم‌شده رسم می‌شوند." msgid "" ">>> turtle.color(\"red\", \"green\")\n" @@ -1119,8 +1126,8 @@ msgstr "همچنین ببینید: متد Screen به نام :func:`colormode`." msgid "Filling" msgstr "پر کردن" -msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "وضعیت پر کردن را برمی‌گرداند (اگر در حال پر کردن باشد ``True``، در غیر این صورت ``False``)." +msgid "Return ``True`` if the turtle is filling, ``False`` otherwise." +msgstr "اگر لاک‌پشت (turtle) در حال پر کردن باشد، ``True`` را برگردانید، در غیر این صورت ``False`` را برگردانید." msgid "" ">>> turtle.begin_fill()\n" @@ -1173,8 +1180,8 @@ msgstr "پر شدن یا پر نشدن ناحیه‌های هم‌پوشانی msgid "More drawing control" msgstr "کنترل بیشتر ترسیم" -msgid "Delete the turtle's drawings from the screen, re-center the turtle and set variables to the default values." -msgstr "نقاشی‌های لاک‌پشت را از صفحه پاک می‌کند، لاک‌پشت را دوباره در مرکز قرار می‌دهد و متغیرها را روی مقادیر پیش‌فرض تنظیم می‌کند." +msgid "Delete the turtle's drawings and re-center the turtle. The turtle's settings are restored to their default values." +msgstr "نقاشی‌های لاک‌پشت را از صفحه پاک می‌کند، لاک‌پشت را دوباره در مرکز قرار می‌دهد. تنظیمات لاک‌پشت به مقادیر پیش‌فرضش بازگردانده می‌شوند." msgid "" ">>> turtle.goto(0,-22)\n" @@ -1201,8 +1208,8 @@ msgstr "" ">>> turtle.heading()\n" "0.0" -msgid "Delete the turtle's drawings from the screen. Do not move turtle. State and position of the turtle as well as drawings of other turtles are not affected." -msgstr "ترسیمات لاک‌پشت را از صفحه حذف می‌کند. لاک‌پشت را حرکت نمی‌دهد. وضعیت و موقعیت لاک‌پشت و همچنین ترسیمات سایر لاک‌پشت‌ها تحت تأثیر قرار نمی‌گیرند." +msgid "Delete the turtle's drawings from the screen. The state and position of the turtle as well as the drawings of other turtles are not affected." +msgstr "ترسیمات لاک‌پشت را از صفحه حذف می‌کند. وضعیت و موقعیت لاک‌پشت و همچنین ترسیمات سایر لاک‌پشت‌ها تحت تأثیر قرار نمی‌گیرند." msgid "object to be written to the TurtleScreen" msgstr "شیءای که باید در TurtleScreen نوشته شود" @@ -1232,20 +1239,14 @@ msgstr "وضعیت Turtle" msgid "Visibility" msgstr "قابلیت مشاهده" -msgid "Make the turtle invisible. It's a good idea to do this while you're in the middle of doing some complex drawing, because hiding the turtle speeds up the drawing observably." -msgstr "لاک‌پشت را نامرئی کنید. بهتر است این کار را هنگامی که در میانه‌ی انجام یک ترسیم پیچیده هستید انجام دهید، زیرا پنهان کردن لاک‌پشت سرعت ترسیم را به‌طور محسوسی افزایش می‌دهد." - -msgid ">>> turtle.hideturtle()" -msgstr ">>> turtle.hideturtle()" +msgid "Make the turtle invisible. If the pen is down, movement still draws." +msgstr "لاک‌پشت را نامرئی کنید. اگر قلم پایین است، حرکت همچنان رسم می‌کند." msgid "Make the turtle visible." msgstr "لاک‌پشت را نمایان کنید." -msgid ">>> turtle.showturtle()" -msgstr ">>> turtle.showturtle()" - -msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." -msgstr "اگر Turtle نمایش داده شده باشد، ``True`` و اگر پنهان باشد، ``False`` را برمی‌گرداند." +msgid "Return ``True`` if the turtle is visible, ``False`` if it's hidden." +msgstr "اگر لاک‌پشت (turtle) مرئی باشد ``True`` و اگر پنهان باشد ``False`` را برگردانید." msgid "" ">>> turtle.hideturtle()\n" @@ -1265,11 +1266,11 @@ msgstr "" msgid "Appearance" msgstr "ظاهر" -msgid "a string which is a valid shapename" -msgstr "رشته‌ای که یک نام شکل (shapename) معتبر باشد" +msgid "a string or ``None``" +msgstr "یک رشته یا ``None``" -msgid "Set turtle shape to shape with given *name* or, if name is not given, return name of current shape. Shape with *name* must exist in the TurtleScreen's shape dictionary. Initially there are the following polygon shapes: \"arrow\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". To learn about how to deal with shapes see Screen method :func:`register_shape`." -msgstr "شکل لاک‌پشت را به شکل با *name* داده‌شده تنظیم می‌کند یا اگر name داده نشده باشد، نام شکل جاری را برمی‌گرداند. شکل با *name* باید در دیکشنری شکل‌های TurtleScreen وجود داشته باشد. در ابتدا، شکل‌های چندضلعی زیر وجود دارند: \"arrow\"، \"turtle\"، \"circle\"، \"square\"، \"triangle\"، \"classic\". برای آشنایی با نحوه‌ی کار با شکل‌ها، متد :func:`register_shape` از Screen را ببینید." +msgid "Set the turtle shape to the named shape. If *name* is not given, return the name of the current shape. The shape must exist in the :class:`TurtleScreen`'s shape dictionary. Initially there are the following shapes: \"arrow\", \"turtle\", \"circle\", \"square\", \"triangle\" and \"classic\". To add shapes, see the :class:`Screen` method :func:`register_shape`." +msgstr "شکل لاک‌پشت (turtle) را روی شکل نام‌گذاری‌شده تنظیم کنید. اگر *name* داده نشده باشد، نام شکل فعلی را برگردانید. شکل باید در دیکشنری (dictionary) شکل‌های :class:`TurtleScreen` وجود داشته باشد. در ابتدا شکل‌های زیر وجود دارند: \"arrow\"، \"turtle\"، \"circle\"، \"square\"، \"triangle\" و \"classic\". برای افزودن شکل‌ها، نگاه کنید به متد (method) :class:`Screen` یعنی :func:`register_shape`." msgid "" ">>> turtle.shape()\n" @@ -1284,20 +1285,17 @@ msgstr "" ">>> turtle.shape()\n" "'turtle'" -msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "یکی از رشته‌های \"auto\"، \"user\"، \"noresize\"" +msgid "Set the resizemode to \"auto\", \"user\" or \"noresize\". If *rmode* is not given, return the current resizemode. The different resizemodes have the following effects:" +msgstr "حالت تغییر اندازه (resizemode) را روی \"auto\"، \"user\" یا \"noresize\" تنظیم کنید. اگر *rmode* داده نشده باشد، حالت تغییر اندازه‌ی فعلی را برگردانید. حالت‌های مختلف تغییر اندازه تأثیرات زیر را دارند:" -msgid "Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If *rmode* is not given, return current resizemode. Different resizemodes have the following effects:" -msgstr "resizemode را روی یکی از مقادیر زیر تنظیم کنید: \"auto\"، \"user\"، \"noresize\". اگر *rmode* داده نشود، resizemode فعلی برگردانده می‌شود. حالت‌های مختلف resizemode پیامدهای زیر را دارند:" +msgid "\"auto\": the turtle is resized according to the value of :func:`pensize`." +msgstr "\"auto\": اندازه‌ی لاک‌پشت (turtle) بر اساس مقدار :func:`pensize` تغییر می‌کند." -msgid "\"auto\": adapts the appearance of the turtle corresponding to the value of pensize." -msgstr "\"auto\": ظاهر لاک‌پشت را متناسب با مقدار pensize تطبیق می‌دهد." +msgid "\"user\": the turtle is resized according to the stretch factors and outline width, which are set by :func:`shapesize`." +msgstr "\"user\": اندازه‌ی لاک‌پشت (turtle) بر اساس عوامل کشش و عرض حاشیه که توسط :func:`shapesize` تنظیم شده‌اند، تغییر می‌کند." -msgid "\"user\": adapts the appearance of the turtle according to the values of stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." -msgstr "\"user\": ظاهر لاک‌پشت را مطابق با مقادیر stretchfactor و outlinewidth (outline)، که توسط :func:`shapesize` تنظیم می‌شوند، تطبیق می‌دهد." - -msgid "\"noresize\": no adaption of the turtle's appearance takes place." -msgstr "\"noresize\": هیچ سازگاری‌ای برای ظاهر لاک‌پشت انجام نمی‌شود." +msgid "\"noresize\": the turtle is not resized." +msgstr "\"noresize\": اندازه‌ی لاک‌پشت (turtle) تغییر نمی‌کند." msgid "``resizemode(\"user\")`` is called by :func:`shapesize` when used with arguments." msgstr "``resizemode(\"user\")`` توسط :func:`shapesize` در صورتی که با آرگومان‌ها استفاده شود، فراخوانی می‌شود." @@ -1315,11 +1313,20 @@ msgstr "" ">>> turtle.resizemode()\n" "'auto'" -msgid "positive number" -msgstr "عدد مثبت" +msgid "Return or set the turtle's stretch factors and outline width. If no arguments are given, return the current values. Otherwise set resizemode to \"user\", so that the turtle is displayed stretched according to its stretch factors:" +msgstr "عوامل کشش و عرض حاشیه‌ی لاک‌پشت (turtle) را برگردانید یا تنظیم کنید. اگر هیچ آرگومانی داده نشده باشد، مقادیر فعلی را برگردانید. در غیر این صورت، حالت تغییر اندازه را روی \"user\" تنظیم کنید تا لاک‌پشت بر اساس عوامل کشش خود به صورت کشیده نمایش داده شود:" + +msgid "*stretch_wid*: the stretch factor perpendicular to the turtle's heading" +msgstr "*stretch_wid*: عامل کشش عمود بر جهت حرکت لاک‌پشت (turtle)" -msgid "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set resizemode to \"user\". If and only if resizemode is set to \"user\", the turtle will be displayed stretched according to its stretchfactors: *stretch_wid* is stretchfactor perpendicular to its orientation, *stretch_len* is stretchfactor in direction of its orientation, *outline* determines the width of the shape's outline." -msgstr "ویژگی‌های قلم، یعنی ضریب‌های کشیدگی x/y (x/y-stretchfactors) و/یا خط دور (outline)، را برمی‌گرداند یا تنظیم می‌کند. resizemode را روی \"user\" تنظیم می‌کند. اگر و فقط اگر resizemode روی \"user\" تنظیم شده باشد، لاک‌پشت بر اساس ضریب‌های کشیدگی خود به‌صورت کشیده‌شده نمایش داده می‌شود: *stretch_wid* ضریب کشیدگی عمود بر جهت آن است، *stretch_len* ضریب کشیدگی در راستای جهت آن است، و *outline* عرض خط دور شکل را تعیین می‌کند." +msgid "*stretch_len*: the stretch factor in the direction of the turtle's heading" +msgstr "*stretch_len*: عامل کشش در راستای جهت حرکت لاک‌پشت (turtle)" + +msgid "*outline*: the width of the shape's outline" +msgstr "*outline*: عرض حاشیه‌ی شکل" + +msgid "For example, ``shapesize(2, 1)`` makes the turtle twice as wide without changing its length. If only *stretch_wid* is given, *stretch_len* is set to the same value." +msgstr "برای نمونه، ``shapesize(2, 1)`` لاک‌پشت را بدون تغییر طول، دو برابر پهن‌تر می‌کند. اگر تنها پارامتر *stretch_wid* داده شود، *stretch_len* روی همان مقدار تنظیم می‌شود." msgid "" ">>> turtle.shapesize()\n" @@ -1440,17 +1447,17 @@ msgstr "" msgid "Using events" msgstr "استفاده از رویدادها" -msgid "a function with two arguments which will be called with the coordinates of the clicked point on the canvas" -msgstr "تابعی با دو آرگومان که با مختصات نقطه‌ی کلیک‌شده روی بوم فراخوانی خواهد شد" +msgid "a function with two arguments or ``None``" +msgstr "تابعی با دو آرگومان یا ``None``" -msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "شماره‌ی دکمه‌ی ماوس، پیش‌فرض ۱ (دکمه‌ی چپ ماوس)" +msgid "an integer" +msgstr "یک عدد صحیح" -msgid "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise it will replace a former binding" -msgstr "``True`` یا ``False`` — اگر ``True`` باشد، یک اتصال جدید افزوده خواهد شد، در غیر این صورت جایگزین یک اتصال پیشین خواهد شد" +msgid "a boolean or ``None``" +msgstr "یک بولین یا ``None``" -msgid "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, existing bindings are removed. Example for the anonymous turtle, i.e. the procedural way:" -msgstr "*fun* را به رویدادهای کلیک ماوس روی این لاک‌پشت متصل می‌کند. اگر *fun* برابر ``None`` باشد، اتصالات موجود حذف می‌شوند. مثال برای لاک‌پشت ناشناس، یعنی روش رویه‌ای:" +msgid "Bind *fun* to mouse-click events on this turtle. *fun* is called with the coordinates of the clicked point on the canvas. If *fun* is ``None``, existing bindings are removed. *btn* is the number of the mouse button and defaults to 1, the left mouse button. If *add* is ``True``, a new binding is added, otherwise it replaces a former binding. Example for the anonymous turtle, that is, the procedural way:" +msgstr "*fun* را به رویدادهای کلیک ماوس روی این لاک‌پشت متصل کنید. *fun* با مختصات نقطه‌ی کلیک‌شده روی بوم فراخوانی می‌شود. اگر *fun* ``None`` باشد، اتصال‌های موجود حذف می‌شوند. *btn* شماره‌ی دکمه‌ی ماوس است و به‌طور پیش‌فرض ۱ است، یعنی دکمه‌ی چپ ماوس. اگر *add* ``True`` باشد، یک اتصال جدید اضافه می‌شود، در غیر این صورت یک اتصال پیشین را جایگزین می‌کند. مثالی برای لاک‌پشت ناشناس، یعنی روش رویه‌ای:" msgid "" ">>> def turn(x, y):\n" @@ -1465,6 +1472,15 @@ msgstr "" ">>> onclick(turn) # Now clicking into the turtle will turn it.\n" ">>> onclick(None) # event-binding will be removed" +msgid "a function with two arguments which will be called with the coordinates of the clicked point on the canvas" +msgstr "تابعی با دو آرگومان که با مختصات نقطه‌ی کلیک‌شده روی بوم فراخوانی خواهد شد" + +msgid "number of the mouse-button, defaults to 1 (left mouse button)" +msgstr "شماره‌ی دکمه‌ی ماوس، پیش‌فرض ۱ (دکمه‌ی چپ ماوس)" + +msgid "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise it will replace a former binding" +msgstr "``True`` یا ``False`` — اگر ``True`` باشد، یک اتصال جدید افزوده خواهد شد، در غیر این صورت جایگزین یک اتصال پیشین خواهد شد" + msgid "Bind *fun* to mouse-button-release events on this turtle. If *fun* is ``None``, existing bindings are removed." msgstr "*fun* را به رویدادهای رها کردن دکمه ماوس روی این لاک‌پشت متصل کنید. اگر *fun* برابر ``None`` باشد، اتصال‌های موجود حذف می‌شوند." @@ -1518,10 +1534,10 @@ msgstr "" "... turtle.right(60)\n" "... turtle.forward(100)" -msgid "Start recording the vertices of a polygon. Current turtle position is first vertex of polygon." +msgid "Start recording the vertices of a polygon. The current turtle position is the first vertex of the polygon." msgstr "ثبت رأس‌های یک چندضلعی را آغاز کنید. موقعیت فعلی لاک‌پشت، اولین رأس چندضلعی است." -msgid "Stop recording the vertices of a polygon. Current turtle position is last vertex of polygon. This will be connected with the first vertex." +msgid "Stop recording the vertices of a polygon. The current turtle position is the last vertex of the polygon. This will be connected with the first vertex." msgstr "ثبت رأس‌های یک چندضلعی را متوقف می‌کند. موقعیت فعلی لاک‌پشت آخرین رأس چندضلعی است. این به اولین رأس متصل خواهد شد." msgid "Return the last recorded polygon." @@ -1550,18 +1566,21 @@ msgstr "" ">>> p = turtle.get_poly()\n" ">>> register_shape(\"myFavouriteShape\", p)" -msgid "Create and return a clone of the turtle with same position, heading and turtle properties." -msgstr "یک رونوشت (clone) از لاک‌پشت با همان موقعیت، جهت و ویژگی‌های لاک‌پشت ایجاد کرده و بازمی‌گرداند." +msgid "Create and return a clone of the turtle. The clone has the same position, heading and turtle properties." +msgstr "یک رونوشت از لاک‌پشت ایجاد کرده و آن را برمی‌گرداند. رونوشت دارای همان موقعیت، جهت و ویژگی‌های لاک‌پشت است." msgid "" -">>> mick = Turtle()\n" -">>> joe = mick.clone()" +">>> leonel = Turtle()\n" +">>> marco = leonel.clone()" msgstr "" -">>> mick = Turtle()\n" -">>> joe = mick.clone()" +">>> leonel = Turtle()\n" +">>> marco = leonel.clone()" + +msgid "Return the Turtle object itself." +msgstr "خود شیء Turtle را برمی‌گرداند." -msgid "Return the Turtle object itself. Only reasonable use: as a function to return the \"anonymous turtle\":" -msgstr "خود شیء Turtle را برمی‌گرداند. تنها استفاده معقول: به‌عنوان تابعی برای برگرداندن «لاک‌پشت ناشناس»:" +msgid "Call ``getturtle()`` to get the turtle used by functions such as :func:`forward` and :func:`left`:" +msgstr "برای دریافت لاک‌پشتِ مورد استفاده‌ی توابع مانند :func:`forward` و :func:`left`، تابع ``getturtle()`` را فراخوانی کنید:" msgid "" ">>> pet = getturtle()\n" @@ -1588,14 +1607,14 @@ msgstr "" "\n" ">>> ts.bgcolor(\"pink\")" -msgid "Set or disable undobuffer. If *size* is an integer, an empty undobuffer of given size is installed. *size* gives the maximum number of turtle actions that can be undone by the :func:`undo` method/function. If *size* is ``None``, the undobuffer is disabled." -msgstr "بافر لغو (undobuffer) را تنظیم یا غیرفعال کنید. اگر *size* یک عدد صحیح باشد، یک بافر لغو (undobuffer) خالی با اندازه‌ی داده‌شده نصب می‌شود. *size* حداکثر تعداد کنش‌های لاک‌پشت را که می‌توان با متد/تابع :func:`undo` آن‌ها را واگرد کرد، مشخص می‌کند. اگر *size* برابر ``None`` باشد، بافر لغو (undobuffer) غیرفعال می‌شود." +msgid "Set or disable the undo buffer. If *size* is an integer, an empty undo buffer of the given size is installed. *size* is the maximum number of turtle actions that can be undone by :func:`undo`. If *size* is ``None``, the undo buffer is disabled." +msgstr "بافر لغو را تنظیم یا غیرفعال کنید. اگر *size* یک عدد صحیح باشد، یک بافر لغو خالی با اندازه‌ی مشخص‌شده نصب می‌شود. *size* حداکثر تعداد کنش‌های لاک‌پشت است که می‌تواند توسط :func:`undo` لغو شود. اگر *size* مقدار ``None`` باشد، بافر لغو غیرفعال می‌شود." msgid ">>> turtle.setundobuffer(42)" msgstr ">>> turtle.setundobuffer(42)" -msgid "Return number of entries in the undobuffer." -msgstr "تعداد ورودی‌های موجود در بافر لغو (undobuffer) را برمی‌گرداند." +msgid "Return the number of entries in the undo buffer." +msgstr "تعداد ورودی‌های موجود در بافر لغو را برمی‌گرداند." msgid "" ">>> while undobufferentries():\n" @@ -1604,47 +1623,6 @@ msgstr "" ">>> while undobufferentries():\n" "... undo()" -msgid "Compound shapes" -msgstr "شکل‌های ترکیبی" - -msgid "To use compound turtle shapes, which consist of several polygons of different color, you must use the helper class :class:`Shape` explicitly as described below:" -msgstr "برای استفاده از شکل‌های ترکیبی turtle، که از چندین چندضلعی با رنگ‌های متفاوت تشکیل شده‌اند، باید به‌صراحت از کلاس کمکی :class:`Shape` استفاده کنید، همان‌طور که در زیر توضیح داده شده است:" - -msgid "Create an empty Shape object of type \"compound\"." -msgstr "یک شیء Shape خالی از نوع \"compound\" ایجاد کنید." - -msgid "Add as many components to this object as desired, using the :meth:`~Shape.addcomponent` method." -msgstr "هر تعداد کامپوننت که بخواهید، با استفاده از متد :meth:`~Shape.addcomponent` به این شیء اضافه کنید." - -msgid "For example:" -msgstr "برای مثال:" - -msgid "" -">>> s = Shape(\"compound\")\n" -">>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s.addcomponent(poly1, \"red\", \"blue\")\n" -">>> poly2 = ((0,0),(10,-5),(-10,-5))\n" -">>> s.addcomponent(poly2, \"blue\", \"red\")" -msgstr "" -">>> s = Shape(\"compound\")\n" -">>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s.addcomponent(poly1, \"red\", \"blue\")\n" -">>> poly2 = ((0,0),(10,-5),(-10,-5))\n" -">>> s.addcomponent(poly2, \"blue\", \"red\")" - -msgid "Now add the Shape to the Screen's shapelist and use it:" -msgstr "اکنون Shape را به shapelistِ Screen اضافه کنید و از آن استفاده کنید:" - -msgid "" -">>> register_shape(\"myshape\", s)\n" -">>> shape(\"myshape\")" -msgstr "" -">>> register_shape(\"myshape\", s)\n" -">>> shape(\"myshape\")" - -msgid "The :class:`Shape` class is used internally by the :func:`register_shape` method in different ways. The application programmer has to deal with the Shape class *only* when using compound shapes like shown above!" -msgstr "کلاس :class:`Shape` به‌صورت داخلی توسط متد :func:`register_shape` به روش‌های مختلفی استفاده می‌شود. برنامه‌نویس برنامه *فقط* هنگام استفاده از شکل‌های ترکیبی مانند آنچه در بالا نشان داده شد، باید با کلاس Shape سروکار داشته باشد!" - msgid "Screen methods and functions" msgstr "متدها و توابع Screen" @@ -1660,8 +1638,8 @@ msgstr "رنگ پس‌زمینه‌ی TurtleScreen را برمی‌گرداند msgid "``bgcolor()``" msgstr "``bgcolor()``" -msgid "Return the current background color as color specification string or as a tuple (see example). May be used as input to another color/pencolor/fillcolor/bgcolor call." -msgstr "رنگ پس‌زمینه‌ی جاری را به‌صورت یک رشته‌ی مشخصه‌ی رنگ یا یک تاپل برمی‌گرداند (مثال را ببینید). می‌تواند به‌عنوان ورودی در فراخوانی دیگری از color/pencolor/fillcolor/bgcolor استفاده شود." +msgid "Return the current background color as a color specification string or as a tuple (see example). May be used as input to another :func:`color`, :func:`pencolor`, :func:`fillcolor` or :func:`bgcolor` call." +msgstr "رنگ پس‌زمینه‌ی جاری را به‌صورت یک رشته‌ی مشخصه‌ی رنگ یا یک تاپل برمی‌گرداند (مثال را ببینید). می‌تواند به‌عنوان ورودی در فراخوانی دیگری از :func:`color`، :func:`pencolor`، :func:`fillcolor` یا :func:`bgcolor` استفاده شود." msgid "``bgcolor(colorstring)``" msgstr "``bgcolor(colorstring)``" @@ -1672,14 +1650,14 @@ msgstr "رنگ پس‌زمینه را روی *colorstring* تنظیم کنید، msgid "``bgcolor((r, g, b))``" msgstr "``bgcolor((r, g, b))``" -msgid "Set the background color to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." -msgstr "رنگ پس‌زمینه را روی رنگ RGB بیان‌شده با تاپل *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید در بازه‌ی ۰..colormode باشند، که colormode می‌تواند ۱.۰ یا ۲۵۵ باشد (به :func:`colormode` مراجعه کنید)." +msgid "Set the background color to the RGB color represented by the tuple of *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode, where colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "رنگ پس‌زمینه را روی رنگ RGB بیان‌شده با تاپل *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید بین ۰ و colormode باشند، که colormode می‌تواند ۱.۰ یا ۲۵۵ باشد (به :func:`colormode` مراجعه کنید)." msgid "``bgcolor(r, g, b)``" msgstr "``bgcolor(r, g, b)``" -msgid "Set the background color to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be in the range 0..colormode." -msgstr "رنگ پس‌زمینه را روی رنگ RGB نشان‌داده‌شده با *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید در بازه‌ی 0..colormode باشد." +msgid "Set the background color to the RGB color represented by *r*, *g*, and *b*. Each of *r*, *g*, and *b* must be between 0 and colormode." +msgstr "رنگ پس‌زمینه را روی رنگ RGB نشان‌داده‌شده با *r*، *g* و *b* تنظیم کنید. هر یک از *r*، *g* و *b* باید بین ۰ و colormode باشد." msgid "" ">>> screen.bgcolor(\"orange\")\n" @@ -1724,7 +1702,7 @@ msgstr "تمام ترسیم‌ها و تمام لاک‌پشت‌ها را از msgid "This TurtleScreen method is available as a global function only under the name ``resetscreen``. The global function ``reset`` is another one derived from the Turtle method ``reset``." msgstr "این متد TurtleScreen فقط با نام ``resetscreen`` به‌عنوان یک تابع سراسری در دسترس است. تابع سراسری ``reset`` تابع دیگری است که از متد ``reset`` در Turtle مشتق شده است." -msgid "Reset all Turtles on the Screen to their initial state." +msgid "Reset all turtles on the screen to their initial state." msgstr "بازنشانی همه‌ی لاک‌پشت‌های روی صفحه به وضعیت اولیه‌شان." msgid "positive integer, new width of canvas in pixels" @@ -1755,23 +1733,8 @@ msgstr "" msgid "e.g. to search for an erroneously escaped turtle ;-)" msgstr "مثلاً برای جستجوی لاک‌پشتی که به‌اشتباه فرار کرده است ;-)" -msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "یک عدد، مختصات x گوشه‌ی پایین سمت چپ بوم" - -msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "یک عدد، مختصات y گوشه‌ی پایین سمت چپ بوم" - -msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "یک عدد، مختصات x گوشه‌ی بالا سمت راست بوم" - -msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "یک عدد، مختصات y گوشه‌ی بالا سمت راست بوم" - -msgid "Set up user-defined coordinate system and switch to mode \"world\" if necessary. This performs a ``screen.reset()``. If mode \"world\" is already active, all drawings are redrawn according to the new coordinates." -msgstr "دستگاه مختصات تعریف‌شده توسط کاربر را تنظیم می‌کند و در صورت لزوم به حالت \"world\" تغییر می‌کند. این کار ``screen.reset()`` را انجام می‌دهد. اگر حالت \"world\" از قبل فعال باشد، همه ترسیم‌ها بر اساس مختصات جدید دوباره ترسیم می‌شوند." - -msgid "**ATTENTION**: in user-defined coordinate systems angles may appear distorted." -msgstr "**توجه**: در دستگاه‌های مختصات تعریف‌شده توسط کاربر، ممکن است زاویه‌ها تحریف‌شده به نظر برسند." +msgid "Set up a user-defined coordinate system. *llx* and *lly* are the x and y coordinates of the lower left corner of the canvas. *urx* and *ury* are the x and y coordinates of the upper right corner. Switch to mode \"world\" if necessary, which performs a reset. If mode \"world\" is already active, all drawings are redrawn according to the new coordinates. In user-defined coordinate systems, angles may appear distorted, see :func:`mode`." +msgstr "یک سیستم مختصات تعریف‌شده توسط کاربر تنظیم کنید. *llx* و *lly* مختصات x و y گوشه‌ی پایین چپ بوم هستند. *urx* و *ury* مختصات x و y گوشه‌ی بالا راست هستند. در صورت لزوم به حالت \"world\" بروید که بازنشانی را انجام می‌دهد. اگر حالت \"world\" از قبل فعال باشد، تمام ترسیمات بر اساس مختصات جدید دوباره ترسیم می‌شوند. در سیستم‌های مختصات تعریف‌شده توسط کاربر، زوایا ممکن است تحریف‌شده به نظر برسند، :func:`mode` را ببینید." msgid "" ">>> screen.reset()\n" @@ -1793,8 +1756,8 @@ msgstr "" msgid "Animation control" msgstr "کنترل پویانمایی" -msgid "Temporarily disable turtle animation. The code written inside the ``no_animation`` block will not be animated; once the code block is exited, the drawing will appear." -msgstr "پویانمایی turtle را به‌طور موقت غیرفعال می‌کند. کد نوشته‌شده درون بلوک ``no_animation`` پویانمایی نخواهد شد؛ پس از خروج از بلوک کد، ترسیم ظاهر می‌شود." +msgid "Temporarily turn off turtle animation. The code inside the :keyword:`with` block is not animated. Once the block is exited, the drawing appears. This is useful for drawing complex shapes where even the fastest speed setting is too slow." +msgstr "پویانمایی turtle را به‌طور موقت غیرفعال می‌کند. کد نوشته‌شده درون بلوک :keyword:`with` پویانمایی نخواهد شد؛ پس از خروج از بلوک کد، ترسیم ظاهر می‌شود. این برای رسم شکل‌های پیچیده‌ای مفید است که حتی سریع‌ترین تنظیم سرعت نیز برای آن‌ها بسیار کند است." msgid "" ">>> with screen.no_animation():\n" @@ -1807,14 +1770,11 @@ msgstr "" "... fd(dist)\n" "... rt(90)" -msgid "positive integer" -msgstr "عدد صحیح مثبت" - -msgid "Set or return the drawing *delay* in milliseconds. (This is approximately the time interval between two consecutive canvas updates.) The longer the drawing delay, the slower the animation." -msgstr "*تأخیر* ترسیم را بر حسب میلی‌ثانیه تنظیم می‌کند یا برمی‌گرداند. (این مقدار تقریباً بازه‌ی زمانی بین دو به‌روزرسانی متوالی بوم است.) هرچه تأخیر ترسیم طولانی‌تر باشد، پویانمایی کندتر خواهد بود." +msgid "a nonnegative integer or ``None``" +msgstr "یک عدد صحیح نامنفی یا ``None``" -msgid "Optional argument:" -msgstr "آرگومان اختیاری:" +msgid "Return or set the drawing delay in milliseconds. This is approximately the time interval between two consecutive canvas updates. The longer the drawing delay, the slower the animation." +msgstr "تأخیر ترسیم را بر حسب میلی‌ثانیه تنظیم می‌کند یا برمی‌گرداند. این مقدار تقریباً بازه‌ی زمانی بین دو به‌روزرسانی متوالی بوم است. هرچه تأخیر ترسیم طولانی‌تر باشد، پویانمایی کندتر خواهد بود." msgid "" ">>> screen.delay()\n" @@ -1829,11 +1789,8 @@ msgstr "" ">>> screen.delay()\n" "5" -msgid "nonnegative integer" -msgstr "عدد صحیح نامنفی" - -msgid "Turn turtle animation on/off and set delay for update drawings. If *n* is given, only each n-th regular screen update is really performed. (Can be used to accelerate the drawing of complex graphics.) When called without arguments, returns the currently stored value of n. Second argument sets delay value (see :func:`delay`)." -msgstr "روشن/خاموش کردن پویانمایی turtle و تنظیم تأخیر برای به‌روزرسانی ترسیم‌ها. اگر *n* داده شود، تنها هر n-امین به‌روزرسانی منظم صفحه واقعاً انجام می‌شود. (می‌تواند برای تسریع ترسیم گرافیک‌های پیچیده استفاده شود.) هنگامی که بدون آرگومان فراخوانی شود، مقدار ذخیره‌شده‌ی کنونی n را برمی‌گرداند. آرگومان دوم مقدار تأخیر را تنظیم می‌کند (به :func:`delay` مراجعه کنید)." +msgid "Turn turtle animation on or off and set the drawing delay. If *n* is given, only every n-th regular screen update is performed, which can be used to speed up the drawing of complex graphics. If *n* is 0, animation is turned off and the screen is only updated by calling :func:`update`. If *delay* is given, it sets the drawing delay, see :func:`delay`. When called without arguments, return the current value of *n*." +msgstr "پویانمایی turtle را روشن یا خاموش کنید و تأخیر ترسیم را تنظیم کنید. اگر *n* داده شود، تنها هر n-امین به‌روزرسانی منظم صفحه انجام می‌شود، که می‌تواند برای تسریع ترسیم گرافیک‌های پیچیده استفاده شود. اگر *n* برابر ۰ باشد، پویانمایی خاموش می‌شود و صفحه تنها با فراخوانی :func:`update` به‌روزرسانی می‌شود. اگر *delay* داده شود، تأخیر ترسیم را تنظیم می‌کند، :func:`delay` را ببینید. هنگامی که بدون آرگومان فراخوانی شود، مقدار فعلی *n* را برمی‌گرداند." msgid "" ">>> screen.tracer(8, 25)\n" @@ -1902,8 +1859,8 @@ msgstr "" ">>> screen.onkey(f, \"Up\")\n" ">>> screen.listen()" -msgid "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, existing bindings are removed." -msgstr "*fun* را به رویدادهای کلیک ماوس روی این صفحه متصل کنید. اگر *fun* برابر ``None`` باشد، اتصالات موجود حذف می‌شوند." +msgid "Bind *fun* to mouse-click events on this screen. *fun* is called with the coordinates of the clicked point on the canvas. If *fun* is ``None``, existing bindings are removed. *btn* is the number of the mouse button and defaults to 1, the left mouse button. If *add* is ``True``, a new binding is added, otherwise it replaces a former binding." +msgstr "*fun* را به رویدادهای کلیک ماوس روی این صفحه متصل کنید. *fun* با مختصات نقطه‌ی کلیک‌شده روی بوم فراخوانی می‌شود. اگر *fun* ``None`` باشد، اتصال‌های موجود حذف می‌شوند. *btn* شماره‌ی دکمه‌ی ماوس است و به‌طور پیش‌فرض ۱ است، یعنی دکمه‌ی چپ ماوس. اگر *add* ``True`` باشد، یک اتصال جدید اضافه می‌شود، در غیر این صورت یک اتصال پیشین را جایگزین می‌کند." msgid "Example for a TurtleScreen instance named ``screen`` and a Turtle instance named ``turtle``:" msgstr "مثالی برای نمونه‌ای از TurtleScreen به نام ``screen`` و نمونه‌ای از Turtle به نام ``turtle``:" @@ -1948,26 +1905,23 @@ msgstr "" ">>> f() ### makes the turtle march around\n" ">>> running = False" -msgid "Starts event loop - calling Tkinter's mainloop function. Must be the last statement in a turtle graphics program. Must *not* be used if a script is run from within IDLE in -n mode (No subprocess) - for interactive use of turtle graphics. ::" -msgstr "حلقه‌ی رویداد را با فراخوانی تابع mainloop از Tkinter آغاز می‌کند. باید آخرین دستور در یک برنامه‌ی گرافیک turtle باشد. برای استفاده‌ی تعاملی از گرافیک turtle، اگر یک اسکریپت از داخل IDLE در حالت -n (بدون subprocess) اجرا شود، *نباید* از آن استفاده شود. ::" - -msgid ">>> screen.mainloop()" -msgstr ">>> screen.mainloop()" +msgid "Start the event loop by calling Tkinter's :meth:`~tkinter.Misc.mainloop` method. Must be the last statement in a turtle graphics program. Must *not* be used if a script is run from within IDLE in -n mode (see :ref:`idle-no-subprocess`)." +msgstr "حلقه‌ی رویداد را با فراخوانی متد :meth:`~tkinter.Misc.mainloop` از Tkinter آغاز می‌کند. باید آخرین دستور در یک برنامه‌ی گرافیک turtle باشد. اگر یک اسکریپت از داخل IDLE در حالت -n اجرا شود، *نباید* از آن استفاده شود (:ref:`idle-no-subprocess` را ببینید)." msgid "Input methods" msgstr "متدهای ورودی" -msgid "string" -msgstr "رشته" +msgid "a string" +msgstr "یک رشته" -msgid "Pop up a dialog window for input of a string. Parameter title is the title of the dialog window, prompt is a text mostly describing what information to input. Return the string input. If the dialog is canceled, return ``None``. ::" -msgstr "یک پنجره‌ی محاوره برای دریافت یک رشته باز می‌کند. پارامتر title عنوان پنجره‌ی محاوره است و prompt متنی است که عمدتاً توضیح می‌دهد چه اطلاعاتی باید وارد شود. رشته‌ی ورودی را برمی‌گرداند. اگر پنجره‌ی محاوره لغو شود، ``None`` برمی‌گرداند. ::" +msgid "Pop up a dialog window for input of a string. *title* is the title of the dialog window and *prompt* is a text describing what information to input. Return the string entered. If the dialog is canceled, return ``None``. ::" +msgstr "یک پنجره‌ی محاوره برای دریافت یک رشته باز می‌کند. *title* عنوان پنجره‌ی محاوره است و *prompt* متنی است که توصیف می‌کند چه اطلاعاتی باید وارد شود. رشته‌ی ورودی را برمی‌گرداند. اگر پنجره‌ی محاوره لغو شود، ``None`` برمی‌گرداند. ::" msgid ">>> screen.textinput(\"NIM\", \"Name of first player:\")" msgstr ">>> screen.textinput(\"NIM\", \"Name of first player:\")" -msgid "Pop up a dialog window for input of a number. title is the title of the dialog window, prompt is a text mostly describing what numerical information to input. default: default value, minval: minimum value for input, maxval: maximum value for input. The number input must be in the range minval .. maxval if these are given. If not, a hint is issued and the dialog remains open for correction. Return the number input. If the dialog is canceled, return ``None``. ::" -msgstr "یک پنجره محاوره برای دریافت یک عدد باز می‌کند. title عنوان پنجره محاوره است، prompt متنی است که عمدتاً توضیح می‌دهد چه اطلاعات عددی باید وارد شود. default: مقدار پیش‌فرض، minval: حداقل مقدار برای ورودی، maxval: حداکثر مقدار برای ورودی. اگر این مقادیر داده شده باشند، عدد ورودی باید در بازه minval .. maxval باشد. در غیر این صورت، یک راهنمایی نمایش داده می‌شود و پنجره محاوره برای اصلاح باز می‌ماند. عدد ورودی را برمی‌گرداند. اگر پنجره محاوره لغو شود، ``None`` برگردانده می‌شود. ::" +msgid "Pop up a dialog window for input of a number. *title* is the title of the dialog window and *prompt* is a text describing what numerical information to input. *default* is the default value, *minval* and *maxval* are the minimum and maximum values for input. If these are given, the number entered must be between *minval* and *maxval*. If not, a hint is issued and the dialog remains open for correction. Return the number entered. If the dialog is canceled, return ``None``. ::" +msgstr "یک پنجره‌ی محاوره برای دریافت یک عدد باز می‌کند. *title* عنوان پنجره‌ی محاوره است و *prompt* متنی است که توصیف می‌کند چه اطلاعات عددی باید وارد شود. *default* مقدار پیش‌فرض است، *minval* و *maxval* حداقل و حداکثر مقدار برای ورودی هستند. اگر این مقادیر داده شده باشند، عدد ورودی باید بین *minval* و *maxval* باشد. در غیر این صورت، یک راهنمایی نمایش داده می‌شود و پنجره‌ی محاوره برای اصلاح باز می‌ماند. عدد ورودی را برمی‌گرداند. اگر پنجره‌ی محاوره لغو شود، ``None`` برگردانده می‌شود. ::" msgid ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, maxval=10000)" msgstr ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, maxval=10000)" @@ -1975,14 +1929,11 @@ msgstr ">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, maxval msgid "Settings and special methods" msgstr "تنظیمات و متدهای ویژه" -msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "یکی از رشته‌های \"standard\"، \"logo\" یا \"world\"" - -msgid "Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If mode is not given, current mode is returned." -msgstr "حالت turtle را (\"standard\"، \"logo\" یا \"world\") تنظیم کنید و بازنشانی را انجام دهید. اگر حالتی داده نشود، حالت کنونی برگردانده می‌شود." +msgid "Set the turtle mode and perform a reset. *mode* is one of the strings \"standard\", \"logo\" or \"world\". If *mode* is not given, return the current mode." +msgstr "حالت turtle را تنظیم کنید و بازنشانی را انجام دهید. *mode* یکی از رشته‌های \"standard\"، \"logo\" یا \"world\" است. اگر حالتی داده نشود، حالت فعلی برگردانده می‌شود." -msgid "Mode \"standard\" is compatible with old :mod:`!turtle`. Mode \"logo\" is compatible with most Logo turtle graphics. Mode \"world\" uses user-defined \"world coordinates\". **Attention**: in this mode angles appear distorted if ``x/y`` unit-ratio doesn't equal 1." -msgstr "حالت «standard» با ماژول قدیمی :mod:`!turtle` سازگار است. حالت «logo» با بیشتر گرافیک‌های لاک‌پشتی Logo سازگار است. حالت «world» از «مختصات جهان» تعریف‌شده توسط کاربر استفاده می‌کند. **توجه**: در این حالت، اگر نسبت واحد ``x/y`` برابر با ۱ نباشد، زاویه‌ها اعوجاج‌یافته به نظر می‌رسند." +msgid "Mode \"standard\" is compatible with the old :mod:`!turtle` module. Mode \"logo\" is compatible with most Logo turtle graphics. Mode \"world\" uses user-defined world coordinates, see :func:`setworldcoordinates`. In this mode, angles appear distorted if the x and y units are not of equal length." +msgstr "حالت \"standard\" با ماژول قدیمی :mod:`!turtle` سازگار است. حالت \"logo\" با بیشتر گرافیک‌های لاک‌پشتی Logo سازگار است. حالت \"world\" از مختصات جهانی تعریف‌شده توسط کاربر استفاده می‌کند، :func:`setworldcoordinates` را ببینید. در این حالت، اگر واحدهای x و y هم‌طول نباشند، زاویه‌ها اعوجاج‌یافته به نظر می‌رسند." msgid "Mode" msgstr "حالت" @@ -2012,19 +1963,16 @@ msgid "clockwise" msgstr "در جهت عقربه‌های ساعت" msgid "" -">>> mode(\"logo\") # resets turtle heading to north\n" +">>> mode(\"logo\") # resets turtle heading to north\n" ">>> mode()\n" "'logo'" msgstr "" -">>> mode(\"logo\") # resets turtle heading to north\n" +">>> mode(\"logo\") # resets turtle heading to north\n" ">>> mode()\n" "'logo'" -msgid "one of the values 1.0 or 255" -msgstr "یکی از مقدارهای ۱.۰ یا ۲۵۵" - -msgid "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* values of color triples have to be in the range 0..*cmode*." -msgstr "colormode را برمی‌گرداند یا آن را روی 1.0 یا 255 تنظیم می‌کند. پس از آن، مقادیر *r*، *g* و *b* در سه‌تایی‌های رنگ باید در بازه‌ی 0..*cmode* باشند." +msgid "Return the colormode or set it to 1.0 or 255. After setting it, the *r*, *g* and *b* values of color triples have to be between 0 and *cmode*." +msgstr "colormode را برمی‌گرداند یا آن را روی 1.0 یا 255 تنظیم می‌کند. پس از آن، مقادیر *r*، *g* و *b* در سه‌تایی‌های رنگ باید بین 0 و *cmode* باشند." msgid "" ">>> screen.colormode(1)\n" @@ -2073,8 +2021,11 @@ msgstr "" ">>> screen.getshapes()\n" "['arrow', 'blank', 'circle', ..., 'turtle']" -msgid "There are four different ways to call this function:" -msgstr "چهار روش مختلف برای فراخوانی این تابع وجود دارد:" +msgid "a string, a tuple of pairs of numbers, a :class:`Shape` object or ``None``" +msgstr "یک رشته، یک تاپل از جفت‌های عددی، یک شیء :class:`Shape` یا ``None``" + +msgid "Add a turtle shape to the TurtleScreen's shape list. It can be called in four different ways:" +msgstr "یک شکل لاک‌پشت به فهرست شکل‌های TurtleScreen اضافه کنید. این تابع می‌تواند به چهار روش مختلف فراخوانی شود:" msgid "*name* is the name of an image file (PNG, GIF, PGM, and PPM) and *shape* is ``None``: Install the corresponding image shape. ::" msgstr "*name* نام یک پرونده تصویری (PNG، GIF، PGM و PPM) است و *shape* برابر ``None`` است: شکل تصویری متناظر نصب می‌شود. ::" @@ -2082,9 +2033,6 @@ msgstr "*name* نام یک پرونده تصویری (PNG، GIF، PGM و PPM) ا msgid ">>> screen.register_shape(\"turtle.gif\")" msgstr ">>> screen.register_shape(\"turtle.gif\")" -msgid "Image shapes *do not* rotate when turning the turtle, so they do not display the heading of the turtle!" -msgstr "شکل‌های تصویری هنگام چرخاندن لاک‌پشت *نمی‌چرخند*، بنابراین جهت لاک‌پشت را نمایش نمی‌دهند!" - msgid "*name* is an arbitrary string and *shape* is the name of an image file (PNG, GIF, PGM, and PPM): Install the corresponding image shape. ::" msgstr "*name* یک رشته دلخواه است و *shape* نام یک پرونده تصویری (PNG، GIF، PGM و PPM) است: شکل تصویری متناظر را نصب کنید. ::" @@ -2100,8 +2048,8 @@ msgstr ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" msgid "*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` object: Install the corresponding compound shape." msgstr "*name* یک رشته دلخواه است و *shape* یک شیء :class:`Shape` (مرکب) است: شکل مرکب متناظر نصب می‌شود." -msgid "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered shapes can be used by issuing the command ``shape(shapename)``." -msgstr "یک شکل لاک‌پشت را به فهرست شکل‌های TurtleScreen اضافه می‌کند. تنها می‌توان از شکل‌های ثبت‌شده بدین‌ترتیب با صدور دستور ``shape(shapename)`` استفاده کرد." +msgid "Image shapes do not rotate when turning the turtle, so they do not display the heading of the turtle. To use a registered shape, call :func:`shape` with its name." +msgstr "شکل‌های تصویری هنگام چرخاندن لاک‌پشت نمی‌چرخند، بنابراین جهت لاک‌پشت را نمایش نمی‌دهند. برای استفاده از یک شکل ثبت‌شده، :func:`shape` را با نام آن فراخوانی کنید." msgid "Added support for PNG, PGM, and PPM image formats. Both a shape name and an image file name can be specified." msgstr "پشتیبانی از قالب‌های تصویری PNG، PGM و PPM افزوده شد. می‌توان هم نام شکل و هم نام پرونده تصویر را مشخص کرد." @@ -2139,7 +2087,7 @@ msgstr "" msgid "Screen-only methods" msgstr "متدهای مختص Screen" -msgid "Shut the turtlegraphics window." +msgid "Close the turtle graphics window." msgstr "پنجره‌ی گرافیک لاک‌پشتی را ببندید." msgid "Bind ``bye()`` method to mouse clicks on the Screen." @@ -2190,11 +2138,8 @@ msgstr "" ">>> screen.setup(width=.75, height=0.5, startx=None, starty=None)\n" ">>> # sets window to 75% of screen by 50% of screen and centers" -msgid "a string that is shown in the titlebar of the turtle graphics window" -msgstr "رشته‌ای که در نوار عنوان پنجره‌ی گرافیک لاک‌پشتی نمایش داده می‌شود" - -msgid "Set title of turtle window to *titlestring*." -msgstr "عنوان پنجره‌ی turtle را به *titlestring* تنظیم می‌کند." +msgid "Set the title of the turtle window to *titlestring*. The title is shown in the title bar of the turtle graphics window." +msgstr "عنوان پنجره‌ی turtle را روی *titlestring* تنظیم کنید. عنوان در نوار عنوان پنجره‌ی گرافیک لاک‌پشتی نمایش داده می‌شود." msgid ">>> screen.title(\"Welcome to the turtle zoo!\")" msgstr ">>> screen.title(\"Welcome to the turtle zoo!\")" @@ -2217,8 +2162,8 @@ msgstr "یک :class:`!tkinter.Canvas`" msgid "Provides screen oriented methods like :func:`bgcolor` etc. that are described above." msgstr "متدهای صفحه‌محوری مانند :func:`bgcolor` و غیره را فراهم می‌کند که در بالا توضیح داده شده‌اند." -msgid "Subclass of TurtleScreen, with :ref:`four methods added `." -msgstr "زیرکلاسی از TurtleScreen، با :ref:`چهار متد افزوده‌شده `." +msgid "Subclass of :class:`TurtleScreen`, with :ref:`four methods added `. Calling ``Screen()`` returns the single screen object. If it does not exist yet, it is created. Otherwise the existing one is returned." +msgstr "زیرکلاسی از :class:`TurtleScreen`، با :ref:`چهار متد اضافه‌شده `. فراخوانی ``Screen()`` تنها شیء صفحه را برمی‌گرداند. اگر هنوز وجود نداشته باشد، ایجاد می‌شود. در غیر این صورت شیء موجود برگردانده می‌شود." msgid "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas with scrollbars added" msgstr "یک ابزارک Tkinter برای دربرگرفتن ScrolledCanvas، یعنی یک بوم Tkinter با نوارهای پیمایش افزوده‌شده" @@ -2226,55 +2171,34 @@ msgstr "یک ابزارک Tkinter برای دربرگرفتن ScrolledCanvas، msgid "Used by class Screen, which thus automatically provides a ScrolledCanvas as playground for the turtles." msgstr "توسط کلاس Screen استفاده می‌شود، که بنابراین به‌طور خودکار یک ScrolledCanvas را به‌عنوان زمین بازی برای لاک‌پشت‌ها فراهم می‌کند." -msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "یکی از رشته‌های \"polygon\"، \"image\"، \"compound\"" - -msgid "Data structure modeling shapes. The pair ``(type_, data)`` must follow this specification:" -msgstr "ساختار داده‌ای برای مدل‌سازی شکل‌ها. جفت ``(type_, data)`` باید این مشخصات را رعایت کند:" - -msgid "*type_*" -msgstr "*type_*" - -msgid "*data*" -msgstr "*data*" - -msgid "\"polygon\"" -msgstr "\"چندضلعی\"" - -msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" -msgstr "یک تاپل چندضلعی، یعنی یک تاپل از جفت‌های مختصات" - -msgid "\"image\"" -msgstr "\"image\"" - -msgid "an image (in this form only used internally!)" -msgstr "یک تصویر (در این قالب فقط به‌صورت داخلی استفاده می‌شود!)" +msgid "depends on *type_*" +msgstr "به *type_* بستگی دارد" -msgid "\"compound\"" -msgstr "\"compound\"" +msgid "Data structure modeling shapes. *type_* is one of the strings \"polygon\", \"image\" or \"compound\". What *data* must be depends on *type_*: for \"polygon\" a tuple of pairs of coordinates, for \"image\" an image (only used internally), and for \"compound\" ``None``, as a compound shape is built up using the :meth:`addcomponent` method." +msgstr "ساختار داده‌ای که اشکال را مدل‌سازی می‌کند. *type_* یکی از رشته‌های \"polygon\"، \"image\" یا \"compound\" است. اینکه *data* باید چه باشد به *type_* بستگی دارد: برای \"polygon\" یک تاپل از جفت‌های مختصات، برای \"image\" یک تصویر (فقط به‌صورت داخلی استفاده می‌شود)، و برای \"compound\" ``None``، زیرا یک شکل مرکب با استفاده از متد :meth:`addcomponent` ساخته می‌شود." -msgid "``None`` (a compound shape has to be constructed using the :meth:`addcomponent` method)" -msgstr "``None`` (یک شکل ترکیبی باید با استفاده از متد :meth:`addcomponent` ساخته شود)" +msgid "a tuple of pairs of numbers" +msgstr "یک تاپل از جفت‌های عددی" -msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "یک چندضلعی، یعنی یک تاپل از جفت‌های عددی" +msgid "a color" +msgstr "یک رنگ" -msgid "a color the *poly* will be filled with" -msgstr "رنگی که *poly* با آن پر خواهد شد" +msgid "a color or ``None``" +msgstr "یک رنگ یا ``None``" -msgid "a color for the poly's outline (if given)" -msgstr "رنگی برای خط دور poly (در صورت داده‌شدن)" +msgid "Add a component to a shape of type \"compound\". *poly* is a polygon, a tuple of pairs of numbers. *fill* is the color the polygon is filled with and *outline* is the color of its outline. If *outline* is not given, *fill* is used for it as well." +msgstr "یک جزء به یک شکل از نوع \"compound\" اضافه کنید. *poly* یک چندضلعی است، یک تاپل از جفت‌های اعداد. *fill* رنگی است که چندضلعی با آن پر می‌شود و *outline* رنگ خط دور آن است. اگر *outline* داده نشده باشد، از *fill* برای آن نیز استفاده می‌شود." msgid "Example:" msgstr "مثال:" msgid "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" +">>> poly = ((0,0), (10,-5), (0,10), (-10,-5))\n" ">>> s = Shape(\"compound\")\n" ">>> s.addcomponent(poly, \"red\", \"blue\")\n" ">>> # ... add more components and then use register_shape()" msgstr "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" +">>> poly = ((0,0), (10,-5), (0,10), (-10,-5))\n" ">>> s = Shape(\"compound\")\n" ">>> s.addcomponent(poly, \"red\", \"blue\")\n" ">>> # ... add more components and then use register_shape()" @@ -2332,8 +2256,8 @@ msgstr "راهنماهای عملی" msgid "This section covers some typical turtle use-cases and approaches." msgstr "این بخش برخی از موارد استفاده و رویکردهای رایج turtle را پوشش می‌دهد." -msgid "Automatically begin and end filling" -msgstr "آغاز و پایان پر کردن به‌صورت خودکار" +msgid "How to automatically begin and end filling" +msgstr "نحوه‌ی شروع و پایان خودکار پر کردن" msgid "Starting with Python 3.14, you can use the :func:`fill` :term:`context manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically begin and end fill. Here is an example::" msgstr "از پایتون 3.14 به بعد، می‌توانید به‌جای :func:`begin_fill` و :func:`end_fill` از :func:`fill` به‌عنوان :term:`context manager` استفاده کنید تا شروع و پایان پر کردن به‌طور خودکار انجام شود. در اینجا مثالی آورده شده است::" @@ -2373,8 +2297,46 @@ msgstr "" "\n" "forward(200)" -msgid "Use the ``turtle`` module namespace" -msgstr "از فضای نام ماژول ``turtle`` استفاده کنید" +msgid "How to use compound shapes" +msgstr "نحوه‌ی استفاده از اشکال ترکیبی" + +msgid "To use compound turtle shapes, which consist of several polygons of different color, you must use the helper class :class:`Shape` explicitly as described below:" +msgstr "برای استفاده از شکل‌های ترکیبی turtle، که از چندین چندضلعی با رنگ‌های متفاوت تشکیل شده‌اند، باید به‌صراحت از کلاس کمکی :class:`Shape` استفاده کنید، همان‌طور که در زیر توضیح داده شده است:" + +msgid "Create an empty :class:`Shape` object of type \"compound\"." +msgstr "یک شیء :class:`Shape` خالی از نوع «compound» ایجاد کنید." + +msgid "Add as many components to this object as desired, using the :meth:`~Shape.addcomponent` method." +msgstr "هر تعداد کامپوننت که بخواهید، با استفاده از متد :meth:`~Shape.addcomponent` به این شیء اضافه کنید." + +msgid "For example:" +msgstr "برای مثال:" + +msgid "" +">>> s = Shape(\"compound\")\n" +">>> poly1 = ((0,0), (10,-5), (0,10), (-10,-5))\n" +">>> s.addcomponent(poly1, \"red\", \"blue\")\n" +">>> poly2 = ((0,0), (10,-5), (-10,-5))\n" +">>> s.addcomponent(poly2, \"blue\", \"red\")" +msgstr "" +">>> s = Shape(\"compound\")\n" +">>> poly1 = ((0,0), (10,-5), (0,10), (-10,-5))\n" +">>> s.addcomponent(poly1, \"red\", \"blue\")\n" +">>> poly2 = ((0,0), (10,-5), (-10,-5))\n" +">>> s.addcomponent(poly2, \"blue\", \"red\")" + +msgid "Now add the Shape to the Screen's shapelist and use it:" +msgstr "اکنون Shape را به shapelistِ Screen اضافه کنید و از آن استفاده کنید:" + +msgid "" +">>> register_shape(\"myshape\", s)\n" +">>> shape(\"myshape\")" +msgstr "" +">>> register_shape(\"myshape\", s)\n" +">>> shape(\"myshape\")" + +msgid "How to use the ``turtle`` module namespace" +msgstr "نحوه‌ی استفاده از فضای نام ماژول ``turtle``" msgid "Using ``from turtle import *`` is convenient - but be warned that it imports a rather large collection of objects, and if you're doing anything but turtle graphics you run the risk of a name conflict (this becomes even more an issue if you're using turtle graphics in a script where other modules might be imported)." msgstr "استفاده از ``from turtle import *`` مناسب است، اما توجه داشته باشید که این دستور مجموعه‌ای نسبتاً بزرگ از شیء‌ها را ایمپورت می‌کند و اگر کاری به‌جز گرافیک turtle انجام می‌دهید، با خطر تعارض نام مواجه می‌شوید (این موضوع به‌ویژه زمانی مشکل‌سازتر می‌شود که از گرافیک turtle در اسکریپتی استفاده می‌کنید که ممکن است ماژول‌های دیگر نیز ایمپورت شوند)." @@ -2382,8 +2344,8 @@ msgstr "استفاده از ``from turtle import *`` مناسب است، اما msgid "The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, ``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over and over again becomes tedious, use for example ``import turtle as t`` instead.)" msgstr "راه‌حل استفاده از ``import turtle`` است - ``fd()`` به ``turtle.fd()`` تبدیل می‌شود، ``width()`` به ``turtle.width()`` تبدیل می‌شود و به همین ترتیب. (اگر تایپ کردن مکرر \"turtle\" خسته‌کننده شد، برای مثال به‌جای آن از ``import turtle as t`` استفاده کنید.)" -msgid "Use turtle graphics in a script" -msgstr "استفاده از گرافیک لاک‌پشتی (turtle graphics) در یک اسکریپت" +msgid "How to use turtle graphics in a script" +msgstr "نحوه‌ی استفاده از گرافیک لاک‌پشت در یک اسکریپت" msgid "It's recommended to use the ``turtle`` module namespace as described immediately above, for example::" msgstr "توصیه می‌شود همان‌طور که بلافاصله در بالا توضیح داده شد، از فضای نام ماژول ``turtle`` استفاده کنید، برای مثال::" @@ -2416,8 +2378,8 @@ msgstr "t.mainloop()" msgid "to the end of the script. The script will now wait to be dismissed and will not exit until it is terminated, for example by closing the turtle graphics window." msgstr "به انتهای اسکریپت. اسکریپت اکنون منتظر می‌ماند تا بسته شود و تا زمانی که پایان داده نشود، خارج نخواهد شد، برای مثال با بستن پنجره‌ی گرافیک turtle." -msgid "Use object-oriented turtle graphics" -msgstr "استفاده از گرافیک لاک‌پشتی شیءگرا" +msgid "How to use object-oriented turtle graphics" +msgstr "نحوه‌ی استفاده از گرافیک شیءگرای لاک‌پشت" msgid ":ref:`Explanation of the object-oriented interface `" msgstr ":ref:`توضیح رابط شیءگرا `" @@ -2469,8 +2431,8 @@ msgstr "" "t.screen.title('Object-oriented turtle demo')\n" "t.screen.bgcolor(\"orange\")" -msgid "How to use help" -msgstr "نحوه استفاده از help" +msgid "How to use :func:`!help`" +msgstr "نحوه‌ی استفاده از :func:`!help`" msgid "The public methods of the Screen and Turtle classes are documented extensively via docstrings. So these can be used as online-help via the Python help facilities:" msgstr "متدهای عمومی کلاس‌های Screen و Turtle به‌طور گسترده‌ای از طریق رشته‌مستندها مستند شده‌اند. بنابراین می‌توان از آن‌ها به‌عنوان راهنمای برخط از طریق امکانات راهنمای پایتون استفاده کرد:" @@ -2952,6 +2914,150 @@ msgstr ":func:`circle`" msgid "Have fun!" msgstr "لذت ببرید!" +#~ msgid "Move turtle to an absolute position. Unlike goto(x, y), a line will not be drawn. The turtle's orientation does not change. If currently filling, the polygon(s) teleported from will be filled after leaving, and filling will begin again after teleporting. This can be disabled with fill_gap=True, which makes the imaginary line traveled during teleporting act as a fill barrier like in goto(x, y)." +#~ msgstr "لاک‌پشت را به یک موقعیت مطلق منتقل می‌کند. برخلاف goto(x, y)، سطری رسم نخواهد شد. جهت لاک‌پشت تغییر نمی‌کند. اگر در حال حاضر در حال پر کردن باشید، چندضلعی(هایی) که انتقال فوری از آن‌ها انجام شده است پس از ترک آن‌ها پر خواهند شد، و پر کردن پس از انتقال فوری دوباره آغاز می‌شود. این رفتار را می‌توان با fill_gap=True غیرفعال کرد، که باعث می‌شود خط فرضی طی‌شده در حین انتقال فوری مانند goto(x, y) به‌عنوان سد پر کردن عمل کند." + +#~ msgid "an integer >= 1 (if given)" +#~ msgstr "یک عدد صحیح بزرگ‌تر یا مساوی ۱ (در صورت داده شدن)" + +#~ msgid "an integer in the range 0..10 or a speedstring (see below)" +#~ msgstr "یک عدد صحیح در بازه‌ی ۰..۱۰ یا یک رشته‌ی سرعت (speedstring) (در زیر ببینید)" + +#~ msgid "Set the turtle's speed to an integer value in the range 0..10. If no argument is given, return current speed." +#~ msgstr "سرعت لاک‌پشت را روی یک مقدار عدد صحیح در بازه‌ی ۰ تا ۱۰ تنظیم می‌کند. اگر آرگومانی داده نشود، سرعت فعلی را برمی‌گرداند." + +#~ msgid "If input is a number greater than 10 or smaller than 0.5, speed is set to 0. Speedstrings are mapped to speedvalues as follows:" +#~ msgstr "اگر ورودی عددی بزرگ‌تر از ۱۰ یا کوچک‌تر از ۰٫۵ باشد، سرعت روی ۰ تنظیم می‌شود. رشته‌های سرعت به مقدارهای سرعت به‌صورت زیر نگاشت می‌شوند:" + +#~ msgid "Speeds from 1 to 10 enforce increasingly faster animation of line drawing and turtle turning." +#~ msgstr "سرعت‌های ۱ تا ۱۰، پویانمایی رسم خط و چرخش لاک‌پشت را به‌طور فزاینده‌ای سریع‌تر می‌کنند." + +#~ msgid "Pull the pen down -- drawing when moving." +#~ msgstr "قلم را پایین بکشید -- هنگام حرکت ترسیم می‌کند." + +#~ msgid "a positive number" +#~ msgstr "یک عدد مثبت" + +#~ msgid "Return fillstate (``True`` if filling, ``False`` else)." +#~ msgstr "وضعیت پر کردن را برمی‌گرداند (اگر در حال پر کردن باشد ``True``، در غیر این صورت ``False``)." + +#~ msgid "Make the turtle invisible. It's a good idea to do this while you're in the middle of doing some complex drawing, because hiding the turtle speeds up the drawing observably." +#~ msgstr "لاک‌پشت را نامرئی کنید. بهتر است این کار را هنگامی که در میانه‌ی انجام یک ترسیم پیچیده هستید انجام دهید، زیرا پنهان کردن لاک‌پشت سرعت ترسیم را به‌طور محسوسی افزایش می‌دهد." + +#~ msgid ">>> turtle.hideturtle()" +#~ msgstr ">>> turtle.hideturtle()" + +#~ msgid "a string which is a valid shapename" +#~ msgstr "رشته‌ای که یک نام شکل (shapename) معتبر باشد" + +#~ msgid "one of the strings \"auto\", \"user\", \"noresize\"" +#~ msgstr "یکی از رشته‌های \"auto\"، \"user\"، \"noresize\"" + +#~ msgid "\"noresize\": no adaption of the turtle's appearance takes place." +#~ msgstr "\"noresize\": هیچ سازگاری‌ای برای ظاهر لاک‌پشت انجام نمی‌شود." + +#~ msgid "positive number" +#~ msgstr "عدد مثبت" + +#~ msgid "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set resizemode to \"user\". If and only if resizemode is set to \"user\", the turtle will be displayed stretched according to its stretchfactors: *stretch_wid* is stretchfactor perpendicular to its orientation, *stretch_len* is stretchfactor in direction of its orientation, *outline* determines the width of the shape's outline." +#~ msgstr "ویژگی‌های قلم، یعنی ضریب‌های کشیدگی x/y (x/y-stretchfactors) و/یا خط دور (outline)، را برمی‌گرداند یا تنظیم می‌کند. resizemode را روی \"user\" تنظیم می‌کند. اگر و فقط اگر resizemode روی \"user\" تنظیم شده باشد، لاک‌پشت بر اساس ضریب‌های کشیدگی خود به‌صورت کشیده‌شده نمایش داده می‌شود: *stretch_wid* ضریب کشیدگی عمود بر جهت آن است، *stretch_len* ضریب کشیدگی در راستای جهت آن است، و *outline* عرض خط دور شکل را تعیین می‌کند." + +#~ msgid "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, existing bindings are removed. Example for the anonymous turtle, i.e. the procedural way:" +#~ msgstr "*fun* را به رویدادهای کلیک ماوس روی این لاک‌پشت متصل می‌کند. اگر *fun* برابر ``None`` باشد، اتصالات موجود حذف می‌شوند. مثال برای لاک‌پشت ناشناس، یعنی روش رویه‌ای:" + +#~ msgid "Return the Turtle object itself. Only reasonable use: as a function to return the \"anonymous turtle\":" +#~ msgstr "خود شیء Turtle را برمی‌گرداند. تنها استفاده معقول: به‌عنوان تابعی برای برگرداندن «لاک‌پشت ناشناس»:" + +#~ msgid "The :class:`Shape` class is used internally by the :func:`register_shape` method in different ways. The application programmer has to deal with the Shape class *only* when using compound shapes like shown above!" +#~ msgstr "کلاس :class:`Shape` به‌صورت داخلی توسط متد :func:`register_shape` به روش‌های مختلفی استفاده می‌شود. برنامه‌نویس برنامه *فقط* هنگام استفاده از شکل‌های ترکیبی مانند آنچه در بالا نشان داده شد، باید با کلاس Shape سروکار داشته باشد!" + +#~ msgid "a number, x-coordinate of lower left corner of canvas" +#~ msgstr "یک عدد، مختصات x گوشه‌ی پایین سمت چپ بوم" + +#~ msgid "a number, y-coordinate of lower left corner of canvas" +#~ msgstr "یک عدد، مختصات y گوشه‌ی پایین سمت چپ بوم" + +#~ msgid "a number, x-coordinate of upper right corner of canvas" +#~ msgstr "یک عدد، مختصات x گوشه‌ی بالا سمت راست بوم" + +#~ msgid "a number, y-coordinate of upper right corner of canvas" +#~ msgstr "یک عدد، مختصات y گوشه‌ی بالا سمت راست بوم" + +#~ msgid "Set up user-defined coordinate system and switch to mode \"world\" if necessary. This performs a ``screen.reset()``. If mode \"world\" is already active, all drawings are redrawn according to the new coordinates." +#~ msgstr "دستگاه مختصات تعریف‌شده توسط کاربر را تنظیم می‌کند و در صورت لزوم به حالت \"world\" تغییر می‌کند. این کار ``screen.reset()`` را انجام می‌دهد. اگر حالت \"world\" از قبل فعال باشد، همه ترسیم‌ها بر اساس مختصات جدید دوباره ترسیم می‌شوند." + +#~ msgid "**ATTENTION**: in user-defined coordinate systems angles may appear distorted." +#~ msgstr "**توجه**: در دستگاه‌های مختصات تعریف‌شده توسط کاربر، ممکن است زاویه‌ها تحریف‌شده به نظر برسند." + +#~ msgid "positive integer" +#~ msgstr "عدد صحیح مثبت" + +#~ msgid "Optional argument:" +#~ msgstr "آرگومان اختیاری:" + +#~ msgid "nonnegative integer" +#~ msgstr "عدد صحیح نامنفی" + +#~ msgid "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, existing bindings are removed." +#~ msgstr "*fun* را به رویدادهای کلیک ماوس روی این صفحه متصل کنید. اگر *fun* برابر ``None`` باشد، اتصالات موجود حذف می‌شوند." + +#~ msgid ">>> screen.mainloop()" +#~ msgstr ">>> screen.mainloop()" + +#~ msgid "one of the strings \"standard\", \"logo\" or \"world\"" +#~ msgstr "یکی از رشته‌های \"standard\"، \"logo\" یا \"world\"" + +#~ msgid "one of the values 1.0 or 255" +#~ msgstr "یکی از مقدارهای ۱.۰ یا ۲۵۵" + +#~ msgid "There are four different ways to call this function:" +#~ msgstr "چهار روش مختلف برای فراخوانی این تابع وجود دارد:" + +#~ msgid "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered shapes can be used by issuing the command ``shape(shapename)``." +#~ msgstr "یک شکل لاک‌پشت را به فهرست شکل‌های TurtleScreen اضافه می‌کند. تنها می‌توان از شکل‌های ثبت‌شده بدین‌ترتیب با صدور دستور ``shape(shapename)`` استفاده کرد." + +#~ msgid "Set title of turtle window to *titlestring*." +#~ msgstr "عنوان پنجره‌ی turtle را به *titlestring* تنظیم می‌کند." + +#~ msgid "Subclass of TurtleScreen, with :ref:`four methods added `." +#~ msgstr "زیرکلاسی از TurtleScreen، با :ref:`چهار متد افزوده‌شده `." + +#~ msgid "one of the strings \"polygon\", \"image\", \"compound\"" +#~ msgstr "یکی از رشته‌های \"polygon\"، \"image\"، \"compound\"" + +#~ msgid "Data structure modeling shapes. The pair ``(type_, data)`` must follow this specification:" +#~ msgstr "ساختار داده‌ای برای مدل‌سازی شکل‌ها. جفت ``(type_, data)`` باید این مشخصات را رعایت کند:" + +#~ msgid "*type_*" +#~ msgstr "*type_*" + +#~ msgid "*data*" +#~ msgstr "*data*" + +#~ msgid "\"polygon\"" +#~ msgstr "\"چندضلعی\"" + +#~ msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" +#~ msgstr "یک تاپل چندضلعی، یعنی یک تاپل از جفت‌های مختصات" + +#~ msgid "\"image\"" +#~ msgstr "\"image\"" + +#~ msgid "an image (in this form only used internally!)" +#~ msgstr "یک تصویر (در این قالب فقط به‌صورت داخلی استفاده می‌شود!)" + +#~ msgid "\"compound\"" +#~ msgstr "\"compound\"" + +#~ msgid "``None`` (a compound shape has to be constructed using the :meth:`addcomponent` method)" +#~ msgstr "``None`` (یک شکل ترکیبی باید با استفاده از متد :meth:`addcomponent` ساخته شود)" + +#~ msgid "a color the *poly* will be filled with" +#~ msgstr "رنگی که *poly* با آن پر خواهد شد" + +#~ msgid "a color for the poly's outline (if given)" +#~ msgstr "رنگی برای خط دور poly (در صورت داده‌شدن)" + #~ msgid "In the following documentation the argument list for functions is given. Methods, of course, have the additional first argument *self* which is omitted here." #~ msgstr "در مستندات زیر، فهرست آرگومان‌های توابع داده شده است. متدها، البته، آرگومان اول اضافه‌ای به نام *self* دارند که در اینجا حذف شده است." diff --git a/reference/datamodel.po b/reference/datamodel.po index b77fcbdaf..0c658485f 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-24 04:09+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-12 16:43+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -453,8 +453,8 @@ msgstr ":attr:`!__doc__` رشته‌ی مستندسازی تابع است، یا msgid ":attr:`!__name__` is the function's name. See :attr:`function.__name__`." msgstr ":attr:`!__name__` نام تابع است. :attr:`function.__name__` را ببینید." -msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." -msgstr ":attr:`!__self__` روی ``None`` تنظیم می‌شود (اما آیتم بعدی را ببینید)." +msgid ":attr:`!__self__` is the module object the function was defined in or ``None`` if unavailable." +msgstr ":attr:`!__self__` شیء ماژولی است که تابع در آن تعریف شده است، یا اگر در دسترس نباشد مقدار ``None`` است." msgid ":attr:`!__module__` is the name of the module the function was defined in or ``None`` if unavailable. See :attr:`function.__module__`." msgstr ":attr:`!__module__` نام ماژولی است که تابع در آن تعریف شده است، یا اگر در دسترس نباشد ``None`` است. :attr:`function.__module__` را ببینید." @@ -3079,3 +3079,6 @@ msgstr "with" msgid "context manager" msgstr "مدیر زمینه" + +#~ msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." +#~ msgstr ":attr:`!__self__` روی ``None`` تنظیم می‌شود (اما آیتم بعدی را ببینید)." diff --git a/reports/contributor_stats_latest.png b/reports/contributor_stats_latest.png index 51b0606b0..4530f6ae6 100644 Binary files a/reports/contributor_stats_latest.png and b/reports/contributor_stats_latest.png differ diff --git a/sphinx.po b/sphinx.po index 3203471ba..1f148aa24 100644 --- a/sphinx.po +++ b/sphinx.po @@ -14,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-19 20:08+0330\n" -"PO-Revision-Date: 2026-09-21 15:41+0330\n" +"POT-Creation-Date: 2026-10-05 04:14+0000\n" +"PO-Revision-Date: 2026-08-28 10:54+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" -"Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" +"Language-Team: Persian (https://github.com/python/python-docs-fa/fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -189,7 +189,7 @@ msgid "in development" msgstr "در حال توسعه" msgid "pre-release" -msgstr "نسخه‌ی پیش‌انتشار" +msgstr "پیش‌انتشار" msgid "stable" msgstr "پایدار" @@ -219,7 +219,7 @@ msgid "Start here: a tour of Python's syntax and features" msgstr "از اینجا شروع کنید: سفری در سینتکس و ویژگی‌های پایتون" msgid "Built-ins reference" -msgstr "مرجع توکارها" +msgstr "ارجاع‌های داخلی" msgid "Built-in functions and classes" msgstr "توابع و کلاس‌های توکار" @@ -234,7 +234,7 @@ msgid "Language reference" msgstr "مرجع زبان" msgid "Syntax and language elements" -msgstr "المان‌های نحوی و زبانی" +msgstr "سینتکس و عناصر زبان" msgid "Python setup and usage" msgstr "راه‌اندازی و استفاده از پایتون" @@ -264,7 +264,7 @@ msgid "Python's C API" msgstr "رابط برنامه‌نویسی C پایتون" msgid "C API reference" -msgstr "مرجع رابط برنامه‌نویسی C" +msgstr "مراجع C API" msgid "FAQs" msgstr "سوالات متداول" @@ -273,7 +273,7 @@ msgid "Frequently asked questions (with answers!)" msgstr "سؤالات متداول (همراه با پاسخ!)" msgid "Deprecations" -msgstr "موارد منسوخ‌شده" +msgstr "منسوخ‌شده‌ها" msgid "Deprecated functionality" msgstr "قابلیت‌های منسوخ‌شده" @@ -285,7 +285,7 @@ msgid "Python developer's guide" msgstr "راهنمای توسعه‌دهندگان پایتون" msgid "Information on contributing to Python" -msgstr "" +msgstr "اطلاعات درباره‌ی مشارکت به پایتون" msgid "Python Packaging User Guide" msgstr "راهنمای کاربر بسته‌بندی پایتون" @@ -297,13 +297,13 @@ msgid "Audio/visual talks" msgstr "گفتارهای صوتی/تصویری" msgid "Podcasts, talks, and video presentations from the community" -msgstr "" +msgstr "پادکست‌ها، سخنرانی‌ها و ارائه‌های ویدئویی از سوی اعضای جامعه" msgid "Python Enhancement Proposals" -msgstr "" +msgstr "پیشنهادهای بهبود پایتون" msgid "Index of proposed improvements to Python" -msgstr "" +msgstr "فهرست پیشنهادهای بهبود پایتون" msgid "Static Typing with Python" msgstr "تایپ‌گذاری ایستا (Static Typing) در پایتون" @@ -315,7 +315,7 @@ msgid "Indices, glossary, and search:" msgstr "اندیس‌ها، واژه‌نامه و جست‌وجو:" msgid "Global module index" -msgstr "اندیس ماژول‌های سراسری" +msgstr "اندیس ماژول سراسری" msgid "All modules and libraries" msgstr "همه‌ی ماژول‌ها و کتابخانه‌ها" @@ -345,13 +345,13 @@ msgid "All sections and subsections" msgstr "همه‌ی بخش‌ها و زیربخش‌ها" msgid "Project information:" -msgstr "اطلاعات پروژه:" +msgstr "اطلاعات پروژه" msgid "Reporting issues" -msgstr "گزارش مشکلات" +msgstr "گزارش اشکالات" msgid "Contributing to docs" -msgstr "مشارکت در مستندات" +msgstr "مشارکت به مستندات" msgid "Download the documentation" msgstr "دانلود مستندات" @@ -393,165 +393,165 @@ msgstr "نسخه‌ی پایدار فعلی" #, python-format msgid "The %s extension is required by needs_extensions settings, but it is not loaded." -msgstr "" +msgstr "افزونه‌ی %s توسط تنظیمات needs_extensions لازم است، اما بار نشده است." #, python-format msgid "This project needs the extension %s at least in version %s and therefore cannot be built with the loaded version (%s)." -msgstr "" +msgstr "این پروژه به افزونه‌ی %s حداقل در نسخه‌ی %s نیاز دارد و بنابراین نمی‌توان آن را با نسخه‌ی بارشده (%s) ساخت." #, python-format msgid "Cannot find source directory (%s)" -msgstr "" +msgstr "پوشه‌ی منبع (%s) پیدا نشد" #, python-format msgid "Output directory (%s) is not a directory" -msgstr "" +msgstr "پوشه‌ی خروجی (%s) یک پوشه نیست" msgid "Source directory and destination directory cannot be identical" -msgstr "" +msgstr "پوشه‌ی منبع و پوشه‌ی مقصد نمی‌توانند یکسان باشند" #, python-format msgid "Running Sphinx v%s" -msgstr "" +msgstr "در حال اجرای Sphinx نسخه‌ی %s" #, python-format msgid "This project needs at least Sphinx v%s and therefore cannot be built with this version." -msgstr "" +msgstr "این پروژه حداقل به Sphinx نسخه‌ی %s نیاز دارد و بنابراین نمی‌توان آن را با این نسخه ساخت." msgid "making output directory" -msgstr "" +msgstr "در حال ساخت پوشه‌ی خروجی" #, python-format msgid "while setting up extension %s:" -msgstr "" +msgstr "هنگام راه‌اندازی افزونه‌ی %s:" msgid "'setup' as currently defined in conf.py isn't a Python callable. Please modify its definition to make it a callable function. This is needed for conf.py to behave as a Sphinx extension." -msgstr "" +msgstr "«setup» به‌شکلی که در حال حاضر در conf.py تعریف شده، یک فراخوانی‌پذیر پایتونی نیست. لطفاً تعریف آن را تغییر دهید تا به یک تابع فراخوانی‌پذیر تبدیل شود. این کار برای اینکه conf.py مانند یک افزونه‌ی Sphinx رفتار کند، لازم است." #, python-format msgid "loading translations [%s]... " -msgstr "" +msgstr "در حال بارگذاری ترجمه‌ها [%s]... " msgid "done" -msgstr "" +msgstr "انجام شد" msgid "not available for built-in messages" -msgstr "" +msgstr "برای پیام‌های توکار در دسترس نیست" msgid "loading pickled environment" -msgstr "" +msgstr "در حال بارگذاری محیط پیکل‌شده" #, python-format msgid "failed: %s" -msgstr "" +msgstr "شکست خورد: %s" msgid "No builder selected, using default: html" -msgstr "" +msgstr "هیچ سازنده‌ای انتخاب نشد، استفاده از پیش‌فرض: html" msgid "build finished with problems." -msgstr "" +msgstr "ساخت با مشکلاتی به پایان رسید." msgid "build succeeded." -msgstr "" +msgstr "ساخت با موفقیت به پایان رسید." msgid "build finished with problems, 1 warning (with warnings treated as errors)." -msgstr "" +msgstr "ساخت با مشکلاتی به پایان رسید، ۱ هشدار (با هشدارها به‌عنوان خطا برخورد شده است)." msgid "build finished with problems, 1 warning." -msgstr "" +msgstr "ساخت با مشکلاتی به پایان رسید، ۱ هشدار." msgid "build succeeded, 1 warning." -msgstr "" +msgstr "ساخت با موفقیت به پایان رسید، ۱ هشدار." #, python-format msgid "build finished with problems, %s warnings (with warnings treated as errors)." -msgstr "" +msgstr "ساخت با مشکلاتی به پایان رسید، %s هشدار (با هشدارها به‌عنوان خطا برخورد شده است)." #, python-format msgid "build finished with problems, %s warnings." -msgstr "" +msgstr "ساخت با مشکلاتی به پایان رسید، %s هشدار." #, python-format msgid "build succeeded, %s warnings." -msgstr "" +msgstr "ساخت با موفقیت به پایان رسید، %s هشدار." #, python-format msgid "node class %r is already registered, its visitors will be overridden" -msgstr "" +msgstr "کلاس گره‌ی %r هم‌اکنون ثبت شده است، بازدیدکننده‌های آن بازنویسی خواهند شد" #, python-format msgid "directive %r is already registered and will not be overridden" -msgstr "" +msgstr "دایرکتیو %r هم‌اکنون ثبت شده و بازنویسی نخواهد شد" #, python-format msgid "role %r is already registered and will not be overridden" -msgstr "" +msgstr "رول %r هم‌اکنون ثبت شده و بازنویسی نخواهد شد" #, python-format msgid "the %s extension does not declare if it is safe for parallel reading, assuming it isn't - please ask the extension author to check and make it explicit" -msgstr "" +msgstr "افزونه‌ی %s مشخص نکرده که برای خواندن موازی امن است یا نه، فرض بر ناامن بودن است - لطفاً از نویسنده‌ی افزونه بخواهید این موضوع را بررسی و صریح کند" #, python-format msgid "the %s extension is not safe for parallel reading" -msgstr "" +msgstr "افزونه‌ی %s برای خواندن موازی امن نیست" #, python-format msgid "the %s extension does not declare if it is safe for parallel writing, assuming it isn't - please ask the extension author to check and make it explicit" -msgstr "" +msgstr "افزونه‌ی %s مشخص نکرده که برای نوشتن موازی امن است یا نه، فرض بر ناامن بودن است - لطفاً از نویسنده‌ی افزونه بخواهید این موضوع را بررسی و صریح کند" #, python-format msgid "the %s extension is not safe for parallel writing" -msgstr "" +msgstr "افزونه‌ی %s برای نوشتن موازی امن نیست" #, python-format msgid "doing serial %s" -msgstr "" +msgstr "در حال انجام %s به‌صورت سریال" #, python-format msgid "config directory doesn't contain a conf.py file (%s)" -msgstr "" +msgstr "پوشه‌ی پیکربندی حاوی پرونده‌ی conf.py نیست (%s)" msgid "Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English)." -msgstr "" +msgstr "مقدار پیکربندی نامعتبری یافت شد: «language = None». پیکربندی خود را به یک کد زبان معتبر به‌روزرسانی کنید. بازگشت به «en» (انگلیسی)." #, python-format msgid "'%s' must be '0' or '1', got '%s'" -msgstr "" +msgstr "«%s» باید «۰» یا «۱» باشد، «%s» دریافت شد" #, python-format msgid "cannot override dictionary config setting %r, ignoring (use %r to set individual elements)" -msgstr "" +msgstr "نمی‌توان تنظیم پیکربندی دیکشنری‌ای %r را بازنویسی کرد، نادیده گرفته شد (برای تنظیم عناصر جداگانه از %r استفاده کنید)" #, python-format msgid "invalid number %r for config value %r, ignoring" -msgstr "" +msgstr "عدد نامعتبر %r برای مقدار پیکربندی %r، نادیده گرفته شد" #, python-format msgid "cannot override config setting %r with unsupported type, ignoring" -msgstr "" +msgstr "نمی‌توان تنظیم پیکربندی %r را با نوعی پشتیبانی‌نشده بازنویسی کرد، نادیده گرفته شد" #, python-format msgid "unknown config value %r in override, ignoring" -msgstr "" +msgstr "مقدار پیکربندی ناشناخته‌ی %r در بازنویسی، نادیده گرفته شد" #, python-format msgid "No such config value: %r" -msgstr "" +msgstr "چنین مقدار پیکربندی‌ای وجود ندارد: %r" #, python-format msgid "Config value %r already present" -msgstr "" +msgstr "مقدار پیکربندی %r هم‌اکنون وجود دارد" #, python-format msgid "cannot cache unpickleable configuration value: %r (because it contains a function, class, or module object)" -msgstr "" +msgstr "نمی‌توان مقدار پیکربندی پیکل‌ناپذیر %r را در نهانگاه ذخیره کرد (چون حاوی یک تابع، کلاس یا شیء ماژول است)" #, python-format msgid "There is a syntax error in your configuration file: %s\n" -msgstr "" +msgstr "خطای نحوی در پرونده‌ی پیکربندی شما وجود دارد: %s\n" msgid "The configuration file (or one of the modules it imports) called sys.exit()" -msgstr "" +msgstr "پرونده‌ی پیکربندی (یا یکی از ماژول‌هایی که ایمپورت می‌کند) تابع ()sys.exit را فراخوانی کرد" #, python-format msgid "" @@ -559,18 +559,21 @@ msgid "" "\n" "%s" msgstr "" +"خطایی برنامه‌ای در پرونده‌ی پیکربندی شما وجود دارد:\n" +"\n" +"%s" #, python-format msgid "Failed to convert %r to a frozenset" -msgstr "" +msgstr "تبدیل %r به frozenset شکست خورد" #, python-format msgid "Converting `source_suffix = %r` to `source_suffix = %r`." -msgstr "" +msgstr "در حال تبدیل «source_suffix = %r» به «source_suffix = %r»." #, python-format msgid "The config value `source_suffix' expects a dictionary, a string, or a list of strings. Got `%r' instead (type %s)." -msgstr "" +msgstr "مقدار پیکربندی «source_suffix» انتظار یک دیکشنری، رشته یا فهرستی از رشته‌ها را دارد. به‌جای آن «%r» (نوع %s) دریافت شد." #, python-format msgid "Section %s" @@ -578,369 +581,371 @@ msgstr "بخش %s" #, python-format msgid "Fig. %s" -msgstr "" +msgstr "شکل %s" #, python-format msgid "Table %s" -msgstr "" +msgstr "جدول %s" #, python-format msgid "Listing %s" -msgstr "" +msgstr "لیستینگ %s" #, python-brace-format msgid "The config value `{name}` has to be a one of {candidates}, but `{current}` is given." -msgstr "" +msgstr "مقدار پیکربندی «{name}» باید یکی از {candidates} باشد، اما «{current}» داده شده است." #, python-brace-format msgid "The config value `{name}' has type `{current.__name__}'; expected {permitted}." -msgstr "" +msgstr "مقدار پیکربندی «{name}» از نوع «{current.__name__}» است؛ {permitted} انتظار می‌رفت." #, python-brace-format msgid "The config value `{name}' has type `{current.__name__}', defaults to `{default.__name__}'." -msgstr "" +msgstr "مقدار پیکربندی «{name}» از نوع «{current.__name__}» است و مقدار پیش‌فرض آن «{default.__name__}» است." #, python-format msgid "primary_domain %r not found, ignored." -msgstr "" +msgstr "primary_domain %r پیدا نشد، نادیده گرفته شد." msgid "Sphinx now uses \"index\" as the master document by default. To keep pre-2.0 behaviour, set \"master_doc = 'contents'\"." -msgstr "" +msgstr "Sphinx اکنون به‌طور پیش‌فرض از «index» به‌عنوان سند اصلی استفاده می‌کند. برای حفظ رفتار پیش از نسخه‌ی ۲.۰، مقدار «master_doc = 'contents'» را تنظیم کنید." #, python-format msgid "Pygments lexer name %r is not known" -msgstr "" +msgstr "نام لکسر Pygments با نام %r شناخته‌شده نیست" #, python-format msgid "Lexing literal_block %r as \"%s\" resulted in an error at token: %r. Retrying in relaxed mode." -msgstr "" +msgstr "لکسینگ literal_block با نام %r به‌صورت «%s» در توکن %r به خطا انجامید. تلاش دوباره در حالت آزاد." #, python-format msgid "Theme configuration sections other than [theme] and [options] are not supported (tried to get a value from %r)." -msgstr "" +msgstr "بخش‌های پیکربندی پوسته غیر از [theme] و [options] پشتیبانی نمی‌شوند (تلاش برای دریافت مقدار از %r)." #, python-format msgid "setting %s.%s occurs in none of the searched theme configs" -msgstr "" +msgstr "تنظیم %s.%s در هیچ‌کدام از پیکربندی‌های پوسته‌ی جست‌وجوشده وجود ندارد" #, python-format msgid "unsupported theme option %r given" -msgstr "" +msgstr "گزینه‌ی پشتیبانی‌نشده‌ی پوسته‌ی %r داده شد" #, python-format msgid "file %r on theme path is not a valid zipfile or contains no theme" -msgstr "" +msgstr "پرونده‌ی %r در مسیر پوسته یک زیپ‌فایل معتبر نیست یا حاوی هیچ پوسته‌ای نیست" #, python-format msgid "no theme named %r found (missing theme.toml?)" -msgstr "" +msgstr "هیچ پوسته‌ای با نام %r پیدا نشد (theme.toml گم شده؟)" #, python-format msgid "The %r theme has circular inheritance" -msgstr "" +msgstr "پوسته‌ی %r دارای وراثت چرخه‌ای است" #, python-format msgid "The %r theme inherits from %r, which is not a loaded theme. Loaded themes are: %s" -msgstr "" +msgstr "پوسته‌ی %r از %r ارث‌بری می‌کند که پوسته‌ای بارشده نیست. پوسته‌های بارشده عبارت‌اند از: %s" #, python-format msgid "The %r theme has too many ancestors" -msgstr "" +msgstr "پوسته‌ی %r اجداد بیش از حد زیادی دارد" #, python-format msgid "no theme configuration file found in %r" -msgstr "" +msgstr "هیچ پرونده‌ی پیکربندی پوسته‌ای در %r پیدا نشد" #, python-format msgid "theme %r doesn't have the \"theme\" table" -msgstr "" +msgstr "پوسته‌ی %r جدول «theme» را ندارد" #, python-format msgid "The %r theme \"[theme]\" table is not a table" -msgstr "" +msgstr "جدول «[theme]» در پوسته‌ی %r یک جدول نیست" #, python-format msgid "The %r theme must define the \"theme.inherit\" setting" -msgstr "" +msgstr "پوسته‌ی %r باید تنظیم «theme.inherit» را تعریف کند" #, python-format msgid "The %r theme \"[options]\" table is not a table" -msgstr "" +msgstr "جدول «[options]» در پوسته‌ی %r یک جدول نیست" #, python-format msgid "The \"theme.pygments_style\" setting must be a table. Hint: \"%s\"" -msgstr "" +msgstr "تنظیم «theme.pygments_style» باید یک جدول باشد. راهنمایی: «%s»" #, python-format msgid "Event %r already present" -msgstr "" +msgstr "رویداد %r هم‌اکنون وجود دارد" #, python-format msgid "Unknown event name: %s" -msgstr "" +msgstr "نام رویداد ناشناخته: %s" #, python-format msgid "Handler %r for event %r threw an exception" -msgstr "" +msgstr "هندلر %r برای رویداد %r استثنایی پرتاب کرد" #, python-format msgid "" "multiple files found for the document \"%s\": %s\n" "Use %r for the build." msgstr "" +"چندین پرونده برای سند «%s» پیدا شد: %s\n" +"برای ساخت از %r استفاده کنید." #, python-format msgid "Ignored unreadable document %r." -msgstr "" +msgstr "سند غیرقابل‌خواندن %r نادیده گرفته شد." #, python-format msgid "Builder class %s has no \"name\" attribute" -msgstr "" +msgstr "کلاس سازنده‌ی %s ویژگی «name» ندارد" #, python-format msgid "Builder %r already exists (in module %s)" -msgstr "" +msgstr "سازنده‌ی %r هم‌اکنون وجود دارد (در ماژول %s)" #, python-format msgid "Builder name %s not registered or available through entry point" -msgstr "" +msgstr "نام سازنده‌ی %s ثبت نشده یا از طریق نقطه‌ی ورود در دسترس نیست" #, python-format msgid "Builder name %s not registered" -msgstr "" +msgstr "نام سازنده‌ی %s ثبت نشده است" #, python-format msgid "domain %s already registered" -msgstr "" +msgstr "دامنه‌ی %s هم‌اکنون ثبت شده است" #, python-format msgid "domain %s not yet registered" -msgstr "" +msgstr "دامنه‌ی %s هنوز ثبت نشده است" #, python-format msgid "The %r directive is already registered to domain %s" -msgstr "" +msgstr "دایرکتیو %r هم‌اکنون در دامنه‌ی %s ثبت شده است" #, python-format msgid "The %r role is already registered to domain %s" -msgstr "" +msgstr "رول %r هم‌اکنون در دامنه‌ی %s ثبت شده است" #, python-format msgid "The %r index is already registered to domain %s" -msgstr "" +msgstr "اندیس %r هم‌اکنون در دامنه‌ی %s ثبت شده است" #, python-format msgid "The %r object_type is already registered" -msgstr "" +msgstr "object_type با نام %r هم‌اکنون ثبت شده است" #, python-format msgid "The %r crossref_type is already registered" -msgstr "" +msgstr "crossref_type با نام %r هم‌اکنون ثبت شده است" #, python-format msgid "source_suffix %r is already registered" -msgstr "" +msgstr "source_suffix با نام %r هم‌اکنون ثبت شده است" #, python-format msgid "source_parser for %r is already registered" -msgstr "" +msgstr "source_parser برای %r هم‌اکنون ثبت شده است" #, python-format msgid "Source parser for %s not registered" -msgstr "" +msgstr "پارسر منبع برای %s ثبت نشده است" #, python-format msgid "Translator for %r already exists" -msgstr "" +msgstr "مترجم برای %r هم‌اکنون وجود دارد" #, python-format msgid "kwargs for add_node() must be a (visit, depart) function tuple: %r=%r" -msgstr "" +msgstr "آرگومان‌های کلیدواژه‌ای ()add_node باید یک تاپل تابعی (visit, depart) باشد: %r=%r" #, python-format msgid "enumerable_node %r already registered" -msgstr "" +msgstr "enumerable_node با نام %r هم‌اکنون ثبت شده است" #, python-format msgid "math renderer %s is already registered" -msgstr "" +msgstr "رندرکننده‌ی ریاضی %s هم‌اکنون ثبت شده است" #, python-format msgid "the extension %r was already merged with Sphinx since version %s; this extension is ignored." -msgstr "" +msgstr "افزونه‌ی %r از نسخه‌ی %s با Sphinx ادغام شده است؛ این افزونه نادیده گرفته می‌شود." msgid "Original exception:\n" -msgstr "" +msgstr "استثنای اصلی:\n" #, python-format msgid "Could not import extension %s" -msgstr "" +msgstr "ایمپورت افزونه‌ی %s ممکن نشد" #, python-format msgid "extension %r has no setup() function; is it really a Sphinx extension module?" -msgstr "" +msgstr "افزونه‌ی %r تابع ()setup ندارد؛ آیا این واقعاً یک ماژول افزونه‌ی Sphinx است؟" #, python-format msgid "The %s extension used by this project needs at least Sphinx v%s; it therefore cannot be built with this version." -msgstr "" +msgstr "افزونه‌ی %s که این پروژه استفاده می‌کند حداقل به Sphinx نسخه‌ی %s نیاز دارد؛ بنابراین نمی‌توان آن را با این نسخه ساخت." #, python-format msgid "extension %r returned an unsupported object from its setup() function; it should return None or a metadata dictionary" -msgstr "" +msgstr "افزونه‌ی %r شیئی پشتیبانی‌نشده از تابع ()setup خود بازگرداند؛ باید None یا دیکشنری فراداده بازگرداند" #, python-format msgid "`None` is not a valid filetype for %r." -msgstr "" +msgstr "«None» نوع پرونده‌ی معتبری برای %r نیست." #, python-format msgid "Common Vulnerabilities and Exposures; CVE %s" -msgstr "" +msgstr "آسیب‌پذیری‌ها و افشاگری‌های عمومی؛ CVE %s" #, python-format msgid "invalid CVE number %s" -msgstr "" +msgstr "شماره‌ی CVE نامعتبر %s" #, python-format msgid "Common Weakness Enumeration; CWE %s" -msgstr "" +msgstr "فهرست ضعف‌های عمومی؛ CWE %s" #, python-format msgid "invalid CWE number %s" -msgstr "" +msgstr "شماره‌ی CWE نامعتبر %s" #, python-format msgid "Python Enhancement Proposals; PEP %s" -msgstr "" +msgstr "پیشنهادهای بهبود پایتون؛ PEP %s" #, python-format msgid "invalid PEP number %s" -msgstr "" +msgstr "شماره‌ی PEP نامعتبر %s" #, python-format msgid "invalid RFC number %s" -msgstr "" +msgstr "شماره‌ی RFC نامعتبر %s" msgid "[source]" -msgstr "[source]" +msgstr "نمایش منبع" msgid "highlighting module code... " -msgstr "" +msgstr "در حال برجسته‌سازی کد ماژول... " msgid "[docs]" -msgstr "" +msgstr "[مستندات]" msgid "Module code" -msgstr "" +msgstr "کد ماژول" #, python-format msgid "

Source code for %s

" -msgstr "" +msgstr "

کد منبع برای %s

" msgid "Overview: module code" -msgstr "" +msgstr "بررسی اجمالی: کد ماژول" msgid "

All modules for which code is available

" -msgstr "" +msgstr "

تمام ماژول‌هایی که کد آن‌ها در دسترس است

" #, python-format msgid "hardcoded link %r could be replaced by an extlink (try using %r instead)" -msgstr "" +msgstr "پیوند سخت‌کدشده‌ی %r می‌تواند با یک extlink جایگزین شود (به‌جای آن از %r استفاده کنید)" #, python-format msgid "section \"%s\" gets labeled as \"%s\"" -msgstr "" +msgstr "بخش «%s» با برچسب «%s» علامت‌گذاری می‌شود" #, python-format msgid "duplicate label %s, other instance in %s" -msgstr "" +msgstr "برچسب تکراری %s، نمونه‌ی دیگر در %s" msgid "Link to this equation" -msgstr "" +msgstr "پیوند به این معادله" msgid "====================== slowest reading durations =======================" -msgstr "" +msgstr "====================== کندترین مدت‌زمان‌های خواندن =======================" #, python-format msgid "missing '+' or '-' in '%s' option." -msgstr "" +msgstr "«+» یا «-» در گزینه‌ی «%s» گم شده است." #, python-format msgid "'%s' is not a valid option." -msgstr "" +msgstr "«%s» گزینه‌ی معتبری نیست." #, python-format msgid "'%s' is not a valid pyversion option" -msgstr "" +msgstr "«%s» گزینه‌ی pyversion معتبری نیست" msgid "invalid TestCode type" -msgstr "" +msgstr "نوع TestCode نامعتبر" #, python-format msgid "Testing of doctests in the sources finished, look at the results in %(outdir)s/output.txt." -msgstr "" +msgstr "آزمایش doctestها در منابع به پایان رسید، نتایج را در %(outdir)s/output.txt ببینید." #, python-format msgid "no code/output in %s block at %s:%s" -msgstr "" +msgstr "هیچ کد/خروجی‌ای در بلوک %s در %s:%s نیست" #, python-format msgid "ignoring invalid doctest code: %r" -msgstr "" +msgstr "کد doctest نامعتبر نادیده گرفته شد: %r" #, python-format msgid "LaTeX command %r cannot be run (needed for math display), check the imgmath_latex setting" -msgstr "" +msgstr "دستور LaTeX با نام %r قابل اجرا نیست (برای نمایش ریاضی لازم است)، تنظیم imgmath_latex را بررسی کنید" #, python-format msgid "%s command %r cannot be run (needed for math display), check the imgmath_%s setting" -msgstr "" +msgstr "دستور %s با نام %r قابل اجرا نیست (برای نمایش ریاضی لازم است)، تنظیم imgmath_%s را بررسی کنید" #, python-format msgid "display latex %r: %s" -msgstr "" +msgstr "نمایش latex برای %r: %s" #, python-format msgid "inline latex %r: %s" -msgstr "" +msgstr "latex درون‌خطی برای %r: %s" #, python-format msgid "invalid regex %r in %s" -msgstr "" +msgstr "عبارت باقاعده‌ی نامعتبر %r در %s" #, python-format msgid "module %s could not be imported: %s" -msgstr "" +msgstr "ماژول %s ایمپورت نشد: %s" #, python-format msgid "the following modules are documented but were not specified in coverage_modules: %s" -msgstr "" +msgstr "ماژول‌های زیر مستند شده‌اند اما در coverage_modules مشخص نشده‌اند: %s" msgid "the following modules are specified in coverage_modules but were not documented" -msgstr "" +msgstr "ماژول‌های زیر در coverage_modules مشخص شده‌اند اما مستند نشده‌اند" #, python-format, python-brace-format msgid "Testing of coverage in the sources finished, look at the results in %(outdir)s{sep}python.txt." -msgstr "" +msgstr "آزمایش پوشش در منابع به پایان رسید، نتایج را در %(outdir)s{sep}python.txt ببینید." #, python-format msgid "invalid regex %r in coverage_c_regexes" -msgstr "" +msgstr "عبارت باقاعده‌ی نامعتبر %r در coverage_c_regexes" #, python-format msgid "undocumented c api: %s [%s] in file %s" -msgstr "" +msgstr "API سی مستندنشده: %s [%s] در پرونده‌ی %s" #, python-format msgid "undocumented python function: %s :: %s" -msgstr "" +msgstr "تابع پایتونی مستندنشده: %s :: %s" #, python-format msgid "undocumented python class: %s :: %s" -msgstr "" +msgstr "کلاس پایتونی مستندنشده: %s :: %s" #, python-format msgid "undocumented python method: %s :: %s :: %s" -msgstr "" +msgstr "متد پایتونی مستندنشده: %s :: %s :: %s" #, python-format msgid "" @@ -948,6 +953,9 @@ msgid "" "\n" "Traceback: %s" msgstr "" +"اجرای دستور تبدیل تصویر %r ممکن نشد. «sphinx.ext.imgconverter» به‌طور پیش‌فرض به ImageMagick نیاز دارد. اطمینان حاصل کنید نصب شده است، یا گزینه‌ی «image_converter» را روی یک دستور تبدیل سفارشی تنظیم کنید.\n" +"\n" +"ردگیری: %s" #, python-format msgid "" @@ -957,28 +965,33 @@ msgid "" "[stdout]\n" "%r" msgstr "" +"دستور convert با خطا خارج شد:\n" +"[stderr]\n" +"%r\n" +"[stdout]\n" +"%r" #, python-format msgid "convert command %r cannot be run, check the image_converter setting" -msgstr "" +msgstr "دستور convert با نام %r قابل اجرا نیست، تنظیم image_converter را بررسی کنید" msgid "Graphviz directive cannot have both content and a filename argument" -msgstr "" +msgstr "دایرکتیو Graphviz نمی‌تواند هم محتوا و هم آرگومان نام پرونده داشته باشد" #, python-format msgid "External Graphviz file %r not found or reading it failed" -msgstr "" +msgstr "پرونده‌ی خارجی Graphviz با نام %r پیدا نشد یا خواندن آن شکست خورد" msgid "Ignoring \"graphviz\" directive without content." -msgstr "" +msgstr "دایرکتیو «graphviz» بدون محتوا نادیده گرفته شد." #, python-format msgid "graphviz_dot executable path must be set! %r" -msgstr "" +msgstr "مسیر اجرایی graphviz_dot باید تنظیم شود! %r" #, python-format msgid "dot command %r cannot be run (needed for graphviz output), check the graphviz_dot setting" -msgstr "" +msgstr "دستور dot با نام %r قابل اجرا نیست (برای خروجی graphviz لازم است)، تنظیم graphviz_dot را بررسی کنید" #, python-format msgid "" @@ -988,6 +1001,11 @@ msgid "" "[stdout]\n" "%r" msgstr "" +"دستور dot با خطا خارج شد:\n" +"[stderr]\n" +"%r\n" +"[stdout]\n" +"%r" #, python-format msgid "" @@ -997,817 +1015,827 @@ msgid "" "[stdout]\n" "%r" msgstr "" +"دستور dot پرونده‌ی خروجی تولید نکرد:\n" +"[stderr]\n" +"%r\n" +"[stdout]\n" +"%r" #, python-format msgid "graphviz_output_format must be either 'png' or 'svg', but is %r" -msgstr "" +msgstr "graphviz_output_format باید «png» یا «svg» باشد، اما %r است" #, python-format msgid "dot code %r: %s" -msgstr "" +msgstr "کد dot در %r: %s" #, python-format msgid "[graph: %s]" -msgstr "" +msgstr "[گراف: %s]" msgid "[graph]" -msgstr "" +msgstr "[گراف]" msgid "Todo" -msgstr "" +msgstr "کارهای باقی‌مانده" #, python-format msgid "TODO entry found: %s" -msgstr "" +msgstr "ورودی کارهای باقی‌مانده پیدا شد: %s" msgid "<>" -msgstr "" +msgstr "<<ورودی اصلی>>" #, python-format msgid "(The <> is located in %s, line %d.)" -msgstr "" +msgstr "(<<ورودی اصلی>> در %s، سطر %d قرار دارد.)" msgid "original entry" -msgstr "" +msgstr "ورودی اصلی" msgid "non-whitespace stripped by dedent" -msgstr "" +msgstr "نویسه‌ی غیرفاصله توسط dedent حذف شد" #, python-format msgid "Invalid caption: %s" -msgstr "" +msgstr "زیرنویس نامعتبر: %s" #, python-format msgid "line number spec is out of range(1-%d): %r" -msgstr "" +msgstr "مشخصه‌ی شماره‌ی سطر خارج از محدوده‌ی (۱ تا %d) است: %r" #, python-format msgid "Cannot use both \"%s\" and \"%s\" options" -msgstr "" +msgstr "نمی‌توان هر دو گزینه‌ی «%s» و «%s» را استفاده کرد" #, python-format msgid "Include file '%s' not found or reading it failed" -msgstr "" +msgstr "پرونده‌ی include با نام «%s» پیدا نشد یا خواندن آن شکست خورد" #, python-format msgid "Encoding %r used for reading included file '%s' seems to be wrong, try giving an :encoding: option" -msgstr "" +msgstr "کدگذاری %r که برای خواندن پرونده‌ی include‌شده‌ی «%s» استفاده شده، اشتباه به‌نظر می‌رسد، گزینه‌ی :encoding: را امتحان کنید" #, python-format msgid "Object named %r not found in include file %r" -msgstr "" +msgstr "شیئی با نام %r در پرونده‌ی include شده‌ی %r پیدا نشد" msgid "Cannot use \"lineno-match\" with a disjoint set of \"lines\"" -msgstr "" +msgstr "نمی‌توان «lineno-match» را با مجموعه‌ای ناپیوسته از «lines» استفاده کرد" #, python-format msgid "Line spec %r: no lines pulled from include file %r" -msgstr "" +msgstr "مشخصه‌ی سطر %r: هیچ سطری از پرونده‌ی include شده‌ی %r دریافت نشد" msgid "\":file:\" option for csv-table directive now recognizes an absolute path as a relative path from source directory. Please update your document." -msgstr "" +msgstr "گزینه‌ی «:file:» برای دایرکتیو csv-table اکنون یک مسیر مطلق را به‌عنوان مسیری نسبی از پوشه‌ی منبع تشخیص می‌دهد. لطفاً سند خود را به‌روزرسانی کنید." #, python-format msgid "toctree glob pattern %r didn't match any documents" -msgstr "" +msgstr "الگوی glob در toctree با نام %r با هیچ سندی مطابقت نداشت" #, python-format msgid "toctree contains reference to excluded document %r" -msgstr "" +msgstr "toctree حاوی ارجاعی به سند حذف‌شده‌ی %r است" #, python-format msgid "toctree contains reference to nonexisting document %r" -msgstr "" +msgstr "toctree حاوی ارجاعی به سند ناموجود %r است" #, python-format msgid "duplicated entry found in toctree: %s" -msgstr "" +msgstr "ورودی تکراری در toctree پیدا شد: %s" msgid "Section author: " -msgstr "" +msgstr "نویسنده‌ی بخش: " msgid "Module author: " -msgstr "" +msgstr "نویسنده‌ی ماژول: " msgid "Code author: " -msgstr "" +msgstr "نویسنده‌ی کد: " msgid "Author: " -msgstr "" +msgstr "نویسنده: " msgid ".. acks content is not a list" -msgstr "" +msgstr "محتوای ‎.. acks یک فهرست نیست" msgid ".. hlist content is not a list" -msgstr "" +msgstr "محتوای ‎.. hlist یک فهرست نیست" #, python-format msgid "The overview file is in %(outdir)s." -msgstr "" +msgstr "پرونده‌ی بررسی اجمالی در %(outdir)s است." #, python-format msgid "no changes in version %s." -msgstr "هیچ تغیری در نسخه‌ی %s نبوده" +msgstr "تغییری در نسخه‌ی %s وجود ندارد." msgid "writing summary file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی خلاصه..." msgid "Builtins" -msgstr "" +msgstr "توکارها" msgid "Module level" -msgstr "" +msgstr "سطح ماژول" msgid "copying source files..." -msgstr "" +msgstr "در حال کپی کردن پرونده‌های منبع..." #, python-format msgid "could not read %r for changelog creation" -msgstr "" +msgstr "خواندن %r برای ساخت گزارش تغییرات ممکن نشد" #, python-format msgid "The manual pages are in %(outdir)s." -msgstr "" +msgstr "صفحه‌های راهنما در %(outdir)s هستند." msgid "no \"man_pages\" config value found; no manual pages will be written" -msgstr "" +msgstr "هیچ مقدار پیکربندی «man_pages» پیدا نشد؛ هیچ صفحه‌ی راهنمایی نوشته نخواهد شد" msgid "writing" -msgstr "" +msgstr "در حال نوشتن" #, python-format msgid "\"man_pages\" config value references unknown document %s" -msgstr "" +msgstr "مقدار پیکربندی «man_pages» به سند ناشناخته‌ی %s ارجاع می‌دهد" #, python-format msgid "a suitable image for %s builder not found: %s (%s)" -msgstr "" +msgstr "تصویر مناسبی برای سازنده‌ی %s پیدا نشد: %s (%s)" #, python-format msgid "a suitable image for %s builder not found: %s" -msgstr "" +msgstr "تصویر مناسبی برای سازنده‌ی %s پیدا نشد: %s" msgid "building [mo]: " -msgstr "" +msgstr "در حال ساخت [mo]: " msgid "writing output... " -msgstr "" +msgstr "در حال نوشتن خروجی... " #, python-format msgid "all of %d po files" -msgstr "" +msgstr "همه‌ی %d پرونده‌ی po" #, python-format msgid "targets for %d po files that are specified" -msgstr "" +msgstr "هدف‌ها برای %d پرونده‌ی po که مشخص شده‌اند" #, python-format msgid "targets for %d po files that are out of date" -msgstr "" +msgstr "هدف‌ها برای %d پرونده‌ی po که قدیمی هستند" msgid "all source files" -msgstr "" +msgstr "همه‌ی پرونده‌های منبع" #, python-format msgid "file %r given on command line does not exist, " -msgstr "" +msgstr "پرونده‌ی %r که در خط فرمان داده شده وجود ندارد، " #, python-format msgid "file %r given on command line is not under the source directory, ignoring" -msgstr "" +msgstr "پرونده‌ی %r که در خط فرمان داده شده زیرمجموعه‌ی پوشه‌ی منبع نیست، نادیده گرفته شد" #, python-format msgid "file %r given on command line is not a valid document, ignoring" -msgstr "" +msgstr "پرونده‌ی %r که در خط فرمان داده شده سند معتبری نیست، نادیده گرفته شد" #, python-format msgid "%d source files given on command line" -msgstr "" +msgstr "%d پرونده‌ی منبع در خط فرمان داده شد" #, python-format msgid "targets for %d source files that are out of date" -msgstr "" +msgstr "هدف‌ها برای %d پرونده‌ی منبع که قدیمی هستند" #, python-format msgid "building [%s]: " -msgstr "" +msgstr "در حال ساخت [%s]: " msgid "looking for now-outdated files... " -msgstr "" +msgstr "در حال جست‌وجوی پرونده‌های اکنون قدیمی... " #, python-format msgid "%d found" -msgstr "" +msgstr "%d پیدا شد" msgid "none found" -msgstr "" +msgstr "هیچ‌کدام پیدا نشد" msgid "pickling environment" -msgstr "" +msgstr "در حال پیکل کردن محیط" msgid "checking consistency" -msgstr "" +msgstr "در حال بررسی یکپارچگی" msgid "no targets are out of date." -msgstr "" +msgstr "هیچ هدفی قدیمی نیست." msgid "updating environment: " -msgstr "" +msgstr "در حال به‌روزرسانی محیط: " #, python-format msgid "%s added, %s changed, %s removed" -msgstr "" +msgstr "%s افزوده شد، %s تغییر کرد، %s حذف شد" #, python-format msgid "Sphinx is unable to load the master document (%s) because it matches a built-in exclude pattern %r. Please move your master document to a different location." -msgstr "" +msgstr "Sphinx نمی‌تواند سند اصلی (%s) را بار کند چون با الگوی حذف توکار %r مطابقت دارد. لطفاً سند اصلی خود را به مکان دیگری منتقل کنید." #, python-format msgid "Sphinx is unable to load the master document (%s) because it matches an exclude pattern specified in conf.py, %r. Please remove this pattern from conf.py." -msgstr "" +msgstr "Sphinx نمی‌تواند سند اصلی (%s) را بار کند چون با الگوی حذف مشخص‌شده در conf.py، یعنی %r، مطابقت دارد. لطفاً این الگو را از conf.py حذف کنید." #, python-format msgid "Sphinx is unable to load the master document (%s) because it is not included in the custom include_patterns = %r. Ensure that a pattern in include_patterns matches the master document." -msgstr "" +msgstr "Sphinx نمی‌تواند سند اصلی (%s) را بار کند چون در include_patterns سفارشی، یعنی %r، گنجانده نشده است. مطمئن شوید یکی از الگوهای include_patterns با سند اصلی مطابقت دارد." #, python-format msgid "Sphinx is unable to load the master document (%s). The master document must be within the source directory or a subdirectory of it." -msgstr "" +msgstr "Sphinx نمی‌تواند سند اصلی (%s) را بار کند. سند اصلی باید درون پوشه‌ی منبع یا زیرپوشه‌ای از آن باشد." msgid "reading sources... " -msgstr "" +msgstr "در حال خواندن منابع... " #, python-format msgid "docnames to write: %s" -msgstr "" +msgstr "نام‌سندهای موردنیاز برای نوشتن: %s" msgid "no docnames to write!" -msgstr "" +msgstr "هیچ نام‌سندی برای نوشتن وجود ندارد!" msgid "preparing documents" -msgstr "" +msgstr "در حال آماده‌سازی سندها" msgid "copying assets" -msgstr "" +msgstr "در حال کپی کردن دارایی‌ها" #, python-format msgid "undecodable source characters, replacing with \"?\": %r" -msgstr "" +msgstr "نویسه‌های منبع کدگشایی‌ناپذیر، جایگزینی با «؟»: %r" #, python-format msgid "The ePub file is in %(outdir)s." -msgstr "" +msgstr "پرونده‌ی ePub در %(outdir)s است." msgid "writing nav.xhtml file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی nav.xhtml..." msgid "conf value \"epub_language\" (or \"language\") should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_language» (یا «language») برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_uid\" should be XML NAME for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_uid» برای EPUB3 باید XML NAME باشد" msgid "conf value \"epub_title\" (or \"html_title\") should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_title» (یا «html_title») برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_author\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_author» برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_contributor\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_contributor» برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_description\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_description» برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_publisher\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_publisher» برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_copyright\" (or \"copyright\")should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_copyright» (یا «copyright») برای EPUB3 نباید خالی باشد" msgid "conf value \"epub_identifier\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «epub_identifier» برای EPUB3 نباید خالی باشد" msgid "conf value \"version\" should not be empty for EPUB3" -msgstr "" +msgstr "مقدار پیکربندی «version» برای EPUB3 نباید خالی باشد" #, python-format msgid "invalid css_file: %r, ignored" -msgstr "" +msgstr "css_file نامعتبر: %r، نادیده گرفته شد" #, python-format msgid "The XML files are in %(outdir)s." -msgstr "" +msgstr "پرونده‌های XML در %(outdir)s هستند." #, python-format msgid "error writing file %s: %s" -msgstr "" +msgstr "خطا در نوشتن پرونده‌ی %s: %s" #, python-format msgid "The pseudo-XML files are in %(outdir)s." -msgstr "" +msgstr "پرونده‌های شبه‌XML در %(outdir)s هستند." #, python-format msgid "The Texinfo files are in %(outdir)s." -msgstr "" +msgstr "پرونده‌های Texinfo در %(outdir)s هستند." msgid "" "\n" "Run 'make' in that directory to run these through makeinfo\n" "(use 'make info' here to do that automatically)." msgstr "" +"\n" +"دستور «make» را در آن پوشه اجرا کنید تا این‌ها از طریق makeinfo پردازش شوند\n" +"(برای انجام خودکار این کار از «make info» استفاده کنید)." msgid "no \"texinfo_documents\" config value found; no documents will be written" -msgstr "" +msgstr "هیچ مقدار پیکربندی «texinfo_documents» پیدا نشد؛ هیچ سندی نوشته نخواهد شد" #, python-format msgid "\"texinfo_documents\" config value references unknown document %s" -msgstr "" +msgstr "مقدار پیکربندی «texinfo_documents» به سند ناشناخته‌ی %s ارجاع می‌دهد" #, python-format msgid "processing %s" -msgstr "" +msgstr "در حال پردازش %s" msgid "resolving references..." -msgstr "" +msgstr "در حال حل ارجاع‌ها..." msgid " (in " -msgstr "" +msgstr " (در " msgid "copying images... " -msgstr "" +msgstr "در حال کپی کردن تصاویر... " #, python-format msgid "cannot copy image file %r: %s" -msgstr "" +msgstr "کپی کردن پرونده‌ی تصویر %r ممکن نشد: %s" msgid "copying Texinfo support files" -msgstr "" +msgstr "در حال کپی کردن پرونده‌های پشتیبانی Texinfo" #, python-format msgid "error writing file Makefile: %s" -msgstr "" +msgstr "خطا در نوشتن پرونده‌ی Makefile: %s" #, python-format msgid "duplicated ToC entry found: %s" -msgstr "" +msgstr "ورودی تکراری فهرست مطالب پیدا شد: %s" #, python-format msgid "cannot read image file %r: copying it instead" -msgstr "" +msgstr "خواندن پرونده‌ی تصویر %r ممکن نشد: به‌جای آن کپی می‌شود" #, python-format msgid "cannot write image file %r: %s" -msgstr "" +msgstr "نوشتن پرونده‌ی تصویر %r ممکن نشد: %s" msgid "Pillow not found - copying image files" -msgstr "" +msgstr "Pillow پیدا نشد - در حال کپی کردن پرونده‌های تصویر" msgid "writing mimetype file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی mimetype..." msgid "writing META-INF/container.xml file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی META-INF/container.xml..." msgid "writing content.opf file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی content.opf..." #, python-format msgid "unknown mimetype for %s, ignoring" -msgstr "" +msgstr "mimetype ناشناخته برای %s، نادیده گرفته شد" msgid "node has an invalid level" -msgstr "" +msgstr "گره سطح نامعتبری دارد" msgid "writing toc.ncx file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی toc.ncx..." #, python-format msgid "writing %s file..." -msgstr "" +msgstr "در حال نوشتن پرونده‌ی %s..." msgid "The dummy builder generates no files." -msgstr "" +msgstr "سازنده‌ی ساختگی هیچ پرونده‌ای تولید نمی‌کند." #, python-format msgid "The message catalogs are in %(outdir)s." -msgstr "" +msgstr "کاتالوگ‌های پیام در %(outdir)s هستند." #, python-format msgid "targets for %d template files" -msgstr "" +msgstr "هدف‌ها برای %d پرونده‌ی قالب" msgid "reading templates... " -msgstr "" +msgstr "در حال خواندن قالب‌ها... " msgid "writing message catalogs... " -msgstr "" +msgstr "در حال نوشتن کاتالوگ‌های پیام... " #, python-format msgid "The HTML page is in %(outdir)s." -msgstr "" +msgstr "صفحه‌ی HTML در %(outdir)s است." msgid "assembling single document" -msgstr "" +msgstr "در حال گردآوری سند تکی" msgid "writing additional files" -msgstr "" +msgstr "در حال نوشتن پرونده‌های اضافی" #, python-format msgid "Look for any errors in the above output or in %(outdir)s/output.txt" -msgstr "" +msgstr "به‌دنبال هر خطایی در خروجی بالا یا در %(outdir)s/output.txt بگردید" #, python-format msgid "broken link: %s (%s)" -msgstr "" +msgstr "پیوند خراب: %s (%s)" #, python-format msgid "Anchor '%s' not found" -msgstr "" +msgstr "لنگر «%s» پیدا نشد" #, python-format msgid "Failed to compile regex in linkcheck_allowed_redirects: %r %s" -msgstr "" +msgstr "کامپایل عبارت باقاعده در linkcheck_allowed_redirects شکست خورد: %r %s" #, python-format msgid "The text files are in %(outdir)s." -msgstr "" +msgstr "پرونده‌های متنی در %(outdir)s هستند." #, python-brace-format msgid "inconsistent footnote references in translated message. original: {0}, translated: {1}" -msgstr "" +msgstr "ارجاع‌های پانویس ناسازگار در پیام ترجمه‌شده. اصلی: {0}، ترجمه‌شده: {1}" #, python-brace-format msgid "inconsistent references in translated message. original: {0}, translated: {1}" -msgstr "" +msgstr "ارجاع‌های ناسازگار در پیام ترجمه‌شده. اصلی: {0}، ترجمه‌شده: {1}" #, python-brace-format msgid "inconsistent citation references in translated message. original: {0}, translated: {1}" -msgstr "" +msgstr "ارجاع‌های استناد ناسازگار در پیام ترجمه‌شده. اصلی: {0}، ترجمه‌شده: {1}" #, python-brace-format msgid "inconsistent term references in translated message. original: {0}, translated: {1}" -msgstr "" +msgstr "ارجاع‌های اصطلاح ناسازگار در پیام ترجمه‌شده. اصلی: {0}، ترجمه‌شده: {1}" #, python-format msgid "%b %d, %Y" -msgstr "" +msgstr "%d %b %Y" msgid "could not calculate translation progress!" -msgstr "" +msgstr "محاسبه‌ی پیشرفت ترجمه ممکن نشد!" msgid "no translated elements!" -msgstr "" +msgstr "هیچ عنصر ترجمه‌شده‌ای وجود ندارد!" #, python-format msgid "4 column based index found. It might be a bug of extensions you use: %r" -msgstr "" +msgstr "اندیس چهارستونی پیدا شد. ممکن است اشکالی از افزونه‌هایی باشد که استفاده می‌کنید: %r" #, python-format msgid "Footnote [%s] is not referenced." -msgstr "" +msgstr "پانویس [%s] ارجاع داده نشده است." msgid "Footnote [*] is not referenced." -msgstr "" +msgstr "پانویس [*] ارجاع داده نشده است." msgid "Footnote [#] is not referenced." -msgstr "" +msgstr "پانویس [#] ارجاع داده نشده است." msgid "Usage:" -msgstr "" +msgstr "کاربرد:" #, python-brace-format msgid "{0} [OPTIONS] []" -msgstr "" +msgstr "{0} [OPTIONS] []" msgid " The Sphinx documentation generator." -msgstr "" +msgstr " تولیدکننده‌ی مستندات Sphinx." msgid "Commands:" -msgstr "" +msgstr "دستورها:" msgid "Options" msgstr "گزینه‌ها" msgid "For more information, visit https://www.sphinx-doc.org/en/master/man/." -msgstr "" +msgstr "برای اطلاعات بیشتر، از https://www.sphinx-doc.org/en/master/man/ دیدن کنید." #, python-brace-format msgid "" "{0}: error: {1}\n" "Run '{0} --help' for information" msgstr "" +"{0}: خطا: {1}\n" +"برای اطلاعات بیشتر «{0} --help» را اجرا کنید" msgid " Manage documentation with Sphinx." -msgstr "" +msgstr " مدیریت مستندات با Sphinx." msgid "Show the version and exit." -msgstr "" +msgstr "نمایش نسخه و خروج." msgid "Show this message and exit." -msgstr "" +msgstr "نمایش این پیام و خروج." msgid "Logging" -msgstr "" +msgstr "گزارش‌گیری" msgid "Increase verbosity (can be repeated)" -msgstr "" +msgstr "افزایش پرگویی (قابل تکرار)" msgid "Only print errors and warnings." -msgstr "" +msgstr "فقط چاپ خطاها و هشدارها." msgid "No output at all" -msgstr "" +msgstr "بدون هیچ خروجی‌ای" msgid "" -msgstr "" +msgstr "" msgid "See 'sphinx --help'.\n" -msgstr "" +msgstr "به «sphinx --help» مراجعه کنید.\n" msgid "new config" -msgstr "" +msgstr "پیکربندی جدید" msgid "config changed" -msgstr "" +msgstr "پیکربندی تغییر کرد" msgid "extensions changed" -msgstr "" +msgstr "افزونه‌ها تغییر کردند" msgid "build environment version not current" -msgstr "" +msgstr "نسخه‌ی محیط ساخت به‌روز نیست" msgid "source directory has changed" -msgstr "" +msgstr "پوشه‌ی منبع تغییر کرده است" #, python-format msgid "The configuration has changed (1 option: %r)" -msgstr "" +msgstr "پیکربندی تغییر کرده است (۱ گزینه: %r)" #, python-format msgid "The configuration has changed (%d options: %s)" -msgstr "" +msgstr "پیکربندی تغییر کرده است (%d گزینه: %s)" #, python-format msgid "The configuration has changed (%d options: %s, ...)" -msgstr "" +msgstr "پیکربندی تغییر کرده است (%d گزینه: %s، ...)" msgid "This environment is incompatible with the selected builder, please choose another doctree directory." -msgstr "" +msgstr "این محیط با سازنده‌ی انتخاب‌شده ناسازگار است، لطفاً پوشه‌ی doctree دیگری انتخاب کنید." #, python-format msgid "Failed to scan documents in %s: %r" -msgstr "" +msgstr "پویش سندها در %s شکست خورد: %r" #, python-format msgid "Domain %r is not registered" -msgstr "" +msgstr "دامنه‌ی %r ثبت نشده است" msgid "document isn't included in any toctree" -msgstr "" +msgstr "سند در هیچ toctree‌ای گنجانده نشده است" msgid "self referenced toctree found. Ignored." -msgstr "" +msgstr "toctree خودارجاع پیدا شد. نادیده گرفته شد." #, python-format msgid "document is referenced in multiple toctrees: %s, selecting: %s <- %s" -msgstr "" +msgstr "سند در چندین toctree ارجاع داده شده است: %s، انتخاب: %s <- %s" #, python-format msgid "reading error: %s, %s" -msgstr "" +msgstr "خطای خواندن: %s، %s" #, python-format msgid "writing error: %s, %s" -msgstr "" +msgstr "خطای نوشتن: %s، %s" #, python-format msgid "locale_dir %s does not exist" -msgstr "" +msgstr "locale_dir با مقدار %s وجود ندارد" #, python-format msgid "Invalid Babel locale: %r." -msgstr "" +msgstr "لوکیل Babel نامعتبر: %r." #, python-format msgid "Invalid date format. Quote the string by single quote if you want to output it directly: %s" -msgstr "" +msgstr "قالب تاریخ نامعتبر است. اگر می‌خواهید آن را مستقیماً خروجی دهید، رشته را با تک‌کوتیشن نقل‌قول کنید: %s" #, python-format msgid "Problem in %s domain: field is supposed to use role '%s', but that role is not in the domain." -msgstr "" +msgstr "مشکل در دامنه‌ی %s: فرض بر این است که فیلد از رول «%s» استفاده کند، اما آن رول در دامنه وجود ندارد." #, python-format msgid "%r is deprecated for index entries (from entry %r). Use 'pair: %s' instead." -msgstr "" +msgstr "%r برای ورودی‌های اندیس منسوخ شده است (از ورودی %r). به‌جای آن از «pair: %s» استفاده کنید." #, python-format msgid "toctree contains ref to nonexisting file %r" -msgstr "" +msgstr "toctree حاوی ارجاعی به پرونده‌ی ناموجود %r است" #, python-format msgid "exception while evaluating only directive expression: %s" -msgstr "" +msgstr "استثنا هنگام ارزیابی عبارت دایرکتیو only: %s" msgid "skipped" -msgstr "" +msgstr "رد شد" msgid "failed" -msgstr "" +msgstr "شکست خورد" #, python-format msgid "Aborted attempted copy from %s to %s (the destination path has existing data)." -msgstr "" +msgstr "تلاش برای کپی از %s به %s لغو شد (مسیر مقصد دارای داده‌ی موجود است)." #, python-format msgid "unknown directive name: %s" -msgstr "" +msgstr "نام دایرکتیو ناشناخته: %s" #, python-format msgid "unknown role name: %s" -msgstr "" +msgstr "نام رول ناشناخته: %s" #, python-format msgid "unknown node type: %r" -msgstr "" +msgstr "نوع گره ناشناخته: %r" #, python-format msgid "Aborted attempted copy from rendered template %s to %s (the destination path has existing data)." -msgstr "" +msgstr "تلاش برای کپی از قالب رندرشده‌ی %s به %s لغو شد (مسیر مقصد دارای داده‌ی موجود است)." #, python-format msgid "Writing evaluated template result to %s" -msgstr "" +msgstr "در حال نوشتن نتیجه‌ی ارزیابی‌شده‌ی قالب در %s" #, python-format msgid "default role %s not found" -msgstr "" +msgstr "رول پیش‌فرض %s پیدا نشد" #, python-format msgid "inventory <%s> contains duplicate definitions of %s" -msgstr "" +msgstr "فهرست موجودی <%s> حاوی تعریف‌های تکراری از %s است" #, python-format msgid "inventory <%s> contains multiple definitions for %s" -msgstr "" +msgstr "فهرست موجودی <%s> حاوی چندین تعریف برای %s است" msgid "Footnotes" -msgstr "" +msgstr "پانویس‌ها" #, python-format msgid "[image: %s]" -msgstr "" +msgstr "[تصویر: %s]" msgid "[image]" -msgstr "" +msgstr "[تصویر]" msgid "Index" -msgstr "" +msgstr "اندیس" msgid "encountered title node not in section, topic, table, admonition or sidebar" -msgstr "" +msgstr "گره‌ی عنوانی برخورد شد که در بخش، موضوع، جدول، هشدار یا نوار کناری نیست" msgid "caption not inside a figure." -msgstr "" +msgstr "زیرنویس درون یک شکل نیست." #, python-format msgid "unimplemented node type: %r" -msgstr "" +msgstr "نوع گره پیاده‌سازی‌نشده: %r" #, python-format msgid "unknown %r toplevel_sectioning for class %r" -msgstr "" +msgstr "toplevel_sectioning ناشناخته‌ی %r برای کلاس %r" #, python-format msgid "no Babel option known for language %r" -msgstr "" +msgstr "هیچ گزینه‌ی Babel شناخته‌شده‌ای برای زبان %r وجود ندارد" msgid "too large :maxdepth:, ignored." -msgstr "" +msgstr ":maxdepth: بیش از حد بزرگ است، نادیده گرفته شد." #, python-format msgid "template %s not found; loading from legacy %s instead" -msgstr "" +msgstr "قالب %s پیدا نشد؛ به‌جای آن از %s قدیمی بار می‌شود" msgid "document title is not a single Text node" -msgstr "" +msgstr "عنوان سند یک گره‌ی متنی تکی نیست" #, python-format msgid "unsupported rubric heading level: %s" -msgstr "" +msgstr "سطح عنوان rubric پشتیبانی‌نشده: %s" msgid "both tabularcolumns and :widths: option are given. :widths: is ignored." -msgstr "" +msgstr "هم tabularcolumns و هم گزینه‌ی :widths: داده شده‌اند. :widths: نادیده گرفته می‌شود." #, python-format msgid "dimension unit %s is invalid. Ignored." -msgstr "" +msgstr "واحد ابعاد %s نامعتبر است. نادیده گرفته شد." #, python-format msgid "unknown index entry type %s found" -msgstr "" +msgstr "نوع ورودی اندیس ناشناخته‌ی %s پیدا شد" #, python-format msgid "Invalid math_eqref_format: %r" -msgstr "" +msgstr "math_eqref_format نامعتبر: %r" msgid "Link to this definition" -msgstr "" +msgstr "پیوند به این تعریف" #, python-format msgid "numfig_format is not defined for %s" -msgstr "" +msgstr "numfig_format برای %s تعریف نشده است" #, python-format msgid "Any IDs not assigned for %s node" -msgstr "" +msgstr "هیچ شناسه‌ای برای گره‌ی %s تخصیص نیافته است" msgid "Link to this term" -msgstr "" +msgstr "پیوند به این اصطلاح" msgid "Link to this heading" -msgstr "" +msgstr "پیوند به این عنوان" msgid "Link to this table" -msgstr "" +msgstr "پیوند به این جدول" msgid "Link to this code" -msgstr "" +msgstr "پیوند به این کد" msgid "Link to this image" -msgstr "" +msgstr "پیوند به این تصویر" msgid "Link to this toctree" -msgstr "" +msgstr "پیوند به این toctree" msgid "Could not obtain image size. :scale: option is ignored." -msgstr "" +msgstr "اندازه‌ی تصویر به‌دست نیامد. گزینه‌ی :scale: نادیده گرفته می‌شود." #, python-format msgid "%s %s" -msgstr "" +msgstr "%s %s" #, python-format msgid "duplicate label of equation %s, other instance in %s" -msgstr "" +msgstr "برچسب تکراری معادله‌ی %s، نمونه‌ی دیگر در %s" #, python-format msgid "%s() (built-in function)" -msgstr "" +msgstr "()%s (تابع توکار)" #, python-format msgid "%s() (%s method)" -msgstr "" +msgstr "()%s (متد %s)" #, python-format msgid "%s() (class)" -msgstr "" +msgstr "()%s (کلاس)" #, python-format msgid "%s (global variable or constant)" -msgstr "" +msgstr "%s (متغیر سراسری یا ثابت)" #, python-format msgid "%s (%s attribute)" -msgstr "" +msgstr "%s (ویژگی %s)" msgid "Arguments" -msgstr "" +msgstr "آرگومان‌ها" msgid "Throws" -msgstr "" +msgstr "پرتاب می‌کند" msgid "Returns" -msgstr "" +msgstr "بازمی‌گرداند" msgid "Return type" -msgstr "" +msgstr "نوع بازگشتی" #, python-format msgid "%s (module)" -msgstr "" +msgstr "%s (ماژول)" msgid "function" -msgstr "" +msgstr "تابع" msgid "method" -msgstr "" +msgstr "متد" msgid "class" -msgstr "" +msgstr "کلاس" msgid "data" -msgstr "" +msgstr "داده" msgid "attribute" -msgstr "" +msgstr "ویژگی" msgid "module" -msgstr "" +msgstr "ماژول" #, python-format msgid "duplicate %s description of %s, other %s in %s" -msgstr "" +msgstr "توضیح %s تکراری برای %s، %s دیگر در %s" #, python-format msgid "Added in version %s" @@ -1827,167 +1855,175 @@ msgstr "حذف شده در نسخه‌ی %s" #, python-format msgid "%s (directive)" -msgstr "" +msgstr "%s (دایرکتیو)" #, python-format msgid ":%s: (directive option)" -msgstr "" +msgstr ":%s: (گزینه‌ی دایرکتیو)" #, python-format msgid "%s (role)" -msgstr "" +msgstr "%s (رول)" msgid "directive" -msgstr "" +msgstr "دایرکتیو" msgid "directive-option" -msgstr "" +msgstr "گزینه‌ی دایرکتیو" msgid "role" -msgstr "" +msgstr "رول" #, python-format msgid "duplicate description of %s %s, other instance in %s" -msgstr "" +msgstr "توضیح تکراری %s %s، نمونه‌ی دیگر در %s" #, python-format msgid "duplicate citation %s, other instance in %s" -msgstr "" +msgstr "استناد تکراری %s، نمونه‌ی دیگر در %s" #, python-format msgid "Citation [%s] is not referenced." -msgstr "" +msgstr "استناد [%s] ارجاع داده نشده است." msgid "Attention" -msgstr "" +msgstr "توجه" msgid "Caution" -msgstr "" +msgstr "احتیاط" msgid "Danger" -msgstr "" +msgstr "خطر" msgid "Error" -msgstr "" +msgstr "خطا" msgid "Hint" -msgstr "" +msgstr "راهنمایی" msgid "Important" -msgstr "" +msgstr "مهم" msgid "Note" -msgstr "" +msgstr "نکته" msgid "See also" -msgstr "" +msgstr "همچنین ببینید" msgid "Tip" -msgstr "" +msgstr "نکته‌ی کاربردی" msgid "Warning" -msgstr "" +msgstr "هشدار" msgid "automatically insert docstrings from modules" -msgstr "" +msgstr "درج خودکار رشته‌های مستندساز از ماژول‌ها" msgid "automatically test code snippets in doctest blocks" -msgstr "" +msgstr "آزمایش خودکار قطعه‌کدها در بلوک‌های doctest" msgid "link between Sphinx documentation of different projects" -msgstr "" +msgstr "پیوند میان مستندات Sphinx پروژه‌های مختلف" msgid "write \"todo\" entries that can be shown or hidden on build" -msgstr "" +msgstr "نوشتن ورودی‌های «todo» که هنگام ساخت می‌توانند نمایش یا پنهان شوند" msgid "checks for documentation coverage" -msgstr "" +msgstr "بررسی پوشش مستندات" msgid "include math, rendered as PNG or SVG images" -msgstr "" +msgstr "گنجاندن ریاضیات، رندرشده به‌صورت تصاویر PNG یا SVG" msgid "include math, rendered in the browser by MathJax" -msgstr "" +msgstr "گنجاندن ریاضیات، رندرشده در مرورگر توسط MathJax" msgid "conditional inclusion of content based on config values" -msgstr "" +msgstr "گنجاندن شرطی محتوا بر اساس مقادیر پیکربندی" msgid "include links to the source code of documented Python objects" -msgstr "" +msgstr "گنجاندن پیوند به کد منبع اشیای پایتونی مستندشده" msgid "create .nojekyll file to publish the document on GitHub pages" -msgstr "" +msgstr "ساخت پرونده‌ی nojekyll. برای انتشار سند در GitHub Pages" msgid "Please enter a valid path name." -msgstr "" +msgstr "لطفاً یک نام مسیر معتبر وارد کنید." msgid "Please enter some text." -msgstr "" +msgstr "لطفاً متنی وارد کنید." #, python-format msgid "Please enter one of %s." -msgstr "" +msgstr "لطفاً یکی از %s را وارد کنید." msgid "Please enter either 'y' or 'n'." -msgstr "" +msgstr "لطفاً «y» یا «n» را وارد کنید." msgid "Please enter a file suffix, e.g. '.rst' or '.txt'." -msgstr "" +msgstr "لطفاً یک پسوند پرونده وارد کنید، مثلاً «rst.» یا «txt.»." #, python-format msgid "Welcome to the Sphinx %s quickstart utility." -msgstr "" +msgstr "به ابزار شروع سریع Sphinx نسخه‌ی %s خوش‌آمدید." msgid "" "Please enter values for the following settings (just press Enter to\n" "accept a default value, if one is given in brackets)." msgstr "" +"لطفاً مقادیری برای تنظیمات زیر وارد کنید (برای پذیرفتن مقدار پیش‌فرض،\n" +"در صورتی که در کروشه داده شده، فقط کلید Enter را بزنید)." #, python-format msgid "Selected root path: %s" -msgstr "" +msgstr "مسیر ریشه‌ی انتخاب‌شده: %s" msgid "Enter the root path for documentation." -msgstr "مسیر ریشه برای مستندات را وارد کنید." +msgstr "مسیر ریشه را برای مستندات وارد کنید." msgid "Root path for the documentation" msgstr "مسیر ریشه برای مستندات" msgid "Error: an existing conf.py has been found in the selected root path." -msgstr "" +msgstr "خطا: یک conf.py موجود در مسیر ریشه‌ی انتخاب‌شده پیدا شد." msgid "sphinx-quickstart will not overwrite existing Sphinx projects." -msgstr "" +msgstr "sphinx-quickstart پروژه‌های موجود Sphinx را بازنویسی نخواهد کرد." msgid "Please enter a new root path (or just Enter to exit)" -msgstr "" +msgstr "لطفاً یک مسیر ریشه‌ی جدید وارد کنید (یا برای خروج فقط Enter را بزنید)" msgid "" "You have two options for placing the build directory for Sphinx output.\n" "Either, you use a directory \"_build\" within the root path, or you separate\n" "\"source\" and \"build\" directories within the root path." msgstr "" +"دو گزینه برای قرار دادن پوشه‌ی ساخت خروجی Sphinx دارید.\n" +"یا از پوشه‌ی «‎_build» درون مسیر ریشه استفاده می‌کنید، یا پوشه‌های\n" +"«source» و «build» را درون مسیر ریشه از هم جدا می‌کنید." msgid "Separate source and build directories (y/n)" -msgstr "" +msgstr "جداسازی پوشه‌های source و build (y/n)" msgid "" "Inside the root directory, two more directories will be created; \"_templates\"\n" "for custom HTML templates and \"_static\" for custom stylesheets and other static\n" "files. You can enter another prefix (such as \".\") to replace the underscore." msgstr "" +"درون پوشه‌ی ریشه، دو پوشه‌ی دیگر ساخته خواهد شد؛ «‎_templates»\n" +"برای قالب‌های سفارشی HTML و «‎_static» برای شیوه‌نامه‌های سفارشی و دیگر پرونده‌های\n" +"ایستا. می‌توانید پیشوند دیگری (مانند «.») برای جایگزینی زیرخط وارد کنید." msgid "Name prefix for templates and static dir" -msgstr "" +msgstr "پیشوند نام برای پوشه‌های قالب و ایستا" msgid "The project name will occur in several places in the built documentation." -msgstr "" +msgstr "نام پروژه در چندین مکان از مستندات ساخته‌شده ظاهر خواهد شد." msgid "Project name" -msgstr "" +msgstr "نام پروژه" msgid "Author name(s)" -msgstr "" +msgstr "نام (های) نویسنده" msgid "" "Sphinx has the notion of a \"version\" and a \"release\" for the\n" @@ -1996,12 +2032,17 @@ msgid "" "something like 2.5.1 or 3.0a1. If you don't need this dual structure,\n" "just set both to the same value." msgstr "" +"Sphinx برای نرم‌افزار مفهوم «نسخه» (version) و «انتشار» (release)\n" +"را دارد. هر نسخه می‌تواند چندین انتشار داشته باشد. برای مثال، برای\n" +"پایتون، نسخه چیزی شبیه 2.5 یا 3.0 است، درحالی‌که انتشار\n" +"چیزی شبیه 2.5.1 یا 3.0a1 است. اگر به این ساختار دوگانه نیاز ندارید،\n" +"فقط هر دو را به یک مقدار یکسان تنظیم کنید." msgid "Project version" -msgstr "" +msgstr "نسخه‌ی پروژه" msgid "Project release" -msgstr "" +msgstr "انتشار پروژه" msgid "" "If the documents are to be written in a language other than English,\n" @@ -2011,17 +2052,25 @@ msgid "" "For a list of supported codes, see\n" "https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language." msgstr "" +"اگر قرار است سندها به زبانی غیر از انگلیسی نوشته شوند،\n" +"می‌توانید در اینجا زبانی را با کد زبان آن انتخاب کنید. سپس Sphinx\n" +"متنی را که تولید می‌کند به آن زبان ترجمه خواهد کرد.\n" +"\n" +"برای فهرست کدهای پشتیبانی‌شده، به\n" +"https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language مراجعه کنید." msgid "Project language" -msgstr "" +msgstr "زبان پروژه" msgid "" "The file name suffix for source files. Commonly, this is either \".txt\"\n" "or \".rst\". Only files with this suffix are considered documents." msgstr "" +"پسوند نام پرونده برای پرونده‌های منبع. معمولاً این پسوند یا «txt.»\n" +"یا «rst.» است. فقط پرونده‌های دارای این پسوند سند محسوب می‌شوند." msgid "Source file suffix" -msgstr "" +msgstr "پسوند پرونده‌ی منبع" msgid "" "One document is special in that it is considered the top node of the\n" @@ -2029,68 +2078,81 @@ msgid "" "of the documents. Normally, this is \"index\", but if your \"index\"\n" "document is a custom template, you can also set this to another filename." msgstr "" +"یک سند از این نظر خاص است که گره‌ی بالای «درخت محتویات»\n" +"در نظر گرفته می‌شود، یعنی ریشه‌ی ساختار سلسله‌مراتبی\n" +"سندها است. معمولاً این سند «index» است، اما اگر سند «index»\n" +"شما یک قالب سفارشی است، می‌توانید آن را به نام پرونده‌ی دیگری تنظیم کنید." msgid "Name of your master document (without suffix)" -msgstr "" +msgstr "نام سند اصلی شما (بدون پسوند)" #, python-format msgid "Error: the master file %s has already been found in the selected root path." -msgstr "" +msgstr "خطا: پرونده‌ی اصلی %s هم‌اکنون در مسیر ریشه‌ی انتخاب‌شده پیدا شده است." msgid "sphinx-quickstart will not overwrite the existing file." -msgstr "" +msgstr "sphinx-quickstart پرونده‌ی موجود را بازنویسی نخواهد کرد." msgid "Please enter a new file name, or rename the existing file and press Enter" -msgstr "" +msgstr "لطفاً یک نام پرونده‌ی جدید وارد کنید، یا پرونده‌ی موجود را تغییرنام دهید و Enter را بزنید" msgid "Indicate which of the following Sphinx extensions should be enabled:" -msgstr "" +msgstr "مشخص کنید کدام‌یک از افزونه‌های زیر Sphinx باید فعال شوند:" msgid "Note: imgmath and mathjax cannot be enabled at the same time. imgmath has been deselected." -msgstr "" +msgstr "نکته: imgmath و mathjax را نمی‌توان همزمان فعال کرد. imgmath از حالت انتخاب خارج شد." msgid "" "A Makefile and a Windows command file can be generated for you so that you\n" "only have to run e.g. `make html' instead of invoking sphinx-build\n" "directly." msgstr "" +"یک Makefile و یک پرونده‌ی دستور ویندوز می‌توانند برای شما تولید شوند تا\n" +"فقط لازم باشد مثلاً «make html» را اجرا کنید، به‌جای فراخوانی مستقیم\n" +"sphinx-build." msgid "Create Makefile? (y/n)" -msgstr "" +msgstr "ساخت Makefile؟ (y/n)" msgid "Create Windows command file? (y/n)" -msgstr "" +msgstr "ساخت پرونده‌ی دستور ویندوز؟ (y/n)" #, python-format msgid "Creating file %s." -msgstr "" +msgstr "در حال ساخت پرونده‌ی %s." #, python-format msgid "File %s already exists, skipping." -msgstr "" +msgstr "پرونده‌ی %s هم‌اکنون وجود دارد، رد شد." msgid "Finished: An initial directory structure has been created." -msgstr "" +msgstr "پایان یافت: یک ساختار پوشه‌ی اولیه ساخته شد." #, python-format msgid "" "You should now populate your master file %s and create other documentation\n" "source files. " msgstr "" +"اکنون باید پرونده‌ی اصلی %s خود را پر کنید و دیگر پرونده‌های منبع\n" +"مستندات را بسازید. " msgid "" "Use the Makefile to build the docs, like so:\n" " make builder" msgstr "" +"برای ساخت مستندات از Makefile استفاده کنید، به این شکل:\n" +" make builder" #, python-format msgid "" "Use the sphinx-build command to build the docs, like so:\n" " sphinx-build -b builder %s %s" msgstr "" +"برای ساخت مستندات از دستور sphinx-build استفاده کنید، به این شکل:\n" +" sphinx-build -b builder %s %s" msgid "where \"builder\" is one of the supported builders, e.g. html, latex or linkcheck." -msgstr "" +msgstr "که در آن «builder» یکی از سازنده‌های پشتیبانی‌شده است، مثلاً html، latex یا linkcheck." msgid "" "\n" @@ -2100,107 +2162,113 @@ msgid "" "project and then generates a complete documentation directory and sample\n" "Makefile to be used with sphinx-build.\n" msgstr "" +"\n" +"تولید پرونده‌های موردنیاز برای یک پروژه‌ی Sphinx.\n" +"\n" +"sphinx-quickstart ابزاری تعاملی است که چند پرسش درباره‌ی پروژه‌ی\n" +"شما می‌پرسد و سپس یک پوشه‌ی کامل مستندات و یک Makefile نمونه\n" +"برای استفاده با sphinx-build تولید می‌کند.\n" msgid "For more information, visit ." -msgstr "" +msgstr "برای اطلاعات بیشتر، از دیدن کنید." msgid "quiet mode" -msgstr "" +msgstr "حالت بی‌صدا" msgid "project root" -msgstr "" +msgstr "ریشه‌ی پروژه" msgid "Structure options" -msgstr "" +msgstr "گزینه‌های ساختار" msgid "if specified, separate source and build dirs" -msgstr "" +msgstr "اگر مشخص شود، پوشه‌های source و build جدا می‌شوند" msgid "if specified, create build dir under source dir" -msgstr "" +msgstr "اگر مشخص شود، پوشه‌ی build زیر پوشه‌ی source ساخته می‌شود" msgid "replacement for dot in _templates etc." -msgstr "" +msgstr "جایگزین نقطه در ‎_templates و غیره." msgid "Project basic options" -msgstr "" +msgstr "گزینه‌های پایه‌ی پروژه" msgid "project name" -msgstr "" +msgstr "نام پروژه" msgid "author names" -msgstr "" +msgstr "نام‌های نویسنده" msgid "version of project" -msgstr "" +msgstr "نسخه‌ی پروژه" msgid "release of project" -msgstr "" +msgstr "انتشار پروژه" msgid "document language" -msgstr "" +msgstr "زبان سند" msgid "source file suffix" -msgstr "" +msgstr "پسوند پرونده‌ی منبع" msgid "master document name" -msgstr "" +msgstr "نام سند اصلی" msgid "use epub" -msgstr "" +msgstr "استفاده از epub" msgid "Extension options" -msgstr "" +msgstr "گزینه‌های افزونه" #, python-format msgid "enable %s extension" -msgstr "" +msgstr "فعال‌سازی افزونه‌ی %s" msgid "enable arbitrary extensions" -msgstr "" +msgstr "فعال‌سازی افزونه‌های دلخواه" msgid "Makefile and Batchfile creation" -msgstr "" +msgstr "ساخت Makefile و Batchfile" msgid "create makefile" -msgstr "" +msgstr "ساخت makefile" msgid "do not create makefile" -msgstr "" +msgstr "makefile ساخته نشود" msgid "create batchfile" -msgstr "" +msgstr "ساخت batchfile" msgid "do not create batchfile" -msgstr "" +msgstr "batchfile ساخته نشود" msgid "use make-mode for Makefile/make.bat" -msgstr "" +msgstr "استفاده از حالت make برای Makefile/make.bat" msgid "Project templating" -msgstr "" +msgstr "قالب‌بندی پروژه" msgid "template directory for template files" -msgstr "" +msgstr "پوشه‌ی قالب برای پرونده‌های قالب" msgid "define a template variable" -msgstr "" +msgstr "تعریف یک متغیر قالب" msgid "\"quiet\" is specified, but any of \"project\" or \"author\" is not specified." -msgstr "" +msgstr "«quiet» مشخص شده، اما هیچ‌کدام از «project» یا «author» مشخص نشده است." msgid "Error: specified path is not a directory, or sphinx files already exist." -msgstr "" +msgstr "خطا: مسیر مشخص‌شده یک پوشه نیست، یا پرونده‌های sphinx هم‌اکنون وجود دارند." msgid "sphinx-quickstart only generate into a empty directory. Please specify a new root path." -msgstr "" +msgstr "sphinx-quickstart فقط در یک پوشه‌ی خالی تولید می‌کند. لطفاً یک مسیر ریشه‌ی جدید مشخص کنید." #, python-format msgid "Invalid template variable: %s" -msgstr "" +msgstr "متغیر قالب نامعتبر: %s" msgid "job number should be a positive number" -msgstr "" +msgstr "شماره‌ی کار باید عددی مثبت باشد" msgid "" "\n" @@ -2219,106 +2287,121 @@ msgid "" "By default, everything that is outdated is built. Output only for selected\n" "files can be built by specifying individual filenames.\n" msgstr "" +"\n" +"تولید مستندات از پرونده‌های منبع.\n" +"\n" +"sphinx-build مستندات را از پرونده‌های موجود در SOURCEDIR تولید می‌کند و آن را\n" +"در OUTPUTDIR قرار می‌دهد. برای تنظیمات پیکربندی به‌دنبال «conf.py»\n" +"در SOURCEDIR می‌گردد. ابزار «sphinx-quickstart» را می‌توان برای تولید پرونده‌های قالب،\n" +"از جمله «conf.py»، استفاده کرد\n" +"\n" +"sphinx-build می‌تواند مستندات را در قالب‌های مختلف بسازد. یک قالب با\n" +"مشخص کردن نام سازنده در خط فرمان انتخاب می‌شود؛ پیش‌فرض آن\n" +"HTML است. سازنده‌ها همچنین می‌توانند وظیفه‌های دیگری مرتبط با پردازش\n" +"مستندات انجام دهند.\n" +"\n" +"به‌طور پیش‌فرض، هرچه قدیمی است ساخته می‌شود. خروجی فقط برای پرونده‌های\n" +"انتخاب‌شده را می‌توان با مشخص کردن نام پرونده‌های جداگانه ساخت.\n" msgid "path to documentation source files" -msgstr "مسیر منابع مستندات" +msgstr "مسیر پرونده‌های منبع مستندات" msgid "path to output directory" -msgstr "" +msgstr "مسیر پوشه‌ی خروجی" msgid "(optional) a list of specific files to rebuild. Ignored if --write-all is specified" -msgstr "" +msgstr "(اختیاری) فهرستی از پرونده‌های مشخص برای بازسازی. اگر --write-all مشخص شود، نادیده گرفته می‌شود" msgid "general options" -msgstr "گزینه‌های عمومی" +msgstr "گزینه‌های کلی" msgid "builder to use (default: 'html')" -msgstr "" +msgstr "سازنده‌ای که استفاده می‌شود (پیش‌فرض: «html»)" msgid "run in parallel with N processes, when possible. 'auto' uses the number of CPU cores" -msgstr "" +msgstr "در صورت امکان، اجرا به‌صورت موازی با N فرایند. «auto» از تعداد هسته‌های پردازنده استفاده می‌کند" msgid "write all files (default: only write new and changed files)" -msgstr "" +msgstr "نوشتن همه‌ی پرونده‌ها (پیش‌فرض: فقط نوشتن پرونده‌های جدید و تغییریافته)" msgid "don't use a saved environment, always read all files" -msgstr "" +msgstr "استفاده نکردن از محیط ذخیره‌شده، همیشه خواندن همه‌ی پرونده‌ها" msgid "path options" -msgstr "" +msgstr "گزینه‌های مسیر" msgid "directory for doctree and environment files (default: OUTPUT_DIR/.doctrees)" -msgstr "" +msgstr "پوشه برای پرونده‌های doctree و محیط (پیش‌فرض: OUTPUT_DIR/.doctrees)" msgid "directory for the configuration file (conf.py) (default: SOURCE_DIR)" -msgstr "" +msgstr "پوشه برای پرونده‌ی پیکربندی (conf.py) (پیش‌فرض: SOURCE_DIR)" msgid "use no configuration file, only use settings from -D options" -msgstr "" +msgstr "استفاده نکردن از پرونده‌ی پیکربندی، فقط استفاده از تنظیمات گزینه‌های -D" msgid "override a setting in configuration file" -msgstr "" +msgstr "بازنویسی یک تنظیم در پرونده‌ی پیکربندی" msgid "pass a value into HTML templates" -msgstr "" +msgstr "ارسال یک مقدار به قالب‌های HTML" msgid "define tag: include \"only\" blocks with TAG" -msgstr "" +msgstr "تعریف تگ: گنجاندن بلوک‌های «only» دارای TAG" msgid "nitpicky mode: warn about all missing references" -msgstr "" +msgstr "حالت موشکافانه: هشدار درباره‌ی همه‌ی ارجاع‌های گم‌شده" msgid "console output options" -msgstr "" +msgstr "گزینه‌های خروجی کنسول" msgid "increase verbosity (can be repeated)" -msgstr "" +msgstr "افزایش پرگویی (قابل تکرار)" msgid "no output on stdout, just warnings on stderr" -msgstr "" +msgstr "بدون خروجی در stdout، فقط هشدارها در stderr" msgid "no output at all, not even warnings" -msgstr "" +msgstr "بدون هیچ خروجی‌ای، حتی هشدارها" msgid "do emit colored output (default: auto-detect)" -msgstr "" +msgstr "تولید خروجی رنگی (پیش‌فرض: تشخیص خودکار)" msgid "do not emit colored output (default: auto-detect)" -msgstr "" +msgstr "تولید نکردن خروجی رنگی (پیش‌فرض: تشخیص خودکار)" msgid "warning control options" -msgstr "" +msgstr "گزینه‌های کنترل هشدار" msgid "write warnings (and errors) to given file" -msgstr "" +msgstr "نوشتن هشدارها (و خطاها) در پرونده‌ی داده‌شده" msgid "turn warnings into errors" -msgstr "" +msgstr "تبدیل هشدارها به خطا" msgid "show full traceback on exception" -msgstr "" +msgstr "نمایش ردگیری کامل هنگام استثنا" msgid "run Pdb on exception" -msgstr "" +msgstr "اجرای Pdb هنگام استثنا" msgid "raise an exception on warnings" -msgstr "" +msgstr "پرتاب استثنا هنگام هشدارها" msgid "cannot combine -a option and filenames" -msgstr "" +msgstr "نمی‌توان گزینه‌ی -a و نام پرونده‌ها را ترکیب کرد" #, python-format msgid "cannot open warning file '%s': %s" -msgstr "" +msgstr "پرونده‌ی هشدار «%s» باز نشد: %s" msgid "-D option argument must be in the form name=value" -msgstr "" +msgstr "آرگومان گزینه‌ی -D باید به شکل name=value باشد" msgid "-A option argument must be in the form name=value" -msgstr "" +msgstr "آرگومان گزینه‌ی -A باید به شکل name=value باشد" msgid "Collapse sidebar" -msgstr "" +msgstr "جمع کردن نوار کناری" msgid "Table of Contents" msgstr "فهرست مطالب" @@ -2327,777 +2410,790 @@ msgid "Search" msgstr "جست‌وجو" msgid "Go" -msgstr "" +msgstr "برو" msgid "Show Source" msgstr "نمایش منبع" msgid "Contents" -msgstr "" +msgstr "محتویات" #, python-format msgid "Search %(docstitle)s" -msgstr "" +msgstr "جست‌وجوی %(docstitle)s" msgid "Overview" -msgstr "" +msgstr "بررسی اجمالی" msgid "Welcome! This is" -msgstr "خوش آمدید! این" +msgstr "خوش‌آمدید! این است" msgid "the documentation for" -msgstr "مستندات" +msgstr "مستندات برای" msgid "last updated" -msgstr "" +msgstr "آخرین به‌روزرسانی" msgid "Indices and tables:" -msgstr "" +msgstr "اندیس‌ها و جدول‌ها:" msgid "Complete Table of Contents" -msgstr "فهرست مطالب کامل" +msgstr "جدول کامل محتویات" msgid "lists all sections and subsections" -msgstr "" +msgstr "همه‌ی بخش‌ها و زیربخش‌ها را فهرست می‌کند" msgid "Search Page" -msgstr "" +msgstr "صفحه‌ی جست‌وجو" msgid "search this documentation" -msgstr "" +msgstr "این مستند را جست‌وجو کنید" msgid "Global Module Index" -msgstr "" +msgstr "اندیس ماژول‌های سراسری" msgid "quick access to all modules" -msgstr "" +msgstr "دسترسی سریع به همه‌ی ماژول‌ها" msgid "General Index" -msgstr "" +msgstr "اندیس کلی" msgid "all functions, classes, terms" -msgstr "" +msgstr "همه‌ی توابع، کلاس‌ها و اصطلاحات" msgid "This Page" msgstr "این صفحه" #, python-format msgid "Index – %(key)s" -msgstr "" +msgstr "اندیس – %(key)s" msgid "Full index on one page" -msgstr "" +msgstr "اندیس کامل در یک صفحه" msgid "Quick search" -msgstr "" +msgstr "جست‌وجوی سریع" msgid "Index pages by letter" -msgstr "" +msgstr "صفحه‌های اندیس بر اساس حرف" msgid "can be huge" -msgstr "" +msgstr "می‌تواند بسیار بزرگ باشد" msgid "Previous topic" -msgstr "" +msgstr "موضوع قبلی" msgid "previous chapter" -msgstr "" +msgstr "فصل قبلی" msgid "Next topic" -msgstr "" +msgstr "موضوع بعدی" msgid "next chapter" -msgstr "" +msgstr "فصل بعدی" msgid "Navigation" -msgstr "" +msgstr "پیمایش" #, python-format msgid "Search within %(docstitle)s" -msgstr "" +msgstr "جست‌وجو در %(docstitle)s" msgid "About these documents" -msgstr "درباره‌ی مستندات" +msgstr "درباره‌ی این مستندات" #, python-format msgid "© %(copyright_prefix)s %(copyright)s." -msgstr "" +msgstr "© %(copyright_prefix)s %(copyright)s." #, python-format msgid "Last updated on %(last_updated)s." -msgstr "" +msgstr "آخرین به‌روزرسانی در: %(last_updated)s." #, python-format msgid "Created using Sphinx %(sphinx_version)s." -msgstr "" +msgstr "ساخته‌شده با استفاده از Sphinx نسخه‌ی %(sphinx_version)s." msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" +"لطفاً برای فعال کردن قابلیت جست‌وجو،\n" +" جاوااسکریپت را فعال کنید." msgid "" "Searching for multiple words only shows matches that contain\n" " all words." msgstr "" +"جست‌وجوی چند واژه فقط مواردی را نشان می‌دهد که حاوی\n" +" همه‌ی واژه‌ها باشند." msgid "search" -msgstr "" +msgstr "جست‌وجو" msgid "Hide Search Matches" -msgstr "" +msgstr "پنهان کردن نتایج جست‌وجو" msgid "Search Results" -msgstr "" +msgstr "نتایج جست‌وجو" msgid "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." -msgstr "" +msgstr "جست‌وجوی شما با هیچ سندی مطابقت نداشت. لطفاً مطمئن شوید همه‌ی واژه‌ها به‌درستی نوشته شده‌اند و دسته‌های کافی را انتخاب کرده‌اید." #, python-brace-format msgid "Search finished, found one page matching the search query." msgid_plural "Search finished, found ${resultCount} pages matching the search query." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "جست‌وجو به پایان رسید، یک صفحه با پرس‌وجوی جست‌وجو مطابقت داشت." +msgstr[1] "جست‌وجو به پایان رسید، ${resultCount} صفحه با پرس‌وجوی جست‌وجو مطابقت داشت." msgid "Searching" -msgstr "" +msgstr "در حال جست‌وجو" msgid "Preparing search..." -msgstr "" +msgstr "در حال آماده‌سازی جست‌وجو..." msgid ", in " -msgstr "" +msgstr "، در " #, python-format msgid "%(filename)s — %(docstitle)s" -msgstr "" +msgstr "%(filename)s — %(docstitle)s" #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" -msgstr "" +msgstr "تغییرات در نسخه‌ی %(version)s — %(docstitle)s" #, python-format msgid "Automatically generated list of changes in version %(version)s" -msgstr "" +msgstr "فهرست خودکارتولیدشده‌ی تغییرات در نسخه‌ی %(version)s" msgid "Library changes" -msgstr "" +msgstr "تغییرات کتابخانه" msgid "C API changes" -msgstr "" +msgstr "تغییرات API سی" msgid "Other changes" -msgstr "" +msgstr "دیگر تغییرات" msgid "Expand sidebar" -msgstr "" +msgstr "باز کردن نوار کناری" msgid "Positional-only parameter separator (PEP 570)" -msgstr "" +msgstr "جداکننده‌ی پارامتر فقط-جایگاهی (PEP 570)" msgid "Keyword-only parameters separator (PEP 3102)" -msgstr "" +msgstr "جداکننده‌ی پارامترهای فقط-کلیدواژه‌ای (PEP 3102)" #, python-format msgid "%s() (in module %s)" -msgstr "" +msgstr "()%s (در ماژول %s)" #, python-format msgid "%s (in module %s)" -msgstr "" +msgstr "%s (در ماژول %s)" #, python-format msgid "%s (built-in variable)" -msgstr "" +msgstr "%s (متغیر توکار)" #, python-format msgid "%s (built-in class)" -msgstr "" +msgstr "%s (کلاس توکار)" #, python-format msgid "%s (class in %s)" -msgstr "" +msgstr "%s (کلاس در %s)" #, python-format msgid "%s() (%s class method)" -msgstr "" +msgstr "()%s (متد کلاس %s)" #, python-format msgid "%s() (%s static method)" -msgstr "" +msgstr "()%s (متد ایستای %s)" #, python-format msgid "%s (%s property)" -msgstr "" +msgstr "%s (پراپرتی %s)" #, python-format msgid "%s (type alias in %s)" -msgstr "" +msgstr "%s (مستعار نوع در %s)" msgid "Python Module Index" -msgstr "" +msgstr "اندیس ماژول‌های پایتون" msgid "modules" -msgstr "" +msgstr "ماژول‌ها" msgid "Deprecated" -msgstr "" +msgstr "منسوخ‌شده" msgid "exception" -msgstr "" +msgstr "استثنا" msgid "class method" -msgstr "" +msgstr "متد کلاس" msgid "static method" -msgstr "" +msgstr "متد ایستا" msgid "property" -msgstr "" +msgstr "پراپرتی" msgid "type alias" -msgstr "" +msgstr "مستعار نوع" #, python-format msgid "duplicate object description of %s, other instance in %s, use :no-index: for one of them" -msgstr "" +msgstr "توضیح شیء تکراری برای %s، نمونه‌ی دیگر در %s، برای یکی از آن‌ها از :no-index: استفاده کنید" #, python-format msgid "more than one target found for cross-reference %r: %s" -msgstr "" +msgstr "بیش از یک هدف برای ارجاع‌متقابل %r پیدا شد: %s" msgid " (deprecated)" -msgstr "" +msgstr " (منسوخ‌شده)" msgid "Parameters" -msgstr "" +msgstr "پارامترها" msgid "Variables" -msgstr "" +msgstr "متغیرها" msgid "Raises" -msgstr "" +msgstr "پرتاب می‌کند" msgid "Template Parameters" -msgstr "" +msgstr "پارامترهای قالب" #, python-format msgid "%s (C++ %s)" -msgstr "" +msgstr "%s (++C %s)" #, python-format msgid "" "Duplicate C++ declaration, also defined at %s:%s.\n" "Declaration is '.. cpp:%s:: %s'." msgstr "" +"اعلان تکراری ++C، همچنین در %s:%s تعریف شده است.\n" +"اعلان «.. cpp:%s:: %s» است." msgid "Return values" -msgstr "" +msgstr "مقادیر بازگشتی" msgid "union" -msgstr "" +msgstr "یونیون" msgid "member" -msgstr "" +msgstr "عضو" msgid "type" -msgstr "" +msgstr "نوع" msgid "concept" -msgstr "" +msgstr "مفهوم" msgid "enum" -msgstr "" +msgstr "enum" msgid "enumerator" -msgstr "" +msgstr "شمارشگر" msgid "function parameter" -msgstr "" +msgstr "پارامتر تابع" msgid "template parameter" -msgstr "" +msgstr "پارامتر قالب" #, python-format msgid "%s (C %s)" -msgstr "" +msgstr "%s (سی %s)" #, python-format msgid "" "Duplicate C declaration, also defined at %s:%s.\n" "Declaration is '.. c:%s:: %s'." msgstr "" +"اعلان تکراری سی، همچنین در %s:%s تعریف شده است.\n" +"اعلان «.. c:%s:: %s» است." msgid "variable" -msgstr "" +msgstr "متغیر" msgid "macro" -msgstr "" +msgstr "ماکرو" msgid "struct" -msgstr "" +msgstr "struct" #, python-format msgid "environment variable; %s" -msgstr "" +msgstr "متغیر محیطی؛ %s" #, python-format msgid "%s; configuration value" -msgstr "" +msgstr "%s؛ مقدار پیکربندی" msgid "Type" -msgstr "" +msgstr "نوع" msgid "Default" -msgstr "" +msgstr "پیش‌فرض" #, python-format msgid "Malformed option description %r, should look like \"opt\", \"-opt args\", \"--opt args\", \"/opt args\" or \"+opt args\"" -msgstr "" +msgstr "توضیح گزینه‌ی بدشکل %r، باید شبیه «opt»، «‎-opt args»، «‎--opt args»، «‎/opt args» یا «‎+opt args» باشد" #, python-format msgid "%s command line option" -msgstr "" +msgstr "گزینه‌ی خط فرمان %s" msgid "command line option" -msgstr "" +msgstr "گزینه‌ی خط فرمان" msgid "glossary term must be preceded by empty line" -msgstr "" +msgstr "اصطلاح واژه‌نامه باید قبل از آن یک سطر خالی داشته باشد" msgid "glossary terms must not be separated by empty lines" -msgstr "" +msgstr "اصطلاحات واژه‌نامه نباید با سطرهای خالی از هم جدا شوند" msgid "glossary seems to be misformatted, check indentation" -msgstr "" +msgstr "به‌نظر می‌رسد واژه‌نامه بدقالب است، تورفتگی را بررسی کنید" msgid "glossary term" -msgstr "" +msgstr "اصطلاح واژه‌نامه" msgid "grammar token" -msgstr "" +msgstr "توکن گرامری" msgid "reference label" -msgstr "" +msgstr "برچسب ارجاع" msgid "environment variable" -msgstr "" +msgstr "متغیر محیطی" msgid "program option" -msgstr "" +msgstr "گزینه‌ی برنامه" msgid "document" -msgstr "" +msgstr "سند" msgid "Module Index" -msgstr "" +msgstr "اندیس ماژول‌ها" #, python-format msgid "duplicate %s description of %s, other instance in %s" -msgstr "" +msgstr "توضیح %s تکراری برای %s، نمونه‌ی دیگر در %s" msgid "numfig is disabled. :numref: is ignored." -msgstr "" +msgstr "numfig غیرفعال است. :numref: نادیده گرفته می‌شود." #, python-format msgid "Failed to create a cross reference. Any number is not assigned: %s" -msgstr "" +msgstr "ساخت ارجاع‌متقابل شکست خورد. هیچ شماره‌ای تخصیص نیافته است: %s" #, python-format msgid "the link has no caption: %s" -msgstr "" +msgstr "پیوند زیرنویسی ندارد: %s" #, python-format msgid "invalid numfig_format: %s (%r)" -msgstr "" +msgstr "numfig_format نامعتبر: %s (%r)" #, python-format msgid "invalid numfig_format: %s" -msgstr "" +msgstr "numfig_format نامعتبر: %s" #, python-format msgid "undefined label: %r" -msgstr "" +msgstr "برچسب تعریف‌نشده: %r" #, python-format msgid "Failed to create a cross reference. A title or caption not found: %r" -msgstr "" +msgstr "ساخت ارجاع‌متقابل شکست خورد. هیچ عنوان یا زیرنویسی پیدا نشد: %r" #, python-format msgid "circular toctree references detected, ignoring: %s <- %s" -msgstr "" +msgstr "ارجاع‌های چرخه‌ای toctree شناسایی شد، نادیده گرفته شد: %s <- %s" #, python-format msgid "toctree contains reference to document %r that doesn't have a title: no link will be generated" -msgstr "" +msgstr "toctree حاوی ارجاعی به سند %r است که عنوانی ندارد: هیچ پیوندی تولید نخواهد شد" #, python-format msgid "toctree contains reference to non-included document %r" -msgstr "" +msgstr "toctree حاوی ارجاعی به سند گنجانده‌نشده‌ی %r است" #, python-format msgid "toctree contains reference to non-existing document %r" -msgstr "" +msgstr "toctree حاوی ارجاعی به سند ناموجود %r است" #, python-format msgid "see %s" -msgstr "" +msgstr "%s را ببینید" #, python-format msgid "see also %s" -msgstr "" +msgstr "همچنین %s را ببینید" #, python-format msgid "unknown index entry type %r" -msgstr "" +msgstr "نوع ورودی اندیس ناشناخته‌ی %r" msgid "Symbols" -msgstr "" +msgstr "نمادها" #, python-format msgid "image file not readable: %s" -msgstr "" +msgstr "پرونده‌ی تصویر خوانا نیست: %s" #, python-format msgid "image file %s not readable: %s" -msgstr "" +msgstr "پرونده‌ی تصویر %s خوانا نیست: %s" #, python-format msgid "download file not readable: %s" -msgstr "" +msgstr "پرونده‌ی دانلود خوانا نیست: %s" #, python-format msgid "%s is already assigned section numbers (nested numbered toctree?)" -msgstr "" +msgstr "به %s هم‌اکنون شماره‌های بخش تخصیص یافته است (toctree شماره‌گذاری‌شده‌ی تودرتو؟)" msgid "Interrupted!" -msgstr "" +msgstr "قطع شد!" msgid "reStructuredText markup error!" -msgstr "" +msgstr "خطای نشانه‌گذاری reStructuredText!" msgid "Encoding error!" -msgstr "" +msgstr "خطای کدگذاری!" msgid "Recursion error!" -msgstr "" +msgstr "خطای بازگشتی!" msgid "This can happen with very large or deeply nested source files. You can carefully increase the default Python recursion limit of 1,000 in conf.py with e.g.:" -msgstr "" +msgstr "این ممکن است با پرونده‌های منبع بسیار بزرگ یا عمیقاً تودرتو رخ دهد. می‌توانید با احتیاط محدودیت بازگشت پیش‌فرض پایتون، یعنی ۱۰۰۰، را در conf.py افزایش دهید، مثلاً با:" msgid "Starting debugger:" -msgstr "" +msgstr "در حال آغاز اشکال‌زدا:" msgid "The full traceback has been saved in:" -msgstr "" +msgstr "ردگیری کامل در این مسیر ذخیره شده است:" msgid "To report this error to the developers, please open an issue at . Thanks!" -msgstr "" +msgstr "برای گزارش این خطا به توسعه‌دهندگان، لطفاً یک گزارش مشکل در باز کنید. متشکریم!" msgid "Please also report this if it was a user error, so that a better error message can be provided next time." -msgstr "" +msgstr "لطفاً حتی اگر این خطا از کاربر بوده نیز آن را گزارش دهید، تا دفعه‌ی بعد پیام خطای بهتری ارائه شود." msgid "Could not determine the fallback text for the cross-reference. Might be a bug." -msgstr "" +msgstr "متن جایگزین برای ارجاع‌متقابل تعیین نشد. ممکن است اشکالی باشد." #, python-format msgid "more than one target found for 'any' cross-reference %r: could be %s" -msgstr "" +msgstr "بیش از یک هدف برای ارجاع‌متقابل «any» با نام %r پیدا شد: می‌تواند %s باشد" #, python-format msgid "%s:%s reference target not found: %s" -msgstr "" +msgstr "هدف ارجاع %s:%s پیدا نشد: %s" #, python-format msgid "%r reference target not found: %s" -msgstr "" +msgstr "هدف ارجاع %r پیدا نشد: %s" #, python-format msgid "Could not fetch remote image: %s [%s]" -msgstr "" +msgstr "دریافت تصویر دوردست ممکن نشد: %s [%s]" #, python-format msgid "Could not fetch remote image: %s [%d]" -msgstr "" +msgstr "دریافت تصویر دوردست ممکن نشد: %s [%d]" #, python-format msgid "Unknown image format: %s..." -msgstr "" +msgstr "قالب تصویر ناشناخته: %s..." #, python-format msgid "The HTML pages are in %(outdir)s." -msgstr "" +msgstr "صفحه‌های HTML در %(outdir)s هستند." #, python-format msgid "Failed to read build info file: %r" -msgstr "" +msgstr "خواندن پرونده‌ی اطلاعات ساخت شکست خورد: %r" msgid "build_info mismatch, copying .buildinfo to .buildinfo.bak" -msgstr "" +msgstr "عدم تطابق build_info، در حال کپی کردن buildinfo. به buildinfo.bak." msgid "building [html]: " -msgstr "" +msgstr "در حال ساخت [html]: " #, python-format msgid "template %s has been changed since the previous build, all docs will be rebuilt" -msgstr "" +msgstr "قالب %s از ساخت پیشین تغییر کرده است، همه‌ی سندها بازسازی خواهند شد" msgid "index" -msgstr "" +msgstr "اندیس" #, python-format msgid "Logo of %s" -msgstr "" +msgstr "لوگوی %s" msgid "next" -msgstr "" +msgstr "بعدی" msgid "previous" -msgstr "" +msgstr "قبلی" msgid "generating indices" -msgstr "" +msgstr "در حال تولید اندیس‌ها" msgid "writing additional pages" -msgstr "" +msgstr "در حال نوشتن صفحه‌های اضافی" #, python-format msgid "cannot copy image file '%s': %s" -msgstr "" +msgstr "کپی کردن پرونده‌ی تصویر «%s» ممکن نشد: %s" msgid "copying downloadable files... " -msgstr "" +msgstr "در حال کپی کردن پرونده‌های قابل‌دانلود... " #, python-format msgid "cannot copy downloadable file %r: %s" -msgstr "" +msgstr "کپی کردن پرونده‌ی قابل‌دانلود %r ممکن نشد: %s" #, python-format msgid "Failed to copy a file in the theme's 'static' directory: %s: %r" -msgstr "" +msgstr "کپی کردن پرونده‌ای در پوشه‌ی «static» پوسته شکست خورد: %s: %r" #, python-format msgid "Failed to copy a file in html_static_file: %s: %r" -msgstr "" +msgstr "کپی کردن پرونده‌ای در html_static_file شکست خورد: %s: %r" msgid "copying static files" -msgstr "" +msgstr "در حال کپی کردن پرونده‌های ایستا" #, python-format msgid "cannot copy static file %r" -msgstr "" +msgstr "کپی کردن پرونده‌ی ایستای %r ممکن نشد" msgid "copying extra files" -msgstr "" +msgstr "در حال کپی کردن پرونده‌های اضافی" #, python-format msgid "cannot copy extra file %r" -msgstr "" +msgstr "کپی کردن پرونده‌ی اضافی %r ممکن نشد" #, python-format msgid "Failed to write build info file: %r" -msgstr "" +msgstr "نوشتن پرونده‌ی اطلاعات ساخت شکست خورد: %r" msgid "search index couldn't be loaded, but not all documents will be built: the index will be incomplete." -msgstr "" +msgstr "اندیس جست‌وجو بار نشد، اما همه‌ی سندها ساخته نخواهند شد: اندیس ناقص خواهد بود." #, python-format msgid "page %s matches two patterns in html_sidebars: %r and %r" -msgstr "" +msgstr "صفحه‌ی %s با دو الگو در html_sidebars مطابقت دارد: %r و %r" #, python-format msgid "a Unicode error occurred when rendering the page %s. Please make sure all config values that contain non-ASCII content are Unicode strings." -msgstr "" +msgstr "هنگام رندر صفحه‌ی %s خطای یونیکد رخ داد. لطفاً مطمئن شوید همه‌ی مقادیر پیکربندی حاوی محتوای غیرASCII، رشته‌های یونیکد هستند." #, python-format msgid "" "An error happened in rendering the page %s.\n" "Reason: %r" msgstr "" +"خطایی هنگام رندر صفحه‌ی %s رخ داد.\n" +"دلیل: %r" msgid "dumping object inventory" -msgstr "" +msgstr "در حال برون‌ریزی فهرست موجودی اشیا" #, python-format msgid "dumping search index in %s" -msgstr "" +msgstr "در حال برون‌ریزی اندیس جست‌وجو در %s" #, python-format msgid "invalid js_file: %r, ignored" -msgstr "" +msgstr "js_file نامعتبر: %r، نادیده گرفته شد" msgid "Many math_renderers are registered. But no math_renderer is selected." -msgstr "" +msgstr "چندین math_renderer ثبت شده‌اند. اما هیچ math_renderer‌ای انتخاب نشده است." #, python-format msgid "Unknown math_renderer %r is given." -msgstr "" +msgstr "math_renderer ناشناخته‌ی %r داده شده است." #, python-format msgid "html_extra_path entry %r is placed inside outdir" -msgstr "" +msgstr "ورودی html_extra_path با نام %r درون outdir قرار دارد" #, python-format msgid "html_extra_path entry %r does not exist" -msgstr "" +msgstr "ورودی html_extra_path با نام %r وجود ندارد" #, python-format msgid "html_static_path entry %r is placed inside outdir" -msgstr "" +msgstr "ورودی html_static_path با نام %r درون outdir قرار دارد" #, python-format msgid "html_static_path entry %r does not exist" -msgstr "" +msgstr "ورودی html_static_path با نام %r وجود ندارد" #, python-format msgid "logo file %r does not exist" -msgstr "" +msgstr "پرونده‌ی لوگوی %r وجود ندارد" #, python-format msgid "favicon file %r does not exist" -msgstr "" +msgstr "پرونده‌ی favicon با نام %r وجود ندارد" #, python-format msgid "Values in 'html_sidebars' must be a list of strings. At least one pattern has a string value: %s. Change to `html_sidebars = %r`." -msgstr "" +msgstr "مقادیر در «html_sidebars» باید فهرستی از رشته‌ها باشند. حداقل یک الگو مقدار رشته‌ای دارد: %s. به «html_sidebars = %r» تغییر دهید." msgid "HTML 4 is no longer supported by Sphinx. (\"html4_writer=True\" detected in configuration options)" -msgstr "" +msgstr "HTML ۴ دیگر توسط Sphinx پشتیبانی نمی‌شود. («html4_writer=True» در گزینه‌های پیکربندی شناسایی شد)" #, python-format msgid "%s %s documentation" -msgstr "" +msgstr "مستندات %s %s" msgid "failed to read broken build info file (unknown version)" -msgstr "" +msgstr "خواندن پرونده‌ی اطلاعات ساخت خراب شکست خورد (نسخه‌ی ناشناخته)" msgid "failed to read broken build info file (missing config entry)" -msgstr "" +msgstr "خواندن پرونده‌ی اطلاعات ساخت خراب شکست خورد (ورودی پیکربندی گم‌شده)" msgid "failed to read broken build info file (missing tags entry)" -msgstr "" +msgstr "خواندن پرونده‌ی اطلاعات ساخت خراب شکست خورد (ورودی تگ‌ها گم‌شده)" #, python-format msgid "The LaTeX files are in %(outdir)s." -msgstr "" +msgstr "پرونده‌های LaTeX در %(outdir)s هستند." msgid "" "\n" "Run 'make' in that directory to run these through (pdf)latex\n" "(use `make latexpdf' here to do that automatically)." msgstr "" +"\n" +"دستور «make» را در آن پوشه اجرا کنید تا این‌ها از طریق (pdf)latex پردازش شوند\n" +"(برای انجام خودکار این کار از «make latexpdf» استفاده کنید)." msgid "no \"latex_documents\" config value found; no documents will be written" -msgstr "" +msgstr "هیچ مقدار پیکربندی «latex_documents» پیدا نشد؛ هیچ سندی نوشته نخواهد شد" #, python-format msgid "\"latex_documents\" config value references unknown document %s" -msgstr "" +msgstr "مقدار پیکربندی «latex_documents» به سند ناشناخته‌ی %s ارجاع می‌دهد" msgid "Release" -msgstr "" +msgstr "انتشار" msgid "copying TeX support files" -msgstr "" +msgstr "در حال کپی کردن پرونده‌های پشتیبانی TeX" msgid "copying additional files" -msgstr "" +msgstr "در حال کپی کردن پرونده‌های اضافی" #, python-format msgid "Unknown configure key: latex_elements[%r], ignored." -msgstr "" +msgstr "کلید پیکربندی ناشناخته: latex_elements[%r]، نادیده گرفته شد." #, python-format msgid "Unknown theme option: latex_theme_options[%r], ignored." -msgstr "" +msgstr "گزینه‌ی پوسته‌ی ناشناخته: latex_theme_options[%r]، نادیده گرفته شد." msgid "Failed to get a docname!" -msgstr "" +msgstr "دریافت نام‌سند شکست خورد!" #, python-format msgid "Failed to get a docname for source %r!" -msgstr "" +msgstr "دریافت نام‌سند برای منبع %r شکست خورد!" #, python-format msgid "No footnote was found for given reference node %r" -msgstr "" +msgstr "هیچ پانویسی برای گره‌ی ارجاع داده‌شده‌ی %r پیدا نشد" #, python-format msgid "%r doesn't have \"theme\" setting" -msgstr "" +msgstr "%r تنظیم «theme» را ندارد" #, python-format msgid "%r doesn't have \"%s\" setting" -msgstr "" +msgstr "%r تنظیم «%s» را ندارد" msgid "continued from previous page" -msgstr "" +msgstr "ادامه از صفحه‌ی قبل" msgid "continues on next page" -msgstr "" +msgstr "در صفحه‌ی بعد ادامه دارد" msgid "Non-alphabetical" -msgstr "" +msgstr "غیرالفبایی" msgid "Numbers" -msgstr "" +msgstr "اعداد" msgid "page" -msgstr "" +msgstr "صفحه" msgid "Keyword Arguments" -msgstr "" +msgstr "آرگومان‌های کلیدواژه‌ای" #, python-format msgid "invalid value set (missing closing brace): %s" -msgstr "" +msgstr "مجموعه‌مقدار نامعتبر (آکولاد بسته گم‌شده): %s" #, python-format msgid "invalid value set (missing opening brace): %s" -msgstr "" +msgstr "مجموعه‌مقدار نامعتبر (آکولاد باز گم‌شده): %s" #, python-format msgid "malformed string literal (missing closing quote): %s" -msgstr "" +msgstr "لفظ رشته‌ای بدشکل (نقل‌قول بسته گم‌شده): %s" #, python-format msgid "malformed string literal (missing opening quote): %s" -msgstr "" +msgstr "لفظ رشته‌ای بدشکل (نقل‌قول باز گم‌شده): %s" msgid "Example" -msgstr "" +msgstr "مثال" msgid "Examples" -msgstr "" +msgstr "مثال‌ها" msgid "Notes" -msgstr "" +msgstr "یادداشت‌ها" msgid "Other Parameters" -msgstr "" +msgstr "دیگر پارامترها" msgid "Receives" -msgstr "" +msgstr "دریافت می‌کند" msgid "References" -msgstr "" +msgstr "مراجع" msgid "Warns" -msgstr "" +msgstr "هشدار می‌دهد" msgid "Yields" -msgstr "" +msgstr "بازده می‌دهد" #, python-format msgid "autosummary references excluded document %r. Ignored." -msgstr "" +msgstr "autosummary به سند حذف‌شده‌ی %r ارجاع می‌دهد. نادیده گرفته شد." #, python-format msgid "autosummary: stub file not found %r. Check your autosummary_generate setting." -msgstr "" +msgstr "autosummary: پرونده‌ی stub با نام %r پیدا نشد. تنظیم autosummary_generate خود را بررسی کنید." msgid "A captioned autosummary requires :toctree: option. ignored." -msgstr "" +msgstr "یک autosummary دارای زیرنویس به گزینه‌ی :toctree: نیاز دارد. نادیده گرفته شد." #, python-format msgid "" @@ -3105,39 +3201,44 @@ msgid "" "Possible hints:\n" "%s" msgstr "" +"autosummary: ایمپورت %s شکست خورد.\n" +"راهنمایی‌های احتمالی:\n" +"%s" #, python-format msgid "failed to parse name %s" -msgstr "" +msgstr "پارس کردن نام %s شکست خورد" #, python-format msgid "failed to import object %s" -msgstr "" +msgstr "ایمپورت شیء %s شکست خورد" #, python-format msgid "Summarised items should not include the current module. Replace %r with %r." -msgstr "" +msgstr "آیتم‌های خلاصه‌شده نباید شامل ماژول فعلی باشند. %r را با %r جایگزین کنید." #, python-format msgid "autosummary_generate: file not found: %s" -msgstr "" +msgstr "autosummary_generate: پرونده پیدا نشد: %s" msgid "autosummary generates .rst files internally. But your source_suffix does not contain .rst. Skipped." -msgstr "" +msgstr "autosummary به‌صورت درونی پرونده‌های rst. تولید می‌کند. اما source_suffix شما حاوی rst. نیست. رد شد." #, python-format msgid "" "autosummary: failed to determine %r to be documented, the following exception was raised:\n" "%s" msgstr "" +"autosummary: تعیین %r برای مستندسازی شکست خورد، استثنای زیر پرتاب شد:\n" +"%s" #, python-format msgid "[autosummary] generating autosummary for: %s" -msgstr "" +msgstr "[autosummary] در حال تولید autosummary برای: %s" #, python-format msgid "[autosummary] writing to %s" -msgstr "" +msgstr "[autosummary] در حال نوشتن در %s" #, python-format msgid "" @@ -3145,6 +3246,9 @@ msgid "" "Possible hints:\n" "%s" msgstr "" +"[autosummary] ایمپورت %s شکست خورد.\n" +"راهنمایی‌های احتمالی:\n" +"%s" msgid "" "\n" @@ -3159,35 +3263,46 @@ msgid "" "\n" " pydoc sphinx.ext.autosummary\n" msgstr "" +"\n" +"تولید ReStructuredText با استفاده از دایرکتیوهای autosummary.\n" +"\n" +"sphinx-autogen یک فرانت‌اند برای sphinx.ext.autosummary.generate است. این ابزار\n" +"پرونده‌های reStructuredText را از دایرکتیوهای autosummary موجود در\n" +"پرونده‌های ورودی داده‌شده تولید می‌کند.\n" +"\n" +"قالب دایرکتیو autosummary در ماژول پایتون\n" +"``sphinx.ext.autosummary`` مستند شده است و با دستور زیر قابل خواندن است::\n" +"\n" +" pydoc sphinx.ext.autosummary\n" msgid "source files to generate rST files for" -msgstr "" +msgstr "پرونده‌های منبع برای تولید پرونده‌های rST" msgid "directory to place all output in" -msgstr "" +msgstr "پوشه‌ای برای قرار دادن تمام خروجی" #, python-format msgid "default suffix for files (default: %(default)s)" -msgstr "" +msgstr "پسوند پیش‌فرض برای پرونده‌ها (پیش‌فرض: %(default)s)" #, python-format msgid "custom template directory (default: %(default)s)" -msgstr "" +msgstr "پوشه‌ی قالب سفارشی (پیش‌فرض: %(default)s)" #, python-format msgid "document imported members (default: %(default)s)" -msgstr "" +msgstr "مستندسازی اعضای ایمپورت‌شده (پیش‌فرض: %(default)s)" #, python-format msgid "document exactly the members in module __all__ attribute. (default: %(default)s)" -msgstr "" +msgstr "مستندسازی دقیقاً اعضای موجود در ویژگی ‎__all__ ماژول. (پیش‌فرض: %(default)s)" msgid "Remove existing files in the output directory that were not generated" -msgstr "" +msgstr "حذف پرونده‌های موجود در پوشه‌ی خروجی که تولید نشده‌اند" #, python-format msgid "Failed to remove %s: %s" -msgstr "" +msgstr "حذف %s شکست خورد: %s" msgid "" "\n" @@ -3199,328 +3314,332 @@ msgid "" "\n" "Note: By default this script will not overwrite already created files." msgstr "" +"\n" +"به‌صورت بازگشتی در به‌دنبال ماژول‌ها و بسته‌های پایتونی بگردید و\n" +"یک پرونده‌ی reST با دایرکتیوهای automodule به‌ازای هر بسته در بسازید.\n" +"\n" +"ها می‌توانند الگوهای پرونده و/یا پوشه باشند که از\n" +"تولید کنار گذاشته می‌شوند.\n" +"\n" +"نکته: به‌طور پیش‌فرض این اسکریپت پرونده‌های از پیش ساخته‌شده را بازنویسی نمی‌کند." msgid "path to module to document" -msgstr "" +msgstr "مسیر ماژول برای مستندسازی" msgid "fnmatch-style file and/or directory patterns to exclude from generation" -msgstr "" +msgstr "الگوهای پرونده و/یا پوشه به سبک fnmatch برای کنار گذاشتن از تولید" msgid "directory to place all output" -msgstr "" +msgstr "پوشه‌ای برای قرار دادن تمام خروجی" msgid "maximum depth of submodules to show in the TOC (default: 4)" -msgstr "" +msgstr "حداکثر عمق زیرماژول‌ها برای نمایش در فهرست مطالب (پیش‌فرض: ۴)" msgid "overwrite existing files" -msgstr "" +msgstr "بازنویسی پرونده‌های موجود" msgid "follow symbolic links. Powerful when combined with collective.recipe.omelette." -msgstr "" +msgstr "دنبال کردن پیوندهای نمادین. هنگام ترکیب با collective.recipe.omelette قدرتمند است." msgid "run the script without creating files" -msgstr "" +msgstr "اجرای اسکریپت بدون ساخت پرونده" msgid "put documentation for each module on its own page" -msgstr "" +msgstr "قرار دادن مستندات هر ماژول در صفحه‌ی خودش" msgid "include \"_private\" modules" -msgstr "" +msgstr "گنجاندن ماژول‌های «‎_private»" msgid "filename of table of contents (default: modules)" -msgstr "" +msgstr "نام پرونده‌ی فهرست مطالب (پیش‌فرض: modules)" msgid "don't create a table of contents file" -msgstr "" +msgstr "پرونده‌ی فهرست مطالب ساخته نشود" msgid "don't create headings for the module/package packages (e.g. when the docstrings already contain them)" -msgstr "" +msgstr "عنوان برای بسته‌های ماژول/بسته ساخته نشود (مثلاً وقتی رشته‌های مستندساز هم‌اکنون حاوی آن‌ها هستند)" msgid "put module documentation before submodule documentation" -msgstr "" +msgstr "قرار دادن مستندات ماژول پیش از مستندات زیرماژول" msgid "interpret module paths according to PEP-0420 implicit namespaces specification" -msgstr "" +msgstr "تفسیر مسیرهای ماژول بر اساس مشخصات فضای‌نام ضمنی PEP-0420" msgid "Comma-separated list of options to pass to automodule directive (or use SPHINX_APIDOC_OPTIONS)." -msgstr "" +msgstr "فهرستی جداشده با ویرگول از گزینه‌ها برای ارسال به دایرکتیو automodule (یا استفاده از SPHINX_APIDOC_OPTIONS)." msgid "file suffix (default: rst)" -msgstr "" +msgstr "پسوند پرونده (پیش‌فرض: rst)" msgid "generate a full project with sphinx-quickstart" -msgstr "" +msgstr "تولید یک پروژه‌ی کامل با sphinx-quickstart" msgid "append module_path to sys.path, used when --full is given" -msgstr "" +msgstr "افزودن module_path به sys.path، هنگامی که --full داده شده استفاده می‌شود" msgid "project name (default: root module name)" -msgstr "" +msgstr "نام پروژه (پیش‌فرض: نام ماژول ریشه)" msgid "project author(s), used when --full is given" -msgstr "" +msgstr "نویسنده (های) پروژه، هنگامی که --full داده شده استفاده می‌شود" msgid "project version, used when --full is given" -msgstr "" +msgstr "نسخه‌ی پروژه، هنگامی که --full داده شده استفاده می‌شود" msgid "project release, used when --full is given, defaults to --doc-version" -msgstr "" +msgstr "انتشار پروژه، هنگامی که --full داده شده استفاده می‌شود، پیش‌فرض آن --doc-version است" msgid "extension options" -msgstr "" +msgstr "گزینه‌های افزونه" msgid "enable arbitrary extensions, used when --full is given" -msgstr "" +msgstr "فعال‌سازی افزونه‌های دلخواه، هنگامی که --full داده شده استفاده می‌شود" #, python-format msgid "enable %s extension, used when --full is given" -msgstr "" +msgstr "فعال‌سازی افزونه‌ی %s، هنگامی که --full داده شده استفاده می‌شود" #, python-format msgid "%s is not a directory." -msgstr "" +msgstr "%s یک پوشه نیست." msgid "Running apidoc" -msgstr "" +msgstr "در حال اجرای apidoc" #, python-format msgid "apidoc_modules item %i must be a dict" -msgstr "" +msgstr "آیتم %i در apidoc_modules باید یک دیکشنری باشد" #, python-format msgid "apidoc_modules item %i must have a 'path' key" -msgstr "" +msgstr "آیتم %i در apidoc_modules باید کلید «path» داشته باشد" #, python-format msgid "apidoc_modules item %i 'path' must be a string" -msgstr "" +msgstr "«path» در آیتم %i از apidoc_modules باید یک رشته باشد" #, python-format msgid "apidoc_modules item %i 'path' is not an existing folder: %s" -msgstr "" +msgstr "«path» در آیتم %i از apidoc_modules یک پوشه‌ی موجود نیست: %s" #, python-format msgid "apidoc_modules item %i must have a 'destination' key" -msgstr "" +msgstr "آیتم %i در apidoc_modules باید کلید «destination» داشته باشد" #, python-format msgid "apidoc_modules item %i 'destination' must be a string" -msgstr "" +msgstr "«destination» در آیتم %i از apidoc_modules باید یک رشته باشد" #, python-format msgid "apidoc_modules item %i 'destination' should be a relative path" -msgstr "" +msgstr "«destination» در آیتم %i از apidoc_modules باید یک مسیر نسبی باشد" #, python-format msgid "apidoc_modules item %i cannot create destination directory: %s" -msgstr "" +msgstr "آیتم %i از apidoc_modules نمی‌تواند پوشه‌ی مقصد بسازد: %s" #, python-format msgid "apidoc_modules item %i '%s' must be an int" -msgstr "" +msgstr "آیتم %i از apidoc_modules، «%s» باید یک عدد صحیح باشد" #, python-format msgid "apidoc_modules item %i '%s' must be a boolean" -msgstr "" +msgstr "آیتم %i از apidoc_modules، «%s» باید یک بولی باشد" #, python-format msgid "apidoc_modules item %i has unexpected keys: %s" -msgstr "" +msgstr "آیتم %i از apidoc_modules کلیدهای غیرمنتظره‌ای دارد: %s" #, python-format msgid "apidoc_modules item %i '%s' must be a sequence" -msgstr "" +msgstr "آیتم %i از apidoc_modules، «%s» باید یک دنباله باشد" #, python-format msgid "apidoc_modules item %i '%s' must contain strings" -msgstr "" +msgstr "آیتم %i از apidoc_modules، «%s» باید حاوی رشته باشد" #, python-format msgid "Would create file %s." -msgstr "" +msgstr "پرونده‌ی %s ساخته خواهد شد." #, python-format msgid "(in %s v%s)" -msgstr "" +msgstr "(در %s نسخه‌ی %s)" #, python-format msgid "(in %s)" -msgstr "" +msgstr "(در %s)" #, python-format msgid "inventory '%s': duplicate matches found for %s:%s" -msgstr "" +msgstr "فهرست موجودی «%s»: تطبیق‌های تکراری برای %s:%s پیدا شد" #, python-format msgid "inventory '%s': multiple matches found for %s:%s" -msgstr "" +msgstr "فهرست موجودی «%s»: چندین تطبیق برای %s:%s پیدا شد" #, python-format msgid "inventory for external cross-reference not found: %r" -msgstr "" +msgstr "فهرست موجودی برای ارجاع‌متقابل خارجی پیدا نشد: %r" #, python-format msgid "invalid external cross-reference suffix: %r" -msgstr "" +msgstr "پسوند ارجاع‌متقابل خارجی نامعتبر: %r" #, python-format msgid "domain for external cross-reference not found: %r" -msgstr "" +msgstr "دامنه برای ارجاع‌متقابل خارجی پیدا نشد: %r" #, python-format msgid "external %s:%s reference target not found: %s" -msgstr "" +msgstr "هدف ارجاع خارجی %s:%s پیدا نشد: %s" #, python-format msgid "Invalid intersphinx project identifier `%r` in intersphinx_mapping. Project identifiers must be non-empty strings." -msgstr "" +msgstr "شناسه‌ی پروژه‌ی intersphinx نامعتبر «%r» در intersphinx_mapping. شناسه‌های پروژه باید رشته‌های غیرخالی باشند." #, python-format msgid "Invalid value `%r` in intersphinx_mapping[%r]. Expected a two-element tuple or list." -msgstr "" +msgstr "مقدار نامعتبر «%r» در intersphinx_mapping[%r]. یک تاپل یا فهرست دوعضوی انتظار می‌رفت." #, python-format msgid "Invalid value `%r` in intersphinx_mapping[%r]. Values must be a (target URI, inventory locations) pair." -msgstr "" +msgstr "مقدار نامعتبر «%r» در intersphinx_mapping[%r]. مقادیر باید یک جفت (URI هدف، مکان‌های فهرست موجودی) باشند." #, python-format msgid "Invalid target URI value `%r` in intersphinx_mapping[%r][0]. Target URIs must be unique non-empty strings." -msgstr "" +msgstr "مقدار URI هدف نامعتبر «%r» در intersphinx_mapping[%r][0]. URIهای هدف باید رشته‌های غیرخالی یکتا باشند." #, python-format msgid "Invalid target URI value `%r` in intersphinx_mapping[%r][0]. Target URIs must be unique (other instance in intersphinx_mapping[%r])." -msgstr "" +msgstr "مقدار URI هدف نامعتبر «%r» در intersphinx_mapping[%r][0]. URIهای هدف باید یکتا باشند (نمونه‌ی دیگر در intersphinx_mapping[%r])." #, python-format msgid "Invalid inventory location value `%r` in intersphinx_mapping[%r][1]. Inventory locations must be non-empty strings or None." -msgstr "" +msgstr "مقدار مکان فهرست موجودی نامعتبر «%r» در intersphinx_mapping[%r][1]. مکان‌های فهرست موجودی باید رشته‌های غیرخالی یا None باشند." msgid "Invalid `intersphinx_mapping` configuration (1 error)." -msgstr "" +msgstr "پیکربندی «intersphinx_mapping» نامعتبر (۱ خطا)." #, python-format msgid "Invalid `intersphinx_mapping` configuration (%s errors)." -msgstr "" +msgstr "پیکربندی «intersphinx_mapping» نامعتبر (%s خطا)." msgid "An invalid intersphinx_mapping entry was added after normalisation." -msgstr "" +msgstr "یک ورودی نامعتبر intersphinx_mapping پس از نرمال‌سازی افزوده شد." #, python-format msgid "loading intersphinx inventory '%s' from %s ..." -msgstr "" +msgstr "در حال بارگذاری فهرست موجودی intersphinx با نام «%s» از %s ..." msgid "encountered some issues with some of the inventories, but they had working alternatives:" -msgstr "" +msgstr "با برخی از فهرست‌های موجودی مشکلاتی برخورد شد، اما جایگزین‌های کارآمدی داشتند:" msgid "failed to reach any of the inventories with the following issues:" -msgstr "" +msgstr "دسترسی به هیچ‌کدام از فهرست‌های موجودی با مشکلات زیر ممکن نشد:" #, python-format msgid "intersphinx inventory has moved: %s -> %s" -msgstr "" +msgstr "فهرست موجودی intersphinx جابه‌جا شده است: %s -> %s" #, python-format msgid "invalid value for member-order option: %s" -msgstr "" +msgstr "مقدار نامعتبر برای گزینه‌ی member-order: %s" #, python-format msgid "invalid value for class-doc-from option: %s" -msgstr "" +msgstr "مقدار نامعتبر برای گزینه‌ی class-doc-from: %s" #, python-format msgid "invalid signature for auto%s (%r)" -msgstr "" +msgstr "امضای نامعتبر برای auto%s (%r)" #, python-format msgid "error while formatting arguments for %s: %s" -msgstr "" +msgstr "خطا هنگام قالب‌بندی آرگومان‌ها برای %s: %s" #, python-format msgid "" "autodoc: failed to determine %s.%s (%r) to be documented, the following exception was raised:\n" "%s" msgstr "" +"autodoc: تعیین %s.%s (%r) برای مستندسازی شکست خورد، استثنای زیر پرتاب شد:\n" +"%s" #, python-format msgid "don't know which module to import for autodocumenting %r (try placing a \"module\" or \"currentmodule\" directive in the document, or giving an explicit module name)" -msgstr "" +msgstr "مشخص نیست کدام ماژول برای مستندسازی خودکار %r باید ایمپورت شود (سعی کنید دایرکتیو «module» یا «currentmodule» را در سند قرار دهید، یا نام ماژول را صریحاً بدهید)" #, python-format msgid "A mocked object is detected: %r" -msgstr "" +msgstr "شیء ماک‌شده‌ای شناسایی شد: %r" #, python-format msgid "error while formatting signature for %s: %s" -msgstr "" +msgstr "خطا هنگام قالب‌بندی امضا برای %s: %s" msgid "\"::\" in automodule name doesn't make sense" -msgstr "" +msgstr "«::» در نام automodule معنایی ندارد" #, python-format msgid "signature arguments or return annotation given for automodule %s" -msgstr "" +msgstr "آرگومان‌های امضا یا حاشیه‌نویسی بازگشتی برای automodule با نام %s داده شده است" #, python-format msgid "__all__ should be a list of strings, not %r (in module %s) -- ignoring __all__" -msgstr "" +msgstr "‎__all__ باید فهرستی از رشته‌ها باشد، نه %r (در ماژول %s) -- ‎__all__ نادیده گرفته شد" #, python-format msgid "missing attribute mentioned in :members: option: module %s, attribute %s" -msgstr "" +msgstr "ویژگی گم‌شده که در گزینه‌ی :members: ذکر شده: ماژول %s، ویژگی %s" #, python-format msgid "Failed to get a function signature for %s: %s" -msgstr "" +msgstr "دریافت امضای تابع برای %s شکست خورد: %s" #, python-format msgid "Failed to get a constructor signature for %s: %s" -msgstr "" +msgstr "دریافت امضای سازنده برای %s شکست خورد: %s" #, python-format msgid "Bases: %s" -msgstr "" +msgstr "پایه‌ها: %s" #, python-format msgid "missing attribute %s in object %s" -msgstr "" +msgstr "ویژگی گم‌شده‌ی %s در شیء %s" #, python-format msgid "alias of %s" -msgstr "" +msgstr "مستعار %s" #, python-format msgid "alias of TypeVar(%s)" -msgstr "" +msgstr "مستعار TypeVar(%s)" #, python-format msgid "Failed to get a method signature for %s: %s" -msgstr "" +msgstr "دریافت امضای متد برای %s شکست خورد: %s" #, python-format msgid "Invalid __slots__ found on %s. Ignored." -msgstr "" +msgstr "‎__slots__ نامعتبر در %s پیدا شد. نادیده گرفته شد." #, python-format msgid "Failed to parse a default argument value for %r: %s" -msgstr "" +msgstr "پارس کردن مقدار پیش‌فرض آرگومان برای %r شکست خورد: %s" #, python-format msgid "Failed to update signature for %r: parameter not found: %s" -msgstr "" +msgstr "به‌روزرسانی امضا برای %r شکست خورد: پارامتر پیدا نشد: %s" #, python-format msgid "Failed to parse type_comment for %r: %s" -msgstr "" +msgstr "پارس کردن type_comment برای %r شکست خورد: %s" #~ msgid "Download these documents" #~ msgstr "دانلود این مستندات" -#~ msgid "Other resources" -#~ msgstr "منابع دیگر" - -#~ msgid "PEP index" -#~ msgstr "اندیس PEP" - #~ msgid "Beginner's guide" #~ msgstr "راهنمای مبتدیان" diff --git a/using/android.po b/using/android.po index 3259bbce8..e39f564fa 100644 --- a/using/android.po +++ b/using/android.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2024-09-27 14:19+0000\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -51,6 +51,9 @@ msgstr "`Buildozer `__، از پروژه‌ی msgid "`Chaquopy `__" msgstr "`Chaquopy `__" +msgid "`Flet `__" +msgstr "`Flet `__" + msgid "`pyqtdeploy `__" msgstr "`pyqtdeploy `__" diff --git a/using/cmdline.po b/using/cmdline.po index 2abb22d55..cde75c8fe 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-21 13:26+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -462,8 +462,8 @@ msgstr "گزینه ``-X perf`` پشتیبانی از پروفایل‌گیر ``p msgid "``-X perf_jit`` enables support for the Linux ``perf`` profiler with DWARF support. When this option is provided, the ``perf`` profiler will be able to report Python calls using DWARF information. This option is only available on some platforms and will do nothing if is not supported on the current system. The default value is \"off\". See also :envvar:`PYTHON_PERF_JIT_SUPPORT` and :ref:`perf_profiling`." msgstr "گزینه‌ی ``-X perf_jit`` پشتیبانی از پروفایل‌گیر ``perf`` لینوکس را همراه با پشتیبانی DWARF فعال می‌کند. هنگامی که این گزینه ارائه شود، پروفایل‌گیر ``perf`` می‌تواند فراخوانی‌های پایتون را با استفاده از اطلاعات DWARF گزارش کند. این گزینه تنها روی برخی پلتفرم‌ها در دسترس است و اگر در سیستم فعلی پشتیبانی نشده باشد، هیچ کاری انجام نمی‌دهد. مقدار پیش‌فرض «off» است. همچنین :envvar:`PYTHON_PERF_JIT_SUPPORT` و :ref:`perf_profiling` را ببینید." -msgid "``-X disable_remote_debug`` disables the remote debugging support as described in :pep:`768`. This includes both the functionality to schedule code for execution in another process and the functionality to receive code for execution in the current process." -msgstr "``-X disable_remote_debug`` پشتیبانی از اشکال‌زدایی از راه دور را که در :pep:`768` شرح داده شده است، غیرفعال می‌کند. این شامل هم قابلیت زمان‌بندی کد برای اجرا در فرایندی دیگر و هم قابلیت دریافت کد برای اجرا در فرایند جاری است." +msgid "``-X disable-remote-debug`` disables the remote debugging support as described in :pep:`768`. This includes both the functionality to schedule code for execution in another process and the functionality to receive code for execution in the current process." +msgstr "گزینه‌ی ``-X disable-remote-debug`` پشتیبانی از اشکال‌زدایی راه دور را همان‌طور که در :pep:`768` شرح داده شده است، غیرفعال می‌کند. این شامل هم قابلیت زمان‌بندی کد برای اجرا در یک فرایند دیگر و هم قابلیت دریافت کد برای اجرا در فرایند فعلی است." msgid "This option is only available on some platforms and will do nothing if is not supported on the current system. See also :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` and :pep:`768`." msgstr "این گزینه تنها در برخی پلتفرم‌ها در دسترس است و اگر در سیستم فعلی پشتیبانی نشود، هیچ کاری انجام نمی‌دهد. همچنین :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` و :pep:`768` را ببینید." @@ -797,8 +797,8 @@ msgstr "همچنین گزینه‌ی خط فرمان :option:`-X perf_jit <-X>` msgid "If this variable is set to a non-empty string, it disables the remote debugging feature described in :pep:`768`. This includes both the functionality to schedule code for execution in another process and the functionality to receive code for execution in the current process." msgstr "اگر این متغیر به رشته‌ای غیرخالی تنظیم شده باشد، قابلیت اشکال‌زدایی از راه دورِ توصیف‌شده در :pep:`768` را غیرفعال می‌کند. این شامل هر دو کارکرد زمان‌بندی کد برای اجرا در فرایندی دیگر و کارکرد دریافت کد برای اجرا در فرایند جاری است." -msgid "See also the :option:`-X disable_remote_debug` command-line option." -msgstr "همچنین گزینه‌ی خط فرمان :option:`-X disable_remote_debug` را ببینید." +msgid "See also the :option:`-X disable-remote-debug` command-line option." +msgstr "همچنین گزینه‌ی خط فرمان :option:`-X disable-remote-debug` را ببینید." msgid "If this variable is set to a positive integer, it overrides the return values of :func:`os.cpu_count` and :func:`os.process_cpu_count`." msgstr "اگر این متغیر روی یک عدد صحیح مثبت تنظیم‌شده باشد، مقادیر بازگشتی :func:`os.cpu_count` و :func:`os.process_cpu_count` را بازنویسی می‌کند." diff --git a/using/configure.po b/using/configure.po index 3b22351e1..bbf5200cc 100644 --- a/using/configure.po +++ b/using/configure.po @@ -6,12 +6,13 @@ # Translators: # Alireza Shabani (Revisto) , 2025 # Sepehr Rasouli , 2026 +# mahdyaralipor , 2026 # msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-29 04:09+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 10:31+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -294,8 +295,8 @@ msgstr "اندازه‌ی رقم‌های :class:`int` پایتون را بر ح msgid "By default, the digit size is 30." msgstr "به‌طور پیش‌فرض، اندازه رقم ۳۰ است." -msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." -msgstr "مقدار ``PYLONG_BITS_IN_DIGIT`` را برابر ``15`` یا ``30`` تعریف کنید." +msgid "Define :c:macro:`PYLONG_BITS_IN_DIGIT` to ``15`` or ``30``." +msgstr "کلان‌دستور :c:macro:`PYLONG_BITS_IN_DIGIT` را روی ``15`` یا ``30`` تعریف کنید." msgid "See :data:`sys.int_info.bits_per_digit `." msgstr "به :data:`sys.int_info.bits_per_digit ` مراجعه کنید." @@ -735,8 +736,11 @@ msgstr "غیرفعال کردن تخصیص‌دهنده حافظه‌ی تخصص msgid "Disable static documentation strings to reduce the memory footprint (enabled by default). Documentation strings defined in Python are not affected." msgstr "غیرفعال‌سازی رشته‌های مستند ایستا برای کاهش مصرف حافظه (به‌صورت پیش‌فرض فعال است). رشته‌های مستند تعریف‌شده در پایتون تحت تأثیر قرار نمی‌گیرند." -msgid "Don't define the ``WITH_DOC_STRINGS`` macro." -msgstr "ماکروی ``WITH_DOC_STRINGS`` را تعریف نکنید." +msgid "Don't define the :c:macro:`WITH_DOC_STRINGS` macro." +msgstr "کلان‌دستور :c:macro:`WITH_DOC_STRINGS` را تعریف نکنید." + +msgid "Define this macro to include static documentation strings in the build. It is defined by default, unless :option:`--without-doc-strings` is used." +msgstr "این کلان‌دستور را برای گنجاندن رشته‌های مستندات ایستا در ساخت تعریف کنید. این مورد به طور پیش‌فرض تعریف می‌شود، مگر اینکه از :option:`--without-doc-strings` استفاده شود." msgid "See the ``PyDoc_STRVAR()`` macro." msgstr "ماکرو ``PyDoc_STRVAR()`` را ببینید." @@ -867,6 +871,9 @@ msgstr "آشکارساز خطاهای حافظه‌ی AddressSanitizer یعنی msgid "Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." msgstr "فعال‌سازی آشکارساز خطای تخصیص MemorySanitizer، ``msan`` (پیش‌فرض: خیر)." +msgid "MSan reports false positives for memory initialized by libraries that are not built with MSan, so either build all dependencies with MSan or disable the extension modules that use them in :file:`Modules/Setup.local`." +msgstr "MSan برای حافظه‌ای که توسط کتابخانه‌هایی که با MSan ساخته نشدن مقداردهی اولیه شده، نتایج مثبت کاذب گزارش می‌دهد. بنابراین یا همه‌ی وابستگی‌ها را با MSan بسازید، یا ماژول‌های توسعه‌ای‌ای که از آن‌ها استفاده می‌کنند را در Modules/Setup.local غیرفعال کنید." + msgid "Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` (default is no)." msgstr "فعال کردن آشکارساز رفتار تعریف‌نشده UndefinedBehaviorSanitizer، ``ubsan`` (پیش‌فرض: خیر)." diff --git a/using/ios.po b/using/ios.po index 9a6a618e2..56f74f7d1 100644 --- a/using/ios.po +++ b/using/ios.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-15 07:49+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -41,8 +41,8 @@ msgstr "در iOS، مفهوم نصب به‌عنوان یک منبع سیستم msgid "As a result, the only way you can use Python on iOS is in embedded mode - that is, by writing a native iOS application, and embedding a Python interpreter using ``libPython``, and invoking Python code using the :ref:`Python embedding API `. The full Python interpreter, the standard library, and all your Python code is then packaged as a standalone bundle that can be distributed via the iOS App Store." msgstr "در نتیجه، تنها راهی که می‌توانید از پایتون روی iOS استفاده کنید، حالت تعبیه‌شده است؛ یعنی با نوشتن یک برنامه‌ی بومی iOS، تعبیه کردن یک مفسر پایتون با استفاده از ``libPython`` و فراخواندن کد پایتون با استفاده از :ref:`API تعبیه پایتون `. سپس مفسر کامل پایتون، کتابخانه‌ی استاندارد و تمام کد پایتون شما به‌صورت یک بسته‌ی مستقل بسته‌بندی می‌شود که می‌توان آن را از طریق iOS App Store توزیع کرد." -msgid "If you're looking to experiment for the first time with writing an iOS app in Python, projects such as `BeeWare `__ and `Kivy `__ will provide a much more approachable user experience. These projects manage the complexities associated with getting an iOS project running, so you only need to deal with the Python code itself." -msgstr "اگر می‌خواهید برای نخستین بار نوشتن یک اپلیکیشن iOS با پایتون را تجربه کنید، پروژه‌هایی مانند `BeeWare `__ و `Kivy `__ تجربه‌ی کاربری بسیار در دسترس‌تری فراهم می‌کنند. این پروژه‌ها پیچیدگی‌های مرتبط با راه‌اندازی یک پروژه iOS را مدیریت می‌کنند، بنابراین تنها لازم است با خودِ کد پایتون سروکار داشته باشید." +msgid "If you're looking to experiment for the first time with writing an iOS app in Python, projects such as `BeeWare `__, `Kivy `__, and `Flet `__ will provide a much more approachable user experience. These projects manage the complexities associated with getting an iOS project running, so you only need to deal with the Python code itself." +msgstr "اگر می‌خواهید برای نخستین بار نوشتن یک برنامه‌ی iOS را با پایتون آزمایش کنید، پروژه‌هایی مانند `BeeWare `__، `Kivy `__ و `Flet `__ تجربه‌ی کاربری بسیار ساده‌تری را فراهم می‌کنند. این پروژه‌ها پیچیدگی‌های مربوط به راه‌اندازی یک پروژه‌ی iOS را مدیریت می‌کنند، بنابراین شما فقط باید با خود کد پایتون سروکار داشته باشید." msgid "Python at runtime on iOS" msgstr "پایتون در زمان اجرا روی iOS" diff --git a/using/mac.po b/using/mac.po index 99978434f..075c6da04 100644 --- a/using/mac.po +++ b/using/mac.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-16 12:56+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 10:40+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -185,6 +185,9 @@ msgstr "`Toga `_: بخشی از `پروژه BeeWare msgid "`wxPython `_: A cross-platform toolkit that supports desktop operating systems." msgstr "`wxPython `_: مجموعه ابزار چندسکویی که از سیستم‌عامل‌های دسکتاپ پشتیبانی می‌کند." +msgid "`Flet `_: A framework for building cross-platform desktop, mobile, and web applications in Python." +msgstr "`Flet `_: چارچوبی برای ساخت برنامه‌های چندسکویی دسکتاپ، موبایل و وب در پایتون." + msgid "Advanced Topics" msgstr "مباحث پیشرفته" diff --git a/using/windows.po b/using/windows.po index 9f4580d9c..f7a69af64 100644 --- a/using/windows.po +++ b/using/windows.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-21 11:59+0000\n" +"POT-Creation-Date: 2026-10-22 14:54+0000\n" "PO-Revision-Date: 2026-09-14 13:35+0330\n" "Last-Translator: Sepehr Rasouli , 2026\n" "Language-Team: Persian (https://github.com/python/python-docs-fa/)\n" @@ -209,8 +209,8 @@ msgstr "گزینه‌ی ``--source=`` اجازه می‌دهد تا نما msgid "Passing ``--force`` will ignore any cached files and remove any existing install to replace it with the specified one." msgstr "با ارسال ``--force``، پرونده‌های ذخیره‌شده در نهانگاه نادیده گرفته می‌شوند و هر نصب موجود حذف می‌شود تا با نصب مشخص‌شده جایگزین شود." -msgid "Passing ``--update`` will replace existing installs if the new version is newer. Otherwise, they will be left. If no tags are provided with ``--update``, all installs managed by the Python install manager will be updated if newer versions are available. Updates will remove any modifications made to the install, including globally installed packages, but virtual environments will continue to work." -msgstr "با ارسال ``--update``، در صورتی که نسخه جدید جدیدتر باشد، نصب‌های موجود جایگزین می‌شوند. در غیر این صورت، دست‌نخورده باقی می‌مانند. اگر هیچ برچسبی همراه ``--update`` ارائه نشود، تمام نصب‌های مدیریت‌شده توسط مدیر نصب پایتون، در صورت وجود نسخه‌های جدیدتر، به‌روزرسانی می‌شوند. به‌روزرسانی‌ها هرگونه تغییرات اعمال‌شده روی نصب، از جمله بسته‌های نصب‌شده به صورت سراسری، را حذف می‌کنند، اما محیط‌های مجازی به کار خود ادامه خواهند داد." +msgid "Passing ``--update`` will replace existing installs if the new version is newer. Otherwise, they will be left. If no tags are provided with ``--update``, all installs managed by the Python install manager will be updated if newer versions are available. Updates will remove any modifications made to the install, including globally installed packages, but will leave ``site-packages`` and ``Scripts`` directories as is. Virtual environments are also unaffected." +msgstr "ارسال ``--update`` در صورتی که نسخه‌ی جدیدتر باشد، نصب‌های موجود را جایگزین خواهد کرد. در غیر این صورت، آن‌ها دست‌نخورده باقی خواهند ماند. اگر هیچ برچسبی با ``--update`` ارائه نشود، تمام نصب‌های مدیریت‌شده توسط مدیر نصب پایتون در صورت در دسترس بودن نسخه‌های جدیدتر به‌روزرسانی خواهند شد. به‌روزرسانی‌ها هرگونه تغییر ایجاد شده در نصب، از جمله بسته‌های نصب‌شده‌ی سراسری را حذف خواهند کرد، اما دایرکتوری‌های ``site-packages`` و ``Scripts`` را به همان شکل حفظ می‌کنند. محیط‌های مجازی نیز تحت تأثیر قرار نمی‌گیرند." msgid "Passing ``--dry-run`` will generate output and logs, but will not modify any installs." msgstr "با ارسال ``--dry-run``، خروجی و گزارش‌ها تولید می‌شوند، اما هیچ نصبی تغییر نمی‌کند." @@ -281,8 +281,8 @@ msgstr "مدیر نصب پایتون با یک سلسله‌مراتب از پر msgid "This section will describe the defaults, but be aware that modified or overridden installs may resolve settings differently." msgstr "این بخش پیش‌فرض‌ها را توصیف می‌کند، اما آگاه باشید که ممکن است نصب‌های تغییر داده‌شده یا بازنویسی‌شده، تنظیمات را به شکل متفاوتی حل کنند." -msgid "A global configuration file may be configured by an administrator, and would be read first. The user configuration file is stored at :file:`%AppData%\\\\Python\\\\pymanager.json` (note that this location is under ``Roaming``, not ``Local``) and is read next, overwriting any settings from earlier files. An additional configuration file may be specified as the ``PYTHON_MANAGER_CONFIG`` environment variable or the ``--config`` command line option (but not both). These locations may be modified by administrative customization options listed later." -msgstr "ممکن است یک پرونده پیکربندی سراسری توسط مدیر سیستم پیکربندی شود و ابتدا خوانده می‌شود. پرونده پیکربندی کاربر در :file:`%AppData%\\\\Python\\\\pymanager.json` ذخیره می‌شود (توجه داشته باشید که این مکان زیر ``Roaming`` است، نه ``Local``) و در مرحله بعد خوانده می‌شود و هر تنظیمی از پرونده‌های قبلی را بازنویسی می‌کند. می‌توان یک پرونده پیکربندی اضافی را از طریق متغیر محیطی ``PYTHON_MANAGER_CONFIG`` یا گزینه خط فرمان ``--config`` مشخص کرد (اما نه هر دو). این مکان‌ها ممکن است توسط گزینه‌های سفارشی‌سازی مدیریتی که در ادامه فهرست شده‌اند تغییر یابند." +msgid "A global configuration file may be configured by an :ref:`administrator ` and would be read first. The user configuration file is stored at :file:`%AppData%\\\\Python\\\\pymanager.json` (note that this location is under ``Roaming``, not ``Local``) and is read next, overwriting any settings from earlier files. An additional configuration file may be specified as the ``PYTHON_MANAGER_CONFIG`` environment variable or the ``--config`` command line option (but not both). These locations may be modified by administrative customization options listed later." +msgstr "یک پرونده‌ی پیکربندی سراسری ممکن است توسط یک :ref:`مدیر ` پیکربندی شود و ابتدا خوانده شود. پرونده‌ی پیکربندی کاربر در :file:`%AppData%\\\\Python\\\\pymanager.json` ذخیره می‌شود (توجه داشته باشید که این مکان تحت ``Roaming`` است، نه ``Local``) و سپس خوانده می‌شود که تنظیمات پرونده‌های قبلی را بازنویسی می‌کند. یک پرونده‌ی پیکربندی اضافی ممکن است به عنوان متغیر محیطی ``PYTHON_MANAGER_CONFIG`` یا گزینه‌ی خط فرمان ``--config`` (اما نه هر دو) مشخص شود. این مکان‌ها ممکن است با گزینه‌های سفارشی‌سازی مدیریتی که در ادامه فهرست شده‌اند، اصلاح شوند." msgid "The following settings are those that are considered likely to be modified in normal use. Later sections list those that are intended for administrative customization." msgstr "تنظیمات زیر، تنظیماتی هستند که به‌احتمال زیاد در استفاده‌ی عادی تغییر داده می‌شوند. بخش‌های بعدی تنظیماتی را فهرست می‌کنند که برای سفارشی‌سازی مدیریتی در نظر گرفته شده‌اند."