You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: c-api/curses.po
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ msgid "Curses C API"
23
23
msgstr"API زبان C برای Curses"
24
24
25
25
msgid":mod:`curses` exposes a small C interface for extension modules. Consumers must include the header file :file:`py_curses.h` (which is not included by default by :file:`Python.h`) and :c:func:`import_curses` must be invoked, usually as part of the module initialisation function, to populate :c:var:`PyCurses_API`."
26
-
msgstr":mod:`curses` یک رابط C کوچک را برای ماژولهای توسعهای در اختیار قرار میدهد. مصرفکنندگان باید پرونده سرآیند :file:`py_curses.h` (که بهطور پیشفرض توسط :file:`Python.h` گنجانده نمیشود) را گنجانده باشند و :c:func:`import_curses` باید، معمولاً بهعنوان بخشی از تابع مقداردهی اولیه ماژول، برای پر کردن :c:var:`PyCurses_API` فراخوانی شود."
26
+
msgstr":mod:`curses` یک رابط C کوچک را برای ماژولهای توسعهای در اختیار قرار میدهد. مصرفکنندگان باید پروندهی سرآیند :file:`py_curses.h` (که بهطور پیشفرض توسط :file:`Python.h` گنجانده نمیشود) را گنجانده باشند و :c:func:`import_curses` باید، معمولاً بهعنوان بخشی از تابع مقداردهی اولیه ماژول، برای پر کردن :c:var:`PyCurses_API` فراخوانی شود."
27
27
28
28
msgid"Neither the C API nor the pure Python :mod:`curses` module are compatible with subinterpreters."
29
29
msgstr"نه API زبان C و نه ماژول :mod:`curses` پایتون خالص با زیرمفسرها سازگار است."
Copy file name to clipboardExpand all lines: c-api/datetime.po
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ msgid "DateTime Objects"
27
27
msgstr"شیءهای DateTime"
28
28
29
29
msgid"Various date and time objects are supplied by the :mod:`datetime` module. Before using any of these functions, the header file :file:`datetime.h` must be included in your source (note that this is not included by :file:`Python.h`), and the macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as part of the module initialisation function. The macro puts a pointer to a C structure into a static variable, :c:data:`PyDateTimeAPI`, that is used by the following macros."
30
-
msgstr"اشیاء مختلف تاریخ و زمان توسط ماژول :mod:`datetime` فراهم میشوند. پیش از استفاده از هر یک از این توابع، پرونده سرآیند :file:`datetime.h` باید در کد منبع شما گنجانده شود (توجه داشته باشید که این پرونده توسط :file:`Python.h` گنجانده نمیشود) و ماکروی :c:macro:`PyDateTime_IMPORT` باید فراخوانی شود، که معمولاً به عنوان بخشی از تابع مقداردهی اولیه ماژول انجام میشود. این ماکرو یک اشارهگر به یک ساختار C را در یک متغیر ایستا، :c:data:`PyDateTimeAPI`، قرار میدهد که توسط ماکروهای زیر استفاده میشود."
30
+
msgstr"اشیاء مختلف تاریخ و زمان توسط ماژول :mod:`datetime` فراهم میشوند. پیش از استفاده از هر یک از این توابع، پروندهی سرآیند :file:`datetime.h` باید در کد منبع شما گنجانده شود (توجه داشته باشید که این پرونده توسط :file:`Python.h` گنجانده نمیشود) و ماکروی :c:macro:`PyDateTime_IMPORT` باید فراخوانی شود، که معمولاً به عنوان بخشی از تابع مقداردهی اولیه ماژول انجام میشود. این ماکرو یک اشارهگر به یک ساختار C را در یک متغیر ایستا، :c:data:`PyDateTimeAPI`، قرار میدهد که توسط ماکروهای زیر استفاده میشود."
Copy file name to clipboardExpand all lines: extending/extending.po
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1231,7 +1231,7 @@ msgid "Many extension modules just provide new functions and types to be used fr
1231
1231
msgstr "بسیاری از ماژولهای توسعهای صرفاً توابع و نوعهای جدیدی فراهم میکنند که از پایتون مورد استفاده قرار میگیرند، اما گاهی کد موجود در یک ماژول توسعهای میتواند برای ماژولهای توسعهای دیگر مفید باشد. برای مثال، یک ماژول توسعهای میتواند نوعی به نام «مجموعه» پیادهسازی کند که مانند فهرستهای بدون ترتیب کار میکند. درست همانطور که نوع فهرست استاندارد پایتون دارای یک C API است که به ماژولهای توسعهای اجازه میدهد فهرستها را ایجاد و دستکاری کنند، این نوع مجموعه جدید نیز باید مجموعهای از توابع C برای دستکاری مستقیم از سوی ماژولهای توسعهای دیگر داشته باشد."
1232
1232
1233
1233
msgid"At first sight this seems easy: just write the functions (without declaring them ``static``, of course), provide an appropriate header file, and document the C API. And in fact this would work if all extension modules were always linked statically with the Python interpreter. When modules are used as shared libraries, however, the symbols defined in one module may not be visible to another module. The details of visibility depend on the operating system; some systems use one global namespace for the Python interpreter and all extension modules (Windows, for example), whereas others require an explicit list of imported symbols at module link time (AIX is one example), or offer a choice of different strategies (most Unices). And even if symbols are globally visible, the module whose functions one wishes to call might not have been loaded yet!"
1234
-
msgstr "در نگاه نخست این کار آسان به نظر میرسد: کافی است توابع را بنویسید (البته بدون اینکه آنها را ``static`` اعلان کنید)، یک پرونده سرآیند مناسب فراهم کنید و API زبان C را مستند کنید. و در واقع اگر همه ماژولهای توسعهای همیشه بهصورت ایستا با مفسر پایتون پیوند داده میشدند، همین روش کار میکرد. اما هنگامی که ماژولها بهصورت کتابخانههای اشتراکی استفاده میشوند، ممکن است نمادهای تعریفشده در یک ماژول برای ماژول دیگری نمایان نباشند. جزئیات نمایان بودن نمادها به سیستمعامل بستگی دارد؛ برخی سیستمها برای مفسر پایتون و همه ماژولهای توسعهای از یک فضای نام سراسری واحد استفاده میکنند (مثلاً ویندوز)، در حالی که برخی دیگر در زمان پیوند ماژول به فهرست صریحی از نمادهای واردشده نیاز دارند (AIX یکی از این نمونههاست)، یا امکان انتخاب میان راهبردهای مختلف را ارائه میدهند (بیشتر سیستمهای یونیکس). و حتی اگر نمادها بهصورت سراسری نمایان باشند، ممکن است ماژولی که میخواهید توابعش را فراخوانی کنید، هنوز بارگذارینشده باشد!"
1234
+
msgstr "در نگاه نخست این کار آسان به نظر میرسد: کافی است توابع را بنویسید (البته بدون اینکه آنها را ``static`` اعلان کنید)، یک پروندهی سرآیند مناسب فراهم کنید و API زبان C را مستند کنید. و در واقع اگر همه ماژولهای توسعهای همیشه بهصورت ایستا با مفسر پایتون پیوند داده میشدند، همین روش کار میکرد. اما هنگامی که ماژولها بهصورت کتابخانههای اشتراکی استفاده میشوند، ممکن است نمادهای تعریفشده در یک ماژول برای ماژول دیگری نمایان نباشند. جزئیات نمایان بودن نمادها به سیستمعامل بستگی دارد؛ برخی سیستمها برای مفسر پایتون و همه ماژولهای توسعهای از یک فضای نام سراسری واحد استفاده میکنند (مثلاً ویندوز)، در حالی که برخی دیگر در زمان پیوند ماژول به فهرست صریحی از نمادهای واردشده نیاز دارند (AIX یکی از این نمونههاست)، یا امکان انتخاب میان راهبردهای مختلف را ارائه میدهند (بیشتر سیستمهای یونیکس). و حتی اگر نمادها بهصورت سراسری نمایان باشند، ممکن است ماژولی که میخواهید توابعش را فراخوانی کنید، هنوز بارگذارینشده باشد!"
1235
1235
1236
1236
msgid"Portability therefore requires not to make any assumptions about symbol visibility. This means that all symbols in extension modules should be declared ``static``, except for the module's initialization function, in order to avoid name clashes with other extension modules (as discussed in section :ref:`methodtable`). And it means that symbols that *should* be accessible from other extension modules must be exported in a different way."
1237
1237
msgstr"بنابراین، قابلیت انتقال (portability) ایجاب میکند که هیچ فرضی دربارهی نمایانی نمادها صورت نگیرد. این بدان معناست که همهی نمادها در ماژولهای توسعهای، بهجز تابع مقداردهی اولیهی ماژول، باید بهصورت ``static`` اعلام شوند تا از تداخل نام با ماژولهای توسعهای دیگر پرهیز شود (همانطور که در بخش :ref:`methodtable` بحث شد). و این بدان معناست که نمادهایی که *باید* برای دیگر ماژولهای توسعهای دسترسیپذیر باشند، باید به شیوهای متفاوت اکسپورت شوند."
@@ -1255,7 +1255,7 @@ msgid "The convenience function :c:func:`PyCapsule_Import` makes it easy to load
1255
1255
msgstr"تابع کمکی :c:func:`PyCapsule_Import` بارگذاری یک C API که از طریق یک کپسول ارائه شده را آسان میکند، اما تنها در صورتی که نام کپسول با این قرارداد مطابقت داشته باشد. این رفتار به کاربران C API درجه بالایی از اطمینان میدهد که کپسولی که بارگذاری میکنند، C API صحیح را در بر دارد."
1256
1256
1257
1257
msgid"The following example demonstrates an approach that puts most of the burden on the writer of the exporting module, which is appropriate for commonly used library modules. It stores all C API pointers (just one in the example!) in an array of :c:expr:`void` pointers which becomes the value of a Capsule. The header file corresponding to the module provides a macro that takes care of importing the module and retrieving its C API pointers; client modules only have to call this macro before accessing the C API."
1258
-
msgstr"مثال زیر رویکردی را نشان میدهد که بیشتر بار را بر دوش نویسنده ماژول اکسپورتکننده قرار میدهد، که برای ماژولهای کتابخانهای پرکاربرد مناسب است. این رویکرد تمام اشارهگرهای C API (در مثال فقط یکی!) را در آرایهای از اشارهگرهای :c:expr:`void` ذخیره میکند که مقدار یک کپسول میشود. پرونده سرآیند متناظر با ماژول، ماکرویی را فراهم میکند که کار ایمپورت کردن ماژول و بازیابی اشارهگرهای C API آن را انجام میدهد؛ ماژولهای کلاینت تنها باید پیش از دسترسی به C API این ماکرو را فراخوانی کنند."
1258
+
msgstr"مثال زیر رویکردی را نشان میدهد که بیشتر بار را بر دوش نویسنده ماژول اکسپورتکننده قرار میدهد، که برای ماژولهای کتابخانهای پرکاربرد مناسب است. این رویکرد تمام اشارهگرهای C API (در مثال فقط یکی!) را در آرایهای از اشارهگرهای :c:expr:`void` ذخیره میکند که مقدار یک کپسول میشود. پروندهی سرآیند متناظر با ماژول، ماکرویی را فراهم میکند که کار ایمپورت کردن ماژول و بازیابی اشارهگرهای C API آن را انجام میدهد؛ ماژولهای کلاینت تنها باید پیش از دسترسی به C API این ماکرو را فراخوانی کنند."
1259
1259
1260
1260
msgid"The exporting module is a modification of the :mod:`!spam` module from section :ref:`extending-simpleexample`. The function :func:`!spam.system` does not call the C library function :c:func:`system` directly, but a function :c:func:`!PySpam_System`, which would of course do something more complicated in reality (such as adding \"spam\" to every command). This function :c:func:`!PySpam_System` is also exported to other extension modules."
1261
1261
msgstr"ماژول اکسپورتکننده، نسخهی تغییریافتهای از ماژول :mod:`!spam` در بخش :ref:`extending-simpleexample` است. تابع :func:`!spam.system` مستقیماً تابع :c:func:`system` از کتابخانهی C را فراخوانی نمیکند، بلکه تابع :c:func:`!PySpam_System` را فراخوانی میکند که البته در واقعیت کاری پیچیدهتر انجام میدهد (مانند افزودن \"spam\" به هر دستور). این تابع :c:func:`!PySpam_System` همچنین به ماژولهای توسعهای دیگر اکسپورت میشود."
@@ -1321,7 +1321,7 @@ msgstr ""
1321
1321
"#include \"spammodule.h\""
1322
1322
1323
1323
msgid"The ``#define`` is used to tell the header file that it is being included in the exporting module, not a client module. Finally, the module's :c:data:`mod_exec <Py_mod_exec>` function must take care of initializing the C API pointer array::"
1324
-
msgstr"از ``#define`` استفاده میشود تا به پرونده سرآیند بگوید که در ماژول اکسپورتکننده گنجانده میشود، نه در یک ماژول کلاینت. در نهایت، تابع :c:data:`mod_exec <Py_mod_exec>` ماژول باید مقداردهی اولیهی آرایه اشارهگرهای C API را بر عهده بگیرد::"
1324
+
msgstr"از ``#define`` استفاده میشود تا به پروندهی سرآیند بگوید که در ماژول اکسپورتکننده گنجانده میشود، نه در یک ماژول کلاینت. در نهایت، تابع :c:data:`mod_exec <Py_mod_exec>` ماژول باید مقداردهی اولیهی آرایه اشارهگرهای C API را بر عهده بگیرد::"
1325
1325
1326
1326
msgid""
1327
1327
"static int\n"
@@ -1366,7 +1366,7 @@ msgid "Note that ``PySpam_API`` is declared ``static``; otherwise the pointer ar
1366
1366
msgstr"توجه داشته باشید که ``PySpam_API`` بهصورت ``static`` تعریف شده است؛ در غیر این صورت، آرایه اشارهگرها با خاتمهیافتن :c:func:`!PyInit_spam` ناپدید میشد!"
1367
1367
1368
1368
msgid"The bulk of the work is in the header file :file:`spammodule.h`, which looks like this::"
1369
-
msgstr"بخش عمدهی کار در پرونده سرآیند :file:`spammodule.h` قرار دارد که به این شکل است::"
1369
+
msgstr"بخش عمدهی کار در پروندهی سرآیند :file:`spammodule.h` قرار دارد که به این شکل است::"
Copy file name to clipboardExpand all lines: extending/windows.po
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ msgid "When creating DLLs in Windows, you can use the CPython library in two way
76
76
msgstr"هنگام ساخت DLLها در ویندوز، میتوانید از کتابخانه سیپایتون به دو روش استفاده کنید:"
77
77
78
78
msgid"By default, inclusion of :file:`PC/pyconfig.h` directly or via :file:`Python.h` triggers an implicit, configure-aware link with the library. The header file chooses :file:`pythonXY_d.lib` for Debug, :file:`pythonXY.lib` for Release, and :file:`pythonX.lib` for Release with the :ref:`Limited API <stable-application-binary-interface>` enabled."
79
-
msgstr"بهطور پیشفرض، گنجاندن :file:`PC/pyconfig.h` بهصورت مستقیم یا از طریق :file:`Python.h` موجب برقراری یک پیوند ضمنی و آگاه از پیکربندی با کتابخانه میشود. پرونده سرآیند برای Debug، :file:`pythonXY_d.lib`؛ برای Release، :file:`pythonXY.lib`؛ و برای Release با فعال بودن :ref:`API محدود <stable-application-binary-interface>`، :file:`pythonX.lib` را انتخاب میکند."
79
+
msgstr"بهطور پیشفرض، گنجاندن :file:`PC/pyconfig.h` بهصورت مستقیم یا از طریق :file:`Python.h` موجب برقراری یک پیوند ضمنی و آگاه از پیکربندی با کتابخانه میشود. پروندهی سرآیند برای Debug، :file:`pythonXY_d.lib`؛ برای Release، :file:`pythonXY.lib`؛ و برای Release با فعال بودن :ref:`API محدود <stable-application-binary-interface>`، :file:`pythonX.lib` را انتخاب میکند."
80
80
81
81
msgid"To build two DLLs, spam and ni (which uses C functions found in spam), you could use these commands::"
82
82
msgstr"برای ساخت دو DLL با نامهای spam و ni (که از توابع C موجود در spam استفاده میکند)، میتوانید از این دستورها استفاده کنید::"
0 commit comments