Skip to content

Commit 258ffb8

Browse files
committed
Translation of a part of the classes file
Translation of a part of the classes file up to line 374 of the Scopes and Namespaces Example
1 parent abb4d2f commit 258ffb8

1 file changed

Lines changed: 43 additions & 1 deletion

File tree

tutorial/classes.po

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,18 @@ msgid ""
123123
"the caller will see the change --- this eliminates the need for two "
124124
"different argument passing mechanisms as in Pascal."
125125
msgstr ""
126+
"اشیاء هویت فردی دارند و چندین نام (در چندین محدوده) می‌توانند به یک شیء "
127+
"مشخص متصل شوند. این در زبان‌های دیگر با نام «اسم‌های مستعار» (aliasing) شناخته می‌شود. "
128+
"این ویژگی معمولاً در نگاه اول به پایتون چندان جلب توجه نمی‌کند و هنگام کار با "
129+
"انواع پایه‌ی تغییرناپذیر (اعداد، رشته‌ها، تاپل‌ها) می‌توان آن را نادیده گرفت. "
130+
"با این حال، نام‌های مستعار می‌توانند تأثیری شگفت‌آور بر معناشناسی کد پایتونی "
131+
"داشته باشند، به‌ویژه هنگامی که با اشیاء تغییرپذیر مانند لیست‌ها، دیکشنری‌ها و "
132+
"بیشتر انواع دیگر سروکار داریم. این ویژگی معمولاً به سود برنامه تمام می‌شود، "
133+
"چون نام‌های مستعار از برخی جهات مانند اشاره‌گرها (pointer) رفتار می‌کنند. "
134+
"برای مثال، ارسال یک شیء به‌عنوان آرگومان ارزان است، چون پیاده‌سازی فقط یک اشاره‌گر را "
135+
"ارسال می‌کند؛ و اگر تابعی شیء‌ای را که به‌عنوان آرگومان دریافت کرده تغییر دهد، "
136+
"فراخوان‌نده تغییر را مشاهده خواهد کرد --- این کار نیاز به دو مکانیزم متفاوت "
137+
"برای ارسال آرگومان (مانند آنچه در پاسکال وجود دارد) را از بین می‌برد."
126138

127139
#: ../../tutorial/classes.rst:61
128140
msgid "Python Scopes and Namespaces"
@@ -267,6 +279,8 @@ msgid ""
267279
"the scopes of any enclosing functions, which are searched starting with the "
268280
"nearest enclosing scope, contain non-local, but also non-global names"
269281
msgstr ""
282+
"محدوده‌های هر تابع محاط‌شونده (enclosing functions)، که جستجو از نزدیک‌ترین "
283+
"محدوده‌ی محاط‌شونده آغاز می‌شود، شامل نام‌های غیرمحلی (non-local) و همچنین غیرسراسری (non-global) هستند."
270284

271285
#: ../../tutorial/classes.rst:123
272286
msgid "the next-to-last scope contains the current module's global names"
@@ -277,6 +291,8 @@ msgid ""
277291
"the outermost scope (searched last) is the namespace containing built-in "
278292
"names"
279293
msgstr ""
294+
"بیرونی‌ترین محدوده (که آخر از همه جستجو می‌شود) فضای نامی است که شامل "
295+
"نام‌های توکار است."
280296

281297
#: ../../tutorial/classes.rst:126
282298
msgid ""
@@ -288,6 +304,12 @@ msgid ""
288304
"simply create a *new* local variable in the innermost scope, leaving the "
289305
"identically named outer variable unchanged)."
290306
msgstr ""
307+
"اگر یک نام به‌عنوان سراسری اعلام شود، تمام ارجاع‌ها و تخصیص‌ها مستقیماً به "
308+
"محدوده‌ی یکی‌مانده‌به‌آخر که شامل نام‌های سراسری ماژول است، می‌روند. برای "
309+
"اتصال مجدد متغیرهایی که در خارج از درونی‌ترین محدوده یافت می‌شوند، "
310+
"می‌توان از دستور :keyword:`nonlocal` استفاده کرد؛ اگر به‌عنوان nonlocal اعلام نشوند، "
311+
"آن متغیرها فقط‌خواندنی هستند (تلاش برای نوشتن در چنین متغیری، صرفاً یک متغیر محلی *جدید* در "
312+
"درونی‌ترین محدوده ایجاد می‌کند و متغیر بیرونی با همان نام را بدون تغییر باقی می‌گذارد)."
291313

292314
#: ../../tutorial/classes.rst:133
293315
msgid ""
@@ -296,6 +318,9 @@ msgid ""
296318
"namespace as the global scope: the module's namespace. Class definitions "
297319
"place yet another namespace in the local scope."
298320
msgstr ""
321+
"معمولاً، محدوده‌ی محلی به نام‌های محلی تابع جاری (از نظر متنی) ارجاع می‌دهد. "
322+
"در خارج از توابع، محدوده‌ی محلی به همان فضای نامی ارجاع می‌دهد که محدوده‌ی سراسری "
323+
"به آن ارجاع می‌دهد: فضای نام ماژول. تعاریف کلاس‌ها، فضای نام دیگری را در محدوده‌ی محلی قرار می‌دهند."
299324

300325
#: ../../tutorial/classes.rst:138
301326
msgid ""
@@ -307,6 +332,12 @@ msgid ""
307332
"at \"compile\" time, so don't rely on dynamic name resolution! (In fact, "
308333
"local variables are already determined statically.)"
309334
msgstr ""
335+
"درک این نکته مهم است که محدوده‌ها به‌صورت متنی (بر اساس جایگاه در کد) تعیین می‌شوند: محدوده‌ی سراسری "
336+
"تابعی که در یک ماژول تعریف شده است، همان فضای نام آن ماژول است، "
337+
"فرقی نمی‌کند که تابع از کجا یا با چه نام مستعاری فراخوانی شود. از سوی "
338+
"دیگر، جستجوی واقعی برای نام‌ها به‌صورت پویا (داینامیک) و در زمان اجرا انجام می‌شود --- "
339+
"با این حال، تعریف زبان به سمت و سوی حلِ ایستا (استاتیک) نام‌ها در زمان «کامپایل» پیش می‌رود، "
340+
"پس به حلِ پویای نام‌ها اعتماد نکنید! (در واقع، متغیرهای محلی از قبل به‌صورت ایستا تعیین می‌شوند.)"
310341

311342
#: ../../tutorial/classes.rst:146
312343
msgid ""
@@ -319,6 +350,13 @@ msgid ""
319350
"scope: in particular, :keyword:`import` statements and function definitions "
320351
"bind the module or function name in the local scope."
321352
msgstr ""
353+
"یک ویژگی خاص پایتون این است که --- اگر دستور :keyword:`global` "
354+
"یا :keyword:`nonlocal` فعال نباشد --- تخصیص‌های (مقداردهی‌های) نام‌ها همیشه "
355+
"به درونی‌ترین محدوده (محلی‌ترین) می‌روند. تخصیص‌ها داده‌ها را کپی نمی‌کنند --- "
356+
"بلکه فقط نام‌ها را به اشیاء متصل می‌کنند. همین موضوع در مورد حذف‌ها نیز صادق است: "
357+
"دستور ``del x`` اتصال ``x`` را از فضای نامی که توسط محدوده‌ی محلی ارجاع داده شده است، حذف می‌کند. "
358+
"در واقع، تمام عملیاتی که نام‌های جدیدی معرفی می‌کنند از محدوده‌ی محلی استفاده می‌کنند: "
359+
"به‌ویژه، دستورات :keyword:`import` و تعاریف توابع، نام ماژول یا تابع را در محدوده‌ی محلی متصل می‌کنند."
322360

323361
#: ../../tutorial/classes.rst:154
324362
msgid ""
@@ -327,10 +365,14 @@ msgid ""
327365
"the :keyword:`nonlocal` statement indicates that particular variables live "
328366
"in an enclosing scope and should be rebound there."
329367
msgstr ""
368+
"از دستور :keyword:`global` می‌توان برای نشان دادن این استفاده کرد که متغیرهای خاصی "
369+
"در محدوده‌ی سراسری (global) قرار دارند و باید در همان محدوده دوباره متصل (rebind) شوند؛ "
370+
"دستور :keyword:`nonlocal` نشان می‌دهد که متغیرهای خاصی در یک محدوده‌ی محاط‌شونده (enclosing) قرار دارند "
371+
"و باید در آن محدوده دوباره متصل شوند."
330372

331373
#: ../../tutorial/classes.rst:162
332374
msgid "Scopes and Namespaces Example"
333-
msgstr ""
375+
msgstr "مثال محدوده‌ها و فضای نام‌ها"
334376

335377
#: ../../tutorial/classes.rst:164
336378
msgid ""

0 commit comments

Comments
 (0)