-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathios.po
More file actions
303 lines (212 loc) · 44.3 KB
/
Copy pathios.po
File metadata and controls
303 lines (212 loc) · 44.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Rafael Fontenelle <[email protected]>, 2025
# Revisto <[email protected]>, 2025
# Sepehr Rasouli <[email protected]>, 2026
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-16 12:56+0000\n"
"PO-Revision-Date: 2026-09-15 07:49+0330\n"
"Last-Translator: Sepehr Rasouli <[email protected]>, 2026\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"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.6\n"
msgid "Using Python on iOS"
msgstr "استفاده از پایتون در iOS"
msgid "Authors"
msgstr "نویسندگان"
msgid "Russell Keith-Magee (2024-03)"
msgstr "Russell Keith-Magee (2024-03)"
msgid "Python on iOS is unlike Python on desktop platforms. On a desktop platform, Python is generally installed as a system resource that can be used by any user of that computer. Users then interact with Python by running a :program:`python` executable and entering commands at an interactive prompt, or by running a Python script."
msgstr "پایتون در iOS با پایتون در پلتفرمهای دسکتاپ متفاوت است. در یک پلتفرم دسکتاپ، پایتون معمولاً بهعنوان یک منبع سیستمی نصب میشود که هر کاربر آن رایانه میتواند از آن استفاده کند. سپس کاربران از طریق اجرای پرونده اجرایی :program:`python` و وارد کردن دستورها در یک اعلان تعاملی، یا اجرای یک اسکریپت پایتون، با پایتون تعامل میکنند."
msgid "On iOS, there is no concept of installing as a system resource. The only unit of software distribution is an \"app\". There is also no console where you could run a :program:`python` executable, or interact with a Python REPL."
msgstr "در iOS، مفهوم نصب بهعنوان یک منبع سیستمی وجود ندارد. تنها واحد توزیع نرمافزار، «اپلیکیشن» است. همچنین هیچ کنسولی وجود ندارد که بتوانید در آن پرونده اجرایی :program:`python` را اجرا کنید یا با یک REPL پایتون تعامل داشته باشید."
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 <embedding>`. 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 تعبیه پایتون <embedding>`. سپس مفسر کامل پایتون، کتابخانهی استاندارد و تمام کد پایتون شما بهصورت یک بستهی مستقل بستهبندی میشود که میتوان آن را از طریق 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 <https://beeware.org>`__ and `Kivy <https://kivy.org>`__ 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 <https://beeware.org>`__ و `Kivy <https://kivy.org>`__ تجربهی کاربری بسیار در دسترستری فراهم میکنند. این پروژهها پیچیدگیهای مرتبط با راهاندازی یک پروژه iOS را مدیریت میکنند، بنابراین تنها لازم است با خودِ کد پایتون سروکار داشته باشید."
msgid "Python at runtime on iOS"
msgstr "پایتون در زمان اجرا روی iOS"
msgid "iOS version compatibility"
msgstr "سازگاری با نسخههای iOS"
msgid "The minimum supported iOS version is specified at compile time, using the :option:`--host` option to ``configure``. By default, when compiled for iOS, Python will be compiled with a minimum supported iOS version of 13.0. To use a different minimum iOS version, provide the version number as part of the :option:`!--host` argument - for example, ``--host=arm64-apple-ios15.4-simulator`` would compile an ARM64 simulator build with a deployment target of 15.4."
msgstr "حداقل نسخهی پشتیبانیشدهی iOS در زمان کامپایل، با استفاده از گزینهی :option:`--host` برای ``configure`` مشخص میشود. بهطور پیشفرض، هنگام کامپایل برای iOS، پایتون با حداقل نسخهی پشتیبانیشدهی iOS برابر با 13.0 کامپایل میشود. برای استفاده از حداقل نسخهی iOS متفاوت، شمارهی نسخه را بهعنوان بخشی از آرگومان :option:`!--host` ارائه کنید — برای مثال، ``--host=arm64-apple-ios15.4-simulator`` یک ساخت شبیهساز ARM64 با هدف استقرار (deployment target) 15.4 کامپایل میکند."
msgid "Platform identification"
msgstr "شناسایی پلتفرم"
msgid "When executing on iOS, ``sys.platform`` will report as ``ios``. This value will be returned on an iPhone or iPad, regardless of whether the app is running on the simulator or a physical device."
msgstr "هنگام اجرا روی iOS، ``sys.platform`` مقدار ``ios`` را گزارش میکند. این مقدار روی iPhone یا iPad برگردانده میشود، صرفنظر از اینکه برنامه روی شبیهساز اجرا میشود یا روی یک دستگاه فیزیکی."
msgid "Information about the specific runtime environment, including the iOS version, device model, and whether the device is a simulator, can be obtained using :func:`platform.ios_ver`. :func:`platform.system` will report ``iOS`` or ``iPadOS``, depending on the device."
msgstr "اطلاعات مربوط به محیط رانتایم خاص (از جمله نسخهی iOS، مدل دستگاه و شبیهساز بودن یا نبودن دستگاه) را میتوان با استفاده از :func:`platform.ios_ver` به دست آورد. تابع :func:`platform.system` بسته به دستگاه، ``iOS`` یا ``iPadOS`` را گزارش خواهد کرد."
msgid ":func:`os.uname` reports kernel-level details; it will report a name of ``Darwin``."
msgstr ":func:`os.uname` جزئیات سطح هسته را گزارش میدهد؛ نام ``Darwin`` را گزارش خواهد داد."
msgid "Standard library availability"
msgstr "دسترسپذیری کتابخانه استاندارد"
msgid "The Python standard library has some notable omissions and restrictions on iOS. See the :ref:`API availability guide for iOS <mobile-availability>` for details."
msgstr "کتابخانه استاندارد پایتون در iOS دارای برخی حذفها و محدودیتهای قابل توجه است. برای جزئیات، به :ref:`راهنمای دسترسپذیری API برای iOS <mobile-availability>` مراجعه کنید."
msgid "Binary extension modules"
msgstr "ماژولهای توسعهای دودویی"
msgid "One notable difference about iOS as a platform is that App Store distribution imposes hard requirements on the packaging of an application. One of these requirements governs how binary extension modules are distributed."
msgstr "یک تفاوت قابل توجه دربارهی iOS بهعنوان یک پلتفرم این است که توزیع از طریق App Store الزامات سختگیرانهای بر بستهبندی یک برنامه اعمال میکند. یکی از این الزامات نحوهی توزیع ماژولهای توسعهای دودویی را تعیین میکند."
msgid "The iOS App Store requires that *all* binary modules in an iOS app must be dynamic libraries, contained in a framework with appropriate metadata, stored in the ``Frameworks`` folder of the packaged app. There can be only a single binary per framework, and there can be no executable binary material outside the ``Frameworks`` folder."
msgstr "App Store iOS اقتضا میکند که *تمامی* ماژولهای دودویی در یک برنامهی iOS باید کتابخانههای پویا باشند، در چارچوبی با فرادادهی مناسب قرار بگیرند و در پوشهی ``Frameworks`` برنامهی بستهبندیشده ذخیره شوند. در هر چارچوب تنها میتواند یک پروندهی دودویی وجود داشته باشد و خارج از پوشهی ``Frameworks`` نمیتواند هیچ محتوای دودویی اجرایی وجود داشته باشد."
msgid "This conflicts with the usual Python approach for distributing binaries, which allows a binary extension module to be loaded from any location on ``sys.path``. To ensure compliance with App Store policies, an iOS project must post-process any Python packages, converting ``.so`` binary modules into individual standalone frameworks with appropriate metadata and signing. For details on how to perform this post-processing, see the guide for :ref:`adding Python to your project <adding-ios>`."
msgstr "این با رویکرد معمول پایتون برای توزیع پروندههای دودویی در تضاد است؛ رویکردی که اجازه میدهد یک ماژول توسعهای دودویی از هر مکانی روی ``sys.path`` بارگذاری شود. برای اطمینان از انطباق با سیاستهای App Store، یک پروژهی iOS باید هر بستهی پایتون را پسپردازش کند و ماژولهای دودویی ``.so`` را به چارچوبهای مستقل و مجزا با فراداده و امضای مناسب تبدیل کند. برای جزئیات دربارهی نحوهی انجام این پسپردازش، به راهنمای :ref:`افزودن پایتون به پروژهی خود <adding-ios>` مراجعه کنید."
msgid "To help Python discover binaries in their new location, the original ``.so`` file on ``sys.path`` is replaced with a ``.fwork`` file. This file is a text file containing the location of the framework binary, relative to the app bundle. To allow the framework to resolve back to the original location, the framework must contain a ``.origin`` file that contains the location of the ``.fwork`` file, relative to the app bundle."
msgstr "برای اینکه پایتون بتواند پروندههای دودویی را در مکان جدیدشان کشف کند، پرونده اصلی ``.so`` روی ``sys.path`` با یک پرونده ``.fwork`` جایگزین میشود. این پرونده یک پرونده متنی است که مکان پرونده دودویی چارچوب را نسبت به بسته برنامه (app bundle) در بر دارد. برای اینکه چارچوب بتواند مکان اصلی خود را دوباره بیابد، چارچوب باید یک پرونده ``.origin`` داشته باشد که مکان پرونده ``.fwork`` را نسبت به بسته برنامه در بر دارد."
msgid "For example, consider the case of an import ``from foo.bar import _whiz``, where ``_whiz`` is implemented with the binary module ``sources/foo/bar/_whiz.abi3.so``, with ``sources`` being the location registered on ``sys.path``, relative to the application bundle. This module *must* be distributed as ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` (creating the framework name from the full import path of the module), with an ``Info.plist`` file in the ``.framework`` directory identifying the binary as a framework. The ``foo.bar._whiz`` module would be represented in the original location with a ``sources/foo/bar/_whiz.abi3.fwork`` marker file, containing the path ``Frameworks/foo.bar._whiz/foo.bar._whiz``. The framework would also contain ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz.origin``, containing the path to the ``.fwork`` file."
msgstr "برای مثال، حالت ایمپورت ``from foo.bar import _whiz`` را در نظر بگیرید، جایی که ``_whiz`` با ماژول دودویی ``sources/foo/bar/_whiz.abi3.so`` پیادهسازی شده است و ``sources`` مکان ثبتشده روی ``sys.path`` است که نسبت به باندل برنامه قرار دارد. این ماژول *باید* بهصورت ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` توزیع شود (که نام چارچوب از روی مسیر ایمپورت کامل ماژول ساخته میشود)، همراه با یک پرونده ``Info.plist`` در پوشه ``.framework`` که پرونده دودویی را بهعنوان یک چارچوب شناسایی میکند. ماژول ``foo.bar._whiz`` در مکان اصلی با یک پرونده نشانگر ``sources/foo/bar/_whiz.abi3.fwork`` نمایش داده میشود که حاوی مسیر ``Frameworks/foo.bar._whiz/foo.bar._whiz`` است. چارچوب همچنین شامل ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz.origin`` خواهد بود که حاوی مسیر پرونده ``.fwork`` است."
msgid "When running on iOS, the Python interpreter will install an :class:`~importlib.machinery.AppleFrameworkLoader` that is able to read and import ``.fwork`` files. Once imported, the ``__file__`` attribute of the binary module will report as the location of the ``.fwork`` file. However, the :class:`~importlib.machinery.ModuleSpec` for the loaded module will report the ``origin`` as the location of the binary in the framework folder."
msgstr "هنگام اجرا روی iOS، مفسر پایتون یک :class:`~importlib.machinery.AppleFrameworkLoader` نصب میکند که قادر به خواندن و ایمپورت کردن پروندههای ``.fwork`` است. پس از ایمپورت شدن، ویژگی ``__file__`` ماژول دودویی، مکان پرونده ``.fwork`` را گزارش میدهد. با این حال، :class:`~importlib.machinery.ModuleSpec` ماژول بارگذاریشده، ``origin`` را بهعنوان مکان پرونده دودویی در پوشه چارچوب گزارش میدهد."
msgid "Compiler stub binaries"
msgstr "دودوییهای stub کامپایلر"
msgid "Xcode doesn't expose explicit compilers for iOS; instead, it uses an ``xcrun`` script that resolves to a full compiler path (e.g., ``xcrun --sdk iphoneos clang`` to get the ``clang`` for an iPhone device). However, using this script poses two problems:"
msgstr "Xcode کامپایلرهای صریحی را برای iOS در اختیار قرار نمیدهد؛ در عوض، از یک اسکریپت ``xcrun`` استفاده میکند که به مسیر کامل کامپایلر حل میشود (مثلاً ``xcrun --sdk iphoneos clang`` برای بهدستآوردن ``clang`` مربوط به یک دستگاه iPhone). با این حال، استفاده از این اسکریپت دو مشکل ایجاد میکند:"
msgid "The output of ``xcrun`` includes paths that are machine specific, resulting in a sysconfig module that cannot be shared between users; and"
msgstr "خروجی ``xcrun`` شامل مسیرهایی است که مخصوص ماشین هستند و در نتیجه، ماژول sysconfigای ایجاد میشود که نمیتوان آن را بین کاربران به اشتراک گذاشت؛ و"
msgid "It results in ``CC``/``CPP``/``LD``/``AR`` definitions that include spaces. There is a lot of C ecosystem tooling that assumes that you can split a command line at the first space to get the path to the compiler executable; this isn't the case when using ``xcrun``."
msgstr "این کار منجر به تعریفهای ``CC``/``CPP``/``LD``/``AR`` میشود که شامل فاصله هستند. ابزارهای زیادی در اکوسیستم C فرض میکنند که میتوانید خط فرمان را در اولین فاصله تقسیم کنید تا مسیر پرونده اجرایی کامپایلر را به دست آورید؛ اما هنگام استفاده از ``xcrun`` چنین نیست."
msgid "To avoid these problems, Python provided stubs for these tools. These stubs are shell script wrappers around the underingly ``xcrun`` tools, distributed in a ``bin`` folder distributed alongside the compiled iOS framework. These scripts are relocatable, and will always resolve to the appropriate local system paths. By including these scripts in the bin folder that accompanies a framework, the contents of the ``sysconfig`` module becomes useful for end-users to compile their own modules. When compiling third-party Python modules for iOS, you should ensure these stub binaries are on your path."
msgstr "برای پرهیز از این مشکلات، پایتون برای این ابزارها stubهایی فراهم کرد. این stubها اسکریپتهای پوستهای هستند که ابزارهای ``xcrun`` زیرین را در بر میگیرند و در پوشهی ``bin`` در کنار چارچوب کامپایلشده iOS توزیع میشوند. این اسکریپتها قابل جابهجایی هستند و همیشه به مسیرهای مناسب سیستم محلی حل میشوند. با گنجاندن این اسکریپتها در پوشهی bin که همراه یک چارچوب ارائه میشود، محتوای ماژول ``sysconfig`` برای کاربران نهایی بهمنظور کامپایل ماژولهای خودشان مفید میشود. هنگام کامپایل ماژولهای پایتون شخص ثالث برای iOS، باید اطمینان حاصل کنید که این دودوییهای stub در مسیر شما قرار دارند."
msgid "Installing Python on iOS"
msgstr "نصب پایتون روی iOS"
msgid "Tools for building iOS apps"
msgstr "ابزارهایی برای ساخت برنامههای iOS"
msgid "Building for iOS requires the use of Apple's Xcode tooling. It is strongly recommended that you use the most recent stable release of Xcode. This will require the use of the most (or second-most) recently released macOS version, as Apple does not maintain Xcode for older macOS versions. The Xcode Command Line Tools are not sufficient for iOS development; you need a *full* Xcode install."
msgstr "ساخت برای iOS نیازمند استفاده از ابزارهای Xcode اپل است. بهشدت توصیه میشود که از جدیدترین نسخه پایدار Xcode استفاده کنید. این امر مستلزم استفاده از جدیدترین (یا دومین نسخهی اخیر) نسخهی منتشرشده macOS خواهد بود، زیرا اپل Xcode را برای نسخههای قدیمیتر macOS نگهداری نمیکند. ابزارهای خط فرمان Xcode برای توسعه iOS کافی نیستند؛ به یک نصب *کامل* Xcode نیاز دارید."
msgid "If you want to run your code on the iOS simulator, you'll also need to install an iOS Simulator Platform. You should be prompted to select an iOS Simulator Platform when you first run Xcode. Alternatively, you can add an iOS Simulator Platform by selecting from the Platforms tab of the Xcode Settings panel."
msgstr "اگر میخواهید کد خود را روی شبیهساز iOS اجرا کنید، باید یک پلتفرم شبیهساز iOS (iOS Simulator Platform) نیز نصب کنید. هنگامی که Xcode را برای نخستین بار اجرا میکنید، از شما خواسته میشود که یک پلتفرم شبیهساز iOS انتخاب کنید. بهعنوان جایگزین، میتوانید با انتخاب از زبانه Platforms در پنل تنظیمات Xcode، یک پلتفرم شبیهساز iOS اضافه کنید."
msgid "Adding Python to an iOS project"
msgstr "افزودن پایتون به یک پروژه iOS"
msgid "Python can be added to any iOS project, using either Swift or Objective C. The following examples will use Objective C; if you are using Swift, you may find a library like `PythonKit <https://github.com/pvieito/PythonKit>`__ to be helpful."
msgstr "پایتون را میتوان با استفاده از Swift یا Objective C به هر پروژه iOS افزود. مثالهای زیر از Objective C استفاده خواهند کرد؛ اگر از Swift استفاده میکنید، ممکن است کتابخانهای مانند `PythonKit <https://github.com/pvieito/PythonKit>`__ را مفید بیابید."
msgid "To add Python to an iOS Xcode project:"
msgstr "برای افزودن پایتون به یک پروژه Xcode در iOS:"
msgid "Build or obtain a Python ``XCFramework``. See the instructions in :source:`Apple/iOS/README.md` (in the CPython source distribution) for details on how to build a Python ``XCFramework``. At a minimum, you will need a build that supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-simulator`` or ``x86_64-apple-ios-simulator``."
msgstr "یک ``XCFramework`` پایتون بسازید یا به دست آورید. برای جزئیات نحوهی ساخت یک ``XCFramework`` پایتون، به دستورالعملهای موجود در :source:`Apple/iOS/README.md` (در توزیع کد منبع سیپایتون) مراجعه کنید. دستکم به ساختی نیاز دارید که از ``arm64-apple-ios`` پشتیبانی کند، بهعلاوهی یکی از دو مورد ``arm64-apple-ios-simulator`` یا ``x86_64-apple-ios-simulator``."
msgid "Drag the ``XCframework`` into your iOS project. In the following instructions, we'll assume you've dropped the ``XCframework`` into the root of your project; however, you can use any other location that you want by adjusting paths as needed."
msgstr "``XCframework`` را به پروژهی iOS خود بکشید. در دستورالعملهای زیر فرض میکنیم که ``XCframework`` را در ریشهی پروژهتان رها کردهاید؛ با این حال، میتوانید با تنظیم مسیرها در صورت نیاز، از هر مکان دیگری که بخواهید استفاده کنید."
msgid "Add your application code as a folder in your Xcode project. In the following instructions, we'll assume that your user code is in a folder named ``app`` in the root of your project; you can use any other location by adjusting paths as needed. Ensure that this folder is associated with your app target."
msgstr "کد اپلیکیشن خود را بهصورت یک پوشه به پروژه Xcode خود اضافه کنید. در دستورالعملهای زیر فرض میکنیم که کد کاربر شما در پوشهای با نام ``app`` در ریشه پروژه شما قرار دارد؛ در صورت نیاز میتوانید با تنظیم مسیرها از هر مکان دیگری استفاده کنید. مطمئن شوید که این پوشه با تارگت (target) اپلیکیشن شما مرتبط است."
msgid "Select the app target by selecting the root node of your Xcode project, then the target name in the sidebar that appears."
msgstr "برای انتخاب تارگت (target) برنامه، گره ریشه پروژه Xcode خود را انتخاب کنید و سپس نام تارگت را در نوار کناریای که ظاهر میشود انتخاب کنید."
msgid "In the \"General\" settings, under \"Frameworks, Libraries and Embedded Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected."
msgstr "در تنظیمات «General»، در بخش «Frameworks, Libraries and Embedded Content»، ``Python.xcframework`` را با انتخاب گزینهی «Embed & Sign» اضافه کنید."
msgid "In the \"Build Settings\" tab, modify the following:"
msgstr "در زبانهی «تنظیمات ساخت» (Build Settings)، موارد زیر را تغییر دهید:"
msgid "Build Options"
msgstr "گزینههای ساخت"
msgid "User Script Sandboxing: No"
msgstr "سندباکسکردن اسکریپت کاربر: خیر"
msgid "Enable Testability: Yes"
msgstr "فعالسازی آزمونپذیری: بله"
msgid "Search Paths"
msgstr "مسیرهای جستجو"
msgid "Framework Search Paths: ``$(PROJECT_DIR)``"
msgstr "مسیرهای جستجوی چارچوب (Framework Search Paths): ``$(PROJECT_DIR)``"
msgid "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``"
msgstr "مسیرهای جستجوی سرآیند: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``"
msgid "Apple Clang - Warnings - All languages"
msgstr "Apple Clang - هشدارها - همه زبانها"
msgid "Quoted Include In Framework Header: No"
msgstr "include نقلقولی در سرآیند چارچوب: خیر"
msgid "Add a build step that processes the Python standard library, and your own Python binary dependencies. In the \"Build Phases\" tab, add a new \"Run Script\" build step *before* the \"Embed Frameworks\" step, but *after* the \"Copy Bundle Resources\" step. Name the step \"Process Python libraries\", disable the \"Based on dependency analysis\" checkbox, and set the script content to:"
msgstr "یک گام ساخت (build step) اضافه کنید که کتابخانه استاندارد پایتون و وابستگیهای دودویی پایتون خودتان را پردازش کند. در زبانهی «Build Phases»، یک گام ساخت جدید از نوع «Run Script» *پیش از* گام «Embed Frameworks»، اما *پس از* گام «Copy Bundle Resources» اضافه کنید. نام این گام را «Process Python libraries» بگذارید، چکباکس «Based on dependency analysis» را غیرفعال کنید و محتوای اسکریپت را به صورت زیر تنظیم کنید:"
msgid ""
"set -e\n"
"source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n"
"install_python Python.xcframework app"
msgstr ""
"set -e\n"
"source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n"
"install_python Python.xcframework app"
msgid "If you have placed your XCframework somewhere other than the root of your project, modify the path to the first argument."
msgstr "اگر XCframework را در جایی غیر از ریشه پروژهتان قرار دادهاید، مسیر آرگومان اول را تغییر دهید."
msgid "Add Objective C code to initialize and use a Python interpreter in embedded mode. You should ensure that:"
msgstr "کد Objective C را برای مقداردهی اولیه و استفاده از یک مفسر پایتون در حالت تعبیهشده اضافه کنید. باید اطمینان حاصل کنید که:"
msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;"
msgstr "حالت UTF-8 (:c:member:`PyPreConfig.utf8_mode`) *فعال* است؛"
msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;"
msgstr "ورودی/خروجی استاندارد بافرشده (:c:member:`PyConfig.buffered_stdio`) *غیرفعال* است؛"
msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;"
msgstr "نوشتن بایتکد (:c:member:`PyConfig.write_bytecode`) *غیرفعال* است؛"
msgid "Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;"
msgstr "هندلرهای سیگنال (:c:member:`PyConfig.install_signal_handlers`) *فعال* هستند؛"
msgid "System logging (:c:member:`PyConfig.use_system_logger`) is *enabled* (optional, but strongly recommended; this is enabled by default);"
msgstr "گزارشگیری سیستمی (:c:member:`PyConfig.use_system_logger`) *فعال* است (اختیاری، اما بهشدت توصیه میشود؛ این مورد بهطور پیشفرض فعال است)؛"
msgid ":envvar:`PYTHONHOME` for the interpreter is configured to point at the ``python`` subfolder of your app's bundle; and"
msgstr ":envvar:`PYTHONHOME` برای مفسر بهگونهای پیکربندی شده است که به زیرپوشهی ``python`` در باندل (bundle) برنامهی شما اشاره کند؛ و"
msgid "The :envvar:`PYTHONPATH` for the interpreter includes:"
msgstr ":envvar:`PYTHONPATH` برای مفسر شامل موارد زیر است:"
msgid "the ``python/lib/python3.X`` subfolder of your app's bundle,"
msgstr "زیرپوشهی ``python/lib/python3.X`` در بستهی برنامهی شما،"
msgid "the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and"
msgstr "زیرپوشهی ``python/lib/python3.X/lib-dynload`` از باندل برنامهی شما، و"
msgid "the ``app`` subfolder of your app's bundle"
msgstr "زیرپوشهی ``app`` از بستهی اپلیکیشن شما"
msgid "Your app's bundle location can be determined using ``[[NSBundle mainBundle] resourcePath]``."
msgstr "مکان باندل برنامهتان را میتوان با استفاده از ``[[NSBundle mainBundle] resourcePath]`` تعیین کرد."
msgid "Steps 7 and 8 of these instructions assume that you have a single folder of pure Python application code, named ``app``. If you have third-party binary modules in your app, some additional steps will be required:"
msgstr "گامهای ۷ و ۸ این دستورالعملها فرض میکنند که شما یک پوشهی واحد از کد برنامهی پایتون خالص با نام ``app`` دارید. اگر ماژولهای دودویی شخص ثالث در برنامهی خود دارید، برخی گامهای اضافی لازم خواهد بود:"
msgid "You need to ensure that any folders containing third-party binaries are either associated with the app target, or are explicitly copied as part of step 7. Step 7 should also purge any binaries that are not appropriate for the platform a specific build is targeting (i.e., delete any device binaries if you're building an app targeting the simulator)."
msgstr "باید اطمینان حاصل کنید که هر پوشهای که حاوی پروندههای دودویی شخص ثالث است، یا با هدف اپلیکیشن (app target) مرتبط باشد، یا بهطور صریح بهعنوان بخشی از گام ۷ کپی شده باشد. گام ۷ همچنین باید هر پرونده دودوییای را که برای پلتفرم هدف یک ساخت خاص مناسب نیست حذف کند (یعنی، اگر اپلیکیشنی میسازید که شبیهساز را هدف گرفته است، پروندههای دودویی مربوط به دستگاه را حذف کنید)."
msgid "If you're using a separate folder for third-party packages, ensure that folder is added to the end of the call to ``install_python`` in step 7, and as part of the :envvar:`PYTHONPATH` configuration in step 8."
msgstr "اگر از یک پوشهی جداگانه برای بستههای شخص ثالث استفاده میکنید، اطمینان حاصل کنید که این پوشه به انتهای فراخوانی ``install_python`` در گام ۷ و بهعنوان بخشی از پیکربندی :envvar:`PYTHONPATH` در گام ۸ اضافه شده باشد."
msgid "If any of the folders that contain third-party packages will contain ``.pth`` files, you should add that folder as a *site directory* (using :meth:`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` or :attr:`sys.path` directly."
msgstr "اگر هر یک از پوشههایی که بستههای شخص ثالث را در خود دارند، قرار است پروندههای ``.pth`` را در بر بگیرد، باید آن پوشه را بهعنوان یک *پوشهی سایت* (site directory) اضافه کنید (با استفاده از :meth:`site.addsitedir`)، نه اینکه آن را مستقیماً به :envvar:`PYTHONPATH` یا :attr:`sys.path` بیفزایید."
msgid "Testing a Python package"
msgstr "آزمون یک بسته پایتون"
msgid "The CPython source tree contains :source:`a testbed project <Apple/iOS/testbed>` that is used to run the CPython test suite on the iOS simulator. This testbed can also be used as a testbed project for running your Python library's test suite on iOS."
msgstr "درخت منبع سیپایتون شامل :source:`یک پروژهی بستر آزمون (testbed) <Apple/iOS/testbed>` است که برای اجرای بدنهی آزمونهای سیپایتون روی شبیهساز iOS استفاده میشود. این بستر آزمون همچنین میتواند بهعنوان یک پروژهی بستر آزمون برای اجرای بدنهی آزمونهای کتابخانهی پایتون شما روی iOS استفاده شود."
msgid "After building or obtaining an iOS XCFramework (see :source:`Apple/iOS/README.md` for details), create a clone of the Python iOS testbed project. If you used the ``Apple`` build script to build the XCframework, you can run:"
msgstr "پس از ساخت یا دریافت یک XCFramework برای iOS (برای جزئیات به :source:`Apple/iOS/README.md` مراجعه کنید)، یک رونوشت از پروژهی بستر آزمون (testbed) iOS پایتون ایجاد کنید. اگر برای ساخت XCframework از اسکریپت ساخت ``Apple`` استفاده کردهاید، میتوانید اجرا کنید:"
msgid "$ python cross-build/iOS/testbed clone --app <path/to/module1> --app <path/to/module2> app-testbed"
msgstr "$ python cross-build/iOS/testbed clone --app <path/to/module1> --app <path/to/module2> app-testbed"
msgid "Or, if you've sourced your own XCframework, by running:"
msgstr "یا، اگر XCframework خودتان را تهیه کردهاید، با اجرای:"
msgid "$ python Apple/testbed clone --platform iOS --framework <path/to/Python.xcframework> --app <path/to/module1> --app <path/to/module2> app-testbed"
msgstr "$ python Apple/testbed clone --platform iOS --framework <path/to/Python.xcframework> --app <path/to/module1> --app <path/to/module2> app-testbed"
msgid "Any folders specified with the ``--app`` flag will be copied into the cloned testbed project. The resulting testbed will be created in the ``app-testbed`` folder. In this example, the ``module1`` and ``module2`` would be importable modules at runtime. If your project has additional dependencies, they can be installed into the ``app-testbed/Testbed/app_packages`` folder (using ``pip install --target app-testbed/Testbed/app_packages`` or similar)."
msgstr "هر پوشهای که با پرچم ``--app`` مشخص شده باشد، در پروژهی رونوشتشدهی testbed کپی میشود. testbed حاصل در پوشهی ``app-testbed`` ایجاد میشود. در این مثال، ``module1`` و ``module2`` در زمان اجرا ماژولهایی قابل ایمپورت خواهند بود. اگر پروژهی شما وابستگیهای اضافی دارد، میتوان آنها را در پوشهی ``app-testbed/Testbed/app_packages`` نصب کرد (با استفاده از ``pip install --target app-testbed/Testbed/app_packages`` یا مشابه آن)."
msgid "You can then use the ``app-testbed`` folder to run the test suite for your app, For example, if ``module1.tests`` was the entry point to your test suite, you could run:"
msgstr "سپس میتوانید از پوشه ``app-testbed`` برای اجرای بدنهی آزمونهای برنامه خود استفاده کنید؛ برای مثال، اگر ``module1.tests`` نقطه ورود بدنهی آزمونهای شما بود، میتوانستید آن را اجرا کنید:"
msgid "$ python app-testbed run -- module1.tests"
msgstr "$ python app-testbed run -- module1.tests"
msgid "This is the equivalent of running ``python -m module1.tests`` on a desktop Python build. Any arguments after the ``--`` will be passed to the testbed as if they were arguments to ``python -m`` on a desktop machine."
msgstr "این کار معادل اجرای ``python -m module1.tests`` روی یک نسخهی دسکتاپی از پایتون است. هر آرگومانی که پس از ``--`` بیاید، به بستر آزمون (testbed) پاس داده میشود؛ گویی که آرگومانهایی برای ``python -m`` روی یک رایانهی دسکتاپ بودهاند."
msgid "You can also open the testbed project in Xcode by running:"
msgstr "همچنین میتوانید پروژهی testbed را با اجرای دستور زیر در Xcode باز کنید:"
msgid "$ open app-testbed/iOSTestbed.xcodeproj"
msgstr "$ open app-testbed/iOSTestbed.xcodeproj"
msgid "This will allow you to use the full Xcode suite of tools for debugging."
msgstr "این به شما امکان میدهد از بدنهی کامل ابزارهای Xcode برای اشکالزدایی استفاده کنید."
msgid "The arguments used to run the test suite are defined as part of the test plan. To modify the test plan, select the test plan node of the project tree (it should be the first child of the root node), and select the \"Configurations\" tab. Modify the \"Arguments Passed On Launch\" value to change the testing arguments."
msgstr "آرگومانهایی که برای اجرای بدنهی آزمون استفاده میشوند، بهعنوان بخشی از طرح آزمون تعریف میشوند. برای تغییر طرح آزمون، گرهی طرح آزمون را در درخت پروژه انتخاب کنید (که باید نخستین فرزند گرهی ریشه باشد) و زبانهی «پیکربندیها» (Configurations) را انتخاب کنید. برای تغییر آرگومانهای آزمون، مقدار «آرگومانهای پاسدادهشده هنگام راهاندازی» (Arguments Passed On Launch) را تغییر دهید."
msgid "The test plan also disables parallel testing, and specifies the use of the ``Testbed.lldbinit`` file for providing configuration of the debugger. The default debugger configuration disables automatic breakpoints on the ``SIGINT``, ``SIGUSR1``, ``SIGUSR2``, and ``SIGXFSZ`` signals."
msgstr "طرح آزمون همچنین اجرای موازی آزمونها را غیرفعال میکند و استفاده از پروندهی ``Testbed.lldbinit`` را برای فراهم کردن پیکربندی اشکالزدا مشخص میکند. پیکربندی پیشفرض اشکالزدا، نقاط توقف خودکار روی سیگنالهای ``SIGINT``، ``SIGUSR1``، ``SIGUSR2`` و ``SIGXFSZ`` را غیرفعال میکند."
msgid "App Store Compliance"
msgstr "انطباق با App Store"
msgid "The only mechanism for distributing apps to third-party iOS devices is to submit the app to the iOS App Store; apps submitted for distribution must pass Apple's app review process. This process includes a set of automated validation rules that inspect the submitted application bundle for problematic code. There are some steps that must be taken to ensure that your app will be able to pass these validation steps."
msgstr "تنها سازوکار برای توزیع اپلیکیشنها به دستگاههای iOS متعلق به اشخاص ثالث، ارسال اپلیکیشن به iOS App Store است؛ اپلیکیشنهایی که برای توزیع ارسال میشوند باید از فرایند بررسی اپلیکیشن اپل عبور کنند. این فرایند شامل مجموعهای از قوانین اعتبارسنجی خودکار است که بسته اپلیکیشن ارسالشده را برای یافتن کدهای مشکلدار بررسی میکنند. برای اطمینان از اینکه اپلیکیشن شما بتواند از این مراحل اعتبارسنجی عبور کند، باید چند گام برداشته شود."
msgid "Incompatible code in the standard library"
msgstr "کد ناسازگار در کتابخانه استاندارد"
msgid "The Python standard library contains some code that is known to violate these automated rules. While these violations appear to be false positives, Apple's review rules cannot be challenged; so, it is necessary to modify the Python standard library for an app to pass App Store review."
msgstr "کتابخانه استاندارد پایتون شامل کدهایی است که میدانیم این قواعد خودکار را نقض میکنند. اگرچه این نقضها مثبت کاذب به نظر میرسند، نمیتوان قواعد بازبینی اپل را به چالش کشید؛ بنابراین، برای اینکه یک برنامه از بازبینی App Store عبور کند، لازم است کتابخانه استاندارد پایتون را تغییر دهید."
msgid "The Python source tree contains :source:`a patch file <Mac/Resources/app-store-compliance.patch>` that will remove all code that is known to cause issues with the App Store review process. This patch is applied automatically when building for iOS."
msgstr "درخت منبع پایتون شامل :source:`یک پرونده وصل <Mac/Resources/app-store-compliance.patch>` است که تمام کدهایی را که مشخص است در فرایند بررسی App Store مشکل ایجاد میکنند، حذف میکند. این وصل هنگام ساخت برای iOS بهطور خودکار اعمال میشود."
msgid "Privacy manifests"
msgstr "مانیفستهای حریم خصوصی"
msgid "In April 2025, Apple introduced a requirement for `certain third-party libraries to provide a Privacy Manifest <https://developer.apple.com/support/third-party-SDK-requirements>`__. As a result, if you have a binary module that uses one of the affected libraries, you must provide an ``.xcprivacy`` file for that library. OpenSSL is one library affected by this requirement, but there are others."
msgstr "در آوریل ۲۰۲۵، اپل الزامی را برای `ارائهی مانیفست حریم خصوصی (Privacy Manifest) توسط برخی کتابخانههای شخص ثالث <https://developer.apple.com/support/third-party-SDK-requirements>`__ معرفی کرد. در نتیجه، اگر ماژول دودوییای دارید که از یکی از کتابخانههای متأثر استفاده میکند، باید یک پروندهی ``.xcprivacy`` برای آن کتابخانه ارائه دهید. OpenSSL یکی از کتابخانههای متأثر از این الزام است، اما کتابخانههای دیگری نیز وجود دارند."
msgid "If you produce a binary module named ``mymodule.so``, and use you the Xcode build script described in step 7 above, you can place a ``mymodule.xcprivacy`` file next to ``mymodule.so``, and the privacy manifest will be installed into the required location when the binary module is converted into a framework."
msgstr "اگر یک ماژول دودویی با نام ``mymodule.so`` تولید کنید و از اسکریپت ساخت Xcode که در گام ۷ بالا توضیح داده شد استفاده کنید، میتوانید یک پرونده ``mymodule.xcprivacy`` را در کنار ``mymodule.so`` قرار دهید و مانیفست حریم خصوصی هنگامی که ماژول دودویی به یک چارچوب تبدیل شود، در مکان مورد نیاز نصب خواهد شد."