From 95331bf506585cce18af9880ebe95a9669a3069d Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Sun, 16 Aug 2026 13:36:09 +0330 Subject: [PATCH 1/2] Update GLOSSARY --- GLOSSARY.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 5985d251..4af79ba8 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -77,4 +77,9 @@ | raise | پرتاب | | list comprehension | درک فهرستی | | directory | پوشه | -| stack traceback | ردگیری پشته | \ No newline at end of file +| stack traceback | ردگیری پشته | +| item | آیتم | +| quotation | علامت نقل‌وقول | +| escape | خنثی کردن | +| unpacking | واگشایی | +| shadowing | پوشاندن | \ No newline at end of file From 65b0be52231ccfb327cb761f926d69aeacaf97de Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Sun, 16 Aug 2026 13:36:15 +0330 Subject: [PATCH 2/2] Update translations and fix artifacts --- bugs.po | 2 +- library/functions.po | 30 +++++++++++------------ sphinx.po | 8 +++--- tutorial/appendix.po | 22 ++++++++--------- tutorial/appetite.po | 2 +- tutorial/classes.po | 50 +++++++++++++++++++------------------- tutorial/controlflow.po | 24 +++++++++--------- tutorial/datastructures.po | 30 +++++++++++------------ tutorial/errors.po | 4 +-- tutorial/floatingpoint.po | 9 ++++--- tutorial/inputoutput.po | 14 +++++------ tutorial/introduction.po | 24 +++++++++--------- tutorial/modules.po | 18 +++++++------- tutorial/stdlib.po | 4 +-- tutorial/stdlib2.po | 6 ++--- tutorial/whatnow.po | 2 +- 16 files changed, 124 insertions(+), 125 deletions(-) diff --git a/bugs.po b/bugs.po index 9a68acf8..bfa183e7 100644 --- a/bugs.po +++ b/bugs.po @@ -153,7 +153,7 @@ msgstr "" "که می‌توانید بفهمید چه اقداماتی برای رفع آن انجام شده است؛ ممکن است مشکل برای " "نسخه بعدی قبلاً رفع شده باشد، یا اطلاعات بیشتری مورد نیاز باشد (در این صورت، " "اگر می‌توانید، خوشحال می‌شویم آن را ارائه دهید!). برای انجام این کار، در نوار " -"جستجو بالای صفحه \"tracker\" را جستجو کنید." +"جست‌وجو بالای صفحه \"tracker\" را جست‌وجو کنید." msgid "" "If the problem you're reporting is not already in the list, log in to " diff --git a/library/functions.po b/library/functions.po index a3095456..6f693db7 100644 --- a/library/functions.po +++ b/library/functions.po @@ -536,7 +536,7 @@ msgid "" "256``, which are used as the initial contents of the array." msgstr "" "اگر «*source*» یک *تکرارپذیر* «iterable» باشد، باید یک تکرارپذیر از اعداد صحیح در " -"بازه ``0 <= x < 256`` باشد، که این اعداد به عنوان محتویات اولیه آرایه استفاده " +"بازه ``0 <= x < 256`` باشد، که این اعداد به‌عنوان محتویات اولیه آرایه استفاده " "می‌شوند." msgid "Without an argument, an array of size 0 is created." @@ -1229,7 +1229,7 @@ msgid "" "Remember that at the module level, globals and locals are the same dictionary." msgstr "" "در همهٔ حالت‌ها، اگر بخش‌های اختیاری حذف شوند، کد در محدوده فعلی اجرا می‌شود. اگر فقط " -"*globals* ارائه شود، باید یک دیکشنری باشد (و نه یک زیرکلاس از فرهنگ لغت) که هم برای " +"*globals* ارائه شود، باید یک دیکشنری باشد (و نه یک زیرکلاس از دیکشنری) که هم برای " "متغیرهای سراسری و هم برای متغیرهای محلی استفاده خواهد شد. اگر هر دو *globals* و " "*locals* ارائه شوند، به‌ترتیب برای متغیرهای سراسری و محلی استفاده می‌شوند. در صورت " "ارائه، *locals* می‌تواند هر شیء نگاشتی باشد. به خاطر داشته باشید که در سطح ماژول، " @@ -1432,8 +1432,8 @@ msgid "" "value are not strings." msgstr "" "فراخوانی ``format(value, format_spec)`` به ``type(value).__format__(value, " -"format_spec)`` تبدیل می‌شود که هنگام جستجوی متد :meth:`~object.__format__` مربوط به " -"*value*، دیکشنری نمونه را نادیده می‌گیرد. اگر جستجوی متد به :mod:`object` برسد و " +"format_spec)`` تبدیل می‌شود که هنگام جست‌وجوی متد :meth:`~object.__format__` مربوط به " +"*value*، دیکشنری نمونه را نادیده می‌گیرد. اگر جست‌وجوی متد به :mod:`object` برسد و " "*format_spec* خالی نباشد، یا اگر *format_spec* یا مقدار بازگشتی رشته نباشند، " "استثنای :exc:`TypeError` پرتاب می‌شود." @@ -1512,7 +1512,7 @@ msgid "" "different types, as is the case for 1 and 1.0)." msgstr "" "مقدار هش شیء را (در صورتی که داشته باشد) برمی‌گرداند. مقادیر هش اعداد صحیح هستند. از " -"آن‌ها برای مقایسهٔ سریع کلیدهای دیکشنری هنگام جستجو در دیکشنری استفاده می‌شود. مقادیر " +"آن‌ها برای مقایسهٔ سریع کلیدهای دیکشنری هنگام جست‌وجو در دیکشنری استفاده می‌شود. مقادیر " "عددی که با یکدیگر برابر مقایسه می‌شوند، مقدار هش یکسانی دارند (حتی اگر از نوع‌های " "متفاوتی باشند، مانند 1 و 1.0)." @@ -1534,7 +1534,7 @@ msgstr "" "سامانهٔ راهنمای داخلی را فراخوانی می‌کند. (این تابع برای استفادهٔ تعاملی طراحی شده " "است.) اگر هیچ آرگومانی ارائه نشود، سامانهٔ راهنمای تعاملی در کنسول مفسر آغاز می‌شود. " "اگر آرگومان یک رشته باشد، آن رشته به‌عنوان نام یک ماژول، تابع، کلاس، متد، کلیدواژه " -"یا موضوع مستندات جستجو می‌شود و صفحهٔ راهنمای آن در کنسول نمایش داده می‌شود. اگر " +"یا موضوع مستندات جست‌وجو می‌شود و صفحهٔ راهنمای آن در کنسول نمایش داده می‌شود. اگر " "آرگومان هر نوع شیء دیگری باشد، صفحهٔ راهنمای مربوط به آن شیء تولید می‌شود." msgid "" @@ -3230,8 +3230,8 @@ msgid "" "The *object_or_type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." msgstr "" -"*object_or_type* ترتیب :term:`حل متد ` را که باید جستجو " -"شود تعیین می‌کند. جستجو از کلاسی که بلافاصله پس از *type* قرار دارد آغاز می‌شود." +"*object_or_type* ترتیب :term:`حل متد ` را که باید جست‌وجو " +"شود تعیین می‌کند. جست‌وجو از کلاسی که بلافاصله پس از *type* قرار دارد آغاز می‌شود." msgid "" "For example, if :attr:`~type.__mro__` of *object_or_type* is ``D -> B -> C -> A -> " @@ -3240,7 +3240,7 @@ msgid "" msgstr "" "برای مثال، اگر :attr:`~type.__mro__` مربوط به *object_or_type* برابر با ``D -> B -> " "C -> A -> object`` باشد و مقدار *type* برابر ``B`` باشد، در این صورت :func:`super` " -"در مسیر ``C -> A -> object`` جستجو می‌کند." +"در مسیر ``C -> A -> object`` جست‌وجو می‌کند." msgid "" "The :attr:`~type.__mro__` attribute of the class corresponding to *object_or_type* " @@ -3248,7 +3248,7 @@ msgid "" "and :func:`super`. The attribute is dynamic and can change whenever the " "inheritance hierarchy is updated." msgstr "" -"ویژگی :attr:`~type.__mro__` کلاس متناظر با *object_or_type* ترتیب جستجوی حل متد را " +"ویژگی :attr:`~type.__mro__` کلاس متناظر با *object_or_type* ترتیب جست‌وجوی حل متد را " "که هم توسط :func:`getattr` و هم توسط :func:`super` استفاده می‌شود، فهرست می‌کند. این " "ویژگی پویا است و هر زمان که سلسله‌مراتب وراثت تغییر کند، ممکن است تغییر یابد." @@ -3327,7 +3327,7 @@ msgid "" "possible use case for this is calling :term:`descriptors ` in a parent " "or sibling class." msgstr "" -"علاوه بر جستجوی متدها، :func:`super` برای جستجوی ویژگی‌ها نیز عمل می‌کند. یکی از " +"علاوه بر جست‌وجوی متدها، :func:`super` برای جست‌وجوی ویژگی‌ها نیز عمل می‌کند. یکی از " "کاربردهای ممکن آن، فراخوانی :term:`توصیفگرها ` در یک کلاس والد یا هم‌رده " "است." @@ -3339,12 +3339,12 @@ msgid "" "Accordingly, :func:`super` is undefined for implicit lookups using statements or " "operators such as ``super()[name]``." msgstr "" -"توجه داشته باشید که :func:`super` به‌عنوان بخشی از فرایند اتصال برای جستجوی صریح " +"توجه داشته باشید که :func:`super` به‌عنوان بخشی از فرایند اتصال برای جست‌وجوی صریح " "ویژگی‌ها با نماد نقطه، مانند ``super().__getitem__(name)``, پیاده‌سازی شده است. این " "کار از طریق پیاده‌سازی متد :meth:`~object.__getattribute__` خودش انجام می‌شود تا " -"کلاس‌ها را با ترتیبی قابل پیش‌بینی جستجو کند؛ ترتیبی که از وراثت چندگانهٔ مشارکتی " +"کلاس‌ها را با ترتیبی قابل پیش‌بینی جست‌وجو کند؛ ترتیبی که از وراثت چندگانهٔ مشارکتی " "(cooperative multiple inheritance) پشتیبانی می‌کند. بر این اساس، رفتار :func:`super` " -"برای جستجوهای ضمنی که با دستورها یا عملگرهایی مانند ``super()[name]`` انجام می‌شوند، " +"برای جست‌وجوهای ضمنی که با دستورها یا عملگرهایی مانند ``super()[name]`` انجام می‌شوند، " "تعریف نشده است." msgid "" @@ -3694,7 +3694,7 @@ msgstr "" "*level* مشخص می‌کند که از درون‌ریزی مطلق استفاده شود یا نسبی. مقدار ``0`` (که مقدار " "پیش‌فرض است) به این معناست که فقط درون‌ریزی مطلق انجام شود. مقادیر مثبت برای *level* " "تعداد پوشه‌های والد را مشخص می‌کنند که باید نسبت به پوشهٔ ماژولی که :func:`__import__` " -"را فراخوانی کرده است جستجو شوند (برای جزئیات، :pep:`328` را ببینید)." +"را فراخوانی کرده است جست‌وجو شوند (برای جزئیات، :pep:`328` را ببینید)." msgid "" "When the *name* variable is of the form ``package.module``, normally, the top-level " diff --git a/sphinx.po b/sphinx.po index c52cc016..8442bb59 100644 --- a/sphinx.po +++ b/sphinx.po @@ -163,7 +163,7 @@ msgid "Stable ABI" msgstr "ABI پایدار" msgid "(as an opaque struct)" -msgstr "(به عنوان یک ساختار مبهم)" +msgstr "(به‌عنوان یک ساختار مبهم)" msgid "(including all members)" msgstr "شامل تمام اعضا" @@ -311,7 +311,7 @@ msgid "Information and guides about Python type safety" msgstr "اطلاعات و راهنماهایی درباره‌ی ایمنی تایپ در پایتون" msgid "Indices, glossary, and search:" -msgstr "اندیس‌ها، واژه‌نامه و جستجو" +msgstr "اندیس‌ها، واژه‌نامه و جست‌وجو" msgid "Global module index" msgstr "اندیس ماژول‌های سراسری" @@ -332,10 +332,10 @@ msgid "Terms explained" msgstr "اصطلاحات توضیح داده شده" msgid "Search page" -msgstr "صفحه‌ی جستجو" +msgstr "صفحه‌ی جست‌وجو" msgid "Search this documentation" -msgstr "این مستند را جستجو کنید" +msgstr "این مستند را جست‌وجو کنید" msgid "Complete table of contents" msgstr "جدول کامل محتویات" diff --git a/tutorial/appendix.po b/tutorial/appendix.po index 1e6b981f..84476a22 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -49,15 +49,15 @@ msgid "" "kbd:`F3` enters \"paste mode\", which makes pasting larger blocks of code " "easier. Press :kbd:`F3` to return to the regular prompt." msgstr "" -"در ویندوز یا سیستم‌های یونیکس‌مانند با پشتیبانی از، به صورت پیش‌فرض از یک شل " -"تعاملی جدید استفاده می‌شود. این شل از رنگ، ویرایش چندخطی، مرور تاریخچه، و " -"حالت چسباندن «paste mode» پشتیبانی می‌کند. برای غیرفعال کردن رنگ، جزئیات را " -"در :ref:`using-on-controlling-color` ببینید. کلیدهای تابعی برخی از قابلیت‌های " -"اضافی را فراهم می‌کنند. :kbd:`F1` مرورگر تعاملی راهنما :mod:`pydoc` را فعال " -"می کند. :kbd:`F2` اجازه می‌دهد تاریخچه خط فرمان را بدون خروجی و بدون اعلان " -"های :term:`>>>` و :term:`...` مرور کنید. :kbd:`F3` حالت \"چسباندن\" را فعال " -"می کند که چسباندن بلوک‌های بزرگ‌تر کد را آسان‌تر می‌سازد. برای بازگشت به اعلان " -"معمولی، :kbd:`F3` را فشار دهید." +"از پایتون ۳٫۱۳ به بعد، به‌طور پیش‌فرض یک شل تعاملی جدید استفاده می‌شود. این " +"شل از رنگ، ویرایش چندخطی، مرور تاریخچه، و حالت چسباندن «paste mode» پشتیبانی " +"می‌کند. برای غیرفعال کردن رنگ، جزئیات را در :ref:`using-on-controlling-color` " +"ببینید. کلیدهای تابعی برخی از قابلیت‌های اضافی را فراهم می‌کنند. :kbd:`F1` " +"مرورگر تعاملی راهنما :mod:`pydoc` را فعال می کند. :kbd:`F2` اجازه می‌دهد " +"تاریخچه خط فرمان را بدون خروجی و بدون اعلان های :term:`>>>` و :term:`...` " +"مرور کنید. :kbd:`F3` حالت \"چسباندن\" را فعال می کند که چسباندن بلوک‌های " +"بزرگ‌تر کد را آسان‌تر می‌سازد. برای بازگشت به اعلان معمولی، :kbd:`F3` را فشار " +"دهید." msgid "" "When using the new interactive shell, exit the shell by typing :kbd:`exit` " @@ -135,7 +135,7 @@ msgstr "" "قرار گیرد و فایل باید به حالت قابل اجرا تنظیم شود. ``#!`` باید نخستین دو " "نویسه‌ی فایل باشند. در برخی پلتفرم‌ها، این خط اول باید با پایان خط به سبک " "یونیکس (``'\\n'``) تمام شود، نه پایان خط ویندوزی (``'\\r\\n'``). توجه داشته " -"باشید که نویسه‌ی ``'#'`` برای آغاز یک توضیح (کامنت) در پایتون به کار می‌رود." +"باشید که نویسه‌ی ``'#'`` برای آغاز یک توضیح در پایتون به کار می‌رود." msgid "" "The script can be given an executable mode, or permission, using the :" @@ -186,7 +186,7 @@ msgid "" "``sys.ps1`` and ``sys.ps2`` in this file." msgstr "" "این فایل فقط در جلسات تعاملی خوانده می‌شود، نه زمانی که پایتون دستورات را از " -"یک اسکریپت می‌خواند، و نه زمانی که :file:`/dev/tty` به عنوان منبع صریح " +"یک اسکریپت می‌خواند، و نه زمانی که :file:`/dev/tty` به‌عنوان منبع صریح " "دستورات داده می‌شود (که در غیر این صورت همچون یک جلسه‌ی تعاملی رفتار می‌کند). " "این فایل در همان فضای نامی که در آن دستورات تعاملی اجرا می‌شوند، اجرا می‌گردد " "بنابراین اشیایی که تعریف یا وارد می‌کند می‌توانند بدون مشخص شدن در جلسه تعاملی " diff --git a/tutorial/appetite.po b/tutorial/appetite.po index 0a194409..3798f968 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -36,7 +36,7 @@ msgid "" msgstr "" "اگر زمان زیادی را با رایانه کار کنید، دیر یا زود به کاری برمی‌خورید که دوست " "دارید آن را خودکار کنید. برای مثال، شاید بخواهید در تعداد زیادی فایل متنی " -"عمل جستجو و جایگزینی انجام دهید، یا مجموعه‌ای از فایل‌های عکس را به شیوه‌ای " +"عمل جست‌وجو و جایگزینی انجام دهید، یا مجموعه‌ای از فایل‌های عکس را به شیوه‌ای " "پیچیده تغییر نام دهید و دوباره سازمان‌دهی کنید. شاید هم بخواهید یک پایگاه " "دادهٔ سفارشی کوچک، یک برنامهٔ تخصصی با رابط کاربری گرافیکی، یا یک بازی ساده " "بنویسید." diff --git a/tutorial/classes.po b/tutorial/classes.po index 7655178e..bfd8f484 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -172,7 +172,7 @@ msgstr "" "تشکیل می‌دهد. نکته‌ی مهم درباره‌ی فضای نام‌ها این است که هیچ ارتباطی بین نام‌ها " "در فضای نام‌های مختلف وجود ندارد؛ برای مثال، دو ماژول مختلف می‌توانند هر دو " "تابعی با نام ``maximize`` تعریف کنند بدون اینکه ابهامی پیش بیاید — " -"استفاده‌کنندگان از ماژول‌ها باید نام ماژول را به عنوان پیشوند بیاورند." +"استفاده‌کنندگان از ماژول‌ها باید نام ماژول را به‌عنوان پیشوند بیاورند." msgid "" "By the way, I use the word *attribute* for any name following a dot --- for " @@ -202,7 +202,7 @@ msgstr "" "ویژگیها ممکن است فقط خواندنی یا قابل نوشتن باشند. در حالت دوم، اختصاص دادن " "به ویژگیها ممکن است. ویژگیهای ماژول قابل نوشتن هستند: می‌توانید ``modname." "the_answer = 42`` را بنویسید. ویژگیهای قابل نوشتن را می‌توان با دستور :" -"keyword:`del` نیز حذف کرد. به عنوان مثال، ``del modname.the_answer`` ویژگی :" +"keyword:`del` نیز حذف کرد. به‌عنوان مثال، ``del modname.the_answer`` ویژگی :" "attr:`!the_answer` را از شیئی که توسط ``modname`` نامگذاری شده است حذف خواهد " "کرد." @@ -222,7 +222,7 @@ msgstr "" "ایجاد می‌شود و هرگز حذف نمی‌شود. فضای نام عمومی برای یک ماژول زمانی که تعریف " "ماژول خوانده می‌شود ایجاد می‌گردد؛ به‌طور معمول، فضا‌های نام ماژول نیز تا زمانی " "که مفسر پایان یابد باقی می‌مانند. دستوراتی که توسط اجرای سطح بالای مفسر، یا " -"از فایل اسکریپت خوانده شده یا به‌طور تعاملی اجرا می‌شوند، به عنوان بخشی از " +"از فایل اسکریپت خوانده شده یا به‌طور تعاملی اجرا می‌شوند، به‌عنوان بخشی از " "ماژولی به نام :mod:`__main__` در نظر گرفته می‌شوند، بنابراین آن‌ها فضای نام " "عمومی خود را دارند. (نام‌های درون‌ساخت نیز در واقع در یک ماژول قرار دارند؛ این " "ماژول :mod:`builtins` نامیده می‌شود.)" @@ -259,13 +259,13 @@ msgstr "" "نام آن‌ها مستقیماً قابل دسترسی هستند:" msgid "the innermost scope, which is searched first, contains the local names" -msgstr "درونی‌ترین محدوده، که ابتدا جستجو می‌شود، شامل نام‌های محلی است" +msgstr "درونی‌ترین محدوده، که ابتدا جست‌وجو می‌شود، شامل نام‌های محلی است" msgid "" "the scopes of any enclosing functions, which are searched starting with the " "nearest enclosing scope, contain non-local, but also non-global names" msgstr "" -"محدوده‌های هر تابع محاط‌شونده، که جستجو از نزدیک‌ترین محدوده‌ی محاط‌شونده آغاز " +"محدوده‌های هر تابع محاط‌شونده، که جست‌وجو از نزدیک‌ترین محدوده‌ی محاط‌شونده آغاز " "می‌شود، شامل نام‌های غیرمحلی و همچنین غیرسراسری هستند" msgid "the next-to-last scope contains the current module's global names" @@ -275,7 +275,7 @@ msgid "" "the outermost scope (searched last) is the namespace containing built-in " "names" msgstr "" -"بیرونی‌ترین محدوده (که آخر از همه جستجو می‌شود) فضای نامی است که شامل نام‌های " +"بیرونی‌ترین محدوده (که آخر از همه جست‌وجو می‌شود) فضای نامی است که شامل نام‌های " "توکار است" msgid "" @@ -318,7 +318,7 @@ msgstr "" "درک این نکته مهم است که محدوده‌ها به‌صورت متنی (بر اساس جایگاه در کد) تعیین " "می‌شوند: محدوده‌ی سراسری تابعی که در یک ماژول تعریف شده است، همان فضای نام آن " "ماژول است، فرقی نمی‌کند که تابع از کجا یا با چه نام مستعاری فراخوانی شود. از " -"سوی دیگر، جستجوی واقعی برای نام‌ها به‌صورت پویا (داینامیک) و در زمان اجرا " +"سوی دیگر، جست‌وجوی واقعی برای نام‌ها به‌صورت پویا (داینامیک) و در زمان اجرا " "انجام می‌شود --- با این حال، تعریف زبان به سمت و سوی حلِ ایستا (استاتیک) نام‌ها " "در زمان «کامپایل» پیش می‌رود، پس به حلِ پویای نام‌ها اعتماد نکنید! (در واقع، " "متغیرهای محلی از قبل به‌صورت ایستا تعیین می‌شوند.)" @@ -765,7 +765,7 @@ msgid "" "argument." msgstr "" "در واقع، شاید پاسخ را حدس زده باشید: نکته‌ی ویژه در مورد متدها این است که شیء " -"نمونه به عنوان اولین آرگومان تابع ارسال می‌شود. در مثال ما، فراخوانی ``x." +"نمونه به‌عنوان اولین آرگومان تابع ارسال می‌شود. در مثال ما، فراخوانی ``x." "f()`` دقیقاً معادل ``MyClass.f(x)`` است. به طور کلی، فراخوانی یک متد با فهرستی " "از *n* آرگومان معادل فراخوانی تابع متناظر با فهرست آرگومانی است که با قرار " "دادن شیء نمونه‌ی متد قبل از اولین آرگومان ایجاد می‌شود." @@ -780,7 +780,7 @@ msgid "" "and the function object is called with this new argument list." msgstr "" "به طور کلی، متدها به صورت زیر کار می‌کنند. هنگامی که به یک ویژگی غیرداده‌ای از " -"یک نمونه ارجاع داده می‌شود، کلاس آن نمونه جستجو می‌شود. اگر آن نام نشان‌دهنده‌ی " +"یک نمونه ارجاع داده می‌شود، کلاس آن نمونه جست‌وجو می‌شود. اگر آن نام نشان‌دهنده‌ی " "یک ویژگی کلاس معتبر باشد که یک شیء تابع است، ارجاعات به هر دو شیء نمونه و " "شیء تابع در یک شیء متد بسته‌بندی می‌شوند. هنگامی که شیء متد با یک فهرست آرگومان " "فراخوانی می‌شود، یک فهرست آرگومان جدید از شیء نمونه و فهرست آرگومان ساخته می‌شود " @@ -930,7 +930,7 @@ msgid "" "attribute lookup prioritizes the instance::" msgstr "" "اگر نام ویژگی مشابهی هم در یک نمونه و هم در یک کلاس وجود داشته باشد، آنگاه " -"جستجوی ویژگی، نمونه را اولویت‌بندی می‌کند::" +"جست‌وجوی ویژگی، نمونه را اولویت‌بندی می‌کند::" msgid "" ">>> class Warehouse:\n" @@ -1102,7 +1102,7 @@ msgid "" msgstr "" "متدها ممکن است به نام‌های سراسری به همان روشی که توابع معمولی اشاره می‌کنند، " "ارجاع دهند. محدوده‌ی سراسری مرتبط با یک متد، ماژولی است که شامل تعریف آن " -"است. (یک کلاس هرگز به عنوان محدوده‌ی سراسری استفاده نمی‌شود.) اگرچه به ندرت " +"است. (یک کلاس هرگز به‌عنوان محدوده‌ی سراسری استفاده نمی‌شود.) اگرچه به ندرت " "دلیل خوبی برای استفاده از داده‌های سراسری در یک متد یافت می‌شود، اما کاربردهای " "مشروع زیادی برای محدوده‌ی سراسری وجود دارد: برای یک چیز، توابع و ماژول‌هایی که " "به محدوده‌ی سراسری ایمپورت شده‌اند، می‌توانند توسط متدها استفاده شوند، همچنین " @@ -1168,7 +1168,7 @@ msgstr "" "اجرای تعریف یک کلاس مشتق‌شده به همان شیوه‌ای است که برای یک کلاس پایه انجام " "می‌شود. هنگامی که شیء کلاس ساخته می‌شود، کلاس پایه به خاطر سپرده می‌شود. این " "(اطلاعات) برای حل کردن ارجاعات به ویژگیها استفاده می‌شود: اگر ویژگی درخواستی " -"در کلاس یافت نشود، جستجو در کلاس پایه ادامه می‌یابد. این قاعده به‌صورت " +"در کلاس یافت نشود، جست‌وجو در کلاس پایه ادامه می‌یابد. این قاعده به‌صورت " "بازگشتی اعمال می‌شود اگر خود کلاس پایه از کلاس دیگری مشتق شده باشد." msgid "" @@ -1180,8 +1180,8 @@ msgid "" msgstr "" "هیچ نکته‌ی خاصی درباره‌ی نمونه‌سازی کلاسهای مشتق‌شده وجود ندارد: " "``DerivedClassName()`` یک نمونه‌ی جدید از کلاس ایجاد می‌کند. ارجاعهای متد " -"به‌صورت زیر حل می‌شوند: ویژگی کلاس متناظر جستجو می‌شود، در صورت لزوم در زنجیره‌ی " -"کلاسهای پایه به پایین می‌رود، و ارجاع متد در صورتی معتبر است که این جستجو به " +"به‌صورت زیر حل می‌شوند: ویژگی کلاس متناظر جست‌وجو می‌شود، در صورت لزوم در زنجیره‌ی " +"کلاسهای پایه به پایین می‌رود، و ارجاع متد در صورتی معتبر است که این جست‌وجو به " "یک شیء تابع منجر شود." msgid "" @@ -1211,7 +1211,7 @@ msgstr "" "برای فراخوانی مستقیم متد کلاس پایه وجود دارد: فقط ``BaseClassName." "methodname(self, arguments)`` را فراخوانی کنید. این روش گاهی برای کاربران " "(clients) نیز مفید است. (توجه داشته باشید که این روش تنها زمانی کار می‌کند " -"که کلاس پایه به عنوان ``BaseClassName`` در محدوده‌ی سراسری (global scope) " +"که کلاس پایه به‌عنوان ``BaseClassName`` در محدوده‌ی سراسری (global scope) " "قابل دسترسی باشد.)" msgid "Python has two built-in functions that work with inheritance:" @@ -1271,12 +1271,12 @@ msgid "" "classes of :class:`!Base1`, and if it was not found there, it was searched " "for in :class:`!Base2`, and so on." msgstr "" -"برای بیشتر کاربردها، در ساده‌ترین موارد، می‌توانید جستجو برای ویژگیهای " -"به‌ارث‌برده‌شده از یک کلاس والد را به‌صورت عمق‌اول، چپ‌به‌راست، بدون جستجوی دوباره " +"برای بیشتر کاربردها، در ساده‌ترین موارد، می‌توانید جست‌وجو برای ویژگیهای " +"به‌ارث‌برده‌شده از یک کلاس والد را به‌صورت عمق‌اول، چپ‌به‌راست، بدون جست‌وجوی دوباره " "در همان کلاس در جایی که همپوشانی در سلسله‌مراتب وجود دارد، در نظر بگیرید. " "بنابراین، اگر ویژگی‌ای در :class:`!DerivedClassName` یافت نشد، در :class:`!" -"Base1` جستجو می‌شود، سپس (به‌صورت بازگشتی) در کلاسهای پایه‌ی :class:`!Base1`، و " -"اگر در آنجا یافت نشد، در :class:`!Base2` جستجو می‌شود، و به همین ترتیب." +"Base1` جست‌وجو می‌شود، سپس (به‌صورت بازگشتی) در کلاسهای پایه‌ی :class:`!Base1`، و " +"اگر در آنجا یافت نشد، در :class:`!Base2` جست‌وجو می‌شود، و به همین ترتیب." msgid "" "In fact, it is slightly more complex than that; the method resolution order " @@ -1309,7 +1309,7 @@ msgstr "" "پایین‌ترین کلاس قابل دسترسی است). برای مثال، همه‌ی کلاسها از :class:`object` " "ارث‌بری می‌کنند، بنابراین هر موردی از ارث‌بری چندگانه بیش از یک مسیر برای رسیدن " "به :class:`object` فراهم می‌کند. برای جلوگیری از دسترسی بیش از یک بار به " -"کلاسهای پایه، الگوریتم پویا ترتیب جستجو را به‌گونه‌ای خطی‌سازی می‌کند که ترتیب " +"کلاسهای پایه، الگوریتم پویا ترتیب جست‌وجو را به‌گونه‌ای خطی‌سازی می‌کند که ترتیب " "چپ‌به‌راست مشخص‌شده در هر کلاس را حفظ کند، که هر والد را فقط یک بار فراخوانی " "می‌کند، و یکنواخت است (به این معنی که یک کلاس می‌تواند زیرکلاس‌ داشته باشد بدون " "اینکه بر ترتیب اولویت والدین آن تأثیر بگذارد). این ویژگیها در کنار هم، طراحی " @@ -1329,9 +1329,9 @@ msgid "" msgstr "" "متغیرهای نمونه‌ای «خصوصی» که جز از درون یک شیء قابل دسترسی نیستند، در پایتون " "وجود ندارند. با این حال، یک قرارداد وجود دارد که توسط بیشتر کدهای پایتون " -"دنبال می‌شود: یک نام که با زیرخط آغاز می‌شود (مثلاً ``_spam``) باید به عنوان " +"دنبال می‌شود: یک نام که با زیرخط آغاز می‌شود (مثلاً ``_spam``) باید به‌عنوان " "بخشی غیرعمومی از API در نظر گرفته شود (خواه یک تابع، یک متد یا یک عضو داده " -"باشد). باید به عنوان یک جزئیات پیاده‌سازی در نظر گرفته شود و ممکن است بدون " +"باشد). باید به‌عنوان یک جزئیات پیاده‌سازی در نظر گرفته شود و ممکن است بدون " "اطلاع‌رسانی تغییر کند." msgid "" @@ -1436,7 +1436,7 @@ msgid "" "referencing ``__dict__`` directly." msgstr "" "توجه داشته باشید که کد ارسال‌شده به ``exec()`` یا ``eval()`` نام کلاس کلاس " -"فراخوان‌کننده را به عنوان کلاس جاری در نظر نمی‌گیرد؛ این مشابه تأثیر دستور " +"فراخوان‌کننده را به‌عنوان کلاس جاری در نظر نمی‌گیرد؛ این مشابه تأثیر دستور " "``global`` است که تأثیر آن نیز به همین ترتیب به کدی که با هم بایت‌کامپایل " "می‌شوند، محدود است. همین محدودیت برای ``getattr()``، ``setattr()`` و " "``delattr()`` نیز اعمال می‌شود، همچنین زمانی که به طور مستقیم به ``__dict__`` " @@ -1497,7 +1497,7 @@ msgstr "" "مثال، اگر تابعی دارید که داده‌هایی را از یک شیء فایل قالب‌بندی می‌کند، می‌توانید " "کلاسی تعریف کنید با متدهای :meth:`~io.TextIOBase.read` و :meth:`~io." "TextIOBase.readline` که داده‌ها را از یک بافر رشته‌ای دریافت می‌کنند، و آن را " -"به عنوان آرگومان به تابع ارسال کنید." +"به‌عنوان آرگومان به تابع ارسال کنید." msgid "" ":ref:`Instance method objects ` have attributes, too: :" @@ -1753,7 +1753,7 @@ msgid "" "compact but less versatile than full generator definitions and tend to be " "more memory friendly than equivalent list comprehensions." msgstr "" -"برخی از تولیدگر‌های ساده را می‌توان به‌صورت مختصر به عنوان عبارت کدنویسی " +"برخی از تولیدگر‌های ساده را می‌توان به‌صورت مختصر به‌عنوان عبارت کدنویسی " "کرد، با استفاده از یک نحو مشابه درک‌فهرستها اما با پرانتز به جای کروشه‌ی باز. " "این عبارت‌ها برای شرایطی طراحی شده‌اند که تولیدگر بلافاصله توسط یک تابع " "محاط‌شونده استفاده می‌شود. عبارت‌های تولیدگر فشرده‌تر هستند اما نسبت به " diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 59975182..8ef469fe 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -78,7 +78,7 @@ msgid "" "``switch`` or ``case`` statements found in other languages." msgstr "" "می‌تواند صفر یا چند بخش :keyword:`elif` وجود داشته باشد و بخش :keyword:`else` " -"اختیاری است. کلمهٔ کلیدواژه‌ای ':keyword:`!elif`' کوتاه‌شدهٔ 'else if' است و برای " +"اختیاری است. کلیدواژه‌ای ':keyword:`!elif`' کوتاه‌شدهٔ 'else if' است و برای " "جلوگیری از تورفتگی بیش از حد مفید است. یک دنبالهٔ :keyword:`!if` ... :keyword:" "`!elif` ... :keyword:`!elif` ... جایگزینی برای دستورهای ``switch`` یا " "``case`` موجود در زبان‌های دیگر است." @@ -632,7 +632,7 @@ msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" msgstr "" -"الگوها می‌توانند شبیه انتساب‌های بازکردن بسته (*unpacking assignments*) باشند " +"الگوها می‌توانند شبیه انتساب‌های واگشایی (*unpacking assignments*) باشند " "و برای مقداردهی به متغیرها استفاده شوند::" msgid "" @@ -674,7 +674,7 @@ msgstr "" "گسترشی از الگوی لفظی نشان‌داده‌شده در بالا در نظر گرفت. اما دو الگوی بعدی یک " "مقدار لفظی و یک متغیر را ترکیب می‌کنند، و متغیر یک مقدار را از موضوع " "(``point``) *دریافت* می‌کند. الگوی چهارم دو مقدار را دریافت می‌کند، که از نظر " -"مفهومی شبیه به انتساب بازکردن بستهٔ ``(x, y) = point`` است." +"مفهومی شبیه به انتساب واگشاییٔ ``(x, y) = point`` است." msgid "" "If you are using classes to structure your data you can use the class name " @@ -839,7 +839,7 @@ msgid "" "meaning and actually match arbitrary sequences. An important exception is " "that they don't match iterators or strings." msgstr "" -"مانند انتساب‌های بازکردن بسته، الگوهای تاپل و فهرست دقیقاً معنای یکسانی دارند " +"مانند انتساب‌های واگشایی، الگوهای تاپل و فهرست دقیقاً معنای یکسانی دارند " "و در واقع با دنباله‌های دلخواه تطبیق پیدا می‌کنند. یک استثنای مهم این است که " "آن‌ها با تکرارگرها یا رشته‌ها تطبیق پیدا نمی‌کنند." @@ -849,8 +849,8 @@ msgid "" "also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " "without binding the remaining items." msgstr "" -"الگوهای دنباله‌ای از بازکردن بستهٔ گسترده پشتیبانی می‌کنند: ``[x, y, *rest]`` و " -"``(x, y, *rest)`` مشابه انتساب‌های بازکردن بسته عمل می‌کنند. نام پس از ``*`` " +"الگوهای دنباله‌ای از واگشاییٔ گسترده پشتیبانی می‌کنند: ``[x, y, *rest]`` و " +"``(x, y, *rest)`` مشابه انتساب‌های واگشایی عمل می‌کنند. نام پس از ``*`` " "نیز می‌تواند ``_`` باشد، بنابراین ``(x, y, *_)`` با دنباله‌ای دارای حداقل دو " "آیتم تطبیق پیدا می‌کند، بدون اینکه آیتم‌های باقی‌مانده را در متغیری قرار دهد." @@ -862,7 +862,7 @@ msgid "" msgstr "" "الگوهای نگاشتی: ``{\"bandwidth\": b, \"latency\": l}`` مقادیر " "``\"bandwidth\"`` و ``\"latency\"`` را از یک دیکشنری دریافت می‌کند. برخلاف " -"الگوهای دنباله‌ای، کلیدهای اضافی نادیده گرفته می‌شوند. بازکردن بسته‌ای مانند " +"الگوهای دنباله‌ای، کلیدهای اضافی نادیده گرفته می‌شوند. واگشایی‌ای مانند " "``**rest`` نیز پشتیبانی می‌شود. (اما ``**_`` اضافی است، بنابراین مجاز نیست.)" msgid "Subpatterns may be captured using the ``as`` keyword::" @@ -1584,7 +1584,7 @@ msgid "" "passed by keyword argument, place an ``*`` in the arguments list just before " "the first *keyword-only* parameter." msgstr "" -"برای مشخص کردن پارامترها به عنوان *فقط کلیدواژه‌ای*، که نشان می‌دهد پارامترها " +"برای مشخص کردن پارامترها به‌عنوان *فقط کلیدواژه‌ای*، که نشان می‌دهد پارامترها " "باید با آرگومان کلیدواژه‌ای ارسال شوند، یک ``*`` را در فهرست آرگومان‌ها درست " "قبل از اولین پارامتر *فقط کلیدواژه‌ای* قرار دهید." @@ -1778,7 +1778,7 @@ msgid "" "arguments::" msgstr "" "اما با استفاده از ``/`` (آرگومان‌های فقط موقعیتی)، این امکان وجود دارد، زیرا " -"اجازه می‌دهد ``name`` به عنوان یک آرگومان موقعیتی و ``'name'`` به عنوان یک " +"اجازه می‌دهد ``name`` به‌عنوان یک آرگومان موقعیتی و ``'name'`` به‌عنوان یک " "کلید در آرگومان‌های کلیدواژه‌ای استفاده شود::" msgid "" @@ -1875,7 +1875,7 @@ msgstr "" "معمولاً این آرگومان‌های *متغیرتعداد* در انتهای فهرست پارامترهای رسمی قرار " "می‌گیرند، زیرا تمام آرگومان‌های ورودی باقی‌مانده‌ای که به تابع ارسال می‌شوند را " "جمع‌آوری می‌کنند. هر پارامتر رسمی که پس از پارامتر ``*args`` قرار گیرد، یک " -"آرگومان «فقط کلیدواژه‌ای» است؛ یعنی فقط می‌تواند به عنوان کلیدواژه استفاده شود " +"آرگومان «فقط کلیدواژه‌ای» است؛ یعنی فقط می‌تواند به‌عنوان کلیدواژه استفاده شود " "و نه به صورت آرگومان موقعیتی. ::" msgid "" @@ -2002,7 +2002,7 @@ msgid "" "sort` takes a sorting key function *key* which can be a lambda function::" msgstr "" "مثال بالا از یک عبارت لامبدا برای برگرداندن یک تابع استفاده می‌کند. کاربرد " -"دیگر آن، ارسال یک تابع کوچک به عنوان آرگومان است. برای مثال، :meth:`list." +"دیگر آن، ارسال یک تابع کوچک به‌عنوان آرگومان است. برای مثال، :meth:`list." "sort` یک تابع کلید مرتب‌سازی *key* می‌گیرد که می‌تواند یک تابع لامبدا باشد::" msgid "" @@ -2052,7 +2052,7 @@ msgid "" "The Python parser strips indentation from multi-line string literals when " "they serve as module, class, or function docstrings." msgstr "" -"تجزیه‌گر پایتون هنگام استفاده از رشته‌های چندخطی به عنوان رشته‌های مستندسازی " +"تجزیه‌گر پایتون هنگام استفاده از رشته‌های چندخطی به‌عنوان رشته‌های مستندسازی " "ماژول، کلاس یا تابع، تورفتگی را از آن‌ها حذف می‌کند." msgid "Here is an example of a multi-line docstring::" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 96259f98..f311bcfb 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -59,7 +59,7 @@ msgid "" "element before which to insert, so ``a.insert(0, x)`` inserts at the front " "of the list, and ``a.insert(len(a), x)`` is equivalent to ``a.append(x)``." msgstr "" -"یک آیتم را در موقعیت مشخصی درج می‌کند. اولین آرگومان، اندیس‌ٔ عنصری است که آیتم " +"یک آیتم را در موقعیت مشخصی درج می‌کند. اولین آرگومان، اندیس عنصری است که آیتم " "باید پیش از آن درج شود؛ بنابراین ``a.insert(0, x)`` آیتم را در ابتدای فهرست " "درج می‌کند و ``a.insert(len(a), x)`` معادل ``a.append(x)`` است." @@ -77,7 +77,7 @@ msgid "" "outside the list range." msgstr "" "آیتم موجود در موقعیت مشخص‌شده از فهرست را حذف می‌کند و آن را برمی‌گرداند. اگر " -"هیچ اندیس‌‌ای مشخص نشده باشد، ``a.pop()`` آخرین آیتم فهرست را حذف کرده و " +"هیچ اندیسی مشخص نشده باشد، ``a.pop()`` آخرین آیتم فهرست را حذف کرده و " "برمی‌گرداند. اگر فهرست خالی باشد یا اندیس‌ خارج از محدودهٔ فهرست باشد، یک :exc:" "`IndexError` پرتاب می‌کند." @@ -88,7 +88,7 @@ msgid "" "Return zero-based index of the first occurrence of *value* in the list. " "Raises a :exc:`ValueError` if there is no such item." msgstr "" -"اندیس‌ٔ مبتنی بر صفرِ اولین رخداد *value* در فهرست را برمی‌گرداند. اگر چنین " +"اندیس مبتنی بر صفرِ اولین رخداد *value* در فهرست را برمی‌گرداند. اگر چنین " "آیتمی وجود نداشته باشد، یک :exc:`ValueError` پرتاب می‌کند." msgid "" @@ -98,7 +98,7 @@ msgid "" "sequence rather than the *start* argument." msgstr "" "آرگومان‌های اختیاری *start* و *end* مانند نشانه‌گذاری برش تفسیر می‌شوند و برای " -"محدود کردن جستجو به یک زیر‌دنبالهٔ مشخص از فهرست استفاده می‌شوند. اندیس‌ٔ " +"محدود کردن جست‌وجو به یک زیر‌دنبالهٔ مشخص از فهرست استفاده می‌شوند. اندیس " "بازگردانده‌شده نسبت به ابتدای دنبالهٔ کامل محاسبه می‌شود، نه نسبت به آرگومان " "*start*." @@ -205,7 +205,7 @@ msgstr "" "آخرین عنصری که اضافه می‌شود، اولین عنصری است که دریافت می‌شود («آخرین ورودی، " "اولین خروجی»). برای افزودن یک آیتم به بالای پشته، از :meth:`~list.append` " "استفاده کنید. برای دریافت یک آیتم از بالای پشته، از :meth:`~list.pop` بدون " -"یک اندیس‌ٔ صریح استفاده کنید. برای مثال::" +"یک اندیس صریح استفاده کنید. برای مثال::" msgid "" ">>> stack = [3, 4, 5]\n" @@ -241,7 +241,7 @@ msgstr "" "[3, 4]" msgid "Using Lists as Queues" -msgstr "استفاده از فهرست‌ها به عنوان صف" +msgstr "استفاده از فهرست‌ها به‌عنوان صف" msgid "" "It is also possible to use a list as a queue, where the first element added " @@ -586,7 +586,7 @@ msgid "" "be used to remove slices from a list or clear the entire list (which we did " "earlier by assignment of an empty list to the slice). For example::" msgstr "" -"روشی برای حذف یک آیتم از فهرست با استفاده از اندیس‌ٔ آن به‌جای مقدار آن وجود " +"روشی برای حذف یک آیتم از فهرست با استفاده از اندیس آن به‌جای مقدار آن وجود " "دارد: دستور :keyword:`del`. این دستور با متد :meth:`~list.pop` که یک مقدار " "برمی‌گرداند تفاوت دارد. دستور :keyword:`!del` همچنین می‌تواند برای حذف برش‌هایی " "از یک فهرست یا خالی کردن کامل فهرست استفاده شود (که پیش‌تر با انتساب یک فهرست " @@ -716,7 +716,7 @@ msgid "" msgstr "" "اگرچه تاپل‌ها ممکن است شبیه فهرست‌ها به نظر برسند، اغلب در موقعیت‌ها و برای " "اهداف متفاوتی استفاده می‌شوند. تاپل‌ها :term:`immutable` هستند و معمولاً شامل " -"یک دنبالهٔ ناهمگن از عناصر هستند که از طریق بازکردن بسته‌بندی (در ادامهٔ این " +"یک دنبالهٔ ناهمگن از عناصر هستند که از طریق واگشایی (در ادامهٔ این " "بخش توضیح داده می‌شود) یا اندیس‌‌گذاری (یا حتی از طریق ویژگی‌ها در مورد :func:" "`namedtuples `) به آن‌ها دسترسی پیدا می‌شود. فهرست‌ها :" "term:`mutable` هستند و عناصر آن‌ها معمولاً همگن هستند و با پیمایش روی فهرست به " @@ -773,11 +773,11 @@ msgid "" "in the sequence. Note that multiple assignment is really just a combination " "of tuple packing and sequence unpacking." msgstr "" -"این عملیات، به‌درستی، *بازکردن بسته‌بندی دنباله* (*sequence unpacking*) نامیده " -"می‌شود و برای هر دنباله‌ای در سمت راست کار می‌کند. بازکردن بسته‌بندی دنباله نیاز " +"این عملیات، به‌درستی، *واگشایی دنباله* (*sequence unpacking*) نامیده " +"می‌شود و برای هر دنباله‌ای در سمت راست کار می‌کند. واگشایی دنباله نیاز " "دارد که در سمت چپ علامت مساوی به همان تعداد عناصر موجود در دنباله، متغیر " "وجود داشته باشد. توجه کنید که انتساب چندگانه در واقع ترکیبی از بسته‌بندی تاپل " -"و بازکردن بسته‌بندی دنباله است." +"و واگشایی دنباله است." msgid "Sets" msgstr "مجموعه‌ها" @@ -908,7 +908,7 @@ msgstr "" "شامل رشته‌ها، اعداد یا تاپل‌ها باشند؛ اگر یک تاپل به‌صورت مستقیم یا غیرمستقیم " "شامل یک شیء تغییرپذیر باشد، نمی‌توان از آن به‌عنوان کلید استفاده کرد. " "نمی‌توانید از فهرست‌ها به‌عنوان کلید استفاده کنید، زیرا فهرست‌ها را می‌توان با " -"استفاده از انتساب اندیس‌‌ای، انتساب برش، یا متدهایی مانند :meth:`~list.append` " +"استفاده از انتساب اندیسی، انتساب برش، یا متدهایی مانند :meth:`~list.append` " "و :meth:`~list.extend` در محل تغییر داد." msgid "" @@ -943,7 +943,7 @@ msgid "" "returns ``None`` (or a specified default value) if the key is not in the " "dictionary." msgstr "" -"استخراج مقدار برای یک کلید موجود نیست با استفاده از زیرنویس‌گذاری " +"استخراج مقدار برای یک کلید موجود نیست با استفاده از اندیس‌گذاری " "(``d[key]``) یک :exc:`KeyError` پرتاب می‌کند. برای جلوگیری از دریافت این خطا " "هنگام تلاش برای دسترسی به کلیدی که ممکن است وجود نداشته باشد، از متد :meth:" "`~dict.get` استفاده کنید؛ این متد در صورتی که کلید در دیکشنری وجود نداشته " @@ -958,7 +958,7 @@ msgstr "" "اجرای ``list(d)`` روی یک دیکشنری، فهرستی از تمام کلیدهای استفاده‌شده در " "دیکشنری را با ترتیب درج آن‌ها برمی‌گرداند (اگر می‌خواهید مرتب شده باشد، فقط " "از ``sorted(d)`` استفاده کنید). برای بررسی اینکه یک کلید مشخص در دیکشنری " -"وجود دارد یا نه، از کلمهٔ کلیدواژه‌ای :keyword:`in` استفاده کنید." +"وجود دارد یا نه، از کلیدواژه‌ای :keyword:`in` استفاده کنید." msgid "Here is a small example using a dictionary::" msgstr "در اینجا یک مثال کوچک با استفاده از یک دیکشنری آورده شده است::" @@ -1085,7 +1085,7 @@ msgid "" "When looping through a sequence, the position index and corresponding value " "can be retrieved at the same time using the :func:`enumerate` function. ::" msgstr "" -"هنگام پیمایش روی یک دنباله، اندیس‌ٔ موقعیت و مقدار متناظر آن را می‌توان به‌طور " +"هنگام پیمایش روی یک دنباله، اندیس موقعیت و مقدار متناظر آن را می‌توان به‌طور " "هم‌زمان با استفاده از تابع :func:`enumerate` دریافت کرد. ::" msgid "" diff --git a/tutorial/errors.po b/tutorial/errors.po index 4d3ad645..3aba9fe6 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -148,9 +148,9 @@ msgid "" "keywords)." msgstr "" "آخرین خط از پیام خطا نشان می دهد که چه اتفاقی افتاده است. استثناها دارای " -"انواع مختلفی هستند و نوع آنها به عنوان بخشی از پیام چاپ می شود: انواع موجود " +"انواع مختلفی هستند و نوع آنها به‌عنوان بخشی از پیام چاپ می شود: انواع موجود " "در مثال عبارتند از :exc:`ZeroDivisionError`، :exc:`NameError` و :exc:" -"`TypeError`. رشته ای که به عنوان نوع استثنا چاپ می شود، نام استثنای داخلی " +"`TypeError`. رشته ای که به‌عنوان نوع استثنا چاپ می شود، نام استثنای داخلی " "است که رخ داده است. این موضوع برای تمام استثناهای داخلی صدق می کند، اما برای " "استثناهای تعریف شده توسط کاربر لزوماً صحیح نیست (گرچه این یک قاعدهٔ مفید محسوب " "می‌شود). نام های استثنای استاندارد شناسه های داخلی هستند (نه کلمات کلیدواژه‌ای رزرو " diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index dddca494..5b592bc0 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -88,7 +88,7 @@ msgstr "" "بی‌نهایت تکرارشونده است::" msgid "0.0001100110011001100110011001100110011001100110011..." -msgstr "۰.۰.۰۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱..." +msgstr "۰.۰۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱۰۰۱۱..." msgid "" "Stop at any finite number of bits, and you get an approximation. On most " @@ -100,9 +100,10 @@ msgid "" msgstr "" "اگر در هر تعداد محدود بیت متوقف شوید، یک مقدار تقریبی به دست می‌آورید. در " "بیشتر ماشین‌های امروزی، اعداد ممیز شناور با استفاده از یک کسر دودویی تقریبی " -"نمایش داده می‌شوند که صورت آن از ۵۳ بیت اول، از مهم‌ترین بیت شروع‌شده، تشکیل در " -"مورد 1/10، کسر دودویی برابر با ``3602879701896397 / 2 ** 55`` است که به " -"مقدار واقعی 1/10 نزدیک است، اما دقیقاً برابر آن نیست." +"نمایش داده می‌شوند که صورت آن از ۵۳ بیت اول، از مهم‌ترین بیت شروع‌شده، تشکیل " +"شده و مخرج آن توانی از ۲ است. در مورد 1/10، کسر دودویی برابر با " +"``3602879701896397 / 2 ** 55`` است که به مقدار واقعی 1/10 نزدیک است، اما " +"دقیقاً برابر آن نیست." msgid "" "Many users are not aware of the approximation because of the way values are " diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index f0f6f844..c4318d94 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -201,8 +201,7 @@ msgstr "" "'hello, world\\n'\n" ">>> # آرگومان repr() می‌تواند هر شیء پایتونی باشد:\n" ">>> repr((x, y, ('spam', 'eggs')))\n" -"\"(32.5, 40000, ('spam', 'eggs'))\"# We can check that the file has been " -"automatically closed.# We can check that the file has been automatically " +"\"(32.5, 40000, ('spam', 'eggs'))\"" "closed." msgid "" @@ -439,7 +438,7 @@ msgid "" "As an example, the following lines produce a tidily aligned set of columns " "giving integers and their squares and cubes::" msgstr "" -"به عنوان مثال، خطوط زیر مجموعه‌ای از ستون‌های مرتب و هم‌تراز تولید می‌کنند که " +"به‌عنوان مثال، خطوط زیر مجموعه‌ای از ستون‌های مرتب و هم‌تراز تولید می‌کنند که " "اعداد صحیح و مربع و مکعب آن‌ها را نشان می‌دهد::" msgid "" @@ -685,8 +684,7 @@ msgstr "" ">>> with open('workfile', encoding=\"utf-8\") as f:\n" "... read_data = f.read()\n" "\n" -">>> # می‌توانیم بررسی کنیم که فایل به‌صورت خودکار بسته شده است یا نه# Go to " -"the 6th byte in the file.\n" +">>> # می‌توانیم بررسی کنیم که فایل به‌صورت خودکار بسته شده است یا نه\n" ">>> f.closed\n" "True" @@ -882,7 +880,7 @@ msgstr "" "آرگومان *whence* انتخاب می‌شود. مقدار *whence* برابر با 0 از ابتدای فایل " "اندازه‌گیری می‌کند، 1 از موقعیت جاری فایل استفاده می‌کند، و 2 از انتهای فایل به " "عنوان نقطه‌ی مرجع استفاده می‌کند. *whence* را می‌توان حذف کرد و مقدار پیش‌فرض " -"آن 0 است، یعنی از ابتدای فایل به عنوان نقطه‌ی مرجع استفاده می‌کند. ::" +"آن 0 است، یعنی از ابتدای فایل به‌عنوان نقطه‌ی مرجع استفاده می‌کند. ::" msgid "" ">>> f = open('workfile', 'rb+')\n" @@ -917,7 +915,7 @@ msgid "" "*offset* value produces undefined behaviour." msgstr "" "در فایل‌های متنی (آنهایی که بدون ``b`` در رشته‌ی حالت باز شده‌اند)، فقط " -"جستجوهای نسبت به ابتدای فایل مجاز هستند (به جز جستجو به انتهای فایل با " +"جست‌وجوهای نسبت به ابتدای فایل مجاز هستند (به جز جست‌وجو به انتهای فایل با " "``seek(0, 2)``) و تنها مقادیر معتبر *offset* مقادیری هستند که از ``f." "tell()`` بازگردانده می‌شوند، یا صفر. هر مقدار *offset* دیگر رفتار تعریف‌نشده‌ای " "ایجاد می‌کند." @@ -1022,7 +1020,7 @@ msgid "" "JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening " "JSON file as a :term:`text file` for both of reading and writing." msgstr "" -"فایل‌های JSON باید با UTF-8 کدگذاری شوند. هنگام باز کردن فایل JSON به عنوان " +"فایل‌های JSON باید با UTF-8 کدگذاری شوند. هنگام باز کردن فایل JSON به‌عنوان " "یک :term:`text file` برای هر دو عمل خواندن و نوشتن، از " "``encoding=\"utf-8\"`` استفاده کنید." diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 00d9bc20..597056c8 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -310,7 +310,7 @@ msgstr "" "'spam eggs'\n" ">>> \"Paris rabbit got your back :)! Yay!\" # علامت نقل‌قول دوتایی\n" "'Paris rabbit got your back :)! Yay!'\n" -">>> '1975' # رقم‌ها و عددهایی که داخل کوتیشن قرار می‌گیرند نیز رشته هستند\n" +">>> '1975' # رقم‌ها و عددهایی که داخل علامت نقل‌وقول قرار می‌گیرند نیز رشته هستند\n" "'1975'" msgid "" @@ -333,9 +333,9 @@ msgid "" ">>> '\"Isn\\'t,\" they said.'\n" "'\"Isn\\'t,\" they said.'" msgstr "" -">>> 'doesn\\'t' # برای فرار دادن علامت نقل‌قول تکی، از \\' استفاده کنید...\n" +">>> 'doesn\\'t' # برای خنثی کردن علامت نقل‌قول تکی، از \\' استفاده کنید...\n" "\"doesn't\"\n" -">>> \"doesn't\" # ...یا به‌جای آن از کوتیشن دوتایی استفاده کنید\n" +">>> \"doesn't\" # ...یا به‌جای آن از علامت نقل‌وقول دوتایی استفاده کنید\n" "\"doesn't\"\n" ">>> '\"Yes,\" they said.'\n" "'\"Yes,\" they said.'\n" @@ -391,7 +391,7 @@ msgstr "" "جدید است\n" "C: his\n" "ame\n" -">>> print(r'C:\\this\\name') # به حرف r قبل از کوتیشن توجه کنید\n" +">>> print(r'C:\\this\\name') # به حرف r قبل از علامت نقل‌وقول توجه کنید\n" "C:\\this\\name" msgid "" @@ -534,8 +534,8 @@ msgid "" "index 0. There is no separate character type; a character is simply a string " "of size one::" msgstr "" -"رشته‌ها را می‌توان *اندیس‌‌گذاری* (زیرنویس‌گذاری) کرد؛ به‌طوری که اولین نویسه " -"دارای اندیس‌ٔ 0 است. نوع جداگانه‌ای برای نویسه وجود ندارد؛ یک نویسه در واقع فقط " +"رشته‌ها را می‌توان *اندیس‌‌گذاری* (اندیس‌گذاری) کرد؛ به‌طوری که اولین نویسه " +"دارای اندیس 0 است. نوع جداگانه‌ای برای نویسه وجود ندارد؛ یک نویسه در واقع فقط " "رشته‌ای با اندازهٔ یک است::" msgid "" @@ -598,8 +598,8 @@ msgid "" "Slice indices have useful defaults; an omitted first index defaults to zero, " "an omitted second index defaults to the size of the string being sliced. ::" msgstr "" -"اندیس‌‌های برش مقدارهای پیش‌فرض مفیدی دارند؛ اگر اندیس‌ٔ اول حذف شود، مقدار " -"پیش‌فرض آن صفر است و اگر اندیس‌ٔ دوم حذف شود، مقدار پیش‌فرض آن اندازهٔ رشته‌ای است " +"اندیس‌‌های برش مقدارهای پیش‌فرض مفیدی دارند؛ اگر اندیس اول حذف شود، مقدار " +"پیش‌فرض آن صفر است و اگر اندیس دوم حذف شود، مقدار پیش‌فرض آن اندازهٔ رشته‌ای است " "که در حال برش خوردن است. ::" msgid "" @@ -643,7 +643,7 @@ msgid "" msgstr "" "یک روش برای به خاطر سپردن نحوهٔ کار برش‌ها این است که تصور کنید اندیس‌‌ها به " "*بین* نویسه‌ها اشاره می‌کنند، به‌طوری که لبهٔ سمت چپ اولین نویسه شمارهٔ 0 دارد. " -"سپس لبهٔ سمت راست آخرین نویسهٔ یک رشته با *n* نویسه، دارای اندیس‌ٔ *n* است؛ برای " +"سپس لبهٔ سمت راست آخرین نویسهٔ یک رشته با *n* نویسه، دارای اندیس *n* است؛ برای " "مثال::" msgid "" @@ -679,7 +679,7 @@ msgstr "" msgid "Attempting to use an index that is too large will result in an error::" msgstr "" -"تلاش برای استفاده از اندیس‌‌ای که بیش از حد بزرگ است، باعث ایجاد خطا خواهد شد::" +"تلاش برای استفاده از اندیسی که بیش از حد بزرگ است، باعث ایجاد خطا خواهد شد::" msgid "" ">>> word[42] # the word only has 6 characters\n" @@ -778,7 +778,7 @@ msgstr ":ref:`string-methods`" msgid "" "Strings support a large number of methods for basic transformations and " "searching." -msgstr "رشته‌ها تعداد زیادی متد برای تبدیل‌های پایه و جستجو ارائه می‌دهند." +msgstr "رشته‌ها تعداد زیادی متد برای تبدیل‌های پایه و جست‌وجو ارائه می‌دهند." msgid ":ref:`f-strings`" msgstr ":ref:`f-strings`" @@ -1030,7 +1030,7 @@ msgstr "" "'b'" msgid "First Steps Towards Programming" -msgstr "قدم های اول به سوی برنامه‌نویسی" +msgstr "قدم‌های اول به سوی برنامه‌نویسی" msgid "" "Of course, we can use Python for more complicated tasks than adding two and " diff --git a/tutorial/modules.po b/tutorial/modules.po index aa01ecc0..7d809e31 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -373,7 +373,7 @@ msgstr "" "مجموعهٔ آزمون می‌شود)." msgid "The Module Search Path" -msgstr "مسیر جستجوی ماژول‌ها" +msgstr "مسیر جست‌وجوی ماژول‌ها" msgid "" "When a module named :mod:`!spam` is imported, the interpreter first searches " @@ -419,7 +419,7 @@ msgid "" msgstr "" "در سیستم‌های فایلی که از پیوندهای نمادین پشتیبانی می‌کنند، پوشهٔ شامل اسکریپت " "ورودی پس از دنبال کردن پیوند نمادین محاسبه می‌شود. به عبارت دیگر، پوشه‌ای که " -"پیوند نمادین در آن قرار دارد **به مسیر جستجوی ماژول‌ها اضافه نمی‌شود**." +"پیوند نمادین در آن قرار دارد **به مسیر جست‌وجوی ماژول‌ها اضافه نمی‌شود**." msgid "" "After initialization, Python programs can modify :data:`sys.path`. The " @@ -430,7 +430,7 @@ msgid "" "section :ref:`tut-standardmodules` for more information." msgstr "" "پس از مقداردهی اولیه، برنامه‌های پایتون می‌توانند :data:`sys.path` را تغییر " -"دهند. پوشه‌ای که اسکریپت در حال اجرا در آن قرار دارد، در ابتدای مسیر جستجو و " +"دهند. پوشه‌ای که اسکریپت در حال اجرا در آن قرار دارد، در ابتدای مسیر جست‌وجو و " "پیش از مسیر کتابخانهٔ استاندارد قرار داده می‌شود. این بدان معناست که " "اسکریپت‌های موجود در آن پوشه، به‌جای ماژول‌هایی با همان نام در پوشهٔ کتابخانه " "بارگذاری خواهند شد. این کار یک خطا محسوب می‌شود، مگر اینکه جایگزینی موردنظر " @@ -588,7 +588,7 @@ msgid "" "default if :envvar:`PYTHONPATH` is not set. You can modify it using " "standard list operations::" msgstr "" -"متغیر ``sys.path`` فهرستی از رشته‌هاست که مسیر جستجوی مفسر برای ماژول‌ها را " +"متغیر ``sys.path`` فهرستی از رشته‌هاست که مسیر جست‌وجوی مفسر برای ماژول‌ها را " "تعیین می‌کند. این متغیر از یک مسیر پیش‌فرض گرفته‌شده از متغیر محیطی :envvar:" "`PYTHONPATH` مقداردهی اولیه می‌شود، یا اگر :envvar:`PYTHONPATH` تنظیم نشده " "باشد، از یک مقدار پیش‌فرض داخلی استفاده می‌کند. می‌توانید آن را با استفاده از " @@ -874,7 +874,7 @@ msgid "" "When importing the package, Python searches through the directories on ``sys." "path`` looking for the package subdirectory." msgstr "" -"هنگام وارد کردن بسته، پایتون پوشه‌های موجود در ``sys.path`` را جستجو می‌کند تا " +"هنگام وارد کردن بسته، پایتون پوشه‌های موجود در ``sys.path`` را جست‌وجو می‌کند تا " "زیرپوشهٔ بسته را پیدا کند." msgid "" @@ -889,7 +889,7 @@ msgstr "" "فایل‌های :file:`__init__.py` لازم هستند تا پایتون پوشه‌هایی را که شامل این " "فایل هستند به‌عنوان بسته در نظر بگیرد (مگر اینکه از یک :term:`namespace " "package` استفاده شود که قابلیتی نسبتاً پیشرفته است). این کار از پنهان شدن " -"ناخواستهٔ ماژول‌های معتبر که بعداً در مسیر جستجوی ماژول قرار دارند، توسط " +"ناخواستهٔ ماژول‌های معتبر که بعداً در مسیر جست‌وجوی ماژول قرار دارند، توسط " "پوشه‌هایی با نام مشترک مانند ``string`` جلوگیری می‌کند. در ساده‌ترین حالت، :" "file:`__init__.py` می‌تواند فقط یک فایل خالی باشد، اما می‌تواند کد مقداردهی " "اولیهٔ بسته را نیز اجرا کند یا متغیر ``__all__`` را که بعداً توضیح داده می‌شود، " @@ -1050,8 +1050,8 @@ msgstr "" " \"reverse\", # !!! اکنون به تابع «reverse» اشاره می‌کند !!!\n" "]\n" "\n" -"def reverse(msg: str): # <-- این نام، زیرماژول «reverse.py» را سایه " -"می‌اندازد\n" +"def reverse(msg: str): # <-- این نام، زیرماژول «reverse.py» را " +"می‌پوشاند\n" " return msg[::-1] # در صورت استفاده از «from sound.effects import " "*»" @@ -1174,7 +1174,7 @@ msgstr "" "بسته‌ها یک ویژگی ویژهٔ دیگر را نیز پشتیبانی می‌کنند: :attr:`~module.__path__`. " "این ویژگی مقداردهی اولیه می‌شود تا پیش از اجرای کد موجود در آن فایل، یک :term:" "`sequence` از رشته‌ها باشد که نام پوشهٔ شامل :file:`__init__.py` بسته را در " -"خود دارد. این متغیر قابل تغییر است؛ تغییر آن بر جستجوهای آینده برای ماژول‌ها " +"خود دارد. این متغیر قابل تغییر است؛ تغییر آن بر جست‌وجوهای آینده برای ماژول‌ها " "و زیر‌بسته‌های موجود در بسته تأثیر می‌گذارد." msgid "" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index 373314db..fe46755b 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -56,7 +56,7 @@ msgid "" msgstr "" "حتماً از سبک ``import os`` به‌جای ``from os import *`` استفاده کنید. این کار " "باعث می‌شود :func:`os.open` روی تابع داخلی :func:`open` که عملکرد کاملاً " -"متفاوتی دارد، سایه نیندازد." +"متفاوتی دارد، نپوشاند." msgid "" "The built-in :func:`dir` and :func:`help` functions are useful as " @@ -105,7 +105,7 @@ msgid "" "The :mod:`glob` module provides a function for making file lists from " "directory wildcard searches::" msgstr "" -"ماژول :mod:`glob` تابعی برای ساخت فهرستی از فایل‌ها با استفاده از جستجوهای " +"ماژول :mod:`glob` تابعی برای ساخت فهرستی از فایل‌ها با استفاده از جست‌وجوهای " "الگوی عام در پوشه‌ها فراهم می‌کند::" msgid "" diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index 9ce6b56f..007d6cd5 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -590,8 +590,8 @@ msgstr "" "ماژول :mod:`array` شیء :class:`~array.array` را فراهم می‌کند که شبیه یک فهرست " "است، اما تنها داده‌های هم‌نوع را ذخیره می‌کند و آن‌ها را به‌شکلی فشرده‌تر در حافظه " "نگه می‌دارد. مثال زیر آرایه‌ای از اعداد را نشان می‌دهد که به‌جای ذخیره شدن " -"به‌صورت اشیای معمولی `int` پایتون (که معمولاً برای هر عضو ۱۶ بایت فضا اشغال " -"می‌کنند)، به‌صورت اعداد دودویی بدون علامتِ دو بایتی (با کد نوع ``\"H\"``) ذخیره " +"به‌صورت اعداد دودویی بدون علامتِ دو بایتی (با کد نوع ``\"H\"``)، به‌صورت اشیای " +"معمولی `int` پایتون (که معمولاً برای هر عضو ۱۶ بایت فضا اشغال می‌کنند) ذخیره " "شده‌اند::" msgid "" @@ -618,7 +618,7 @@ msgstr "" "ماژول :mod:`collections` شیء :class:`~collections.deque` را فراهم می‌کند که " "شبیه یک فهرست است، اما افزودن و حذف عنصر از ابتدای آن بسیار سریع‌تر و دسترسی " "به عناصر میانی آن کندتر است. این اشیا برای پیاده‌سازی صف‌ها و پیمایش درخت به " -"روش جستجوی سطح‌به‌سطح (Breadth-First Search) بسیار مناسب هستند::" +"روش جست‌وجوی سطح‌به‌سطح (Breadth-First Search) بسیار مناسب هستند::" msgid "" ">>> from collections import deque\n" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index c3ca52bd..4e5db7dd 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -97,7 +97,7 @@ msgid "" "available for download. Once you begin releasing code, you can register it " "here so that others can find it." msgstr "" -"https://pypi.org: اندیس‌ٔ بسته‌های پایتون (Python Package Index) که پیش‌تر با " +"https://pypi.org: اندیس بسته‌های پایتون (Python Package Index) که پیش‌تر با " "نام مستعار Cheese Shop [#]_ نیز شناخته می‌شد، فهرستی از ماژول‌های پایتونِ " "ایجادشده توسط کاربران است که برای دانلود در دسترس هستند. هنگامی که انتشار " "کدهای خود را آغاز کردید، می‌توانید آن‌ها را در اینجا ثبت کنید تا دیگران "