Skip to content

Commit f104952

Browse files
committed
Complete translation of library/__main__.po
1 parent 4c677e8 commit f104952

1 file changed

Lines changed: 63 additions & 16 deletions

File tree

library/__main__.po

Lines changed: 63 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -287,37 +287,40 @@ msgid "Note that ``from .student import search_students`` is an example of a rel
287287
msgstr "توجه داشته باشید که ``from .student import search_students`` مثالی از یک ایمپورت نسبی است. این سبک ایمپورت را می‌توان هنگام ارجاع به ماژول‌های درون یک بسته استفاده کرد. برای اطلاعات بیشتر، به :ref:`intra-package-references` در بخش :ref:`tut-modules` از آموزش مراجعه کنید."
288288

289289
msgid "The content of ``__main__.py`` typically isn't fenced with an ``if __name__ == '__main__'`` block. Instead, those files are kept short and import functions to execute from other modules. Those other modules can then be easily unit-tested and are properly reusable."
290-
msgstr ""
290+
msgstr "محتوای ``__main__.py`` معمولاً با یک بلوک ``if __name__ == '__main__'`` محصور نمی‌شود. در عوض، آن فایل‌ها کوتاه نگه داشته می‌شوند و توابعی را برای اجرا از ماژول‌های دیگر ایمپورت می‌کنند. سپس آن ماژول‌های دیگر را می‌توان به‌راحتی یونیت‌تست کرد و به‌درستی قابل استفاده‌ی مجدد هستند."
291291

292292
msgid "If used, an ``if __name__ == '__main__'`` block will still work as expected for a ``__main__.py`` file within a package, because its ``__name__`` attribute will include the package's path if imported::"
293-
msgstr ""
293+
msgstr "اگر استفاده شود، یک بلوک ``if __name__ == '__main__'`` همچنان برای یک فایل ``__main__.py`` درون یک بسته به‌طور مورد انتظار کار خواهد کرد، زیرا ویژگی ``__name__`` آن در صورت ایمپورت، مسیر بسته را شامل خواهد شد::"
294294

295295
msgid ""
296296
">>> import asyncio.__main__\n"
297297
">>> asyncio.__main__.__name__\n"
298298
"'asyncio.__main__'"
299299
msgstr ""
300+
">>> import asyncio.__main__\n"
301+
">>> asyncio.__main__.__name__\n"
302+
"'asyncio.__main__'"
300303

301304
msgid "This won't work for ``__main__.py`` files in the root directory of a ``.zip`` file though. Hence, for consistency, a minimal ``__main__.py`` without a ``__name__`` check is preferred."
302-
msgstr ""
305+
msgstr "با این حال، این برای فایل‌های ``__main__.py`` در پوشهٔ ریشهٔ یک فایل ``.zip`` کار نخواهد کرد. بنابراین، برای یکدستی، یک ``__main__.py`` حداقلی بدون بررسی ``__name__`` ترجیح داده می‌شود."
303306

304307
msgid "See :mod:`venv` for an example of a package with a minimal ``__main__.py`` in the standard library. It doesn't contain a ``if __name__ == '__main__'`` block. You can invoke it with ``python -m venv [directory]``."
305-
msgstr ""
308+
msgstr "برای مثال یک بسته با یک ``__main__.py`` حداقلی در کتابخانه‌ی استاندارد، به :mod:`venv` مراجعه کنید. این بسته شامل یک بلوک ``if __name__ == '__main__'`` نمی‌شود. می‌توانید آن را با ``python -m venv [directory]`` فراخوانی کنید."
306309

307310
msgid "See :mod:`runpy` for more details on the :option:`-m` flag to the interpreter executable."
308-
msgstr ""
311+
msgstr "برای جزئیات بیشتر درباره‌ی پرچم :option:`-m` به مفسر اجرایی، به :mod:`runpy` مراجعه کنید."
309312

310313
msgid "See :mod:`zipapp` for how to run applications packaged as *.zip* files. In this case Python looks for a ``__main__.py`` file in the root directory of the archive."
311-
msgstr ""
314+
msgstr "برای نحوه‌ی اجرای برنامه‌های بسته‌بندی‌شده به‌عنوان فایل‌های *.zip*، به :mod:`zipapp` مراجعه کنید. در این حالت، پایتون به دنبال یک فایل ``__main__.py`` در پوشه‌ی ریشه‌ی بایگانی می‌گردد."
312315

313316
msgid "``import __main__``"
314-
msgstr ""
317+
msgstr "``import __main__``"
315318

316319
msgid "Regardless of which module a Python program was started with, other modules running within that same program can import the top-level environment's scope (:term:`namespace`) by importing the ``__main__`` module. This doesn't import a ``__main__.py`` file but rather whichever module that received the special name ``'__main__'``."
317-
msgstr ""
320+
msgstr "صرف‌نظر از اینکه یک برنامه‌ی پایتون با کدام ماژول شروع شده است، سایر ماژول‌هایی که در همان برنامه اجرا می‌شوند می‌توانند با ایمپورت کردن ماژول ``__main__``، به محدوده‌ی محیط سطح‌بالا (:term:`namespace`) دسترسی پیدا کنند. این کار یک فایل ``__main__.py`` را ایمپورت نمی‌کند، بلکه هر ماژولی که نام ویژه‌ی ``'__main__'`` را دریافت کرده است، ایمپورت می‌شود."
318321

319322
msgid "Here is an example module that consumes the ``__main__`` namespace::"
320-
msgstr ""
323+
msgstr "در اینجا یک مثال از ماژول آورده شده است که از فضای نام ``__main__`` استفاده می‌کند::"
321324

322325
msgid ""
323326
"# namely.py\n"
@@ -333,9 +336,21 @@ msgid ""
333336
"\n"
334337
" print(__main__.my_name)"
335338
msgstr ""
339+
"# namely.py\n"
340+
"\n"
341+
"import __main__\n"
342+
"\n"
343+
"def did_user_define_their_name():\n"
344+
" return 'my_name' in dir(__main__)\n"
345+
"\n"
346+
"def print_user_name():\n"
347+
" if not did_user_define_their_name():\n"
348+
" raise ValueError('Define the variable `my_name`!')\n"
349+
"\n"
350+
" print(__main__.my_name)"
336351

337352
msgid "Example usage of this module could be as follows::"
338-
msgstr ""
353+
msgstr "یک نمونه استفاده از این ماژول می‌تواند به صورت زیر باشد::"
339354

340355
msgid ""
341356
"# start.py\n"
@@ -355,31 +370,51 @@ msgid ""
355370
"if __name__ == \"__main__\":\n"
356371
" sys.exit(main())"
357372
msgstr ""
373+
"# start.py\n"
374+
"\n"
375+
"import sys\n"
376+
"\n"
377+
"from namely import print_user_name\n"
378+
"\n"
379+
"# my_name = \"Dinsdale\"\n"
380+
"\n"
381+
"def main():\n"
382+
" try:\n"
383+
" print_user_name()\n"
384+
" except ValueError as ve:\n"
385+
" return str(ve)\n"
386+
"\n"
387+
"if __name__ == \"__main__\":\n"
388+
" sys.exit(main())"
358389

359390
msgid "Now, if we started our program, the result would look like this:"
360-
msgstr ""
391+
msgstr "اکنون، اگر ما برنامه‌مان را شروع کنیم، نتیجه مثل زیر می‌شود::"
361392

362393
msgid ""
363394
"$ python start.py\n"
364395
"Define the variable `my_name`!"
365396
msgstr ""
397+
"$ python start.py\n"
398+
"Define the variable `my_name`!"
366399

367400
msgid "The exit code of the program would be 1, indicating an error. Uncommenting the line with ``my_name = \"Dinsdale\"`` fixes the program and now it exits with status code 0, indicating success:"
368-
msgstr ""
401+
msgstr "کد خروجی برنامه ۱ خواهد بود که نشان‌دهنده‌ی خطا است. خارج کردن خط ``my_name = \"Dinsdale\"`` از حالت توضیح (کامنت)، برنامه را اصلاح می‌کند و اکنون با کد وضعیت ۰ خارج می‌شود که نشان‌دهنده‌ی موفقیت است:"
369402

370403
msgid ""
371404
"$ python start.py\n"
372405
"Dinsdale"
373406
msgstr ""
407+
"$ python start.py\n"
408+
"Dinsdale"
374409

375410
msgid "Note that importing ``__main__`` doesn't cause any issues with unintentionally running top-level code meant for script use which is put in the ``if __name__ == \"__main__\"`` block of the ``start`` module. Why does this work?"
376-
msgstr ""
411+
msgstr "توجه داشته باشید که ایمپورت کردن ``__main__`` هیچ مشکلی در اجرای ناخواسته‌ی کد سطح‌بالا که برای استفاده‌ی اسکریپتی در نظر گرفته شده و در بلوک ``if __name__ == \"__main__\"`` ماژول ``start`` قرار دارد، ایجاد نمی‌کند. چرا این کار می‌کند؟"
377412

378413
msgid "Python inserts an empty ``__main__`` module in :data:`sys.modules` at interpreter startup, and populates it by running top-level code. In our example this is the ``start`` module which runs line by line and imports ``namely``. In turn, ``namely`` imports ``__main__`` (which is really ``start``). That's an import cycle! Fortunately, since the partially populated ``__main__`` module is present in :data:`sys.modules`, Python passes that to ``namely``. See :ref:`Special considerations for __main__ <import-dunder-main>` in the import system's reference for details on how this works."
379-
msgstr ""
414+
msgstr "پایتون در زمان راه‌اندازی مفسر، یک ماژول خالی ``__main__`` را در :data:`sys.modules` قرار می‌دهد و آن را با اجرای کد سطح‌بالا پر می‌کند. در مثال ما، این ماژول ``start`` است که خط به خط اجرا می‌شود و ``namely`` را ایمپورت می‌کند. در ادامه، ``namely`` ماژول ``__main__`` (که در واقع همان ``start`` است) را ایمپورت می‌کند. این یک چرخه‌ی ایمپورت است! خوشبختانه، از آنجایی که ماژول ``__main__`` تا حدی پر شده در :data:`sys.modules` وجود دارد، پایتون آن را به ``namely`` می‌دهد. برای جزئیات بیشتر درباره‌ی نحوه‌ی کار این مکانیزم، به :ref:`Special considerations for __main__ <import-dunder-main>` در مرجع سیستم ایمپورت مراجعه کنید."
380415

381416
msgid "The Python REPL is another example of a \"top-level environment\", so anything defined in the REPL becomes part of the ``__main__`` scope::"
382-
msgstr ""
417+
msgstr "REPL پایتون مثال دیگری از یک «محیط سطح‌بالا» است، بنابراین هر چیزی که در REPL تعریف شود، بخشی از محدوده‌ی ``__main__`` می‌شود::"
383418

384419
msgid ""
385420
">>> import namely\n"
@@ -395,6 +430,18 @@ msgid ""
395430
">>> namely.print_user_name()\n"
396431
"Jabberwocky"
397432
msgstr ""
433+
">>> import namely\n"
434+
">>> namely.did_user_define_their_name()\n"
435+
"False\n"
436+
">>> namely.print_user_name()\n"
437+
"Traceback (most recent call last):\n"
438+
"...\n"
439+
"ValueError: Define the variable `my_name`!\n"
440+
">>> my_name = 'Jabberwocky'\n"
441+
">>> namely.did_user_define_their_name()\n"
442+
"True\n"
443+
">>> namely.print_user_name()\n"
444+
"Jabberwocky"
398445

399446
msgid "The ``__main__`` scope is used in the implementation of :mod:`pdb` and :mod:`rlcompleter`."
400-
msgstr ""
447+
msgstr "محدوده‌ی ``__main__`` در پیاده‌سازی :mod:`pdb` و :mod:`rlcompleter` استفاده می‌شود."

0 commit comments

Comments
 (0)